
From 2cfa4b5789a6c01f6120663cc36ca751e2e5d172 Mon Sep 17 00:00:00 2001 From: Richard Retanubun RichardRetanubun@RuggedCom.com Date: Wed, 18 Mar 2009 17:12:47 -0400 Subject: [PATCH] Improved gcc version detection for more optimized code.
This patch makes the gcc version detection more flexible. gcc 4.2+ supports -mcpu option, which allows more optimized code. Without this patch, building on gcc 4.3.3 breaks on:
start.S:144: Error: operands mismatch -- statement `movec %d0,%RAMBAR1' ignored
Author: Len Sorensen lsorense@csclub.uwaterloo.ca ---
Hi TC,
Incidentally, I am also trying to move to gcc 4.3.x (4.3.3), and just saw your patch. Len Sorensen from my team suggested this detection scheme, similar to how linux does it, I think. (this way you will still be ok if someone still uses gcc-4.0)
I don't have enough coldfire variants to test, so I can't testify to all of them, but the MCF5270/1 compiles ok.
- Richard
cpu/mcf52x2/config.mk | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/cpu/mcf52x2/config.mk b/cpu/mcf52x2/config.mk index 8292736..c4726af 100644 --- a/cpu/mcf52x2/config.mk +++ b/cpu/mcf52x2/config.mk @@ -33,9 +33,11 @@ is5272:=$(shell grep CONFIG_M5272 $(TOPDIR)/include/$(cfg)) is5275:=$(shell grep CONFIG_M5275 $(TOPDIR)/include/$(cfg)) is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
+# If gcc 4.2 or greater use -mcpu= otherwise use -m5307 on gcc 4.1 and older +GCC_SUPPORTS_MCPU = $(shell if [ `echo __GNUC__ __GNUC_MINOR__ | $(CC) -E -xc - \ + | tail -n 1 | sed -e 's/ /0/'` -gt 401 ];then echo yes; else echo no; fi)
-ifneq ($(findstring 4.1,$(shell $(CC) --version)),4.1) - +ifeq ($(GCC_SUPPORTS_MCPU),yes) ifneq (,$(findstring CONFIG_M5249,$(is5249))) PLATFORM_CPPFLAGS += -mcpu=5249 endif