Universal binary

Logo used to indicate a Universal application

The universal binary format is a format for executable files that run natively either on both PowerPC-based and x86-based Macs or on both Intel 64-based and ARM64-based Macs. The format originated on NeXTStep as "Multi-Architecture Binaries", and the concept is more generally known as a fat binary, as seen on Power Macintosh.

With the release of Mac OS X Snow Leopard, and before that, since the move to 64-bit architectures in general, some software publishers such as Mozilla[1] have used the term "universal" to refer to a fat binary that includes builds for both i386 (32-bit Intel) and x86_64 systems. The same mechanism that is used to select between the PowerPC or Intel builds of an application is also used to select between the 32-bit or 64-bit builds of either PowerPC or Intel architectures.

Apple, however, continued to require native compatibility with both PowerPC and Intel in order to grant third-party software publishers permission to use Apple's trademarks related to universal binaries.[2] Apple does not specify whether or not such third-party software publishers must (or should) bundle separate builds for all architectures.

Universal binaries were introduced into Mac OS at the 2005 Apple Worldwide Developers Conference as a means to ease the transition from the existing PowerPC architecture to systems based on Intel processors, which began shipping in 2006. Universal binaries typically include both PowerPC and x86 versions of a compiled application. The operating system detects a universal binary by its header, and executes the appropriate section for the architecture in use. This allows the application to run natively on any supported architecture, with no negative performance impact beyond an increase in the storage space taken up by the larger binary.

Starting with Mac OS X Snow Leopard, only Intel-based Macs are supported, so software that specifically depends upon capabilities present only in Mac OS X 10.6 or newer will only run on Intel-based Macs and therefore does not require Intel/PPC fat binaries. Additionally, starting with OS X Lion, only 64-bit Intel Macs are supported, so software that specifically depends on new features in OS X 10.7 or newer will only run on 64-bit processors and therefore does not require 32-bit/64-bit fat binaries.[3][4] Fat binaries would only be necessary for software that is designed to have backward compatibility with older versions of Mac OS X running on older hardware.

The new Universal 2 binary format was introduced at the 2020 Worldwide Developers Conference.[5] Universal 2 allows applications to run on both Intel x86-64-based and ARM64-based Macintosh computers, to enable the transition to Apple silicon.

  1. ^ "Firefox 4 for Mac OS X: Under the Hood". November 10, 2010. Retrieved March 3, 2017.
  2. ^ "Mac OS X Universal Logo: Guidelines for Mac OS X Universal Logo Licenses" (PDF). Apple Inc. June 2007. Retrieved October 18, 2013.
  3. ^ "Mac OS X: 64-bit kernel frequently asked questions". Apple Inc. October 4, 2012. Retrieved October 18, 2013.
  4. ^ "Does Mac OS X 10.7 "Lion" run on Macs with a 32-bit EFI? How does the performance of Mac OS X 10.7 "Lion" compare to Mac OS X 10.6 "Snow Leopard" in "real-world" tests? @ EveryMac.com". everymac.com. Kyle Media. Retrieved October 6, 2017.
  5. ^ Axon, Samuel (June 22, 2020). "This is Apple's roadmap for moving the first Macs away from Intel". Ars Technica. Retrieved June 23, 2020.

Developed by StudentB