[U-Boot] Building omap3_sdp3430 fails with older compilers

Grazvydas Ignotas notasas at gmail.com
Fri Jun 18 13:59:56 CEST 2010


On Fri, Jun 18, 2010 at 12:25 PM, Wolfgang Denk <wd at denx.de> wrote:
> 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?

Yes, this can be changed to stm/ldm.


More information about the U-Boot mailing list