Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Fat binary
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===={{anchor|Thin binary}}Apple's Universal binary==== {{Main|Universal binary}} [[File:Apple-Universal-binary-logo.png|thumb|Apple ''Universal binary'' logo]] In 2005, Apple announced another [[Mac transition to Intel processors|transition, from PowerPC processors to Intel x86 processors]]. Apple promoted the distribution of new applications that support both PowerPC and x86 natively by using executable files in Multi-Architecture Binary format.<ref name="Singh_2006"/> Apple calls such programs "[[Universal application]]s" and calls the file format "[[Universal binary]]" as perhaps a way to distinguish this new transition from the previous transition, or other uses of Multi-Architecture Binary format. Universal binary format was not necessary for forward migration of pre-existing native PowerPC applications; from 2006 to 2011, Apple supplied [[Rosetta (software)|Rosetta]], a PowerPC (PPC)-to-x86 [[dynamic binary translation|dynamic binary translator]], to play this role. However, Rosetta had a fairly steep performance overhead, so developers were encouraged to offer both PPC and Intel binaries, using Universal binaries. The obvious cost of Universal binary is that every installed executable file is larger, but in the years since the release of the PPC, hard-drive space has greatly outstripped executable size; while a Universal binary might be double the size of a single-platform version of the same application, free-space resources generally dwarf the code size, which becomes a minor issue. In fact, often a Universal-binary application will be smaller than two single-architecture applications because program resources can be shared rather than duplicated. If not all of the architectures are required, the {{mono|lipo}} and {{mono|ditto}} command-line applications can be used to remove versions from the Multi-Architecture Binary image, thereby creating what is sometimes called a ''thin binary''. In addition, Multi-Architecture Binary executables can contain code for both 32-bit and 64-bit versions of PowerPC and x86, allowing applications to be shipped in a form that supports 32-bit processors but that makes use of the larger address space and wider data paths when run on 64-bit processors. In versions of the [[Xcode]] development environment from 2.1 through 3.2 (running on [[Mac OS X 10.4]] through [[Mac OS X 10.6]]), Apple included utilities which allowed applications to be targeted for both Intel and PowerPC architecture; universal binaries could eventually contain up to four versions of the executable code (32-bit PowerPC, 32-bit x86, 64-bit PowerPC, and [[X86-64|64-bit x86]]). However, PowerPC support was removed from Xcode 4.0 and is therefore not available to developers running [[Mac OS X 10.7]] or greater. In 2020, Apple announced another [[Mac transition to Apple silicon|transition]], this time from Intel x86 processors to [[Apple silicon]] (ARM64 architecture). To smooth the transition Apple added support for the [[Universal 2 binary]] format; Universal 2 binary files are Multi-Architecture Binary files containing both x86-64 and ARM64 executable code, allowing the binary to run natively on both 64-bit Intel and 64-bit Apple silicon. Additionally, Apple introduced [[Rosetta 2]] dynamic binary translation for x86 to Arm64 instruction set to allow users to run applications that do not have Universal binary variants.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)