diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-10-30 20:42:41 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-10-30 20:42:41 +0000 |
commit | 6b288cfa7a75a5ab9911c19460b3e874da0f14cb (patch) | |
tree | 303f11017316fbd1ab9f552e36526779079ef398 /llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | |
parent | 6a2aaecd66d61e311c2fa6240c76cbaf0ff5218a (diff) | |
download | bcm5719-llvm-6b288cfa7a75a5ab9911c19460b3e874da0f14cb.tar.gz bcm5719-llvm-6b288cfa7a75a5ab9911c19460b3e874da0f14cb.zip |
DebugInfo: Push header handling down into CompileUnit
This is a preliminary step to handling type units by abstracting over
all (type or compile) units.
llvm-svn: 193714
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp index 27ba19a8964..703e2c12d8d 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -22,6 +22,8 @@ #include "llvm/IR/DataLayout.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/Instructions.h" +#include "llvm/MC/MCSection.h" +#include "llvm/MC/MCStreamer.h" #include "llvm/Target/Mangler.h" #include "llvm/Target/TargetFrameLowering.h" #include "llvm/Target/TargetMachine.h" @@ -1900,3 +1902,14 @@ DIE *CompileUnit::getOrCreateStaticMemberDIE(const DIDerivedType DT) { return StaticMemberDIE; } + +void CompileUnit::emitHeader(const MCSection *ASection, + const MCSymbol *ASectionSym) { + Asm->OutStreamer.AddComment("DWARF version number"); + Asm->EmitInt16(DD->getDwarfVersion()); + Asm->OutStreamer.AddComment("Offset Into Abbrev. Section"); + Asm->EmitSectionOffset(Asm->GetTempSymbol(ASection->getLabelBeginName()), + ASectionSym); + Asm->OutStreamer.AddComment("Address Size (in bytes)"); + Asm->EmitInt8(Asm->getDataLayout().getPointerSize()); +} |