On Wed, Dec 22, 2004 at 05:59:14AM +1100, Peter Jeremy wrote: > One problem is that Unix first became popular (outside academia) with > the advent of the 32-bit workstations and then took off with the rise > of Linux on 32-bit i386. Lots of Unix code has never seen an environment > were sizeof(int) == sizeof(long) == sizeof(void *) isn't true.
It's not just int, long, and pointers that cause problems. There is a lot of code out there that tends to play fast and loose with the other types (POSIX?) that IIRC are supposed to be "atomic" -- size_t, time_t, off_t, etc. A while back for kicks I tried to build a 32-bit ILP system that used 64-bit time_t values, just in case it managed to make it to 2038 ;) The base system was actually in really good shape to deal with it, no doubt due to the efforts on alpha and sparc64, and ISTR an effort to use 64-bit longs on i386. Ports on the other hand were a different matter entirely... time_t was bad enough. I suspect size_t and ssize_t are in even worse shape among third-party software. Though if you just change the size of "long" you probably won't run into all that. Craig _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"