[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Base Operating System and Extensions Technical Reference, Volume 1

_end, _etext, or _edata Identifier

Purpose

Define the first addresses following the program, initialized data, and all data.

Syntax

extern _end;
extern _etext;
extern _edata;

Description

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.

Implementation Specifics

These identifiers are part of Base Operating System (BOS) Runtime.

Related Information

The brk or sbrk subroutine, malloc subroutine.

Subroutines Overview in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]