[Lldb-commits] [lldb] r205750 - Fixed an issue where if you called:

Greg Clayton gclayton at apple.com
Mon Apr 7 16:50:18 PDT 2014


Author: gclayton
Date: Mon Apr  7 18:50:17 2014
New Revision: 205750

URL: http://llvm.org/viewvc/llvm-project?rev=205750&view=rev
Log:
Fixed an issue where if you called:

SBTarget::AddModule(const char *path,
                    const char *triple,
                    const char *uuid_cstr,
                    const char *symfile);
                    
If "symfile" was filled in, it would cause us to not correctly add the module. Same goes for:

SBTarget::AddModule(SBModuleSpec ...)

Where you filled in the symfile.

<rdar://problem/16529799>


Modified:
    lldb/trunk/examples/python/crashlog.py
    lldb/trunk/include/lldb/Core/ModuleSpec.h
    lldb/trunk/source/Target/Target.cpp

Modified: lldb/trunk/examples/python/crashlog.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/python/crashlog.py?rev=205750&r1=205749&r2=205750&view=diff
==============================================================================
--- lldb/trunk/examples/python/crashlog.py (original)
+++ lldb/trunk/examples/python/crashlog.py Mon Apr  7 18:50:17 2014
@@ -177,7 +177,8 @@ class CrashLog(symbolication.Symbolicato
                             if 'DBGDSYMPath' in plist:
                                 self.symfile = os.path.realpath(plist['DBGDSYMPath'])
                             if 'DBGSymbolRichExecutable' in plist:
-                                self.resolved_path = os.path.expanduser (plist['DBGSymbolRichExecutable'])
+                                self.path = os.path.expanduser (plist['DBGSymbolRichExecutable'])
+                                self.resolved_path = self.path
             if not self.resolved_path and os.path.exists(self.path):
                 dwarfdump_cmd_output = commands.getoutput('dwarfdump --uuid "%s"' % self.path)
                 self_uuid = self.get_uuid()

Modified: lldb/trunk/include/lldb/Core/ModuleSpec.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ModuleSpec.h?rev=205750&r1=205749&r2=205750&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ModuleSpec.h (original)
+++ lldb/trunk/include/lldb/Core/ModuleSpec.h Mon Apr  7 18:50:17 2014
@@ -393,7 +393,8 @@ public:
                 return false;
             
         }
-        if (match_module_spec.GetSymbolFileSpecPtr())
+        // Only match the symbol file spec if there is one in this ModuleSpec
+        if (GetSymbolFileSpec() && match_module_spec.GetSymbolFileSpecPtr())
         {
             const FileSpec &fspec = match_module_spec.GetSymbolFileSpec();
             if (!FileSpec::Equal(fspec, GetSymbolFileSpec(), fspec.GetDirectory().IsEmpty() == false))

Modified: lldb/trunk/source/Target/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=205750&r1=205749&r2=205750&view=diff
==============================================================================
--- lldb/trunk/source/Target/Target.cpp (original)
+++ lldb/trunk/source/Target/Target.cpp Mon Apr  7 18:50:17 2014
@@ -1701,6 +1701,8 @@ Target::GetSharedModule (const ModuleSpe
                 else
                     m_images.Append(module_sp);
             }
+            else
+                module_sp.reset();
         }
     }
     if (error_ptr)





More information about the lldb-commits mailing list