From b945d3eb902113317ff66a6e830316c4d7ce10f5 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Mon, 31 Oct 2022 20:18:15 -0400 Subject: cbe: improve support for non-native float types * Fix _start on aarch64. * Add fallbacks when a float type is unsupported. Fixes #13357 --- lib/std/start.zig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib/std') diff --git a/lib/std/start.zig b/lib/std/start.zig index 14903b0bc9..7ba24ad78c 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -281,7 +281,15 @@ fn _start() callconv(.Naked) noreturn { \\ andl $-16, %%esp \\ jmp _posixCallMainAndExit ), - .aarch64, .aarch64_be, .arm, .armeb, .thumb => asm volatile ( + .aarch64, .aarch64_be => asm volatile ( + \\ mov fp, #0 + \\ mov lr, #0 + \\ mov x0, sp + \\ adrp x1, argc_argv_ptr + \\ str x0, [x1, :lo12:argc_argv_ptr] + \\ b _posixCallMainAndExit + ), + .arm, .armeb, .thumb => asm volatile ( \\ mov fp, #0 \\ mov lr, #0 \\ str sp, argc_argv_ptr -- cgit v1.2.3