[llvm-bugs] [Bug 32603] New: [lld-link] Spourious duplicate symbol error
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Apr 10 10:53:32 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=32603
Bug ID: 32603
Summary: [lld-link] Spourious duplicate symbol error
Product: lld
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: COFF
Assignee: unassignedbugs at nondot.org
Reporter: Alberto.Magni at microsoft.com
CC: llvm-bugs at lists.llvm.org
Created attachment 18261
--> https://bugs.llvm.org/attachment.cgi?id=18261&action=edit
Reproducer and possible fix.
We have noticed an inconsistency between the link.exe and lld-link.exe
Consider this example:
foo1.ll defines a function foo
foo2.ll defines a function foo
main.ll contains main that calls foo
foo1.ll is assembled into an object file and then into a library
foo2.ll is assembled into an object file
The following command currently fails:
lld-link.exe foo1.lib main.obj foo2.obj
The error is: duplicate symbol: foo
While the same invocation works with link.exe
This is because link processes all .obj files in input first and resorts to
.lib inputs only if there are unresolved symbols.
Since the symbol foo is found in the .obj the library is ignored and no error
is reported.
A reproducer for this bug is attached in the format of an LLVM test.
The same diff file contains a possible fix.
--
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/20170410/285e2c0c/attachment.html>
More information about the llvm-bugs
mailing list