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

    <tr>
        <th>Summary</th>
        <td>
            [lld-macho] builtin-rename test fails with asserts
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lld:MachO
      </td>
    </tr>

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

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

<pre>
    ```
Process 40848 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #4: 0x0000000100b28810 liblldMachO.dylib`llvm::ArrayRef<unsigned char>::slice(this=0x000000016fdfa3e0, N=0, M=32) const at ArrayRef.h:194:7
   191      /// slice(n, m) - Chop off the first N elements of the array, and keep M
   192      /// elements in the array.
   193      ArrayRef<T> slice(size_t N, size_t M) const {
-> 194 assert(N+M <= size() && "Invalid specifier");
   195 return ArrayRef<T>(data()+N, M);
   196      }
   197
Target 0: (ld64.lld) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #0: 0x000000018e43a1b0 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x000000018e470cec libsystem_pthread.dylib`pthread_kill + 288
    frame #2: 0x000000018e3aa2c8 libsystem_c.dylib`abort + 180
    frame #3: 0x000000018e3a9620 libsystem_c.dylib`__assert_rtn + 272
  * frame #4: 0x0000000100b28810 liblldMachO.dylib`llvm::ArrayRef<unsigned char>::slice(this=0x000000016fdfa3e0, N=0, M=32) const at ArrayRef.h:194:7
    frame #5: 0x0000000100b746a0 liblldMachO.dylib`void lld::macho::ObjFile::parseSections<llvm::MachO::section_64>(this=0x000000016fdfa3c8, recordSize=32)::'lambda'(int)::operator()(int) const at InputFiles.cpp:337:27
    frame #6: 0x0000000100b336fc liblldMachO.dylib`void lld::macho::ObjFile::parseSections<llvm::MachO::section_64>(this=0x000000012c03d730, sectionHeaders=ArrayRef<llvm::MachO::section_64> @ 0x000000016fdfa570) at InputFiles.cpp:364:7
    frame #7: 0x0000000100b29718 liblldMachO.dylib`void lld::macho::ObjFile::parse<lld::macho::LP64>(this=0x000000012c03d730) at InputFiles.cpp:969:5
    frame #8: 0x0000000100b28ebc liblldMachO.dylib`lld::macho::ObjFile::ObjFile(this=0x000000012c03d730, mb=<unavailable>, modTime=0, archiveName=(Data = "", Length = 0), lazy=false, forceHidden=false) at InputFiles.cpp:926:7
    frame #9: 0x0000000100b29fec liblldMachO.dylib`lld::macho::ObjFile::ObjFile(this=0x000000012c03d730, mb=<unavailable>, modTime=0, archiveName=(Data = "", Length = 0), lazy=false, forceHidden=false) at InputFiles.cpp:917:80
    frame #10: 0x0000000100ad28fc liblldMachO.dylib`lld::macho::ObjFile* lld::make<lld::macho::ObjFile, llvm::MemoryBufferRef&, unsigned int, char const (&) [1], bool&>(args=0x000000016fdfb650, args=0x000000016fdfaeb4, args={I\x8f\xca\0\x01\0\0\0}, args=0x000000016fdfb6b3) [1], bool&) at Memory.h:62:7
    frame #11: 0x0000000100abb484 liblldMachO.dylib`addFile(path=(Data = "/Users/ksmiley/dev/llvm-project/build-dyn/tools/lld/test/MachO/Output/builtin-rename.s.tmp/renames.o", Length = 100), loadType=CommandLine, isLazy=false, isExplicit=true, isBundleLoader=false, isForceHidden=false) at Driver.cpp:364:15
    frame #12: 0x0000000100abe62c liblldMachO.dylib`createFiles(args=0x000000016fdfe1e0) at Driver.cpp:1089:7
    frame #13: 0x0000000100ab8b44 liblldMachO.dylib`lld::macho::link(argsArr=ArrayRef<const char *> @ 0x000000016fdfdd80, stdoutOS=0x000000010565d608, stderrOS=0x000000010565d670, exitEarly=true, disableOutput=false) at Driver.cpp:1775:5
    frame #14: 0x0000000100005bb4 ld64.lld`lldMain(argc=16, argv=0x000000016fdfe8d8, stdoutOS=0x000000010565d608, stderrOS=0x000000010565d670, exitEarly=true) at lld.cpp:167:12
    frame #15: 0x00000001000058b8 ld64.lld`lld_main(argc=16, argv=0x000000016fdfe8d8) at lld.cpp:229:12
 frame #16: 0x0000000100013534 ld64.lld`main(argc=16, argv=0x000000016fdfe8d8) at lld-driver.cpp:11:42
    frame #17: 0x000000018e147e50 dyld`start + 2544
```

I noticed this with a Debug build
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWFlv4zgS_jX0CxGDInVQD37wEWMaSNKD7d5ngxJLESfUsSSVbc-vX5CSHceWp_fAYrDYQDEksvixjq-qKAlr1WsLsELJBiW7hRhc3ZnVGyhXL4pOHlcoJdNFdoisfzVdCdbimPCYY-u6vgc5TiG6xq42ICRGlEWIbvHfBhgAI7bDiGZl1yxF32tYNkK1D6MoopkX9EDYgLBdG8Rr5XBvulcjGiysBePGPTDGuDKiAb9FjNgakx9k_IsIKSjnEcFaFVrLZ1HWX5fyqFWBUqL1e4PYGrH12hhx_AtUiG2HNlgvcVkLg9jjKGC1KgFR7mplEdt9bJBWshIMiFf4xc_4m2fEdowimuOya63DwuHTDssasXWUezWzs_pRHuHwh-h-vPBpw9bjNR7qAW_rrsddVWFXA66UsQ6_YNDQQOss7sZx4Tfyi0Qr8RtAj58v9qHX-5yXq_Zj-fJiBRtXXHjoO2KPZ_2s-h0ODr-EgI33zx-Go2wzQj34NVEenwJH-Quim2eM2NaH1q9ElPuFiKaIphhR-qV9F1pJbHsoVaXAIOp9itjmQr0EG3CDaa8VRJRL4cQIiujmZYzL9fJ08ke2uxicAvNdmFdwmHhGIcq1TOOl1tIrOXF8eSI511oWfqJwfxLvyWfec4iZiIrAe3u0DprDG5gW9Jn8h0M_7np4U1pjRDeYz-BGN7gZKaG8wJ1gzsA3sJTPAdNrYCYELfkFcHmGFEVnXMCKOJnBYrdYeUrJLNbhMPrwYFw7qpfRE6SP2v92JflQP7lRP4tTMa_-e6ck9tQOGjairLvx9mvx215pGB96YSx8g9KprrWIbT-MDmiTeeP8IY3HJLxjZsm9dQbKzshvPvknM0cQRDMtmkKKkBFcte481fVghOvMKbGnyQ_3fGn7wXml7bLse8TWjGWIremcj9IbHzGWVuWf7iNaEiYzFhgwCf8CQoLxYhcM-zk6RjHBV85PMuI9Nuur9B6dsttsyLOI_6euCkbcCj79-k_4Zt6EPPVMSWZM4DMJDcV8tH-q_enhJ9FrCsR2oRaId6G0KPz6xzDTye-qgVOiC1PW6h1eRBhClO-EE1O3oOHa4idoX10dBkkg_xZr8fsRsV0ltAX_XHWmhF-UlNB-DN9xFE3vxDqfiXUF_7-Oijz5ZxtPRK5dJSTldyrIH7mKri8T5u1eXpzFt_gi96HpzHEzVBUYXxf8AWqLz90nFMhtaEKnU5mvnWk4bCWbCCU7P190nfajIeuEeb2t2kWaTBGYmRRQxBeTKNt8Qcn2B6_8bylQsiX-jkTT3fif7e4CFmnB7qg4xmk0O3TBlN5hchTdxKcoYh7PxkdIOTG1F66eI9f-r9bXYLp_s43ScER0L-Ed0b0PxkNvut-gdIjui0Fp-SCPLaJ713XaBhHpn8B6gbFc0_3XwfXDaYVT7YOBVjSwtEvX9Ijux0e77G6JHZEztTshvx97nw7brmlEK59UGzii7NMV7ZV9_NFrVSqH2M6ZYRrcDK3U8NT5HvNZfH83T3ZGvYP51DiiubIb0dsYQErnc6Q0IByE7LtHQ4iAzKkQEZ7fowG7VYEX8TwN5vJOq_Zt0mdtzOcmPOZUSC9E1_M9V0o-NnMnu8F9_fbJKJKkiUwJnwTAmFmBLCDAD-UehdHHi_hJZX29nMj0B1GKsiy50xyjm-MuIUlRxPj82hM88yxUOzqiRGwXpVP6vt9GiUv-37I4GKa1PFmV-voc0Tmrbk7BhCS84FdWHZp_zawrBWg4nJ4V-Nj95nxJIpawTz79N3d-kJ_i6stcPOuA7PrVKIozSAiWx7C9dWJ6s6JJHE_vrp-_7oy_X3DbOVWCxL6N478rV2OBd1AMrziUu4VcMZmzXCxgFaVZlKYZSfiiXsk0y6WQJcsKKCFncVLEIiripGIJr3K-UCtKKI38xZKM8SVAnhPJ8jiHOJUlRzGBRii99GV22ZnXhbJ2gFWSp3G-0KIAbcPHKkrH5J3KK0XJbmFWoTgXw6tFMdHKOvuB45TT4TuXd-mY78kOfy7G2NdsXAmlT2aH90e7GIxe1c71Nryx7BHdvypXD8Wy7JqpJ9y2hqC57wdB-X8EAAD__3Dclb4">