[U-Boot] [RFC] ARM: Toolchain configuration for Cortex A8 based OMAP3?

Wolfgang Denk wd at denx.de
Wed Aug 27 21:56:38 CEST 2008


Dear Dirk,

In message <48B5831E.3070002 at googlemail.com> you wrote:
...
> Now, the remaining question is what to do with
> 
> +CROSS_COMPILE = arm-none-linux-gnueabi-
> 
> +PLATFORM_CPPFLAGS += -march=armv7a
> 
> we still have above.
> 
> Checking our code, it seems we need -march=armv7a. Else one file 
> wouldn't compile any more. E.g. replacing armv7a with armv4 results in
> 
> - a lot of warnings "warning: target CPU does not support interworking"
> 
> - start.S compilation in our patch fails:
> 
> start.S: Assembler messages:
> start.S:466: Error: selected processor does not support `isb'
> start.S:475: Error: selected processor does not support `clz r5,r4'
> start.S:500: Error: selected processor does not support `isb'

Is it really necessary to use these  instructions,  or  would  it  be
possible to modify the code to use other (less optimal, but generally
available) instructions?

> Possible solutions:
> 
> a) Post patch without modifying CROSS_COMPILE, resulting in usage of 
> arm-linux-. With this, we would locally overwrite CROSS_COMPILE at 
> command line with toolchain we like. I'm not sure if the standard 
> arm-linux- toolchain used for "make all" supports -march=armv7a, though.

Assume it  doesn't.  I  think  U-Boot  code  should  make  as  little
requirements  on  the  toolchain as possible. Of course there emay be
situations where it cannot be avoided -  but  if  all  we  win  is  a
certain level of better optimization in the code, I tend to decide in
favour of less restrictive build environments.

> b) Introduce something like new
> 
> ifeq ($(ARCH),cortex-arm)
> CROSS_COMPILE = arm-none-linux-gnueabi-
> endif
> 
> I don't know if this would be accepted and how to do it cleanly, though.

This is just another way to express the same problem.

> c) More?

Try to modify the code such that any of the many ARM tool chains
floating around can build your code.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I'm frequently appalled by the low regard you Earthmen have for life.
	-- Spock, "The Galileo Seven", stardate 2822.3


More information about the U-Boot mailing list