Multiple definition of __libc_multiple_libcs
Andreas Jaeger
aj@suse.de
Mon Jan 10 08:35:00 GMT 2000
With the current glibc 2.2, I received the following error message:
/opt/egcs1.1.2/bin/gcc -nostdlib -nostartfiles -r -o /build-glibc-dl-wip/20000110/elf/librtld.os '-Wl,-(' /build-glibc-dl-wip/20000110/elf/dl-allobjs.os /build-glibc-dl-wip/20000110/libc_pic.a -lgcc '-Wl,-)'
/build-glibc-dl-wip/20000110/libc_pic.a(init-first.os): In function `init':
/libc-dl-wip/csu/../sysdeps/unix/sysv/linux/init-first.c:61: multiple definition of `__libc_multiple_libcs'
/build-glibc-dl-wip/20000110/elf/dl-allobjs.os(.data+0xe4):/libc-dl-wip/elf/rtld.c: first defined here
Why do we have in sysdeps/generic/dl-sysdep.c:
int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion
of init-first. */
and also in sysdeps/unix/sysv/linux/init-first.c:
/* Set nonzero if we have to be prepared for more then one libc being
used in the process. Safe assumption if initializer never runs. */
int __libc_multiple_libcs = 1;
and why is this a problem on Linux/MIPS and not on Linux/ix86? I'm a
little bit confused and appreciate your help.
Is this a bug in binutils? On Linux/MIPS I use:
$ ld --version
GNU ld 2.9.5
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de
More information about the Libc-hacker
mailing list