diff --git a/lib/libc/musl/arch/riscv32/crt_arch.h b/lib/libc/musl/arch/riscv32/crt_arch.h index 6b93fcfd1264463e6560a63b40050ffcdbd134e9..ad5561370a34b327e9e14268e1db798f689a97d8 100644 --- a/lib/libc/musl/arch/riscv32/crt_arch.h +++ b/lib/libc/musl/arch/riscv32/crt_arch.h @@ -10,6 +10,8 @@ START ":\n" ".option norelax\n\t" "lla gp, __global_pointer$\n" ".option pop\n\t" +"li fp, 0\n" +"li ra, 0\n" "mv a0, sp\n" ".weak _DYNAMIC\n" ".hidden _DYNAMIC\n\t" diff --git a/lib/libc/musl/arch/riscv64/crt_arch.h b/lib/libc/musl/arch/riscv64/crt_arch.h index 6b93fcfd1264463e6560a63b40050ffcdbd134e9..ad5561370a34b327e9e14268e1db798f689a97d8 100644 --- a/lib/libc/musl/arch/riscv64/crt_arch.h +++ b/lib/libc/musl/arch/riscv64/crt_arch.h @@ -10,6 +10,8 @@ START ":\n" ".option norelax\n\t" "lla gp, __global_pointer$\n" ".option pop\n\t" +"li fp, 0\n" +"li ra, 0\n" "mv a0, sp\n" ".weak _DYNAMIC\n" ".hidden _DYNAMIC\n\t"