[LLVMbugs] [Bug 1699] New: multiple definition of `testandset' with llvm-gcc-4.2

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Sep 24 12:41:18 PDT 2007


http://llvm.org/bugs/show_bug.cgi?id=1699

           Summary: multiple definition of `testandset' with llvm-gcc-4.2
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-gcc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rep.dot.nop at gmail.com
                CC: llvmbugs at cs.uiuc.edu


I'm using llvm-gcc-4.2/trunk to (attempt to) build a cross-compiler for i386.

For the initial compiler, i configure llvm-gcc-4.2 *without* specifying
--enable-llvm. binutils-2.18 (and also HJL's .50.) is used.

Building a library (uClibc in this case) results in:

/home/me/obj.ia32/buildroot.mine/build_i386/staging_dir/usr/bin/i386-linux-ucli
bc-ld  -shared --warn-common --warn-once -z combreloc -z relro -z now -z defs
-s
  -init __uClibc_init -soname=libc.so.0 -o lib/libuClibc-0.9.29.so 
--whole-arch
ive libc/libc_so.a --no-whole-archive ./lib/interp.os ./lib/ld-uClibc.so.0
./lib
/uclibc_nonshared.a /home/me/obj.ia32/buildroot.mine/build_i386/staging_dir/usr
/lib/gcc/i386-linux-uclibc/4.2.1/libgcc.a 
libc/libc_so.a(sigaction.os): In function `testandset':
sigaction.c:(.text+0xf): multiple definition of `testandset'
libc/libc_so.a(brk.os):brk.c:(.text+0x0): first defined here
libc/libc_so.a(sigaction.os): In function `__compare_and_swap':
sigaction.c:(.text+0x1e): multiple definition of `__compare_and_swap'
libc/libc_so.a(brk.os):brk.c:(.text+0xf): first defined here
libc/libc_so.a(sigaction.os): In function `get_eflags':
sigaction.c:(.text+0x39): multiple definition of `get_eflags'
libc/libc_so.a(brk.os):brk.c:(.text+0x2a): first defined here
libc/libc_so.a(sigaction.os): In function `set_eflags':
sigaction.c:(.text+0x40): multiple definition of `set_eflags'
libc/libc_so.a(brk.os):brk.c:(.text+0x31): first defined here
libc/libc_so.a(sigaction.os): In function `compare_and_swap_is_available':
sigaction.c:(.text+0x137): multiple definition of
`compare_and_swap_is_available
'

Using gcc-4.2.1 (i.e. not the llvm-gcc) works flawlessly.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list