about summary refs log tree commit diff
path: root/Android.bp
diff options
context:
space:
mode:
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp234
1 files changed, 40 insertions, 194 deletions
diff --git a/Android.bp b/Android.bp
index 549577db..1ac9e565 100644
--- a/Android.bp
+++ b/Android.bp
@@ -10,6 +10,7 @@ cc_defaults {
   ],
 
   cflags: [
+    "-flto=full",
     "-funroll-loops",
     "-Wno-pointer-sign",
     "-Wno-pointer-arith",
@@ -18,13 +19,14 @@ 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",
@@ -188,224 +190,68 @@ cc_library_static {
   ],
 }
 
-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",
-  ],
+cc_prebuilt_library_static {
+  name: "libfrida-gum",
+  compile_multilib: "64",
+  strip: {
+    none: true,
+  },
 
   srcs: [
-    "instrumentation/compare-transform-pass.so.cc",
-    "instrumentation/afl-llvm-common.cc",
+    "utils/afl_frida/android/libfrida-gum.a",
   ],
-}*/
-
-/*cc_library_host_shared {
-  name: "split-compares-pass",
 
-  defaults: [
-    "afl-defaults",
-    "afl-defaults-lto",
+  export_include_dirs: [
+    "utils/afl_frida/android",
   ],
+}
 
-  srcs: [
-    "instrumentation/split-compares-pass.so.cc",
-    "instrumentation/afl-llvm-common.cc",
-  ],
-}*/
-
-/*cc_library_host_shared {
-  name: "libLLVMInsTrim",
-
-  defaults: [
-    "afl-defaults",
-    "afl-defaults-lto",
-  ],
+cc_library_shared {
+  name: "libtestinstr",
 
   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",
+    "utils/afl_frida/libtestinstr.c",
   ],
 
-  srcs: [
-    "instrumentation/afl-llvm-pass.so.cc",
-    "instrumentation/afl-llvm-common.cc",
+  cflags: [
+    "-O0",
+    "-fPIC",
   ],
-}*/
+}
 
-/*cc_library_host_shared {
-  name: "SanitizerCoveragePCGUARD",
+cc_binary {
+  name: "afl-frida",
+  compile_multilib: "64",
 
   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",
+  cflags: [
+    "-g",
+    "-O0",
+    "-Wno-format",
+    "-Wno-pointer-sign",
+    "-fpermissive",
+    "-fPIC",
   ],
 
-  srcs: [
-    "instrumentation/SanitizerCoverageLTO.so.cc",
-    "instrumentation/afl-llvm-common.cc",
+  static_libs: [
+    "afl-llvm-rt",
+    "libfrida-gum",
   ],
-}*/
-
-/*cc_library_host_shared {
-  name: "afl-llvm-lto-instrumentation",
 
-  defaults: [
-    "afl-defaults",
-    "afl-defaults-lto",
+  shared_libs: [
+    "libdl",
+    "liblog",
   ],
 
   srcs: [
-    "instrumentation/afl-llvm-lto-instrumentation.so.cc",
-    "instrumentation/afl-llvm-common.cc",
+    "utils/afl_frida/afl-frida.c",
   ],
-}*/
 
-cc_library_static {
-  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-lto.o.c",
+  local_include_dirs: [
+    "utils/afl_frida",
+    "utils/afl_frida/android",
   ],
 }