From: Heinrich Schuchardt <xypron.g...@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.schucha...@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodi...@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