The perfect emulation setup to study and develop the Linux kernel v5.4.3, kernel modules, QEMU, gem5 and x86_64, ARMv7 and ARMv8 userland and baremetal assembly, ANSI C, C++ and POSIX. GDB step debug and KGDB just work. Powered by Buildroot and crosstool-NG. Highly automated. Thoroughly documented. Automated tests. "Tested" in an Ubuntu 24.04 host.
gem5 bcf041f257623e5c9e77d35b7531bae59edc0423 LKMC 62930b6acf85defffc76ca27dce3ec2f516830c0 just after dynamic linking was added:
Failure happens in dynamic loader itself.
We can see what code the trace corresponds to with (we easily guess that dynloader goes at offset 0x4000000000):