Linked by Thom Holwerda on Thu 5th Nov 2009 23:05 UTC
Linux As we all know, Mac OS X has support for what is called 'fat binaries'. These are binaries that can carry code for for instance multiple architectures - in the case of the Mac, PowerPC and x86. Ryan Gordon was working on an implementation of fat binaries for Linux - but due to the conduct of the Linux maintainers, Gordon has halted the effort.
Permalink for comment 393297
To read all comments associated with this story, please click here.
RE[3]: TYPO
by Lunix on Fri 6th Nov 2009 22:41 UTC in reply to "RE[2]: TYPO"
Lunix
Member since:
2009-10-14

68k/ppc fat binaries were implemented by storing the 68k code in the resource fork (as had always been done) and the ppc code in the data fork.

In OS X (and OpenStep), a mach-o file can contain multiple architectures. One binary, multiple architectures. eg:

file /Applications/SubEthaEdit.app/Contents/MacOS/SubEthaEdit (Bundle executable)
/Applications/SubEthaEdit.app/Contents/MacOS/SubEthaEdit: Mach-O universal binary with 2 architectures
/Applications/SubEthaEdit.app/Contents/MacOS/SubEthaEdit (for architecture ppc)Mach-O executable ppc
/Applications/SubEthaEdit.app/Contents/MacOS/SubEthaEdit (for architecture i386): Mach-O executable i386


$ file `which ls` (unix executable)
/bin/ls: Mach-O universal binary with 2 architectures
/bin/ls (for architecture x86_64): Mach-O 64-bit executable x86_64
/bin/ls (for architecture i386): Mach-O executable i386

Reply Parent Score: 1