Manual page for GET_END(3)
get_end, get_etext, get_edata - get values of UNIX link editor defined symbols
void * get_end();
void * get_etext();
void * get_edata();
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
get_edata returns the first address after the
get_end returns the first address after
the last segment.
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97