This manual page is part of Xcode Tools version 3.2.2

To obtain these tools:

If you are running a version of Xcode Tools other than 3.2.2, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



GET_END(3)                                                                                        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, con-vert convert
       vert the program to use the appropriate Mach or Mach-O functions.  If you are trying to allocate mem-ory memory
       ory 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 rou-tines routines
       tines get_etext, get_edata, and get_end respectively.  In a Mach-O file they have the following  val-ues: values:
       ues:  get_etext  returns the first address after the (__TEXT,__text) section, 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 seg-ment. segment.
       ment.  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)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...