Hi Russell, Apologies if this has already been reported, I did not see anything when sifting through lore.kernel.org and I can still reproduce this with current mainline (1db333d9a51f). I noticed a QEMU boot failure with multi_v7_defconfig with CONFIG_THUMB2_KERNEL=y in our continuous integration [1]. It does not appear to be compiler specific, as it reproduces with a bunch of different clang versions and GCC 11.2.0 (I didn't try other GCC versions). At commit 04e91b732476 ("ARM: early traps initialisation"), everything boots fine. At commit 8d9d651ff227 ("ARM: use LOADADDR() to get load address of sections"), there is no output from QEMU at all. At commit b9baf5c8c5c3 ("ARM: Spectre-BHB workaround"), there is some output but the boot still hangs before init. I have included a log of the output of QEMU at this revision along with the command line I am using, which comes from [2]. If I disable CONFIG_HARDEN_BRANCH_HISTORY, the kernel boots. If there is any further information I can provide or patches I can try, I am happy to do so. [1]: https://github.com/ClangBuiltLinux/continuous-integration2/runs/5496036256?check_suite_focus=true [2]: https://github.com/ClangBuiltLinux/boot-utils Cheers, Nathan