Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!mordor!sri-spam!ames!ll-xn!mit-eddie!genrad!panda!husc6!necntc!encore!linus!philabs!sbcs!root From: root@sbcs.UUCP (Root) Newsgroups: comp.sys.amiga Subject: Re: C compilers; request for info Message-ID: <251@sbcs.UUCP> Date: Sat, 13-Dec-86 11:33:21 EST Article-I.D.: sbcs.251 Posted: Sat Dec 13 11:33:21 1986 Date-Received: Tue, 16-Dec-86 01:49:39 EST References: <795@ulowell.UUCP> <9776@sun.uucp> <248@sbcs.UUCP> <1056@tekigm.UUCP> Organization: Computer Science Dept, SUNY@Stony Brook Lines: 79 Phil Staub writes: > First is the questionable legality of putting the Manx library on a machine > other than that for which the compiler was bought. Perhaps I am mistaken, but the real issue is whether Manx charges a royalty for use of their C library. They cannot possibly care whether their C library is linked with code generated in hand coded assembly language, their compiler system, or another code generator. As to the other issue, that of their development system being purchased for the Amiga and then actually residing on the Sun, well simply tell them that the license for use is to be assigned to the Sun. Note that my solution was to write my own C library, so how Manx handles licensing is a non issue for me. > The second pertains to what your development environment is. If you are able > to develop code which can be quickly downloaded to the Amiga, that's one I don't download to the Amiga - I use NFS to run the programs directly from the Amiga. > This brings it down to which compiler generates better code. > We have a GreenHills compiler running on a Gould Unix system (read: *fast* > compilation times). In many cases, I have found that at least the size of > the code generated by the Manx compiler compares very favorably with the > GreenHills compiler. (Of course, that only means anything when Manx writes > the right code 8-) !! ). I'm not sure about speed. Another thing about the "Better" code (smaller, I think you meant) is _a_ reason, but there are more important factors: 1) The Manx compiler system was (is?) buggy. In a few weeks use of Manx, I found at least 2 compiler bugs. I've been using Sun's compiler for months now and have run across only one bug. 2) The Manx compiler system utilities crashed quite a bit. `make' crashes were particularly annoying. 3) Long compilation/link times. Didn't have Perry's Recoverable Ram Disk (ASDG corp - very nice products!) at the time - this might have made the compile/link cycle shorter. Currently, I can compile several modules and link whole system in the time Manx took just to link a few modules together on floppy (yes, .o's too large for RAM:). 4) A set of floppy disks could not hold all the object/binaries needed (last count about 7 mBytes src/object). 5) Sun comp. sys is as "Unix like" a compiler (e.g. has enums, better structure handling, etc) a compiler as you're likely to find for the Amiga. 6) The Sun comp. sys has truly optimized code, e.g. strength reduction in array indices, common subexpression elimination, branch tail reduction, etc, etc. 7) Superior development environment available in Unix. I like SCCS, vi, a "real" make, yacc, lex, etc available in Unix. All of the above are "standard equipment" in the $400 Sun Unix release. 8) We needed the option of generating true 68020 code at some point in the future. > GreenHills compiler is that (unless there's a switch I don't know about) it > doesn't generate PC relative code for anything. It's all absolute. > This results in bigger code which must be relocated before execution when > AmigaDOS loads it. (read: longer startup times). Granted that the Sun system cannot generate index register data references, however, they can generate PC relative code references. They also do span dependent instruction optimization in the assembler (bra <-> jmp as necessary). Rick Spanbauer PS. Don't totally misinterpret my position Re: Manx - I feel that it is the finest compiler system available for small 68000 systems today.