cvs commit: src/sys/sys stat.h

Joerg Sonnenberger joerg at britannica.bec.de
Sat Aug 5 13:45:35 UTC 2006


On Fri, Aug 04, 2006 at 11:47:30PM +0000, John Birrell wrote:
>   Note thar FreeBSD stat() and fstat() are 64-bit functions now and Solaris
>   still persists with both 32- and 64-bit versions.

The reason is that you need 32bit versions when you want to keep binary
compatibility within e.g. libc. off_t can be 32bit and 64bit and moving
to 64bit can be done by either:
(1) Introduction of a new type and new functions, keeping the default as
it was. This happened on Solaris and Linux.
(2) Introduce a new libc major version (requiring a rebuild of
everything) and make the 32bit compatibility system calls only. This is
what happened on the BSDs and which removes a lot of hassles. Using
stuff like stat64 is evil and NEVER be done.

Joerg


More information about the cvs-src mailing list