diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2016-03-07 09:03:24 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-03-07 09:03:24 -0800 |
commit | 23a4bd22c75862fdbaa5faef59b9094ec738f675 (patch) | |
tree | f954cf23727a9db98a42f428645c11631dd7a5ba /ld/testsuite | |
parent | e6c2f47b45315ba13f25fb57e51389d0c5ed0701 (diff) | |
download | gdb-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.exp | 32 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/x86-64.exp | 20 |
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" \ ] \ |