summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/macosx/Symbols.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2012-10-02 22:23:42 +0000
committerJason Molenda <jmolenda@apple.com>2012-10-02 22:23:42 +0000
commit743e439608b8f52c90bac29c6967602bac7f1142 (patch)
treef7f1715738c756def8dcaf0ef85affd6b440c793 /lldb/source/Host/macosx/Symbols.cpp
parentc8e25d98c00e62ac55f88516f34d504554e68cde (diff)
downloadbcm5719-llvm-743e439608b8f52c90bac29c6967602bac7f1142.tar.gz
bcm5719-llvm-743e439608b8f52c90bac29c6967602bac7f1142.zip
Change DynamicLoaderDarwinKernel::OSKextLoadedKextSummary to use
the Symbols::LocateExecutableObjectFile method to locate kexts and kernels instead of copying them out of the memory of the remote system. This is the fix for <rdar://problem/12416384>. Fix a variable shadowing problem in Symbols::LocateMacOSXFilesUsingDebugSymbols which caused the symbol rich executable binaries to not be found even if they were listed in the dSYM Info.plist. Change Symbols::DownloadObjectAndSymbolFile to ignore dsymForUUID's negative cache - this is typically being called by the user and we should try even if there's a incorrect entry in the negative cache. llvm-svn: 165061
Diffstat (limited to 'lldb/source/Host/macosx/Symbols.cpp')
-rw-r--r--lldb/source/Host/macosx/Symbols.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/Host/macosx/Symbols.cpp b/lldb/source/Host/macosx/Symbols.cpp
index a66ecc1f362..1eb82d11de1 100644
--- a/lldb/source/Host/macosx/Symbols.cpp
+++ b/lldb/source/Host/macosx/Symbols.cpp
@@ -378,7 +378,7 @@ LocateMacOSXFilesUsingDebugSymbols
char uuid_cstr_buf[64];
const char *uuid_cstr = uuid->GetAsCString (uuid_cstr_buf, sizeof(uuid_cstr_buf));
CFCString uuid_cfstr (uuid_cstr);
- CFDictionaryRef uuid_dict = static_cast<CFDictionaryRef>(::CFDictionaryGetValue (dict.get(), uuid_cfstr.get()));
+ uuid_dict = static_cast<CFDictionaryRef>(::CFDictionaryGetValue (dict.get(), uuid_cfstr.get()));
if (uuid_dict)
{
@@ -693,9 +693,9 @@ Symbols::DownloadObjectAndSymbolFile (ModuleSpec &module_spec)
StreamString command;
if (uuid_cstr)
- command.Printf("%s --copyExecutable %s", g_dsym_for_uuid_exe_path, uuid_cstr);
+ command.Printf("%s --ignoreNegativeCache --copyExecutable %s", g_dsym_for_uuid_exe_path, uuid_cstr);
else if (file_path && file_path[0])
- command.Printf("%s --copyExecutable %s", g_dsym_for_uuid_exe_path, file_path);
+ command.Printf("%s --ignoreNegativeCache --copyExecutable %s", g_dsym_for_uuid_exe_path, file_path);
if (!command.GetString().empty())
{
OpenPOWER on IntegriCloud