Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!sdcsvax!dcdwest!ittvax!decvax!genrad!panda!talcott!harvard!seismo!rlgvax!guy
From: guy@rlgvax.UUCP (Guy Harris)
Newsgroups: net.lang.c
Subject: Re: NULL pointers
Message-ID: <453@rlgvax.UUCP>
Date: Sat, 9-Feb-85 14:30:54 EST
Article-I.D.: rlgvax.453
Posted: Sat Feb  9 14:30:54 1985
Date-Received: Mon, 11-Feb-85 04:48:14 EST
References: <652@unmvax.UUCP>
Distribution: net
Organization: CCI Office Systems Group, Reston, VA
Lines: 17

> The recent discussion on NULL pointers having the value 0 brings to
> mind a problem encountered in the days of Version 6: data was loaded
> at location 0 sometimes (on a PDP-11/40).

11/40 or 11/45?  The 11/40 didn't have separate I&D space, so the C
startup code should have appeared at location 0, unless you were using
something other than C.  I don't think the problem existed for split I&D
programs, either; the C startup (at least in V7 and subsequent versions, and
I think it worked this way in V6 as well) for split I&D-space programs had
a little one-word shim in the data space which got loaded at location 0,
so that data got loaded at location 2, in effect.  An early release of an
unspecified manufacturer's UNIX system had the same problem, which surprised
the heck out of some of our software when it got a NULL pointer it wasn't
expecting.  They fixed it shortly afterwards.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy