svn commit: r351408 - head/stand/libsa/mips
Kyle Evans
kevans at FreeBSD.org
Thu Aug 22 21:42:12 UTC 2019
Author: kevans
Date: Thu Aug 22 21:42:11 2019
New Revision: 351408
URL: https://svnweb.freebsd.org/changeset/base/351408
Log:
libsa: mips: use _JB_* from machine/asm.h, remove regnum dep
This brings the libsa/mips _setjmp implementation closer to parity with the
libc version.
Reviewed by: imp, jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D21330
Modified:
head/stand/libsa/mips/_setjmp.S
Modified: head/stand/libsa/mips/_setjmp.S
==============================================================================
--- head/stand/libsa/mips/_setjmp.S Thu Aug 22 21:40:56 2019 (r351407)
+++ head/stand/libsa/mips/_setjmp.S Thu Aug 22 21:42:11 2019 (r351408)
@@ -36,7 +36,6 @@
* $FreeBSD$
*/
-#include <machine/regnum.h>
#include <machine/asm.h>
#if 0
@@ -59,19 +58,19 @@
LEAF(_setjmp)
.set noreorder
- REG_LI v0, 0xACEDBADE # sigcontext magic number
- REG_S ra, (2 * SZREG)(a0) # sc_pc = return address
- REG_S v0, (3 * SZREG)(a0) # saved in sc_regs[0]
- REG_S s0, ((S0 + 3) * SZREG)(a0)
- REG_S s1, ((S1 + 3) * SZREG)(a0)
- REG_S s2, ((S2 + 3) * SZREG)(a0)
- REG_S s3, ((S3 + 3) * SZREG)(a0)
- REG_S s4, ((S4 + 3) * SZREG)(a0)
- REG_S s5, ((S5 + 3) * SZREG)(a0)
- REG_S s6, ((S6 + 3) * SZREG)(a0)
- REG_S s7, ((S7 + 3) * SZREG)(a0)
- REG_S sp, ((SP + 3) * SZREG)(a0)
- REG_S s8, ((S8 + 3) * SZREG)(a0)
+ REG_LI v0, _JB_MAGIC__SETJMP # sigcontext magic number
+ REG_S v0, (_JB_MAGIC * SZREG)(a0) # saved in sc_regs[0]
+ REG_S ra, (_JB_REG_RA * SZREG)(a0) # sc_pc = return address
+ REG_S s0, (_JB_REG_S0 * SZREG)(a0)
+ REG_S s1, (_JB_REG_S1 * SZREG)(a0)
+ REG_S s2, (_JB_REG_S2 * SZREG)(a0)
+ REG_S s3, (_JB_REG_S3 * SZREG)(a0)
+ REG_S s4, (_JB_REG_S4 * SZREG)(a0)
+ REG_S s5, (_JB_REG_S5 * SZREG)(a0)
+ REG_S s6, (_JG_REG_S6 * SZREG)(a0)
+ REG_S s7, (_JB_REG_S7 * SZREG)(a0)
+ REG_S sp, (_JB_REG_SP * SZREG)(a0)
+ REG_S s8, (_JB_REG_S8 * SZREG)(a0)
j ra
move v0, zero
END(_setjmp)
@@ -82,21 +81,21 @@ LEAF(_longjmp)
.cprestore 16
#endif
.set noreorder
- REG_L v0, (3 * SZREG)(a0) # get magic number
- REG_L ra, (2 * SZREG)(a0)
- bne v0, 0xACEDBADE, botch # jump if error
+ REG_L v0, (_JB_MAGIC * SZREG)(a0) # get magic number
+ REG_L ra, (_JB_REG_RA * SZREG)(a0)
+ bne v0, _JB_MAGIC__SETJMP, botch # jump if error
addu sp, sp, 32 # does not matter, sanity
- REG_L s0, ((S0 + 3) * SZREG)(a0)
- REG_L s1, ((S1 + 3) * SZREG)(a0)
- REG_L s2, ((S2 + 3) * SZREG)(a0)
- REG_L s3, ((S3 + 3) * SZREG)(a0)
- REG_L s4, ((S4 + 3) * SZREG)(a0)
- REG_L s5, ((S5 + 3) * SZREG)(a0)
- REG_L s6, ((S6 + 3) * SZREG)(a0)
- REG_L s7, ((S7 + 3) * SZREG)(a0)
- REG_L sp, ((SP + 3) * SZREG)(a0)
- REG_L s8, ((S8 + 3) * SZREG)(a0)
+ REG_L s0, (_JB_REG_S0 * SZREG)(a0)
+ REG_L s1, (_JB_REG_S1 * SZREG)(a0)
+ REG_L s2, (_JB_REG_S2 * SZREG)(a0)
+ REG_L s3, (_JB_REG_S3 * SZREG)(a0)
+ REG_L s4, (_JB_REG_S4 * SZREG)(a0)
+ REG_L s5, (_JB_REG_S5 * SZREG)(a0)
+ REG_L s6, (_JB_REG_S6 * SZREG)(a0)
+ REG_L s7, (_JB_REG_S7 * SZREG)(a0)
+ REG_L sp, (_JB_REG_SP * SZREG)(a0)
+ REG_L s8, (_JB_REG_S8 * SZREG)(a0)
j ra
move v0, a1
More information about the svn-src-all
mailing list