PE out, ELF in: SkyOS changes binary formats

Submitted by Matt Turner on Thu, 2006-04-27 20:57.

From IRC just a few minutes ago:

<RobertSze> news: good or bad, depends on how you see it
<RobertSze> I decided to drop the PE/DLL format SkyOS uses and replace it with ELF support
<RobertSze> This means:
<RobertSze> - Recompiling/Adjusting around 380 application
<RobertSze> - 80 libraries
<RobertSze> - 25 kernel modules
<RobertSze> - All PE resource file dialogs
<RobertSze> - A new ELF kernel loader and runtime linker
<RobertSze> - New GCC / Binutils
<RobertSze> and a few other things like new makefiles, build system, etc...
<RobertSze> Unfortunately most *nix software is not really PE compatible
<mattst88> Does this mean, we'll be compiling .so (instead of .dll) now with -fPIC -shared?
<RobertSze> exactly
<RobertSze> anyway, a new Cygwin->SkyOS cross compiler and binutils is already done. libsky is compiled as ELF already. Tomorrow I will start with the ELF loader and start porting every library and application to ELF
<mattst88> gcc-3.4.0 still, I assume, Robert?
<RobertSze> yes, but upgrading should be just a matter of recompiling once ELF is working

If you missed it, you have yet another reason to hang out in #skyos on Freenode.


lGvpDH QnGgsFxT




I guess that Robert is doing this for a very good reason (to make porting of *nix apps easier, I guess).

What are the other potential advantages of this switch from PE/DLL to Elf ?

Besides that, what are the disadvantages and the caveats (appart from the fact that Robert has to make the heavy aforementioned changes) ?