Define the first addresses following the program, initialized data, and all data.
extern _end;
extern _etext;
extern _edata;
The external names _end, _etext, and _edata are defined by the loader for all programs. They are not subroutines but identifiers associated with the following addresses:
The break value of the program is the first location beyond the data. When a program begins running, this location coincides with end. However, many factors can change the break value, including:
Therefore, use the brk or sbrk(0) subroutine, not the end address, to determine the break value of the program.
The brk or sbrk (brk or sbrk Subroutine) subroutine, malloc (malloc, free, realloc, calloc, mallopt, mallinfo, mallinfo_heap, alloca, or valloc Subroutine) subroutine.
Subroutines Overview in AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs.