From f92432e272344213592a6004ff74981c8addc305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciro=20Santilli=20=E5=85=AD=E5=9B=9B=E4=BA=8B=E4=BB=B6=20?= =?UTF-8?q?=E6=B3=95=E8=BD=AE=E5=8A=9F?= Date: Wed, 13 Nov 2019 00:00:00 +0000 Subject: [PATCH] arm: x29 is frame register --- userland/arch/aarch64/registers.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/userland/arch/aarch64/registers.S b/userland/arch/aarch64/registers.S index 3fdc2ac..1fd9134 100644 --- a/userland/arch/aarch64/registers.S +++ b/userland/arch/aarch64/registers.S @@ -34,6 +34,10 @@ LKMC_PROLOGUE mov x26, 26 mov x27, 27 mov x28, 28 + + /* x29 is used as the frame register by unoptimized GCC: it contains the initial stack. + * TODO is there a standard recommending it? Does it have effects e.g. on GDB in + * determining backtraces? */ mov x29, 29 /* x30 is the link register. BL stores the return address here. */