Towards self hosting

06 Jan 2020

Here we are, another year is gone.

Ekaitz on board

The most important news for Jehanne in 2019, has been Ekaitz joining the development.

Ekaitz is a hacker and an entrepreneur and he is working to port Jehanne’s development tools from Go to Chibi-Scheme.

Even if I don’t exclude a Go port to Jehanne in the far future, this is important to reduce the complexity of the base operating system. Having the development tools in Chibi will simplify self-hosting when the GCC port will be ready (hopefully soon).

GCC 9.2.0

While having another hacker in the crew is great, during 2019 my work slowed down a lot.

For several months I’ve been an active member of the Italian Pirate Party, just to realize that there is no space for hackers there (or for anybody who care about freedom and knowledge). Unfortunately learning this lesson required a huge waste of energy and free time.

In the remaining time I worked to port GCC 9.2.0 to Jehanne and, as this screenshot shows, I’m almost there.

As you can see, GCC can compile C programs on Jehanne.
However I’m still having issues with C++ programs (like GCC itself, WTF!) so I didn’t published the port yet.

It’s not such an achievement, but running GCC on Jehanne is an first step towards self-hosting, proving the quality of the LibPOSIX approach. It also forced me to face and fix some of the errors I did in early stages of Jehanne development. I’ll wrote more about such errors when the port will be complete, but the most evident ones have been a complete revision of user-space system calls, the rename of libc to libjehanne (to free libc for standard compliant C libraries) and a complete rewrite of the cross-compiler generation (moved outside the source tree).

There is a lot more work to do to reach self-hosting, but… this is a long-term hack.