From: Evgenii Stepanov Date: Tue, 24 Jan 2017 20:52:25 +0000 (+0000) Subject: Merge "Force Thumb for CFI targets." X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=34eb9f7f603d36c373296eab020246ba325d5cc3;p=android-x86%2Fbuild.git Merge "Force Thumb for CFI targets." --- 34eb9f7f603d36c373296eab020246ba325d5cc3 diff --cc core/config_sanitizers.mk index 1046ff623,1ad37355e..38cf86da6 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@@ -143,9 -143,12 +143,13 @@@ ifneq ($(my_sanitize), endif ifneq ($(filter cfi,$(my_sanitize)),) + # __cfi_check needs to be built as Thumb (see the code in linker_cfi.cpp). + # LLVM is not set up to do this on a function basis, so force Thumb on the + # entire module. + LOCAL_ARM_MODE := thumb my_cflags += -flto -fsanitize-cfi-cross-dso -fvisibility=default my_ldflags += -flto -fsanitize-cfi-cross-dso -fsanitize=cfi -Wl,-plugin-opt,O1 -Wl,-export-dynamic-symbol=__cfi_check + my_arflags += --plugin $(LLVM_PREBUILTS_PATH)/../lib64/LLVMgold.so endif # If local or global modules need ASAN, add linker flags.