This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] PowerPC 32 with Secure PLT
- From: Ryan Arnold <rsa at us dot ibm dot com>
- To: Michael Eager <eager at eagerm dot com>
- Cc: gdb-patches at sourceware dot org, Mark Kettenis <mark dot kettenis at xs4all dot nl>, "Joseph S. Myers" <joseph at codesourcery dot com>, Pedro Alves <palves at redhat dot com>
- Date: Tue, 24 Jan 2012 18:37:26 -0600
- Subject: Re: [PATCH] PowerPC 32 with Secure PLT
- References: <4F1636C7.4020207@eagercon.com> <4F1F4382.4010103@eagerm.com>
- Reply-to: rsa at us dot ibm dot com
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'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.
Ryan S. Arnold
IBM Linux Technology Center
Linux Toolchain Development