Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenDarwin 7.2.1 - man page for end (opendarwin section 3)

GET_END(3)			     Library Functions Manual			       GET_END(3)

NAME
       get_end, get_etext, get_edata - get values of UNIX link editor defined symbols

SYNOPSIS
       #include <mach-o/getsect.h>

       unsigned long get_end();
       unsigned long get_etext();
       unsigned long 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 Mach-O link editor.  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 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 program to use the appropri-
       ate Mach or Mach-O functions.  If you are trying to allocate memory use vm_allocate(2), if
       you are trying to find out about your address space use vm_region(2) and if you are trying
       to find out where your program is loaded use the dyld(3) functions.

       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)  sec-
       tion,  note  this  my  or  may  not  be the only section in the __TEXT segment.	get_edata
       returns the first address after the (__DATA,__data) section, note this my or  may  not  be
       the  last  non-zero fill section in the __DATA segment.	get_end returns the first address
       after the last segment in the executable, note a shared library	may  be  loaded  at  this
       address.

SEE ALSO
       ld(1), dyld(3)

Apple Computer, Inc.			  April 10, 1998			       GET_END(3)


All times are GMT -4. The time now is 09:04 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password