[Lldb-commits] [lldb] r181582 - Scratch that, the problem was elsewhere.

Jason Molenda jmolenda at apple.com
Thu May 9 19:18:51 PDT 2013


Author: jmolenda
Date: Thu May  9 21:18:50 2013
New Revision: 181582

URL: http://llvm.org/viewvc/llvm-project?rev=181582&view=rev
Log:
Scratch that, the problem was elsewhere.

Modified:
    lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp

Modified: lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp?rev=181582&r1=181581&r2=181582&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp Thu May  9 21:18:50 2013
@@ -107,6 +107,16 @@ ReplaceDSYMSectionsWithExecutableSection
                 // and in the dSYM with those from the executable. If we fail to
                 // replace the one in the dSYM, then add the executable section to
                 // the dSYM.
+                SectionSP dsym_sect_sp(dsym_section_list->FindSectionByID(exec_sect_sp->GetID()));
+                if (dsym_sect_sp.get() && dsym_sect_sp->GetName() != exec_sect_sp->GetName())
+                {
+                    // The sections in a dSYM are normally a superset of the sections in an executable.
+                    // If we find a section # in the exectuable & dSYM that don't have the same name,
+                    // something has changed since the dSYM was written.  The mach_kernel DSTROOT binary
+                    // has a CTF segment added, for instance, and it's easiest to simply not add that to
+                    // the dSYM - none of the nlist entries are going to have references to that section.
+                    continue;
+                }
                 if (dsym_section_list->ReplaceSection(exec_sect_sp->GetID(), exec_sect_sp, 0) == false)
                     dsym_section_list->AddSection(exec_sect_sp);
             }





More information about the lldb-commits mailing list