aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elfweak
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-03-20 02:28:17 +0000
committerAlan Modra <amodra@gmail.com>2013-03-20 02:28:17 +0000
commit75c8d84d74c6c361a7f0c6371e94eb14ff7651d5 (patch)
treed115e0edc25231c7d338fddf13e947472565d7d1 /ld/testsuite/ld-elfweak
parent32e2b61d0baceacdd0ae791adc12bf829499be96 (diff)
downloadgdb-75c8d84d74c6c361a7f0c6371e94eb14ff7651d5.zip
gdb-75c8d84d74c6c361a7f0c6371e94eb14ff7651d5.tar.gz
gdb-75c8d84d74c6c361a7f0c6371e94eb14ff7651d5.tar.bz2
* ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
linking against shared libraries. * ld-elfweak/elfweak.exp: Likewise. Enable for x86_64-linux. Build main1.o using $picflag.
Diffstat (limited to 'ld/testsuite/ld-elfweak')
-rw-r--r--ld/testsuite/ld-elfweak/elfweak.exp20
1 files changed, 10 insertions, 10 deletions
diff --git a/ld/testsuite/ld-elfweak/elfweak.exp b/ld/testsuite/ld-elfweak/elfweak.exp
index 91e683b..3a27465 100644
--- a/ld/testsuite/ld-elfweak/elfweak.exp
+++ b/ld/testsuite/ld-elfweak/elfweak.exp
@@ -50,6 +50,7 @@ if { ![istarget alpha*-*-linux*]
&& ![istarget sparc*-*-elf]
&& ![istarget sparc*-*-solaris2*]
&& ![istarget sparc*-*-linux*]
+ && ![istarget x86_64-*-linux*]
&& ![istarget *-*-nacl*] } {
return
}
@@ -67,7 +68,7 @@ set diff diff
set tmpdir tmpdir
set DOBJDUMP_FLAGS --dynamic-syms
set SOBJDUMP_FLAGS --syms
-set shared --shared
+set shared "--shared -Wl,--no-as-needed"
# <http://www.gnu.org/software/hurd/open_issues/binutils.html#weak>
@@ -316,7 +317,6 @@ proc build_exec { test execname objs flags dat dynsymexp symexp} {
global CC
global objdump
global tmpdir
- global shared
global srcdir
global subdir
global exec_output
@@ -442,7 +442,7 @@ if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/bar1c.c $tmpdir/bar1c.o]
return
}
-if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/main1.c $tmpdir/main1.o] {
+if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/main1.c $tmpdir/main1.o] {
unresolved "ELF weak"
return
}
@@ -469,9 +469,9 @@ 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 ""
+build_exec "ELF weak func first DSO" foo "main.o libbar.so" "-Wl,-rpath,.,--no-as-needed" 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_exec "ELF weak func last DSO" foo "libbar.so main.o" "-Wl,-rpath,.,--no-as-needed" weak weak.dsym ""
build_lib "ELF DSO weak data first" libfoo "bar1a.o foo1a.o" dsodata.dsym
build_lib "ELF DSO weak data last" libfoo "foo1a.o bar1a.o" dsodata.dsym
@@ -484,13 +484,13 @@ build_exec "ELF weak data last" foo "foo1a.o main1.o bar1a.o" "" strongdata "" s
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 ""
+build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,-rpath,.,--no-as-needed" 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 ""
+build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,.,--no-as-needed" 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 ""
+build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,.,--no-as-needed" 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 ""
+build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,.,--no-as-needed" weakdata weakdata.dsym ""
if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] {
unresolved "ELF weak (size)"
@@ -517,7 +517,7 @@ if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/size_main.c $tmpdir/size_main.o] {
return
}
-build_exec "ELF weak size" size_main "size_main.o libsize_foo.so libsize_bar.so" "-Wl,-rpath,." size "" ""
+build_exec "ELF weak size" size_main "size_main.o libsize_foo.so libsize_bar.so" "-Wl,-rpath,.,--no-as-needed" size "" ""
verbose "size2"
run_dump_test $srcdir/$subdir/size2