From: Dan Willemsen Date: Thu, 19 May 2016 21:39:25 +0000 (-0700) Subject: Move to a single clang unknown flags list X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=02268f01dfefc439cd1af0700fbd8bd2b68c4f90;p=android-x86%2Fbuild.git Move to a single clang unknown flags list Soong is using a single list of unknown clang flags for all architectures, instead of the per-architecture list here. Collapse this down to a single list as well so that it can be verified against the Soong list, and eventually replaced by the Soong version. Change-Id: If43cd892105da5155907c05965a74b835920a369 --- diff --git a/core/binary.mk b/core/binary.mk index 1ef55b3a6..614b8aa8f 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -517,8 +517,8 @@ normal_objects_mode := $(if $(LOCAL_ARM_MODE),$(LOCAL_ARM_MODE),thumb) arm_objects_cflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)$(arm_objects_mode)_CFLAGS) normal_objects_cflags := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)$(normal_objects_mode)_CFLAGS) ifeq ($(my_clang),true) -arm_objects_cflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(arm_objects_cflags)) -normal_objects_cflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(normal_objects_cflags)) +arm_objects_cflags := $(call convert-to-clang-flags,$(arm_objects_cflags)) +normal_objects_cflags := $(call convert-to-clang-flags,$(normal_objects_cflags)) endif else @@ -1344,10 +1344,10 @@ my_conlyflags += $(LOCAL_CLANG_CONLYFLAGS_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PRE my_cppflags += $(LOCAL_CLANG_CPPFLAGS_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_CLANG_CPPFLAGS_$(my_32_64_bit_suffix)) my_ldflags += $(LOCAL_CLANG_LDFLAGS_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_CLANG_LDFLAGS_$(my_32_64_bit_suffix)) my_asflags += $(LOCAL_CLANG_ASFLAGS_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_CLANG_ASFLAGS_$(my_32_64_bit_suffix)) -my_cflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(my_cflags)) -my_cppflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(my_cppflags)) -my_asflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(my_asflags)) -my_ldflags := $(call $(LOCAL_2ND_ARCH_VAR_PREFIX)convert-to-$(my_host)clang-flags,$(my_ldflags)) +my_cflags := $(call convert-to-clang-flags,$(my_cflags)) +my_cppflags := $(call convert-to-clang-flags,$(my_cppflags)) +my_asflags := $(call convert-to-clang-flags,$(my_asflags)) +my_ldflags := $(call convert-to-clang-flags,$(my_ldflags)) else # gcc does not handle hidden functions in a manner compatible with LLVM libcxx # see b/27908145 diff --git a/core/clang/HOST_x86.mk b/core/clang/HOST_x86.mk index c89fca85f..b6e12058f 100644 --- a/core/clang/HOST_x86.mk +++ b/core/clang/HOST_x86.mk @@ -50,11 +50,4 @@ CLANG_CONFIG_x86_HOST_EXTRA_LDFLAGS := \ $(CLANG_CONFIG_x86_HOST_COMBO_EXTRA_LDFLAGS) \ -target $(CLANG_CONFIG_x86_HOST_TRIPLE) -define $(clang_2nd_arch_prefix)convert-to-host-clang-flags - $(strip \ - $(call subst-clang-incompatible-x86-flags,\ - $(filter-out $(CLANG_CONFIG_x86_UNKNOWN_CFLAGS),\ - $(1)))) -endef - $(clang_2nd_arch_prefix)HOST_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686.a diff --git a/core/clang/HOST_x86_64.mk b/core/clang/HOST_x86_64.mk index ce452a3e2..e4f72f8df 100644 --- a/core/clang/HOST_x86_64.mk +++ b/core/clang/HOST_x86_64.mk @@ -50,11 +50,4 @@ CLANG_CONFIG_x86_64_HOST_EXTRA_LDFLAGS := \ $(CLANG_CONFIG_x86_64_HOST_COMBO_EXTRA_LDFLAGS) \ -target $(CLANG_CONFIG_x86_64_HOST_TRIPLE) -define convert-to-host-clang-flags - $(strip \ - $(call subst-clang-incompatible-x86_64-flags,\ - $(filter-out $(CLANG_CONFIG_x86_64_UNKNOWN_CFLAGS),\ - $(1)))) -endef - HOST_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-x86_64.a diff --git a/core/clang/TARGET_arm.mk b/core/clang/TARGET_arm.mk index 9ff19b4f8..a0de716a3 100644 --- a/core/clang/TARGET_arm.mk +++ b/core/clang/TARGET_arm.mk @@ -37,13 +37,6 @@ CLANG_CONFIG_arm_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_arm_TARGET_TOOLCHAIN_PREFIX) -define $(clang_2nd_arch_prefix)convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-arm-flags,\ - $(filter-out $(CLANG_CONFIG_arm_UNKNOWN_CFLAGS),\ - $(1)))) -endef - $(clang_2nd_arch_prefix)RS_TRIPLE := armv7-linux-androideabi $(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := armv7-none-linux-gnueabi diff --git a/core/clang/TARGET_arm64.mk b/core/clang/TARGET_arm64.mk index 77390d08b..cb62c6105 100644 --- a/core/clang/TARGET_arm64.mk +++ b/core/clang/TARGET_arm64.mk @@ -36,13 +36,6 @@ CLANG_CONFIG_arm64_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_arm64_TARGET_TOOLCHAIN_PREFIX) -define convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-arm64-flags,\ - $(filter-out $(CLANG_CONFIG_arm64_UNKNOWN_CFLAGS),\ - $(1)))) -endef - RS_TRIPLE := aarch64-linux-android RS_TRIPLE_CFLAGS := RS_COMPAT_TRIPLE := aarch64-linux-android diff --git a/core/clang/TARGET_mips.mk b/core/clang/TARGET_mips.mk index 46a9966f7..9e0a4173a 100644 --- a/core/clang/TARGET_mips.mk +++ b/core/clang/TARGET_mips.mk @@ -37,13 +37,6 @@ CLANG_CONFIG_mips_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_mips_TARGET_TOOLCHAIN_PREFIX) -define $(clang_2nd_arch_prefix)convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-mips-flags,\ - $(filter-out $(CLANG_CONFIG_mips_UNKNOWN_CFLAGS),\ - $(1)))) -endef - $(clang_2nd_arch_prefix)RS_TRIPLE := armv7-linux-androideabi $(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := RS_COMPAT_TRIPLE := mipsel-linux-android diff --git a/core/clang/TARGET_mips64.mk b/core/clang/TARGET_mips64.mk index 9f86a4805..20eae5a55 100644 --- a/core/clang/TARGET_mips64.mk +++ b/core/clang/TARGET_mips64.mk @@ -36,13 +36,6 @@ CLANG_CONFIG_mips64_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_mips64_TARGET_TOOLCHAIN_PREFIX) -define convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-mips64-flags,\ - $(filter-out $(CLANG_CONFIG_mips64_UNKNOWN_CFLAGS),\ - $(1)))) -endef - RS_TRIPLE := aarch64-linux-android RS_TRIPLE_CFLAGS := RS_COMPAT_TRIPLE := mips64el-linux-android diff --git a/core/clang/TARGET_x86.mk b/core/clang/TARGET_x86.mk index 51cf1c501..d319a01de 100644 --- a/core/clang/TARGET_x86.mk +++ b/core/clang/TARGET_x86.mk @@ -43,13 +43,6 @@ CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) -define $(clang_2nd_arch_prefix)convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-x86-flags,\ - $(filter-out $(CLANG_CONFIG_x86_UNKNOWN_CFLAGS),\ - $(1)))) -endef - $(clang_2nd_arch_prefix)RS_TRIPLE := armv7-linux-androideabi $(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := -D__i386__ $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := i686-linux-android diff --git a/core/clang/TARGET_x86_64.mk b/core/clang/TARGET_x86_64.mk index 08649592d..e57aaf843 100644 --- a/core/clang/TARGET_x86_64.mk +++ b/core/clang/TARGET_x86_64.mk @@ -36,13 +36,6 @@ CLANG_CONFIG_x86_64_TARGET_EXTRA_LDFLAGS := \ -B$(CLANG_CONFIG_x86_64_TARGET_TOOLCHAIN_PREFIX) -define convert-to-clang-flags - $(strip \ - $(call subst-clang-incompatible-x86_64-flags,\ - $(filter-out $(CLANG_CONFIG_x86_64_UNKNOWN_CFLAGS),\ - $(1)))) -endef - RS_TRIPLE := aarch64-linux-android RS_TRIPLE_CFLAGS := -D__x86_64__ RS_COMPAT_TRIPLE := x86_64-linux-android diff --git a/core/clang/arm.mk b/core/clang/arm.mk index a5472f4b3..f8f9632c4 100644 --- a/core/clang/arm.mk +++ b/core/clang/arm.mk @@ -8,34 +8,8 @@ CLANG_CONFIG_arm_EXTRA_CPPFLAGS := CLANG_CONFIG_arm_EXTRA_LDFLAGS := -# Include common unknown flags -CLANG_CONFIG_arm_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -mthumb-interwork \ - -fgcse-after-reload \ - -frerun-cse-after-loop \ - -frename-registers \ - -fno-align-jumps \ - -fno-builtin-sin \ - -fno-caller-saves \ - -fno-early-inlining \ - -fno-move-loop-invariants \ - -fno-partial-inlining \ - -fno-strict-volatile-bitfields \ - -fno-tree-copy-prop \ - -fno-tree-loop-optimize - ifneq (,$(filter krait,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT))) # Android's clang support's krait as a CPU whereas GCC doesn't. Specify # -mcpu here rather than the more normal core/combo/arch/arm/armv7-a-neon.mk. CLANG_CONFIG_arm_EXTRA_CFLAGS += -mcpu=krait -mfpu=neon-vfpv4 - - # This isn't really unknown, but allows us to only set -mcpu=krait - CLANG_CONFIG_arm_UNKNOWN_CFLAGS += -mcpu=cortex-a15 endif - -define subst-clang-incompatible-arm-flags - $(subst -march=armv5te,-march=armv5t,\ - $(subst -march=armv5e,-march=armv5,\ - $(1))) -endef diff --git a/core/clang/arm64.mk b/core/clang/arm64.mk index cad7321ec..94b17f59e 100644 --- a/core/clang/arm64.mk +++ b/core/clang/arm64.mk @@ -5,17 +5,3 @@ CLANG_CONFIG_arm64_EXTRA_ASFLAGS := CLANG_CONFIG_arm64_EXTRA_CFLAGS := CLANG_CONFIG_arm64_EXTRA_LDFLAGS := - -# Include common unknown flags -CLANG_CONFIG_arm64_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -fgcse-after-reload \ - -frerun-cse-after-loop \ - -frename-registers \ - -fno-strict-volatile-bitfields \ - -fno-align-jumps - -# We don't have any arm64 flags to substitute yet. -define subst-clang-incompatible-arm64-flags - $(1) -endef diff --git a/core/clang/config.mk b/core/clang/config.mk index c7499ab2a..ccfd0f2fe 100644 --- a/core/clang/config.mk +++ b/core/clang/config.mk @@ -85,6 +85,30 @@ CLANG_CONFIG_UNKNOWN_CFLAGS := \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ -fdiagnostics-color \ + -mthumb-interwork \ + -fgcse-after-reload \ + -frerun-cse-after-loop \ + -frename-registers \ + -fno-align-jumps \ + -fno-builtin-sin \ + -fno-caller-saves \ + -fno-early-inlining \ + -fno-move-loop-invariants \ + -fno-partial-inlining \ + -fno-strict-volatile-bitfields \ + -fno-tree-copy-prop \ + -fno-tree-loop-optimize \ + -msynci \ + -mno-synci \ + -mno-fused-madd \ + -finline-limit=300 \ + -fno-inline-functions-called-once \ + -mfpmath=sse \ + -mbionic + +define convert-to-clang-flags +$(strip $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(1))) +endef # Clang flags for all host rules CLANG_CONFIG_HOST_EXTRA_ASFLAGS := diff --git a/core/clang/mips.mk b/core/clang/mips.mk index aeb2f6a37..f5238c903 100644 --- a/core/clang/mips.mk +++ b/core/clang/mips.mk @@ -3,19 +3,3 @@ CLANG_CONFIG_mips_EXTRA_ASFLAGS := CLANG_CONFIG_mips_EXTRA_CFLAGS := CLANG_CONFIG_mips_EXTRA_LDFLAGS := - -# Include common unknown flags -CLANG_CONFIG_mips_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -fno-strict-volatile-bitfields \ - -fgcse-after-reload \ - -frerun-cse-after-loop \ - -frename-registers \ - -msynci \ - -mno-synci \ - -mno-fused-madd - -# We don't have any mips flags to substitute yet. -define subst-clang-incompatible-mips-flags - $(1) -endef diff --git a/core/clang/mips64.mk b/core/clang/mips64.mk index 20e87bd9e..4c410d337 100644 --- a/core/clang/mips64.mk +++ b/core/clang/mips64.mk @@ -3,19 +3,3 @@ CLANG_CONFIG_mips64_EXTRA_ASFLAGS := CLANG_CONFIG_mips64_EXTRA_CFLAGS := CLANG_CONFIG_mips64_EXTRA_LDFLAGS := - -# Include common unknown flags -CLANG_CONFIG_mips64_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -fno-strict-volatile-bitfields \ - -fgcse-after-reload \ - -frerun-cse-after-loop \ - -frename-registers \ - -msynci \ - -mno-synci \ - -mno-fused-madd - -# We don't have any mips64 flags to substitute yet. -define subst-clang-incompatible-mips64-flags - $(1) -endef diff --git a/core/clang/x86.mk b/core/clang/x86.mk index 69c3fb2af..f588209e8 100644 --- a/core/clang/x86.mk +++ b/core/clang/x86.mk @@ -4,16 +4,3 @@ CLANG_CONFIG_x86_EXTRA_ASFLAGS := \ -msse3 CLANG_CONFIG_x86_EXTRA_CFLAGS := CLANG_CONFIG_x86_EXTRA_LDFLAGS := - -# Include common unknown flags -CLANG_CONFIG_x86_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -finline-limit=300 \ - -fno-inline-functions-called-once \ - -mfpmath=sse \ - -mbionic - -# We don't have any x86 flags to substitute yet. -define subst-clang-incompatible-x86-flags - $(1) -endef diff --git a/core/clang/x86_64.mk b/core/clang/x86_64.mk index cba10d47b..c8f1f6ebe 100644 --- a/core/clang/x86_64.mk +++ b/core/clang/x86_64.mk @@ -3,16 +3,3 @@ CLANG_CONFIG_x86_64_EXTRA_ASFLAGS := CLANG_CONFIG_x86_64_EXTRA_CFLAGS := CLANG_CONFIG_x86_64_EXTRA_LDFLAGS := - -# Include common unknown flags -CLANG_CONFIG_x86_64_UNKNOWN_CFLAGS := \ - $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ - -finline-limit=300 \ - -fno-inline-functions-called-once \ - -mfpmath=sse \ - -mbionic - -# We don't have any x86_64 flags to substitute yet. -define subst-clang-incompatible-x86_64-flags - $(1) -endef