[PATCH] ARM: Use different linker path for hardfloat ABI

Michael Hope michael.hope@linaro.org
Tue Apr 3 23:49:00 GMT 2012


On 4 April 2012 11:11, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Apr 04, 2012 at 09:18:59AM +1200, Michael Hope wrote:
>> >> The subdirectories could be called fred and jim and it would still work.
>> >>  The only thing required is that this part of the naming scheme be
>> >> agreed amongst the distros.
>> >>
>> >> This looks to me like it's turning into a bike-shed painting excerise
>> >> between the distros out there.  That's really sad.
>> >
>> > I don't think we ever even had the discussion: Debian invented their
>> > Debian-internal scheme for managing multiple ABIs.  They have in the past
>> > used patched versions of gcc, as in the case of x86_64.
>>
>> (cc'ed cross-distro as the discussion is also going on there[1].  This
>> patch continues that)
>>
>> I like the idea of incompatible binaries having different loaders.
>> The path doesn't matter but the concept does.  Like i686/x86_64, it
>> gives distros the option to install different binaries alongside each
>> other for compatibility, performance, or upgrade reasons.  The
>> compatibility cost is nice and low and lets Debian do some interesting
>> cross development things.
>
> Does the dynamic linker itself contain any routines that depend on the
> soft/hard ABI?  That would quite surprise me, so I don't see the point of
> having different dynamic linkers for those ABIs.  One dynamic linker should
> handle both just fine.
>
>> No one has released a hard float based distro yet.  We have time to
>> discuss and fix this so we don't get in the crazy situation where a
>> third party binary only runs on some distros.
>
> Isn't e.g. Fedora 17/armv7hl a hard float based distro?

Yip, as is Ubuntu Precise, Debian unstable, and a skew of Gentoo.
None have been released yet.  Here's my understanding:

Fedora 17:
 * ARM is a secondary architecture
 * Alpha 1 release is out
 * Has both a ARMv5 soft float and ARMv7 hard float build

Ubuntu Precise:
 * ARM is a primary architecture
 * Beta 2 is out
 * ARMv7 hard float by default with ARMv7 softfp being community supported

Debian:
 * ARM is a primary architecture
 * Has a ARMv4T soft float and in-development ARMv7 hard float

openSUSE:
 * Kicked off at a hackfest in September 2011
 * Have a ARMv5T soft float and ARMv7 hard float build

Gentoo:
 * I'm unsure (help?)
 * The Gentoo manual suggests ARMv7 softfp is the default

-- Michael



More information about the Gcc-patches mailing list