Define the first addresses following the program, initialized data, and all data.
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:
|_etext||The first address following the program text.|
|_edata||The first address following the initialized data region.|
|_end||The first address following the data region that is not initialized. The name end (with no underscore) defines the same address as does _end (with underscore).|
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.