hot 68000 C cross-compiler sought

Dataspan Inc dsi at unccvax.UUCP
Sat Jan 12 06:43:49 AEST 1985


     We talked to Tartan last spring, when we were hot for a hot C-compiler.
We had been using the MIT compiler on a 750 running 4.1, and someone lost
the source, so when we went 4.2, we decided to get another compiler.

     Tartan called us about 4 months too late to annouce that their 68k
cross compiler for VAX/4.2 bsd was ready, at $ 6,000. We bought the Alcyon
compiler for cross-development, and on a 6000 line program, it is about
15 % more dense in code. Unfortunately, there are  more than a few bugs
which do nasty things like force your addressing to the lowest 64k when
you call certain object modules by certain names (like panic.o and p(n).o,
where n is an integer, prog.o, abort.o ... your usual O.S. names), it
also incorrectly compiles certain pointer operations by adding irrelevant
shifts to the operands. This last bug even extends to comparing pointers
to constants. For example


long *p;

p = 32;

if ( p == 32 ) /* do something intelligent */

generates something stupid in the assembly code like    cmpi 128,RX 

     My expert in this area claims that comparing to 2 is impossible. Not
that this trivial example is going to screw you up, but there are some
really deep-seated bugs you can get from the weird things this compiler
generates if you don't watch it. 

     It was cheap, however, ($1250) and doesn't do stupid things like
generates branches to the next label right below. Another really annoying
thing is that (I think, for the first time) an int is not a full register
width. 

     We also bought a Whitesmiths C-compiler for a PDP 11/34 running RSX-11
as well as on our Idris system. It doesn't seem to have these bugs but I
don't think it is terribly hot, either.

     If anyone has any suggestions about a half-decent compiler, I'd like
to hear about them by mail

dya



More information about the Comp.lang.c mailing list