From: "Joseph S. Myers" <joseph@codesourcery.com>
To: Michael Hope <michael.hope@linaro.org>
Cc: dann frazier <dann.frazier@canonical.com>,
Richard Earnshaw <rearnsha@arm.com>,
"cross-distro@lists.linaro.org"
<cross-distro@lists.linaro.org>,
"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
libc-ports@sourceware.org
Subject: Re: [PATCH] ARM: Use different linker path for hardfloat ABI
Date: Tue, 03 Apr 2012 22:56:00 -0000 [thread overview]
Message-ID: <Pine.LNX.4.64.1204032231160.19861@digraph.polyomino.org.uk> (raw)
In-Reply-To: <CANLjY-nk7ML5QMBd0bKRJBA9stUOdvu1tWZqmFHxpRzObzFw1Q@mail.gmail.com>
On Tue, 3 Apr 2012, Michael Hope wrote:
> +#define GLIBC_DYNAMIC_LINKER \
> + "%{mhard-float:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
> + %{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
> + %{!mfloat-abi=hard:%{!mhard-float:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}}"
(a) -mhard-float is a .opt Alias for -mfloat-abi=hard so does not need to
be handled in specs.
(b) You need to handle compilers configured with --with-float=hard, so
make the specs depend on the default ABI the compiler was configured with.
(c) Please include libc-ports on future submissions and provide both the
GCC patch and the glibc ports patch that have been tested to work together
to build and install the library in the given path; a patch to one
component like this cannot sensibly be considered in isolation. I imagine
you'll need appropriate ARM preconfigure support to detect what ABI the
compiler is using, much like the support for MIPS, so that the right
shlib-versions files are used. I try to follow all ARM glibc discussions
on libc-ports closely, as the ARM glibc maintainer; was there a previous
discussion of the dynamic linker naming issue there that I missed? (The
only previous relevant discussion that I recall is one on
patches@eglibc.org starting at
<http://www.eglibc.org/archives/patches/msg01017.html>, regarding how the
dynamic linker should check that a library has the right ABI, and there
was no real followup on that after I indicated what would seem to be the
appropriate implementation approaches and places for subsequent
discussion.)
I have no idea whether shlib-versions files naming a file in a
subdirectory will work - but if not, you'd need to send a patch to
libc-alpha to support dynamic linkers in subdirectories, with appropriate
justification for why you are doing something different from all other
architectures.
(d) Existing practice for Power Architecture and MIPS at least is that
hard-float and soft-float *don't* use different library directories /
dynamic linkers.
(e) Existing practice for cases that do use different dynamic linkers is
to use a separate library directory, not just dynamic linker name, as in
lib32 and lib64 for MIPS or libx32 for x32; it's certainly a lot easier to
make two sets of libraries work in parallel if you have separate library
directories like that. So it would seem more appropriate to define a
directory libhf for ARM (meaning you need a binutils patch as well to
handle that directory, I think), and these different Debian-style names
could be implemented separately in a multiarch patch if someone submits
one that properly accounts for my review comments on previous patch
versions (failure to produce such a fixed patch being why Debian multiarch
directory support has not got into GCC so far).
--
Joseph S. Myers
joseph@codesourcery.com
next parent reply other threads:[~2012-04-03 22:56 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120329193401.GA14860@dannf.org>
[not found] ` <4F75F2E2.3030909@arm.com>
[not found] ` <20120402210653.GC28152@dannf.org>
[not found] ` <CANLjY-nk7ML5QMBd0bKRJBA9stUOdvu1tWZqmFHxpRzObzFw1Q@mail.gmail.com>
2012-04-03 22:56 ` Joseph S. Myers [this message]
2012-04-04 2:40 ` Michael Hope
2012-04-04 9:06 ` Joseph S. Myers
2012-04-04 12:10 ` Dennis Gilmore
2012-04-05 13:30 ` Konstantinos Margaritis
2012-04-05 14:13 ` Niels de Vos
2012-04-05 15:08 ` Mike Frysinger
2012-04-05 15:24 ` Konstantinos Margaritis
2012-04-05 15:55 ` Mike Frysinger
2012-04-05 16:25 ` Konstantinos Margaritis
2012-04-10 4:10 ` Mike Frysinger
2012-04-05 16:16 ` Steve McIntyre
2012-04-05 17:36 ` Mike Frysinger
2012-04-04 23:33 ` Michael Hope
2012-04-05 0:07 ` Joseph S. Myers
2012-04-05 1:17 ` Michael Hope
2012-04-05 16:05 ` Steve McIntyre
2012-04-05 16:03 ` Steve McIntyre
2012-04-05 1:32 ` dann frazier
2012-04-05 14:57 ` Steve McIntyre
2012-04-10 20:31 ` Carlos O'Donell
[not found] <4F7AC2E1.6010000@redhat.com>
[not found] ` <4F7AD4CA.8010000@arm.com>
[not found] ` <20120403110140.GG16117@tyan-ft48-01.lab.bos.redhat.com>
[not found] ` <4F7B20D2.8060608@arm.com>
[not found] ` <4F7B227F.7060905@redhat.com>
[not found] ` <CANLjY-mDvnn8NcVQfYoUUGZD72GbH7mgYjxWOGOzLMiUwNyp2Q@mail.gmail.com>
[not found] ` <20120403231133.GI16117@tyan-ft48-01.lab.bos.redhat.com>
[not found] ` <CANLjY-=dGK05kzvHVkuo3o7p_iE1cxfTi0f+t-RMmGW+37WSEg@mail.gmail.com>
[not found] ` <CAHAq8pE48=eY77adiKz3PEBapXwkPn6rjr3viMoUKpJq4x-G_A@mail.gmail.com>
[not found] ` <CANLjY-k-sC86gmaTH+h-5o4_D2MOnQHB4ihhDhoPt1HbUzJp9w@mail.gmail.com>
[not found] ` <20120404065412.GJ16117@tyan-ft48-01.lab.bos.redhat.com>
2012-04-04 9:16 ` Joseph S. Myers
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=Pine.LNX.4.64.1204032231160.19861@digraph.polyomino.org.uk \
--to=joseph@codesourcery.com \
--cc=cross-distro@lists.linaro.org \
--cc=dann.frazier@canonical.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=libc-ports@sourceware.org \
--cc=michael.hope@linaro.org \
--cc=rearnsha@arm.com \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).