[Lldb-commits] [PATCH] dwarf fix for 0-length CIE.
Virgile Bello
virgile.bello at gmail.com
Fri Aug 23 10:08:41 PDT 2013
Had to apply this patch so that DWARF works properly on executables generated by GCC on Windows (for CIE/FDE, data after the length should not be read if length is 0).
I suppose this should also apply on other platforms?
http://llvm-reviews.chandlerc.com/D1487
Files:
source/Symbol/DWARFCallFrameInfo.cpp
Index: source/Symbol/DWARFCallFrameInfo.cpp
===================================================================
--- source/Symbol/DWARFCallFrameInfo.cpp
+++ source/Symbol/DWARFCallFrameInfo.cpp
@@ -341,7 +341,7 @@
dw_offset_t next_entry = current_entry + len + 4;
dw_offset_t cie_id = m_cfi_data.GetU32 (&offset);
- if (cie_id == 0 || cie_id == UINT32_MAX)
+ if (cie_id == 0 || cie_id == UINT32_MAX || len == 0)
{
m_cie_map[current_entry] = ParseCIE (current_entry);
offset = next_entry;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1487.1.patch
Type: text/x-patch
Size: 557 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20130823/f2845b58/attachment.bin>
More information about the lldb-commits
mailing list