This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] PowerPC 32 with Secure PLT
On 01/24/2012 04:37 PM, Ryan Arnold wrote:
On Tue, 2012-01-24 at 15:49 -0800, Michael Eager wrote:
On 01/17/2012 07:04 PM, Michael Eager wrote:
This patch adds support for stepping into/over the PLT stubs generated
for secure PLT on PowerPC 32. It requires a recent binutils which
generates symbols for the stubs.
This has been tested on PowerPC 32-bit systems with and without PAX.
2012-01-17 Michael Eager<eager@eagercon.com>
* configure.tgt (powerpc-*-linux*): Add glibc-tdep.o.
* ppc-linux-tdep.c: Include glibc-tdep.h.
(powerpc32_plt_stub, powerpc32_plt_stub_so): Add PLT stub templates.
(powerpc_linux_in_plt_stub): New function.
(powerpc_linux_in_dynsym_resolve_code): New function.
(ppc_skip_trampoline_code): New function.
(ppc_linux_init_abi): Use PPC specific functions rather than generic.
Use glibc_skip_solib_resolver.
Will check in in a couple days, unless I hear additional comments.
I'm not familiar with the GDB code at all so I couldn't tell from the
patch whether it addresses my concern.
Prior to resolving the PLT entries will this trap in the loader's
resolver code or does it 'continue' until the PLT entry is populated and
the target symbol address has been branched to?
It works in two phases: first steps over the stub to where ever it points
(which may be the target function), then it skips over the resolver code
if it still hasn't reached the function.
It's fine with me if it skips the PLT stubs and the resolver trampoline
code but being able to step into the resolver code is still useful to me
as a GLIBC developer.
Most users don't want to see gdb stepping through symbol resolution
on the way to their library function.
I didn't run tests with a glibc which had debug symbols, but I think
that it will skip over the resolver if you say step. If you want to
stop at _dl_resolve, you will need to put a breakpoint at that location.
Naturally, if you do stepi, you see each instruction executed.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077