Subject: Re: current vax cannot boot and lvalue casts in arch/vax/boot
To: Kirk Russell <kirk@ba23.org>
From: None <ragge@ludd.luth.se>
List: port-vax
Date: 06/15/2006 10:11:12
> On Tue, 13 Jun 2006, A. Wik wrote:
> 
> > How come there's such an apparent eagerness about upgrading GCC,
> > anyway?  Typically the only noticeable change from an older
> > version is the breakage of features and noticeable increases in
> > memory consumption and compilation time.
> 
> I think it is a shame that gcc has such a monopoly with OSS projects.
> Some competition would be good.  It appears others are considering
> this -- see "Why haven't we seen an OpenCC":
> 	http://kerneltrap.org/node/6550
> 
Actually, I have hacked the old PCC that became free via Caldera so 
that it is useable.  Initially it was to get a usable compiler for 
the pdp10, but I have rewritten quite much of it now (~40% of the
frontend and 80% of the backend) and made it run on the i386, which
simplifies testing. 

It is supposed to be an ANSI-C compiler with some C99 and GNU 
extensions added.

It can generate decent code for i386 on NetBSD, but there are still
many bugs left.  The major benefit with it is that it is fast, it
runs about 5 times faster than gcc3 even though I have lots of 
internal consistency checks turned on.

I feel quite satisfied with the register allocator in the compiler,
it is probably one of the best multiple-register-class graph-coloring
register allocator that exists today :-)

It needs a few patches to the NetBSD header files to run, then it
compiles most of the userland (except for some C99 constructs that 
are not understood yet).  The patches are for the function renaming.

If someone is curious (or want to find/fix bugs :-) the compiler can
be fetched at ftp://226.net120.skekraft.net/pcc/pcc-0.9.7-060615.tgz
which contains running target for x86.  The vax code should be simple
to make runnable, but I haven't cared about that.

-- Ragge