mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[DWARF] Make llvm-dwarfdump display the .debug_loc.dwo section. Fixes PR38991.
Reviewer: dblaikie Differential Revision: https://reviews.llvm.org/D52444 llvm-svn: 344068
This commit is contained in:
parent
f1f598dab2
commit
9d2a915748
@ -692,11 +692,10 @@ const DWARFDebugLocDWO *DWARFContext::getDebugLocDWO() {
|
||||
|
||||
LocDWO.reset(new DWARFDebugLocDWO());
|
||||
// Assume all compile units have the same address byte size.
|
||||
if (getNumCompileUnits()) {
|
||||
DataExtractor LocData(DObj->getLocDWOSection().Data, isLittleEndian(),
|
||||
getUnitAtIndex(0)->getAddressByteSize());
|
||||
LocDWO->parse(LocData);
|
||||
}
|
||||
// FIXME: We don't need AddressSize for split DWARF since relocatable
|
||||
// addresses cannot appear there. At the moment DWARFExpression requires it.
|
||||
DataExtractor LocData(DObj->getLocDWOSection().Data, isLittleEndian(), 4);
|
||||
LocDWO->parse(LocData);
|
||||
return LocDWO.get();
|
||||
}
|
||||
|
||||
|
20
test/tools/llvm-dwarfdump/X86/debug_loc_dwo.s
Normal file
20
test/tools/llvm-dwarfdump/X86/debug_loc_dwo.s
Normal file
@ -0,0 +1,20 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t.o
|
||||
# RUN: llvm-dwarfdump --debug-loc %t.o | FileCheck %s
|
||||
|
||||
# We make sure that llvm-dwarfdump can dump the .debug_loc.dwo section
|
||||
# without requiring a compilation unit in the .debug_info.dwo section.
|
||||
|
||||
# CHECK: .debug_loc.dwo contents:
|
||||
# CHECK-NEXT: 0x00000000:
|
||||
# CHECK-NEXT: Addr idx 1 (w/ length 16): DW_OP_reg5 RDI
|
||||
|
||||
.section .debug_loc.dwo,"",@progbits
|
||||
# One location list. The pre-DWARF v5 implementation only recognizes
|
||||
# DW_LLE_startx_length as an entry kind in .debug_loc.dwo (besides
|
||||
# end_of_list), which is what llvm generates as well.
|
||||
.byte 3 # DW_LLE_startx_length
|
||||
.byte 0x01 # Index
|
||||
.long 0x10 # Length
|
||||
.short 1 # Loc expr size
|
||||
.byte 85 # DW_OP_reg5
|
||||
.byte 0 # DW_LLE_end_of_list
|
Loading…
Reference in New Issue
Block a user