<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/125227>125227</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Crash when building dreadful Linux kernel code
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bjackman
</td>
</tr>
</table>
<pre>
While experimenting with Linux kernel code I have managed to write code so bad that it crashes the toolchain.
This wonderful code is here: https://github.com/bjackman/linux/tree/clang-crash-demo
To reproduce it you should just need the normal linux kernel development dependencies (e.g. ctrl-f "dev dependencies [here](https://github.com/bjackman/limmat-kernel)).
```
$ tools/testing/kunit/kunit.py run --arch=x86_64 --kernel_args="nokaslr movablecore=16G page_owner=on earlyprintk=serial" --qemu_args="-m 32G -bios qboot.rom" --raw_output=all --timeout=10 --make_options "LLVM=1" --make_options "CC=ccache clang"
[14:02:08] Configuring KUnit Kernel ...
[14:02:08] Building KUnit Kernel ...
Populating config with:
$ make ARCH=x86_64 O=.kunit olddefconfig LLVM=1 CC=ccache clang
Building with:
$ make all compile_commands.json scripts_gdb ARCH=x86_64 O=.kunit --jobs=96 LLVM=1 CC=ccache clang
ERROR:root:vmlinux.o: warning: objtool: .discard.annotate_insn: dodgy linker, sh_entsize != 8
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
#0 0x00007f44547c58fa llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfc58fa)
#1 0x00007f44547c3b34 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfc3b34)
#2 0x00007f44547c60cb (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfc60cb)
#3 0x00007f4453256590 (/lib/x86_64-linux-gnu/libc.so.6+0x3f590)
#4 0x00007f445337ffc3 __memcpy_evex_unaligned_erms ./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:765:0
#5 0x000055740f3f308b void lld::elf::InputSection::writeTo<llvm::object::ELFType<(llvm::support::endianness)1, true>>(unsigned char*) (/usr/lib/llvm-16/bin/lld+0x1e708b)
#6 0x000055740f422f53 (/usr/lib/llvm-16/bin/lld+0x216f53)
#7 0x00007f4454745429 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xf45429)
#8 0x00007f44547447a4 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xf447a4)
#9 0x00007f44534e0f24 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xe0f24)
#10 0x00007f44532a36c2 start_thread ./nptl/pthread_create.c:447:8
#11 0x00007f445331e128 clone3 ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80:0
../scripts/link-vmlinux.sh: line 49: 37159 Bus error ${ld} ${ldflags} -o ${output} ${wl}--whole-archive ${objs} ${wl}--no-whole-archive ${wl}--start-group ${libs} ${wl}--end-group ${kallsymso} ${btf_vmlinux_bin_o} ${arch_vmlinux_o} ${ldlibs}
make[3]: *** [../scripts/Makefile.vmlinux:77: vmlinux] Error 135
make[2]: *** [/usr/local/google/home/jackmanb/src/linux/linux/Makefile:1226: vmlinux] Error 2
make[1]: *** [/usr/local/google/home/jackmanb/src/linux/linux/Makefile:251: __sub-make] Error 2
make: *** [Makefile:251: __sub-make] Error 2
```
```
$ clang --version
Debian clang version 16.0.6 (27+build1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0V91vqzgW_2vcFwsENuTjIQ-kaWaupqMZtd3dR2TsA7gxNmObtNm_fmUgTdN2ru6u7laoEH_8zu98-pg5JxsNsEH5FuW7Gzb41thN9cz4oWP6pjLitPlXKxVgeO3Byg60l7rBL9K3-F7q4RUfwGpQmBsB-Btu2RFwxzRrQGBv8IuVHqZJZ3DFBPYt81h6zC1zLTjsW8DeGMVbJnWMkgIlxVMrHX4xWoCthxlbOtyCBUQL3HrfO0QLRPaI7Bvp26GKuekQ2Z-pI7JXgR4ie28BENlzxXQTjVIjAZ2ZJRlsobdGDBwCq5MZsGvNoAR-HpzHGoIeLWBtbMcUVu91FnAEZfpgFCygBy1AcwkOI7KCuIkx91ZFNUaECDh-WJJvR3XyHSKrH1Wo65iPJuGIrBFZz_ZCi2R-kgKRbLSnC6qDC-5CZH8YtPTnd9yfsB00jiJmeYvo7nW1KBcZjmbsktnGIbpDhGhzYE5Z3JkjqxRwEzywSxe_4J41UJoXDRbRndEYmFWn3krtD4juHFjJFCIER9Ff0A3vIKMOU_ILjippHP6rMsbHNqgallr2UprB94NHdMeUwlHkZQdm_J0mGEdRxw5Qmt5Lo4Ohyf39P38PkxPAx9nbW0R3nDPeAh4jABESjJRv0wzRIiHh3wrlO3xrdC2bwYbw_u0fWnr82-TlOI6_3rEdpBJ_s_xP0w-KjbnCR-AxZYKLJw8Fnrh4uP31Yv0_EN3Fo3-wUUJAPW88K4g_65IUbxy-gA_246brpYKSm65jWrj42RmNHbey965sRPX3JKLo2VTBZ-vF9zncPTz88YBoYY3xiBbHbkyS2IRUfWFWhwikBTbVc4jL8BkL6TizImZaG888lFI7HWaEEc0pZNkBLCK32LUlaO_kvwEjkiK6w6tg3fu74vEOu6HqpMcMV0MT0thYH2rOd7JJqeP5FfXWPAMPSSGdGyDkC2ZaYKm5GgSMWT-WC1wxfvCWcQiexYjQBCevSZIkyzrL8mzJ81XN8IhNC0QLd3LTx58hHR4944ensB2R1WXRGOrOW2AdIougq9QekXUoHojsB2fHlK_OdNNFqAYyFII4vkzJKvgmShexM3GKyDZ5rUc-oUBMbNMPbGlFs6_YPgz6UTaaqV-ZFgqsG5n8FEJB5IUQ-UBokfDqZ0gJOBcp9L0USvJFvk5mKRPIFPLRGK1Ro4dpggfExYhI63ydXACzK0C6rGtOcVl20PH-VMIRXstBMxVOVFGC7RwOhJ23Uwke6buTE9C7N-mI7LtBeTkWYrLvoOvMEaIj8OgNKwpY8SOixXKRh-oz88lnPnm-zJKa1jRZVfhopMBKicmloOrp45vuB_8IPBTGaWQ8mZ8MoreXUDDVmBHj9939_unUA6K3V2Hrhj7k2QyvhWRag3OIrNMQw94OgOhdeMhq0GN7ITBvmUWk-LFgCuSD9VNYJqt3_lxcqZsRUuf0v4Aj6aLO6QVueR2EWZ79lFAfcS5SVh-kZEuW_QwpAeciZX0VmRkkNcl-INSdFxyRLSLbS8yPeyfkUDqS6yRidMEJdp5ZX_rWAhNjjOveK0T2_TRUcgvMQ8wRLbJsiWixmtHS6wxKISUrzJXRQEecTjr-OVMGLV-ngeO7tu4tf6b9Y36skjk9JoTplJv2HKLzueTCORmOGMDZOnzSZZqv8XZwGKw1Fl__IZKh5VYJtNy9fdeKNS4MRGYem5uWtzUvCi13UfTSGgVjlyWPcF5aPbtPC7X5cu08Oxo8aqwZ-jMHWX0GAS2uFh2YUu7UOXNZWfm6nA1RVlKX76aC5Lc5817dWRhKitBXoHxLQ9tKQ-gV0xPa2Q82_50doJYK4hkylK8QC_j8O9_hu9HeKc0v0OQr6Eu2GB66yn1jTKNCV9-aLrzmJjmEurP8XZSc32c2iBYpIYsveZALi_T_zoLkaRBQlm6ooknqJx4fCfz49qsLwef7wdS64Sg6gnXhREiKHVSS6XliHsbpIk7iRagkZInItgrNZjoVhydmGwjHAJ5rS8_flZdwhRurQ2cEjC1fb5x8RUnxTTvPlAKxk3ZScDZqKHzXTG_Ehoo1XbMb2KRLuqKUZOv8pt2ILGXLLCEkX9C0FjRhAipCVoQArVK6vpEbkpA8SWmaZskqJfE6J2sikpSLjFdVxVCWQMekikPhjY1tbsYecJOSnJDljWIVKHe-FdvNWJ6roXEoS5R03l32eekVbG7HPvGlBY2rc0cuggHC9fXTPflmsGrzv3epM8njhvwnAAD__4CMwlE">