diff options
author | Jason Molenda <jmolenda@apple.com> | 2012-10-02 22:23:42 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2012-10-02 22:23:42 +0000 |
commit | 743e439608b8f52c90bac29c6967602bac7f1142 (patch) | |
tree | f7f1715738c756def8dcaf0ef85affd6b440c793 /lldb/source/Host/macosx/Symbols.cpp | |
parent | c8e25d98c00e62ac55f88516f34d504554e68cde (diff) | |
download | bcm5719-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.cpp | 6 |
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()) { |