From 37ce0cc4b7bf61f4c81023a8245876b690121df5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 13 Apr 2016 05:41:36 -0700 Subject: [PATCH] Update x86-64 tests for --as-needed Since compiler may pass --as-needed to ld by default, link .o file before .so file in x86-64 tests. PR ld/19774 * testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr17689b.o before tmpdir/pr17689.so, fix gotpcrel1 test and add more --as-needed tests. --- ld/ChangeLog | 7 ++++++ ld/testsuite/ld-x86-64/x86-64.exp | 39 +++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 6b463f4d09..88291badb7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2016-04-13 H.J. Lu + + PR ld/19774 + * testsuite/ld-x86-64/x86-64.exp: Link tmpdir/pr17689b.o before + tmpdir/pr17689.so, fix gotpcrel1 test and add more --as-needed + tests. + 2016-04-11 H.J. Lu PR ld/19939 diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 8abccd4b8d..3cec4dd065 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -630,26 +630,33 @@ if { [isnative] && [which $CC] != 0 } { "pr17689now.so" \ ] \ [list \ - "Build pr17689 with PIE without -fPIE" \ - "tmpdir/pr17689.so -pie" \ + "Build pr17689b.o" \ + "" \ "" \ { pr17689b.S } \ + {} \ + ] \ + [list \ + "Build pr17689 with PIE without -fPIE" \ + "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ + "" \ + { dummy.s } \ {{readelf {-Wr} pr17689.rd}} \ "pr17689" \ ] \ [list \ "Build pr17689 with PIE -z now without -fPIE" \ - "tmpdir/pr17689.so -pie -Wl,-z,now" \ + "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \ "" \ - { pr17689b.S } \ + { dummy.s } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now" \ ] \ [list \ "Build pr17827 with PIE without -fPIE" \ - "tmpdir/pr17689.so -pie" \ + "-Wl,--as-needed tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ "" \ - { pr17689b.S } \ + { dummy.s } \ {{readelf {-Wr} pr17827.rd}} \ "pr17827" \ ] \ @@ -701,11 +708,19 @@ if { [isnative] && [which $CC] != 0 } { "" \ "gotpcrel1d.so" \ ] \ + [list \ + "Build libgotpcrel1.a" \ + "" \ + "" \ + { gotpcrel1a.S gotpcrel1b.c gotpcrel1c.c } \ + "" \ + "libgotpcrel1.a" \ + ] \ [list \ "Build gotpcrel1" \ - "tmpdir/gotpcrel1d.so" \ + "-Wl,--as-needed tmpdir/gotpcrel1a.o tmpdir/gotpcrel1b.o tmpdir/gotpcrel1c.o tmpdir/gotpcrel1d.so" \ "-Wa,-mrelax-relocations=yes" \ - { gotpcrel1a.S gotpcrel1b.c gotpcrel1c.c } \ + { dummy.s } \ {{objdump {-dw} gotpcrel1.dd}} \ "gotpcrel1" \ ] \ @@ -757,17 +772,17 @@ if { [isnative] && [which $CC] != 0 } { ] \ [list \ "Run pr17689 with PIE without -fPIE" \ - "tmpdir/pr17689.so -pie" \ + "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ "" \ - { pr17689b.S } \ + { dummy.s } \ "pr17689" \ "pr17689.out" \ ] \ [list \ "Run pr17689 with PIE -z now without -fPIE" \ - "tmpdir/pr17689.so -pie -z now" \ + "--as-needed tmpdir/pr17689b.o tmpdir/pr17689.so -pie -z now" \ "" \ - { pr17689b.S } \ + { dummy.s } \ "pr17689now" \ "pr17689.out" \ ] \ -- 2.34.1