On Sunday 09 March 2014 17:12:11 Christian Jullien wrote: > Hi all, > > This is just a question I'm doing for myself. > > Currently, when you do a ./configure; make you generate a tcc that is a gcc > compiled program implementing a tcc compiler. So far so good. The challenge > for a compiler is to compile itself. > Long ago, you were able to bootstrap gcc with any decent C compiler. The > process was the following: > > - use alien C to produce a subset of gcc (xgcc if I recall well) > - use xgcc to compile a first working gcc > - use this interim gcc to produce final gcc. > > Now the questions: > - Why tcc remains a gcc compiled code? Not sure if there's any deep reason behind it - * tcc started as a self-compiling demonstrator * most people don't care (and even gcc often isn't 'properly' bootstrapped) * in between (iirc before the 0.9.26 release) tcc was not well handled and unlearned to build itself. Mostly because of Makefile stupidity calling gcc directly and such funny things * recent tcc can self-compile properly
> - Corollary, can we use this tcc binary on a machine gcc free? That depends on if it links to the libgcc bits. I think that's a configure option? > - Do we want a tcc compiler compiled by tcc (an extra step can easily do > that)? Upside: It's a good demonstration that tcc is functional (especially if you do the classical triple bootstrap and run the testsuite) Downside: Increases compile time (up to ... almost 5 seconds! ;) ), adds more complexity to the Makefiles, ... Maybe it would be useful as a Makefile target? > Ok, using gcc -O3 you can generate a tcc that compiles faster any program > than tcc compiled with itself. That is mildly funny, but not unexpected ... Have fun, Patrick _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
