authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-10 06:53:29+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-10 09:40:44+01:00
log8fae6630c49964be272e53062f76466fb9437969
tree2c730867e288f80aa36d1123ac52b0d33942c912
parentf5d31cff71ac2faca60bc76b5fe71a0b054f2047
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.start: add kvx support


1 files changed, 10 insertions(+), 0 deletions(-)

lib/std/start.zig+10
...@@ -205,6 +205,7 @@ fn _start() callconv(.naked) noreturn {...@@ -205,6 +205,7 @@ fn _start() callconv(.naked) noreturn {
205 .arm, .armeb, .thumb, .thumbeb => "", // https://github.com/llvm/llvm-project/issues/115891205 .arm, .armeb, .thumb, .thumbeb => "", // https://github.com/llvm/llvm-project/issues/115891
206 .csky => ".cfi_undefined lr",206 .csky => ".cfi_undefined lr",
207 .hexagon => ".cfi_undefined r31",207 .hexagon => ".cfi_undefined r31",
208 .kvx => ".cfi_undefined r14",
208 .loongarch32, .loongarch64 => ".cfi_undefined 1",209 .loongarch32, .loongarch64 => ".cfi_undefined 1",
209 .m68k => ".cfi_undefined %%pc",210 .m68k => ".cfi_undefined %%pc",
210 .microblaze, .microblazeel => ".cfi_undefined r15",211 .microblaze, .microblazeel => ".cfi_undefined r15",
...@@ -318,6 +319,15 @@ fn _start() callconv(.naked) noreturn {...@@ -318,6 +319,15 @@ fn _start() callconv(.naked) noreturn {
318 \\ r29 = add(r29, #-8)319 \\ r29 = add(r29, #-8)
319 \\ call %[posixCallMainAndExit]320 \\ call %[posixCallMainAndExit]
320 ,321 ,
322 .kvx =>
323 \\ make $fp = 0
324 \\ ;;
325 \\ set $ra = $fp
326 \\ copyd $r0 = $sp
327 \\ andd $sp = $sp, -32
328 \\ ;;
329 \\ goto %[posixCallMainAndExit]
330 ,
321 .loongarch32, .loongarch64 =>331 .loongarch32, .loongarch64 =>
322 \\ move $fp, $zero332 \\ move $fp, $zero
323 \\ move $ra, $zero333 \\ move $ra, $zero