<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [lld-link] Spourious duplicate symbol error"
href="https://bugs.llvm.org/show_bug.cgi?id=32603">32603</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[lld-link] Spourious duplicate symbol error
</td>
</tr>
<tr>
<th>Product</th>
<td>lld
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>COFF
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>Alberto.Magni@microsoft.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=18261" name="attach_18261" title="Reproducer and possible fix.">attachment 18261</a> <a href="attachment.cgi?id=18261&action=edit" title="Reproducer and possible fix.">[details]</a></span>
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.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>