This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.
- From: Yury Norov <ynorov at caviumnetworks dot com>
- To: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- Cc: <libc-alpha at sourceware dot org>, <linux-kernel at vger dot kernel dot org>, <nd at arm dot com>, <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>, <maxim dot kuvyrkov at linaro dot org>, <joseph at codesourcery dot com>, <pinskia at gmail dot com>, Andrew Pinski <apinski at cavium dot com>
- Date: Thu, 23 Jun 2016 07:35:42 +0300
- Subject: Re: [PATCH 01/27] [AARCH64] Fix utmp struct for compatibility reasons.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp dot mailfrom=Yuri dot Norov at caviumnetworks dot com;
- References: <1466485631-3532-1-git-send-email-ynorov at caviumnetworks dot com> <1466485631-3532-2-git-send-email-ynorov at caviumnetworks dot com> <5769139E dot 7020805 at arm dot com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Tue, Jun 21, 2016 at 11:14:54AM +0100, Szabolcs Nagy wrote:
> On 21/06/16 06:06, Yury Norov wrote:
> > From: Andrew Pinski <apinski@cavium.com>
> >
> > NOTE This is an ABI change for AARCH64.
> > If you have some AARCH32 and AARCH64 applications and they both use
> > utmp, one of them will fail due to the use of time_t inside the
> > utmp binary format.
> >
> > This fixes the problem by setting __WORDSIZE_TIME64_COMPAT32.
>
> i think changing the abi now is not ok.
>
> this is BZ 17470 and i think it should be discussed separately
> from ilp32.
>
> if it's possible to detect the utmp file format, that would
> allow a reasonable fix, the way glibc changes the struct def
> based on lp64 targets is non-conforming.
Hi Joseph, Szabolcs,
I revised it and found that we don't need __WORDSIZE_TIME64_COMPAT32
because ilp32 already has 32-bit time_t.
So for now sysdeps/aarch64/bits/wordsize.h is looking like this:
#ifdef __LP64__
# define __WORDSIZE 64
#else
# define __WORDSIZE 32
# define __WORDSIZE32_SIZE_ULONG 1
# define __WORDSIZE32_PTRDIFF_LONG 1
#endif
is it OK? Andrew?