Document Revision History

This table describes the changes to OS X ABI Function Call Guide.

2010-11-17Updated links to the System V Application Binary Interface document.
2009-02-04Made content corrections.
2009-01-06Made minor content changes.

Corrected IA-32 function-result–return details.

2007-04-04Added details about the OS X x86-64 environment.

Added cross-reference to System V x86-64 ABI document in x86-64 Function Calling Conventions.

2006-11-07Clarified parameter-passing and floating-point operation details.

Clarified how parameters are passed in the parameter area in the PPC32 environment in Stack Structure.


Clarified how arrays and structures are placed in the parameter area in the PPC64 environment in Stack Structure.


Indicated how floating point operations are performed in the IA-32 environment in IA-32 Function Calling Conventions.


Clarified how structures are returned in the IA-32 environment in Returning Results.

2006-04-04Corrected description of natural alignment in the PPC and PPC64 architectures, and clarified stack-alignment details in the IA32 architecture.

Corrected the data types that yield better performance when using natural alignment in 32-bit PowerPC Function Calling Conventions and 64-bit PowerPC Function Calling Conventions.


Specified that function callers are responsible for aligning the stack at 16-byte boundaries at the point of function calls in IA-32 Function Calling Conventions.

2006-01-10Specified when called functions remove parameters from the stack upon return in the OS X IA-32 ABI.

Updated Passing Arguments and Returning Results to describe how compiler-generated parameters are handled by called functions.

2005-12-06Changed the alignment values and red zone limits for 64-bit programs to their correct values.
2005-11-09New document that describes the function-calling conventions used in the architectures supported by OS X. Replaces information previously published in "PowerPC Runtime Architecture Guide."