LLVM
8.0.1
|
Manage the .debug_line_str section contents, if we use it. More...
Public Member Functions | |
MCDwarfLineStr (MCContext &Ctx) | |
Construct an instance that can emit .debug_line_str (for use in a normal v5 line table). More... | |
void | emitRef (MCStreamer *MCOS, StringRef Path) |
Emit a reference to the string. More... | |
void | emitSection (MCStreamer *MCOS) |
Emit the .debug_line_str section if appropriate. More... | |
Manage the .debug_line_str section contents, if we use it.
Definition at line 50 of file MCDwarf.cpp.
|
inlineexplicit |
Construct an instance that can emit .debug_line_str (for use in a normal v5 line table).
Definition at line 58 of file MCDwarf.cpp.
References llvm::MCAsmInfo::doesDwarfUseRelocationsAcrossSections(), emitRef(), emitSection(), llvm::MCContext::getAsmInfo(), llvm::MCSection::getBeginSymbol(), llvm::MCObjectFileInfo::getDwarfLineStrSection(), and llvm::MCContext::getObjectFileInfo().
Referenced by llvm::MCDwarfLineTable::Emit().
void MCDwarfLineStr::emitRef | ( | MCStreamer * | MCOS, |
StringRef | Path | ||
) |
Emit a reference to the string.
Definition at line 323 of file MCDwarf.cpp.
References llvm::StringTableBuilder::add(), assert(), llvm::MCStreamer::EmitBytes(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitULEB128IntValue(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), makeStartPlusIntExpr(), and Name.
Referenced by emitOneV5FileEntry(), and MCDwarfLineStr().
void MCDwarfLineStr::emitSection | ( | MCStreamer * | MCOS | ) |
Emit the .debug_line_str section if appropriate.
Definition at line 311 of file MCDwarf.cpp.
References llvm::Data, llvm::SmallVectorTemplateCommon< T >::data(), llvm::MCStreamer::EmitBinaryData(), llvm::StringTableBuilder::finalizeInOrder(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfLineStrSection(), llvm::MCContext::getObjectFileInfo(), llvm::StringTableBuilder::getSize(), llvm::SmallVectorImpl< char >::resize(), llvm::SmallString< InternalLen >::str(), llvm::MCStreamer::SwitchSection(), and llvm::StringTableBuilder::write().
Referenced by llvm::MCDwarfLineTable::Emit(), and MCDwarfLineStr().