Commit 8fae6630c4

Alex Rønne Petersen <alex@alexrp.com>
2025-11-10 06:53:29
std.start: add kvx support
1 parent f5d31cf
Changed files (1)
lib
lib/std/start.zig
@@ -205,6 +205,7 @@ fn _start() callconv(.naked) noreturn {
             .arm, .armeb, .thumb, .thumbeb => "", // https://github.com/llvm/llvm-project/issues/115891
             .csky => ".cfi_undefined lr",
             .hexagon => ".cfi_undefined r31",
+            .kvx => ".cfi_undefined r14",
             .loongarch32, .loongarch64 => ".cfi_undefined 1",
             .m68k => ".cfi_undefined %%pc",
             .microblaze, .microblazeel => ".cfi_undefined r15",
@@ -318,6 +319,15 @@ fn _start() callconv(.naked) noreturn {
             \\ r29 = add(r29, #-8)
             \\ call %[posixCallMainAndExit]
             ,
+            .kvx =>
+            \\ make $fp = 0
+            \\ ;;
+            \\ set $ra = $fp
+            \\ copyd $r0 = $sp
+            \\ andd $sp = $sp, -32
+            \\ ;;
+            \\ goto %[posixCallMainAndExit]
+            ,
             .loongarch32, .loongarch64 =>
             \\ move $fp, $zero
             \\ move $ra, $zero