Ah no, there is no competition, at least not yet ;)
Stage0---of with cc_x86.c is a part---as a project started off from the
bottom (hex0) and is working up. When stage0 just started, I created
GNU Mes soon to be folowed by MesCC, which aimed to build a version of
TinyCC and the remaining bootstrap for GNU Guix. The first versions of
mescc had its own linker, which was later in a joint effortt replaced by
M1 and hex2 from MesCC-Tools (also part of Stage0.
My initial idea for Mes was to translate it by hand to assembly, so the
M1 assembler would come in handy. As it turned out, cc_x86.c and its
next step M2-Planet were developed as part of Stage0.
Starting from an 357-byte hex0 provided by the bootstrap-seeds,
Stage0-posix builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, M1, M2,
get_machine, (mescc-tools), and M2-Planet. M2-Planet in turn builds
Mes, which builds a bootstrappable TinyCC, etc.
I'll try out some bootstrapping paths and will make an effort of getting a full understanding of the whole picture, and am hoping to write something up about what I find out.
Stage0---of with cc_x86.c is a part---as a project started off from the bottom (hex0) and is working up. When stage0 just started, I created GNU Mes soon to be folowed by MesCC, which aimed to build a version of TinyCC and the remaining bootstrap for GNU Guix. The first versions of mescc had its own linker, which was later in a joint effortt replaced by M1 and hex2 from MesCC-Tools (also part of Stage0.
My initial idea for Mes was to translate it by hand to assembly, so the M1 assembler would come in handy. As it turned out, cc_x86.c and its next step M2-Planet were developed as part of Stage0.
Starting from an 357-byte hex0 provided by the bootstrap-seeds, Stage0-posix builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, M1, M2, get_machine, (mescc-tools), and M2-Planet. M2-Planet in turn builds Mes, which builds a bootstrappable TinyCC, etc.