This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/15648] New: multiple definition of `__lll_lock_wait_private'


http://sourceware.org/bugzilla/show_bug.cgi?id=15648

            Bug ID: 15648
           Summary: multiple definition of `__lll_lock_wait_private'
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: knrstaj at gmail dot com
                CC: drepper.fsp at gmail dot com

Hello,

I build a program with gcc 4.6 and enable link time optimization.
when static linking, ld show error mesage 

/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libpthread.a(lowlevellock.o):
In function `__lll_lock_wait_private':
/build/buildd/eglibc-2.15/nptl/../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:76:
multiple definition of `__lll_lock_wait_private'
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x0):
first defined here
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libpthread.a(lowlevellock.o):
In function `__lll_unlock_wake_private':
/build/buildd/eglibc-2.15/nptl/../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:332:
multiple definition of `__lll_unlock_wake_private'
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x30):
first defined here

I also search relative issue like
http://dev.drobilla.net/ticket/914

I see the glibc source files
libc/nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:

#include <lowlevellock.c>

I am confused. Why nptl and libc share the same context?
Is it a potential bug?

I make the patch, and the problem is resolved.
Is this correct for arm?

--- a/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
+++ b/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c
@@ -22,6 +22,8 @@
 #include <sys/time.h>

 void
+__lll_lock_wait_private (int *futex) __attribute__ ((__weak__));
+void
 __lll_lock_wait_private (int *futex)
 {
   do


Thanks in advance
Neil

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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