Difference between revisions of "EABI on Maverick Crunch"
From Nuclear Physics Group Documentation Pages
Jump to navigationJump to search(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = Notes on making a proper EABI | + | = Notes on making a proper EABI cross compiler for Maverick Crunch (EP9302, EP93xx) processors = |
+ | This is a bit of "higher order hacking" and not too trivial, but it works. Basic compile instructions are at: [[ARM Cross Compiler]] | ||
+ | |||
+ | # Fixup the binutils (2.20) to store the mv registers, according to the patches at: http://www.freelists.org/post/linux-cirrus/Yet-another-MaverickCrunch-hardware-bug,14. Note that I did these patches by hand, since 2.20 is a bit different from 2.17. | ||
+ | # Compile and install the renewed binutils. | ||
# Get the gcc-4.3.4 distribution from GNU | # Get the gcc-4.3.4 distribution from GNU | ||
# Apply the patches of Martin Guy <martinwguy@gmail.com>, found at http://martinwguy.co.uk/martin/crunch | # Apply the patches of Martin Guy <martinwguy@gmail.com>, found at http://martinwguy.co.uk/martin/crunch | ||
# Compile and install the renewed gcc. | # Compile and install the renewed gcc. | ||
− | + | ||
− | + | The new gcc and g++ can now make FPU enabled code when using the additional command line options: -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp | |
+ | |||
+ | You can check if the resulting code (the .o or .so or .a file) contains FPU instructions with the following: | ||
+ | |||
+ | arm-linux-gnueabi-objdump -d libQtCore.so.4.6.0 | gawk '/ \tcf/' | less | ||
+ | |||
+ | (that is, you look for a <space><tab>cf combination). |
Latest revision as of 20:32, 21 January 2010
Notes on making a proper EABI cross compiler for Maverick Crunch (EP9302, EP93xx) processors
This is a bit of "higher order hacking" and not too trivial, but it works. Basic compile instructions are at: ARM Cross Compiler
- Fixup the binutils (2.20) to store the mv registers, according to the patches at: http://www.freelists.org/post/linux-cirrus/Yet-another-MaverickCrunch-hardware-bug,14. Note that I did these patches by hand, since 2.20 is a bit different from 2.17.
- Compile and install the renewed binutils.
- Get the gcc-4.3.4 distribution from GNU
- Apply the patches of Martin Guy <martinwguy@gmail.com>, found at http://martinwguy.co.uk/martin/crunch
- Compile and install the renewed gcc.
The new gcc and g++ can now make FPU enabled code when using the additional command line options: -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp
You can check if the resulting code (the .o or .so or .a file) contains FPU instructions with the following:
arm-linux-gnueabi-objdump -d libQtCore.so.4.6.0 | gawk '/ \tcf/' | less
(that is, you look for a <space><tab>cf combination).