[Lldb-commits] [lldb] r224321 - Temporarily disable CompactUnwindInfo::GetCompactUnwindInfoForFunction.

Jason Molenda jmolenda at apple.com
Mon Dec 15 22:20:30 PST 2014


Author: jmolenda
Date: Tue Dec 16 00:20:30 2014
New Revision: 224321

URL: http://llvm.org/viewvc/llvm-project?rev=224321&view=rev
Log:
Temporarily disable CompactUnwindInfo::GetCompactUnwindInfoForFunction.
The compact unwind importer is getting the wrong unwind info for one
case that I found.  I haven't been able to fix the problem tonight 
and I don't want to leave TOT behaving incorrectly, so just ignore
compact unwind until I can get to the bottom of this.

Modified:
    lldb/trunk/source/Symbol/CompactUnwindInfo.cpp
    lldb/trunk/tools/compact-unwind/compact-unwind-dumper.c

Modified: lldb/trunk/source/Symbol/CompactUnwindInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/CompactUnwindInfo.cpp?rev=224321&r1=224320&r2=224321&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/CompactUnwindInfo.cpp (original)
+++ lldb/trunk/source/Symbol/CompactUnwindInfo.cpp Tue Dec 16 00:20:30 2014
@@ -412,6 +412,11 @@ CompactUnwindInfo::GetCompactUnwindInfoF
     if (!IsValid ())
         return false;
 
+    // FIXME looking into a problem with getting the wrong compact unwind entry for
+    // _CFRunLoopRun from CoreFoundation in a live process; disabling the Compact 
+    // Unwind plans until I get to the bottom of what's going on there.
+    return false;
+
     addr_t text_section_file_address = LLDB_INVALID_ADDRESS;
     SectionList *sl = m_objfile.GetSectionList ();
     if (sl)

Modified: lldb/trunk/tools/compact-unwind/compact-unwind-dumper.c
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/compact-unwind/compact-unwind-dumper.c?rev=224321&r1=224320&r2=224321&view=diff
==============================================================================
--- lldb/trunk/tools/compact-unwind/compact-unwind-dumper.c (original)
+++ lldb/trunk/tools/compact-unwind/compact-unwind-dumper.c Tue Dec 16 00:20:30 2014
@@ -158,6 +158,10 @@ scan_macho_load_commands (struct baton *
                 segment_offset = seg.fileoff;
                 segment_vmaddr = seg.vmaddr;
                 offset += sizeof (struct segment_command_64);
+                if ((seg.flags & SG_PROTECTED_VERSION_1) == SG_PROTECTED_VERSION_1)
+                {
+                    printf ("Segment '%s' is encrypted.\n", segment_name);
+                }
             }
 
             if (*lc_cmd == LC_SEGMENT)
@@ -170,6 +174,10 @@ scan_macho_load_commands (struct baton *
                 segment_offset = seg.fileoff;
                 segment_vmaddr = seg.vmaddr;
                 offset += sizeof (struct segment_command);
+                if ((seg.flags & SG_PROTECTED_VERSION_1) == SG_PROTECTED_VERSION_1)
+                {
+                    printf ("Segment '%s' is encrypted.\n", segment_name);
+                }
             }
 
             if (nsects != 0 && strcmp (segment_name, "__TEXT") == 0)





More information about the lldb-commits mailing list