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

    <tr>
        <th>Summary</th>
        <td>
            Specifying the Non-default stackmap encoding crashes `llc`
        </td>
    </tr>

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

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

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

<pre>
    the option `--stackmap-version` with any int value but not default `3` will crash.
It reports `Unsupported stackmap version!` error, but some segmentation fault might occur which aslo triggers the crash backtrace.
Crash has be reproduced in `llvm-18.1.2` and `llvm-16`.

Reproduced with:
`/mnt/llvm-project-llvmorg-18.1.2/build/bin/llc --stackmap-version=13 /mnt/data/acpi_listen.bc -o /mnt/data/acpi_listen.s`

trace:
```s
 Unsupported stackmap version!
UNREACHABLE executed at /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/StackMaps.cpp:168!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /mnt/llvm-project-llvmorg-18.1.2/build/bin/llc --stackmap-version=13 /mnt/data/acpi_listen.bc -o /mnt/data/acpi_listen.s
 #0 0x000056f5a4570cb8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:723:22
 #1 0x000056f5a45710d9 PrintStackTraceSignalHandler(void*) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x000056f5a456e529 llvm::sys::RunSignalHandlers() /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Signals.cpp:105:20
 #3 0x000056f5a4570550 SignalHandler(int) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x0000738d28042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x0000738d280969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x0000738d280969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x0000738d280969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x0000738d28042476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x0000738d280287f3 abort ./stdlib/abort.c:81:7
#10 0x000056f5a44971dd bindingsErrorHandler(void*, char const*, bool) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/ErrorHandling.cpp:221:55
#11 0x000056f5a33f5156 llvm::StackMaps::StackMaps(llvm::AsmPrinter&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/StackMaps.cpp:169:1
#12 0x000056f5a2be67ed llvm::AsmPrinter::AsmPrinter(llvm::TargetMachine&, std::unique_ptr<llvm::MCStreamer, std::default_delete<llvm::MCStreamer>>) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:380:15
#13 0x000056f5a1dbf303 llvm::X86AsmPrinter::X86AsmPrinter(llvm::TargetMachine&, std::unique_ptr<llvm::MCStreamer, std::default_delete<llvm::MCStreamer>>) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Target/X86/X86AsmPrinter.cpp:54:0
#14 0x000056f5a1dc7010 llvm::RegisterAsmPrinter<llvm::X86AsmPrinter>::Allocator(llvm::TargetMachine&, std::unique_ptr<llvm::MCStreamer, std::default_delete<llvm::MCStreamer>>&&) /mnt/llvm-project-llvmorg-18.1.2/llvm/include/llvm/MC/TargetRegistry.h:1445:0
#15 0x000056f5a2f8c9fe llvm::Target::createAsmPrinter(llvm::TargetMachine&, std::unique_ptr<llvm::MCStreamer, std::default_delete<llvm::MCStreamer>>&&) const /mnt/llvm-project-llvmorg-18.1.2/llvm/include/llvm/MC/TargetRegistry.h:530:52
#16 0x000056f5a2f8861f llvm::LLVMTargetMachine::addAsmPrinter(llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&, llvm::raw_pwrite_stream*, llvm::CodeGenFileType, llvm::MCContext&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/LLVMTargetMachine.cpp:146:35
#17 0x000056f5a2f88e71 llvm::LLVMTargetMachine::addPassesToEmitFile(llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&, llvm::raw_pwrite_stream*, llvm::CodeGenFileType, bool, llvm::MachineModuleInfoWrapperPass*) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/LLVMTargetMachine.cpp:246:5
#18 0x000056f5a027b885 compileModule(char**, llvm::LLVMContext&) /mnt/llvm-project-llvmorg-18.1.2/llvm/tools/llc/llc.cpp:714:43
#19 0x000056f5a02792da main /mnt/llvm-project-llvmorg-18.1.2/llvm/tools/llc/llc.cpp:412:35
#20 0x0000738d28029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#21 0x0000738d28029e40 call_init ./csu/../csu/libc-start.c:128:20
#22 0x0000738d28029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#23 0x000056f5a0277fa5 _start (/mnt/llvm-project-llvmorg-18.1.2/build/bin/llc+0xae0fa5)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWF1v2zrS_jXMDWGDor4vfOG68XsO0BwUTfru2SuDosYytzSpJakm_vcLUooluW5OkZwuukEgixQ588wzw-GQzFrRKIAVSt-h9P0N69xBm9XDCf4J7HBT6fq0cgfAunVCK4wyslhYx_iXI2sXX8FYoRXKCH4U7oCZOmGhHP7KZAe46hxW2uEa9qyTzs-N-6FSYm6YPSwReY_I-neHDbTaOOvHfFa2a30LavysCT9ropGXAMZog-gmqLD6CNhCcwTlWADZqzuK5uCw5rwz-PEg-AEzKzV2RjQNGIu9VQEFrhj_4gzjMODZhN4Ds7gCj8zouuNQYxHsl_LrcREVy2hJPRam6rE3QxkZhPTPT-NszxCKh36UEUS3R-UQ3YaprdH_Au4WvqFN86yAbqtOyNr_ChXGcnzFAfH7KMZngTVzDNEt463YSWEdqGXF8UK_OMJ6SBPkgZAZ3vBv-zb-Ky-FUZ__-HS73vy2fvfhFsMT8M6PZg7_oOm-w_-ICtHtRtfwf-A5uPfq7lhrl7xtUbyOsuKs8eOH2_X9LbZddRQOM1x1zRBb2Gl8cK613ia6RXTbCHfoqiXXx4muCSBEt8LaDiyi2-BmobjsanghcgI0XHfH9swcWeLw99HoxrAjZqbpfKh6HD9KxH8vBnrnIhoTTJ4IISTN9ilL0pzwqsCBpHiN4rU92f7loxHKBbMfQsDQYhxk2ONOW2eAHRHN_HoVXnP5Kv_f9-GG6PazEk--QzSKSbsUiqN4ndMYxWtKRwuiCwsiUpf4Am4v4zemagkG0eKrFjWi65-FsSx8uI4Q6RxiBiktr5H8qVMzpBbR4u0Yn8ENq4iknkAyoosvQyBNCb5k7Od5NIniOVvJgCePi5oWJKEpJTgwMQh8KrJdliykUN3TolFd_4EvrV5miL4jT2EKouUoM53LLLNyz_Fu17qDAVbvvggpd-LYShh3lyWiW9U6ieh2OmwZMCfezdkoP_sR-cqBUUy-KDkPoTPxTn5N8nTai-KK8kJccUlukme4scEjQVL_iuh2GVonW0PrM2OrbXCeYcJCkE1zFK8nHJRz0bTI9zFmlc_JQZSre_eFrh5d5C0edh4aR_NklJR5VNe4EqoWqrG3vhi4soQ3mB-YwVwr64aOSmv59mgdFQrVDKuHUg85TUfMs_QTx_s0SrPJ2j5vYpfNaQJd22NIWN6w7LXAX9o4y3GFecyzfEQryHKo8VU438CboH5gpgF3x_hBKBgSv3V1_7FT4t8d7FpnULwZ59xt7sM-AWY2eigddzVIcPC9GfGt_38zPVNzJo2BrLggnqyJh2f5MaqrfUziCVt_FtklYfOu_13OerSIbv8ssv75DV2pz4RkJCuZk8VzEpEJWZ-g8SWImTK2-S6Xt0P8Sak5c_rXoDJ71Rodasqx425zJrgnxZyW_twQJUk6pzSdrdZ9wcs94Ese-ndugDn4xWLvmbCQoX8WbWnsl21KR9qyC9qKLNpPaPvw4f_v5oyEblbX36FPQsP4aaiGmbV3TLEGzDtmn8mcV8TtoxEOdrO6-MUR6_mIIWFthYSHUwvzj3ebjVYOntzfsmF8w8XzxpFkPiNOcmF-SSrk0Q-R6hkD-6Bvj8J5k341avuSYUZxb8GdrjsJv6u9_odhbQvGA3zD2eGvWaeB9QnpxZR0QvOqKFLM9bEVcoCHaOGLoADrwlav5S2x4rSWtj-N9s8BZR75zJ_EI8zyAmZJa4aPTKi_SWMS0Xk0UnJRcZZ1SfBu5w8DO-uYcTvOpNwFDL4E5bb7trAdSudrk_rMEirybNQaXWqFhOAwRyjhLhX1r176IkgPhW9Ei8khzAul14TOTLlmxVXhcV7O4ofGF47J9yzFvdThXPWqy4lw1GJA9iw9n7XWVX9V5ANSGwhXJFCfP5-vl27qVVyXccluYBXlUZRHeUTzm8OKR0DTPCqSBKJ9lFV5VNKaE76vyoxWUXwjVpTQhMS0jGhaJNmyyouqzoFnUQr7LM9RQuDIhFx6C5baNDfhdmdV5CQtbiSrQNpwC0qpgkccPiJKUfr-xqwCBVXXWJQQKayzoxQnnITVfQtc7E9CNeF66A-tFs_3nufrMVBc-yNLf3kEtr835N7szsjV62-nggn_CQAA__8Jy7Q3">