authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-24 22:18:29+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-26 02:32:16+02:00
log7c98a65ae4fcebf9ebc918fe3e7af9d062805d36
treea02ade36f65c6bfbd8525f1218a979d58c40e500
parented847b85c284783c20efd4c4a565138b79d33e2c
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

start: Add POSIX hexagon support.


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

lib/std/start.zig+9
...@@ -307,6 +307,15 @@ fn _start() callconv(.Naked) noreturn {...@@ -307,6 +307,15 @@ fn _start() callconv(.Naked) noreturn {
307 \\ and sp, #-16307 \\ and sp, #-16
308 \\ b %[posixCallMainAndExit]308 \\ b %[posixCallMainAndExit]
309 ,309 ,
310 .hexagon =>
311 // r29 = SP, r30 = FP
312 \\ r30 = #0
313 \\ r0 = r29
314 \\ r29 = and(r29, #-16)
315 \\ memw(r29 + #-8) = r29
316 \\ r29 = add(r29, #-8)
317 \\ call %[posixCallMainAndExit]
318 ,
310 .loongarch32, .loongarch64 =>319 .loongarch32, .loongarch64 =>
311 \\ move $fp, $zero320 \\ move $fp, $zero
312 \\ move $a0, $sp321 \\ move $a0, $sp