blacklist function support for llvm_mode

This commit is contained in:
van Hauser
2020-01-15 10:10:25 +01:00
parent d0ea8f8433
commit d1d5e7c02a
6 changed files with 62 additions and 12 deletions

View File

@ -94,6 +94,28 @@ struct InsTrim : public ModulePass {
}
// ripped from aflgo
static bool isBlacklisted(const Function *F) {
static const SmallVector<std::string, 4> Blacklist = {
"asan.",
"llvm.",
"sancov.",
"__ubsan_handle_",
};
for (auto const &BlacklistFunc : Blacklist) {
if (F->getName().startswith(BlacklistFunc)) { return true; }
}
return false;
}
bool runOnModule(Module &M) override {
char be_quiet = 0;
@ -240,6 +262,8 @@ struct InsTrim : public ModulePass {
}
if (isBlacklisted(&F)) continue;
std::unordered_set<BasicBlock *> MS;
if (!MarkSetOpt) {