[Lldb-commits] [lldb] r124172 - /lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp

Jason Molenda jmolenda at apple.com
Mon Jan 24 19:05:13 PST 2011


Author: jmolenda
Date: Mon Jan 24 21:05:13 2011
New Revision: 124172

URL: http://llvm.org/viewvc/llvm-project?rev=124172&view=rev
Log:
Use new Section::IsEncrypted() method to check if the eh_frame
section is encrypted before trying to read it.  Fixes assert / crash
when trying to unwind an executable w/ encrypted eh_frame sect.


Modified:
    lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp

Modified: lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp?rev=124172&r1=124171&r2=124172&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp (original)
+++ lldb/trunk/source/Symbol/DWARFCallFrameInfo.cpp Mon Jan 24 21:05:13 2011
@@ -67,7 +67,7 @@
 bool
 DWARFCallFrameInfo::GetFDEEntryByAddress (Address addr, FDEEntry& fde_entry)
 {
-    if (m_section.get() == NULL)
+    if (m_section.get() == NULL || m_section->IsEncrypted())
         return false;
     GetFDEIndex();
 
@@ -83,7 +83,7 @@
     {
         --idx;
     }
-    if (idx != m_fde_index.begin() && idx->bounds.GetBaseAddress().GetOffset() != addr.GetOffset())
+    if (idx != m_fde_index.begin() && !idx->bounds.ContainsFileAddress (addr))
     {
        --idx;
     }
@@ -281,7 +281,7 @@
 void
 DWARFCallFrameInfo::GetFDEIndex ()
 {
-    if (m_section.get() == NULL)
+    if (m_section.get() == NULL || m_section->IsEncrypted())
         return;
     if (m_fde_index_initialized)
         return;
@@ -337,7 +337,7 @@
 {
     dw_offset_t current_entry = offset;
 
-    if (m_section.get() == NULL)
+    if (m_section.get() == NULL || m_section->IsEncrypted())
         return false;
 
     if (m_cfi_data_initialized == false)





More information about the lldb-commits mailing list