Skip to content

Commit

Permalink
DRAFT riscv64: Fix arguments of main function in tcc.
Browse files Browse the repository at this point in the history
* lib/linux/riscv64-mes-tcc/crt1.c

Co-authored-by: Ekaitz Zarraga <ekaitz@elenq.tech>.
  • Loading branch information
stikonas authored and janneke committed Oct 20, 2023
1 parent 9446e7a commit 4f4a117
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions lib/linux/riscv64-mes-tcc/crt1.c
Expand Up @@ -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
Expand Down

0 comments on commit 4f4a117

Please sign in to comment.