LLVM: llvm::jitlink::ELFLinkGraphBuilder_riscv< ELFT > Class Template Reference (original) (raw)

Public Member Functions
ELFLinkGraphBuilder_riscv (StringRef FileName, const object::ELFFile< ELFT > &Obj, std::shared_ptr< orc::SymbolStringPool > SSP, Triple TT, SubtargetFeatures Features)
Public Member Functions inherited from llvm::jitlink::ELFLinkGraphBuilder< ELFT >
ELFLinkGraphBuilder (const object::ELFFile< ELFT > &Obj, std::shared_ptr< orc::SymbolStringPool > SSP, Triple TT, SubtargetFeatures Features, StringRef FileName, LinkGraph::GetEdgeKindNameFunction GetEdgeKindName)
ELFLinkGraphBuilder & setProcessDebugSections (bool ProcessDebugSections)
Debug sections are included in the graph by default.
Expected< std::unique_ptr< LinkGraph > > buildGraph ()
Attempt to construct and return the LinkGraph.
template
Error forEachRelaRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerFunction &&Func)
template
Error forEachRelRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerFunction &&Func)
Public Member Functions inherited from llvm::jitlink::ELFLinkGraphBuilderBase
ELFLinkGraphBuilderBase (std::unique_ptr< LinkGraph > G)
virtual ~ELFLinkGraphBuilderBase ()
Additional Inherited Members
Protected Types inherited from llvm::jitlink::ELFLinkGraphBuilder< ELFT >
using ELFSectionIndex = unsigned
using ELFSymbolIndex = unsigned
Protected Member Functions inherited from llvm::jitlink::ELFLinkGraphBuilder< ELFT >
bool isRelocatable () const
void setGraphBlock (ELFSectionIndex SecIndex, Block *B)
Block * getGraphBlock (ELFSectionIndex SecIndex)
void setGraphSymbol (ELFSymbolIndex SymIndex, Symbol &Sym)
Symbol * getGraphSymbol (ELFSymbolIndex SymIndex)
Expected< std::pair< Linkage, Scope > > getSymbolLinkageAndScope (const typename ELFT::Sym &Sym, StringRef Name)
virtual TargetFlagsType makeTargetFlags (const typename ELFT::Sym &Sym)
Set the target flags on the given Symbol.
virtual orc::ExecutorAddrDiff getRawOffset (const typename ELFT::Sym &Sym, TargetFlagsType Flags)
Get the physical offset of the symbol on the target platform.
Error prepare ()
Error graphifySections ()
Error graphifySymbols ()
virtual bool excludeSection (const typename ELFT::Shdr &Sect) const
Override in derived classes to suppress certain sections in the link graph.
template
Error forEachRelaRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerMethod &&Func)
Traverse all matching ELFT::Rela relocation records in the given section.
template
Error forEachRelRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerMethod &&Func)
Traverse all matching ELFT::Rel relocation records in the given section.
template<typename ClassT, typename RelocHandlerMethod>
Error forEachRelaRelocation (const typename ELFT::Shdr &RelSect, ClassT *Instance, RelocHandlerMethod &&Method)
Traverse all matching rela relocation records in the given section.
template<typename ClassT, typename RelocHandlerMethod>
Error forEachRelRelocation (const typename ELFT::Shdr &RelSect, ClassT *Instance, RelocHandlerMethod &&Method)
Traverse all matching rel relocation records in the given section.
Protected Member Functions inherited from llvm::jitlink::ELFLinkGraphBuilderBase
Section & getCommonSection ()
Static Protected Member Functions inherited from llvm::jitlink::ELFLinkGraphBuilderBase
static bool isDwarfSection (StringRef SectionName)
Protected Attributes inherited from llvm::jitlink::ELFLinkGraphBuilder< ELFT >
const ELFFile & Obj
ELFFile::Elf_Shdr_Range Sections
const ELFFile::Elf_Shdr * SymTabSec = nullptr
StringRef SectionStringTab
bool ProcessDebugSections = true
DenseMap< ELFSectionIndex, Block * > GraphBlocks
DenseMap< ELFSymbolIndex, Symbol * > GraphSymbols
DenseMap< const typename ELFFile::Elf_Shdr *, ArrayRef< typename ELFFile::Elf_Word > > ShndxTables
Protected Attributes inherited from llvm::jitlink::ELFLinkGraphBuilderBase
std::unique_ptr< LinkGraph > G

template
class llvm::jitlink::ELFLinkGraphBuilder_riscv< ELFT >

Definition at line 813 of file ELF_riscv.cpp.


The documentation for this class was generated from the following file: