X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Ftestsuite%2Fld-i386%2Fi386.exp;fp=ld%2Ftestsuite%2Fld-i386%2Fi386.exp;h=a88a4363348b123b7f9b4935fcbd31201f654521;hp=6b985197207228585eaaafbff4fb9a81c978fcdf;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 6b98519..a88a436 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -1,5 +1,6 @@ # Expect script for ld-i386 tests -# Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation +# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation # # This file is part of the GNU Binutils. # @@ -49,6 +50,54 @@ if {[istarget "i?86-*-vxworks"]} { run_dump_test "vxworks1-static" } +if [istarget "*-*-go32*"] { + run_ld_link_tests {{"go32 stub" "" "" {zero.s} {} "go32stub"}} + + set src "tmpdir/go32stub" + set dest "tmpdir/go32stub-copy" + + set test "go32 stub patch the source" + set fi [open $src r+] + fconfigure $fi -translation binary + if {[read $fi 2] != "MZ"} { + fail $test + } else { + pass $test + seek $fi 0x40 + puts -nonewline $fi "objcopy-test-go32stub" + } + close $fi + + set test "go32 stub objcopy" + set status [remote_exec build $OBJCOPY "$OBJCOPYFLAGS $src $dest"] + set exec_output [lindex $status 1] + set exec_output [prune_warnings $exec_output] + if [string match "" $exec_output] then { + pass $test + } else { + send_log "$exec_output\n" + verbose "$exec_output" 1 + fail $test + } + + # cmp would compare the whole files and some data after the initial exe + # stub could differ. + set test "go32 stub comparison after objcopy" + set fi [open $src] + fconfigure $fi -translation binary + set src_stub [read $fi 2048] + close $fi + set fi [open $dest] + fconfigure $fi -translation binary + set dest_stub [read $fi 2048] + close $fi + if {$src_stub == $dest_stub} { + pass $test + } else { + fail $test + } +} + if { !([istarget "i?86-*-elf*"] || ([istarget "i?86-*-linux*"] && ![istarget "*-*-*aout*"] @@ -109,6 +158,15 @@ set i386tests { {emit-relocs.s} {{readelf --relocs emit-relocs.d}} "emit-relocs.so"} {"-z combreloc relocation sections" "-shared -melf_i386 -z combreloc" "--32" {combreloc.s} {{readelf -r combreloc.d}} "combreloc.so"} + {"TLS GD->LE transition" "-melf_i386" + "--32" {tlsgd1.s} + {{objdump -dwr tlsgd1.dd}} "tlsgd1"} + {"TLS LD->LE transition" "-melf_i386" + "--32" {tlsld1.s} + {{objdump -dwr tlsld1.dd}} "tlsld1"} + {"TLS IE->LE transition" "-melf_i386" + "--32" {tlsie1.s} + {{objdump -dwr tlsie1.dd}} "tlsie1"} } run_ld_link_tests $i386tests @@ -119,3 +177,15 @@ run_dump_test "pcrel16" run_dump_test "pcrel16abs" run_dump_test "alloc" run_dump_test "warn1" +run_dump_test "tlsgd2" +run_dump_test "tlsie2" +run_dump_test "tlsie3" +run_dump_test "tlsie4" +run_dump_test "tlsie5" +run_dump_test "hidden1" +run_dump_test "hidden2" +run_dump_test "hidden3" +run_dump_test "protected1" +run_dump_test "protected2" +run_dump_test "protected3" +run_dump_test "tlspie1"