up | Inhaltsverzeichniss | Kommentar

Manual page for GET_END(3)

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 ALSO

ld(1)


index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © somebody (See intro for details). All Rights Reserved. Last modified 11/5/97