This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ARM signal trampolines

On Mon, Jan 18, 2010 at 04:27:23PM -0600, Matt Fischer wrote:
> > None of this code is for the vector area trampolines which are brand
> > new. ?Just a few months old, I believe. ?It is for the SA_RESTORER
> > functions in glibc.
> I guess I'm confused--the code I'm looking at appears to have been in
> the kernel since about 2.6.13--it's the vector of return codes called
> sigreturn_codes[] in arch/arm/kernel/signal.c, which gets copied to
> the vector page by trap_init() in arch/arm/kernel/traps.c.  Is there
> some other change which has been made to this mechanism in more recent
> kernels?

I may be confused.  I thought it previously copied code to the stack,
and only recently started putting it on the vector page.

> Given what you've said, the easiest thing to do for my purposes is
> probably just to patch Bionic to use SA_RESTORER.  Then I can just
> ensure the trampoline is constructed to match what's already in there
> for glibc, and things should all work out.  I don't know if I could
> get it accepted upstream or not, but it should at least allow my local
> testing to work out.

Yes, that will be easy and should work.

> Long term, though, it would certainly be nice if gdb could see the
> vector page--I've run into a couple situations where I've needed to
> see what was in there, and gdb wasn't able to help.  It seems like the
> kernel patch to do this wouldn't be overly complicated--is there some
> reason that this isn't a desirable feature, or is it just that
> nobody's had a pressing enough need for it so far?

I think it's just not been needed.

Daniel Jacobowitz

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]