Index: head/lib/libc/riscv/gen/_setjmp.S =================================================================== --- head/lib/libc/riscv/gen/_setjmp.S +++ head/lib/libc/riscv/gen/_setjmp.S @@ -39,8 +39,7 @@ ENTRY(_setjmp) /* Store the magic value and stack pointer */ - la t0, .Lmagic - ld t0, 0(t0) + ld t0, .Lmagic sd t0, (0 * 8)(a0) sd sp, (1 * 8)(a0) addi a0, a0, (2 * 8) @@ -89,8 +88,7 @@ ENTRY(_longjmp) /* Check the magic value */ ld t0, 0(a0) - la t1, .Lmagic - ld t1, 0(t1) + ld t1, .Lmagic bne t0, t1, botch /* Restore the stack pointer */ Index: head/lib/libc/riscv/gen/setjmp.S =================================================================== --- head/lib/libc/riscv/gen/setjmp.S +++ head/lib/libc/riscv/gen/setjmp.S @@ -53,8 +53,7 @@ addi sp, sp, (2 * 8) /* Store the magic value and stack pointer */ - la t0, .Lmagic - ld t0, 0(t0) + ld t0, .Lmagic sd t0, (0 * 8)(a0) sd sp, (1 * 8)(a0) addi a0, a0, (2 * 8) @@ -119,8 +118,7 @@ /* Check the magic value */ ld t0, 0(a0) - la t1, .Lmagic - ld t1, 0(t1) + ld t1, .Lmagic bne t0, t1, botch /* Restore the stack pointer */