Re: gcc fails to build on debian-mipsel
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 -
flo@repeat:~/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
flo@repeat:~/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 flo@rfc822.org +49-5201-669912
Why is it called "common sense" when nobody seems to have any?
Reply to: