mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified."
This reverts commit 6ef01588f4d75ef43da4ed2a37ba7a8b8daab259. Missing Differetial revision.
This commit is contained in:
parent
5eb810ab72
commit
b6ee09cff1
@ -856,13 +856,10 @@ void DwarfDebug::finishUnitAttributes(const DICompileUnit *DIUnit,
|
|||||||
// This CU is either a clang module DWO or a skeleton CU.
|
// This CU is either a clang module DWO or a skeleton CU.
|
||||||
NewCU.addUInt(Die, dwarf::DW_AT_GNU_dwo_id, dwarf::DW_FORM_data8,
|
NewCU.addUInt(Die, dwarf::DW_AT_GNU_dwo_id, dwarf::DW_FORM_data8,
|
||||||
DIUnit->getDWOId());
|
DIUnit->getDWOId());
|
||||||
if (!DIUnit->getSplitDebugFilename().empty()) {
|
if (!DIUnit->getSplitDebugFilename().empty())
|
||||||
// This is a prefabricated skeleton CU.
|
// This is a prefabricated skeleton CU.
|
||||||
dwarf::Attribute attrDWOName = getDwarfVersion() >= 5
|
NewCU.addString(Die, dwarf::DW_AT_GNU_dwo_name,
|
||||||
? dwarf::DW_AT_dwo_name
|
DIUnit->getSplitDebugFilename());
|
||||||
: dwarf::DW_AT_GNU_dwo_name;
|
|
||||||
NewCU.addString(Die, attrDWOName, DIUnit->getSplitDebugFilename());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Create new DwarfCompileUnit for the given metadata node with tag
|
// Create new DwarfCompileUnit for the given metadata node with tag
|
||||||
@ -1104,13 +1101,10 @@ void DwarfDebug::finalizeModuleInfo() {
|
|||||||
bool HasSplitUnit = SkCU && !TheCU.getUnitDie().children().empty();
|
bool HasSplitUnit = SkCU && !TheCU.getUnitDie().children().empty();
|
||||||
|
|
||||||
if (HasSplitUnit) {
|
if (HasSplitUnit) {
|
||||||
dwarf::Attribute attrDWOName = getDwarfVersion() >= 5
|
|
||||||
? dwarf::DW_AT_dwo_name
|
|
||||||
: dwarf::DW_AT_GNU_dwo_name;
|
|
||||||
finishUnitAttributes(TheCU.getCUNode(), TheCU);
|
finishUnitAttributes(TheCU.getCUNode(), TheCU);
|
||||||
TheCU.addString(TheCU.getUnitDie(), attrDWOName,
|
TheCU.addString(TheCU.getUnitDie(), dwarf::DW_AT_GNU_dwo_name,
|
||||||
Asm->TM.Options.MCOptions.SplitDwarfFile);
|
Asm->TM.Options.MCOptions.SplitDwarfFile);
|
||||||
SkCU->addString(SkCU->getUnitDie(), attrDWOName,
|
SkCU->addString(SkCU->getUnitDie(), dwarf::DW_AT_GNU_dwo_name,
|
||||||
Asm->TM.Options.MCOptions.SplitDwarfFile);
|
Asm->TM.Options.MCOptions.SplitDwarfFile);
|
||||||
// Emit a unique identifier for this CU.
|
// Emit a unique identifier for this CU.
|
||||||
uint64_t ID =
|
uint64_t ID =
|
||||||
|
@ -554,9 +554,7 @@ bool DWARFUnit::parseDWO() {
|
|||||||
DWARFDie UnitDie = getUnitDIE();
|
DWARFDie UnitDie = getUnitDIE();
|
||||||
if (!UnitDie)
|
if (!UnitDie)
|
||||||
return false;
|
return false;
|
||||||
auto DWOFileName = getVersion() >= 5
|
auto DWOFileName = dwarf::toString(UnitDie.find(DW_AT_GNU_dwo_name));
|
||||||
? dwarf::toString(UnitDie.find(DW_AT_dwo_name))
|
|
||||||
: dwarf::toString(UnitDie.find(DW_AT_GNU_dwo_name));
|
|
||||||
if (!DWOFileName)
|
if (!DWOFileName)
|
||||||
return false;
|
return false;
|
||||||
auto CompilationDir = dwarf::toString(UnitDie.find(DW_AT_comp_dir));
|
auto CompilationDir = dwarf::toString(UnitDie.find(DW_AT_comp_dir));
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
; DWARF5-NOT: Compile Unit
|
; DWARF5-NOT: Compile Unit
|
||||||
; DWARF5: DW_TAG_skeleton_unit
|
; DWARF5: DW_TAG_skeleton_unit
|
||||||
; DWARF5-NOT: DW_TAG_{{.*}}
|
; DWARF5-NOT: DW_TAG_{{.*}}
|
||||||
; DWARF5: DW_AT_dwo_name{{.*}}test.dwo
|
; DWARF5: DW_AT_GNU_dwo_name{{.*}}test.dwo
|
||||||
; DWARF5: DW_AT_addr_base{{.*}}0x00000008
|
; DWARF5: DW_AT_addr_base{{.*}}0x00000008
|
||||||
; DWARF5: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000000) address = 0x0000000000000000 ".text")
|
; DWARF5: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000000) address = 0x0000000000000000 ".text")
|
||||||
; DWARF5: .debug_addr contents:
|
; DWARF5: .debug_addr contents:
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
; SPLIT-NOT: {{DW_TAG|contents:}}
|
; SPLIT-NOT: {{DW_TAG|contents:}}
|
||||||
; SPLIT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000008)
|
; SPLIT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000008)
|
||||||
; SPLIT: DW_AT_comp_dir [DW_FORM_strx1] (indexed (00000000) string = "/home/test")
|
; SPLIT: DW_AT_comp_dir [DW_FORM_strx1] (indexed (00000000) string = "/home/test")
|
||||||
; SPLIT: DW_AT_dwo_name [DW_FORM_strx1] (indexed (00000001) string = "foo.dwo")
|
; SPLIT: DW_AT_GNU_dwo_name [DW_FORM_strx1] (indexed (00000001) string = "foo.dwo")
|
||||||
|
|
||||||
; Check for the split CU in .debug_info.dwo.
|
; Check for the split CU in .debug_info.dwo.
|
||||||
; SPLIT: .debug_info.dwo contents:
|
; SPLIT: .debug_info.dwo contents:
|
||||||
|
Loading…
Reference in New Issue
Block a user