From: email@example.com (John R. Mashey)
Subject: Re: dereferencing NULL
Date: 7 Dec 1999 22:03:18 GMT
1) UNIX on PDP-11s and VAXen let you get away with thinking there was a zero
at location zero.
2) Anybody who did ports of UNIX to micros in the early 1980s discovered
they needed to run around fixing numerous commands that thought this;
the general value-add of this was zero, given that it was non-trivial at
the time to get code back into a common source-tree.
3) Hence, anyone with MMU flexibility allowed for location zero to
be part of user-address space, either by default, or by linker option,
because fixing this junk, and dealing with the hassles of users who said
"my code runs on a VAX" was just not very useful.
4) This is one of the reasons that the MIPS MMU thought that user space
started at virtual location 0, just like VAXen.
5) You can complain that we all should ahve enforced purity upon the users,
but the empirical fact was that people who did so unnecesarily usually
wasted a lot of time, and lost deals.
-john mashey EMAIL: firstname.lastname@example.org DDD: 650-933-3090 FAX: 650-933-4392
USPS: SGI 1600 Amphitheatre Pkwy, ms 005, Mountain View, CA 94043-1351