<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJytVltv2zoM_jXOi9DAl_j2kIekF2BAiwYbDvpYyBadaJUlQ5KbZb_-ULKTxr1gRbfAsWWRIj9-pEVVih2WQRaOV3gVhCtL9RYssZp3AkiQXJEgjvfUtEl80csnqfby-ETBsGa8L8LaL-g0f6YWSK2ksVRawosgXhHZC3Guz6DhEkYhLrZgbBDjW0mCfD3oEPSePnurQlE2KAfx5XGwIggWBLQgbWc1ahdvVRwwP5HE5CJC--6FCr6VZHF0o-EI0zkcYeZX42BK0XB_4HZHcE6Imlw0XIA9dIBAVfXTaaILu-MGDZteWEO4JBQvY0BbriRpKBe9xgWrCYdTT2gbFRDSzU61gA_ZqU4940BDpww-hXhuLzqtfkJtx1f34BXe7y7x9oCpu6-c-EFzC3pedx3ajBaZs_ysOHNsU6nkoVW9cTEjpGS1d9obausdrQTcXq-RWm_dSzXdP3Ze5dFYDRSdZi7knkubLR7tdIwJTdd7xxdOkQefzjRI1ieVMcFyS3ppMC_AnGaQOixkdeIMefnBf8MtSLfArXkI4txTCWw-ULa5vV79uCamr1puCSVVvyWOLI01rcjO2s64EOIbvLYIqa_mtWrPqJsSyo3pwRGN2XOgatEzwMxidWtqdqSi9ZPVtIbR_Q-LE4T1bXfKbIiicqPVVtOW4NfVu2J1IBAbFwxtV1x6z28LaSiKdD2fzx0bQ7EGcVKQ8Fd4_MVFUsZ15Yr_lEciaQumQ2Cu3n3OXlfCMEu7Thy-g1A1dRybSZpXWlMUNkFy-QnjL1aupdWHILn2ZXDMqMuvm3gxf3e5Mu0tPajeDpuFr6KSfFCzof-fOChfcQBFDl_jwBfyvYRBMmHAQTTQ4iegxxL_E_zLr2G42qs7xeBz4WP0Ufgq_CZi-d-E_y9i_yz2aII9r2iZZ-R9x37ihktudsfmEBdvPpwgXoe_RkMu2pOn-NxT1FRF0VRnnjCIjcat5uiIKXSFreG3L-MpG4r1AsYwP8QwuphgSCbRZs2CMXaG4WazwbZwRyXd_jMYo5cJjMWU9DAsy-YMhoAtrQ_D-AzQt7YT457ffwnJ4GiCJD1HEmb5oikK0lJskR-aGZRerLzXke8bLMVeGxiaLx4tZIfl-e07wT7839rNVviObQH39wrb2oGYneoFQ0e5HTb0ILmZsWXCyqSkM9rbndJLyZ94Peu1WH69faSLMIpnu2WWxXmTsyhuygWEKY0xE1FUZCF-vWEZVTNBKxBmiXs-Hq8k7Ik34Y5a6dXs7xHwJXp0VxKWcZTm8zJL0gRYgpDyrEkoHpYAUyHmzs5c6e1ML71JbKQGhYIba16EWChudwcPGBFabgUsh_Pi29OOOwW9d7DAvM480KVH-T9vZDJJ>54012</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            wasm32 assertion failure in writePatchableLEB()
        </td>
    </tr>

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

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

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

<pre>
    ```
target triple = "wasm32-unknown-unknown"

@c = private constant i8* null

define i8* @test() {
  %v = load i8*, i8** getelementptr (i8*, i8** @c, i32 -1), align 4
  ret i8* %v
}
```

With `llc -filetype=obj`, this results in an assertion failure:

```
llc: /home/npopov/repos/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp:146: void {anonymous}::writePatchableLEB(llvm::raw_pwrite_stream&, uint64_t, uint64_t) [with int W = 5; uint64_t = long unsigned int]: Assertion `SizeLen == W' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: build/bin/llc -filetype=obj
[...]
 #8 0x00000000028392cb (anonymous namespace)::WasmObjectWriter::applyRelocations(llvm::ArrayRef<(anonymous namespace)::WasmRelocationEntry>, unsigned long, llvm::MCAsmLayout const&) WasmObjectWriter.cpp:0:0
 #9 0x000000000283e87e (anonymous namespace)::WasmObjectWriter::writeOneObject(llvm::MCAssembler&, llvm::MCAsmLayout const&, (anonymous namespace)::WasmObjectWriter::DwoMode) WasmObjectWriter.cpp:0:0
