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.
This commit is contained in:
H.J. Lu 2016-03-07 09:03:24 -08:00
parent e6c2f47b45
commit 23a4bd22c7
3 changed files with 48 additions and 15 deletions

View file

@ -1,3 +1,12 @@
2016-03-07 H.J. Lu <hongjiu.lu@intel.com>
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-03-07 Jiong Wang <jiong.wang@arm.com>
* testsuite/ld-aarch64/implicit_got_section_1.s: New test source file.

View file

@ -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" \
"tmpdir/got1d.so" \
"-Wa,-mrelax-relocations=yes" \
"Build gotpc1.o" \
"-r -nostdlib" \
"" \
{ got1a.S got1b.c got1c.c } \
"" \
"gotpc1.o" \
] \
[list \
"Build gotpc1" \
"-Wl,--as-needed tmpdir/gotpc1.o tmpdir/got1d.so" \
"-Wa,-mrelax-relocations=yes" \
{ 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" \
] \

View file

@ -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" \
] \