aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-03-07 09:03:24 -0800
committerH.J. Lu <hjl.tools@gmail.com>2016-03-07 09:03:24 -0800
commit23a4bd22c75862fdbaa5faef59b9094ec738f675 (patch)
treef954cf23727a9db98a42f428645c11631dd7a5ba /ld/testsuite
parente6c2f47b45315ba13f25fb57e51389d0c5ed0701 (diff)
downloadgdb-23a4bd22c75862fdbaa5faef59b9094ec738f675.zip
gdb-23a4bd22c75862fdbaa5faef59b9094ec738f675.tar.gz
gdb-23a4bd22c75862fdbaa5faef59b9094ec738f675.tar.bz2
Support --as-needed in i386/x86-64 tests
Since compiler may pass --as-needed to ld by default, link .o file before .so file in i386/x86-64 tests. PR ld/19774 * testsuite/ld-i386/i386.exp: Link tmpdir/pr18900.o before tmpdir/pr18900.so and test --as-needed. Link tmpdir/gotpc1.o before tmpdir/got1d.so and test --as-needed. * testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr18900.o before tmpdir/pr18900.so and test --as-needed.
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ld-i386/i386.exp32
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp20
2 files changed, 38 insertions, 14 deletions
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index bf8e6b6..5b9d790 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -610,18 +610,26 @@ if { [isnative]
"pr18900.so" \
] \
[list \
- "Build pr18900a" \
- "tmpdir/pr18900.so" \
+ "Build pr18900.o" \
+ "-r -nostdlib" \
"" \
{ pr18900b.c pr18900c.c } \
+ "" \
+ "pr18900.o" \
+ ] \
+ [list \
+ "Build pr18900a" \
+ "tmpdir/pr18900.o tmpdir/pr18900.so" \
+ "" \
+ { dummy.s } \
{{readelf {-Wrd} pr18900a.rd}} \
"pr18900a" \
] \
[list \
"Build pr18900b" \
- "tmpdir/pr18900.so" \
+ "-Wl,--as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \
"" \
- { pr18900b.c pr18900c.c } \
+ { dummy.s } \
{{readelf {-Wrd} pr18900b.rd}} \
"pr18900b" \
] \
@@ -642,10 +650,18 @@ if { [isnative]
"got1d.so" \
] \
[list \
+ "Build gotpc1.o" \
+ "-r -nostdlib" \
+ "" \
+ { got1a.S got1b.c got1c.c } \
+ "" \
+ "gotpc1.o" \
+ ] \
+ [list \
"Build gotpc1" \
- "tmpdir/got1d.so" \
+ "-Wl,--as-needed tmpdir/gotpc1.o tmpdir/got1d.so" \
"-Wa,-mrelax-relocations=yes" \
- { got1a.S got1b.c got1c.c } \
+ { dummy.s } \
{{objdump {-dw} got1.dd}} \
"got1" \
] \
@@ -721,9 +737,9 @@ if { [isnative]
] \
[list \
"Run pr18900" \
- "tmpdir/pr18900.so" \
+ "tmpdir/pr18900.o tmpdir/pr18900.so" \
"" \
- { pr18900b.c pr18900c.c } \
+ { dummy.s } \
"pr18900" \
"pr18900.out" \
] \
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index cac481e..4dd7cfa1 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -643,18 +643,26 @@ if { [isnative] && [which $CC] != 0 } {
"pr18900.so" \
] \
[list \
- "Build pr18900a" \
- "tmpdir/pr18900.so" \
+ "Build pr18900.o" \
+ "-r -nostdlib" \
"" \
{ pr18900b.c pr18900c.c } \
+ "" \
+ "pr18900.o" \
+ ] \
+ [list \
+ "Build pr18900a" \
+ "tmpdir/pr18900.o tmpdir/pr18900.so" \
+ "" \
+ { dummy.s } \
{{readelf {-Wrd} pr18900a.rd}} \
"pr18900a" \
] \
[list \
"Build pr18900b" \
- "tmpdir/pr18900.so" \
+ "-Wl,--as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \
"" \
- { pr18900b.c pr18900c.c } \
+ { dummy.s } \
{{readelf {-Wrd} pr18900b.rd}} \
"pr18900b" \
] \
@@ -746,9 +754,9 @@ if { [isnative] && [which $CC] != 0 } {
] \
[list \
"Run pr18900" \
- "tmpdir/pr18900.so" \
+ "tmpdir/pr18900.o tmpdir/pr18900.so" \
"" \
- { pr18900b.c pr18900c.c } \
+ { dummy.s } \
"pr18900" \
"pr18900.out" \
] \