END(3) RISC/os Reference Manual END(3)
NAME
end, etext, edata, eprol, _ftext, _fdata, _fbss,
_procedure_table, _procedure_table_size,
_procedure_string_table - locations in program, runtime
procedure table
SYNOPSIS
#include <syms.h>
extern _END;
extern _ETEXT;
extern _EDATA;
extern eprol;
extern _FTEXT;
extern _FDATA;
extern _FBSS;
extern _PROCEDURE_TABLE;
extern _PROCEDURE_TABLE_SIZE;
extern _PROCEDURE_STRING_TABLE;
DESCRIPTION
These names refer neither to routines nor to locations with
interesting contents except for _PROCEDURE_TABLE and
_PROCEDURE_STRING_TABLE. Except for eprol these are all
names of loader defined symbols. The address of _ETEXT is
the first address above the program text, _EDATA is above
the initialized data region, _END is above the uninitialized
data region, and eprol is the first instruction of the
user's program that follows the runtime startup routine.
When execution begins, the program break coincides with
_END, but it is reset by the routines brk(2), malloc(3),
standard input/output (stdio(3S)), the profile (-p) option
of cc(1), etc. The current value of the program break is
reliably returned by `sbrk(0)', see brk(2).
The loader defined symbols _PROCEDURE_TABLE,
_PROCEDURE_TABLE_SIZE and _PROCEDURE_STRING_TABLE refer to
the data structures of the runtime procedure table. Since
these are loader defined symbols the data structures are
build by ld(1) only if they are referenced. See the include
file <sym.h> for the definition of the runtime procedure
table and see the include file <exception.h> for its uses.
SEE ALSO
brk(2), malloc(3).
Printed 11/19/92 Page 1