On Tue, Jun 26, 2012 at 10:56 PM, Mark Butler <butl...@middle.net> wrote: > > > On Tuesday, June 26, 2012 3:22:45 PM UTC-6, H.J. wrote: >> >> On Tue, Jun 26, 2012 at 2:11 PM, Mark Butler wrote: >> > >> >> x32 is designed to replace ia32 where long is 32-bit, not x86-64. >> >> >> > I understand, but wouldn't L64P32 be much better in the long run? In >> > terms >> > of compatibility with LP64, and an LP64 kernel in particular? The >> > structure >> > layouts of any structure that did not contain pointers would be >> > identical, >> > for example. struct timeval, struct timespec, struct stat, and on and >> > on... >> >> Linux/x32 uses the same layout for struct timeval, struct timespec, struct >> stat, >> as Linux/x86-64. It is orthogonal to L64 vs L32. >> > If POSIX requires struct timespec to look like this: > > struct timespec { > time_t tv_sec; > long tv_nsec; > } > > then how can an ABI with 32 bit longs have the same struct timespec layout > as an ABI with 64 bit longs? >
We changed it to struct timespec { __time_t tv_sec; /* Seconds. */ __syscall_slong_t tv_nsec; /* Nanoseconds. */ }; -- H.J.