This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Multiple definition of __libc_multiple_libcs


Andreas Jaeger <aj@suse.de> writes:

|> 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?

Probably because init-first.os is spuriously included during linking due
to some unresolved references.  It should not be part of ld.so.  Please
check the link map.

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]