Fifth draft of the Y2038 design document

Chris Metcalf cmetcalf@mellanox.com
Wed Mar 8 18:07:00 GMT 2017


On 2/22/2017 4:16 PM, Joseph Myers wrote:
> That said, I think the following ABIs use 64-bit register size in
> userspace while being ILP32 ABIs.  You'll need to examine the code more
> closely in each case to determine what size time_t is, and to what extent
> if any 64-bit registers are involved in the syscall ABI.  There may be
> other cases where 64-bit registers can in fact be used for what's normally
> considered a 32-bit ABI (e.g. people have done some work on being able to
> use 64-bit registers for 32-bit powerpc code, although the registers are
> 32-bit for all purposes in the function-calling ABI).
>
> AArch64 ILP32 (not yet in glibc)
> MIPS n32
> TileGX32
> x86_64 x32

TILE-Gx ILP32 mode uses only the low 32 bits of registers for all
syscalls.  It uses the full 64-bit register size for "long long" and
the ABI generally permits passing and returning such values in a
single register; we just don't ever do that with the kernel ABI.

-- 
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com



More information about the Libc-alpha mailing list