diff options
author | vanhauser-thc <vh@thc.org> | 2021-06-01 11:28:31 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2021-06-01 11:28:31 +0200 |
commit | b9799bbe1d10461d69f919f950d4a53a578176fa (patch) | |
tree | f3f568e5ec7b53ff5f296c9fdbd2d41b1dd873aa | |
parent | 07c3e47e6beae3e99637f501095bffb95be9f5da (diff) | |
download | afl++-b9799bbe1d10461d69f919f950d4a53a578176fa.tar.gz |
fix classic threadsafe counters
-rw-r--r-- | instrumentation/afl-llvm-pass.so.cc | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/instrumentation/afl-llvm-pass.so.cc b/instrumentation/afl-llvm-pass.so.cc index 62f8b2ed..a8f1baff 100644 --- a/instrumentation/afl-llvm-pass.so.cc +++ b/instrumentation/afl-llvm-pass.so.cc @@ -662,24 +662,29 @@ bool AFLCoverage::runOnModule(Module &M) { /* Update bitmap */ if (use_threadsafe_counters) { /* Atomic */ - -#if LLVM_VERSION_MAJOR < 9 - if (neverZero_counters_str != - NULL) { // with llvm 9 we make this the default as the bug in llvm - // is then fixed -#else - if (!skip_nozero) { - -#endif - // register MapPtrIdx in a todo list - todo.push_back(MapPtrIdx); - - } else { - - IRB.CreateAtomicRMW(llvm::AtomicRMWInst::BinOp::Add, MapPtrIdx, One, - llvm::AtomicOrdering::Monotonic); - - } + /* + #if LLVM_VERSION_MAJOR < 9 + if (neverZero_counters_str != + NULL) { // with llvm 9 we make this the default as the bug + in llvm + // is then fixed + #else + if (!skip_nozero) { + + #endif + // register MapPtrIdx in a todo list + todo.push_back(MapPtrIdx); + + } else { + + */ + IRB.CreateAtomicRMW(llvm::AtomicRMWInst::BinOp::Add, MapPtrIdx, One, + llvm::AtomicOrdering::Monotonic); + /* + + } + + */ } else { @@ -774,6 +779,7 @@ bool AFLCoverage::runOnModule(Module &M) { } +#if 0 if (use_threadsafe_counters) { /*Atomic NeverZero */ // handle the list of registered blocks to instrument for (auto val : todo) { @@ -885,6 +891,8 @@ bool AFLCoverage::runOnModule(Module &M) { } +#endif + } /* |