1 |
On 3/29/09, Martin Gysel <m.gysel@×××.ch> wrote: |
2 |
> afaik arm-softfloat-elf should also work and should be used as the STM32 |
3 |
> doesn't have a floating point unit... (I use it on a luminary board) |
4 |
> what I'm still wondering, how do I enable the arm EABI? |
5 |
|
6 |
Normally, you set the fourth field of the GNU architecture name to |
7 |
-gnueabi instead of -gnu, such as arm-blah-linux-gnueabi. I have also |
8 |
seen arm-none-eabi quoted as building successfully, but know nothing |
9 |
of this. |
10 |
|
11 |
> do I have to configure this at build time |
12 |
|
13 |
That is the usual way |
14 |
|
15 |
> can it be done through a compiler switch |
16 |
|
17 |
You can also select EABI with appropriate command-line switches to any |
18 |
GNU ARM compiler (from 4.1.1 on), but this is unusual. You normally |
19 |
build the compiler to the system-wide default that you need. |
20 |
|
21 |
> afaik you need EABI if you want to link you code against libraries which were build with a different compiler, say IAR |
22 |
|
23 |
You need EABI if you want to link against other EABI binaries. The ABI |
24 |
is a set of conventions for where you put parameters to function |
25 |
calls, and where results are returned (on the stack? in registers? |
26 |
which registers?) plus stuff like how objects must be aligned in |
27 |
memory, how structure elements are laid out, the default size in bytes |
28 |
of enums (a byte? a word?) and so on. |
29 |
|
30 |
Lots of details are at wiki.debian.org/ArmEabiPort |
31 |
|
32 |
M |