From: H.J. Lu Date: Mon, 7 Mar 2016 17:03:24 +0000 (-0800) Subject: Support --as-needed in i386/x86-64 tests X-Git-Tag: users/ARM/embedded-gdb-2_26-branch-2016q1~4^2~13 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=5975f54c03809c5c26ab2b1dfbdd20b47e4e09b4;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 5a6b5bddc3a..2e5b80e69b7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +2016-06-11 H.J. Lu + + Backport from master + 2016-03-07 H.J. Lu + + 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. + 2016-05-20 H.J. Lu Backport from master diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index b1332ffe211..02e6769b59c 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -511,18 +511,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" \ ] \ @@ -542,11 +550,19 @@ 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" \ ] \ @@ -622,9 +638,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 ac115316cba..92236fb3ba1 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -523,18 +523,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" \ ] \ @@ -626,9 +634,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" \ ] \