diff options
author | Devang Patel <dpatel@apple.com> | 2011-02-24 21:04:00 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-02-24 21:04:00 +0000 |
commit | b037383a35660151cc2a8814c0854a6b65039925 (patch) | |
tree | 917246738524d5a8dd6edd4b8705bab59b2b11e2 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
parent | 502f1b943f54728efdae52362b4b1a46dba57d7b (diff) | |
download | bcm5719-llvm-b037383a35660151cc2a8814c0854a6b65039925.tar.gz bcm5719-llvm-b037383a35660151cc2a8814c0854a6b65039925.zip |
Enable DebugInfo support for COFF object files.
Patch by Nathan Jeffords!
llvm-svn: 126425
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 780fa405ef5..9678078e76e 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -481,6 +481,15 @@ void DwarfDebug::addLabel(DIE *Die, unsigned Attribute, unsigned Form, Die->addValue(Attribute, Form, Value); } +/// addSectionOffset - Add a Dwarf section relative label attribute data and +/// value. +/// +void DwarfDebug::addSectionOffset(DIE *Die, unsigned Attribute, unsigned Form, + const MCSymbol *Label) { + DIEValue *Value = new (DIEValueAllocator) DIESectionOffset(Label); + Die->addValue(Attribute, Form, Value); +} + /// addDelta - Add a label delta attribute data and value. /// void DwarfDebug::addDelta(DIE *Die, unsigned Attribute, unsigned Form, @@ -1904,8 +1913,8 @@ void DwarfDebug::constructCompileUnit(const MDNode *N) { // DW_AT_stmt_list is a offset of line number information for this // compile unit in debug_line section. if (Asm->MAI->doesDwarfUsesAbsoluteLabelForStmtList()) - addLabel(Die, dwarf::DW_AT_stmt_list, dwarf::DW_FORM_addr, - Asm->GetTempSymbol("section_line")); + addSectionOffset(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); |