aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2010-11-08 06:43:40 +0000
committerThomas Schwinge <tschwinge@gnu.org>2010-11-08 06:43:40 +0000
commit5940a93c8418ff2a8fada2a834889dae678f8ab7 (patch)
tree2a9060859ea3861bc464a581d902f9bf50eb671a
parent4e011fb578429f06c186a2910270d34ea4bb3c8e (diff)
downloadgdb-5940a93c8418ff2a8fada2a834889dae678f8ab7.zip
gdb-5940a93c8418ff2a8fada2a834889dae678f8ab7.tar.gz
gdb-5940a93c8418ff2a8fada2a834889dae678f8ab7.tar.bz2
Improve binutils testsuite coverage for GNU/Hurd.
binutils/testsuite/ * lib/utils-lib.exp (is_elf_format): Consider for *-*-gnu*, too. * binutils-all/elfedit-2.d (target): Likewise. * binutils-all/elfedit-3.d (target): Likewise. * binutils-all/i386/i386.exp: Likewise. * binutils-all/objcopy.exp: Likewise. * binutils-all/strip-3.d (target): Likewise. gas/testsuite/ * lib/gas-defs.exp (is_elf_format): Consider for *-*-gnu*, too. * gas/elf/elf.exp: Likewise. * gas/symver/symver.exp: Likewise. ld/ * configure.host: Add stanza for *-*-gnu*. ld/testsuite/ * 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.
-rw-r--r--binutils/testsuite/ChangeLog9
-rw-r--r--binutils/testsuite/binutils-all/elfedit-2.d2
-rw-r--r--binutils/testsuite/binutils-all/elfedit-3.d2
-rw-r--r--binutils/testsuite/binutils-all/i386/i386.exp6
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp3
-rw-r--r--binutils/testsuite/binutils-all/strip-3.d2
-rw-r--r--binutils/testsuite/lib/utils-lib.exp3
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/elf/elf.exp1
-rw-r--r--gas/testsuite/gas/symver/symver.exp3
-rw-r--r--gas/testsuite/lib/gas-defs.exp3
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/configure.host11
-rw-r--r--ld/testsuite/ChangeLog58
-rw-r--r--ld/testsuite/ld-discard/discard.exp4
-rw-r--r--ld/testsuite/ld-elf/binutils.exp7
-rw-r--r--ld/testsuite/ld-elf/commonpage1.d2
-rw-r--r--ld/testsuite/ld-elf/compress1c.d2
-rw-r--r--ld/testsuite/ld-elf/discard1.d2
-rw-r--r--ld/testsuite/ld-elf/discard2.d2
-rw-r--r--ld/testsuite/ld-elf/discard3.d2
-rw-r--r--ld/testsuite/ld-elf/dynsym1.d2
-rw-r--r--ld/testsuite/ld-elf/eh6.d2
-rw-r--r--ld/testsuite/ld-elf/elf.exp22
-rw-r--r--ld/testsuite/ld-elf/hash.d2
-rw-r--r--ld/testsuite/ld-elf/header.d2
-rw-r--r--ld/testsuite/ld-elf/loadaddr1.d2
-rw-r--r--ld/testsuite/ld-elf/loadaddr2.d2
-rw-r--r--ld/testsuite/ld-elf/loadaddr3a.d2
-rw-r--r--ld/testsuite/ld-elf/loadaddr3b.d2
-rw-r--r--ld/testsuite/ld-elf/local1.d2
-rw-r--r--ld/testsuite/ld-elf/maxpage1.d2
-rw-r--r--ld/testsuite/ld-elf/maxpage2.d2
-rw-r--r--ld/testsuite/ld-elf/maxpage3a.d2
-rw-r--r--ld/testsuite/ld-elf/multibss1.d2
-rw-r--r--ld/testsuite/ld-elf/noload-2.d2
-rw-r--r--ld/testsuite/ld-elf/seg.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr1.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr2.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr3.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr4.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr5.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr6.d2
-rw-r--r--ld/testsuite/ld-elf/textaddr7.d2
-rw-r--r--ld/testsuite/ld-elf/tls_common.exp6
-rw-r--r--ld/testsuite/ld-elf/unknown2.d2
-rw-r--r--ld/testsuite/ld-elfvers/vers.exp1
-rw-r--r--ld/testsuite/ld-elfvsb/elfvsb.exp6
-rw-r--r--ld/testsuite/ld-elfweak/elfweak.exp22
-rw-r--r--ld/testsuite/ld-gc/abi-note.d2
-rw-r--r--ld/testsuite/ld-gc/gc.exp3
-rw-r--r--ld/testsuite/ld-gc/pr11218.d2
-rw-r--r--ld/testsuite/ld-gc/start.d2
-rw-r--r--ld/testsuite/ld-i386/i386.exp4
-rw-r--r--ld/testsuite/ld-ifunc/binutils.exp4
-rw-r--r--ld/testsuite/ld-ifunc/ifunc.exp5
-rw-r--r--ld/testsuite/ld-linkonce/linkonce.exp4
-rw-r--r--ld/testsuite/ld-linkonce/zeroehl32.d2
-rw-r--r--ld/testsuite/ld-pie/pie.exp6
-rw-r--r--ld/testsuite/ld-scripts/phdrs2.exp3
-rw-r--r--ld/testsuite/ld-scripts/rgn-at5.d2
-rw-r--r--ld/testsuite/ld-shared/shared.exp3
-rw-r--r--ld/testsuite/ld-undefined/entry-3.d2
-rw-r--r--ld/testsuite/ld-undefined/entry-4.d2
-rw-r--r--ld/testsuite/ld-undefined/weak-undef.exp3
-rw-r--r--ld/testsuite/lib/ld-lib.exp1
66 files changed, 213 insertions, 74 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 2165aa8..8480a3b 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2010-11-08 Thomas Schwinge <thomas@schwinge.name>
+
+ * lib/utils-lib.exp (is_elf_format): Consider for *-*-gnu*, too.
+ * binutils-all/elfedit-2.d (target): Likewise.
+ * binutils-all/elfedit-3.d (target): Likewise.
+ * binutils-all/i386/i386.exp: Likewise.
+ * binutils-all/objcopy.exp: Likewise.
+ * binutils-all/strip-3.d (target): Likewise.
+
2010-11-08 Alan Modra <amodra@gmail.com>
* binutils-all/objdump.W: Adjust expected result for debug section
diff --git a/binutils/testsuite/binutils-all/elfedit-2.d b/binutils/testsuite/binutils-all/elfedit-2.d
index af07c1d..56468b5 100644
--- a/binutils/testsuite/binutils-all/elfedit-2.d
+++ b/binutils/testsuite/binutils-all/elfedit-2.d
@@ -3,7 +3,7 @@
#source: empty.s
#readelf: -h
#name: Update ELF header 2
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
ELF Header:
diff --git a/binutils/testsuite/binutils-all/elfedit-3.d b/binutils/testsuite/binutils-all/elfedit-3.d
index c877f46..219cac5 100644
--- a/binutils/testsuite/binutils-all/elfedit-3.d
+++ b/binutils/testsuite/binutils-all/elfedit-3.d
@@ -3,7 +3,7 @@
#source: empty.s
#readelf: -h
#name: Update ELF header 3
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
ELF Header:
diff --git a/binutils/testsuite/binutils-all/i386/i386.exp b/binutils/testsuite/binutils-all/i386/i386.exp
index 2ca4bd5..5b33e67 100644
--- a/binutils/testsuite/binutils-all/i386/i386.exp
+++ b/binutils/testsuite/binutils-all/i386/i386.exp
@@ -15,7 +15,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-if {!([istarget "i*86-*-linux*"] || [istarget "x86_64-*-linux*"]) || ![is_elf_format] || [is_remote host]} then {
+if {!([istarget "i*86-*-linux*"]
+ || [istarget "i*86-*-gnu*"]
+ || [istarget "x86_64-*-linux*"])
+ || ![is_elf_format]
+ || [is_remote host]} then {
return
}
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index c93372c..0e2345e 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -538,7 +538,8 @@ proc copy_setup { } {
set add_libs ""
}
- if { [istarget *-*-linux*] } {
+ if { [istarget *-*-linux*]
+ || [istarget *-*-gnu*] } {
foreach i $gcc_gas_flag {
set flags "additional_flags=$i $flags"
}
diff --git a/binutils/testsuite/binutils-all/strip-3.d b/binutils/testsuite/binutils-all/strip-3.d
index d656697..acfec85 100644
--- a/binutils/testsuite/binutils-all/strip-3.d
+++ b/binutils/testsuite/binutils-all/strip-3.d
@@ -3,7 +3,7 @@
#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .pdr -R .xtensa.info
#readelf: -S --wide
#name: strip empty file
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
\[[ 0]+\][ \t]+NULL[ \t]+.*
diff --git a/binutils/testsuite/lib/utils-lib.exp b/binutils/testsuite/lib/utils-lib.exp
index db170d3..7308250 100644
--- a/binutils/testsuite/lib/utils-lib.exp
+++ b/binutils/testsuite/lib/utils-lib.exp
@@ -1,5 +1,5 @@
# Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007,
-# 2009 Free Software Foundation, Inc.
+# 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -129,6 +129,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*]
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 07689b6..7c4bdc2 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-08 Thomas Schwinge <thomas@schwinge.name>
+
+ * lib/gas-defs.exp (is_elf_format): Consider for *-*-gnu*, too.
+ * gas/elf/elf.exp: Likewise.
+ * gas/symver/symver.exp: Likewise.
+
2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
PR gas/12186
diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index 5ce538a..1aebf8a 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -39,6 +39,7 @@ proc run_elf_list_test { name suffix opts readelf_opts readelf_pipe } {
# We're testing bits in obj-elf -- don't run on anything else.
if { ([istarget "*-*-*elf*"]
|| [istarget "*-*-linux*"]
+ || [istarget "*-*-gnu*"]
|| [istarget "m6811-*"]
|| [istarget "m6812-*"]
|| [istarget "sparc*-*-solaris*"]
diff --git a/gas/testsuite/gas/symver/symver.exp b/gas/testsuite/gas/symver/symver.exp
index 737bc85..b4caae9 100644
--- a/gas/testsuite/gas/symver/symver.exp
+++ b/gas/testsuite/gas/symver/symver.exp
@@ -18,7 +18,8 @@ proc run_error_test { name opts } {
if { ([istarget "*-*-elf*"]
|| [istarget "m6811-*"]
|| [istarget "m6812-*"]
- || [istarget "*-*-linux*"])
+ || [istarget "*-*-linux*"]
+ || [istarget "*-*-gnu*"])
&& ![istarget *-*-linux*aout*]
&& ![istarget *-*-linux*oldld*] } then {
diff --git a/gas/testsuite/lib/gas-defs.exp b/gas/testsuite/lib/gas-defs.exp
index 8e14101..3102aa0 100644
--- a/gas/testsuite/lib/gas-defs.exp
+++ b/gas/testsuite/lib/gas-defs.exp
@@ -1,5 +1,5 @@
# Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+# 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -288,6 +288,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*]
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4fe5505..d2ad435 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2010-11-08 Thomas Schwinge <thomas@schwinge.name>
+
+ * configure.host: Add stanza for *-*-gnu*.
+
2010-11-05 Pierre Muller <muller@ics.u-strasbg.fr>
* emultempl/spuelf.em (new_tmp_file): Fix wrong first parameter.
diff --git a/ld/configure.host b/ld/configure.host
index 3e88c27..885da7e 100644
--- a/ld/configure.host
+++ b/ld/configure.host
@@ -37,6 +37,15 @@ case "${host}" in
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
;;
+*-*-gnu*)
+ # When creating static executables, we ought to use crt0.o instead of crt1.o,
+ # <http://www.gnu.org/software/hurd/open_issues/binutils/testsuite.html#static>,
+ # but the testing infrastructure is not prepared for that. This is not
+ # relevant for most tests, and the few remaining ones have been XFAILed.
+ HOSTING_CRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.so[^ ]*\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
+ HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
+ ;;
+
*-*-netbsd*)
# Different versions of NetBSD with the ELF object format use different
# sets of start/end files.
@@ -194,7 +203,7 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
;;
-*-*-linux*)
+*-*-linux* | *-*-gnu*)
;;
*-*-netbsd*)
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*]