diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2019-08-30 12:13:51 +0200 |
---|---|---|
committer | Andrea Fioraldi <andreafioraldi@gmail.com> | 2019-08-30 12:13:51 +0200 |
commit | 5036cb54ccc3f4dcc261e124e9cf0146a06592c2 (patch) | |
tree | 42ca0eefcb907b606da00046367fc1e665a2c44f /llvm_mode | |
parent | 2eeb07d164cb7874a64a48bd9c1bf4112636ac43 (diff) | |
parent | eadd378f6c54a7e021985bca041d9642fff41034 (diff) | |
download | AFLplusplus-5036cb54ccc3f4dcc261e124e9cf0146a06592c2.tar.gz |
update with changes from master
Diffstat (limited to 'llvm_mode')
-rw-r--r-- | llvm_mode/afl-llvm-pass.so.cc | 5 | ||||
-rw-r--r-- | llvm_mode/afl-llvm-rt.o.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/llvm_mode/afl-llvm-pass.so.cc b/llvm_mode/afl-llvm-pass.so.cc index 3fe7f83e..b242163e 100644 --- a/llvm_mode/afl-llvm-pass.so.cc +++ b/llvm_mode/afl-llvm-pass.so.cc @@ -129,9 +129,14 @@ bool AFLCoverage::runOnModule(Module &M) { new GlobalVariable(M, PointerType::get(Int8Ty, 0), false, GlobalValue::ExternalLinkage, 0, "__afl_area_ptr"); +#ifdef __ANDROID__ + GlobalVariable *AFLPrevLoc = new GlobalVariable( + M, Int32Ty, false, GlobalValue::ExternalLinkage, 0, "__afl_prev_loc"); +#else GlobalVariable *AFLPrevLoc = new GlobalVariable( M, Int32Ty, false, GlobalValue::ExternalLinkage, 0, "__afl_prev_loc", 0, GlobalVariable::GeneralDynamicTLSModel, 0, false); +#endif /* Instrument all the things! */ diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c index 1564ae9d..e6d9b993 100644 --- a/llvm_mode/afl-llvm-rt.o.c +++ b/llvm_mode/afl-llvm-rt.o.c @@ -19,6 +19,9 @@ */ +#ifdef __ANDROID__ + #include "android-ashmem.h" +#endif #include "config.h" #include "types.h" @@ -55,7 +58,11 @@ u8 __afl_area_initial[MAP_SIZE]; u8* __afl_area_ptr = __afl_area_initial; +#ifdef __ANDROID__ +u32 __afl_prev_loc; +#else __thread u32 __afl_prev_loc; +#endif /* Running in persistent mode? */ |