Fri Aug 30 03:07:31 EDT 2013

Building Toolchains

- sat https://github.com/esden/summon-arm-toolchain

I have one built on 2012-12-5, but according to the above this is no
longer under development. It refers to https://launchpad.net/gcc-arm-embedded

- crosstool-ng http://crosstool-ng.org/

Trying this now..  Failed:

[ERROR]    checking for suffix of object files... configure: error: in `/home/tom/ct-ng/.build/arm-unknown-eabi/build/build-cc-core-pass-2/arm-unknown-eabi/libgcc':
[ERROR]    configure: error: cannot compute suffix of object files: cannot compile
[ERROR]    make[1]: *** [configure-target-libgcc] Error 1


conftest.c: In function 'main':
conftest.c:12:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI

Weird..  Should I pick a different float arch?
Linaro has hardfloat thumb?  Trying latest..

- cortex m4 hardfloat toolchain:

Also recommends to look at gcc-arm-embedded

- https://launchpad.net/gcc-arm-embedded
GCC dev by ARM employees.

It does hardfloat:

tom@tx:/tmp$ ~/gcc-arm-embedded/gcc-arm-none-eabi-4_7-2013q2/bin/arm-none-eabi-gcc -O3 -ffast-math -mfpu=vfp -mfloat-abi=hard -mthumb -mcpu=cortex-m4 -c test.c 
tom@tx:/tmp$ ~/gcc-arm-embedded/gcc-arm-none-eabi-4_7-2013q2/bin/arm-none-eabi-objdump -d test.o

test.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <test>:
   0:   eddf 7a02       vldr    s15, [pc, #8]   ; c <test+0xc>
   4:   ee30 0a27       vadd.f32        s0, s0, s15
   8:   4770            bx      lr
   a:   bf00            nop
   c:   42f60000        .word   0x42f60000

So, these options are necessary:
-mthumb           enables thumb-2 mode
-mfloat-abi=hard  since not all M4 have hard float