[U-Boot] [PATCH] Coldire: mcf52x2: Improve gcc version detection

Richard Retanubun RichardRetanubun at RuggedCom.com
Thu Mar 19 15:32:04 CET 2009


 From 2cfa4b5789a6c01f6120663cc36ca751e2e5d172 Mon Sep 17 00:00:00 2001
From: Richard Retanubun <RichardRetanubun at 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 at 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
-- 
1.5.6.5




More information about the U-Boot mailing list