Document Revision History
This table describes the changes to OS X ABI Mach-O File Format Reference.
|2009-02-04||Made minor changes.|
|2007-04-26||Added details about Mach-O files targeted for the OS X x86-64 environment.|
Added relocation details to “Relocation Data Structures.”
Added DWARF debugging-format information to the introduction.
|2006-10-03||Added information about the uuid_command load command.|
|2006-09-05||Added information about IA-32-specific structures and the file type for dSYM files.|
|2006-03-08||Corrected the mach_header_64 description.|
|2005-11-09||Changed title from "Mach-O File Format Reference."|
Added the phrase “Mac app binary interface (ABI) to the introduction to raise this document’s visibility in searches.
|2005-08-11||Clarified terminology for binaries that contain object files for more than one architecture.|
|2005-04-29||Added information on 64-bit support in the Mach-O file format. Removed the "Overview of the Runtime Architecture" and "Runtime Conventions for PowerPC" chapters. That content was placed in "OS X Runtime Overview" and "PowerPC Runtime Programming Guide," respectively.|
Changed title to Mach-O File Format Reference.
Updated symbol declarations to match headers.
Added information on parameter passing, section names, dynamic linking of libraries, dead-code stripping flags, and GPR11. Removed dynamic linking functions reference. Minor technical and editorial corrections throughout.
Added information on
Added information on the
Added explanation of
Added clarification on when callers put parameters in the stack, in addition to placing them in registers. See .
Added details on parameter passing for single-member structures. See 32-bit PowerPC Function Calling Conventions.
Refined description of GPR11. See 32-bit PowerPC Function Calling Conventions.
Specified correct sizes for composite parameters that are preceded by padding to make them 4 bytes in size. See 32-bit PowerPC Function Calling Conventions.
Corrected example of a private external symbol. See Mach-O Programming Topics.
Corrected ranges for
Corrected framework-building example. See Mach-O Programming Topics.
Removed “Mach-O Dynamic Linking Functions Reference” chapter and placed its content in Mach-O Runtime Reference.
Added description of new API for OS X version 10.3.
Incorporated developer feedback. Updated code-generation examples.
Fixed bugs 2462895, 2749339, 2909989, 2910422, 2921574.
More developer feedback. Document weak definitions and weak references (new for 10.2). Substantially update the glossary. Other tweaks and additional material. Clarify common vs. coalesced symbol definitions.
ABI: Rewrote position-independent and indirect code section, incorporating correct examples and separating PIC and indirect code generation. Add C99
Fixed bugs 2909989, 2910422, and 2921574.
This was a preliminary draft distributed with the WWDC 2002 developer tools.
Incorporated many corrections from developer review. More to come.
By popular demand, added some common usage scenarios to map runtime features to the options in the standard OS X tools that implement those features. To satisfy a related popular demand, this information is collected in a separate chapter, which allows users of third-party tool sets to ignore it. This chapter is currently unfinished, and the overview chapter is yet to be modified to cross-reference it.
Updated umbrella framework description to better match reality.
This was a preliminary draft distributed with the April 2002 Developer Tools CD.
© 2003, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-02-04)