<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: please support -zmuldefs"
   href="https://bugs.llvm.org/show_bug.cgi?id=34164">34164</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>lld: please support -zmuldefs
          </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>FreeBSD
          </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>ELF
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>emaste@freebsd.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>23214
          </td>
        </tr></table>
      <p>
        <div>
        <pre>From the GNU ld manpage:

       --allow-multiple-definition
       -z muldefs
           Normally when a symbol is defined multiple times, the linker will
           report a fatal error. These options allow multiple definitions and
           the first definition will be used.

This gets used by FreeBSD's arm LINT kernel, which is not intended to actually
boot but enables all kernel options/devices and is used as a source file
coverage tool.

E.g.:

ld: error: duplicate symbol: cpu_initclocks
<span class="quote">>>> defined at /usr/home/emaste/src/freebsd-wip/sys/arm/arm/machdep.c
>>>            machdep.o:(cpu_initclocks)
>>> defined at /usr/home/emaste/src/freebsd-wip/sys/arm/at91/at91_machdep.c
>>>            at91_machdep.o:(.text+0x3B0)</span ></pre>
        </div>
      </p>

        <div id="referenced">
          <hr style="border: 1px dashed #969696">
          <b>Referenced Bugs:</b>
          <ul>
              <li>
                [<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [META] Using LLD as FreeBSD's system linker"
   href="https://bugs.llvm.org/show_bug.cgi?id=23214">Bug 23214</a>] [META] Using LLD as FreeBSD's system linker
              </li>
          </ul>
        </div>
        <br>

      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>