This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [uClinux-dev] why no-mmu cannot support binfmt_aout.c
Closed list CC removed.
On Thu, Jan 29, 2009 at 06:50:46PM +0000, Jamie Lokier wrote:
> Do you really have a policy of including pre-built multilib-ed libc
> and libstdc++ as well as libgcc for all the combinations that make
> sense?
Yes, but that's fewer than you think.
I don't know off the top of my head which libraries we ship. But all
our tools are EABI; and one of the explicit goals of the EABI is to
reduce the number of link-incompatible variants. Others are often
*desirable*, and we obviously ship more than the bare minimum.
We've also made the linker Very Smart(TM) at detecting incompatible
objects, based on ABI-specified object attributes.
> { OABI, EABI soft-float, EABI hard-float }
> times
EABI soft and hard float are link compatible. There's an
incompatible variant of the EABI that uses hardware registers for
arguments in addition to for calculation; GCC will not support it
until 4.5 though.
> { Thumb interwork or not }
> times
The EABI mandates interworking. Linker fixups are used to accomodate
v4; there is an important performance distinction between v4-T and v5
though.
> { ARMv4, ARMv4T, ARMv5, ARMv6, ARMv7 (?) }
> times
All common-denominator compatible.
> { not Thumb, Thumb, Thumb2 }
> times
All compatible.
> { non-PIC, PIC, PIC+single-pic-base }
PIC and non-PIC are compatible. I'm not familiar with
single-pic-base, since there's no existing ARM FDPIC and we do not do
a lot of work with other systems that use a single-pic-base.
--
Daniel Jacobowitz
CodeSourcery