mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.
This patch was developed on top of original patch by Artur Pietrek. llvm-svn: 112678
This commit is contained in:
parent
a36b4eee9f
commit
9e8ee9242f
@ -255,6 +255,10 @@ namespace llvm {
|
||||
/// DwarfSectionOffsetDirective - Special section offset directive.
|
||||
const char* DwarfSectionOffsetDirective; // Defaults to NULL
|
||||
|
||||
/// DwarfUsesAbsoluteLabelForStmtList - True if DW_AT_stmt_list needs
|
||||
/// absolute label instead of offset.
|
||||
bool DwarfUsesAbsoluteLabelForStmtList; // Defaults to true;
|
||||
|
||||
//===--- CBE Asm Translation Table -----------------------------------===//
|
||||
|
||||
const char *const *AsmTransCBE; // Defaults to empty
|
||||
@ -417,6 +421,9 @@ namespace llvm {
|
||||
const char *getDwarfSectionOffsetDirective() const {
|
||||
return DwarfSectionOffsetDirective;
|
||||
}
|
||||
bool doesDwarfUsesAbsoluteLabelForStmtList() const {
|
||||
return DwarfUsesAbsoluteLabelForStmtList;
|
||||
}
|
||||
const char *const *getAsmCBE() const {
|
||||
return AsmTransCBE;
|
||||
}
|
||||
|
@ -1815,7 +1815,11 @@ void DwarfDebug::constructCompileUnit(const MDNode *N) {
|
||||
addUInt(Die, dwarf::DW_AT_entry_pc, dwarf::DW_FORM_addr, 0);
|
||||
// DW_AT_stmt_list is a offset of line number information for this
|
||||
// compile unit in debug_line section.
|
||||
addUInt(Die, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_data4, 0);
|
||||
if (Asm->MAI->doesDwarfUsesAbsoluteLabelForStmtList())
|
||||
addLabel(Die, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_addr,
|
||||
Asm->GetTempSymbol("section_line"));
|
||||
else
|
||||
addUInt(Die, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_data4, 0);
|
||||
|
||||
if (!Dir.empty())
|
||||
addString(Die, dwarf::DW_AT_comp_dir, dwarf::DW_FORM_string, Dir);
|
||||
|
@ -68,6 +68,7 @@ MCAsmInfo::MCAsmInfo() {
|
||||
ExceptionsType = ExceptionHandling::None;
|
||||
DwarfRequiresFrameSection = true;
|
||||
DwarfUsesInlineInfoSection = false;
|
||||
DwarfUsesAbsoluteLabelForStmtList = true;
|
||||
DwarfSectionOffsetDirective = 0;
|
||||
HasMicrosoftFastStdCallMangling = false;
|
||||
|
||||
|
@ -44,5 +44,7 @@ MCAsmInfoDarwin::MCAsmInfoDarwin() {
|
||||
|
||||
HasDotTypeDotSizeDirective = false;
|
||||
HasNoDeadStrip = true;
|
||||
|
||||
DwarfUsesAbsoluteLabelForStmtList = false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user