FS#10430 - EABI toolchain for ARM targets.
Opened by Andrew Mahone (Unhelpful) - Saturday, 11 July 2009, 09:13 GMT
Last edited by Rafaël Carré (funman) - Wednesday, 16 June 2010, 18:47 GMT
Updates rockbox-dev.sh to build gcc-4.3.3 and binutils-2.19.51 for ARM, allowing targets which can't map all functions within short-call range of each other to use short calls everywhere, which will be pointed at stubs that jump to the proper target if it is out of range for a short call. This saves about 45KB on e200, as well as making calls between functions in different source files faster, provided that caller and callee are within short-call range.
The down side is that targets that don't need this appear to get a bit larger, and that EABI has different structure packing specifications, so that structures that are written to disk will no longer be compatible, and asm that relies on C struct size or packing may need rewritten. Core JPEG is fixed with regard to these new rules, but nothing else has been yet. despite that, I haven't yet found anything in core that doesn't work. Codecs i've tested (vorbis, mp3) are broken, probably due to structure packing changes.
To use this patch, you'll need to store the gcc diff in your rbdev-dl directory before running rockbox-dev.sh, since the script will try to download it otherwise.
Wednesday, 16 June 2010, 18:47 GMT
Reason for closing: Out of Date