Re: Automaticly eliminating redundant zero initialisers

From: David Forrest (drf5n@mug.sys.virginia.edu)
Date: Mon May 01 2000 - 14:31:18 EST


On Mon, 1 May 2000, Alan Cox wrote:

> > I remember that initially BSS meant Bull-S___ Storage, and was
> > uninitiallized and in an indeterminate state. It should be initiallized
>
> The documents I have seem to cite 'base stack segment' as the origin
>

You might also see it as "Block Started by Symbol" or "Block Storage
Segment", but it is interesting to compare it to the names of other linker
sections like "Data" "Code" "Text" used in various systems, assemblers
and linkers. Maybe the person who told it to me was making it up, but the
thinking of BSS as an acronym for BS-Storage seems a nice way to remember
it as uninitialized space. Since a prime error with using bss space is
using the uninitialized variable, nicer operating systems started
initializing the BSS allocation to a constant value, often zero, or on
some systems (HP-UX's a.out format) a linker defined constant.

Code written for Linux which relies on these zeros in the bss may not port
well to foreign systems.

Dave.

-- 
 Dave Forrest                                dforrest@virginia.edu
 (804)296-7283h 924-3954w      http://mug.sys.virginia.edu/~drf5n/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:09 EST