This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Improve binutils testsuite coverage for GNU/Hurd (and kFreeBSD?)
- From: Thomas Schwinge <thomas at schwinge dot name>
- To: binutils at sourceware dot org
- To: binutils at sourceware dot org
- Cc: debian-bsd at lists dot debian dot org
- Date: Thu, 28 Oct 2010 12:38:23 +0200
- Subject: [PATCH] Improve binutils testsuite coverage for GNU/Hurd (and kFreeBSD?)
I was comparing the testsuite runs for the targets i686-pc-linux-gnu and
i686-pc-gnu (a.k.a. GNU/Hurd), both natively built -- and I expected them
to be almost the same (baring some differences in LD's tests, perhaps),
but they were not -- for GNU/Hurd a lot of tests wouldn't be considered.
Here is a patch to fix this. I must say I was surprised how many tests
are wired for *-*-linux* only, and I wouldn't understand why (but didn't
investiage either), and I generally simply windened these to include
*-*-gnu*, too.
As the triplet *-*-gnu* not only matches GNU/Hurd systems, but also
*-*-linux-gnu* and *-*-kfreebsd-gnu* we have to be a bit careful.
(Perhaps we should really transition over to using *-*-hurd-gnu* or
something...) I cross-checked that nothing changes for a
--target=i686-pc-linux build, but I'd like to have the kFreeBSD guys
check too (thus CCed). I suppose this patch will simply increase test
coverage for you, too. But perhaps you'll need further changes? Please
just build binutils with and without this patch, run make -k check, and
compare the two runs' */*.sum */*/*.sum files.
I had to XFAIL a few tests (and added URLs to the page where I describe
them).
Most of this patch should be pretty straight-forward, but please
especially review the TCL bits (this was my first real-world encounter
with that language): ld/testsuite/ld-elf/elf.exp,
ld/testsuite/ld-elfweak/elfweak.exp.
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/testsuite/
* ld/configure.host: Add stanza for *-*-gnu*.
* 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/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.
Regards,
Thomas
---
binutils/testsuite/binutils-all/elfedit-2.d | 2 +-
binutils/testsuite/binutils-all/elfedit-3.d | 2 +-
binutils/testsuite/binutils-all/i386/i386.exp | 6 +++++-
binutils/testsuite/binutils-all/objcopy.exp | 3 ++-
binutils/testsuite/binutils-all/strip-3.d | 2 +-
binutils/testsuite/lib/utils-lib.exp | 1 +
gas/testsuite/gas/elf/elf.exp | 1 +
gas/testsuite/gas/symver/symver.exp | 3 ++-
gas/testsuite/lib/gas-defs.exp | 1 +
ld/configure.host | 11 ++++++++++-
ld/testsuite/ld-discard/discard.exp | 2 +-
ld/testsuite/ld-elf/binutils.exp | 5 +++--
ld/testsuite/ld-elf/commonpage1.d | 2 +-
ld/testsuite/ld-elf/discard1.d | 2 +-
ld/testsuite/ld-elf/discard2.d | 2 +-
ld/testsuite/ld-elf/discard3.d | 2 +-
ld/testsuite/ld-elf/dynsym1.d | 2 +-
ld/testsuite/ld-elf/eh6.d | 2 +-
ld/testsuite/ld-elf/elf.exp | 19 +++++++++++++++----
ld/testsuite/ld-elf/hash.d | 2 +-
ld/testsuite/ld-elf/header.d | 2 +-
ld/testsuite/ld-elf/loadaddr1.d | 2 +-
ld/testsuite/ld-elf/loadaddr2.d | 2 +-
ld/testsuite/ld-elf/loadaddr3a.d | 2 +-
ld/testsuite/ld-elf/loadaddr3b.d | 2 +-
ld/testsuite/ld-elf/local1.d | 2 +-
ld/testsuite/ld-elf/maxpage1.d | 2 +-
ld/testsuite/ld-elf/maxpage2.d | 2 +-
ld/testsuite/ld-elf/maxpage3a.d | 2 +-
ld/testsuite/ld-elf/multibss1.d | 2 +-
ld/testsuite/ld-elf/noload-2.d | 2 +-
ld/testsuite/ld-elf/seg.d | 2 +-
ld/testsuite/ld-elf/textaddr1.d | 2 +-
ld/testsuite/ld-elf/textaddr2.d | 2 +-
ld/testsuite/ld-elf/textaddr3.d | 2 +-
ld/testsuite/ld-elf/textaddr4.d | 2 +-
ld/testsuite/ld-elf/textaddr5.d | 2 +-
ld/testsuite/ld-elf/textaddr6.d | 2 +-
ld/testsuite/ld-elf/textaddr7.d | 2 +-
ld/testsuite/ld-elf/tls_common.exp | 4 ++--
ld/testsuite/ld-elf/unknown2.d | 2 +-
ld/testsuite/ld-elfvers/vers.exp | 1 +
ld/testsuite/ld-elfvsb/elfvsb.exp | 4 +++-
ld/testsuite/ld-elfweak/elfweak.exp | 18 ++++++++++++++++++
ld/testsuite/ld-gc/abi-note.d | 2 +-
ld/testsuite/ld-gc/gc.exp | 3 ++-
ld/testsuite/ld-gc/pr11218.d | 2 +-
ld/testsuite/ld-gc/start.d | 2 +-
ld/testsuite/ld-i386/i386.exp | 2 ++
ld/testsuite/ld-ifunc/binutils.exp | 2 +-
ld/testsuite/ld-ifunc/ifunc.exp | 3 ++-
ld/testsuite/ld-linkonce/linkonce.exp | 2 +-
ld/testsuite/ld-linkonce/zeroehl32.d | 2 +-
ld/testsuite/ld-pie/pie.exp | 4 ++--
ld/testsuite/ld-scripts/phdrs2.exp | 1 +
ld/testsuite/ld-scripts/rgn-at5.d | 2 +-
ld/testsuite/ld-shared/shared.exp | 1 +
ld/testsuite/ld-undefined/entry-3.d | 2 +-
ld/testsuite/ld-undefined/entry-4.d | 2 +-
ld/testsuite/ld-undefined/weak-undef.exp | 1 +
ld/testsuite/lib/ld-lib.exp | 1 +
61 files changed, 116 insertions(+), 57 deletions(-)
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..04135f5 100644
--- a/binutils/testsuite/lib/utils-lib.exp
+++ b/binutils/testsuite/lib/utils-lib.exp
@@ -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/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..88e2540 100644
--- a/gas/testsuite/lib/gas-defs.exp
+++ b/gas/testsuite/lib/gas-defs.exp
@@ -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/configure.host b/ld/configure.host
index 3e88c27..459b9d2 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/ld-discard/discard.exp b/ld/testsuite/ld-discard/discard.exp
index deb5dfd..0334270 100644
--- a/ld/testsuite/ld-discard/discard.exp
+++ b/ld/testsuite/ld-discard/discard.exp
@@ -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..48e489f 100644
--- a/ld/testsuite/ld-elf/binutils.exp
+++ b/ld/testsuite/ld-elf/binutils.exp
@@ -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/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..da271ba 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -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,24 @@ 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
+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..55f60c7 100644
--- a/ld/testsuite/ld-elf/tls_common.exp
+++ b/ld/testsuite/ld-elf/tls_common.exp
@@ -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 e336f6a..8cbd6df 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..df4c96e 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -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..383db7d 100644
--- a/ld/testsuite/ld-elfweak/elfweak.exp
+++ b/ld/testsuite/ld-elfweak/elfweak.exp
@@ -36,6 +36,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 +68,17 @@ 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
+ switch -regexp $target_triplet {
+ ^\[^-\]*-\[^-\]*-gnu.*$ {
+ setup_xfail "*-*-*"
+ }
+ }
+}
+
#
# objdump_symstuff
# Dump non-dynamic symbol stuff and make sure that it is sane.
@@ -452,7 +464,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 +479,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..b6976f4 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -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..1ef0dbb 100644
--- a/ld/testsuite/ld-ifunc/binutils.exp
+++ b/ld/testsuite/ld-ifunc/binutils.exp
@@ -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..7fbd495 100644
--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/ld/testsuite/ld-ifunc/ifunc.exp
@@ -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..5296d0f 100644
--- a/ld/testsuite/ld-linkonce/linkonce.exp
+++ b/ld/testsuite/ld-linkonce/linkonce.exp
@@ -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..4a28556 100644
--- a/ld/testsuite/ld-pie/pie.exp
+++ b/ld/testsuite/ld-pie/pie.exp
@@ -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..4783575 100644
--- a/ld/testsuite/ld-scripts/phdrs2.exp
+++ b/ld/testsuite/ld-scripts/phdrs2.exp
@@ -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..c8f7c76 100644
--- a/ld/testsuite/ld-shared/shared.exp
+++ b/ld/testsuite/ld-shared/shared.exp
@@ -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..43064a4 100644
--- a/ld/testsuite/ld-undefined/weak-undef.exp
+++ b/ld/testsuite/ld-undefined/weak-undef.exp
@@ -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 e5e19eb..7b3553b 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -407,6 +407,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*]
--
tg: (fd92991..) hurd/testsuite (depends on: master)