From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Jaeger To: GNU libc hacker Subject: Multiple definition of __libc_multiple_libcs Date: Mon, 10 Jan 2000 08:35:00 -0000 Message-id: X-SW-Source: 2000-01/msg00069.html 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