From 94b579166fa9daabf5bfde579b2739a19975e872 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 17 Apr 2015 09:48:33 -0700 Subject: [PATCH] Make use of sanitizers without clang an error. Previously using a sanitizer would imply clang. It should be an error instead so it's more obvious. Change-Id: I67c949bfda3718a0d19da7e358b5fde447fce334 --- core/config_sanitizers.mk | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk index e7a516e2d..99dc55e4e 100644 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@ -12,8 +12,10 @@ ifeq ($(my_sanitize_host),true) my_sanitize_host := address endif -# `LOCAL_CLANG := false` disables SANITIZE_HOST. -ifeq ($(my_clang),false) +# SANITIZE_HOST is only in effect if the module is already using clang (host +# modules that haven't set `LOCAL_CLANG := false` and device modules that have +# set `LOCAL_CLANG := true`. +ifneq ($(my_clang),true) my_sanitize_host := endif @@ -43,6 +45,13 @@ ifeq ($(my_sanitize),never) my_sanitize := endif +# Sanitizers can only be used with clang. +ifneq ($(my_clang),true) + ifneq ($(my_sanitize),) + $(error $(LOCAL_PATH): $(LOCAL_MODULE): Use of sanitizers requires LOCAL_CLANG := true) + endif +endif + unknown_sanitizers := $(filter-out address, \ $(filter-out undefined,$(my_sanitize))) @@ -51,8 +60,6 @@ ifneq ($(unknown_sanitizers),) endif ifneq ($(my_sanitize),) - my_clang := true - fsanitize_arg := $(subst $(space),$(comma),$(my_sanitize)), my_cflags += -fsanitize=$(fsanitize_arg)