diff --git a/Userland/DynamicLoader/main.cpp b/Userland/DynamicLoader/main.cpp index fa39761975..2a82b64304 100644 --- a/Userland/DynamicLoader/main.cpp +++ b/Userland/DynamicLoader/main.cpp @@ -63,7 +63,11 @@ void _entry(int, char**, char**) __attribute__((used)); NAKED void _start(int, char**, char**) { #if ARCH(AARCH64) + // Make sure backtrace computation stops here by setting FP and LR to 0. + // FIXME: The kernel should ensure that registers are zeroed on program start asm( + "mov x29, 0\n" + "mov x30, 0\n" "bl _entry\n"); #else asm(