فهرست منبع

toolchain: ARM: Fix option conflict with multiarch

This problem exposed when compiling glibc, but applicable across the
board. gcc compiles runtime libraries for all supported architectures,
unless otherwise specified, and later selects applicable library based
-m[arch,cpu,*] options, thus these options should not be passed to gcc
as they break the compilation process.

Signed-off-by: Boris Krasnovskiy <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
[modified so it only touches ARM - I'm too chicken, changed authors email]
Boris Krasnovskiy 6 سال پیش
والد
کامیت
4cf991bedb
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      toolchain/gcc/common.mk

+ 5 - 0
toolchain/gcc/common.mk

@@ -170,6 +170,11 @@ ifeq ($(CONFIG_arm),y)
 		--with-fpu=$(word 2, $(subst +, ",$(CONFIG_CPU_TYPE))) \
 		--with-float=hard
   endif
+
+  # Do not let TARGET_CFLAGS get poisoned by extra CPU optimization flags
+  # that do not belong here. The cpu,fpu type should be specified via
+  # --with-cpu and --with-fpu for ARM and not CFLAGS.
+  TARGET_CFLAGS:=$(filter-out -m%,$(call qstrip,$(TARGET_CFLAGS)))
 endif
 
 ifeq ($(CONFIG_TARGET_x86)$(CONFIG_USE_GLIBC)$(CONFIG_INSTALL_GCCGO),yyy)