#include "llvm/ExecutionEngine/JITLink/ELF_x86_64.h"
#include "llvm/ExecutionEngine/JITLink/DWARFRecordSectionSplitter.h"
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/JITLink/TableManager.h"
#include "llvm/ExecutionEngine/JITLink/x86_64.h"
#include "llvm/Object/ELFObjectFile.h"
#include "DefineExternalSectionStartAndEndSymbols.h"
#include "EHFrameSupportImpl.h"
#include "ELFLinkGraphBuilder.h"
#include "JITLinkGeneric.h"
#define DEBUG_TYPE …
usingnamespacellvm;
usingnamespacellvm::jitlink;
namespace {
constexpr StringRef ELFGOTSymbolName = …;
constexpr StringRef ELFTLSInfoSectionName = …;
class TLSInfoTableManager_ELF_x86_64
: public TableManager<TLSInfoTableManager_ELF_x86_64> { … };
const uint8_t TLSInfoTableManager_ELF_x86_64::TLSInfoEntryContent[16] = …;
Error buildTables_ELF_x86_64(LinkGraph &G) { … }
}
namespace llvm {
namespace jitlink {
class ELFLinkGraphBuilder_x86_64 : public ELFLinkGraphBuilder<object::ELF64LE> { … };
class ELFJITLinker_x86_64 : public JITLinker<ELFJITLinker_x86_64> { … };
Expected<std::unique_ptr<LinkGraph>>
createLinkGraphFromELFObject_x86_64(MemoryBufferRef ObjectBuffer) { … }
void link_ELF_x86_64(std::unique_ptr<LinkGraph> G,
std::unique_ptr<JITLinkContext> Ctx) { … }
}
}