<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/65530>65530</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
"cf-protection-branch" module flag plus module asm ".pushsection .note.gnu.property" causes assertion failure in CodeGen backend
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nmosier
</td>
</tr>
</table>
<pre>
Attached is the LLVM IR bitcode (minimized with bugpoint) that triggers the following assertion failure.
To reproduce, execute the command `llc bugpoint-reduced-simplified.bc`, which should crash with something like this:
```
llc: /home/nmosier/.tmp/llvm/llvm/lib/MC/MCStreamer.cpp:1254: virtual void llvm::MCStreamer::switchSection(llvm::MCSection*, const llvm::MCExpr*): Assertion `!Section->hasEnded() && "Section already ended"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/nmosier/.tmp/llvm/build-debug/bin/llc bugpoint-reduced-simplified.bc
#0 0x00005564b579fb24 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/nmosier/.tmp/llvm/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x00005564b579ff40 PrintStackTraceSignalHandler(void*) /home/nmosier/.tmp/llvm/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x00005564b579d38d llvm::sys::RunSignalHandlers() /home/nmosier/.tmp/llvm/llvm/lib/Support/Signals.cpp:105:20
#3 0x00005564b579f3bc SignalHandler(int) /home/nmosier/.tmp/llvm/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007f67aba0c520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007f67aba60a7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x00007f67aba60a7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x00007f67aba60a7c pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x00007f67aba0c476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f67ab9f27f3 abort ./stdlib/abort.c:81:7
#10 0x00007f67ab9f271b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x00007f67aba03e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x00005564b4fcacde llvm::MCStreamer::switchSection(llvm::MCSection*, llvm::MCExpr const*) /home/nmosier/.tmp/llvm/llvm/lib/MC/MCStreamer.cpp:1255:44
#13 0x00005564b60d5f4c (anonymous namespace)::ELFAsmParser::ParseSectionArguments(bool, llvm::SMLoc) /home/nmosier/.tmp/llvm/llvm/lib/MC/MCParser/ELFAsmParser.cpp:702:22
#14 0x00005564b60d4000 (anonymous namespace)::ELFAsmParser::ParseDirectivePushSection(llvm::StringRef, llvm::SMLoc) /home/nmosier/.tmp/llvm/llvm/lib/MC/MCParser/ELFAsmParser.cpp:398:3
#15 0x00005564b60d8b82 bool llvm::MCAsmParserExtension::HandleDirective<(anonymous namespace)::ELFAsmParser, &(anonymous namespace)::ELFAsmParser::ParseDirectivePushSection(llvm::StringRef, llvm::SMLoc)>(llvm::MCAsmParserExtension*, llvm::StringRef, llvm::SMLoc) /home/nmosier/.tmp/llvm/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h:37:3
#16 0x00005564b608e9f8 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) /home/nmosier/.tmp/llvm/llvm/lib/MC/MCParser/AsmParser.cpp:2015:31
#17 0x00005564b6089da5 (anonymous namespace)::AsmParser::Run(bool, bool) /home/nmosier/.tmp/llvm/llvm/lib/MC/MCParser/AsmParser.cpp:1001:33
#18 0x00005564b415173f llvm::AsmPrinter::emitInlineAsm(llvm::StringRef, llvm::MCSubtargetInfo const&, llvm::MCTargetOptions const&, llvm::MDNode const*, llvm::InlineAsm::AsmDialect) const /home/nmosier/.tmp/llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp:130:19
#19 0x00005564b4108358 llvm::AsmPrinter::doInitialization(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:505:18
#20 0x00005564b37f6862 llvm::X86AsmPrinter::doInitialization(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/Target/X86/X86AsmPrinter.h:151:3
#21 0x00005564b4db2bca llvm::FPPassManager::doInitialization(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/IR/LegacyPassManager.cpp:1490:13
#22 0x00005564b4db2de0 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/IR/LegacyPassManager.cpp:1524:13
#23 0x00005564b4dadc1e llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/IR/LegacyPassManager.cpp:535:13
#24 0x00005564b4db388d llvm::legacy::PassManager::run(llvm::Module&) /home/nmosier/.tmp/llvm/llvm/lib/IR/LegacyPassManager.cpp:1678:1
#25 0x00005564b378c892 compileModule(char**, llvm::LLVMContext&) /home/nmosier/.tmp/llvm/llvm/tools/llc/llc.cpp:754:66
#26 0x00005564b378a18b main /home/nmosier/.tmp/llvm/llvm/tools/llc/llc.cpp:416:35
#27 0x00007f67ab9f3d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#28 0x00007f67ab9f3e40 call_init ./csu/../csu/libc-start.c:128:20
#29 0x00007f67ab9f3e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#30 564b3788de5 _start (/home/nmosier/.tmp/llvm/build-debug/bin/llc+0x57ade5)
Aborted
```
I verified that this bug impacts the main branch as well as the release-16.x branch.
[bugpoint-reduced-simplified.bc.zip](https://github.com/llvm/llvm-project/files/12542367/bugpoint-reduced-simplified.bc.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEWVtz3KrS_TX4hfIUAl0f_DCxPd_nKvtsV5yza79NIUASJwhUAsV2fv0pkGZGkp2LvbNzUqmZ0YVmrdVNQ7eptbLWQlyA5ANIrs7o4BrTX-jWWCn6s9Lw54utc5Q1gkNpoWsEvL398w7efISldMxwAQHOW6llK78KDh-la2A51J2R2gFcQNdQB10v61r04_jKKGUepa4htVb0ThoNKyrV0IsNQFcAbT8Z2IuuN3xgAuBLKJ4EG5wIo5lpW6o5BClSih2nOu-Ff5ufW9l2SlZS8E3JQIr8-MdGsgbaxgyKQ9ZT24w4rWmFazwSJT9789ICsh0x-KHj_3CpFANkCwHeNaYVAO8miQDebVzbAbxT6ks7-5IlwLu7y_Dx4HpBW9FvWNcBso1wEntjX2TvBqrgFyM5DOPIFpDt6f3x2j5Kx5oHwbxSAOeLNw93t54nM9q6haXrp64PDws_4faodxAmmkafA3LdUHutueAA595rAKcApxBgPL0DqeoF5c9QjG9hgLPgNcEnp93fXm8frqEdylY6SL1nvBdN76AzsHGuC-LiHcC7WrpmKDfMtEvhzrve_EcwB_BOWjsIC_AOem9LzdTApwgIDiwp--x6yg4x8-Ao-wz50HZHF6INDP_ue1P3tIW0r4dWaGd_zpPlIBU_56Ican8ldXj0w5ALU0OACYLoCSGEkiSNyyQrqhLHM-fYZzv-uO-ldgH-J89n4eGePu6NDeEQXHIJp2X1xkB8GDrvCYB3_9byyd-QtabKbqT2cZ1hAsgW4xP4aA2-ihFcIR1t_D_VXPn5cx_HY7D9anhF7pfNCR1eoeMk569J-3HQC5D2GN7vhHfANS1klHjZ0AkYWctGSgbXOv0jLowjstQonqBkVZrRkiKWYAQD_8ngU57u0_hcST08ndd6GB-wjTWbFOAP6CnGCUY-dRxtJkubKaIZg_t95xqfHPafpVJ7vxiEX2Y05I2N59c5BfBu_tomYPZpMEtP9tOfsa-d6DVV37WchYCZOSZ7zfJ82HfN5cXKXL4WN85SWNvgkWBp_Ok9Gq6eLRedz2adscF5PZVWBNs4A2Q706BYmC4qnFUE0tLn0WDK8dF94daILvKMp20Lkwi9sBCVcK_VXhnK99y0VI5-kTrQ9bdbWzM6mouizEMqTgajFVsiivRtoUQKUaTHUPI2F0s4rhhlXPySTXC9_Y274vvy0jf372SM3iObxbpPEU-qmHmFqDb6uTWDhZq2wnYhvxcjvOvb3da297S3B5Lh98Rme9yscF4ao5bUHu5uDXs_oWlSvJtjmNhlCM_2Ak8uXpGLEULvJHcle0_vi7gf7KvefHC91PVHUf02viRsLuREN1nRzcscQ--CRWgdzVw_OaGt5xGejGn-yBOQy7cohS_Ho9f_QltArlcL6xWO6zX2y_w1nfBON9auew3OpvGuy5b-S5f-y0VR5T8K15WeXViIjrqwkYVM993h94v3b3RlptPaq2o-iJZeUqX8EfZv5aWjNuuYxijyGYpEJ1WylSoFp8kbVfk46FkyGr9_OfQIIb-dkZlD88VWESVRRqqZst5CH04F47VopbvRSmqxte3PLIC7y4ehdLSvRXDdYcN44cBP4ZU_Or-w7LfeuvqXr4lPe8784QnVAfiVpCrUO8VUvL1RzUvDxf8JPek4qTC_OE55kJcg_znbiIuluignSf4ddbm50dJJquRX-nIvNnxQIojy5sD4IZWJQRIO3VF-ZIAXhRbJqjRP8YzBX3n620iMIQLw7q88HT9n-H2yipJoka3wotCKeYlLRmfgd_f31No7qmn9j4O_-Qjw7lbUlD3PJj0ETlyEyJlBx2voXPzwXHD3kk8_6D_0AfdvoZLgeEWFLKlQzqL5aVQFS4dcf7R303bqyOH3YE9IsoIer7xA8kUt_A3ovxl2lGazEt7DTpaLNmd5gSEzbSeVOAYDa-jYvlol0tvbP-8ujXbiyb0VrDNG2bGTM34ejr2hJ5emJ4TpCiGN8hKG2ulvTxZHqc8CyWmybFWzEV4guN_7KmpvHe3dnlGl9sfSjdnhZXE5la-vDQrJJwk-mFHM17OKGMEwRmrp1hONP73182B9rBZxPuuBeKPrAjYYXVB5jcWrxknm08ZJJoLg5IyciwSO5qZK9H3dvFCdJhnlIjmWp1tfWQv-ah_4Bn4Rfej1TZ3tRtrQ6pRtR5kbO9yBX9lTzRpILXwUSvlv_6gXSlArzqN08zS9MjUwQfLh-53FzVfZgeQK4PzNzdRKqtBLjXASY5JmQY8fznXQ44xfEF6Qgp6JiygtYkRwUsRnzUVVoiShiCacVyWiFRcZz1gZVSIlZUySM3mBESaoQClGJCXxJs7yNEtFllaEsLTIQIxES6XaeMAb09dnoe97kSYJQWeKlkLZ8LcJjLV4hOEhwBgkV2f9RSBZDrUFMVLSOnuy4qRT4gJgzCovg5sa3aPgAGPYhhQDK0Vr2KnBHm5Q20KA8aYbbGOn1vdGGyc2tR42XW860btnb4HRwQr78m8YUGo4nWVCk1pofjb06uL9HfAgxn8DAAD__xQZ520">