Support --as-needed in ifunc tests

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.
This commit is contained in:
H.J. Lu
2016-03-08 08:43:12 -08:00
parent 202ac193bb
commit 205ac18577
2 changed files with 30 additions and 6 deletions

View 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> 2016-03-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/19774 PR ld/19774

View File

@ -465,6 +465,14 @@ if { ![check_ifunc_attribute_available] } {
} }
run_cc_link_tests [list \ run_cc_link_tests [list \
[list \
"Build pr18808a.o" \
"" \
"" \
{ pr18808a.c } \
"" \
"" \
] \
[list \ [list \
"Build libpr18808.so" \ "Build libpr18808.so" \
"-shared" \ "-shared" \
@ -473,6 +481,14 @@ run_cc_link_tests [list \
{} \ {} \
"libpr18808.so" \ "libpr18808.so" \
] \ ] \
[list \
"Build pr18841a.o" \
"" \
"" \
{ pr18841a.c } \
"" \
"" \
] \
[list \ [list \
"Build libpr18841b.so" \ "Build libpr18841b.so" \
"-shared" \ "-shared" \
@ -494,25 +510,25 @@ run_cc_link_tests [list \
run_ld_link_exec_tests [] [list \ run_ld_link_exec_tests [] [list \
[list \ [list \
"Run pr18808" \ "Run pr18808" \
"tmpdir/libpr18808.so" \ "tmpdir/pr18808a.o tmpdir/libpr18808.so" \
"" \ "" \
{ pr18808a.c } \ { dummy.c } \
"pr18808" \ "pr18808" \
"pr18808.out" \ "pr18808.out" \
] \ ] \
[list \ [list \
"Run pr18841 with libpr18841b.so" \ "Run pr18841 with libpr18841b.so" \
"tmpdir/libpr18841b.so" \ "tmpdir/pr18841a.o tmpdir/libpr18841b.so" \
"" \ "" \
{ pr18841a.c } \ { dummy.c } \
"pr18841b" \ "pr18841b" \
"pr18841.out" \ "pr18841.out" \
] \ ] \
[list \ [list \
"Run pr18841 with libpr18841c.so" \ "Run pr18841 with libpr18841c.so" \
"tmpdir/libpr18841c.so" \ "--as-needed tmpdir/pr18841a.o tmpdir/libpr18841c.so" \
"" \ "" \
{ pr18841a.c } \ { dummy.c } \
"pr18841c" \ "pr18841c" \
"pr18841.out" \ "pr18841.out" \
] \ ] \