Headers including headers and precompilation

Rich Felker dalias at aerifal.cx
Fri Mar 31 14:44:04 PST 2006


On Sat, Apr 01, 2006 at 12:15:09AM +0200, Bernhard Fischer wrote:
> >> Yeah, that it was designed on a 16-bit machine in 1971.  Back then the entire 
> >> system had 64k of ram, only the first 6 characters of each identifier were 
> >> significant...
> >> 
> >> You are aware of the new build-at-once mode, right?
> >
> >I find it utterly hypocritical that someone working on a project that
> >replaces huge bloated crap with small efficient implementations is
> >advocating that we should all need huge systems with lots of resources
> 
> It's optional. Noone forces you to use it.

I wasn't talking about build-at-once, rather the general disregard for
supporting nonbloated build systems.

> >to be able to compile anything... Just because busybox doesn't include
> >a C compiler (yet ;) doesn't mean it's justified to require massive
> >gcc bloatware.
> 
> IMA/IPO/IPA/you-name-it is not only available in gcc but also in
> commercial "bloatware".
> 
> Also, as it stands, you can only build defconfig (i.e. all applets) with
> a C99 compiler. What's the smallest somewhat C99 compliant compiler
> which is free?

tinycc:

$ size tcc
   text    data     bss     dec     hex filename
 109202     588   42624  152414   2535e tcc

It's missing some important C99 features and has no optimization, but
it's an interesting potential starting point. ACK is another
interesting one, but no C99 whatsoever, only C89. IMO it would need a
good bit of work to get up to C99, but it seems to have a much better
design than tinycc.

I'm well aware that there are no good gcc alternatives at this time.
However I'm also aware of the fact that gcc is:
- incredibly slow, even slower than older versions of itself. as a
  benchmark, tinycc is about ONE HUNDRED TIMES faster than gcc with
  optimizations disabled (-O0).
- incredibly bloated. minimum devel environment is several megs.
- full of disgusting interdependencies with glibc, elf, c++ ctors,
  c++ exception handling, ... which tend to make gcc-built programs
  bloated.
- broken/buggy in most releases (throws ICE on valid code).

As such I'm very much looking forward to a replacement...

Rich



More information about the busybox mailing list