[lldb-dev] eh_frame or debug_frame

Greg Clayton gclayton at apple.com
Fri Oct 10 13:20:59 PDT 2014


s/contractor/constructor/


> On Oct 10, 2014, at 1:20 PM, Greg Clayton <gclayton at apple.com> wrote:
> 
> 
>> On Oct 10, 2014, at 1:05 PM, Philippe Lavoie <philippe.lavoie at octasic.com> wrote:
>> 
>> Hi,
>> 
>> I noticed that by default lldb does not read .debug_frame section to unwind frames but relies instead on .eh_frame .
>> 
>> Is there a way to fallback to reading .debug_frame?
> 
> Not currently. Most compilers (gcc _and_ clang) put the same old stuff in .debug_frame as they do in .eh_frame, so we haven't had to use .debug_frame over .eh_frame yet. What compiler are using that is putting different (more complete) info in .debug_frame vs .eh_frame?
> 
>> 
>> I tried getting DWARFCallFrameInfo to read a .debug_frame section, but it fails interpreting the CIE_id field. It assumes that it is a CIE Pointer.
> 
> There is a boolean you have to set to true or false in the contractor:
> 
> 
>    DWARFCallFrameInfo (ObjectFile& objfile, 
>                        lldb::SectionSP& section, 
>                        lldb::RegisterKind reg_kind, 
>                        bool is_eh_frame);
> 
> Set "is_eh_frame" to false if you are using DWARF and the errors below will disappear.
> 
>> error: unable to find CIE at 0x00000014 for cie_id = 0x000000c8 for entry at 0x000000d8.
>> error: unable to find CIE at 0x0000004c for cie_id = 0x000000c8 for entry at 0x00000110.
>> error: unable to find CIE at 0x00000068 for cie_id = 0x000000c8 for entry at 0x0000012c.
>> 
>> Thanks,
>> -Philippe
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 




More information about the lldb-dev mailing list