END(3C) Standard C Library Functions END(3C)
NAME
end, _end, etext, _etext, edata, _edata - last locations in program
SYNOPSIS
extern int _etext; extern int _edata; extern int _end;DESCRIPTION
These names refer neither to routines nor to locations with
interesting contents; only their addresses are meaningful.
_etext The address of
_etext is the first location after the last
read-only loadable segment.
_edata The address of
_edata is the first location after the last
read-write loadable segment.
_end If the address of
_edata is greater than the address of
_etext, the address of _end is same as the address of
_edata.
If the address of
_etext is greater than the address of
_edata, the address of
_end is set to the page boundary
after the address pointed to by
_etext.
USAGE
When execution begins, the program break (the first location beyond
the data) coincides with
_end, but the program break can be reset by
the
brk(2),
malloc(3C), and the standard input/output library (see
stdio(3C)), functions by the profile (
-p) option of
cc, and so on.
Thus, the current value of the program break should be determined by
sbrk ((char *)0).
References to
end,
etext, and
edata, without a preceding underscore
will be aliased to the associated symbol that begins with the
underscore.
SEE ALSO
brk(2),
malloc(3C),
stdio(3C) March 31, 2006 END(3C)