[comp.os.minix] C v1.2 compiler sources

linde@srcsip.UUCP (11/29/87)

Hmmm 
Well I actually broke down and bought the C compiler v1.2 sources from
unipress. After they arrived i became more that slightly purturbed
when i found out that they are mostly worthless. At least as far as the 
code generator is concerned (in that I am trying to get it to run in 
protected mode with more that a stupid 64k segment limit) Without the
CG source this make the task somewhat harder. (ARRGGG!) {Actually
the segment limit could be surmounted but it would be a lot harder
without the Cg source}

Hmm maybe i should be a little bit more clear. They give you the C source 
for the CG but this consists of a table lookup EM parser, not much in the C
code its all in two routines table.c and table.h which they do NOT give you
the source to(the machine description file that cgg uses).
Nor do they give you the source to the cgg frontend that 
creates the table.c/h routines. 

So it all means that the thing is mostly worthless if you want to really 
do anything to the compiler. (that is if you want to make in run on
a 80286/386 processor in protected mode)  Or any other processor for
that matter

Oh yea. the compiler is a bit better that the old one. Generated code is 
about 10% smaller (recompilling the kernel/mm/fs sources shows about this)

if someone wants more specific number give me a mail message.

-- 
     Larry G. Linde  MN65-2300 Research Scientist/IR Lab Manager
    Signal and Image Processing     **    Machine Vision Technology
Honeywell Systems & Research Center ** 3660 Technology Drive      (612)
               Mpls, MN  55413      **                           782-7589
             
-- UUCP: {ihnp4,philabs,umn-cs,ems}!srcsip!linde  ARPA: Linde@HI-MULTICS --

ast@cs.vu.nl (Andy Tanenbaum) (11/30/87)

In article <515@altura.srcsip.UUCP> linde@srcsip.UUCP () writes:
>Hmmm 
[ comments about the C compiler source]

The comments are basically true.  I have mentioned this before, and might
as well mention it again.  The "sources" that UniPress and Transmediair
are distributing are C programs that can be compiled on MINIX and to some
extent modified.  They were generated using ACK.  ACK itself does not run
on a PC class machine.  It runs nicely on VAXes, SUNs, etc.  The installation
instructions start with something like: "First free up at least 40 megabytes
of disk space".  The installation procedure sets up some 4 or 5 front ends and
a dozen or so back ends and takes an appreciable fraction of a day to install
on a VAX or SUN.

Thus, it simply isn't possible to do anything at all with the meta-sources
on a PC.  As a next best alternative, we made the output from the compiler-
compilers, in C available.  These will compile with MINIX ok.  Some of the
passes can be easily hacked by hand; others are table driven, so there is
less you can do.

The C sources are not entirely useless, even aside from changing them.  Many
people have been interested in cross compiling for MINIX on larger UNIX
systems.  Since the C compiler sources being distributed as just ordinary
C programs that make V7 system calls (mostly just read and write), they
can be ported to other UNIX systems quite easily.

Andy Tanenbaum (ast@cs.vu.nl)