This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug tdep/22576] New: ppc64: gdbarch_skip_trampoline_code fails for relro
- From: "jan.kratochvil at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Sat, 09 Dec 2017 05:33:20 +0000
- Subject: [Bug tdep/22576] New: ppc64: gdbarch_skip_trampoline_code fails for relro
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=22576
Bug ID: 22576
Summary: ppc64: gdbarch_skip_trampoline_code fails for relro
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: tdep
Assignee: unassigned at sourceware dot org
Reporter: jan.kratochvil at redhat dot com
Target Milestone: ---
ppc64 ld switched default norelro->relro by:
647e4d46495f2bfb0950fd1066c8a660173cca40 is the first bad commit
commit 647e4d46495f2bfb0950fd1066c8a660173cca40
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Jun 22 05:37:24 2016 -0700
ld: Add a linker configure option --enable-relro
Tested gdb: c5ba17787d077249ab7071192566a2c0205fc97f 2017-12-09
runtest gdb.reverse/solib-pr
ecsave.exp
FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main one
FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function two
FAIL: gdb.reverse/solib-precsave.exp: reverse-step within solib function two
FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main two
FAIL: gdb.reverse/solib-precsave.exp: run until end part two
FAIL: gdb.reverse/solib-precsave.exp: reverse-next over solib function one
(gdb) PASS: gdb.reverse/solib-precsave.exp: reverse-step within solib function
one
reverse-step^M
0x00000000100005d8 in 00000017.plt_call.shr2 ()^M
(gdb) FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main one
Also reproducible as:
PASS:
gcc outputs/gdb.reverse/solib-precsave/shr2.c.o -shared -Wl,-soname,shr2.sl -g
-lm -o outputs/gdb.reverse/solib-precsave/shr2.sl -Wl,-z,norelro
../gdb -batch -data-directory ../data-directory/
outputs/gdb.reverse/solib-precsave/solib-precsave -q -ex 'b 38' -ex r -ex
record -ex n -ex reverse-step -ex reverse-step -ex 'set debug infrun 0' -ex
reverse-step
No more reverse-execution history.
main () at
/home/fedora/jankratochvil/redhat/gdb-git/gdb/testsuite/gdb.reverse/solib-reverse.c:38
38 b[1] = shr2(17); /* middle part two */
FAIL:
gcc outputs/gdb.reverse/solib-precsave/shr2.c.o -shared -Wl,-soname,shr2.sl -g
-lm -o outputs/gdb.reverse/solib-precsave/shr2.sl -Wl,-z,relro
../gdb -batch -data-directory ../data-directory/
outputs/gdb.reverse/solib-precsave/solib-precsave -q -ex 'b 38' -ex r -ex
record -ex n -ex reverse-step -ex reverse-step -ex 'set debug infrun 0' -ex
reverse-step
22 return 2*x;
0x00000000100005d8 in 00000017.plt_call.shr2 ()
It is due to ppc64_skip_trampoline_code_1 does not recognizing PLT from ld -z
relro. This makes gdbarch_skip_trampoline_code to fail (return zero).
--
You are receiving this mail because:
You are on the CC list for the bug.