<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 - WebAssembly doesn't support LLVM bitcode-in-object format"
   href="https://bugs.llvm.org/show_bug.cgi?id=45362">45362</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>WebAssembly doesn't support LLVM bitcode-in-object format
          </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>wasm
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>alex@crichton.co
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, sbc@chromium.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>We've recently been working on a change [1] in rustc to how we implement LTO in
rustc itself. The change we're implementing is to leverage LLVM's support for
an object file format where the object file has native machine code but also
has LLVM bitcode embedded into a custom section. This allows us to ship
binaries which can both be natively linked but also LTO'd against without
having any auxiliary files of our own.

The WebAssembly target, however, does not support this feature. This bug is
intended to be a feature request for implementing this for the wasm target,
allowing producers to embed LLVM bitcode into a blessed section name which
would be recognized by LLVM's LTO pipeline and additionally stripped by default
in LLD. I'm currently filing this on LLD because it seems like it may mostly
affect that, but I can also move it around if that would help!

[1]: <a href="https://github.com/rust-lang/rust/pull/70458">https://github.com/rust-lang/rust/pull/70458</a></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>