mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-11 09:41:35 +00:00
Fix LLVM 15 build
By removing ModuleSanitizerCoverageLegacyPass, which is completely unused. There was some confusing between the initialization function for the upstream sancov pass and AFLs own implementation.
This commit is contained in:
parent
08f44f4e5d
commit
36c46b9579
@ -209,57 +209,6 @@ class ModuleSanitizerCoverageAFL
|
||||
|
||||
};
|
||||
|
||||
class ModuleSanitizerCoverageLegacyPass : public ModulePass {
|
||||
|
||||
public:
|
||||
ModuleSanitizerCoverageLegacyPass(
|
||||
const SanitizerCoverageOptions &Options = SanitizerCoverageOptions())
|
||||
: ModulePass(ID), Options(Options) {
|
||||
|
||||
initializeModuleSanitizerCoverageLegacyPassPass(
|
||||
*PassRegistry::getPassRegistry());
|
||||
|
||||
}
|
||||
|
||||
bool runOnModule(Module &M) override {
|
||||
|
||||
ModuleSanitizerCoverageAFL ModuleSancov(Options);
|
||||
auto DTCallback = [this](Function &F) -> const DominatorTree * {
|
||||
|
||||
return &this->getAnalysis<DominatorTreeWrapperPass>(F).getDomTree();
|
||||
|
||||
};
|
||||
|
||||
auto PDTCallback = [this](Function &F) -> const PostDominatorTree * {
|
||||
|
||||
return &this->getAnalysis<PostDominatorTreeWrapperPass>(F)
|
||||
.getPostDomTree();
|
||||
|
||||
};
|
||||
|
||||
return ModuleSancov.instrumentModule(M, DTCallback, PDTCallback);
|
||||
|
||||
}
|
||||
|
||||
/*static*/ char ID; // Pass identification, replacement for typeid
|
||||
StringRef getPassName() const override {
|
||||
|
||||
return "ModuleSanitizerCoverage";
|
||||
|
||||
}
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override {
|
||||
|
||||
AU.addRequired<DominatorTreeWrapperPass>();
|
||||
AU.addRequired<PostDominatorTreeWrapperPass>();
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
SanitizerCoverageOptions Options;
|
||||
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
#if LLVM_VERSION_MAJOR >= 11 /* use new pass manager */
|
||||
@ -1530,26 +1479,3 @@ std::string ModuleSanitizerCoverageAFL::getSectionEnd(
|
||||
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
||||
char ModuleSanitizerCoverageLegacyPass::ID = 0;
|
||||
INITIALIZE_PASS_BEGIN(ModuleSanitizerCoverageLegacyPass, "sancov",
|
||||
"Pass for instrumenting coverage on functions", false,
|
||||
false)
|
||||
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
|
||||
INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass)
|
||||
INITIALIZE_PASS_END(ModuleSanitizerCoverageLegacyPass, "sancov",
|
||||
"Pass for instrumenting coverage on functions", false,
|
||||
false)
|
||||
ModulePass *llvm::createModuleSanitizerCoverageLegacyPassPass(
|
||||
const SanitizerCoverageOptions &Options,
|
||||
const std::vector<std::string> &AllowlistFiles,
|
||||
const std::vector<std::string> &BlocklistFiles) {
|
||||
|
||||
return new ModuleSanitizerCoverageLegacyPass(Options, AllowlistFiles,
|
||||
BlocklistFiles);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user