Switch from clang 3.6 to new clang repository (with 3.8).
Bug: 23396112 Switch from "-fsanitize-undefined-trap-on-error" to "-fsanitize-trap=all". The former ends up accidentally leaving unresolved calls to __ubsan* helper functions in the object file with clang 3.8. The latter is used when we don't include address sanitizer, and replaces any misbehavior with a direct call to abort(). Change-Id: I8a67461b45f5f1dd9f2d179b6b64a4ca905e999f
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
## Clang configurations.
|
||||
|
||||
LLVM_PREBUILTS_VERSION := 3.6
|
||||
LLVM_PREBUILTS_PATH := prebuilts/clang/$(BUILD_OS)-x86/host/$(LLVM_PREBUILTS_VERSION)/bin
|
||||
LLVM_PREBUILTS_VERSION := 3.8
|
||||
LLVM_PREBUILTS_PATH := prebuilts/clang/host/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/bin
|
||||
LLVM_RTLIB_PATH := $(LLVM_PREBUILTS_PATH)/../lib/clang/$(LLVM_PREBUILTS_VERSION)/lib/linux/
|
||||
|
||||
CLANG := $(LLVM_PREBUILTS_PATH)/clang$(BUILD_EXECUTABLE_SUFFIX)
|
||||
|
@@ -84,7 +84,7 @@ ifneq ($(filter coverage,$(my_sanitize)),)
|
||||
endif
|
||||
|
||||
ifneq ($(my_sanitize),)
|
||||
fsanitize_arg := $(subst $(space),$(comma),$(my_sanitize)),
|
||||
fsanitize_arg := $(subst $(space),$(comma),$(my_sanitize))
|
||||
my_cflags += -fsanitize=$(fsanitize_arg)
|
||||
|
||||
ifdef LOCAL_IS_HOST_MODULE
|
||||
@@ -92,8 +92,10 @@ ifneq ($(my_sanitize),)
|
||||
my_ldflags += -fsanitize=$(fsanitize_arg)
|
||||
my_ldlibs += -lrt -ldl
|
||||
else
|
||||
my_cflags += -fsanitize-undefined-trap-on-error
|
||||
my_cflags += -ftrap-function=abort
|
||||
ifeq ($(filter address,$(my_sanitize)),)
|
||||
my_cflags += -fsanitize-trap=all
|
||||
my_cflags += -ftrap-function=abort
|
||||
endif
|
||||
my_shared_libraries += libdl
|
||||
endif
|
||||
endif
|
||||
|
Reference in New Issue
Block a user