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.
These identifiers are part of Base Operating System (BOS) Runtime.
The brk or sbrk subroutine, malloc subroutine.
Subroutines Overview in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.