> On Oct 10, 2014, at 1:05 PM, Philippe Lavoie <[email protected]>
> 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
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev