[U-Boot] Building omap3_sdp3430 fails with older compilers

Wolfgang Denk wd at denx.de
Fri Jun 18 11:25:25 CEST 2010


The changes introduced by this commit:

	commit 7a2aa8b68120f333ed2edc33475ca195810d6cb1
	Author: Tom Rix <Tom.Rix at windriver.com>
	Date:   Thu Sep 10 15:27:57 2009 -0400

	    OMAP3 Move cache routine to cache.S

added, among other things, a number of "push" and "pop" instructions
to arch/arm/cpu/arm_cortexa8/omap3/cache.S; older tool chains (like
GCC 4.0.0 as included for example with ELDK 4.1) barf on these:

-> eldk-switch -r 4.1 arm
Setup for arm-linux (using ELDK 4.1)
-> ./MAKEALL omap3_sdp3430
Configuring for omap3_sdp3430 board...
cache.S: Assembler messages:
cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}'
cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}'
cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}'
cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}'
make[1]: *** [cache.o] Error 1
make: *** [arch/arm/cpu/arm_cortexa8/omap3/libomap3.a] Error 2


Is there a way to write this code without suing these insns?

Thanks in advance.

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
God may be subtle, but He isn't plain mean.         - Albert Einstein


More information about the U-Boot mailing list