Mach-O man page on Darwin

Man page or keyword search:  
man Server   23457 pages
apropos Keyword Search (all sections)
Output format
Darwin logo
[printable version]

MACH-O(5)							     MACH-O(5)

NAME
       Mach-O - Mach-O assembler and link editor output

SYNOPSIS
       #include <mach-o/loader.h>
       #include <mach-o/nlist.h>
       #include <mach-o/stab.h>
       #include <mach-o/reloc.h>

DESCRIPTION
       The object files produced by the assembler and link editor are in Mach-
       O (Mach object) file format.  The file name a.out is the default output
       file  name  of the assembler as(1) and the link editor ld(1) The format
       of the object file however is not 4.3BSD a.out format as the name  sug‐
       gests,  but rather Mach-O format.  The link editor will make a.out exe‐
       cutable if the resulting format is an executable type and there were no
       errors and no unresolved external references.

       The  complete  description  of  a  Mach-O  file is given in a number of
       include files.	The  file  <mach-o/loader.h>  describes	 the  headers,
       <mach-o/nlist.h>	  describes  the  symbol  table	 entries  with	<mach-
       o/stab.h> supplementing it, and <mach-o/reloc.h> describes the  reloca‐
       tion entries.

       The  actual  instructions and data used by the program represented by a
       Mach-O file are the contents of its  sections.	Sections  are  grouped
       together in segments.  Each section carries with it, in its header, the
       information as to which segment it belongs in.  When a file  type  that
       is  executable  is created the sections are placed in their proper seg‐
       ment and all the segment headers are created  and  the  segments	 them‐
       selves  are  padded  out to the segment alignment (typically the target
       pagesize).  For the object file type produced by an  assembler  (or  by
       the link editor for further linking) all the sections are placed in one
       segment for compactness.

       When the kernel executes a Mach-O file it maps  in  the	object	file's
       segments,  the  dynamic link editor (if used) and creates the thread(s)
       for execution.  Any part of the object file that is not part of a  seg‐
       ment  is not mapped in for execution.  For executable using the dynamic
       link editor the headers and other link edit information	is  needed  to
       execute the file.  These parts include the relocation entries, the sym‐
       bol table and the string table.	These parts are mapped in with the use
       of  the	link editor's -seglinkedit option which creates a segment that
       contains these parts.  These parts can be stripped  down	 with  the  -S
       option to ld(1) or various options to strip(1).

SEE ALSO
       as(1), ld(1), nm(1), gdb(1), stab(5), strip(1)

Apple Computer, Inc.	       October 22, 2001			     MACH-O(5)
[top]

List of man pages available for Darwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net