Fix FDE indexing while scan debug_info section. There are some differences between eh_frame and debug_frame formats that are not considered by DWARFCallFrameInfo::GetFDEIndex. An FDE entry contains CIE_pointer in debug_frame in same place as cie_id in eh_frame. As described in dwarf standard<http://www.dwarfstd.org/doc/dwarf-2.0.0.pdf> (section 6.4.1), CIE_pointer is an "offset into the .debug_frame section". So, variable cie_offset should be equal cie_id for debug_frame. FDE entries with zeroth CIE pointer (which is actually placed in cie_id variable) shouldn't be ignored also.
I had same issue as described here http://lists.llvm.org/pipermail/lldb-dev/2014-October/005520.html , and these changes have fixed it for me (with "m_is_eh_frame" set to false, of course). Tatyana Krasnukha Software Engineer, Sr. I, Solutions Group, Synopsys Inc. w +7.812.408.7463 | m +7 981 757-4491 | taty...@synopsys.com<mailto:taty...@synopsys.com>
DWARFCallFrameInfo.cpp.patch
Description: DWARFCallFrameInfo.cpp.patch
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits