[binutils-gdb] PR23169 bogus test

Alan Modra amodra@sourceware.org
Tue Jun 26 11:58:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2822b09ff6024d042f1258194d6938c5a401b4fb

commit 2822b09ff6024d042f1258194d6938c5a401b4fb
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 26 14:30:16 2018 +0930

    PR23169 bogus test
    
    The testcase isn't valid.  If it happens to run on your target, you're
    lucky.
    
    	PR 23169
    	* testsuite/ld-ifunc/ifunc.exp: Don't run pr23169 tests on
    	powerpc.  Comment.

Diff:
---
 ld/ChangeLog                    |  6 ++++++
 ld/testsuite/ld-ifunc/ifunc.exp | 15 ++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 2065c6e..8951df6 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,11 @@
 2018-06-26  Alan Modra  <amodra@gmail.com>
 
+	PR 23169
+	* testsuite/ld-ifunc/ifunc.exp: Don't run pr23169 tests on
+	powerpc.  Comment.
+
+2018-06-26  Alan Modra  <amodra@gmail.com>
+
 	* testsuite/ld-bootstrap/bootstrap.exp: Use parentheses rather
 	than curly braces in logical expression.
 
diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp
index dd3abd4..612d914 100644
--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/ld/testsuite/ld-ifunc/ifunc.exp
@@ -702,6 +702,19 @@ run_ld_link_exec_tests [list \
 	"pr18841cn" \
 	"pr18841.out" \
     ] \
+]
+
+# The pr23169 testcase is not valid.  In general, you can't call ifunc
+# resolvers in another binary unless you know what you're doing.  In
+# particular you must ensure that the binary containing the resolver
+# is relocated before the resolver is called (for example, the
+# function addresses returned by the resolver may be loaded from the
+# GOT).
+# That does not happen for the pr23169 testcase where the resolver is
+# in the executable (which is relocated last by ld.so).
+if { [isnative]
+     && ![istarget "powerpc-*-*"] } {
+run_ld_link_exec_tests [list \
     [list \
 	"Run pr23169a" \
 	"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libpr23169a.so" \
@@ -756,4 +769,4 @@ run_ld_link_exec_tests [list \
 	"pass.out" \
 	"-fPIE -O2 -g" \
     ] \
-]
+]}



More information about the Binutils-cvs mailing list