#include "OutputSections.h"
#include "DWARFLinkerCompileUnit.h"
#include "DWARFLinkerTypeUnit.h"
#include "llvm/ADT/StringSwitch.h"
usingnamespacellvm;
usingnamespacedwarf_linker;
usingnamespacedwarf_linker::parallel;
DebugDieRefPatch::DebugDieRefPatch(uint64_t PatchOffset, CompileUnit *SrcCU,
CompileUnit *RefCU, uint32_t RefIdx)
: … { … }
DebugULEB128DieRefPatch::DebugULEB128DieRefPatch(uint64_t PatchOffset,
CompileUnit *SrcCU,
CompileUnit *RefCU,
uint32_t RefIdx)
: … { … }
DebugDieTypeRefPatch::DebugDieTypeRefPatch(uint64_t PatchOffset,
TypeEntry *RefTypeName)
: … { … }
DebugType2TypeDieRefPatch::DebugType2TypeDieRefPatch(uint64_t PatchOffset,
DIE *Die,
TypeEntry *TypeName,
TypeEntry *RefTypeName)
: … { … }
DebugTypeStrPatch::DebugTypeStrPatch(uint64_t PatchOffset, DIE *Die,
TypeEntry *TypeName, StringEntry *String)
: … { … }
DebugTypeLineStrPatch::DebugTypeLineStrPatch(uint64_t PatchOffset, DIE *Die,
TypeEntry *TypeName,
StringEntry *String)
: … { … }
DebugTypeDeclFilePatch::DebugTypeDeclFilePatch(DIE *Die, TypeEntry *TypeName,
StringEntry *Directory,
StringEntry *FilePath)
: … { … }
void SectionDescriptor::clearAllSectionData() { … }
void SectionDescriptor::clearSectionContent() { … }
void SectionDescriptor::setSizesForSectionCreatedByAsmPrinter() { … }
void SectionDescriptor::emitString(dwarf::Form StringForm,
const char *StringVal) { … }
void SectionDescriptor::emitIntVal(uint64_t Val, unsigned Size) { … }
void SectionDescriptor::emitBinaryData(llvm::StringRef Data) { … }
void SectionDescriptor::apply(uint64_t PatchOffset, dwarf::Form AttrForm,
uint64_t Val) { … }
uint64_t SectionDescriptor::getIntVal(uint64_t PatchOffset, unsigned Size) { … }
void SectionDescriptor::applyIntVal(uint64_t PatchOffset, uint64_t Val,
unsigned Size) { … }
void SectionDescriptor::applyULEB128(uint64_t PatchOffset, uint64_t Val) { … }
void SectionDescriptor::applySLEB128(uint64_t PatchOffset, uint64_t Val) { … }
void OutputSections::applyPatches(
SectionDescriptor &Section,
StringEntryToDwarfStringPoolEntryMap &DebugStrStrings,
StringEntryToDwarfStringPoolEntryMap &DebugLineStrStrings,
TypeUnit *TypeUnitPtr) { … }