sdyer@bbncca.ARPA (Steve Dyer) (01/11/85)
No, not in the sense of "stolen", but something which produces better code than the myriad of PCC-derived 68K C compilers, such as the ones which have evolved from the original MIT C compiler. I spoke with Tartan Labs this week, but it appears that they are aiming their future 68000 C compilers towards workstations like Suns and Apollos, and are not planning to sell their compiler in a cross-development environment. This seems awfully short-sighted to me, since a good 68K compiler is greatly needed, and there are many many more systems with embedded 68000s in them than there are Sun workstations. Does anyone know of other compiler vendors who offer optimizing 68000 C compilers for a cross-development environment like a VAX? Is there any interest out there on the net for such a product? I suppose that a barrage of public interest here on USENET could influence Tartan's plans. Reply to me, and I will summarize. -- /Steve Dyer {decvax,linus,ima,ihnp4}!bbncca!sdyer sdyer@bbncca.ARPA
dsi@unccvax.UUCP (Dataspan Inc) (01/11/85)
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