This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH][SH] CFI directives patch


Hi!

On Thu, 24 May 2012 10:42:50 -0700, Richard Henderson <rth@twiddle.net> wrote:
> On 05/23/2012 04:57 AM, Chung-Lin Tang wrote:
> > With a stack adjustment in the call delay slot, the unwinder will be
> > 4-bytes off the correct adjustment when crossing that frame; this
> > probably is an issue of how program counters map to FDEs (<  vs<=).
> >
> > CCing Richard Henderson here, who's probably the one to answer this.
> > Richard, I remember seeing related discussion in the archives on this
> > issue, as well as comments in the current GCC dwarf2cfi.c:scan_trace()
> > code, can you confirm?
> 
> FWIW, pushing the unwind data from the delay slot to before the call
> is exactly what gcc itself does.

Hmm, OK.  I'll look that up in the GCC code.

The intention with that is to make unwinding through such a call work
while swallowing the pill that the CFI information (and thus unwinding)
at the call site itself (before the call is done) is incorrect then?

And I still wonder why my example that I posted did work...

> Though, really, we try very hard to
> *not* place unwind-related insn in delay slots.


GrÃÃe,
 Thomas

Attachment: pgp00000.pgp
Description: PGP signature


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