From 3c4f32287f2271ee46cf57669f867b39f716fe46 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 29 Aug 2016 09:09:14 -0700 Subject: [PATCH] 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. --- ld/ChangeLog | 5 ++ ld/testsuite/ld-x86-64/x86-64.exp | 85 +++++++++++++++++-------------- 2 files changed, 52 insertions(+), 38 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 69e018c5dea..654605b5b34 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2016-08-29 H.J. Lu + + * testsuite/ld-x86-64/x86-64.exp: Run PR ld/19784 tests only + if ifunc attribute works. + 2016-08-29 H.J. Lu PR ld/14961 diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 01b6a491fab..c24eeeaf4ec 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -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"]} { -- 2.30.2