To view parent comment, click here.
To read all comments associated with this story, please click here.
The ELF format used by Linux didn't originate with Linux. It was developed as a standardized cross-platform binary format.
The Wikipedia page doesn't give a date, but given the age of the citations, It's been around since at least 1995.
Here's a reformatted copy of the Wikipedia article's list of platforms which use it:
UNIX/Unix-like:
- Linux
- FreeBSD, NetBSD, OpenBSD, DragonFlyBSD
- Solaris, HP-UX, IRIX
- Syllable
- QNX Neutrino
- MINIX
Non-UNIX:
- OpenVMS for Itanium
- BeOS r4+, Haiku
- AmigaOS 4, MorphOS, AROS
Game Consoles:
- Playstation 2, 3, and PSP
- Dreamcast
- Gamecube, Wii
- GP2X
Mobile Devices:
- Samsung Bada
- Symbian OS v9 (sort of. E32Image is based on ELF)
- Sony Ericsson W800i, W610, W300, etc.
- Siemens SGOLD and SGOLD2 platforms
- Motorola E398, SLVR L7, v360, v3i, etc.
Microcontrollers:
- Atmel AVR (8-bit)
- Texas Instruments MSP430
If that's not a de facto standard among everyone except Microsoft and Apple, then nothing qualifies.
As far as I can tell, Microsoft PE, Apple Mach-O, and the XCOFF format used in AIX are literally the only significant formats that haven't been deprecated in favor of ELF.
I may be mistaken, but even if XCOFF was developed by IBM for AIX, I think it is a binary executable format that is to some extent compatible with PowerPC based hardware, such as Powermacs. And Mach-O became standard on OS X because it is inherited from NeXT, and was ultimately developed (along with the Mach microkernel) at Carnegie Mellon University.





Member since:
2005-07-08
While people like to finger pointing to Microsoft, the company is no different than any other corporation.
Since 1999 I work for multinational enterprises and I have learned that you only interoperate if it is really required to do so. You don't do that to be nice.
Why don't they make sense? When Microsoft created them, each platform had their own format, most of them didn't support dynamic linking and resource embedding.