Path: utzoo!utgpu!water!watmath!clyde!cbosgd!mandrill!hal!ncoast!allbery From: allbery@ncoast.UUCP (Brandon Allbery) Newsgroups: comp.bugs.sys5 Subject: Re: awk bug Message-ID: <7234@ncoast.UUCP> Date: 17 Feb 88 00:33:46 GMT References: <672@pttesac.UUCP> <3748@megaron.arizona.edu> <2161@ttrdc.UUCP> <3763@megaron.arizona.edu> <275@ho7cad.ATT.COM> Reply-To: allbery@ncoast.UUCP (Brandon Allbery) Followup-To: comp.bugs.sys5 Organization: Cleveland Public Access UN*X, Cleveland, Oh Lines: 27 As quoted from <275@ho7cad.ATT.COM> by ekb@ho7cad.ATT.COM (Eric K. Bustad): +--------------- | In article <3763@megaron.arizona.edu>, rupley@arizona.edu (John Rupley) writes: | Any code that does this will happen to work on a VAX running UNIX, but | will fail on many more machines than just AT&T's 3B20. I seem to recall | that on some machines you will get a memory access error if you dereference | a NULL pointer! I rather will that the 3B20 did this, so that these | errors would have been caught much earlier. +--------------- The COFF loader supports the -Z option to force address zero to not be mapped. Alternatively, I believe SVR3 ld uses "ifiles" to construct load images; in this case, you can edit the ifiles to not map address zero: MEMORY { user_mem : origin = 0x2, length = 0xffffffff } which insures that the first word of memory is never mapped. If your ld doesn't allow either of these but DOES use ifiles, create an ifile with the above declaration and make it the first argument to ld. (The length might have to be tuned for a particular system, e.g. 3B1s can't map past address 0x300000 due to the shared memory hack.) -- Brandon S. Allbery, moderator of comp.sources.misc {well!hoptoad,uunet!hnsurg3,cbosgd,sun!mandrill}!ncoast!allbery KABOOM!!! Worf: "I think I'm sick." LaForge: "I'm sure half the ship knows it."