Gordon@ucl-cs.UUCP (05/19/89)
mdt> I left out -O in CFLAGS. This was an oversight. The compiler runs mdt> just fine with -O. And I put it back in;-)! However, that old spectre of crt0+.o still haunts me. karl:/stats/staff/karl/gordon/BAIES/WOOD[14] make g++ -v g++ version 1.35.0 g++ wood.o table.o oper.o -o wood -g -lg++ -lm -v g++ version 1.35.0 /stats/staff/karl/lib/gcc-ld++ -o wood -C -dc -dp -Bstatic /lib/crt0.o /lib/Mcrt1.o wood.o table.o oper.o -lg++ /stats/staff/karl/lib/gcc-gnulib -lg -lc /stats/staff/karl/lib/gcc-ld++: text symbol `___DTOR_LIST__' redefined as set vector. Files: C++.hacksa12670 /stats/staff/karl/lib/libg++.a(stream.o) /stats/staff/karl/lib/gcc-ld++: text symbol `___CTOR_LIST__' redefined as set vector. Files: C++.hacksa12670 /stats/staff/karl/lib/libg++.a(stream.o) /lib/crt0.o: Undefined symbol __DYNAMIC referenced from text make: *** Error 1 karl:/stats/staff/karl/gordon/BAIES/WOOD[15] The file does in fact live in stats/staff/karl/lib/crt0+.o, along with its friends like gcc-gnulib. karl:/stats/staff/karl/lib[53] ll total 3706 -rwxr-xr-x 1 gordon 6477 May 11 15:35 bison.hairy -rwxr-xr-x 1 gordon 11822 May 11 15:35 bison.simple -rwxr-xr-x 1 gordon 16384 May 2 16:05 collect -rw-rw-r-- 1 gordon 425853 May 19 10:25 cplus-parse.output -rwxr-xr-x 1 gordon 236 May 19 10:59 crt0+.o -rwxr-xr-x 1 gordon 136 May 19 10:59 crt1+.o drwxr-xr-x 2 gordon 3072 Apr 23 16:05 g++-include -rwxr-xr-x 1 gordon 131072 May 2 16:06 gcc-as -rwxr-xr-x 1 gordon 835584 May 2 16:06 gcc-c++ -rwxr-xr-x 1 gordon 507904 May 18 22:47 gcc-cc1 -rwxr-xr-x 1 gordon 688128 May 19 10:59 gcc-cc1plus -rwxr-xr-x 1 gordon 73728 May 19 10:28 gcc-cpp -rwxr-xr-x 1 gordon 8334 May 18 22:45 gcc-gnulib drwxr-xr-x 7 gordon 1024 May 18 22:54 gcc-include -rwxr-xr-x 1 gordon 40960 May 19 10:59 gcc-ld++ -rwxr-xr-x 1 gordon 326548 Apr 28 11:43 libc.a -rwxr-xr-x 1 gordon 652798 May 11 12:03 libg++.a karl:/stats/staff/karl/lib[54] Up to that point, everything is peachy. For example, karl:/stats/staff/karl/gordon/BAIES/WOOD[4] rm wood.o ; make wood.o g++ -g -O -v -c wood.cc g++ version 1.35.0 /stats/staff/karl/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 wood.cc /tmp/cca13462.cpp GNU CPP version 1.35 /stats/staff/karl/lib/gcc-cc1plus /tmp/cca13462.cpp -quiet -dumpbase wood.cc -opt -version -G -o /tmp/cca13462.s GNU C++ version 1.35.0 (68k, MIT syntax) compiled by GNU C version 1.35. /stats/staff/karl/lib/gcc-as -mc68020 /tmp/cca13462.s -o wood.o karl:/stats/staff/karl/gordon/BAIES/WOOD[5] This is what happens for `make ld++` gcc version 1.35 /stats/staff/karl/lib/gcc-cpp -v -Dmc68020 -DSUN3=3 -DTARGET=SUN3 -DSTANDARD_SEARCH_DIRS="/stats/staff/karl/lib", "/lib", "/usr/lib" -DSOS -DESKIT -DSOS -DESKIT -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 newld.c /tmp/cca12708.cpp GNU CPP version 1.35 /stats/staff/karl/lib/gcc-cc1 /tmp/cca12708.cpp -quiet -dumpbase newld.c -g -O -version -o /tmp/cca12708.s GNU C version 1.35 (68k, MIT syntax) compiled by GNU C version 1.35. /stats/staff/karl/lib/gcc-as -mc68020 -o newld.o /tmp/cca12708.s gcc -o ld++ newld.o -lg -lc I usally edit ld.c directly to fix it up; this did not help this time. Gordon. karl:/stats/staff/karl/gordon/src/g++[121] config.g++ sun3-os4 Linked `config.h' to `config/xm-sunos4+.h'. Linked `tm.h' to `config/tm-sun3+.h'. Linked `md' to `config/m68k.md'. Linked `aux-output.c' to `config/out-m68k.c'. Links are now set up for use with a sun3-os4. Thu May 18 22:17:30 BST 1989