This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arm-elf multilib issues



On Thu, 1 Oct 2009, Paul Brook wrote:

> > Do we want to enable more multilibs in arm-elf?
>
> Almost certainly not. As far as I'm concerned arm-elf is obsolete, and in
> maintenance only mode. You should be using arm-eabi.

I'm possibly (probably?) wrong, but as far as I know, it forces alignment
of 64-bit datum (namely, doubles and long longs) to 8 byte boundaries,
which does not make sense on small 32-bit cores with 32-bit buses and no
caches (e.g. practically all ARM7TDMI based chips). Memory is a scarce
resource on those and wasting bytes for alignment with no performance
benefit is something that makes arm-eabi less attractive. Also, as far as
I know passing such datums to functions might cause some headache due to
the 64-bit datums being even-register aligned when passing them to
functions, effectively forcing arguments to be passed on the stack
unnecessarily (memory access is rather expensive on a cache-less
ARM7TDMI). If you have to write assembly routines that take long long or
double arguments among other types, that forces you to shuffle registers
and fetch data from the stack. You lose code space, data space and CPU
cycles with absolutely nothing in return.

For resource constrained embedded systems built around one of those
32-bit cores arm-elf is actually rather more attractive than arm-eabi.

Zoltan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]