Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e293edfa authored by Mitch Phillips's avatar Mitch Phillips Committed by android-build-merger
Browse files

Merge "Fix fuzzer builds." am: 65dbf9bf

am: 164b2532

Change-Id: I149780657e1ab209240e4488662eb06c2d2f5d50
parents 0e4e6f52 164b2532
Loading
Loading
Loading
Loading
+18 −8
Original line number Diff line number Diff line
@@ -235,12 +235,17 @@ ifneq ($(filter default-ub,$(my_sanitize)),)
  my_sanitize := $(CLANG_DEFAULT_UB_CHECKS)
endif

ifneq ($(filter coverage,$(my_sanitize)),)
  ifeq ($(filter address,$(my_sanitize)),)
    $(error $(LOCAL_PATH): $(LOCAL_MODULE): Use of 'coverage' also requires 'address')
  endif
  my_cflags += -fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp
  my_sanitize := $(filter-out coverage,$(my_sanitize))
ifneq ($(filter fuzzer,$(my_sanitize)),)
  # SANITIZE_TARGET='fuzzer' actually means to create the fuzzer coverage
  # information, not to link against the fuzzer main().
  my_sanitize := $(filter-out fuzzer,$(my_sanitize))
  my_sanitize += fuzzer-no-link

  # TODO(b/131771163): Disable LTO for fuzzer builds. Note that Cfi causes
  # dependency on LTO.
  my_sanitize := $(filter-out cfi,$(my_sanitize))
  my_cflags += -fno-lto
  my_ldflags += -fno-lto
endif

ifneq ($(filter integer_overflow,$(my_sanitize)),)
@@ -280,7 +285,12 @@ ifneq ($(my_sanitize),)
  my_cflags += -fsanitize=$(fsanitize_arg)
  my_asflags += -fsanitize=$(fsanitize_arg)

  ifdef LOCAL_IS_HOST_MODULE
  # When fuzzing, we wish to crash with diagnostics on any bug.
  ifneq ($(filter fuzzer-no-link,$(my_sanitize)),)
    my_cflags += -fno-sanitize-trap=all
    my_cflags += -fno-sanitize-recover=all
    my_ldflags += -fsanitize=fuzzer-no-link
  else ifdef LOCAL_IS_HOST_MODULE
    my_cflags += -fno-sanitize-recover=all
    my_ldflags += -fsanitize=$(fsanitize_arg)
  else
@@ -378,7 +388,7 @@ ifeq ($(LOCAL_IS_HOST_MODULE)$(LOCAL_IS_AUX_MODULE),)
  ifneq ($(filter unsigned-integer-overflow signed-integer-overflow integer,$(my_sanitize)),)
    ifeq ($(filter unsigned-integer-overflow signed-integer-overflow integer,$(my_sanitize_diag)),)
      ifeq ($(filter cfi,$(my_sanitize_diag)),)
        ifeq ($(filter address hwaddress,$(my_sanitize)),)
        ifeq ($(filter address hwaddress fuzzer-no-link,$(my_sanitize)),)
          my_cflags += -fsanitize-minimal-runtime
          my_cflags += -fno-sanitize-trap=integer
          my_cflags += -fno-sanitize-recover=integer
+1 −2
Original line number Diff line number Diff line
@@ -15,8 +15,7 @@ else ifdef TARGET_FUZZ_ENGINE
    my_fuzzer:=$(TARGET_FUZZ_ENGINE)
endif


LOCAL_CFLAGS += -fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp
LOCAL_SANITIZE += fuzzer

ifeq ($(my_fuzzer),libFuzzer)
LOCAL_STATIC_LIBRARIES += libFuzzer
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
################################################
$(call record-module-type,HOST_FUZZ_TEST)

LOCAL_CFLAGS += -fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp
LOCAL_SANITIZE += fuzzer
LOCAL_STATIC_LIBRARIES += libLLVMFuzzer

include $(BUILD_HOST_EXECUTABLE)