mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-09 17:43:57 +00:00
[lldb/DWARF] Fix dwp search path in the separate-debug-file case
The convention is that the dwp file name is derived from the name of the file holding the executable code, even if the linked portion of the debug info is elsewhere (objcopy --only-keep-debug).
This commit is contained in:
parent
c008716417
commit
c9c09ef836
@ -3880,7 +3880,7 @@ const std::shared_ptr<SymbolFileDWARFDwo> &SymbolFileDWARF::GetDwpSymbolFile() {
|
||||
ModuleSpec module_spec;
|
||||
module_spec.GetFileSpec() = m_objfile_sp->GetFileSpec();
|
||||
module_spec.GetSymbolFileSpec() =
|
||||
FileSpec(m_objfile_sp->GetFileSpec().GetPath() + ".dwp");
|
||||
FileSpec(m_objfile_sp->GetModule()->GetFileSpec().GetPath() + ".dwp");
|
||||
|
||||
FileSpecList search_paths = Target::GetDefaultDebugFileSearchPaths();
|
||||
FileSpec dwp_filespec =
|
||||
|
@ -126,6 +126,7 @@ add_lldb_test_dependency(
|
||||
lli
|
||||
llvm-config
|
||||
llvm-dwarfdump
|
||||
llvm-dwp
|
||||
llvm-nm
|
||||
llvm-mc
|
||||
llvm-objcopy
|
||||
|
17
lldb/test/Shell/SymbolFile/DWARF/dwp-separate-debug-file.cpp
Normal file
17
lldb/test/Shell/SymbolFile/DWARF/dwp-separate-debug-file.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
// REQUIRES: lld
|
||||
|
||||
// RUN: %clang -target x86_64-pc-linux -gsplit-dwarf -c %s -o %t.o
|
||||
// RUN: ld.lld %t.o -o %t
|
||||
// RUN: llvm-dwp %t.dwo -o %t.dwp
|
||||
// RUN: rm %t.dwo
|
||||
// RUN: llvm-objcopy --only-keep-debug %t %t.debug
|
||||
// RUN: llvm-objcopy --strip-all --add-gnu-debuglink=%t.debug %t
|
||||
// RUN: %lldb %t -o "target variable a" -b | FileCheck %s
|
||||
|
||||
// CHECK: (A) a = (x = 47)
|
||||
|
||||
struct A {
|
||||
int x = 47;
|
||||
};
|
||||
A a;
|
||||
int main() {}
|
@ -149,7 +149,7 @@ def use_support_substitutions(config):
|
||||
config.available_features.add('lld')
|
||||
|
||||
|
||||
support_tools = ['yaml2obj', 'obj2yaml', 'llvm-pdbutil',
|
||||
support_tools = ['yaml2obj', 'obj2yaml', 'llvm-dwp', 'llvm-pdbutil',
|
||||
'llvm-mc', 'llvm-readobj', 'llvm-objdump',
|
||||
'llvm-objcopy', 'lli']
|
||||
additional_tool_dirs += [config.lldb_tools_dir, config.llvm_tools_dir]
|
||||
|
Loading…
Reference in New Issue
Block a user