Date: Fri, 17 May 2019 06:06:18 +0200
From: Daniel Gl?ckner <address@hidden>
On Thu, May 16, 2019 at 04:09:51PM -0700, Ben Hutchinson wrote:
> The only reason I don't
> use GCC is that overall it is worse at generating bloated code,
No, try gcc -Os
text data bss dec hex filename
302619 30888 149624 483131 75f3b tcc built with tcc and defaults
290108 30440 149720 470268 72cfc tcc built with tcc and ONE_SOURCE
246727 1244 149768 397739 611ab tcc built with gcc 8.2 and defaults
177105 1236 149768 328109 501ad tcc built with gcc -Os instead of -O2
172536 1228 149760 323524 4efc4 tcc built with gcc -Os and ONE_SOURCE
The tcc built with gcc -Os is also about 43% faster on my
Atom 330 at compiling and linking itself (0.37s vs. 0.65s, median of 51
You missed the second half of the reason I gave. I also mentioned that it's because GCC is itself bloated. So using GCC is not an option. It requires MinGW to run in Windows (I'm a Windows user), so that means that using GCC by itself is simply not an option, because it won't run without its MinGW dependencies. This makes GCC very bloated (over 100MB in size), and thus not a viable alternative to TCC. Also, what is this " command line option you talk about in GCC?
The simple solution would be for you (or another developer of TCC) to just add a command line switch that when used causes TCC to not use the __stkchk function, and thus remove the requirement for this function to exist, and also prevent TCC from adding any extra code to the program's main code to call this function.