It looks ok to me. Please put the differences of .eh_frame and
.debug_frame that you described below in code comments too.?

Thanks,
Abid


________________________________
From: lldb-commits <lldb-commits-boun...@lists.llvm.org> on behalf of Tatyana 
Krasnukha via lldb-commits <lldb-commits@lists.llvm.org>
Sent: Thursday, May 18, 2017 9:37 PM
To: lldb-commits@lists.llvm.org
Subject: [Lldb-commits] Patch for fixing FDE indexing when scan debug_info 
section

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>

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to