You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-util/bpftrace/files/bpftrace-0.9-llvm-8.patch

31 lines
1.3 KiB

diff --git a/src/bpforc.h b/src/bpforc.h
index a6ee583..8d0e579 100644
--- a/src/bpforc.h
+++ b/src/bpforc.h
@@ -80,8 +80,13 @@ class BpfOrc
ExecutionSession ES;
std::unique_ptr<TargetMachine> TM;
std::shared_ptr<SymbolResolver> Resolver;
+#if LLVM_VERSION_MAJOR >= 8
+ LegacyRTDyldObjectLinkingLayer ObjectLayer;
+ LegacyIRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
+#else
RTDyldObjectLinkingLayer ObjectLayer;
IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
+#endif
public:
std::map<std::string, std::tuple<uint8_t *, uintptr_t>> sections_;
@@ -91,7 +96,11 @@ class BpfOrc
Resolver(createLegacyLookupResolver(ES,
[](const std::string &Name __attribute__((unused))) -> JITSymbol { return nullptr; },
[](Error Err) { cantFail(std::move(Err), "lookup failed"); })),
+#if LLVM_VERSION_MAJOR >= 8
+ ObjectLayer(ES, [this](VModuleKey) { return LegacyRTDyldObjectLinkingLayer::Resources{std::make_shared<MemoryManager>(sections_), Resolver}; }),
+#else
ObjectLayer(ES, [this](VModuleKey) { return RTDyldObjectLinkingLayer::Resources{std::make_shared<MemoryManager>(sections_), Resolver}; }),
+#endif
CompileLayer(ObjectLayer, SimpleCompiler(*TM)) {}
void compileModule(std::unique_ptr<Module> M) {