diff options
-rw-r--r-- | Android.bp | 140 | ||||
-rw-r--r-- | docs/ChangeLog | 1 | ||||
-rw-r--r-- | llvm_mode/afl-clang-fast.c | 4 | ||||
-rw-r--r-- | src/afl-gotcpu.c | 2 |
4 files changed, 146 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000..9fdf6f04 --- /dev/null +++ b/Android.bp @@ -0,0 +1,140 @@ +cc_defaults { + name: "afl-defaults", + + cflags: [ + "-funroll-loops", + "-Wno-pointer-sign", + "-Wno-pointer-arith", + "-Wno-sign-compare", + "-Wno-unused-parameter", + "-Wno-unused-function", + "-Wno-format", + "-Wno-user-defined-warnings", + "-DUSE_TRACE_PC=1", + "-DBIN_PATH=\"out/host/linux-x86/bin\"", + "-DDOC_PATH=\"out/host/linux-x86/shared/doc/afl\"", + "-D__USE_GNU", + ], +} + +cc_binary { + name: "afl-fuzz", + static_executable: true, + host_supported: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "afl-fuzz.c", + ], +} + +cc_binary { + name: "afl-showmap", + static_executable: true, + host_supported: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "afl-showmap.c", + ], +} + +cc_binary { + name: "afl-tmin", + static_executable: true, + host_supported: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "afl-tmin.c", + ], +} + +cc_binary { + name: "afl-analyze", + static_executable: true, + host_supported: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "afl-analyze.c", + ], +} + +cc_binary { + name: "afl-gotcpu", + static_executable: true, + host_supported: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "afl-gotcpu.c", + ], +} + +cc_binary_host { + name: "afl-clang-fast", + static_executable: true, + + defaults: [ + "afl-defaults", + ], + + cflags: [ + "-D__ANDROID__", + "-DAFL_PATH=\"out/host/linux-x86/lib64\"", + ], + + srcs: [ + "llvm_mode/afl-clang-fast.c", + ], +} + +cc_binary_host { + name: "afl-clang-fast++", + static_executable: true, + + defaults: [ + "afl-defaults", + ], + + cflags: [ + "-D__ANDROID__", + "-DAFL_PATH=\"out/host/linux-x86/lib64\"", + ], + + srcs: [ + "llvm_mode/afl-clang-fast.c", + ], +} + +cc_library_static { + name: "afl-llvm-rt", + compile_multilib: "both", + vendor_available: true, + host_supported: true, + recovery_available: true, + + defaults: [ + "afl-defaults", + ], + + srcs: [ + "llvm_mode/afl-llvm-rt.o.c", + ], +} diff --git a/docs/ChangeLog b/docs/ChangeLog index 992370c6..408c5692 100644 --- a/docs/ChangeLog +++ b/docs/ChangeLog @@ -42,6 +42,7 @@ Version ++2.58d (dev): - added regex.dictionary - qemu and unicorn download scripts now try to download until the full download succeeded. f*ckin travis fails downloading 40% of the time! + - more support for Android (please test!) - added the few Android stuff we didnt have already from Google afl repository - removed unnecessary warnings diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c index e89b6183..c2b54a51 100644 --- a/llvm_mode/afl-clang-fast.c +++ b/llvm_mode/afl-clang-fast.c @@ -358,6 +358,7 @@ static void edit_params(u32 argc, char** argv) { } +//#ifndef __ANDROID__ // not sure, we might need these ifdefs for Android switch (bit_mode) { case 0: @@ -381,6 +382,7 @@ static void edit_params(u32 argc, char** argv) { break; } +//#endif } @@ -441,7 +443,9 @@ int main(int argc, char** argv) { } +//#ifndef __ANDROID__ // not sure this is needed for Android, so at the moment we rather keep this out find_obj(argv[0]); +//#endif edit_params(argc, argv); diff --git a/src/afl-gotcpu.c b/src/afl-gotcpu.c index c6d71bb2..0f53fbd6 100644 --- a/src/afl-gotcpu.c +++ b/src/afl-gotcpu.c @@ -212,7 +212,7 @@ int main(int argc, char** argv) { if (util_perc < 110) { - SAYF(" Core #%u: " cLGN "AVAILABLE\n" cRST, i); + SAYF(" Core #%u: " cLGN "AVAILABLE" cRST "(%u%%)\n", i, util_perc); exit(0); } else if (util_perc < 250) { |