[U-Boot-Users] [patch 0/3] KB9202 CodeSourcery ARM EABI toolchainbuild fixes

Peter Pearse peter.pearse at arm.com
Wed Jan 23 16:37:49 CET 2008


> -----Original Message-----
> From: u-boot-users-bounces at lists.sourceforge.net 
> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf 
> Of Johannes Stezenbach
> Sent: 25 October 2007 17:11
> To: u-boot-users at lists.sourceforge.net
> Subject: [U-Boot-Users] [patch 0/3] KB9202 CodeSourcery ARM 
> EABI toolchainbuild fixes
> 
> Hi,
> 
> I'm pretty new to u-boot and ARM stuff, so please review carefully.
>

I'll use my careful review as the reason this reply is so late ;-)
 
> I wanted to build u-boot-1.3.0-rc3 for the KwikByte KB9202 
> board with the current ARM toolchain from CodeSourcery.
> I needed the following three patches to get it to build.
> 
> The first one is probably a bugfix needed for other toolchains, too.

Thanks for this - it has alerted me to the use of 
sub rx, rx, #CONSTANT in several of the ARM .S assembler files.
Whilst sub rx, rx, #CONSTANT saves code size it does demand
that users understand their constants, what they are for and where
they are used.
For ARM #CONSTANT in this context must be capable of being formed by
rotating
an 8 bit constant in a 32 bit register 
e.g. 0x22000 is allowed whereas 0x20200 is not.

I am going to reject your patch though. It is the code that should be
changed.
I have added an action to my list of required patches 
http://www.denx.de/wiki/UBoot/PatchStatus to examine the use of constants in
the ARM assembler 
code. 

> The other two patches are specific to the CodeSourcery 
> toolchain (or probably to any EABI toolchain with gcc-4.2.x). 
> I haven't checked if they break the build for other ARM 
> toolchains, so it's probably better to not apply them unless 
> someone else confirms they're OK.
>

Thanks for submitting these - they will be of use/interest to users building
EABI code. 

However I do not propose to submit them to the main tree since they are
toolchain
specific. The standard toolchain for building U-Boot is that supplied in the
ELDK
http://www.denx.de/wiki/DULG/ELDK.
Of course many users have reasons for using others, however to support all
possible
toolchains would result in a support nightmare.....

Sorry for the delayed response

Regards

Peter






More information about the U-Boot mailing list