index -summary -history -testscript perl / python problems -with callframes -with structures -largefile seeks -broken builds systems -freeBSD/darwin -linux/solaris -64on32 mix -distro makers -win32/other (2) libraries - libc ..(3264)
- zlib ..(-32-)
- gtk2 ..(-64-)
converting -old non-off_t code -going largefile -longlong default -face dualmode -make twinlibs -and defend (it) programming -largefile default -off_t in headers -make export64 -find mismatch -the autowrappers -environ changes -best practice? old library -dualmode renames -the extra function -largefile64_source -glibc headers -libgz example *** new library -dual export -largefiles win32 -compat32 calls -compat32 library -long32 dualmode links -some quotes -sitemap / mpl -large.file Group* -ac-archive Site*
(C) 2002-01-13 Guido U. Draheim |
FreeBSD / DarwinThe FreeBSD (and other BSD'ish systems like Darwin / MacOS-X) have done the step to start over with an incompatible system - they do simply define off_t to be always 64bit and that's about it. All the software must be recompiled, and it not supposed to take binary-only software from the old era to the new one. That ensure that there can be no invalid mixture of 32bit and 64bit off_t-size applications, and even more all the software is fully 64bit-clean - making sure that no "long" is used where it is not appropriate. It may require a bit of porting but it makes for a lot less problems after that. Note that all Unix98 system are required to support largefiles, and in fact the latest Linux and Solaris system actually do that - the kernel works with 64bit offsets anyway. The non-64 api-calls do only exist as wrappers that catch api-calls from old binaries and convert them to the new 64bit-off_t calls. In effect, with a complete change to off_t of 64bit, the software will be smaller and faster as opposed to a dual-type system that tries to support non-largefile binaries in a largefile system. And furthermore, it can be seen as a general advice that software makers do always compile in largefile-mode as soon as it is available. It makes the software faster and less prone to errors. |