[llvm-bugs] [Bug 28256] New: [LTO] duplicated symbols in libc.a and libpthread.a (FreeBSD)

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jun 21 19:07:02 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28256

            Bug ID: 28256
           Summary: [LTO] duplicated symbols in libc.a and libpthread.a
                    (FreeBSD)
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: davide at freebsd.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

This happens while building the clang provided in FreeBSD, with (pretty much)
every symbol like _pthread*

duplicate symbol: _pthread_exit in
usr/home/buildbot/obj/usr/home/buildbot/freebsd/tmp/usr/lib/libpthread.a(thr_exit.o)
and
usr/home/buildbot/obj/usr/home/buildbot/freebsd/tmp/usr/lib/libc.a(_pthread_stub
s.o)
[...]


thr_exit.o contains:
module asm ".weak pthread_exit"
module asm ".equ pthread_exit, _pthread_exit"

; Function Attrs: noreturn uwtable
define void @_pthread_exit(i8* %status) #0 {
entry:
  tail call void @_pthread_exit_mask(i8* %status, %struct.__sigset* null) #6
  unreachable
}

and _pthread_stubs.o

module asm ".weak _pthread_exit"
module asm ".equ _pthread_exit, pthread_exit_int"

define internal void @pthread_exit_int(i8* %p0) #2 {
entry:
  %0 = load void (i8*)*, void (i8*)** bitcast (i32 ()** getelementptr inbounds
([66 x [2 x i32 ()*]], [66 x [2 x i32 ()*]]* @__thr_jtable, i64 0, i64 30, i64
1) to void (i8*)**), align 8, !tbaa !1
  tail call void %0(i8* %p0) #5
  ret void
}

Reproduce coming.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160622/a4f5d110/attachment.html>


More information about the llvm-bugs mailing list