dtynan@altos86.Altos.COM (Dermot Tynan) (07/21/89)
I'm running Altos System V.3d (similar to V.3.1), on a 2000/386. Everything compiles just fine (gld, bison, gcc, etc). Until I get to 'gawk'. The compiler runs out of steam (probably due to the large macros). So, I use' gcc instead. The following problem occurs: Script started on Thu Jul 20 13:08:20 1989 1 altos86# ls -lF /lib/crt?.o -rw-rw-r-- 1 bin sys 496 Feb 12 1988 /lib/crt0.o -rw-rw-r-- 1 bin sys 604 Feb 12 1988 /lib/crt1.o -rw-rw-r-- 1 bin sys 364 Feb 12 1988 /lib/crtn.o 2 altos86# gnu robotussin /lib/crt0.o /usr/local/lib/gcc-crt0.o 3 altos86# gnu robotussin /lib/crt1.o /usr/local/lib/gcc-crt1.o robotussin: Oops! possible bug - reloc reference to ignored symbol 4 altos86# gnu robotussin /lib/crtn.o /usr/local/lib/gcc-crtn.o 5 altos86# cd gawk 6 altos86# make gcc -o gawk -O -DUSG awk1.o awk2.o awk3.o awk4.o awk5.o awk6.o awk7.o awk8.o awk9.o version.o awka.o awk.tab.o regex.o -lm ld: premature end of file in symbols of /usr/local/lib/gcc-crt1.o *** Error code 1 Stop. 8 altos86# exit 9 altos86# script done on Thu Jul 20 13:10:23 1989 Symbols from /lib/crt1.o: Name Value Class Type Size Line Section crt1.s | | file | | | | _start | 0|extern| | | |.text _mcount | 58|extern| | | |.text environ | 60|extern| | | |.bss _istart | 92|static| | | |.init main | 0|extern| | | | exit | 0|extern| | | | I have no idea what the problem here is, but I'll look into it further. In the meantime, has anyone else seen this problem? What is crt1.o used for, that isn't covered in 'crt0.o'. Thanks... - Der -- dtynan@altos86.Altos.COM (408) 946-6700 x4237 Dermot Tynan, Altos Computer Systems, San Jose, CA 95134 "Far and few, far and few, are the lands where the Jumblies live..."
james@bigtex.cactus.org (James Van Artsdalen) (07/22/89)
In <3553@altos86.Altos.COM>, dtynan@altos86.Altos.COM (Dermot Tynan) wrote: > 1 altos86# ls -lF /lib/crt?.o > -rw-rw-r-- 1 bin sys 496 Feb 12 1988 /lib/crt0.o > -rw-rw-r-- 1 bin sys 604 Feb 12 1988 /lib/crt1.o > -rw-rw-r-- 1 bin sys 364 Feb 12 1988 /lib/crtn.o > 2 altos86# gnu robotussin /lib/crt0.o /usr/local/lib/gcc-crt0.o > 3 altos86# gnu robotussin /lib/crt1.o /usr/local/lib/gcc-crt1.o > robotussin: Oops! possible bug - reloc reference to ignored symbol > 4 altos86# gnu robotussin /lib/crtn.o /usr/local/lib/gcc-crtn.o robotussin doesn't handle the .init section in COFF files. It doesn't need to, because GNU ld doesn't handle shared libraries. It appears that the .init section is not used except by shared libraries. > In the meantime, has anyone else seen this problem? What is crt1.o used > for, that isn't covered in 'crt0.o'. crt1.o and crtn.o are required for using shared libraries. crt0.o may be used if you don't use shared libraries. Since GNU ld doesn't handle SysV shared libraries, there's no point in robotussining crt1.o or crtn.o. Just use crt0.o. -- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die" Dell Computer Co 9505 Arboretum Blvd Austin TX 78759 512-338-8789