Add LOCAL_SANITIZE_RECOVER.

This is needed for projects that have known ubsan issues that we can't
fix right away (perhaps because it's an upstream project that we're
diligent about keeping in sync with upsteam).

Also make the normal ubsan use -fno-sanitize-recover=all by default.

Change-Id: I1b0f3309792f32dbd08c18816d7306e76c8d7c30
This commit is contained in:
Dan Albert
2015-04-16 18:08:44 -07:00
parent b687444051
commit 4111d4804a
2 changed files with 9 additions and 0 deletions

View File

@@ -173,6 +173,7 @@ LOCAL_NATIVE_COVERAGE :=
LOCAL_DPI_VARIANTS:=
LOCAL_DPI_FILE_STEM:=
LOCAL_SANITIZE:=
LOCAL_SANITIZE_RECOVER:=
# arch specific variables
LOCAL_SRC_FILES_$(TARGET_ARCH):=

View File

@@ -86,9 +86,17 @@ ifneq ($(filter address,$(my_sanitize)),)
endif
ifneq ($(filter undefined,$(my_sanitize)),)
my_cflags += -fno-sanitize-recover=all
ifdef LOCAL_IS_HOST_MODULE
my_ldlibs += -ldl
else
$(error ubsan is not yet supported on the target)
endif
endif
ifeq ($(strip $(LOCAL_SANITIZE_RECOVER)),true)
recover_arg := $(subst $(space),$(comma),$(my_sanitize)),
my_cflags += -fsanitize-recover=$(recover_arg)
endif