diff options
Diffstat (limited to 'ld/testsuite')
53 files changed, 167 insertions, 65 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 24cc68b..62f51d6 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,61 @@ +2010-11-08 Thomas Schwinge <thomas@schwinge.name> + + * lib/ld-lib.exp (is_elf_format): Consider for *-*-gnu*, too. + * ld-discard/discard.exp: Likewise. + * ld-elf/binutils.exp: Likewise. + * ld-elf/commonpage1.d (target): Likewise. + * ld-elf/compress1c.d (target): Likewise. + * ld-elf/discard1.d (target): Likewise. + * ld-elf/discard2.d (target): Likewise. + * ld-elf/discard3.d (target): Likewise. + * ld-elf/dynsym1.d (target): Likewise. + * ld-elf/eh6.d (target): Likewise. + * ld-elf/elf.exp: Likewise. + (array_tests): Move -static tests to... + (array_tests_static): ... here, and handle it accordingly. + * ld-elf/hash.d (target): Likewise. + * ld-elf/header.d (target): Likewise. + * ld-elf/loadaddr1.d (target): Likewise. + * ld-elf/loadaddr2.d (target): Likewise. + * ld-elf/loadaddr3a.d (target): Likewise. + * ld-elf/loadaddr3b.d (target): Likewise. + * ld-elf/local1.d (target): Likewise. + * ld-elf/maxpage1.d (target): Likewise. + * ld-elf/maxpage2.d (target): Likewise. + * ld-elf/maxpage3a.d (target): Likewise. + * ld-elf/multibss1.d (target): Likewise. + * ld-elf/noload-2.d (target): Likewise. + * ld-elf/seg.d (target): Likewise. + * ld-elf/textaddr1.d (target): Likewise. + * ld-elf/textaddr2.d (target): Likewise. + * ld-elf/textaddr3.d (target): Likewise. + * ld-elf/textaddr4.d (target): Likewise. + * ld-elf/textaddr5.d (target): Likewise. + * ld-elf/textaddr6.d (target): Likewise. + * ld-elf/textaddr7.d (target): Likewise. + * ld-elf/tls_common.exp: Likewise. + * ld-elf/unknown2.d (target): Likewise. + * ld-elfvers/vers.exp: Likewise. + * ld-elfvsb/elfvsb.exp: Likewise. + * ld-elfweak/elfweak.exp: Likewise. + (setup_xfail_gnu_hurd): New function. Use it where appropriate. + * ld-gc/abi-note.d (target): Likewise. + * ld-gc/gc.exp: Likewise. + * ld-gc/pr11218.d (target): Likewise. + * ld-gc/start.d (target): Likewise. + * ld-i386/i386.exp: Likewise. + * ld-ifunc/binutils.exp: Likewise. + * ld-ifunc/ifunc.exp: Likewise. + * ld-linkonce/linkonce.exp: Likewise. + * ld-linkonce/zeroehl32.d (target): Likewise. + * ld-pie/pie.exp: Likewise. + * ld-scripts/phdrs2.exp: Likewise. + * ld-scripts/rgn-at5.d (target): Likewise. + * ld-shared/shared.exp: Likewise. + * ld-undefined/entry-3.d (target): Likewise. + * ld-undefined/entry-4.d (target): Likewise. + * ld-undefined/weak-undef.exp: Likewise. + 2010-11-06 Kirill A. Shutemov <kirill@shutemov.name> * ld-plugin/plugin-6.d: Relax file name match. diff --git a/ld/testsuite/ld-discard/discard.exp b/ld/testsuite/ld-discard/discard.exp index deb5dfd..c2e032e 100644 --- a/ld/testsuite/ld-discard/discard.exp +++ b/ld/testsuite/ld-discard/discard.exp @@ -1,5 +1,5 @@ # Expect script for ld discard tests -# Copyright 2001, 2002, 2005, 2007 Free Software Foundation, Inc. +# Copyright 2001, 2002, 2005, 2007, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -26,7 +26,7 @@ # in every .d-file. if { ![istarget *-*-linux*] \ - && ![istarget *-*-gnu] \ + && ![istarget *-*-gnu*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-elf] } { return diff --git a/ld/testsuite/ld-elf/binutils.exp b/ld/testsuite/ld-elf/binutils.exp index 422c5d7..4f8a6fb 100644 --- a/ld/testsuite/ld-elf/binutils.exp +++ b/ld/testsuite/ld-elf/binutils.exp @@ -1,5 +1,5 @@ # Expect script for binutils tests -# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -23,8 +23,8 @@ # Make sure that binutils can correctly handle ld output in ELF. -# Run on Linux only. -if { ![istarget *-*-linux*] } { +if { ![istarget *-*-linux*] + && ![istarget *-*-gnu*]} { return } @@ -112,6 +112,7 @@ if { ([istarget "i?86-*-elf*"] || ([istarget "i?86-*-linux*"] && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-gnu*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { binutils_test strip "-z relro -shared" relro2 diff --git a/ld/testsuite/ld-elf/commonpage1.d b/ld/testsuite/ld-elf/commonpage1.d index 76dc056..2b17574 100644 --- a/ld/testsuite/ld-elf/commonpage1.d +++ b/ld/testsuite/ld-elf/commonpage1.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -z max-page-size=0x200000 -z common-page-size=0x100000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD+.*0x200000 diff --git a/ld/testsuite/ld-elf/compress1c.d b/ld/testsuite/ld-elf/compress1c.d index 5042694..90abe0f 100644 --- a/ld/testsuite/ld-elf/compress1c.d +++ b/ld/testsuite/ld-elf/compress1c.d @@ -2,7 +2,7 @@ #as: --compress-debug-sections #ld: -shared #readelf: -S --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #failif #... diff --git a/ld/testsuite/ld-elf/discard1.d b/ld/testsuite/ld-elf/discard1.d index b80fbf0..99de88e 100644 --- a/ld/testsuite/ld-elf/discard1.d +++ b/ld/testsuite/ld-elf/discard1.d @@ -1,7 +1,7 @@ #source: discard1.s #ld: -r -T discard.ld #readelf: -r -#target: x86_64-*-linux-gnu i?86-*-linux-gnu +#target: x86_64-*-linux-gnu i?86-*-linux-gnu i?86-*-gnu* Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entries: [ \t]+Offset[ \t]+Info[ \t]+Type[ \t]+Sym.* diff --git a/ld/testsuite/ld-elf/discard2.d b/ld/testsuite/ld-elf/discard2.d index 65a3abe..df10619 100644 --- a/ld/testsuite/ld-elf/discard2.d +++ b/ld/testsuite/ld-elf/discard2.d @@ -1,7 +1,7 @@ #source: discard2.s #ld: -r -T discard.ld #readelf: -r -#target: x86_64-*-linux-gnu i?86-*-linux-gnu +#target: x86_64-*-linux-gnu i?86-*-linux-gnu i?86-*-gnu* Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entries: [ \t]+Offset[ \t]+Info[ \t]+Type[ \t]+Sym.* diff --git a/ld/testsuite/ld-elf/discard3.d b/ld/testsuite/ld-elf/discard3.d index 07962b5..6934882 100644 --- a/ld/testsuite/ld-elf/discard3.d +++ b/ld/testsuite/ld-elf/discard3.d @@ -2,7 +2,7 @@ #source: discard2.s #ld: -r -T discard.ld #readelf: -r -#target: x86_64-*-linux-gnu i?86-*-linux-gnu +#target: x86_64-*-linux-gnu i?86-*-linux-gnu i?86-*-gnu* Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 2 entries: [ \t]+Offset[ \t]+Info[ \t]+Type[ \t]+Sym.* diff --git a/ld/testsuite/ld-elf/dynsym1.d b/ld/testsuite/ld-elf/dynsym1.d index 88037ef..b354aae 100644 --- a/ld/testsuite/ld-elf/dynsym1.d +++ b/ld/testsuite/ld-elf/dynsym1.d @@ -1,7 +1,7 @@ #source: empty.s #ld: -shared #readelf: --dyn-syms -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +[1-9] _start diff --git a/ld/testsuite/ld-elf/eh6.d b/ld/testsuite/ld-elf/eh6.d index 75eb54b..76be605 100644 --- a/ld/testsuite/ld-elf/eh6.d +++ b/ld/testsuite/ld-elf/eh6.d @@ -1,7 +1,7 @@ #source: eh6.s #ld: --gc-sections -shared #readelf: -wf -#target: x86_64-*-linux-gnu i?86-*-linux-gnu +#target: x86_64-*-linux-gnu i?86-*-linux-gnu i?86-*-gnu* Contents of the .eh_frame section: diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 1e1f738..fc21683 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -1,5 +1,5 @@ # Expect script for various ELF tests. -# Copyright 2002, 2003, 2005, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2002, 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -41,7 +41,8 @@ foreach t $test_list { run_dump_test [file rootname $t] } -if { [istarget *-*-linux*] } { +if { [istarget *-*-linux*] + || [istarget *-*-gnu*] } { run_ld_link_tests { {"Weak symbols in dynamic objects 1 (support)" "-shared" "" {weak-dyn-1a.s} @@ -71,14 +72,25 @@ if ![isnative] { set array_tests { {"preinit array" "" "" {preinit.c} "preinit" "preinit.out"} - {"static preinit array" "-static" "" {preinit.c} "preinit" "preinit.out"} {"init array" "" "" {init.c} "init" "init.out"} - {"static init array" "-static" "" {init.c} "init" "init.out"} {"fini array" "" "" {fini.c} "fini" "fini.out"} +} +set array_tests_static { + {"static preinit array" "-static" "" {preinit.c} "preinit" "preinit.out"} + {"static init array" "-static" "" {init.c} "init" "init.out"} {"static fini array" "-static" "" {fini.c} "fini" "fini.out"} } # NetBSD ELF systems do not currently support the .*_array sections. -run_ld_link_exec_tests [list "*-*-netbsdelf*"] $array_tests +set xfails [list "*-*-netbsdelf*"] +run_ld_link_exec_tests $xfails $array_tests +# Be cautious to not XFAIL for *-*-linux-gnu*, *-*-kfreebsd-gnu*, etc. +switch -regexp $target_triplet { + ^\[^-\]*-\[^-\]*-gnu.*$ { + # <http://www.gnu.org/software/hurd/open_issues/binutils/testsuite.html#static> + lappend xfails "*-*-*" + } +} +run_ld_link_exec_tests $xfails $array_tests_static catch "exec rm -f tmpdir/preinit tmpdir/init tmpdir/fini" status diff --git a/ld/testsuite/ld-elf/hash.d b/ld/testsuite/ld-elf/hash.d index 9bcd9a9..473cd4d 100644 --- a/ld/testsuite/ld-elf/hash.d +++ b/ld/testsuite/ld-elf/hash.d @@ -1,7 +1,7 @@ #source: start.s #readelf: -d -s -D #ld: -shared --hash-style=gnu -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #notarget: mips*-*-* #... diff --git a/ld/testsuite/ld-elf/header.d b/ld/testsuite/ld-elf/header.d index d438832..be3722d 100644 --- a/ld/testsuite/ld-elf/header.d +++ b/ld/testsuite/ld-elf/header.d @@ -1,4 +1,4 @@ -# target: *-*-linux* *-*-vxworks +# target: *-*-linux* *-*-gnu* *-*-vxworks # ld: -T header.t -z max-page-size=0x100 # objdump: -hpw diff --git a/ld/testsuite/ld-elf/loadaddr1.d b/ld/testsuite/ld-elf/loadaddr1.d index 2d3469b..0fd96a7 100644 --- a/ld/testsuite/ld-elf/loadaddr1.d +++ b/ld/testsuite/ld-elf/loadaddr1.d @@ -1,7 +1,7 @@ #source: loadaddr.s #ld: -T loadaddr1.t -T loadaddr.t -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD +0x000000 0xf*80000000 0xf*80000000 0x100050 0x100050 RWE 0x200000 diff --git a/ld/testsuite/ld-elf/loadaddr2.d b/ld/testsuite/ld-elf/loadaddr2.d index e447e38..5825fe8 100644 --- a/ld/testsuite/ld-elf/loadaddr2.d +++ b/ld/testsuite/ld-elf/loadaddr2.d @@ -1,7 +1,7 @@ #source: loadaddr.s #ld: -T loadaddr2.t -T loadaddr.t -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD +0x000000 0xf*80000000 0xf*80000000 0x100050 0x100050 RWE 0x200000 diff --git a/ld/testsuite/ld-elf/loadaddr3a.d b/ld/testsuite/ld-elf/loadaddr3a.d index b2ace66..10cb9a5 100644 --- a/ld/testsuite/ld-elf/loadaddr3a.d +++ b/ld/testsuite/ld-elf/loadaddr3a.d @@ -1,7 +1,7 @@ #source: loadaddr.s #ld: -T loadaddr3.t -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD +0x000000 0x0*00000000 0x0*00000000 0x0*0110 0x0*0110 R E 0x.* diff --git a/ld/testsuite/ld-elf/loadaddr3b.d b/ld/testsuite/ld-elf/loadaddr3b.d index af7e6e4..63efa71 100644 --- a/ld/testsuite/ld-elf/loadaddr3b.d +++ b/ld/testsuite/ld-elf/loadaddr3b.d @@ -1,7 +1,7 @@ #source: loadaddr.s #ld: -T loadaddr3.t -z max-page-size=0x200000 #objdump: -t -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... 0+0000100 l d .text 0+0000000 .text diff --git a/ld/testsuite/ld-elf/local1.d b/ld/testsuite/ld-elf/local1.d index 5957d8f..3025d41 100644 --- a/ld/testsuite/ld-elf/local1.d +++ b/ld/testsuite/ld-elf/local1.d @@ -1,6 +1,6 @@ #ld: -shared --version-script local1.map #readelf: -s --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... .*: [0-9a-f]* +[0-9a-f]+ +OBJECT +LOCAL +DEFAULT +[0-9] +foo diff --git a/ld/testsuite/ld-elf/maxpage1.d b/ld/testsuite/ld-elf/maxpage1.d index 57acda0..f776257 100644 --- a/ld/testsuite/ld-elf/maxpage1.d +++ b/ld/testsuite/ld-elf/maxpage1.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD+.*0x200000 diff --git a/ld/testsuite/ld-elf/maxpage2.d b/ld/testsuite/ld-elf/maxpage2.d index 7fe9379..7d732eb 100644 --- a/ld/testsuite/ld-elf/maxpage2.d +++ b/ld/testsuite/ld-elf/maxpage2.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -z max-page-size=0x100000 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... LOAD+.*0x100000 diff --git a/ld/testsuite/ld-elf/maxpage3a.d b/ld/testsuite/ld-elf/maxpage3a.d index 0e46b6b..7d6f2d8 100644 --- a/ld/testsuite/ld-elf/maxpage3a.d +++ b/ld/testsuite/ld-elf/maxpage3a.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -z max-page-size=0x10000000 -T maxpage3.t #readelf: -lS --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... \[[ 0-9]+\] \.data[ \t]+PROGBITS[ \t]+0*10000000[ \t]+[ \t0-9a-f]+WA?.* diff --git a/ld/testsuite/ld-elf/multibss1.d b/ld/testsuite/ld-elf/multibss1.d index a6fd9b3..89b94ad 100644 --- a/ld/testsuite/ld-elf/multibss1.d +++ b/ld/testsuite/ld-elf/multibss1.d @@ -1,7 +1,7 @@ #source: multibss1.s #ld: -e 0 #readelf: -l --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #xfail: hppa64-*-* # hppa64 default script add 16 bytes at start of .data giving 0x500010 p_memsz diff --git a/ld/testsuite/ld-elf/noload-2.d b/ld/testsuite/ld-elf/noload-2.d index 633bf45..0e25d9b 100644 --- a/ld/testsuite/ld-elf/noload-2.d +++ b/ld/testsuite/ld-elf/noload-2.d @@ -1,7 +1,7 @@ #source: noload-1.s #ld: -T noload-1.t -z max-page-size=0x200000 #readelf: -Sl --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... +LOAD +0x200000 +0x0+ +0x0+ +0x0+ +0x0+1 +RW +0x200000 diff --git a/ld/testsuite/ld-elf/seg.d b/ld/testsuite/ld-elf/seg.d index d9436ae..2255195 100644 --- a/ld/testsuite/ld-elf/seg.d +++ b/ld/testsuite/ld-elf/seg.d @@ -1,4 +1,4 @@ -#target: *-*-linux* *-*-vxworks +#target: *-*-linux* *-*-gnu* *-*-vxworks #source: seg.s #ld: -T seg.t -z max-page-size=0x1000 #readelf: -l --wide diff --git a/ld/testsuite/ld-elf/textaddr1.d b/ld/testsuite/ld-elf/textaddr1.d index f7a3ad9..e1d6731 100644 --- a/ld/testsuite/ld-elf/textaddr1.d +++ b/ld/testsuite/ld-elf/textaddr1.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -Ttext-segment 0x7000000 -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #... LOAD +0x0+ 0x0*7000000 0x0*7000000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x200000 diff --git a/ld/testsuite/ld-elf/textaddr2.d b/ld/testsuite/ld-elf/textaddr2.d index 9d1b0e5..60632d0 100644 --- a/ld/testsuite/ld-elf/textaddr2.d +++ b/ld/testsuite/ld-elf/textaddr2.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -shared -Ttext-segment 0x7000000 -z max-page-size=0x200000 #readelf: -l --wide -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #... LOAD +0x0+ 0x0*7000000 0x0*7000000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x200000 diff --git a/ld/testsuite/ld-elf/textaddr3.d b/ld/testsuite/ld-elf/textaddr3.d index d533e24..29ed498 100644 --- a/ld/testsuite/ld-elf/textaddr3.d +++ b/ld/testsuite/ld-elf/textaddr3.d @@ -1,4 +1,4 @@ #source: maxpage1.s #ld: -Ttext-segment 0x10000 -z max-page-size=0x200000 -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #warning: .*address of `text-segment' isn't multiple of maximum page size diff --git a/ld/testsuite/ld-elf/textaddr4.d b/ld/testsuite/ld-elf/textaddr4.d index bfd7630..16df9a8 100644 --- a/ld/testsuite/ld-elf/textaddr4.d +++ b/ld/testsuite/ld-elf/textaddr4.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -z max-page-size=0x10000 -Ttext-segment 0x10000 #readelf: -l --wide -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #... LOAD +0x0+ 0x0*10000 0x0*10000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x10000 diff --git a/ld/testsuite/ld-elf/textaddr5.d b/ld/testsuite/ld-elf/textaddr5.d index 5fe41d0..41d00c5 100644 --- a/ld/testsuite/ld-elf/textaddr5.d +++ b/ld/testsuite/ld-elf/textaddr5.d @@ -1,4 +1,4 @@ #source: maxpage1.s #ld: -shared -z max-page-size=0x200000 -Ttext-segment 0x10000 -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #warning: .*address of `text-segment' isn't multiple of maximum page size diff --git a/ld/testsuite/ld-elf/textaddr6.d b/ld/testsuite/ld-elf/textaddr6.d index b3b9f84..6e5f658 100644 --- a/ld/testsuite/ld-elf/textaddr6.d +++ b/ld/testsuite/ld-elf/textaddr6.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -shared -z max-page-size=0x10000 -Ttext-segment 0x10000 #readelf: -l --wide -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #... LOAD +0x0+ 0x0*10000 0x0*10000 0x0*[0-9a-f][0-9a-f][0-9a-f] 0x0*[0-9a-f][0-9a-f][0-9a-f] R E 0x10000 diff --git a/ld/testsuite/ld-elf/textaddr7.d b/ld/testsuite/ld-elf/textaddr7.d index 54a571f..b4237db 100644 --- a/ld/testsuite/ld-elf/textaddr7.d +++ b/ld/testsuite/ld-elf/textaddr7.d @@ -1,7 +1,7 @@ #source: maxpage1.s #ld: -n -z max-page-size=0x200000 -Ttext-segment 0x10000 #readelf: -l --wide -#target: *-*-linux-gnu +#target: *-*-linux-gnu *-*-gnu* #... LOAD .* diff --git a/ld/testsuite/ld-elf/tls_common.exp b/ld/testsuite/ld-elf/tls_common.exp index 66a550c..77dca2c 100644 --- a/ld/testsuite/ld-elf/tls_common.exp +++ b/ld/testsuite/ld-elf/tls_common.exp @@ -1,5 +1,5 @@ # Expect script for .tls_common tests -# Copyright 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -23,8 +23,8 @@ # Make sure that binutils can correctly handle ld output in ELF. -# Run on Linux only. -if { ![istarget *-*-linux*] } { +if { ![istarget *-*-linux*] + && ![istarget *-*-gnu*] } { return } diff --git a/ld/testsuite/ld-elf/unknown2.d b/ld/testsuite/ld-elf/unknown2.d index 467d5d3..8d6cdee 100644 --- a/ld/testsuite/ld-elf/unknown2.d +++ b/ld/testsuite/ld-elf/unknown2.d @@ -1,7 +1,7 @@ #source: unknown2.s #ld: -shared #readelf: -S -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... \[[ 0-9]+\] \.note.foo[ \t]+NOTE[ \t]+.* diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index c4228ad..9f85b83 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -35,6 +35,7 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget i?86-*-unixware] \ && ![istarget i?86-*-elf*] \ && ![istarget i?86-*-linux*] \ + && ![istarget i?86-*-gnu*] \ && ![istarget ia64-*-elf*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp index 1a18822..9786f78 100644 --- a/ld/testsuite/ld-elfvsb/elfvsb.exp +++ b/ld/testsuite/ld-elfvsb/elfvsb.exp @@ -1,5 +1,5 @@ # Expect script for ld-visibility tests -# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -30,6 +30,7 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget hppa*-*-linux*] \ && ![istarget i?86-*-linux*] \ + && ![istarget i?86-*-gnu*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ && ![istarget mips*-*-linux*] \ @@ -115,7 +116,8 @@ if [istarget arm*-*-linux*] { set support_protected "no" -if [istarget *-*-linux*] { +if { [istarget *-*-linux*] + || [istarget *-*-gnu*] } { if [ld_compile "$CC -g $CFLAGS -DPROTECTED_CHECK" $srcdir/$subdir/main.c $tmpdir/main.o] { if [ld_simple_link $CC $tmpdir/main "$tmpdir/main.o"] { catch "exec $tmpdir/main" support_protected diff --git a/ld/testsuite/ld-elfweak/elfweak.exp b/ld/testsuite/ld-elfweak/elfweak.exp index cac613b..3854e64 100644 --- a/ld/testsuite/ld-elfweak/elfweak.exp +++ b/ld/testsuite/ld-elfweak/elfweak.exp @@ -1,5 +1,6 @@ # Expect script for ld-weak tests -# Copyright 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. +# Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2010 +# Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -36,6 +37,7 @@ if { ![istarget alpha*-*-linux*] \ && ![istarget i?86-*-unixware] \ && ![istarget i?86-*-elf*] \ && ![istarget i?86-*-linux*] \ + && ![istarget i?86-*-gnu*] \ && ![istarget ia64-*-elf*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ @@ -67,6 +69,18 @@ set DOBJDUMP_FLAGS --dynamic-syms set SOBJDUMP_FLAGS --syms set shared --shared + +# <http://www.gnu.org/software/hurd/open_issues/binutils/testsuite.html#weak> +proc setup_xfail_gnu_hurd {} { + global target_triplet + # Be cautious to not XFAIL for *-*-linux-gnu*, *-*-kfreebsd-gnu*, etc. + switch -regexp $target_triplet { + ^\[^-\]*-\[^-\]*-gnu.*$ { + setup_xfail "*-*-*" + } + } +} + # # objdump_symstuff # Dump non-dynamic symbol stuff and make sure that it is sane. @@ -452,7 +466,9 @@ build_lib "ELF DSO weak func first DSO" libfoo "foo.o libbar.so" dsow.dsym build_lib "ELF DSO weak func last DSO" libfoo "libbar.so foo.o" dsow.dsym build_exec "ELF weak func first" foo "main.o bar.o" "" strong "" strong.sym build_exec "ELF weak func last" foo "bar.o main.o" "" strong "" strong.sym +setup_xfail_gnu_hurd build_exec "ELF weak func first DSO" foo "main.o libbar.so" "-Wl,-rpath,." weak weak.dsym "" +setup_xfail_gnu_hurd build_exec "ELF weak func last DSO" foo "libbar.so main.o" "-Wl,-rpath,." weak weak.dsym "" build_lib "ELF DSO weak data first" libfoo "bar1a.o foo1a.o" dsodata.dsym @@ -465,9 +481,13 @@ build_exec "ELF weak data first" foo "main1.o bar1a.o foo1a.o" "" strongdata "" build_exec "ELF weak data last" foo "foo1a.o main1.o bar1a.o" "" strongdata "" strongdata.sym build_exec "ELF weak data first common" foo "main1.o bar1a.o foo1b.o" "" strongdata "" strongcomm.sym build_exec "ELF weak data last common" foo "foo1b.o main1.o bar1a.o" "" strongdata "" strongcomm.sym +setup_xfail_gnu_hurd build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,-rpath,." weakdata weakdata.dsym "" +setup_xfail_gnu_hurd build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym "" +setup_xfail_gnu_hurd build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,." weakdata weakdata.dsym "" +setup_xfail_gnu_hurd build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym "" if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] { diff --git a/ld/testsuite/ld-gc/abi-note.d b/ld/testsuite/ld-gc/abi-note.d index aed0a8b..d796ccc 100644 --- a/ld/testsuite/ld-gc/abi-note.d +++ b/ld/testsuite/ld-gc/abi-note.d @@ -1,7 +1,7 @@ #name: --gc-sections with note section #ld: --gc-sections -e _start #readelf: -S --wide -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #notarget: *-*-*aout *-*-*oldld #... diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index 7005442..ee9c975 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -93,7 +93,8 @@ run_dump_test "noent" run_dump_test "abi-note" run_dump_test "start" if { [is_remote host] || [which $CC] != 0 } { - if { [istarget "*-*-linux*"] } { + if { [istarget "*-*-linux*"] + || [istarget "*-*-gnu*"] } { ld_compile "$CC -fPIC $CFLAGS $cflags" $srcdir/$subdir/pr11218-1.c tmpdir/pr11218-1.o ld_simple_link $ld tmpdir/pr11218-1.so "-shared tmpdir/pr11218-1.o" ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/pr11218-2.c tmpdir/pr11218-2.o diff --git a/ld/testsuite/ld-gc/pr11218.d b/ld/testsuite/ld-gc/pr11218.d index 27019a8..fc26940 100644 --- a/ld/testsuite/ld-gc/pr11218.d +++ b/ld/testsuite/ld-gc/pr11218.d @@ -1,5 +1,5 @@ # name: --gc-sections with shared library # source: dummy.s # ld: --gc-sections -e main tmpdir/pr11218-2.o tmpdir/pr11218-1.so -# target: *-*-linux* +# target: *-*-linux* *-*-gnu* # error: undefined reference to `unresolved_detected_at_runtime_not_at_linktime' diff --git a/ld/testsuite/ld-gc/start.d b/ld/testsuite/ld-gc/start.d index 80c43d9..2800735 100644 --- a/ld/testsuite/ld-gc/start.d +++ b/ld/testsuite/ld-gc/start.d @@ -1,7 +1,7 @@ #name: --gc-sections with __start_ #ld: --gc-sections -e _start #nm: -n -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #notarget: *-*-*aout *-*-*oldld #... diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 6777c5f..2aed89b 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -1,5 +1,5 @@ # Expect script for ld-i386 tests -# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009 +# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation # # This file is part of the GNU Binutils. @@ -102,6 +102,7 @@ if { !([istarget "i?86-*-elf*"] || ([istarget "i?86-*-linux*"] && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-gnu*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { return @@ -194,6 +195,7 @@ run_dump_test "nogot2" run_dump_test "discarded1" if { !([istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] || [istarget "x86_64-*-linux*"]) } { return } diff --git a/ld/testsuite/ld-ifunc/binutils.exp b/ld/testsuite/ld-ifunc/binutils.exp index bd6c953..d386035 100644 --- a/ld/testsuite/ld-ifunc/binutils.exp +++ b/ld/testsuite/ld-ifunc/binutils.exp @@ -1,5 +1,5 @@ # Expect script for binutils tests -# Copyright 2009 Free Software Foundation, Inc. +# Copyright 2009, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -24,11 +24,11 @@ # Make sure that binutils can correctly handle ld output in ELF with # STT_GNU_IFUNC symbols. -# Run on Linux/x86 only. if { !([istarget "i?86-*-elf*"] || ([istarget "i?86-*-linux*"] && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-gnu*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { return diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp index 38fe2d3..3ea434a 100644 --- a/ld/testsuite/ld-ifunc/ifunc.exp +++ b/ld/testsuite/ld-ifunc/ifunc.exp @@ -1,6 +1,6 @@ # Expect script for linker support of IFUNC symbols and relocations. # -# Copyright 2009 Free Software Foundation, Inc. +# Copyright 2009, 2010 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of the GNU Binutils. @@ -32,7 +32,8 @@ if {!(([istarget "i?86-*-*"] && ([istarget "*-*-elf*"] || ([istarget "*-*-linux*"] && ![istarget "*-*-*aout*"] - && ![istarget "*-*-*oldld*"]))) } { + && ![istarget "*-*-*oldld*"]) + || ([istarget "*-*-gnu*"]))) } { verbose "IFUNC tests not run - target does not support IFUNC" return } diff --git a/ld/testsuite/ld-linkonce/linkonce.exp b/ld/testsuite/ld-linkonce/linkonce.exp index 5328734..e8b85ac 100644 --- a/ld/testsuite/ld-linkonce/linkonce.exp +++ b/ld/testsuite/ld-linkonce/linkonce.exp @@ -1,5 +1,5 @@ # Expect script for ld linkonce tests -# Copyright 2001, 2002, 2005, 2007 Free Software Foundation, Inc. +# Copyright 2001, 2002, 2005, 2007, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -25,7 +25,7 @@ # have to qualify on ELF specifically in every .d-file. if { ![istarget *-*-linux*] \ - && ![istarget *-*-gnu] \ + && ![istarget *-*-gnu*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-elf] } { return diff --git a/ld/testsuite/ld-linkonce/zeroehl32.d b/ld/testsuite/ld-linkonce/zeroehl32.d index 5b51836..bd8fc6f 100644 --- a/ld/testsuite/ld-linkonce/zeroehl32.d +++ b/ld/testsuite/ld-linkonce/zeroehl32.d @@ -2,7 +2,7 @@ #source: y.s #ld: -Ttext 0xa00 -T zeroeh.ld #objdump: -s -#target: cris-*-elf cris-*-linux* i?86-*-elf i?86-*-linux* +#target: cris-*-elf cris-*-linux* i?86-*-elf i?86-*-linux* i?86-*-gnu* # The word at address 201c, for the linkonce-excluded section, must be zero. diff --git a/ld/testsuite/ld-pie/pie.exp b/ld/testsuite/ld-pie/pie.exp index 19a2ac0..ea4370c 100644 --- a/ld/testsuite/ld-pie/pie.exp +++ b/ld/testsuite/ld-pie/pie.exp @@ -1,5 +1,5 @@ # Expect script for various PIE tests. -# Copyright 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -22,8 +22,8 @@ # This test can only be run if ld generates native executables. if ![isnative] then {return} -# Run on Linux only. -if { ![istarget *-*-linux*] } { +if { ![istarget *-*-linux*] + && ![istarget *-*-gnu*] } { return } diff --git a/ld/testsuite/ld-scripts/phdrs2.exp b/ld/testsuite/ld-scripts/phdrs2.exp index 57778d2..e75acfb 100644 --- a/ld/testsuite/ld-scripts/phdrs2.exp +++ b/ld/testsuite/ld-scripts/phdrs2.exp @@ -1,5 +1,5 @@ # Test PHDRS with empty sections in a linker script. -# Copyright 2006, 2005, 2007 Free Software Foundation, Inc, +# Copyright 2006, 2005, 2007, 2010 Free Software Foundation, Inc, # # This file is part of the GNU Binutils. # @@ -25,6 +25,7 @@ if { ![istarget *-*-sysv4*] \ && ![istarget *-*-eabi*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-linux*] \ + && ![istarget *-*-gnu*] \ && ![istarget *-*-irix5*] \ && ![istarget *-*-irix6*] \ && ![istarget *-*-solaris2*] } { diff --git a/ld/testsuite/ld-scripts/rgn-at5.d b/ld/testsuite/ld-scripts/rgn-at5.d index 972c6c2..7ba9caf 100644 --- a/ld/testsuite/ld-scripts/rgn-at5.d +++ b/ld/testsuite/ld-scripts/rgn-at5.d @@ -2,7 +2,7 @@ # source: rgn-at5.s # ld: -T rgn-at5.t -z max-page-size=0x1000 # objdump: -w -h -# target: *-*-linux* +# target: *-*-linux* *-*-gnu* # xfail: rx-*-* # FAILS on the RX because the linker has to set LMA == VMA for the # Renesas loader. diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp index 521b925..b77b9ce 100644 --- a/ld/testsuite/ld-shared/shared.exp +++ b/ld/testsuite/ld-shared/shared.exp @@ -1,6 +1,6 @@ # Expect script for ld-shared tests # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -# 2004, 2005, 2007, 2008, 2009 +# 2004, 2005, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -38,6 +38,7 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget i?86-*-unixware] \ && ![istarget i?86-*-elf*] \ && ![istarget i?86-*-linux*] \ + && ![istarget i?86-*-gnu*] \ && ![istarget ia64-*-elf*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ diff --git a/ld/testsuite/ld-undefined/entry-3.d b/ld/testsuite/ld-undefined/entry-3.d index 184f478..ca91765 100644 --- a/ld/testsuite/ld-undefined/entry-3.d +++ b/ld/testsuite/ld-undefined/entry-3.d @@ -2,7 +2,7 @@ #source: dummy.s #ld: -shared --entry foo tmpdir/libentry.a #nm: -n -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... [0-9a-f]+ T +foo diff --git a/ld/testsuite/ld-undefined/entry-4.d b/ld/testsuite/ld-undefined/entry-4.d index 44006aa..d02808e 100644 --- a/ld/testsuite/ld-undefined/entry-4.d +++ b/ld/testsuite/ld-undefined/entry-4.d @@ -2,7 +2,7 @@ #source: dummy.s #ld: -shared --entry foo -u foo tmpdir/libentry.a #nm: -n -#target: *-*-linux* +#target: *-*-linux* *-*-gnu* #... [0-9a-f]+ T +foo diff --git a/ld/testsuite/ld-undefined/weak-undef.exp b/ld/testsuite/ld-undefined/weak-undef.exp index a4f35e4..e7e949a 100644 --- a/ld/testsuite/ld-undefined/weak-undef.exp +++ b/ld/testsuite/ld-undefined/weak-undef.exp @@ -1,5 +1,5 @@ # Test handling of weak undefined symbols -# Copyright 2001, 2002, 2004, 2005, 2007 +# Copyright 2001, 2002, 2004, 2005, 2007, 2010 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -30,6 +30,7 @@ if { ![istarget *-*-sysv4*] \ && ![istarget *-*-eabi*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-linux*] \ + && ![istarget *-*-gnu*] \ && ![istarget *-*-irix5*] \ && ![istarget *-*-irix6*] \ && ![is_pecoff_format] \ diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 3d120c8..092cf83 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -412,6 +412,7 @@ proc is_elf_format {} { && ![istarget hppa*64*-*-hpux*] && ![istarget ia64-*-hpux*] && ![istarget *-*-linux*] + && ![istarget *-*-gnu*] && ![istarget frv-*-uclinux*] && ![istarget bfin-*-uclinux] && ![istarget sh*-*-uclinux*] |