On Thu, Oct 1, 2009 at 20:22, Paul Brook <p...@codesourcery.com> wrote: > > > > Almost certainly not. As far as I'm concerned arm-elf is obsolete, and in > > > maintenance only mode. You should be using arm-eabi.
Is it now possible to build a 100% arm-eabi functional toolchain (including i.e. newlib) in multilib mode straight from gnu sources? Last time I tried, the only possibility was the codesourcery toolchain, which receives no (public) frequent updates. Something has changed since then? > > 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. > > Meh. Badly written code on antique hardware. > I realise this sounds harsh, but in all seriousness if you take a bit of care > (and common sense) you should get the alignment for free in pretty much all > cases, and it can make a huge difference on ARMv5te cores. > I have to agree with Paul, at least partially. Except for a few bytes wasted now and then regarding the parameter stacking misbehavior you suggested, the other requirements never attempted to bite me. Not even once. But I always had at least 2k of free ram to spare, to me that's a lot :-)