| ▲ | rrampage a day ago | |
Interesting project. Why does it use LLVM toolchain when it already builds gcc in an earlier stage? | ||
| ▲ | lrvick 21 hours ago | parent | next [-] | |
LLVM is a much more mature and modern compiler by basically every measure, and importantly, a native cross compiler unlike GCC. One copy of LLVM can build for many architectures vs needing one GCC toolchain for every architecture you wish to target. Also modern languages like rust require LLVM so we need it anyway, and the kernel has rust now, so why not make the most mature compiler stack the global default? Using two different compilers for the kernel would be begging for problems. I am most optimistic for the Fil-C fork of LLVM being a default some day where we get compile time memory safety too. We do maintain gcc in tree for legacy languages like Fortran though. | ||
| ▲ | lioeters 19 hours ago | parent | prev [-] | |
If I understand correctly, I think they build an older version of gcc using tcc (Tiny C Compiler by Bellard); then using that to build newer versions incrementally until they get to the modern stack with LLVM. | ||