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

    <tr>
        <th>Summary</th>
        <td>
            LLD assertion failed while building LLVM
        </td>
    </tr>

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

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

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

<pre>
    Hi,

While building LLVM 13.0.0 with the LLD linker, I got the assertion failure below:

```
ld.lld: /usr/include/llvm/ADT/CachedHashString.h:40: llvm::CachedHashStringRef::CachedHashStringRef(llvm::StringRef, uint32_t): Assertion `S.size() <= std::numeric_limits<uint32_t>::max()' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
 #0 0x00007f19d64b49a6 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-13.so+0xb5f9a6)
 #1 0x00007f19d64b2734 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-13.so+0xb5d734)
 #2 0x00007f19d64b28b6 (/lib64/libLLVM-13.so+0xb5d8b6)
 #3 0x00007f19d556e750 __restore_rt (/lib64/libc.so.6+0x42750)
 #4 0x00007f19d55bb88c __pthread_kill_implementation (/lib64/libc.so.6+0x8f88c)
 #5 0x00007f19d556e6a6 gsignal (/lib64/libc.so.6+0x426a6)
 #6 0x00007f19d55587d3 abort (/lib64/libc.so.6+0x2c7d3)
 #7 0x00007f19d55586fb _nl_load_domain.cold (/lib64/libc.so.6+0x2c6fb)
 #8 0x00007f19d5567396 (/lib64/libc.so.6+0x3b396)
 #9 0x00007f19dbee5ebe (/lib64/liblldELF.so.13+0x1ffebe)
#10 0x00007f19dbee5ef0 (/lib64/liblldELF.so.13+0x1ffef0)
#11 0x00007f19d642ae18 (/lib64/libLLVM-13.so+0xad5e18)
#12 0x00007f19d642b1c9 (/lib64/libLLVM-13.so+0xad61c9)
#13 0x00007f19d580f5c4 (/lib64/libstdc++.so.6+0xd95c4)
#14 0x00007f19d55b9b1a start_thread (/lib64/libc.so.6+0x8db1a)
#15 0x00007f19d563e650 __GI___clone3 (/lib64/libc.so.6+0x112650)
```
I was running the build on a Fedora 35 x64 machine with the system-provided GCC (version 11) and LLD (version 13.0.0), and used the `LLVM_ENABLE_LLD` flag to use LLD instead of GNU LD.

 

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNlt1zmzgQwP8a_KIpIyQQ-MEPjj-SzPg6naa9e2QEWmxdZMhIok7vr78VziWG9OJ6GIPR7m8_pN111amfizsdsVVE1xFdnr__OmgDpOq1Ubrdk93uzz9IwmMaU3LS_kD8AfDlmhjdPoJFZXJP9p0f3kvnwHrdtaSR2vQWOWC6U8SXlxYiQV-u4adRsTEKZUjEtr1D5Fa3tekV4JMxP454W66_4fdK1gdQd9IdHrxF5-IDaqU0qA5yaIYvp0Jfofn_BVa8KV68XZFet56z0kdsHvDL18DQ7YfY6X_QuQIXScRXEV8T59WZ0vZHsLoujT5q73D1lcQ3Z4mjfD7rRiwf8gQqPmfiy26zfNgQ11eoSyRuwp5YeOosZrcjB--fXECwLV645uLgfNzZPf4mslXkJW_DXtQWIyWVrB-9lTW8mMAcc0roM8VP3iRzJdIqnUtxkUD3050fvmA-_INHwrdAGCXLylPZOW9B4vaIkDGUHfIRQtsaXYn0fA8H6BMeINdF7IY-V1mD5kL0r_4kE39YztNf-fO1bx_0vpXmDmM1YN1_W3DVpELiyCSbmiwq8TscFBtx-CUnywTkGSVlacH5zkKJG_cOWiMuFgMwZSg-4qVjXlUVRY28J3_ATKvyURtT6uOTgSO0Xp4P5AcGigb1RwayqcMC937vhrRe8VVMtk2MUVmRK05k1V0JmtUoNwLlU5BoKlK2pjQdxqy6o9RtXHdGXeGi2ohbTGLN-fwXm3yB4BVKjBDzS0QFkEEF7xHYvja7beAkfAAlTYOCr6Rwxuk7UkN_k9TQEWlSLkxCUlw9u1JlKDbiTGqAVUl9vZakEig24oxroKBNVqfvOdgg8STe4PWWbzVH0RFrev7nVSKxt0rry3MJfHzcFYqPeOPjLjiIoT5v78uyrE3XAv8QmCRMXFToZHDdk5N0xPZtGwZl6LnD1CRYlJJsQXVWEiy4Z5GSI84e3cLbBMWm5uH46cl2P7QCRW5Xq-DJD-xqoaiTJDS20NLDqL1cGCbxMDxWw3rvUDsQ0a2wV-Xm8_JmtylRD9-Qxsh9GB4oNqB0i3YxjV1Dbj9_J7t1fDmZyfk2Uwuu5nwuZ157A4ugOB7taPP0_n_CrLdmMR5Tewy4r7B6j2_DPNxC5H9D7cOwd64H7OXbLGU0nR0WSoosabIiEUwUKU2hqRm-AkiyPAeezIzEvxVuEWV4nFgLJzIg8DnK1jO9YJQxymmaiCSnRVzJPJnnac0oTXhRV1FKAVuKeZ2eM7sYXAojFReNdv5ttM4wcOyOAIM55MveHzq7sAo8WAuzwfZi8P1fq6GrxA">