#include "llvm/ExecutionEngine/JITLink/ELF_aarch32.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/JITLink/aarch32.h"
#include "llvm/Object/ELF.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/ARMTargetParser.h"
#include "ELFLinkGraphBuilder.h"
#include "JITLinkGeneric.h"
#define DEBUG_TYPE …
usingnamespacellvm::object;
namespace llvm {
namespace jitlink {
Expected<aarch32::EdgeKind_aarch32>
getJITLinkEdgeKind(uint32_t ELFType, const aarch32::ArmConfig &ArmCfg) { … }
Expected<uint32_t> getELFRelocationType(Edge::Kind Kind) { … }
const char *getELFAArch32EdgeKindName(Edge::Kind R) { … }
class ELFJITLinker_aarch32 : public JITLinker<ELFJITLinker_aarch32> { … };
template <llvm::endianness DataEndianness>
class ELFLinkGraphBuilder_aarch32
: public ELFLinkGraphBuilder<ELFType<DataEndianness, false>> { … };
template <typename StubsManagerType>
Error buildTables_ELF_aarch32(LinkGraph &G) { … }
Expected<std::unique_ptr<LinkGraph>>
createLinkGraphFromELFObject_aarch32(MemoryBufferRef ObjectBuffer) { … }
void link_ELF_aarch32(std::unique_ptr<LinkGraph> G,
std::unique_ptr<JITLinkContext> Ctx) { … }
}
}