end, edata, etext, __data_start, __text_start - last locations in pro‐
These names refer neither to routines nor to locations with interesting
contents. The address of the symbols and is the first address above
the program text. The address of and is the first address above the
initialized data region. The address of and is the first address above
the uninitialized data region.
The address of the symbol is the beginning address of the program's
data area, and 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 or
When execution begins, the program break (the first location beyond the
data) coincides with but the program break can be reset by the routines
of brk(2), malloc(3C), standard input/output (stdio(3S)), the profile
option of cc(1), and so on. Thus, the current value of the program
break should be determined by (see brk(2)).
In C, these names must look like addresses. Thus, use instead of to
access the current value of end.
cc(1) Invoke the HP-UX C compiler
ld(1) Invoke the link editor
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