aboutsummaryrefslogtreecommitdiff
path: root/driver/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'driver/BUILD.bazel')
-rw-r--r--driver/BUILD.bazel234
1 files changed, 0 insertions, 234 deletions
diff --git a/driver/BUILD.bazel b/driver/BUILD.bazel
deleted file mode 100644
index 2d503cce..00000000
--- a/driver/BUILD.bazel
+++ /dev/null
@@ -1,234 +0,0 @@
-load("@fmeum_rules_jni//jni:defs.bzl", "cc_jni_library")
-load("//bazel:compat.bzl", "SKIP_ON_WINDOWS")
-
-cc_library(
- name = "jazzer_main",
- srcs = ["jazzer_main.cpp"],
- deps = [
- ":jvm_tooling_lib",
- "@com_google_absl//absl/strings",
- "@fmeum_rules_jni//jni:libjvm",
- "@jazzer_com_github_gflags_gflags//:gflags",
- ],
-)
-
-cc_library(
- name = "jvm_tooling_lib",
- srcs = ["jvm_tooling.cpp"],
- hdrs = ["jvm_tooling.h"],
- tags = [
- # Should be built through the cc_17_library driver_lib.
- "manual",
- ],
- deps = [
- "@bazel_tools//tools/cpp/runfiles",
- "@com_google_absl//absl/strings",
- "@com_google_absl//absl/strings:str_format",
- "@fmeum_rules_jni//jni",
- "@jazzer_com_github_gflags_gflags//:gflags",
- ],
-)
-
-DYNAMIC_SYMBOLS_TO_EXPORT = [
- "__sanitizer_cov_8bit_counters_init",
- "__sanitizer_cov_pcs_init",
- "__sanitizer_cov_trace_cmp1",
- "__sanitizer_cov_trace_cmp4",
- "__sanitizer_cov_trace_cmp4",
- "__sanitizer_cov_trace_cmp8",
- "__sanitizer_cov_trace_const_cmp1",
- "__sanitizer_cov_trace_const_cmp4",
- "__sanitizer_cov_trace_const_cmp4",
- "__sanitizer_cov_trace_const_cmp8",
- "__sanitizer_cov_trace_div4",
- "__sanitizer_cov_trace_div8",
- "__sanitizer_cov_trace_gep",
- "__sanitizer_cov_trace_pc_indir",
- "__sanitizer_cov_trace_switch",
- "__sanitizer_weak_hook_memcmp",
- "__sanitizer_weak_hook_memmem",
- "__sanitizer_weak_hook_strcasecmp",
- "__sanitizer_weak_hook_strcasestr",
- "__sanitizer_weak_hook_strcmp",
- "__sanitizer_weak_hook_strncasecmp",
- "__sanitizer_weak_hook_strncmp",
- "__sanitizer_weak_hook_strstr",
- "bcmp",
- "jazzer_initialize_native_hooks",
- "memcmp",
- "memmem",
- "strcasecmp",
- "strcasestr",
- "strcmp",
- "strncasecmp",
- "strncmp",
- "strstr",
-]
-
-cc_library(
- name = "native_fuzzer_hooks",
- srcs = ["native_fuzzer_hooks.c"],
- linkopts = select({
- "@platforms//os:linux": [
- "-Wl,--export-dynamic-symbol=" + symbol
- for symbol in DYNAMIC_SYMBOLS_TO_EXPORT
- ] + [
- "-ldl",
- ],
- "@platforms//os:macos": [
- "-rdynamic",
- "-ldl",
- ],
- "//conditions:default": [],
- }),
- target_compatible_with = SKIP_ON_WINDOWS,
- deps = ["//driver/src/main/native/com/code_intelligence/jazzer/driver:sanitizer_hooks_with_pc"],
- alwayslink = True,
-)
-
-cc_binary(
- name = "jazzer_driver",
- data = [
- "//agent:jazzer_agent_deploy",
- ],
- linkopts = select({
- "//:clang_on_linux": ["-fuse-ld=lld"],
- "//conditions:default": [],
- }),
- linkstatic = True,
- visibility = ["//visibility:public"],
- deps = [":jazzer_main"],
-)
-
-alias(
- name = "using_toolchain_on_osx",
- actual = select({
- "//third_party:uses_toolchain": "@platforms//os:osx",
- # In order to achieve AND semantics, reference a setting that is known
- # not to apply.
- "//conditions:default": "//third_party:uses_toolchain",
- }),
-)
-
-cc_binary(
- name = "jazzer_driver_asan",
- data = [
- "//agent:jazzer_agent_deploy",
- ],
- linkopts = select({
- "@platforms//os:windows": [
- # Sanitizer runtimes have to be linked manually on Windows:
- # https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/
- "/wholearchive:clang_rt.asan-x86_64.lib",
- "/wholearchive:clang_rt.asan_cxx-x86_64.lib",
- ],
- "//conditions:default": [
- "-fsanitize=address",
- "-static-libsan",
- ],
- }) + select({
- "//:clang_on_linux": ["-fuse-ld=lld"],
- "//conditions:default": [],
- }),
- linkstatic = True,
- visibility = ["//visibility:public"],
- deps = [":jazzer_main"] + select({
- # There is no static ASan runtime on macOS, so link to the dynamic
- # runtime library if on macOS and using the toolchain.
- ":using_toolchain_on_osx": ["@llvm_toolchain_llvm//:macos_asan_dynamic"],
- "//conditions:default": [],
- }) + select({
- "@platforms//os:windows": [],
- "//conditions:default": [":native_fuzzer_hooks"],
- }),
-)
-
-cc_binary(
- name = "jazzer_driver_ubsan",
- data = [
- "//agent:jazzer_agent_deploy",
- ],
- linkopts = select({
- "@platforms//os:windows": [
- # Sanitizer runtimes have to be linked manually on Windows:
- # https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/
- "/wholearchive:clang_rt.ubsan_standalone-x86_64.lib",
- "/wholearchive:clang_rt.ubsan_standalone_cxx-x86_64.lib",
- ],
- "//conditions:default": [
- "-fsanitize=undefined",
- # Link UBSan statically, even on macOS.
- "-static-libsan",
- "-fsanitize-link-c++-runtime",
- ],
- }) + select({
- "//:clang_on_linux": ["-fuse-ld=lld"],
- "//conditions:default": [],
- }),
- linkstatic = True,
- visibility = ["//visibility:public"],
- deps = [
- ":jazzer_main",
- ] + select({
- "@platforms//os:windows": [],
- "//conditions:default": [":native_fuzzer_hooks"],
- }),
-)
-
-cc_test(
- name = "jvm_tooling_test",
- size = "small",
- srcs = ["jvm_tooling_test.cpp"],
- args = [
- "--cp=jazzer/$(rootpath //driver/testdata:fuzz_target_mocks_deploy.jar)",
- ],
- data = [
- "//agent:jazzer_agent_deploy",
- "//driver/testdata:fuzz_target_mocks_deploy.jar",
- ],
- includes = ["."],
- deps = [
- ":jvm_tooling_lib",
- ":test_main",
- "@bazel_tools//tools/cpp/runfiles",
- "@googletest//:gtest",
- "@jazzer_com_github_gflags_gflags//:gflags",
- ],
-)
-
-cc_test(
- name = "fuzzed_data_provider_test",
- size = "medium",
- srcs = ["fuzzed_data_provider_test.cpp"],
- args = [
- "--cp=jazzer/$(rootpath //driver/testdata:fuzz_target_mocks_deploy.jar)",
- ],
- copts = select({
- "@platforms//os:windows": ["/std:c++17"],
- "//conditions:default": ["-std=c++17"],
- }),
- data = [
- "//agent:jazzer_agent_deploy",
- "//driver/testdata:fuzz_target_mocks_deploy.jar",
- ],
- includes = ["."],
- deps = [
- ":jvm_tooling_lib",
- ":test_main",
- "//driver/src/main/native/com/code_intelligence/jazzer/driver:fuzzed_data_provider",
- "@bazel_tools//tools/cpp/runfiles",
- "@googletest//:gtest",
- "@jazzer_com_github_gflags_gflags//:gflags",
- ],
-)
-
-cc_library(
- name = "test_main",
- srcs = ["test_main.cpp"],
- linkstatic = True,
- deps = [
- "@fmeum_rules_jni//jni:libjvm",
- "@googletest//:gtest",
- "@jazzer_com_github_gflags_gflags//:gflags",
- ],
-)