<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61359>61359</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
CodeGen/X86/x86-shrink-wrapping.ll global-buffer-overflow with ASAN on LLVM16.0.0rc4
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
RaitoBezarius
</td>
</tr>
</table>
<pre>
While recompiling LLVM16.0.0r4 with ASAN for #61350, I encountered this trace:
```
********************
^[[6;2~FAIL: LLVM :: CodeGen/X86/x86-shrink-wrapping.ll (23287 of 49638)
******************** TEST 'LLVM :: CodeGen/X86/x86-shrink-wrapping.ll' FAILED ********************
Script:
--
: 'RUN: at line 2'; /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll -o - -enable-shrink-wrap=true -pass-remarks-output=/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/test/CodeGen/X86/Output/x86-shrink-wrapping.ll.tmp | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=ENABLE
: 'RUN: at line 3'; cat /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/test/CodeGen/X86/Output/x86-shrink-wrapping.ll.tmp | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=REMARKS
: 'RUN: at line 4'; /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll -o - -enable-shrink-wrap=false | /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/FileCheck /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll --check-prefix=DISABLE
--
Exit Code: 1
Command Output (stderr):
--
=================================================================
==296879==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7fb78e288b7f at pc 0x7fb78fe7e141 bp 0x7ffd05f13b00 sp 0x7ffd05f132b0
READ of size 1 at 0x7fb78e288b7f thread T0
#0 0x7fb78fe7e140 in __interceptor_strlen.part.0 (/nix/store/2w4k8nvdyiggz717ygbbxchpnxrqc6y9-gcc-12.2.0-lib/lib/libasan.so.8+0x4e140)
#1 0x7fb77e77f62b in (anonymous namespace)::MCAsmStreamer::getMnemonic(llvm::MCInst&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0xb33462b)
#2 0x7fb779142aad in llvm::AsmPrinter::emitFunctionBody() [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x5cf7aad)
#3 0x7fb7878889ca in llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x1443d9ca)
#4 0x7fb77722d2c5 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x3de22c5)
#5 0x7fb7762d76cd in llvm::FPPassManager::runOnFunction(llvm::Function&) [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8c6cd)
#6 0x7fb7762d80af in llvm::FPPassManager::runOnModule(llvm::Module&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8d0af)
#7 0x7fb7762da788 in (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e8f788)
#8 0x7fb7762dbbbb in llvm::legacy::PassManagerImpl::run(llvm::Module&) [clone .localalias] (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/libLLVM-16.so+0x2e90bbb)
#9 0x445de0 in compileModule(char**, llvm::LLVMContext&) (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x445de0)
#10 0x41f9a8 in main (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x41f9a8)
#11 0x7fb772f4924d in __libc_start_call_main (/nix/store/76l4v99sk83ylfwkz8wmwrm4s8h73rhd-glibc-2.35-224/lib/libc.so.6+0x2924d)
#12 0x7fb772f49308 in __libc_start_main_impl (/nix/store/76l4v99sk83ylfwkz8wmwrm4s8h73rhd-glibc-2.35-224/lib/libc.so.6+0x29308)
#13 0x422ca4 in _start (/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/bin/llc+0x422ca4)
0x7fb78e288b7f is located 1 bytes to the left of global variable 'AsmStrs' defined in '/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/Target/X86/X86GenAsmWriter.inc:17:21' (0x7fb78e288b80) of size 19453
0x7fb78e288b7f is located 55 bytes to the right of global variable 'OpInfo0' defined in '/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/build/lib/Target/X86/X86GenAsmWriter.inc:1892:25' (0x7fb78e277520) of size 71208
SUMMARY: AddressSanitizer: global-buffer-overflow (/nix/store/2w4k8nvdyiggz717ygbbxchpnxrqc6y9-gcc-12.2.0-lib/lib/libasan.so.8+0x4e140) in __interceptor_strlen.part.0
Shadow bytes around the buggy address:
0x0ff771c49110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ff771c49160: 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 f9[f9]
0x0ff771c49170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c49190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c491a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff771c491b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==296879==ABORTING
/run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll:890:17: error: ENABLE-LABEL: expected string not found in input
; ENABLE-LABEL: infiniteloop2:
^
<stdin>:288:15: note: scanning from here
_infiniteloop: ## @infiniteloop
^
<stdin>:288:20: note: possible intended match here
_infiniteloop: ## @infiniteloop
^
Input file: <stdin>
Check file: /run/user/2024/tmp.4X9omY51ws/llvm-src-16.0.0-rc4/llvm/test/CodeGen/X86/x86-shrink-wrapping.ll
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
283: callq _abort
284: .cfi_endproc
285: ## -- End function
286: .globl _infiniteloop ## -- Begin function infiniteloop
287: .p2align 4, 0x90
288: _infiniteloop: ## @infiniteloop
label:890'0 X~~~~~~~~~~~~~~~~~ error: no match found
label:890'1 ? possible intended match
289: .cfi_startproc
label:890'0 ~~~~~~~~~~~~~~~~
290: ## %bb.0: ## %entry
label:890'0 ~~~~~~~~~~~~~~~~~~~~
291: pushq %rbp
label:890'0 ~~~~~~~~~~~~
292: .cfi_def_cfa_offset 16
label:890'0 ~~~~~~~~~~~~~~~~~~~~~~~~
293: .cfi_offset %rbp, -16
label:890'0 ~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
--
********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWk1z2zjS_jXwBUUVCPDz4INkS3ldb5yk7MxO5uQCQVDCmgQ4ABhLOcxv3wIoSqIsJ07iJLM1q2LJFtlsPE9_oBsgqTFiKTk_B_EMxJdntLMrpc9vqLBqxj9RLTpzVqhyc_77StQcas5U04payCV8_fpf12EyQROkI_gg7ApOb6dvYKU0BJgkIYkRwBfwCnLJVCct17yEdiUMtJoyDsgUoEuAhu8EbY_-J_6Oo9cQzz2pWQLIDP-1mF69BmTqUUM3NpnCC1XyV1wCvPiQJQAv1lkSmJUW8j540LRthVxO6hoCnGGCsxSqCkZ5QjKA8-9HCd_Pb99DgNOvRwRwCh2f-SX8fjvdMi1au_NGEGypkakDd_PbG_cftbAWkkMMcArIDAK80J2D2RmuAV5ghCOAF7ZpJ9GHXDV_xOGDAXhR1x-bwGgW9IESaBZtzwK8KDpRl-6vkP4kexm1lhsL8OKZzg0UDGDAJS1qfngdkEurOw6DlhoTaN5QfW8C1dm2s4BcvqgBnkD8th_sKegT27QQpBc_whkLUfOLFWf3v8QlAXNDB63mlVgDcjl_M529nn8uLsk2LiFk1L6sQf7nnM8752Z-Pb35_9vPeSf6J80aFa0N_2e4_vLqdp-YQ-GYr4X1dcxFQHhY4i9U01BZwj51XFk1tuRau3L6uPxc_tcfB0RwnmRp3v8_v7l5e-OMMy1LzY25pVJY8Ylrd25Zq4LWQdFVFdeB-sh1VasHqCSkvTRE67Qq0ozjLCvSyuVYy4aTFU95GIWwaP2ZqkRxFZICIWhGZ3CxbbNu5tNL19YY8YnD0Ck7Um9XmtMSvt_KQwhdc4fGAyIoJLy7E67HY7y1St8Zq2suJy3VdoKcqwFeSLEGeGGs0twF7EN0n8mP5UYsl5_SMN0si2LNVq1c6z9ZssmDJWNBiCd4goJaFC5oh29qqJwYNckAnqF15BDsWjIHL9zCS3maVgkuHDyAMyqV3DSqM1DShpvWNaF96JHp9cXUNLdWc9p4RwAyXXJ7LXmjpGAAZz5jtqJX0qVNAnC-ZfZyab7j6LpCJ2mUJ1kQEiW4GNHEA808jDClpaO5hzk1zTvtXdL_5o2wi04yK5ScqXLjkecQxDNWK8nhpFaM1rQW1ID48qcRi1mVUlqOiJEhvNIsy3JGx8Q-ZMkxN93Jt_KaspWQfOA49tnxtZ_qvDCKSJkzOiIZDd5LMS4xi8ckjwC_o8YcUD3J8ReRIyXHmMUjbvHALcFlmrCjyFy8c3SuqaTLkQOfxeoXhyvmGUvYOFyTA7YZotXz2F6rsqv5OEq3p36q_zDPSkSrEaP0gBFNs-w5E-jfn2aVZtmIZnZAsyiKYuy4mi8p2_T_H3C7atp6x-8zvH55oOaoKMYFI4doHUVxyX3B7ndy-M5BbEX1sDdwcWAHp_hCScvXP6ro7Vr5vp57hOOC7hqOKKxy6kOxoX08_kgQfrAxiF1bgasox1HZdz21KNidsVTbO0br-u4A3LjhSZM6-pjn5j4jm7p6uP-UPTQPuolMtkqJXpXB0qkK8ITEAfZEdr5lrttJer-6kce48CEugrJHuBykO9G09Q_FRdCRvVwZjzBmNPKIPJYf7TY_3H5_zn8ftbTCQJeSlpcwhMXGcgOtgnbFYc0r67rhvgmHH6kWboHnVrR9d2gATmHJKyF52c-J6Q9I5vdUL7ndrcY-ZMkrLqem-V0Ly_VESAbINEwBmeLQAQI4O6SYudzZN_V5FJMv2SGOx4bQYrl6yhJv2ytZKfQ3skSWY2eL-NgWaRrjkS3SEKNsu-v52_X19OaPr1yG_ZR1zBcWU1v8K1qqh63XqFadLL3nim653Axrxd2qGqI1qqo0DVmUhyFyDBH6quOEHvxCesgL6YleSE_87Xr8An9-qCz5krIqPzpAPHNflyeQpS_EMHshPfkL6aEvpKf4dj0H-QRrvuSydMnu-jdzcEXzVnPDpTUwg7Rta8GoW5z0eXi4jzXMKm7WdKD2nx1y-I5qK2hd7_J1EEYhRBgiAlEEUQxRAlEKh7v-j9O2r1Sal5-UPFBf0UFooTkv4cqJar50y6e9UDkI3VrK7k-rqsKxUCPKE8PhsVBfNY7EKjIWopXlGmpuO70HVcVjoc7wraBhqvW6qmwQedXXpEdwnJ78SEhIYaHSZT-rb4WSrdA7JYxy9avYQF-z9qqqdFDkOl8qJNdwqAJ71GwQmmpNN5ApdS-OvA3pTuhKWk2hKv7N2bGVimKn6ZZK6Od-SWvPmw-XXjtH0drV7GPybOf4G--Dx1KseGo7cjp7e_P-6s2r4Ynmz95WBmSa-YnEdzSQa628J_qHPsHr6WzuH9zydcuZa1aM1UIuoVQWVr7uCWextrMDw9mje4WsXCTwWqkW73P06APi3TOmC2NLIQGZu8Yiyxy62CmSynpzGkaldCgqrRq44nrrpbvDkfqHIQRgAkGERldOjP_Z0ftaO4zeKmOEa8dcoMiSl7Chlq2-Gcd-aP995YwJK9FPRodw-m18__xhd_nnB8wB1KDsmjbovU8uV7xuXZzUVEjj26FK1bV6cI7yMtCJTx5zfaD7XgmQi-Ojt9LkhNeedw5nxGeqWx_-Ce9oodxCqJfCWeSvTVgl7rgsW60YPKHBh9_gxiCAc1nCars3tteV9Lpc-1rDURAc3DrjSyH3N4-lBk1pr6nFtBZLCSOALyBa5-gUNheh8Jkht72_pgUfUh-n6DgVIYQf_jr-7OcGqbYR7yeAUxrDExr7NCOL0e8ncukEy3zvJ7-UPfDUMZtj5I-19a3TYCIcF8Xk6AyXVm-eqf-JMUKPuO3M6k-nURdPWf8LevCeecmrO1bRO1VVhlsYJl-B8AntZK99q7XH6iIueHIA93nuGPuc_Ey--ul2fBxONMHoZaXvfztpeN3prDwnZU5yesbPwyTNEpynJDtbnaOEIEpiSgqU4BRhHhdRgiuclkWMQhadiXOMMEEkxGGEcJhNMlqxLKdJEca4ykoKIsQbKuqJm2UnSi_PhDEdP09CEudn3qBmePFLn_sJuuiWBkSoFsaa_W1W2JqfP_Mp8RNL5_0LYkoevjrGorNO1-cra1s_B-MFwIulsKuumDDV7GuEx9dq5dongBeeiissns1_AgAA__-7RAL_">