+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
#source: empty.s
#readelf: -h
#name: Update ELF header 2
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
ELF Header:
#source: empty.s
#readelf: -h
#name: Update ELF header 3
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
ELF Header:
# 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
}
set add_libs ""
}
- if { [istarget *-*-linux*] } {
+ if { [istarget *-*-linux*]
+ || [istarget *-*-gnu*] } {
foreach i $gcc_gas_flag {
set flags "additional_flags=$i $flags"
}
#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]+.*
# 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
&& ![istarget hppa*64*-*-hpux*]
&& ![istarget ia64-*-hpux*]
&& ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
&& ![istarget frv-*-uclinux*]
&& ![istarget bfin-*-uclinux]
&& ![istarget sh*-*-uclinux*]
+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
# 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*"]
if { ([istarget "*-*-elf*"]
|| [istarget "m6811-*"]
|| [istarget "m6812-*"]
- || [istarget "*-*-linux*"])
+ || [istarget "*-*-linux*"]
+ || [istarget "*-*-gnu*"])
&& ![istarget *-*-linux*aout*]
&& ![istarget *-*-linux*oldld*] } then {
# 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
&& ![istarget hppa*64*-*-hpux*]
&& ![istarget ia64-*-hpux*]
&& ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
&& ![istarget frv-*-uclinux*]
&& ![istarget bfin-*-uclinux]
&& ![istarget sh*-*-uclinux*]
+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.
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.
*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
;;
-*-*-linux*)
+*-*-linux* | *-*-gnu*)
;;
*-*-netbsd*)
+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.
# 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.
#
# in every .d-file.
if { ![istarget *-*-linux*] \
- && ![istarget *-*-gnu] \
+ && ![istarget *-*-gnu*] \
&& ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-elf] } {
return
# 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.
#
# Make sure that binutils can correctly handle ld output in ELF.
-# Run on Linux only.
-if { ![istarget *-*-linux*] } {
+if { ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]} {
return
}
|| ([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
#source: maxpage1.s
#ld: -z max-page-size=0x200000 -z common-page-size=0x100000
#readelf: -l --wide
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
LOAD+.*0x200000
#as: --compress-debug-sections
#ld: -shared
#readelf: -S --wide
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#failif
#...
#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.*
#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.*
#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.*
#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
#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:
# 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.
#
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}
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
#source: start.s
#readelf: -d -s -D
#ld: -shared --hash-style=gnu
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#notarget: mips*-*-*
#...
-# target: *-*-linux* *-*-vxworks
+# target: *-*-linux* *-*-gnu* *-*-vxworks
# ld: -T header.t -z max-page-size=0x100
# objdump: -hpw
#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
#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
#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.*
#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
#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
#source: maxpage1.s
#ld: -z max-page-size=0x200000
#readelf: -l --wide
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
LOAD+.*0x200000
#source: maxpage1.s
#ld: -z max-page-size=0x100000
#readelf: -l --wide
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
LOAD+.*0x100000
#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?.*
#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
#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
-#target: *-*-linux* *-*-vxworks
+#target: *-*-linux* *-*-gnu* *-*-vxworks
#source: seg.s
#ld: -T seg.t -z max-page-size=0x1000
#readelf: -l --wide
#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
#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
#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
#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
#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
#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
#source: maxpage1.s
#ld: -n -z max-page-size=0x200000 -Ttext-segment 0x10000
#readelf: -l --wide
-#target: *-*-linux-gnu
+#target: *-*-linux-gnu *-*-gnu*
#...
LOAD .*
# 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.
#
# Make sure that binutils can correctly handle ld output in ELF.
-# Run on Linux only.
-if { ![istarget *-*-linux*] } {
+if { ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*] } {
return
}
#source: unknown2.s
#ld: -shared
#readelf: -S
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
\[[ 0-9]+\] \.note.foo[ \t]+NOTE[ \t]+.*
&& ![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*] \
# 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.
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*] \
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
# 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.
#
&& ![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*] \
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.
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
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] {
#name: --gc-sections with note section
#ld: --gc-sections -e _start
#readelf: -S --wide
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#notarget: *-*-*aout *-*-*oldld
#...
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
# 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'
#name: --gc-sections with __start_
#ld: --gc-sections -e _start
#nm: -n
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#notarget: *-*-*aout *-*-*oldld
#...
# 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.
|| ([istarget "i?86-*-linux*"]
&& ![istarget "*-*-*aout*"]
&& ![istarget "*-*-*oldld*"])
+ || [istarget "i?86-*-gnu*"]
|| [istarget "x86_64-*-linux*"]
|| [istarget "amd64-*-linux*"]) } {
return
run_dump_test "discarded1"
if { !([istarget "i?86-*-linux*"]
+ || [istarget "i?86-*-gnu*"]
|| [istarget "x86_64-*-linux*"]) } {
return
}
# 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.
#
# 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
# 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.
&& ([istarget "*-*-elf*"]
|| ([istarget "*-*-linux*"]
&& ![istarget "*-*-*aout*"]
- && ![istarget "*-*-*oldld*"]))) } {
+ && ![istarget "*-*-*oldld*"])
+ || ([istarget "*-*-gnu*"]))) } {
verbose "IFUNC tests not run - target does not support IFUNC"
return
}
# 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.
#
# have to qualify on ELF specifically in every .d-file.
if { ![istarget *-*-linux*] \
- && ![istarget *-*-gnu] \
+ && ![istarget *-*-gnu*] \
&& ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-elf] } {
return
#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.
# 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.
#
# 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
}
# 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.
#
&& ![istarget *-*-eabi*] \
&& ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-linux*] \
+ && ![istarget *-*-gnu*] \
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \
&& ![istarget *-*-solaris2*] } {
# 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.
# 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.
&& ![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*] \
#source: dummy.s
#ld: -shared --entry foo tmpdir/libentry.a
#nm: -n
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
[0-9a-f]+ T +foo
#source: dummy.s
#ld: -shared --entry foo -u foo tmpdir/libentry.a
#nm: -n
-#target: *-*-linux*
+#target: *-*-linux* *-*-gnu*
#...
[0-9a-f]+ T +foo
# 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.
&& ![istarget *-*-eabi*] \
&& ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-linux*] \
+ && ![istarget *-*-gnu*] \
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \
&& ![is_pecoff_format] \
&& ![istarget hppa*64*-*-hpux*]
&& ![istarget ia64-*-hpux*]
&& ![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
&& ![istarget frv-*-uclinux*]
&& ![istarget bfin-*-uclinux]
&& ![istarget sh*-*-uclinux*]