Support --as-needed in ifunc tests
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 8 Mar 2016 16:43:12 +0000 (08:43 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 8 Mar 2016 16:45:04 +0000 (08:45 -0800)
Since compiler may pass --as-needed to ld by default, link .o file
before .so file in ifunc tests.

PR ld/19774
* testsuite/ld-ifunc/ifunc.exp: Link tmpdir/pr18808a.o before
tmpdir/libpr18808.so.  Link tmpdir/pr18841a.o before
tmpdir/libpr18841b.so and tmpdir/libpr18841c.so.  Test
--as-needed for pr18841c.

ld/ChangeLog
ld/testsuite/ld-ifunc/ifunc.exp

index 26dbc30..960190f 100644 (file)
@@ -1,3 +1,11 @@
+2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19774
+       * testsuite/ld-ifunc/ifunc.exp: Link tmpdir/pr18808a.o before
+       tmpdir/libpr18808.so.  Link tmpdir/pr18841a.o before
+       tmpdir/libpr18841b.so and tmpdir/libpr18841c.so.  Test
+       --as-needed for pr18841c.
+
 2016-03-07  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19774
index 5a5bf72..96627e7 100644 (file)
@@ -466,6 +466,14 @@ if { ![check_ifunc_attribute_available] } {
 
 run_cc_link_tests [list \
     [list \
+       "Build pr18808a.o" \
+       "" \
+       "" \
+       { pr18808a.c } \
+       "" \
+       "" \
+    ] \
+    [list \
        "Build libpr18808.so" \
        "-shared" \
        "-fPIC -O2 -g" \
@@ -474,6 +482,14 @@ run_cc_link_tests [list \
        "libpr18808.so" \
     ] \
     [list \
+       "Build pr18841a.o" \
+       "" \
+       "" \
+       { pr18841a.c } \
+       "" \
+       "" \
+    ] \
+    [list \
        "Build libpr18841b.so" \
        "-shared" \
        "-fPIC -O0 -g" \
@@ -494,25 +510,25 @@ run_cc_link_tests [list \
 run_ld_link_exec_tests [] [list \
     [list \
        "Run pr18808" \
-       "tmpdir/libpr18808.so" \
+       "tmpdir/pr18808a.o tmpdir/libpr18808.so" \
        "" \
-       { pr18808a.c } \
+       { dummy.c } \
        "pr18808" \
        "pr18808.out" \
     ] \
     [list \
        "Run pr18841 with libpr18841b.so" \
-       "tmpdir/libpr18841b.so" \
+       "tmpdir/pr18841a.o tmpdir/libpr18841b.so" \
        "" \
-       { pr18841a.c } \
+       { dummy.c } \
        "pr18841b" \
        "pr18841.out" \
     ] \
     [list \
        "Run pr18841 with libpr18841c.so" \
-       "tmpdir/libpr18841c.so" \
+       "--as-needed tmpdir/pr18841a.o tmpdir/libpr18841c.so" \
        "" \
-       { pr18841a.c } \
+       { dummy.c } \
        "pr18841c" \
        "pr18841.out" \
     ] \