Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ucbvax!dewey.soe.berkeley.edu!oster From: oster@dewey.soe.berkeley.edu.UUCP Newsgroups: comp.sys.mac Subject: What is wrong with the Sumacc C compiler Message-ID: <21522@ucbvax.BERKELEY.EDU> Date: Fri, 30-Oct-87 02:23:31 EST Article-I.D.: ucbvax.21522 Posted: Fri Oct 30 02:23:31 1987 Date-Received: Sat, 31-Oct-87 17:46:21 EST References: <7486@dartvax.UUCP> <7508@dartvax.UUCP> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: oster@dewey.soe.berkeley.edu.UUCP (David Phillip Oster) Organization: School of Education, UC-Berkeley Lines: 39 Keywords: C compiler gripe In article <7508@dartvax.UUCP> earleh@dartvax.UUCP (Earle R. Horton) writes: >Perhaps someone would care to enlighten me as to why the sumacc compiler has >apparently fallen into disuse. Is it solely the inconvenience of having to >download the compiled program (I can live with that) or is there something >wrong with it? Well, there are two things wrong with it: 1.) it is slow. Unless you have a Mac with an ethernet connection to a _very_ fast machine, it is much faster to compile and link locally than to compile on a remote machine, link, rmake, and down load the result. 2.) it is buggy. You may have seen my shareware program, Calendar 1.9. It is loosely based on a program that was broadcast to the net in, I think '84, that was compiled in sumacc C. I liked the program, but it hhad an obvious killer bug, as a result of the Sumacc compiler. (The symptoms were, if you used the Calendar desk accessory once, then you couldn't use it again until you quit the current application.) After trying, unsuccessfully to contact the author, I took over development of the program, and have added many new features and fixed many old bugs. The authors of the compiler seem to be unaware that on a Macintosh executable code can move while the program is running. Unlike all Macintosh compilers, they generate position _dependent_ code, and have a funky loader scheme to resolve non-relocatable references at program load time. Eventually, the code moves, and all that position dependent code points at never-neverland. Conclusion: Don't use sumacc C. Because of its authors' poor understanding of the Macintosh execution time environment, the sumacc C compiler generates incorrect code. --- David Phillip Oster --A Sun 3/60 makes a poor Macintosh II. Arpa: oster@dewey.soe.berkeley.edu --A Macintosh II makes a poor Sun 3/60. Uucp: {uwvax,decvax,ihnp4}!ucbvax!oster%dewey.soe.berkeley.edu