HP-UX Reference (11i v1 00/12) - 3 Library Functions A-M (vol 6)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/!!!intro.3c
________________________________________________________________
___ ___
e
end(3C) end(3C)
NAME
end, etext, edata, __data_start, __text_start - last locations in program
SYNOPSIS
extern void *_end, *end, *_etext, *etext, *_edata, *edata, *__data_start,
*__text_start;
DESCRIPTION
These names refer neither to routines nor to locations with interesting contents. The address of the sym-
bols _etext and etext is the first address above the program text, the address of _edata and
edata is the first address above the initialized data region, and the address of _end and end is the first
address above the uninitialized data region.
The address of the symbols __data_start is the beginning address of the program’s data area, and
__text_start is the beginning address of the program’s text area.
The linker defines these symbols with the appropriate values if they are referenced by the program but not
defined. The linker issues an error if the user attempts to define _etext, _edata, _end,
__data_start ,or__text_start .
When execution begins, the program break (the first location beyond the data) coincides with
_end, but the
program break can be reset by the routines of brk(2), malloc(3C), standard input/output (stdio(3S)), the
profile (
-p) option of cc(1), and so on. Thus, the current value of the program break should be determined
by sbrk(0) (see brk(2)).
WARNINGS
In C, these names must look like addresses. Thus, use &end instead of end to access the current value
of end.
SEE ALSO
System Tools:
cc(1) invoke the HP-UX C compiler
ld(1) invoke the link editor
Miscellaneous:
brk(2) change data segment space allocation
crt0(3) execution startup routine
malloc(3C) main memory allocator
stdio(3S) standard buffered input/output stream file package
STANDARDS CONFORMANCE
end(): XPG2
edata(): XPG2
etext(): XPG2
HP-UX Release 11i: December 2000 − 1 − Section 3−−205
___
___