Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The C language and gcc are a cyclic dependency too.


Only if you don't consider time, or optional dependencies. GCC 10 _can_ be built with GCC 10, but it was probably built with GCC 9 the first time around.

If you can bootstrap it, and you can, then it's not really a hard, unbreakable cycle, right? It's just an option that's quicker than starting from tcc or whatever every time.


But how would you build the first GCC in that chain?


Using another C compiler, if none exists, create one in Assembly or other programming language in the target platform and go from there.


TCC 0.9.27 can build GCC 2.95.3. You can build TCC using GNU Mes, which itself can be built using M2-Planet, which is written in a subset of C.

https://www.gnu.org/software/mes/


Furthermore, M2-Planet can be built by another C compiler written in assembly, all the way down to hex instructions.

https://github.com/oriansj/mescc-tools-seed/


These projects are from the Bootstrappable Builds folks:

https://bootstrappable.org/ https://bootstrapping.miraheze.org/wiki/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: