aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
authorJoey Jiao <joeyjiaojg@163.com>2021-01-13 12:32:36 +0800
committerJoey Jiao <joeyjiaojg@163.com>2021-01-20 15:46:39 +0800
commit0306261fec4c9ebc2b1361da1d0fbbe9bade8847 (patch)
treec2fb4513fe0c90261d9edec9c695b541fc886084 /Android.bp
parent473b3e5fb0fec84ebca31917bef74d41c5c1655c (diff)
downloadafl++-0306261fec4c9ebc2b1361da1d0fbbe9bade8847.tar.gz
Fix build error for Android
- LTO not work yet
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp304
1 files changed, 287 insertions, 17 deletions
diff --git a/Android.bp b/Android.bp
index 2c2114b2..549577db 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,5 +1,13 @@
cc_defaults {
name: "afl-defaults",
+ sanitize: {
+ never: true,
+ },
+
+ local_include_dirs: [
+ "include",
+ "instrumentation",
+ ],
cflags: [
"-funroll-loops",
@@ -14,12 +22,17 @@ cc_defaults {
"-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",
+ "-g",
+ "-O0",
+ "-fno-omit-frame-pointer",
],
}
cc_binary {
name: "afl-fuzz",
- static_executable: true,
host_supported: true,
defaults: [
@@ -27,7 +40,11 @@ cc_binary {
],
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 +58,10 @@ cc_binary {
],
srcs: [
- "afl-showmap.c",
+ "src/afl-showmap.c",
+ "src/afl-common.c",
+ "src/afl-sharedmem.c",
+ "src/afl-forkserver.c",
],
}
@@ -55,7 +75,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 +93,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 +110,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 +126,286 @@ 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",
],
srcs: [
"src/afl-cc.c",
+ "src/afl-common.c",
+ ],
+
+ symlinks: [
+ "afl-clang-fast",
+ "afl-clang-fast++",
+ "afl-clang-lto",
+ "afl-clang-lto++",
],
}
-cc_binary_host {
- name: "afl-clang-fast++",
- static_executable: true,
+cc_library_static {
+ name: "afl-llvm-rt",
+ compile_multilib: "both",
+ vendor_available: true,
+ host_supported: true,
+ recovery_available: true,
+ sdk_version: "9",
+
+ 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",
+ ],
defaults: [
"afl-defaults",
],
- cflags: [
- "-D__ANDROID__",
- "-DAFL_PATH=\"out/host/linux-x86/lib64\"",
+ srcs: [
+ "instrumentation/afl-compiler-rt.o.c",
],
+}
- srcs: [
- "src/afl-cc.c",
+cc_defaults {
+ name: "afl-defaults-lto",
+
+ include_dirs: [
+ "prebuilts/clang/host/linux-x86/clang-r383902b/include",
],
}
+/*cc_library_host_shared {
+ name: "afl-llvm-lto-instrumentlist",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/afl-llvm-lto-instrumentlist.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "afl-llvm-dict2file",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/afl-llvm-dict2file.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+
+ shared_libs: [
+ "libLLVM-11git",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "cmplog-routines-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/cmplog-routines-pass.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "cmplog-instructions-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/cmplog-instructions-pass.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "split-switches-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/split-switches-pass.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "compare-transform-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/compare-transform-pass.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "split-compares-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/split-compares-pass.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "libLLVMInsTrim",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/LLVMInsTrim.so.cc",
+ "instrumentation/MarkNodes.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "afl-llvm-pass",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/afl-llvm-pass.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "SanitizerCoveragePCGUARD",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/SanitizerCoveragePCGUARD.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "SanitizerCoverageLTO",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/SanitizerCoverageLTO.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
+/*cc_library_host_shared {
+ name: "afl-llvm-lto-instrumentation",
+
+ defaults: [
+ "afl-defaults",
+ "afl-defaults-lto",
+ ],
+
+ srcs: [
+ "instrumentation/afl-llvm-lto-instrumentation.so.cc",
+ "instrumentation/afl-llvm-common.cc",
+ ],
+}*/
+
cc_library_static {
- name: "afl-llvm-rt",
+ name: "afl-llvm-rt-lto",
compile_multilib: "both",
vendor_available: true,
host_supported: true,
recovery_available: true,
sdk_version: "9",
+ 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",
+ ],
+
defaults: [
"afl-defaults",
+ "afl-defaults-lto",
],
srcs: [
- "instrumentation/afl-llvm-rt.o.c",
+ "instrumentation/afl-llvm-rt-lto.o.c",
],
}