[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] riscv64: Fix arguments of main function in tcc.
From: |
andrius |
Subject: |
[PATCH 2/2] riscv64: Fix arguments of main function in tcc. |
Date: |
Fri, 6 Oct 2023 22:51:27 +0100 |
From: Andrius Štikonas <andrius@stikonas.eu>
* lib/linux/riscv64-mes-tcc/crt1.c
---
lib/linux/riscv64-mes-tcc/crt1.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/lib/linux/riscv64-mes-tcc/crt1.c b/lib/linux/riscv64-mes-tcc/crt1.c
index 0fe6c686..b91e9dfe 100644
--- a/lib/linux/riscv64-mes-tcc/crt1.c
+++ b/lib/linux/riscv64-mes-tcc/crt1.c
@@ -45,7 +45,21 @@ _start ()
"addi a1, s0, 8\n\t" // a1 argv
"mv a2, t0\n\t" // a2 envp
+ // Push arguments to stack
+ "addi sp, sp, -32\n\t"
+ "sd sp, a0, 8\n\t" // argc
+ "sd sp, a1, 16\n\t" // argv
+ "sd sp, a2, 24\n\t" // envp
+
+
"jal ra, __init_io\n\t"
+
+ // Recover stack
+ "ld a0, sp, 8\n\t" // a0 argc
+ "ld a1, sp, 16\n\t" // a0 argc
+ "ld a2, sp, 24\n\t" // a0 argc
+ "addi sp, sp, 32\n\t"
+
"jal ra, main\n\t"
"li a7, 93\n\t" // SYS_exit
--
2.41.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 2/2] riscv64: Fix arguments of main function in tcc.,
andrius <=