diff options
author | Alan Modra <amodra@gmail.com> | 2020-07-09 16:35:27 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-07-09 22:58:16 +0930 |
commit | 470cd0faa7f433b47944683eee4fc3dad6ef7cdf (patch) | |
tree | 78c03fb7383a56ba50c056c31f4fbdc3c6dd0abe /ld | |
parent | efe497e587ca0454071dd20e5ad1aa63a1c6e006 (diff) | |
download | gdb-470cd0faa7f433b47944683eee4fc3dad6ef7cdf.zip gdb-470cd0faa7f433b47944683eee4fc3dad6ef7cdf.tar.gz gdb-470cd0faa7f433b47944683eee4fc3dad6ef7cdf.tar.bz2 |
pr18841 tests on powerpc64
The PR18841 test does cross-module calls from within an ifunc
resolver, which is nasty, and not supported in general since the
called function may not be relocated. In this case the called
function (zoo) is just a stub so doesn't need relocating, but on ppc64
the function descriptor for zoo in the executable won't be relocated
at the time the shared library ifunc resolver runs. That means the
test will fail if your compiler generates PIEs by default.
PR 18841
* testsuite/ld-ifunc/ifunc.exp: Run pr18841 tests non-pie.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-ifunc/ifunc.exp | 18 |
2 files changed, 14 insertions, 9 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 1a3646a..fa45f16 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2020-07-09 Alan Modra <amodra@gmail.com> + + PR 18841 + * testsuite/ld-ifunc/ifunc.exp: Run pr18841 tests non-pie. + 2020-07-08 Alan Modra <amodra@gmail.com> * testsuite/lib/ld-lib.exp (ar_simple_create): Pass options before diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp index 08cc878..f67808c 100644 --- a/ld/testsuite/ld-ifunc/ifunc.exp +++ b/ld/testsuite/ld-ifunc/ifunc.exp @@ -559,7 +559,7 @@ run_cc_link_tests [list \ [list \ "Build pr18841a.o" \ "" \ - "" \ + "$NOPIE_CFLAGS" \ { pr18841a.c } \ "" \ "" \ @@ -687,32 +687,32 @@ run_ld_link_exec_tests [list \ ] \ [list \ "Run pr18841 with libpr18841b.so" \ - "-Wl,--no-as-needed tmpdir/pr18841a.o tmpdir/libpr18841b.so" \ - "" \ + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr18841a.o tmpdir/libpr18841b.so" \ + "$NOPIE_CFLAGS" \ { dummy.c } \ "pr18841b" \ "pr18841.out" \ ] \ [list \ "Run pr18841 with libpr18841c.so" \ - "-Wl,--as-needed tmpdir/pr18841a.o tmpdir/libpr18841c.so" \ - "" \ + "$NOPIE_LDFLAGS -Wl,--as-needed tmpdir/pr18841a.o tmpdir/libpr18841c.so" \ + "$NOPIE_CFLAGS" \ { dummy.c } \ "pr18841c" \ "pr18841.out" \ ] \ [list \ "Run pr18841 with libpr18841bn.so (-z now)" \ - "-Wl,-z,now -Wl,--no-as-needed tmpdir/pr18841a.o tmpdir/libpr18841bn.so" \ - "" \ + "$NOPIE_LDFLAGS -Wl,-z,now -Wl,--no-as-needed tmpdir/pr18841a.o tmpdir/libpr18841bn.so" \ + "$NOPIE_CFLAGS" \ { dummy.c } \ "pr18841bn" \ "pr18841.out" \ ] \ [list \ "Run pr18841 with libpr18841cn.so (-z now)" \ - "-Wl,-z,now -Wl,--as-needed tmpdir/pr18841a.o tmpdir/libpr18841cn.so" \ - "" \ + "$NOPIE_LDFLAGS -Wl,-z,now -Wl,--as-needed tmpdir/pr18841a.o tmpdir/libpr18841cn.so" \ + "$NOPIE_CFLAGS" \ { dummy.c } \ "pr18841cn" \ "pr18841.out" \ |