diff options
| author | Tamas Berghammer <tberghammer@google.com> | 2015-07-30 12:38:18 +0000 |
|---|---|---|
| committer | Tamas Berghammer <tberghammer@google.com> | 2015-07-30 12:38:18 +0000 |
| commit | d00438e8f0d6c98e56b01c26147cb3d79df46ccb (patch) | |
| tree | 831fc9a74c6261a4d7f8fb6626d6ec8316a3ba45 /lldb/source/Host/common | |
| parent | 77fb0a3dcf19df35533840e096a26fb7e5e18f9b (diff) | |
| download | bcm5719-llvm-d00438e8f0d6c98e56b01c26147cb3d79df46ccb.tar.gz bcm5719-llvm-d00438e8f0d6c98e56b01c26147cb3d79df46ccb.zip | |
Fix issues with separate symbolfile handling
Differential revision: http://reviews.llvm.org/D11595
llvm-svn: 243637
Diffstat (limited to 'lldb/source/Host/common')
| -rw-r--r-- | lldb/source/Host/common/Symbols.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lldb/source/Host/common/Symbols.cpp b/lldb/source/Host/common/Symbols.cpp index f24423da6f9..76e28449f96 100644 --- a/lldb/source/Host/common/Symbols.cpp +++ b/lldb/source/Host/common/Symbols.cpp @@ -175,7 +175,7 @@ LocateExecutableSymbolFileDsym (const ModuleSpec &module_spec) "LocateExecutableSymbolFileDsym (file = %s, arch = %s, uuid = %p)", exec_fspec ? exec_fspec->GetFilename().AsCString ("<NULL>") : "<NULL>", arch ? arch->GetArchitectureName() : "<NULL>", - (void*)uuid); + (const void*)uuid); FileSpec symbol_fspec; // First try and find the dSYM in the same directory as the executable or in @@ -198,7 +198,7 @@ Symbols::LocateExecutableObjectFile (const ModuleSpec &module_spec) "LocateExecutableObjectFile (file = %s, arch = %s, uuid = %p)", exec_fspec ? exec_fspec->GetFilename().AsCString ("<NULL>") : "<NULL>", arch ? arch->GetArchitectureName() : "<NULL>", - (void*)uuid); + (const void*)uuid); FileSpec objfile_fspec; ModuleSpecList module_specs; @@ -219,7 +219,11 @@ Symbols::LocateExecutableObjectFile (const ModuleSpec &module_spec) FileSpec Symbols::LocateExecutableSymbolFile (const ModuleSpec &module_spec) { - const char *symbol_filename = module_spec.GetSymbolFileSpec().GetFilename().AsCString(); + FileSpec symbol_file_spec = module_spec.GetSymbolFileSpec(); + if (symbol_file_spec.IsAbsolute() && symbol_file_spec.Exists()) + return symbol_file_spec; + + const char *symbol_filename = symbol_file_spec.GetFilename().AsCString(); if (symbol_filename && symbol_filename[0]) { FileSpecList debug_file_search_paths (Target::GetDefaultDebugFileSearchPaths()); |

