Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!portal!cup.portal.com!thad From: thad@cup.portal.com (Thad P Floryan) Newsgroups: comp.sys.amiga.tech Subject: Re: GNU's ANSI C compiler Message-ID: <18890@cup.portal.com> Date: 28 May 89 10:34:41 GMT References: <89May26.160931edt.9325@ois.db.toronto.edu> Organization: The Portal System (TM) Lines: 57 The question arose concerning the size of the GNU ANSI C compiler. I have it running on my 3B1 systems (68010) and present below a directory listing for your perusal. The gcc, cc1 and cpp executables shown below were compiled by gcc itself with full optimizing and are "stripped" (e.g. no symbols or other debugging info; prior to optimizing and stripping, they were about twice the shown sizes). If one has sufficient RAM, the compiler "should be" (famous last words! :-) portable to and operable on the Amiga given sufficient diligence on the part of the portee. My belief is that cross-compilation is the ONLY sane first step. The gcc building process allows one to specify BOTH the executable machine (that is, the machine on which "this" version will run) and the target machine (that is, the machine for which the code is to be generated). In other words, it should be possible to have a version of gcc running on, say, my 3B1 or a Sun, and have that version generate code for a Vax or a Sparc machine or whatever. In theory. I haven't tried such cross-compilation yet, but it "should" work. Cross-compiling for the Amiga should be easier since the Amiga and 3B1 are much alike; the GNU gcc permits 68020 and 68881 code generation, too. Even to bring it up on the 3B1 was a royal pain, since the stock AT&T cc (pcc) compiler could NOT compile the GNU gcc material. And there's NO way any of the present compilers for the Amiga will compile the (unmodified) GNU gcc sources, either. And before you flame that assertion, I have both the Manx 3.6a and Lattice 5.02 compilers (and Lattice c++ too), and have tried to compile the files. Didn't spend any time trying to hand-job it since I literally haven't the time to do so. One major problem deals with the HUMONGOUS "#defines" in the GNU sources, many of which are multi-thousand bytes long. Lattice poops out at 512 bytes, and Manx died with some other error(s). In any event, here are the directory listings (these are of version 1.34; the latest version 1.35 I have on another 3B1 which isn't connected to my Amiga): ksh 1/1667> ls -l /usr/local/bin/gcc /usr/local/lib/g* -rwxr-xr-x 2 thad users 12368 Apr 28 02:21 /usr/local/bin/gcc -rwxr-xr-x 2 thad users 484476 Apr 28 02:26 /usr/local/lib/gcc-cc1 -rwxr-xr-x 5 thad users 33232 Apr 28 02:22 /usr/local/lib/gcc-cpp -rw-r--r-- 2 thad users 18030 Apr 24 04:25 /usr/local/lib/gcc-gnulib /usr/local/lib/gcc-include: total 13 -rw-r--r-- 2 thad users 708 Dec 26 02:12 assert.h -rw-r--r-- 2 thad users 1161 Dec 26 02:16 limits.h -rw-r--r-- 2 thad users 776 Dec 26 02:17 stdarg.h -rw-r--r-- 2 thad users 393 Dec 26 02:17 stddef.h -rw-r--r-- 2 thad users 0 Feb 5 16:03 va-sparc.h -rw-r--r-- 2 thad users 1222 Dec 26 03:23 va-spur.h -rw-r--r-- 2 thad users 802 Feb 5 16:03 varargs.h ksh 1/1667> Thad Floryan [ thad@cup.portal.com (OR) ..!sun!portal!cup.portal.com!thad ]