frame->unwind->this_base()

Andrew Cagney ac131313@redhat.com
Tue Mar 18 20:22:00 GMT 2003


> On Tue, Mar 18, 2003 at 12:28:47PM -0500, Andrew Cagney wrote:
> 
>> >That would be a very bad assumption.  They are pratically guarenteed to 
> 
>> >>be different.
> 
>> >
>> >
>> >Then what do you mean by a "dwarf2 frame"?  I'd assume you meant the
>> >CFA, but it sounds like you mean a frame for which we have dwarf2
>> >.debug_info.
> 
>> 
>> A frame with debug info provided by dwarf2.  CFI gives the register 
>> info, location expressions give the variable info, ...
>> 
>> What started out as a simple cfi-frame looks like it might need to 
>> evolve into dwarf2-frame ...
> 
> 
> DWARF-2 debug info does not corelate with CFI info.  For instance, GCC
> will generate DWARF-2 CFI with stabs debug info.  It will also generate
> CFI with no debug info at all, or DWARF-2 info without any CFI (if
> requested).

True dwarf2 debug info or that .eh_frame stuff (i'm curious)?

For stabs to work, it needs FRAME_LOCALS_ADDRESS(); and 
FRAME_LOCALS_ADDRESS() relies on the prologue analyzer (since frame ID 
won't correspond to `frame-base') for the computation of the correct 
value; and that means unwinding the same frame two ways.  Outch.

Andrew




More information about the Gdb mailing list