<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 as a library behaves incorrectly about exiting"
   href="https://bugs.llvm.org/show_bug.cgi?id=48547">48547</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LLD as a library behaves incorrectly about exiting
          </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>All
          </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>All Bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>dpldobrev@protonmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, smithp352@googlemail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>lld is explicitly documented as invokable as a library at <a href="https://lld.llvm.org/">https://lld.llvm.org/</a>
:

"You can embed LLD in your program to eliminate dependencies on external
linkers. All you have to do is to construct object files and command line
arguments just like you would do to invoke an external linker and then call the
linker’s main function, lld::elf::link, from your code."

However, using this method requires passing a Boolean parameter for exiting. If
it's true, the entire process dies right away. If it's false, it's left hanging
unless llvm::llvm_shutdown() is manually called. This isn't the proper
behaviour of a library as the calls should just to the job and not have the
caller handle such details.</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>