ulmo@ssyx.ucsc.edu (Brad Allen) (05/24/89)
ISI BSD4.3 68020 w/68881 gas1.33 gcc1.35 g++1.35.0 libg++1.35.0 This is just a general itinerary of my simple efforts so far. It is probably fairly inaccurate. First, I think neither GAS nor GCC would compile with ISI's cc with -O turned on. I used cc -20 for all cc compilations. When I finally figured this out, GAS stopped giving stange ".... -- ignored" warnings while compiling GCC. GCC would finally build right. (I ought to try cc again with gas for stage1 of GCC, perhaps I forgot to jury-rig cc to use gas. Humm.) I never used -g anywhere. Tomorrow I will try throwing -g on for all gcc compiles (someone mentioned gcc without -g didn't work). GCC seemed to compile OK (stage2 and stage3 compared as equal). A few small utilities compiled under gcc fine with -O. Notably the GNU utilities did not compile fine, noting some missing functions I believe. Emacs compiled comparatively painlessly. I used gcc -O as usual, with an exception: on about three of the source files, I think it was gas which ran into the same "...: ignored" warning again, so I did a "cc -20 ...." by hand for those few. I learned Emacs last night, it worked wonderfully. G++ would hardly budge. There were more than a few source files which barfed with the same gas errors, even though it made it most of the way to the end (with occasional hand-done cc -20 -c's to get it there). This was with the same prettymuch-working gcc. The one time I did get G++ to accidentally seem to think it was compiled right and install, libg++ couldn't compile complaining about about 7 undefined floating point functions. Before that, I got a few signals while in gas for compiling various stuff. I forget why. I forget how I got around that. I'll note excerpts from the complete set of scripts tomorrow. Tonight I'll show just a bit: $ make CC=stage1/gcc CFLAGS="-O -Bstage1/" stage1/gcc -O -Bstage1/ -I./config -DSTANDARD_STARTFILE_PREFIX=\"/usr/ulmo/gnu/lib/\" -DSTANDARD_EXEC_PREFIX=\"/usr/ulmo/gnu/lib/gcc-\" -c gcc.c stage1/gcc -c -O -Bstage1/ -I./config version.c stage1/gcc -c -O -Bstage1/ -I./config obstack.c stage1/gcc -O -Bstage1/ -o gccnew gcc.o version.o obstack.o mv gccnew gcc stage1/gcc -c -O -Bstage1/ -I./config c-parse.tab.c /tmp/cc003372.s:10589:"instruction/operands mismatch" -- Statement 'fmoved fp0,sp@-' ignored stage1/gcc -c -O -Bstage1/ -I./config c-decl.c stage1/gcc -c -O -Bstage1/ -I./config c-typeck.c stage1/gcc -c -O -Bstage1/ -I./config c-convert.c stage1/gcc -c -O -Bstage1/ -I./config toplev.c stage1/gcc -c -O -Bstage1/ -I./config tree.c /tmp/cc003395.s:1211:"instruction/operands mismatch" -- Statement 'fmovem #0x4,sp@-' ignored /tmp/cc003395.s:1222:"instruction/operands mismatch" -- Statement 'fmovel d0,fp0' ignored /tmp/cc003395.s:1223:"instruction/operands mismatch" -- Statement 'fmuld #0r4294967296,fp0' ignored Etc. I looked at the source in the ccXXXXXX.s's, and the Statements are quoted correctly from the specified lines. Too bad I don't know 68020. As I said, this problem mostly went away once I compiled GAS without cc's -O. GCC even seemed to make correctly. But apparently not well enough for tree.c in emacs, g++, etc...