Subject: Compiling NetBSD with another compiler.
To: None <firstname.lastname@example.org>
From: Anders Magnusson <email@example.com>
Date: 09/12/2007 19:20:52
I have (as some people may know) been hacking on pcc for fun for some years.
After having that project on the shelf for a year or so, I decided to
make the compiler
at least compile the NetBSD source tree again.
It is not yet bug-free, but it can compile the i386 userspace. The big
benefit of it
(apart from that it's BSD licensed, for license geeks :-) is that it is
fast, 5-10 times
faster than gcc, while still producing reasonable code. The only
so far is a multiple-register-class graph-coloring register allocator,
which may be
one of the best register allocators today. Conversion to SSA format is
but not yet the phi function. Not too difficult though, after that
strength reduction is
high on the list.
It is also quite simple to port, writing the basics for i386 took three
hours (hello world)
and complete port (pretty much as it is right now) two days.
I have added most of the C99 stuff (it is supposed to be a c99 compiler)
but some stuff
is still missing, like the ability to do variable declarations anywhere
rewriting of the yacc code).
About 80 files in the NetBSD code were changed to make it compile. Most
just gcc constructs/keywords that had to be changed to c99-style, some
errors in the code that gcc ignores. I plan to check in these fixes.
If someone wants to look at the compiler it can be fetched from
ftp://226.net120.skekraft.net/pcc/pcc-current.tgz, current version is 0.9.8.
Currently only the i386 port is "supported", but there are a bunch of
included that probably wont compile.