END(3-SysV) RISC/os Reference Manual END(3-SysV)
NAME
end, etext, edata - last locations in program
eprol, _ftext, _fdata, _fbss - first locations in program
_procedure_table, _procedure_table_size,
_procedure_string_table - runtime procedure table
SYNOPSIS
#include <syms.h>
extern END;
extern ETEXT;
extern EDATA;
extern eprol;
extern FTEXT;
extern FDATA;
extern FBSS;
extern PROCEDURETABLE;
extern PROCEDURETABLESIZE;
extern PROCEDURESTRINGTABLE;
DESCRIPTION
These names refer neither to routines nor to locations with
interesting contents except for PROCEDURETABLE and
PROCEDURESTRINGTABLE. 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 PROCEDURETABLE,
PROCEDURETABLESIZE and PROCEDURESTRINGTABLE 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 1/15/91 Page 1