Talk:Fat binary

message: I've pulled the pointless section on FreeBSD not needing Fat binaries, for loads of reasons.
It's not the only source-based system.
It HAS got binary apps, and there's even pkg_add for it
ELF doesn't even support Fat binaries, but we don't mention every other ELF-based system (Linux, every other BSD, BeOS, etc)
I could go on, but there's no need, really.
--Kiand 17:36, 4 Jun 2005 (UTC)
replies: text: If you're going to produce a fat binary, you're also going to have to do the source code work to make it build for all the platforms the fat binary will support, so it's not as if fat binaries require less developer work. Guy Harris (talk) 05:06, 22 August 2023 (UTC)
thread_title: source distribution is universal

message: about using an installer to chose the suitable binary: how is the installer supposed to execute? — Preceding unsigned comment added by 131.130.1.143 (talk) 00:49, 16 November 2005 (UTC)
replies: text: That wouldn't work with OS X drag-install applications, where there is no installer, although if a dmg can have a script associated with it that's run before the Finder opens up the window for it, the script could remove one of the bundles and rename the other bundle to have the appropriate name. Guy Harris 17:58, 7 June 2006 (UTC)

text: ...which is usually the case for macOS installers (other than the program being installed).  And if some machine-code executable needs to be run as part of the installation process, it would presumably be built as a fat binary. Guy Harris (talk) 05:09, 22 August 2023 (UTC)
thread_title: installer

message: The Installer part has to go... doesn't make any sense. — Preceding unsigned comment added by 137.132.3.7 (talk) 13:48, 23 February 2006 (UTC)
replies: text: Apple's package format does support that.  (I don't know whether Windows Installer packages do or not.) Guy Harris (talk) 05:15, 22 August 2023 (UTC)
thread_title: installer

message: a weird possibility:  the existence of two executable parts creates the possibility for them to get out of synch.  like an HTML e-mail with an alternate text version, nothing enforces that the two have to say or do the same thing, even though they are supposed to.  the two codes could do very different things.  on a computer with one architecture, the code for the other architecture could get corrupted and no one would notice.  in fact, the other code could be used as a data space or a hiding place.  since the two executable parts are not simple translations of each other, there is no simple utility to compare the parts to make sure that they match.  the only way to revalidate a file would be to compare it to a backup copy of the same file.  or keep a checksum of the original and re-verify it.
User Guy Harris, in his recent edit, mentioned that OS X has a command, "lipo" which, presumably from its name, "removes the fat" from a fat binary file -- removes from it the unused executable code for the other processor.  discarding the unused sections eliminates the wondering about what might be there, as well as freeing up the space they took. Whiner01 09:38, 7 June 2006 (UTC)
thread_title: out of synch

message: Apple's seems to refer to binaries that include 32-bit and 64-bit code as Fat Binaries.   From http://www.apple.com/macosx/features/64bit/:
:Tiger simplifies software distribution with support for fat binaries, applications that contain both 32-bit and 64-bit binaries within a single file. Using fat binaries, network administrators distribute a single version of an application to all users regardless of their system capabilities. Once installed on a user’s system, the fat binary automatically selects the appropriate code for the system without user intervention. This greatly simplifies administration, installation and distribution of applications.
Should this be mentioned in the article?
--Sneeper 18:31, 13 July 2006 (UTC)
replies: text: Yes.  It's the same mechanism.  The Mach-O header for a binary has "CPU type" and "CPU subtype" fields, indicating what the binary requires, and a "fat" binary has multiple binaries in it with different headers.  The CPU type distinguishes 32-bit PowerPC from 64-bit PowerPC from x86; a Universal binary is a fat binary with x86 and 32-bit PPC binaries, but a fat binary could also have 32-bit PPC and 64-bit PPC binaries, and could even have had it before the first x86 Macs came out.  Such a binary would probably be a command-line app, given that those are the only 64-bit binaries supported (none of the Apple frameworks are 32-bit/64-bit fat, they're all 32-bit-only).  It would even be possible to have a 3-way fat binary, with PPC, PPC64, and x86. Guy Harris 19:31, 13 July 2006 (UTC)

text: Agreed. Dual-mode (32/64) binaries are becoming more and more relevant now. --Synetech (talk) 23:57, 28 February 2009 (UTC)
thread_title:  32bit vs 64bit also called fat binaries? 

message: According to [1] The Mach-O File Format doesn't support Fat Binaries.
A Fat Binary contains a Header (struct fat_header) and nfat_arch's fat_arch
structures (struct fat_arch). The structures describes the size and offsets
of the Mach-O files in the archive.
References:
[1] Apple Computer, Inc. "Universal Binaries and 32-bit/64-Bit PowerPC Binaries". Mac OS X ABI Mach-O File Format Reference. http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachORuntime/index.html. Retrieved on 02.11.2006 — Preceding unsigned comment added by 217.85.90.28 (talk) 20:28, 4 November 2006 (UTC)
replies: text: Yes,  now speaks of fat binaries as being in a special archive format containing one or more Mach-O binaries.  (Yes, you could have a one-architecture fat binary, although I'm not sure there's much use in doing so.) Guy Harris (talk) 05:25, 22 August 2023 (UTC)
thread_title: Mach-O File Format doesn't support Fat Binaries

message: Back in the OS/2 1.2 days we had family mode applications. I have no idea what the executable file format was nor the execution mechanism, but I know that if you threw the right compiler switch you got a "family mode" application, a single binary that worked on both DOS and OS/2, and later both MS and IBM OS/2, and all relevant DOSs. I'm assuming it was a FAT binary. Anyone know where facts can be found?
Dan Shearer 16:41, 16 August 2007 (UTC)
replies: text: That sounds more like compiling the program into some kind of DOS compatibility mode than a fat binary. It's still the same cpu architecture... and as far as I know, OS/2 could run most DOS programs, right? Unsound (talk) 10:45, 16 June 2008 (UTC)
thread_title:  Mechanism for Family-Mode Applications? 

message: This article seems to be Mac-centric; should mention VMS / Dec Alpha dual mode executables, among other things... AnonMoos (talk) 09:54, 26 October 2008 (UTC)
thread_title: VMS / Alpha

message: How about a mention of the little-used trick of combining DOS and Windows versions of a program so that it can run under either environment. It’s been a while, so I don’t recall off hand the method other than it limited the DOS version to 64K because it would be in the header and required a check-jump combo. --Synetech (talk) 23:57, 28 February 2009 (UTC)
thread_title:  DOS / Windows Dual-EXEs 

message: In my opinion, the article Universal binary should be merged into the article Fat binary.  As it stands, Universal binary is just one particular name for Fat binary - not even a MacOS-specific one, since others such as Mozilla use the name as well.  Any objections to the merge?  Thanks, Quarl (talk) 00:44, 3 July 2013 (UTC)
replies: text: Oppose. I don't think this would be a good idea because it would give the generic Fat binary article undue weight towards Apple solutions, or some of the stuff from the Universal binary article had to be removed. I think it is better to have a small summary of Universal binaries in the Fat binary article (as now) and keep the Universal binary article for a more detailed description (which could still see significant expansion). --Matthiaspaul (talk) 19:23, 3 July 2013 (UTC)

text: Oppose.  "Fat binaries" are a general concept not unique to OS X; "universal binaries" are the flavor of fat binaries on OS X, and, as per Matthiaspaul's comment, have a bunch of OS X-specific details that are worthy of description in the universal binary page but too specific for the fat binary page. Guy Harris (talk) 06:08, 22 July 2013 (UTC)
thread_title:  Merge [[Universal binary]] to [[Fat binary]]