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:
Stephen Hines
2015-09-28 20:33:03 -07:00
parent 9073a5d9a5
commit 1332828b6e
2 changed files with 7 additions and 5 deletions

View File

@@ -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)

View File

@@ -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