On Mon, Apr 02, 2001 at 01:39:08PM -0400, Ben Collins wrote: > On Mon, Apr 02, 2001 at 07:08:01PM +0200, Florian Lohoff wrote: > > gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in > > ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo > > ;; esac ` ` case "" in ?*) echo ;; esac ` > > /usr/lib/crt1.o: In function `__start': > > /usr/lib/crt1.o(.text+0x28): undefined reference to `atexit' > > /usr/lib/crt1.o: In function `nofini': > > /usr/lib/crt1.o(.text+0x7c): undefined reference to `__libc_init_first' > > /usr/lib/crt1.o(.text+0xd8): undefined reference to `atexit' > > /usr/lib/crt1.o(.text+0x138): undefined reference to `exit' > > Looks like you are mixing some libc things here. Are you sure you have a > pure 2.0.6 install with no glibc 2.2.x things laying around? >
I have reinstalled the glibc 2.0.6 and stuff again just to be shure - And yes - I am pure 2.0.6 repeat:/lib# readelf -s libc.so.6 | grep atexit 321: 600dbe3c 0 OBJECT GLOBAL DEFAULT ABS __start___libc_atexit 322: 600dbe40 0 OBJECT GLOBAL DEFAULT ABS __stop___libc_atexit 328: 60005480 112 FUNC GLOBAL DEFAULT PRC atexit 1646: 600dbe3c 4 OBJECT LOCAL DEFAULT 13 __elf_set___libc_atexit_element__cleanup__ 3360: 600dbe3c 0 OBJECT GLOBAL DEFAULT ABS __start___libc_atexit 3575: 600dbe40 0 OBJECT GLOBAL DEFAULT ABS __stop___libc_atexit 3990: 60005480 112 FUNC GLOBAL DEFAULT PRC atexit Both sections .dynsym and .symtab contain the symbol atexit repeat:/usr/lib# readelf -s /usr/lib/crt1.o | grep atexit 9: 00000000 0 OBJECT GLOBAL DEFAULT UND atexit By adding "-lc" to the gcc the bug disappears - [EMAIL PROTECTED]:~/gcc-2.95-2.95.3.ds5/build-native/gcc$ stage1/xgcc -v -Bstage1/ -B/usr/mipsel-linux/bin/ -DIN_GCC -g -O2 -DHAVE_CONFIG_H -o gencheck gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` Reading specs from stage1/specs gcc version 2.95.3 20010315 (Debian release) stage1/collect2 -Y P,/usr/lib -dynamic-linker /lib/ld.so.1 -o gencheck /usr/lib/crt1.o /usr/lib/crti.o stage1/crtbegin.o -Lstage1 gencheck.o obstack.o -lgcc -lgcc stage1/crtend.o /usr/lib/crtn.o /usr/lib/crt1.o: In function `__start': /usr/lib/crt1.o(.text+0x28): undefined reference to `atexit' /usr/lib/crt1.o: In function `nofini': /usr/lib/crt1.o(.text+0x7c): undefined reference to `__libc_init_first' /usr/lib/crt1.o(.text+0xd8): undefined reference to `atexit' /usr/lib/crt1.o(.text+0x138): undefined reference to `exit' gencheck.o: In function `usage': /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:34: undefined reference to `_IO_stderr_' /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:34: undefined reference to `fprintf' gencheck.o: In function `main': /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:50: undefined reference to `exit' /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:53: undefined reference to `printf' /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:56: undefined reference to `printf' gencheck.o: In function `no symbol': /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/gencheck.c:58: undefined reference to `printf' stage1/libgcc.a(__main.o): In function `no symbol': /home/flo/gcc-2.95-2.95.3.ds5/src-native/gcc/libgcc2.c(.text+0x154): undefined reference to `atexit' collect2: ld returned 1 exit status [EMAIL PROTECTED]:~/gcc-2.95-2.95.3.ds5/build-native/gcc$ stage1/xgcc -v -Bstage1/ -B/usr/mipsel-linux/bin/ -DIN_GCC -g -O2 -DHAVE_CONFIG_H -lc -o gencheck gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` Reading specs from stage1/specs gcc version 2.95.3 20010315 (Debian release) stage1/collect2 -Y P,/usr/lib -dynamic-linker /lib/ld.so.1 -o gencheck /usr/lib/crt1.o /usr/lib/crti.o stage1/crtbegin.o -Lstage1 -lc gencheck.o obstack.o -lgcc -lgcc stage1/crtend.o /usr/lib/crtn.o Flo -- Florian Lohoff [EMAIL PROTECTED] +49-5201-669912 Why is it called "common sense" when nobody seems to have any?