LLVM: llvm::MCObjectWriter Class Reference (original ) (raw )Defines the object file and target independent interfaces used by the assembler backend to write native file format object files. More...
#include "[llvm/MC/MCObjectWriter.h](MCObjectWriter%5F8h%5Fsource.html)"
Public Member Functions
MCObjectWriter (const MCObjectWriter &)=delete
MCObjectWriter &
operator= (const MCObjectWriter &)=delete
virtual
~MCObjectWriter ()
virtual void
setAssembler (MCAssembler *A )
MCContext &
getContext () const
virtual void
reset ()
lifetime management
High-Level API
virtual void
executePostLayoutBinding ()
Perform any late binding of symbols (for example, to assign symbol indices for use when generating relocations).
virtual void
recordRelocation (const MCFragment &F , const MCFixup &Fixup , MCValue Target , uint64_t &FixedValue)
Record a relocation entry.
bool
isSymbolRefDifferenceFullyResolved (const MCSymbol &A , const MCSymbol &B , bool InSet) const
Check whether the difference (A - B) between two symbol references is fully resolved.
virtual bool
isSymbolRefDifferenceFullyResolvedImpl (const MCSymbol &SymA, const MCFragment &FB, bool InSet, bool IsPCRel) const
MutableArrayRef < std::pair< std::string, size_t > >
getFileNames ()
void
addFileName (StringRef FileName)
void
setCompilerVersion (StringRef CompilerVers)
void
emitAddrsigSection ()
Tell the object writer to emit an address-significance table during writeObject() .
bool
getEmitAddrsigSection ()
void
addAddrsigSymbol (const MCSymbol *Sym)
Record the given symbol in the address-significance table to be written diring writeObject() .
std::vector< const MCSymbol * > &
getAddrsigSyms ()
SmallVector < CGProfileEntry , 0 > &
getCGProfile ()
bool
getSubsectionsViaSymbols () const
void
setSubsectionsViaSymbols (bool Value )
virtual uint64_t
writeObject ()=0
Write the object file and returns the number of bytes written.
Protected Member Functions
Defines the object file and target independent interfaces used by the assembler backend to write native file format object files.
The object writer contains a few callbacks used by the assembler to allow the object writer to modify the assembler data structures at appropriate points. Once assembly is complete, the object writer is given the MCAssembler instance, which contains all the symbol and section data which should be emitted as part of writeObject() .
Definition at line 34 of file MCObjectWriter.h .
llvm::MCObjectWriter::MCObjectWriter ( )
protecteddefault
Referenced by MCObjectWriter() , and operator=() .
◆ MCObjectWriter() [2/2]References MCObjectWriter() .
◆ ~MCObjectWriter()
MCObjectWriter::~MCObjectWriter ( )
virtualdefault
◆ addAddrsigSymbol()
void llvm::MCObjectWriter::addAddrsigSymbol ( const MCSymbol * Sym )
inline
◆ addFileName()
void MCObjectWriter::addFileName
(
StringRef
FileName
)
◆ emitAddrsigSection()
void llvm::MCObjectWriter::emitAddrsigSection ( )
inline
◆ executePostLayoutBinding()
virtual void llvm::MCObjectWriter::executePostLayoutBinding ( )
inlinevirtual
◆ getAddrsigSyms()
std::vector< const MCSymbol * > & llvm::MCObjectWriter::getAddrsigSyms ( )
inline
◆ getCGProfile()◆ getContext()
MCContext & MCObjectWriter::getContext
(
)
const
◆ getEmitAddrsigSection()
bool llvm::MCObjectWriter::getEmitAddrsigSection ( )
inline
◆ getFileNames()
MutableArrayRef < std::pair< std::string, size_t > > llvm::MCObjectWriter::getFileNames ( )
inline
◆ getSubsectionsViaSymbols()
bool llvm::MCObjectWriter::getSubsectionsViaSymbols ( ) const
inline
◆ isSymbolRefDifferenceFullyResolved()◆ isSymbolRefDifferenceFullyResolvedImpl()◆ operator=()References MCObjectWriter() .
◆ recordRelocation()◆ reset()
void MCObjectWriter::reset ( )
virtual
◆ setAssembler()
virtual void llvm::MCObjectWriter::setAssembler ( MCAssembler * A )
inlinevirtual
◆ setCompilerVersion()
void llvm::MCObjectWriter::setCompilerVersion ( StringRef CompilerVers )
inline
◆ setSubsectionsViaSymbols()
void llvm::MCObjectWriter::setSubsectionsViaSymbols ( bool Value )
inline
◆ writeObject()
virtual uint64_t llvm::MCObjectWriter::writeObject ( )
pure virtual
◆ AddrsigSyms◆ AsmDefinition at line 36 of file MCObjectWriter.h .
Referenced by addFileName() , llvm::MachObjectWriter::bindIndirectSymbols() , llvm::MachObjectWriter::computeSectionAddresses() , llvm::MachObjectWriter::computeSymbolTable() , llvm::ELFObjectWriter::executePostLayoutBinding() , llvm::MachObjectWriter::executePostLayoutBinding() , getContext() , llvm::MachObjectWriter::getFragmentAddress() , llvm::MachObjectWriter::getPaddingSize() , llvm::MachObjectWriter::getSymbolAddress() , llvm::MachObjectWriter::populateAddrSigSection() , llvm::ELFObjectWriter::recordRelocation() , llvm::MachObjectWriter::recordRelocation() , llvm::ELFObjectWriter::setAssembler() , llvm::MachObjectWriter::setAssembler() , setAssembler() , llvm::WinCOFFObjectWriter::setAssembler() , llvm::WinCOFFObjectWriter::WinCOFFWriter , llvm::MachObjectWriter::writeNlist() , llvm::DXContainerObjectWriter::writeObject() , llvm::ELFObjectWriter::writeObject() , llvm::GOFFObjectWriter::writeObject() , llvm::MachObjectWriter::writeObject() , and llvm::MachObjectWriter::writeSection() .
◆ CGProfile◆ CompilerVersion
std::string llvm::MCObjectWriter::CompilerVersion
protected
◆ EmitAddrsigSection
bool llvm::MCObjectWriter::EmitAddrsigSection = false
protected
◆ FileNames
SmallVector <std::pair<std::string, size_t>, 0> llvm::MCObjectWriter::FileNames
protected
◆ SubsectionsViaSymbols
bool llvm::MCObjectWriter::SubsectionsViaSymbols = false
protected
The documentation for this class was generated from the following files: