From: Denys Dmytriyenko <denis@denix.org>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Cc: Patches and discussions about the oe-core layer
<openembedded-core@lists.linuxtogo.org>,
openembeded-devel <Openembedded-devel@lists.openembedded.org>
Subject: Re: ARM hard-float linker path - consensus
Date: Fri, 13 Apr 2012 15:50:32 -0400 [thread overview]
Message-ID: <20120413195032.GJ13291@denix.org> (raw)
In-Reply-To: <CAMKF1srwijBorqM1e8Ck=PaV82GoPABpqsjnvpevEXYinQ+6YQ@mail.gmail.com>
On Fri, Apr 13, 2012 at 11:11:02AM -0700, Khem Raj wrote:
> FYI this will impact us in coming time. If someone has questions
> please bring it up
While it's a slightly unexpected outcome (/lib/ld-linux-armhf.so.3) it's still
good to see some agreement here.
Do we want to make the necessary toolchain changes right away, or wait for
them to propagate from upstream?
--
Denys
> ---------- Forwarded message ----------
> From: Steve McIntyre <steve.mcintyre@linaro.org>
> Date: Fri, Apr 13, 2012 at 10:37 AM
> Subject: ARM hard-float linker path - consensus
> To: cross-distro@lists.linaro.org
> Cc: libc-ports@sourceware.org, gcc-patches@gcc.gnu.org
>
>
> Hi folks,
>
> As promised, here's minutes from the call we had this
> afternoon. Spoiler: the result we've agreed is
>
> /lib/ld-linux-armhf.so.3
>
> And here's a transcription of the minutes from
>
> https://wiki.linaro.org/OfficeofCTO/HardFloat/LinkerPathCallApr2012
>
> ========================================
>
> Meeting: 13th April 2012, 15:00 UTC
>
> Agenda
> ------
>
> * Debian/Ubuntu have so far built using /lib/arm-linux-gnueabihf/ld-linux.so.3
> * Some other distros (Fedora, OpenSUSE) are still using
> /lib/ld-linux.so.3 option which matches the older soft-float ABI
> * Some people are proposing /libhf/ld-linux.so.3 or
> /libhfp/ld-linux.so.3 (multilib)
> * Some people proposed /lib/ld-arm-linux-gnueabihf.so.3 (similar to
> x86_64, libs still in /lib, from Michael Hope)
> * What should we do as a community?
>
> Present
> -------
>
> Name Affiliations
>
> Steve McIntyre ARM, Debian, Linaro
> Wookey ARM, Debian, Linaro
> Richard Earnshaw ARM, gcc
> Jeff Law Fedora, Red Hat, gcc, glibc
> Jon Masters Fedora, Red Hat
> Andrew Haley Fedora, Red Hat, gcc
> Andreas Jaeger SUSE, openSUSE, glibc
> Carlos O'Donnell Mentor, gcc
> Steve Langasek Canonical, Ubuntu, Debian
> Dann Frazier Canonical, Ubuntu, Debian
> Adam Conrad Canonical, Ubuntu, Debian
> Matthias Klose Canonical, Ubuntu, Debian
> Mike Frysinger Gentoo
> Dennis Gilmore Fedora, Red Hat
>
> Discussion
> ----------
>
> We started with a couple of questions up front to establish the
> grounds for discussion:
>
> * We believed that decision makers were present for all the important
> parties, i.e. all the arm hard-float distros, plus toolchain
> developers. This meant that a decision taken at the meeting could
> be implemented without needing further arguments/negotiations.
>
> * All the people present understood the importance of cross-distro
> binary compatibility, and they all wanted it. This led to agreement
> that we needed to agree on a standard path for the runtime linker
> for ARM hard-float Linux binaries.
>
> Debian and Ubuntu had so far been using the "multi-arch" path of
> /lib/arm-linux-gnueabihf/ld-linux.so.3. Fedora and OpenSUSE were thus
> far using /lib/ld-linux.so.3, the same as the soft-float ABI. Others
> had proposed alternative paths such as /libhf/ld-linux.so.3 or
> /libhfp/ld-linux.so.3 (multilib) or
> /lib/ld-arm-linux-gnueabihf.so.3. Discussion showed that none of these
> were found to be universally acceptable.
>
> Two parties were likely to be soon affected by an agreement here:
>
> 1. Ubuntu 12.04 (releasing with armhf in ~2 weeks)
>
> Adam/Steve L agreed that all efforts would be put in to switch the
> compilers in Ubuntu to a new path before release. Default things like
> gcc would be correct, but less common tools might still be targetting
> the old path /lib/arm-linux-gnueabihf/ld-linux.so. at release. They
> could be fixed in the longer term and would not stop progress here.
>
> 2. Mentor (Codebench due for release in ~1 week)
>
> Carlos mentioned this - Codebench has been using /lib/ld-linux.so.3
> for hard-float binaries for some time and it was too late to change
> that for this upcoming release. Next release due in October. Suggested
> and accepted that this should be mentioned in release notes: if people
> want to use Codebench on some systems (Debian/Ubuntu and derivatives),
> they'll need to tweak their system setup. He may be able to do the
> linker change and rebuild in a point release in a few weeks.
>
> It was briefly suggested that the soft-float linker should be renamed
> away from /lib/ld-linux.so.3 as well at this time, but that idea was
> quickly shot down.
>
> Proposal #1: /lib/ld-armhf.so.3 (not generally liked)
>
> Proposal #2: /lib/ld-linux-armhf.so.3 (not favourite, but considered
> an acceptable compromise by all)
>
> No need to go any further.
>
> Conclusion
> ----------
>
> All the people in the meeting agreed: the new runtime linker path for
> ARM hard-float Linux binaries was to be
>
> /lib/ld-linux-armhf.so.3
>
> ACTION: People at the meeting to present this decision to their
> companies / communities and get the appropriate changes made.
>
> Further discussion
> ------------------
>
> General unhappiness with the mess that led to this meeting. Future
> planning needs to be better between the various groups for the next
> time we have a new CPU/ABI/whatever.
>
> ACTION: Jon Masters to talk to the Linux Foundation about setting up a
> forum for such discussions.
>
> In the meantime, strong consensus to use the
> cross-distro@lists.linaro.org mailing list for any more conversations
> now we have people in contact.
>
> ACTION: Steve McIntyre to write up the minutes and circulate. Include
> an updated linker path patch for gcc to match the decision
> made here.
>
> More discussion about triplets and naming, but nothing came of it in
> the end. Distro folks have already decided what they're using and have
> patched various software to build appropriately. Richard wants to move
> gcc's config.guess to use arm-linux-gnueabihf; no strong objections to
> that.
>
> Linker path patch for gcc
> -------------------------
>
> Adapted from earlier work by Dann Frazier <dann.frazier@canonical.com>
> and Michael Hope <michael.hope@linaro.org>
>
> 2012-04-13 Steve McIntyre <steve.mcintyre@linaro.org>
>
> * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
> (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
>
> diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
> index 80bd825..8c9d2e7 100644
> --- a/gcc/config/arm/linux-eabi.h
> +++ b/gcc/config/arm/linux-eabi.h
> @@ -62,7 +62,11 @@
> /* Use ld-linux.so.3 so that it will be possible to run "classic"
> GNU/Linux binaries on an EABI system. */
> #undef GLIBC_DYNAMIC_LINKER
> -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
> +#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
> +#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
> +#define GLIBC_DYNAMIC_LINKER \
> + "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
> + %{!mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}"
>
> /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
> use the GNU/Linux version, not the generic BPABI version. */
>
>
> Post-meeting on IRC
> -------------------
>
> Suggested that Richard should push the change into gcc trunk
> ASAP. Steve McIntyre agreed to work on that with Richard.
>
> Also suggested that we want to get a patch into glibc too to change
> the installation path for ARM hard-float. Andrew agreed to push glibc
> upstream for that.
>
> Cheers,
> --
> Steve McIntyre steve.mcintyre@linaro.org
> <http://www.linaro.org/> Linaro.org | Open source software for ARM SoCs
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
next prev parent reply other threads:[~2012-04-13 20:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120413173704.GG2880@linaro.org>
2012-04-13 18:11 ` ARM hard-float linker path - consensus Khem Raj
2012-04-13 19:50 ` Denys Dmytriyenko [this message]
2012-04-13 19:58 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120413195032.GJ13291@denix.org \
--to=denis@denix.org \
--cc=Openembedded-devel@lists.openembedded.org \
--cc=openembedded-core@lists.linuxtogo.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox