This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 10/23] [AARCH64] Detect ILP32 in configure scripts.
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Yury Norov <ynorov at caviumnetworks dot com>
- Cc: <libc-alpha at sourceware dot org>, <linux-kernel at vger dot kernel dot org>, <arnd at arndb dot de>, <catalin dot marinas at arm dot com>, <marcus dot shawcroft at arm dot com>, <philb at gnu dot org>, <davem at davemloft dot net>, <szabolcs dot nagy at arm dot com>, <maxim dot kuvyrkov at linaro dot org>, <pinskia at gmail dot com>, <bamvor dot zhangjian at huawei dot com>, <schwab at suse dot de>, <fweimer at redhat dot com>, <Prasun dot Kapoor at cavium dot com>, <cmetcalf at mellanox dot com>, <hjl dot tools at gmail dot com>, <adhemerval dot zanella at linaro dot org>, Andrew Pinski <apinski at cavium dot com>
- Date: Tue, 28 Jun 2016 17:35:44 +0000
- Subject: Re: [PATCH 10/23] [AARCH64] Detect ILP32 in configure scripts.
- Authentication-results: sourceware.org; auth=none
- References: <1467131978-669-1-git-send-email-ynorov at caviumnetworks dot com> <1467131978-669-11-git-send-email-ynorov at caviumnetworks dot com> <alpine dot DEB dot 2 dot 20 dot 1606281707020 dot 25214 at digraph dot polyomino dot org dot uk> <20160628171320 dot GA1670 at yury-N73SV>
On Tue, 28 Jun 2016, Yury Norov wrote:
> On Tue, Jun 28, 2016 at 05:07:49PM +0000, Joseph Myers wrote:
> > <https://sourceware.org/ml/libc-alpha/2016-06/msg00785.html> and
> > <https://sourceware.org/ml/libc-alpha/2014-10/msg00639.html> still apply.
> > Please make the changes requested there before any reposting of the patch
> > series.
>
> Yes, I forgot about glibc version. I don't want to add changelogs
> because I think patches order should/may be changed, and as all that
> changelogs touch single file, there will be nightmare to rebase
> series.
The convention is that you include the ChangeLog entry as part of the
patch description, rather than changing the ChangeLog file, to avoid this
issue. But with the formatting exactly matching what would go in the
ChangeLog file, so that for the final commit you just need to update the
date in it and then prepend to the ChangeLog file.
> >> diff --git a/sysdeps/aarch64/preconfigure
> >> b/sysdeps/aarch64/preconfigure
> >> index d9bd1f8..4bcd8e3 100644
> >> --- a/sysdeps/aarch64/preconfigure
> >> +++ b/sysdeps/aarch64/preconfigure
> >> @@ -1,6 +1,15 @@
> >> case "$machine" in
> >> aarch64*)
> >> base_machine=aarch64
> >> - machine=aarch64
> >> + case "$CC $CFLAGS $CPPFLAGS " in
> >> + *" -mabi=ilp32 "*) aarch64_config_abi=ilp32 ;;
> >> + *" -mabi=lp64 "*) aarch64_config_abi=lp64 ;;
> >> + *) aarch64_config_abi=default ;;
> >> + esac
> >> + case $aarch64_config_abi in
> >> + default) machine=aarch64/lp64 aarch64_config_abi=lp64
> >> ;;
> >
> > It would seem better to test how the compiler behaves (what it
> > predefines), as now done for MIPS, so that this works with a compiler
> > configured --with-abi=ilp32 without needing to add an explicit ABI
> > option
> > to CC or CFLAGS.
>
> I didn't understand what you mean here and forgot to ask.
> I didn't work much on glibc, and not familiar to it's build
> system. Could you explain it little more detailed please?
See sysdeps/mips/preconfigure. It runs $CC $CFLAGS $CPPFLAGS -E -dM -xc
/dev/null and extracts predefined macros that relate to the ABI from the
output. This avoids needing to hardcode anything about what the default
ABI might be for a compiler if neither -mabi= option is passed.
--
Joseph S. Myers
joseph@codesourcery.com