On 3/29/09, Martin Gysel <[email protected]> wrote:
> afaik arm-softfloat-elf should also work and should be used as the STM32
>  doesn't have a floating point unit... (I use it on a luminary board)
>  what I'm still wondering, how do I enable the arm EABI?

Normally, you set the fourth field of the GNU architecture name to
-gnueabi instead of -gnu, such as arm-blah-linux-gnueabi. I have also
seen arm-none-eabi quoted as building successfully, but know nothing
of this.

> do I have to configure this at build time

That is the usual way

> can it be done through a compiler switch

You can also select EABI with appropriate command-line switches to any
GNU ARM compiler (from 4.1.1 on), but this is unusual. You normally
build the compiler to the system-wide default that you need.

> afaik you need EABI if you want to link you code against libraries which were 
> build with a different compiler, say IAR

You need EABI if you want to link against other EABI binaries. The ABI
is a set of conventions for where you put parameters to function
calls, and where results are returned (on the stack? in registers?
which registers?) plus stuff like how objects must be aligned in
memory, how structure elements are laid out, the default size in bytes
of enums (a byte? a word?) and so on.

Lots of details are at wiki.debian.org/ArmEabiPort

    M

Reply via email to