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