am 4fbb83dd: Merge "Add support for `LOCAL_SANITIZE := integer`."
* commit '4fbb83dd3b69729fe08e4a18dd13ca536ae7376f':
Add support for `LOCAL_SANITIZE := integer`.
diff --git a/core/clang/config.mk b/core/clang/config.mk
index 512b116..4875ea1 100644
--- a/core/clang/config.mk
+++ b/core/clang/config.mk
@@ -150,7 +150,7 @@
ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS := -fno-omit-frame-pointer
ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS := -Wl,-u,__asan_preinit
-ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES := libdl
+ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES :=
ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES := libasan
# This allows us to use the superset of functionality that compiler-rt
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index c452a1d..76451c6 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -143,7 +143,6 @@
LOCAL_CTS_TEST_PACKAGE:=
LOCAL_CTS_TEST_RUNNER:=
LOCAL_CLANG:=
-LOCAL_DETECT_INTEGER_OVERFLOWS:=
LOCAL_JAR_EXCLUDE_FILES:=
LOCAL_JAR_PACKAGES:=
LOCAL_JAR_EXCLUDE_PACKAGES:=
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index 9cff6ea..7ebbf9f 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -41,14 +41,6 @@
ifneq ($(filter default-ub,$(my_sanitize)),)
my_sanitize := $(CLANG_DEFAULT_UB_CHECKS)
-
- ifdef LOCAL_IS_HOST_MODULE
- my_cflags += -fno-sanitize-recover=all
- my_ldlibs += -ldl
- else
- my_cflags += -fsanitize-undefined-trap-on-error
- my_shared_libraries += libdl
- endif
endif
ifneq ($(my_sanitize),)
@@ -56,7 +48,13 @@
my_cflags += -fsanitize=$(fsanitize_arg)
ifdef LOCAL_IS_HOST_MODULE
+ my_cflags += -fno-sanitize-recover=all
my_ldflags += -fsanitize=$(fsanitize_arg)
+ my_ldlibs += -ldl
+ else
+ my_cflags += -fsanitize-undefined-trap-on-error
+ my_cflags += -ftrap-function=abort
+ my_shared_libraries += libdl
endif
endif
@@ -68,7 +66,7 @@
ifdef LOCAL_IS_HOST_MODULE
# -nodefaultlibs (provided with libc++) prevents the driver from linking
# libraries needed with -fsanitize=address. http://b/18650275 (WAI)
- my_ldlibs += -lm -ldl -lpthread
+ my_ldlibs += -lm -lpthread
my_ldflags += -Wl,--no-as-needed
else
# ASan runtime library must be the first in the link order.
@@ -81,27 +79,12 @@
endif
ifneq ($(filter undefined,$(my_sanitize)),)
- my_cflags += -fno-sanitize-recover=all
-
- ifdef LOCAL_IS_HOST_MODULE
- my_ldlibs += -ldl
- else
+ ifndef LOCAL_IS_HOST_MODULE
$(error ubsan is not yet supported on the target)
endif
endif
-
ifneq ($(strip $(LOCAL_SANITIZE_RECOVER)),)
recover_arg := $(subst $(space),$(comma),$(LOCAL_SANITIZE_RECOVER)),
my_cflags += -fsanitize-recover=$(recover_arg)
endif
-
-ifeq ($(strip $(LOCAL_DETECT_INTEGER_OVERFLOWS)),true)
- ifeq ($(my_clang),true)
- my_cflags += -fsanitize=signed-integer-overflow,unsigned-integer-overflow
- my_cflags += -ftrap-function=abort
- my_cflags += -fsanitize-undefined-trap-on-error
- else
- $(error $(LOCAL_MODULE): You must enable LOCAL_CLANG:=true to use LOCAL_DETECT_INTEGER_OVERFLOWS)
- endif
-endif