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