bug-mes
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]