Andrius Štikonas
1 day ago

@janneke @aziz @fsf @fsfe @reproducible_builds @ekaitz_zarraga Indeed! Right now we can bootstrap all the way from #hex0 to #Mes, then use #MesCC to build very first build of #tinycc (we can call it mes-tcc). mes-tcc can then build the next build of tinycc (boot0-tcc). Unfortunately, at the moment boot0-tcc segfaults. Today, I fixed one crash which was due to Global Offset Table being all zeros but it turns out we are now hitting another segfault, so more work is needed.


Andrius Štikonas
1 month ago

@monk Why is it from #TinyCC. We have successfully bootstrapped kernel and userspace on x86 from far smaller binaries. E.g. builder-hex0 is about 200 bytes of code.

Andrius Štikonas
3 months ago

Spent part of my #RechageDay at #AMD looking at bootstrapping #TinyCC 0.9.26 from #GNUMes on #x86_64 architecture. And thanks to #Mes mantainer @janneke for his help with debugging various issues. We can now build initial #tcc binary and it can even run some simple commands such as --help or -vv.

Unfortunately, we still hit some critical bugs when trying to use this tcc binary to rebuild itself but hopefully we are not far now.


Arne Babenhauserheide
6 months ago

@lispi314 sidenote: that #guile bootstrap path was developed for #guix :

GNU Mes (maxwell equations of software) provides a minimal #scheme interpreter and C #compiler with tooling to build #tinycc that can be used with the Mes C library to compile glibc-2.2.5, binutils-2.20.1, gcc-2.95.3 with which you can build the whole #GNU system.

Thanks to #GCCrs that will soon include #Rust

Thanks to #Python on Guile it includes a shortcut for compatible Python-based tooling.
@dalias @jschauma

1 year ago

I deeply admire and envy Fabrice Bellard, creator of #FFmpeg, #QEMU, #TinyCC, and countless other impactful projects.