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: Notes on a frame_unwind_address_in_block problem


On Fri, Aug 18, 2006 at 05:07:47PM +0200, Andreas Jaeger wrote:
> Daniel Jacobowitz <drow@false.org> writes:
> 
> > [...]
> > Good enough for me.  Andreas, in that case, is the patch in
> > http://sourceware.org/ml/gdb/2006-07/msg00131.html OK?
> 
> Why are you using your own cf macros?  We have e.g. CFI_STARTPROC (see
> sysdeps/generic/sysdep.h) and those should be used,

I wrote earlier:

> But, FYI, you can't actually write the unwind tables for these using
> .cfi_* directives.  I tried.  I'd need at least three new directives
> to do it sanely (for uleb128 escapes, sleb128 escapes, and adding the
> "S" augmentation).  So I did it by hand, basically copied from the
> i386 vDSO, but simpler since we don't need any pushes or pops.

Even if I assume a brand new binutils which supports the "S"
augmentation, I would still need to hand-expand uleb128 and sleb128.
I thought there was another reason beyond that one too, but now I
can't remember it.  I could try again (I did this but didn't save the
patch).  But I really don't like having to assume the "S" support
is present and generating bogus unwind info if it isn't.

I suppose I could simply omit the unwind info if it isn't.  Want
me to try that?

-- 
Daniel Jacobowitz
CodeSourcery


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