LLVM 22.0.0git
llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT > Class Template Reference

Per-object GOT and PLT Stub builder. More...

#include "ExecutionEngine/JITLink/PerGraphGOTAndPLTStubsBuilder.h"

Public Member Functions

 PerGraphGOTAndPLTStubsBuilder (LinkGraph &G)
Error run ()

Static Public Member Functions

static Error asPass (LinkGraph &G)

Protected Member Functions

SymbolgetGOTEntry (Symbol &Target)
SymbolgetPLTStub (Symbol &Target)

Protected Attributes

LinkGraphG

Detailed Description

template<typename BuilderImplT>
class llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >

Per-object GOT and PLT Stub builder.

Constructs GOT entries and PLT stubs in every graph for referenced symbols. Building these blocks in every graph is likely to lead to duplicate entries in the JITLinkDylib, but allows graphs to be trivially removed independently without affecting other graphs (since those other graphs will have their own copies of any required entries).

Definition at line 32 of file PerGraphGOTAndPLTStubsBuilder.h.

Constructor & Destructor Documentation

◆ PerGraphGOTAndPLTStubsBuilder()

template<typename BuilderImplT>
llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::PerGraphGOTAndPLTStubsBuilder ( LinkGraph & G)
inline

Definition at line 34 of file PerGraphGOTAndPLTStubsBuilder.h.

References G.

Member Function Documentation

◆ asPass()

template<typename BuilderImplT>
Error llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::asPass ( LinkGraph & G)
inlinestatic

Definition at line 36 of file PerGraphGOTAndPLTStubsBuilder.h.

References G.

◆ getGOTEntry()

template<typename BuilderImplT>
Symbol & llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::getGOTEntry ( Symbol & Target)
inlineprotected

Definition at line 70 of file PerGraphGOTAndPLTStubsBuilder.h.

References assert(), llvm::dbgs(), llvm::Target::getName(), and LLVM_DEBUG.

Referenced by run().

◆ getPLTStub()

template<typename BuilderImplT>
Symbol & llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::getPLTStub ( Symbol & Target)
inlineprotected

Definition at line 92 of file PerGraphGOTAndPLTStubsBuilder.h.

References assert(), llvm::dbgs(), llvm::Target::getName(), and LLVM_DEBUG.

Referenced by run().

◆ run()

template<typename BuilderImplT>
Error llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::run ( )
inline

Member Data Documentation

◆ G

template<typename BuilderImplT>
LinkGraph& llvm::jitlink::PerGraphGOTAndPLTStubsBuilder< BuilderImplT >::G
protected

Definition at line 112 of file PerGraphGOTAndPLTStubsBuilder.h.

Referenced by asPass(), PerGraphGOTAndPLTStubsBuilder(), and run().


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