#10 0x000000000283f1d7 (anonymous namespace)::WasmObjectWriter::writeObject(llvm::MCAssembler&, llvm::MCAsmLayout const&) WasmObjectWriter.cpp:0:0
#11 0x00000000027ba976 llvm::MCAssembler::Finish() (build/bin/llc+0x27ba976)
#12 0x0000000001fb88fb llvm::AsmPrinter::doFinalization(llvm::Module&) (build/bin/llc+0x1fb88fb)
#13 0x00000000026f4ddd llvm::FPPassManager::doFinalization(llvm::Module&) (build/bin/llc+0x26f4ddd)
#14 0x000000000270099f llvm::legacy::PassManagerImpl::run(llvm::Module&) (build/bin/llc+0x270099f)
#15 0x0000000000674f88 main (build/bin/llc+0x674f88)
```

Of course, the input IR is UB, but it probably shouldn't crash?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVltvozoQ_jXkxWoEJtwe8pD0Iq3UqtFWR32sDB4Sb42NbNNs9tefMZA09KJT9WxEuNjj-b75ZvBQan5YBmk4HuFVEK4cM1twxBnRSiBBfEUCSvfMNjG96NSz0nt1vOLEsGY8L8KqX9Aa8cIckEor65hyROQBXRHVSXluz6EWCsZJXOzAuoDiU0GCbD3YEERPXnqvUjM-GAf08nizIkgWJDSgXOsMWufvTTyxfiCm5CJC__6BSbFVZHGEMXCk6QFHmtnVeDOVaDg_CrcjOCZlRS5qIcEdWkCiuvzlLRHC7YRFx7aTzhKhCMPDWjBOaEVqJmRncMFqouEUCX2jAVK62ekG8KJa3eoXvDHQaotXKV-ai9boX1C58dFfRInnu0s8PWLq7ks__WiEAzOv2hZ9RovUe37Rgnu1mdLq0OjO-piRUrzae-sNc9WOlRJur9cobe-9nzVs_9T2Jk_WGWAImvqQO6Fcunhy03tMaLLee71wiDz26UyCeH0yGROstqRTFvMC3FsGiedCVifNUJcH8QduQfkFfs1jQLNeSuDzQbLN7fXq4ZrYrmyEI4yU3ZZ4sQzWtCY751rrQ6A3eGyRUlfOK92cSTcVVFjbgRcas-dJVbLjgJnF6jbM7kjJqmdnWAUj_IPDAcK7pj1lNsSpYmP01rCG4NvV-WL1JJCbkBx9l0L1yO8LaSiKZD2fz70aQ7EGNM5J-Ds8_mgeF7QqffGf8kgUa8C2SMzXe5-zt5UwjLK2lYefIHXFvMZ2kuaVMQwn6yC-_ILzVy_XyplDEF_3ZXDMqM-vH3h1f3e5ss0tO-jODZtFX0UF-aRmw_5_0qB4owHkGXxPg76Q7xUMMxMFPEULDb4CZizx_6J_-T0OV3t9pzl8LXyMPgrfhF9HPPs_4f-N2L_KPZpwz0pWZCn5GLgfuBFK2N2xOdD83YsT0HX4e3Tkoz0h0XOkqC7zvC7PkDCIjcGt5gjENUJha_jTl_FUDc07CWOYn3IYISYc4km0ab3gnJ9xuNlssC3cMcW2f43GiDKhsZiKHoZFUZ_RkLBl1WG4PyP0o2nluOd332IyAE2YJOdMwjRb1HlOGoYt8lM3g9Grl4868n2NpdgZC0PzxU8L1WJ5_vhJsA__s_ajJT5jW8D9vcS2diB2pzvJEShzw4YexDczvox5ERds5oSTsBw-ft63bt_SP-qSSHLWGbn8fq9JFmFEZ7tlFqUZFOkip7TMaBEWVQpxwhYl52EUhjCTrARpl9gg8FtMwZ70Lvx3WXI1E0saUn_EYUGjJJsXaZzEwGMe0SytY4bfRYCqy7nnMddmOzPLnhL2TIuTUlhnXydRAL-RQw-H_lnndtoslXgW1awHXvbE_wXdLx1F">