[lldb-dev] eh_frame or debug_frame
Greg Clayton
gclayton at apple.com
Fri Oct 10 13:20:08 PDT 2014
> 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