Run PR ld/19784 tests only if ifunc attribute works

* testsuite/ld-x86-64/x86-64.exp: Run PR ld/19784 tests only
	if ifunc attribute works.
This commit is contained in:
H.J. Lu 2016-08-29 09:09:14 -07:00
parent f53be9779b
commit 3c4f32287f
2 changed files with 52 additions and 38 deletions

View File

@ -1,3 +1,8 @@
2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/19784 tests only
if ifunc attribute works.
2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
PR ld/14961

View File

@ -822,28 +822,6 @@ if { [isnative] && [which $CC] != 0 } {
{{objdump {-dw} pr19319.dd}} \
"pr19319" \
] \
[list \
"Build libpr19784a.so" \
"-shared -Wl,-Bsymbolic-functions" \
"-fPIC -O2 -g" \
{ pr19784b.c pr19784c.c } \
{} \
"libpr19784a.so" \
] \
[list \
"Build libpr19784b.so" \
"-shared -Wl,-Bsymbolic-functions" \
"-fPIC -O2 -g" \
{ pr19784c.c pr19784b.c } \
{} \
"libpr19784b.so" \
] \
[list \
"Build pr19784a.o" \
"" \
"" \
{ pr19784a.c } \
] \
]
run_ld_link_exec_tests [list \
@ -914,24 +892,55 @@ if { [isnative] && [which $CC] != 0 } {
"gotpcrel1" \
"gotpcrel1.out" \
] \
[list \
"Run pr19784a" \
"tmpdir/pr19784a.o tmpdir/libpr19784a.so" \
"" \
{ dummy.s } \
"pr19784a" \
"pass.out" \
] \
[list \
"Run pr19784b" \
"--as-needed tmpdir/pr19784a.o tmpdir/libpr19784b.so" \
"" \
{ dummy.s } \
"pr19784b" \
"pass.out" \
] \
]
# Run-time tests which require working ifunc attribute support.
if { [check_ifunc_attribute_available] } {
run_cc_link_tests [list \
[list \
"Build libpr19784a.so" \
"-shared -Wl,-Bsymbolic-functions" \
"-fPIC -O2 -g" \
{ pr19784b.c pr19784c.c } \
{} \
"libpr19784a.so" \
] \
[list \
"Build libpr19784b.so" \
"-shared -Wl,-Bsymbolic-functions" \
"-fPIC -O2 -g" \
{ pr19784c.c pr19784b.c } \
{} \
"libpr19784b.so" \
] \
[list \
"Build pr19784a.o" \
"" \
"" \
{ pr19784a.c } \
] \
]
run_ld_link_exec_tests [list \
[list \
"Run pr19784a" \
"tmpdir/pr19784a.o tmpdir/libpr19784a.so" \
"" \
{ dummy.s } \
"pr19784a" \
"pass.out" \
] \
[list \
"Run pr19784b" \
"--as-needed tmpdir/pr19784a.o tmpdir/libpr19784b.so" \
"" \
{ dummy.s } \
"pr19784b" \
"pass.out" \
] \
]
}
if { [istarget "x86_64-*-linux*"] \
&& ![istarget "x86_64-*-linux*-gnux32"]} {