[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4164423.46Jfedud5Y@wuerfel>
Date: Mon, 16 Nov 2015 14:15:58 +0100
From: Arnd Bergmann <arnd@...db.de>
To: linux-arm-kernel@...ts.infradead.org
Cc: Joseph Myers <joseph@...esourcery.com>,
Rich Felker <dalias@...c.org>,
Catalin Marinas <catalin.marinas@....com>,
Chris Metcalf <cmetcalf@...hip.com>,
Yury Norov <ynorov@...iumnetworks.com>,
Philipp Tomsich <philipp.tomsich@...obroma-systems.com>,
"Kapoor, Prasun" <Prasun.Kapoor@...iumnetworks.com>,
Andreas Schwab <schwab@...e.de>,
Alexander Graf <agraf@...e.de>,
Andrey Konovalov <andrey.konovalov@...aro.org>,
Mike Frysinger <vapier@...too.org>,
Andrew Pinski <pinskia@...il.com>,
Alexey Klimov <klimov.linux@...il.com>, broonie@...nel.org,
bamvor.zhangjian@...wei.com, David Daney <ddaney.cavm@...il.com>,
Paul Eggert <eggert@...ucla.edu>,
Nathan Lynch <Nathan_Lynch@...tor.com>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Pinski <apinski@...ium.com>,
Jan Dakinevich <jan.dakinevich@...il.com>,
christoph.muellner@...obroma-systems.com
Subject: Re: [PATCH v6 13/17] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it
On Monday 16 November 2015 12:34:55 Joseph Myers wrote:
> On Mon, 16 Nov 2015, Arnd Bergmann wrote:
>
> > > It's not a matter of leaving anything out - these would simply use 64-bit
> > > off_t (__off_t and __off64_t would be the same type) and the *64 versions
> > > would be aliases, exactly the same as on 64-bit architectures. (And
> > > _FILE_OFFSET_BITS handling would also be exactly the same as on 64-bit
> > > architectures.) I see no reason for the set of off_t-related symbols that
> > > exist, or which symbols are aliases of which others, to vary between pure
> > > 64-bit systems and ILP32 ABIs (for 32-bit or 64-bit architectures) that
> > > simply happen to have had 64-bit off_t from the start.
> >
> > Ok, fair enough. So we just change the global __OFF_T_TYPE definition
> > in bits/typesizes.h and override it for all the existing 32-bit ports,
> > correct?
>
> Well, it's sysdeps/unix/sysv/linux/generic/bits/typesizes.h that's
> relevant - so if future generic architectures will use 64-bit off_t, I
> suppose the existing file could be cloned for existing generic
> architectures with 32-bit support.
Ok, got it.
> And all the types involved in struct stat are affected (e.g. ino_t),
> not just off_t.
ino_t seems to be the only other type in 'struct stat' that depends
on _FILE_OFFSET_BITS in glibc. On the kernel side, we don't care about
__kernel_ino_t any more, we just leave that defined as 'unsigned long'
while using a plain 'unsigned long long' for 'st_ino' in struct stat64
(and don't use __kernel_ino_t anywhere else either).
> And getting the aliases
> right may involve disentangling the different meanings of wordsize-64 into
> different sysdeps directories. ("off_t is off64_t" and "stat is stat64"
> are not the same thing. See MIPS n64.) And the design work needs to be
> done on libc-alpha, not in a random discussion elsewhere.
Sure. For the moment, we have all the information we need for the kernel
side at least: we will keep using only 64-bit __kernel_loff_t on the
system call side in new architecture ports and let you figure out how
to work with that on the glibc side whenever the next 32-bit port arrives,
which I assume will be arm64-ilp32.
The 'struct stat' discussion will of course come back soon when we get to
the 64-bit time_t patches, or when we introduce the extended stat syscall,
whichever happens first.
Thanks a lot for your help!
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists