Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 7/7/83; site rlgvax.UUCP
Path: utzoo!linus!decvax!harpo!seismo!rlgvax!guy
From: guy@rlgvax.UUCP (Guy Harris)
Newsgroups: net.lang.c
Subject: Re: automatic initialization to 0
Message-ID: <835@rlgvax.UUCP>
Date: Sun, 17-Jul-83 04:37:34 EDT
Article-I.D.: rlgvax.835
Posted: Sun Jul 17 04:37:34 1983
Date-Received: Sun, 17-Jul-83 16:53:47 EDT
References: <3090@utzoo.UUCP>
Organization: CCI Office Systems Group, Reston, VA
Lines: 15

Bell is considering an addition to C to permit specification of sharable
read-only data vs. non-shared read/write data (to get shared read/write
data, use the shm* system calls in UNIX 5.0 - System V - or whatever will
appear in 4.2BSD), which will solve the problem much more cleanly than it
is being solved now, namely by running selected source modules through an
"sed" script that turns ".data" into ".text".

As for a micro-based application not clearing out ".bss", the method used
by the UNIX kernel, you're right; any C implementation running stand-alone
should have a C startup routine which cleans out "bss" (a little tricky if
your linker won't provide the start of BSS and the end of BSS as globals,
as the UNIX one does) and calls "main".

	Guy Harris
	{seismo,mcnc,we13,brl-bmd,allegra}!rlgvax!guy