[PATCH v4 02/10] arm64: initialize the frame pointer register
Casey Connolly
casey.connolly at linaro.org
Tue Jul 29 17:52:00 CEST 2025
From: Heinrich Schuchardt <xypron.glpk at gmx.de>
U-Boot may be compiled with frame pointers depending on defaults built into
compilers are via explicitly passing -fno-omit-frame-pointer.
To stop walking frames it is necessary that the initial value of the frame
pointer register is 0.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
---
arch/arm/lib/crt0_64.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index f3f279f2c39cd27cc30801805999092d582cef52..3ff0577e9c87076e7fc6626fde3703fe952f07c8 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -167,8 +167,9 @@ clear_loop:
/* call board_init_r(gd_t *id, ulong dest_addr) */
mov x0, x18 /* gd_t */
ldr x1, [x18, #GD_RELOCADDR] /* dest_addr */
+ mov x29, 0 /* frame pointer */
b board_init_r /* PC relative jump */
/* NOTREACHED - board_init_r() does not return */
#endif
--
2.50.0
More information about the U-Boot
mailing list