
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Johannes Stezenbach Sent: 25 October 2007 17:11 To: u-boot-users@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