LLVM 20.0.0git
|
Manage the .debug_line_str section contents, if we use it. More...
#include "llvm/MC/MCDwarf.h"
Public Member Functions | |
MCDwarfLineStr (MCContext &Ctx) | |
Construct an instance that can emit .debug_line_str (for use in a normal v5 line table). | |
StringSaver & | getSaver () |
void | emitRef (MCStreamer *MCOS, StringRef Path) |
Emit a reference to the string. | |
void | emitSection (MCStreamer *MCOS) |
Emit the .debug_line_str section if appropriate. | |
SmallString< 0 > | getFinalizedData () |
Returns finalized section. | |
size_t | addString (StringRef Path) |
Adds path Path to the line string. | |
|
explicit |
Construct an instance that can emit .debug_line_str (for use in a normal v5 line table).
Definition at line 76 of file MCDwarf.cpp.
References assert(), llvm::MCAsmInfo::doesDwarfUseRelocationsAcrossSections(), llvm::MCContext::getAsmInfo(), llvm::MCSection::getBeginSymbol(), llvm::MCObjectFileInfo::getDwarfLineStrSection(), and llvm::MCContext::getObjectFileInfo().
size_t MCDwarfLineStr::addString | ( | StringRef | Path | ) |
Adds path Path
to the line string.
Returns offset in the .debug_line_str section.
Definition at line 381 of file MCDwarf.cpp.
References llvm::StringTableBuilder::add().
Referenced by emitRef().
void MCDwarfLineStr::emitRef | ( | MCStreamer * | MCOS, |
StringRef | Path | ||
) |
Emit a reference to the string.
Definition at line 385 of file MCDwarf.cpp.
References addString(), llvm::MCStreamer::emitCOFFSecRel32(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitValue(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCContext::getDwarfFormat(), llvm::dwarf::getDwarfOffsetByteSize(), makeStartPlusIntExpr(), llvm::MCAsmInfo::needsDwarfSectionOffsetDirective(), and llvm::Offset.
void MCDwarfLineStr::emitSection | ( | MCStreamer * | MCOS | ) |
Emit the .debug_line_str section if appropriate.
Definition at line 363 of file MCDwarf.cpp.
References llvm::Data, llvm::MCStreamer::emitBinaryData(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfLineStrSection(), getFinalizedData(), llvm::MCContext::getObjectFileInfo(), and llvm::MCStreamer::switchSection().
SmallString< 0 > MCDwarfLineStr::getFinalizedData | ( | ) |
Returns finalized section.
Definition at line 371 of file MCDwarf.cpp.
References llvm::Data, llvm::StringTableBuilder::finalizeInOrder(), llvm::StringTableBuilder::getSize(), llvm::StringTableBuilder::isFinalized(), and llvm::StringTableBuilder::write().
Referenced by emitSection().
|
inline |