|
| | 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.