From: Richard Weinberger > Sent: 13 December 2018 09:05 > On Thu, Dec 13, 2018 at 6:03 AM Kevin Easton <kevin@xxxxxxxxxxx> wrote: > > > > On Tue, Dec 11, 2018 at 11:29:14AM +0100, John Paul Adrian Glaubitz wrote: > > ... > > > I can't say anything about the syscall interface. However, what I do know > > > is that the weird combination of a 32-bit userland with a 64-bit kernel > > > interface is sometimes causing issues. For example, application code usually > > > expects things like time_t to be 32-bit on a 32-bit system. However, this > > > isn't the case for x32 which is why code fails to build. > > > > OpenBSD and NetBSD both have 64-bit time_t on 32-bit systems and have > > had for four or five years at this point. > > They can also do flag-day changes and break existing applications, Linux not. Not true at all. The binary compatibility in NetBSD is probably better than that in Linux and goes back a long way. For the time_t changes new system calls numbers were assigned where needed. The system headers and libc were updated so that recompiled code would use the new system calls. The only real advantage that NetBSD has is that its libc (and standard utilities) are released with the kernel making it much easier to get applications to use the new features. This was also done a very long time ago when file offsets were extended to 64 bits. Some of the system calls have quite a few 'compatibility' versions. As well as the ones for emulations of other operating systems. It has been possible to run copies of firefox compiled for Linux under NetBSD. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)