<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/110045>110045</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            wasm-ld crashes with --compress-relocations
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          TerrorJack
      </td>
    </tr>
</table>

<pre>
    Repro: get `release-artifacts` from CI output of latest revision in https://github.com/WebAssembly/wasi-sdk, which uses llvm 19.1.0. Then compile the following program:

```c++
#include <iostream>

int main(void) {
  std::cout << "yolo" << std::endl;
  return 0;
}
```

With something like: `/tmp/wasi-sdk/bin/wasm32-wasi-clang++ test.cpp -o test.wasm -Wl,--compress-relocations,--strip-all`

It will crash with the following error message:

```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
 #0 0x00007f312b0c0091 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/tmp/wasi-sdk/bin/../lib/libLLVM.so.19.1-wasi-sdk+0x8c0091)
 #1 0x00007f312b0be5e5 llvm::sys::RunSignalHandlers() (/tmp/wasi-sdk/bin/../lib/libLLVM.so.19.1-wasi-sdk+0x8be5e5)
 #2 0x00007f312b0bf4f4 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f312a605320 (/lib/x86_64-linux-gnu/libc.so.6+0x45320)
 #4 0x000055d3454f97f9 lld::wasm::InputFunction::writeCompressed(unsigned char*) const (/tmp/wasi-sdk/bin/wasm-ld+0x2f97f9)
 #5 0x000055d34551b6a6 lld::wasm::CodeSection::writeTo(unsigned char*) (/tmp/wasi-sdk/bin/wasm-ld+0x31b6a6)
 #6 0x00007f312b06ae47 std::_Function_handler<void (), llvm::parallelFor(unsigned long, unsigned long, llvm::function_ref<void (unsigned long)>)::'lambda'()>::_M_invoke(std::_Any_data const&) Parallel.cpp:0:0
 #7 0x00007f312b06add7 std::_Function_handler<void (), llvm::parallel::TaskGroup::spawn(std::function<void ()>, bool)::'lambda'()>::_M_invoke(std::_Any_data const&) Parallel.cpp:0:0
 #8 0x00007f312b06b365 llvm::parallel::detail::(anonymous namespace)::ThreadPoolExecutor::work(llvm::ThreadPoolStrategy, unsigned int) Parallel.cpp:0:0
 #9 0x00007f312c6a420f execute_native_thread_routine thread.o:0:0
#10 0x00007f312a65ca94 start_thread ./nptl/pthread_create.c:447:8
#11 0x00007f312a6e9c3c clone3 ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80:0
wasm32-wasi-clang++: error: unable to execute command: Segmentation fault
wasm32-wasi-clang++: error: linker command failed due to signal (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8ls1u474RwJ-Gvgws0JRkWwcfvN643WIXCDZB92hQ1MhmTZECSdnx2xek5A-lyWLRFn_AUSSKnPnNp4Y7J_cacUXyLyT_OuGdPxi7ekVrjf0HF8dJaarL6ie21pB0DXv0QObUokLucMqtlzUX3pE5hdqaBjbfwHS-7TyYGhT36DxYPEknjQap4eB960i6JmxL2HYv_aErE2Eawra_sFw7h02pLoRtz9zJqauOhG3gfJDiAJ1DB0qdGpgVySyhCbweUIMwTSsVgj8g1EYpc5Z6D601e8uboIl-JfR6ndP-Jwj7En79KkulFqqrEEi6kcZ5i-Ho0-NRqT00XGrClicjK8IKIItBAIDzVVCVroXpfJBC0g0Qxi5GGcLYdeW2DXWlSHo7btF3VgO9LZHF13fEjyy_pD-AMw36Q7BVySOG4IRdbOubduS-bRmgw0KTsmlcF4rrfe8BCBFKRNvC1PT3YSNMfynCNtNpcK5F56YWlRHcS6NdfOG8le2UK_UO7ZuHs1QKhOXuAOcAOg5MzCxo0Dm-x8_C0z8-f39avzyB68pGeuBQdnuw2BrrwZvfZVJIkuHftLXmXyg8YVvpXIeOsC1wXcE14oGuhy25OHrLBSZDWAhLKdA3Sild1OmMlVRQWsxiDvZhdBfX3zxbqf2L5-L4GiQQtrxvsvy8u-YUm4d8ltrH_GHLz-OVJMECWfbX79__-SNxJgmZP73v_ULflpGJsOIOPRtDl5hj_hH0z06_yL3m6u9cVwqti0D_L66odsTF3nHVWZ3BiICw5eCbftmFzCTpmsa_m6D0URCf0zxldKDuyd6W8908myqpu7fpXnf9CxFI55EuC0dGcNkgM8-rNMuzuljUBSg11Gsoiv7um247v-20CLUwvLTS42aoFKwIW3Y6ttUKxIFbwtbBImG087_3bdAyVVUkZJFghJiPEPNZOefzjxA3psIXfA_4aj4B-2OkNGocIc3HIZ1zzBb3Lre7-ml3GOKbbkLz7FUWoRTuadlyy5VCtTX2EVSZ0Ko28B8L95P1VYvF-kHDuxNFaOjhuo5NY6F4U1acsMUAkz4N0D92Up_MMRTx3ZK1vuwq7nkfxljHBTwPyB9n6eK9b6rqf_VN__TK3fFv1nTtUM8tP-tH2PqWnSOJwfwNlMaov9QNy3duKNN5_qlpFXou1RVuybXRl8Z0DjRv0LWxtQ7srweLvHo2Rj29oei8sUOyG3sc9d_7xhdvucf9ZZRPQ8P5vRHFoxFizjNGa8CoF3eae3nCnY96dtZ0XurwYQmPiRkLC-2ZjttXLniRgfPc-kEGhB6rW68I27aDWGGRe0wESddZtiDpenkXOBsLxEKkAoQyGtMoqpFOXFu3u7gK2_AZ7LR86xdOsT_q7u3WOgnb9ueTl6DqwYBP5ogwf8RPe7jpNC_DRGauLgpDWsN1yCJ4wX2D2sdZAmreKf_ngpXUR7RXaVBzqbCCqou6XPxkxMp3CNNTXEOEkMb96HJrXbdBY1Kt0qpICz7B1WzBFimlbJFNDqtZMaOVmC1TgbxcZkjTlOaFyOlykWGZs4lcMcoyWrCczdJFniVFVZV1luXI-bIQbEYyig2XKgmZmBi7n8QBZDWbUZrlE8VLVC7O3YxpPEN8SxgLY7hdxdml7PaOZFRJ591djJde4WpozP3sgq4ftT4e2CadVav_flwagE8r9u8AAAD__7ZzrsE">