GET_END(3)GET_END(3)NAME
get_end, get_etext, get_edata - get values of UNIX link editor defined
symbols
SYNOPSIS
void * get_end();
void * get_etext();
void * get_edata();
DESCRIPTION
These routines provide a stopgap measure to programs that use the UNIX
link-editor defined symbols. Use of these routines is very strongly
discouraged. The problem is that any program that is using UNIX link
editor defined symbols (_end, _etext or _edata) is making assumptions
that the program has the memory layout of a UNIX program. This is an
incorrect assumption for a program built by the NeXT Mach-O link editor
running under the Mach operating system on a NeXT computer. The reason
that these routines are provided is that if very minimal assumptions
about the layout are used and the default format and memory layout of
the NeXT Mach-O link editor is used to build the program, some things
may work by using the values returned by these routines in place of the
addresses of their UNIX link-editor defined symbols. So use at your
own risk, and only if you know what your doing. Or better yet, convert
the UNIX program to a Mach program.
The values of the UNIX link-editor defined symbols _etext, _edata and
_end are returned by the routines get_etext, get_edata, and get_end
respectively. In a Mach-O file they have the following values:
get_etext returns the first address after the (__TEXT,__text) section.
get_edata returns the first address after the (__DATA,__data) section.
get_end returns the first address after the last segment.
SEE ALSOld(1)NeXT Computer, Inc. January 26, 1990 GET_END(3)