|
@@ -146,8 +146,15 @@ getBPFObjectFromModule(llvm::Module *Module)
|
|
raw_svector_ostream ostream(*Buffer);
|
|
raw_svector_ostream ostream(*Buffer);
|
|
|
|
|
|
legacy::PassManager PM;
|
|
legacy::PassManager PM;
|
|
- if (TargetMachine->addPassesToEmitFile(PM, ostream,
|
|
|
|
- TargetMachine::CGFT_ObjectFile)) {
|
|
|
|
|
|
+ bool NotAdded;
|
|
|
|
+#if CLANG_VERSION_MAJOR < 7
|
|
|
|
+ NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream,
|
|
|
|
+ TargetMachine::CGFT_ObjectFile);
|
|
|
|
+#else
|
|
|
|
+ NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, nullptr,
|
|
|
|
+ TargetMachine::CGFT_ObjectFile);
|
|
|
|
+#endif
|
|
|
|
+ if (NotAdded) {
|
|
llvm::errs() << "TargetMachine can't emit a file of this type\n";
|
|
llvm::errs() << "TargetMachine can't emit a file of this type\n";
|
|
return std::unique_ptr<llvm::SmallVectorImpl<char>>(nullptr);;
|
|
return std::unique_ptr<llvm::SmallVectorImpl<char>>(nullptr);;
|
|
}
|
|
}
|