Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!nic.hookup.net!swrinde!cs.utexas.edu!not-for-mail From: swanton@moose.usmcs.maine.edu (George P. Swanton) Newsgroups: comp.os.386bsd.questions Subject: [Q] *(int*)NULL Ok?? Date: 18 Jan 1994 08:21:55 -0600 Organization: UTexas Mail-to-News Gateway Lines: 30 Sender: daemon@cs.utexas.edu Message-ID: <9401181422.AA18524@moose.usmcs.maine.edu> NNTP-Posting-Host: cs.utexas.edu I was stepping through some code last night and was allowed to perform the equivalent of gdb> p *(int*)0 (FreeBSD-1.0R, whatever the default gdb is0 The following program also runs without complaint on both this and my NetBSD-0.8 system (both nobrand 486dx) main() { int i; i = *(int*)0; } however, *(int*)0 = 1; causes a fault. My assumption is that this is a 386 'feature', ie vaddr 0 is probably mapped as code and execute implies read as far as Intel is concerned (just guessing, it's been a while since I've read any 386 stuff) If this is not the case, is there any way to disable this behavior? Not complaining/flaming/trying to start a holy war, just curious. gps