|
| ELFLinkGraphBuilder_riscv (StringRef FileName, const object::ELFFile< ELFT > &Obj, std::shared_ptr< orc::SymbolStringPool > SSP, Triple TT, SubtargetFeatures Features) |
| 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<typename RelocHandlerFunction> |
Error | forEachRelaRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerFunction &&Func) |
template<typename RelocHandlerFunction> |
Error | forEachRelRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerFunction &&Func) |
| ELFLinkGraphBuilderBase (std::unique_ptr< LinkGraph > G) |
virtual | ~ELFLinkGraphBuilderBase () |
|
using | ELFSectionIndex = unsigned |
using | ELFSymbolIndex = unsigned |
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<typename RelocHandlerMethod> |
Error | forEachRelaRelocation (const typename ELFT::Shdr &RelSect, RelocHandlerMethod &&Func) |
| Traverse all matching ELFT::Rela relocation records in the given section.
|
template<typename RelocHandlerMethod> |
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.
|
Section & | getCommonSection () |
static bool | isDwarfSection (StringRef SectionName) |
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 |
std::unique_ptr< LinkGraph > | G |
template<typename ELFT>
class llvm::jitlink::ELFLinkGraphBuilder_riscv< ELFT >
Definition at line 813 of file ELF_riscv.cpp.