Re: [ppc64-linux]: skip linkage functions

Jim Blandy
2003-06-06T22:47:02Z

Daniel Jacobowitz <drow@mvista.com> writes:
> On Fri, Jun 06, 2003 at 03:31:58PM -0500, Jim Blandy wrote:
> > Daniel Jacobowitz <drow@mvista.com> writes:
> > > What blows up if we don't recognize the trampolines though?
> >
> > On the PPC64, 'next' blows up.
>
> Oh, I hit this problem on another platform recently. And I had to do a
> similar hack for trampolines.
>
> It seems that there shold be a simpler solution than trying to parse
> the trampoline...

Well, the only relevant piece of machine state is the PC. From there
you can either look at the code (trampoline parsing), or look at
meta-information associated with the address (DW_AT_trampoline). That
exhausts the possibilities, doesn't it?

A simpler meta-information approach might be to insert some new sort
of symbol (STT_GNU_TRAMPOLINE?) whose value was the start address of
the trampoline, and whose name was the name of the function the
trampoline called. Then in_solib_call_trampoline would just check for
an STT_GNU_TRAMPOLINE symbol, and skip_trampoline_code would return
the value of the STT_FUNC symbol of the same name.