Upgrade x86 gcc to 4.9 and disable devirtualization.

Also filter out gcc-only flags -Wno-clobbered and -fno-devirtualize
when compiled with clang/llvm.

BUG: 19872411
Change-Id: I6de57583be04da607f569df65e93531787dbb789
This commit is contained in:
Chih-Hung Hsieh 2015-05-01 14:53:59 -07:00
parent c112341bab
commit 90036610dd
3 changed files with 14 additions and 3 deletions

View file

@ -68,10 +68,13 @@ CLANG_CONFIG_UNKNOWN_CFLAGS := \
-finline-functions \
-finline-limit=64 \
-fno-canonical-system-headers \
-Wno-clobbered \
-fno-devirtualize \
-fno-tree-sra \
-fprefetch-loop-arrays \
-funswitch-loops \
-Wmaybe-uninitialized \
-Wno-error=clobbered \
-Wno-error=maybe-uninitialized \
-Wno-error=unused-but-set-parameter \
-Wno-error=unused-but-set-variable \

View file

@ -23,10 +23,10 @@ TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT := x86
endif
# Decouple NDK library selection with platform compiler version
$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.8
$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.9
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.8
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.9
else
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
endif
@ -97,6 +97,10 @@ $(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += \
-include $(android_config_h) \
-I $(dir $(android_config_h))
# Work around gcc 4.9 devirtualization bug, https://b.corp.google.com/19872411.
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += \
-fno-devirtualize \
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += $(arch_variant_cflags)
ifeq ($(ARCH_X86_HAVE_SSSE3),true) # yes, really SSSE3, not SSE3!

View file

@ -26,7 +26,7 @@ endif
TARGET_NDK_GCC_VERSION := 4.9
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
TARGET_GCC_VERSION := 4.8
TARGET_GCC_VERSION := 4.9
else
TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
endif
@ -93,6 +93,10 @@ TARGET_GLOBAL_CFLAGS += \
-no-canonical-prefixes \
-fno-canonical-system-headers
# Work around gcc 4.9 devirtualization bug, https://b.corp.google.com/19872411.
TARGET_GLOBAL_CFLAGS += \
-fno-devirtualize \
# Help catch common 32/64-bit errors.
TARGET_GLOBAL_CFLAGS += \
-Werror=pointer-to-int-cast \