config_sanitizers.mk revision 4ae5d4b331923ee837f0d6afd5605da0a49419c9
1############################################## 2## Perform configuration steps for sanitizers. 3############################################## 4 5# Configure SANITIZE_HOST. 6ifdef LOCAL_IS_HOST_MODULE 7ifeq ($(SANITIZE_HOST),true) 8ifneq ($(strip $(LOCAL_CLANG)),false) 9ifneq ($(strip $(LOCAL_ADDRESS_SANITIZER)),false) 10 LOCAL_ADDRESS_SANITIZER := true 11endif 12endif 13endif 14endif 15 16# Configure address sanitizer. 17ifeq ($(strip $(LOCAL_ADDRESS_SANITIZER)),true) 18 my_clang := true 19 # Frame pointer based unwinder in ASan requires ARM frame setup. 20 LOCAL_ARM_MODE := arm 21 my_cflags += $(ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS) 22 my_ldflags += $(ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS) 23 ifdef LOCAL_IS_HOST_MODULE 24 my_ldflags += -fsanitize=address 25 # -nodefaultlibs (provided with libc++) prevents the driver from linking 26 # libraries needed with -fsanitize=address. http://b/18650275 27 my_ldlibs += -ldl -lpthread 28 else 29 my_shared_libraries += $(ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES) 30 my_static_libraries += $(ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES) 31 endif 32endif 33