aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
authorrichinseattle@gmail.com <richinseattle@gmail.com>2021-03-18 01:37:40 -0700
committerrichinseattle@gmail.com <richinseattle@gmail.com>2021-03-18 01:37:40 -0700
commitc397becd81229d71b55acf89a31710bead3707aa (patch)
tree8306b59e88e22d7090fd786690227dacc99e24e3 /Android.bp
parent62508c3b446a893f0afead9a6d0546d53d588a13 (diff)
parent94312796f936ba1830b61432a0f958e192dd212f (diff)
downloadafl++-c397becd81229d71b55acf89a31710bead3707aa.tar.gz
Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into dev
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp180
1 files changed, 156 insertions, 24 deletions
diff --git a/Android.bp b/Android.bp
index e59129db..ee076d1e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,7 +1,16 @@
cc_defaults {
name: "afl-defaults",
+ sanitize: {
+ never: true,
+ },
+
+ local_include_dirs: [
+ "include",
+ "instrumentation",
+ ],
cflags: [
+ "-flto=full",
"-funroll-loops",
"-Wno-pointer-sign",
"-Wno-pointer-arith",
@@ -10,24 +19,35 @@ cc_defaults {
"-Wno-unused-function",
"-Wno-format",
"-Wno-user-defined-warnings",
- "-DUSE_TRACE_PC=1",
+ "-DAFL_LLVM_USE_TRACE_PC=1",
"-DBIN_PATH=\"out/host/linux-x86/bin\"",
"-DDOC_PATH=\"out/host/linux-x86/shared/doc/afl\"",
"-D__USE_GNU",
+ "-D__aarch64__",
+ "-DDEBUG_BUILD",
+ "-U_FORTIFY_SOURCE",
+ "-ggdb3",
+ "-g",
+ "-O0",
+ "-fno-omit-frame-pointer",
],
}
cc_binary {
name: "afl-fuzz",
- static_executable: true,
host_supported: true,
+ compile_multilib: "64",
defaults: [
"afl-defaults",
],
srcs: [
- "afl-fuzz.c",
+ "src/afl-fuzz*.c",
+ "src/afl-common.c",
+ "src/afl-sharedmem.c",
+ "src/afl-forkserver.c",
+ "src/afl-performance.c",
],
}
@@ -41,7 +61,11 @@ cc_binary {
],
srcs: [
- "afl-showmap.c",
+ "src/afl-showmap.c",
+ "src/afl-common.c",
+ "src/afl-sharedmem.c",
+ "src/afl-forkserver.c",
+ "src/afl-performance.c",
],
}
@@ -55,7 +79,11 @@ cc_binary {
],
srcs: [
- "afl-tmin.c",
+ "src/afl-tmin.c",
+ "src/afl-common.c",
+ "src/afl-sharedmem.c",
+ "src/afl-forkserver.c",
+ "src/afl-performance.c",
],
}
@@ -69,7 +97,10 @@ cc_binary {
],
srcs: [
- "afl-analyze.c",
+ "src/afl-analyze.c",
+ "src/afl-common.c",
+ "src/afl-sharedmem.c",
+ "src/afl-performance.c",
],
}
@@ -83,12 +114,13 @@ cc_binary {
],
srcs: [
- "afl-gotcpu.c",
+ "src/afl-gotcpu.c",
+ "src/afl-common.c",
],
}
cc_binary_host {
- name: "afl-clang-fast",
+ name: "afl-cc",
static_executable: true,
defaults: [
@@ -98,44 +130,144 @@ cc_binary_host {
cflags: [
"-D__ANDROID__",
"-DAFL_PATH=\"out/host/linux-x86/lib64\"",
+ "-DAFL_CLANG_FLTO=\"-flto=full\"",
+ "-DUSE_BINDIR=1",
+ "-DLLVM_BINDIR=\"prebuilts/clang/host/linux-x86/clang-r383902b/bin\"",
+ "-DLLVM_LIBDIR=\"prebuilts/clang/host/linux-x86/clang-r383902b/lib64\"",
+ "-DCLANGPP_BIN=\"prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang++\"",
+ "-DAFL_REAL_LD=\"prebuilts/clang/host/linux-x86/clang-r383902b/bin/ld.lld\"",
+ "-DLLVM_LTO=1",
+ "-DLLVM_MAJOR=11",
+ "-DLLVM_MINOR=2",
],
srcs: [
- "llvm_mode/afl-clang-fast.c",
+ "src/afl-cc.c",
+ "src/afl-common.c",
+ ],
+
+ symlinks: [
+ "afl-clang-fast",
+ "afl-clang-fast++",
],
}
-cc_binary_host {
- name: "afl-clang-fast++",
- static_executable: true,
+cc_library_static {
+ name: "afl-llvm-rt",
+ compile_multilib: "64",
+ vendor_available: true,
+ host_supported: true,
+ recovery_available: true,
+ sdk_version: "9",
- defaults: [
- "afl-defaults",
+ apex_available: [
+ "com.android.adbd",
+ "com.android.appsearch",
+ "com.android.art",
+ "com.android.bluetooth.updatable",
+ "com.android.cellbroadcast",
+ "com.android.conscrypt",
+ "com.android.extservices",
+ "com.android.cronet",
+ "com.android.neuralnetworks",
+ "com.android.media",
+ "com.android.media.swcodec",
+ "com.android.mediaprovider",
+ "com.android.permission",
+ "com.android.runtime",
+ "com.android.resolv",
+ "com.android.tethering",
+ "com.android.wifi",
+ "com.android.sdkext",
+ "com.android.os.statsd",
+ "//any",
],
- cflags: [
- "-D__ANDROID__",
- "-DAFL_PATH=\"out/host/linux-x86/lib64\"",
+ defaults: [
+ "afl-defaults",
],
srcs: [
- "llvm_mode/afl-clang-fast.c",
+ "instrumentation/afl-compiler-rt.o.c",
],
}
-cc_library_static {
- name: "afl-llvm-rt",
- compile_multilib: "both",
+cc_library_headers {
+ name: "libafl_headers",
vendor_available: true,
host_supported: true,
- recovery_available: true,
- sdk_version: "9",
+
+ export_include_dirs: [
+ "include",
+ ],
+}
+
+cc_prebuilt_library_static {
+ name: "libfrida-gum",
+ compile_multilib: "64",
+ strip: {
+ none: true,
+ },
+
+ srcs: [
+ "utils/afl_frida/android/libfrida-gum.a",
+ ],
+
+ export_include_dirs: [
+ "utils/afl_frida/android",
+ ],
+}
+
+cc_library_shared {
+ name: "libtestinstr",
+
+ srcs: [
+ "utils/afl_frida/libtestinstr.c",
+ ],
+
+ cflags: [
+ "-O0",
+ "-fPIC",
+ ],
+}
+
+cc_binary {
+ name: "afl-frida",
+ compile_multilib: "64",
defaults: [
"afl-defaults",
],
+ cflags: [
+ "-g",
+ "-O0",
+ "-Wno-format",
+ "-Wno-pointer-sign",
+ "-fpermissive",
+ "-fPIC",
+ ],
+
+ static_libs: [
+ "afl-llvm-rt",
+ "libfrida-gum",
+ ],
+
+ shared_libs: [
+ "libdl",
+ "liblog",
+ ],
+
srcs: [
- "llvm_mode/afl-llvm-rt.o.c",
+ "utils/afl_frida/afl-frida.c",
+ ],
+
+ local_include_dirs: [
+ "utils/afl_frida",
+ "utils/afl_frida/android",
],
}
+
+subdirs = [
+ "custom_mutators",
+]