4 ms·
For context: Mach-O https://en.wikipedia.org/wiki/Mach-O https://en.wikipedia.org/wiki/Mach-O
by dest 5y ago
For context: Mach-O https://en.wikipedia.org/wiki/Mach-O https://en.wikipedia.org/wiki/Mach-O
- yjftsjthsd-h 5y agoBasically Apple's equivalent to ELF. I personally think the multi-architecture support via fat binaries is really neat and I kinda wish Linux adopted the format so we could use one binary for multiple architectures.
- CyberRabbi 5y agoYou can use one binary for multiple architectures on Linux with a carefully crafted shell script.
- rollcat 5y agoI don't like being cynical like this, but Linux can't even sort itself even on a single architecture: glibc (with the whole versioned symbol mess), musl variants, and so on, before we even consider shared libraries and package managers. Despite all the hard work of so many people, if you aren't running Ubuntu on x86-64, you will very quickly run into real problems running any kind of third-party software.
- yjftsjthsd-h 5y agoIt can be difficult depending on your ecosystem, but often you can; when I said I'd like multi-arch fat binaries I was specifically thinking of Packer (and most Hashicorp products, actually), which distributes as a nice static binary per architecture right now. Also musl is quite friendly to static linking.
- pcwalton 5y agoFatELF exists, though not widely used, and would make more sense than adopting Mach-O, which has worse tooling than ELF. Because of tooling, it'd be preferable for Apple to switch from Mach-O to ELF in fact (though they won't do so, because that would require a lot of work and Mach-O is working fine for them).
- yjftsjthsd-h 5y ago> FatELF exists Thank you, I had not seen that before:)