Coda File System

Re: 64-bit issues (fwd)

From: Michael Tautschnig <michael.tautschnig_at_zt-consulting.com>
Date: Mon, 2 Aug 2004 13:10:29 +0200 (CEST)
> >>>>> "Jan" == Jan Harkes <jaharkes_at_cs.cmu.edu> writes:
>
>     Jan> only the 'long' datatype is difficult because (afaik) it is
>     Jan> defined as the size required to store a pointer.
>
> I don't think there's really a common agreement on that, either.  In
> particular ISTR that fails on the IA64 with function pointers.

I don't know anything about IA64 (and why that should fail), but probably
stdint.h is the best reference for such a discussion; it seems as if Jan
were right, but IMHO the c99-standard does not specify such a thing since
it only requires long to be large enough to store the usual 32-bit
numbers.

Isn't the userland/kernel-interface the problem? What about moving
int,long to consistent declarations of int32_t, int64_t etc.? Furthermore
it is problably acceptable to cast all (userland)pointers to u_int64_t to
allow 32-bit userland on 64-bit kernels!?

-- Michael
Received on 2004-08-02 07:14:31