Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site unccvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!mcnc!unccvax!dsi From: dsi@unccvax.UUCP (Dataspan Inc) Newsgroups: net.lang.c,net.micro,net.micro.68k,net.wanted Subject: Re: hot 68000 C cross-compiler sought Message-ID: <120@unccvax.UUCP> Date: Fri, 11-Jan-85 15:43:49 EST Article-I.D.: unccvax.120 Posted: Fri Jan 11 15:43:49 1985 Date-Received: Sun, 13-Jan-85 09:21:01 EST References: <1258@bbncca.ARPA> Organization: UNC-Charlotte Lines: 44 Keywords: Tartan Labs, workstations vs. embedded systems Xref: watmath net.lang.c:3842 net.micro:9042 net.micro.68k:509 net.wanted:5523 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