summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-12-11 05:10:18 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-12-11 05:10:18 +0000
commitaeca18e7af8fa0df6d9852de2c364a89ed4008d3 (patch)
tree853013cb2c7144ff3d4abb469f0531bf1ddd4930 /usr.sbin
parent48d6b0594cc146182f3898897fa986ef3a45be90 (diff)
More changes to avoid truncating 64 bit pointers to 32 bits and sign-extending
them; allows userland with stack beyond 2GB to run.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/afs/src/lwp/process.mips.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.sbin/afs/src/lwp/process.mips.S b/usr.sbin/afs/src/lwp/process.mips.S
index 74a300be316..3f8e1a0d37b 100644
--- a/usr.sbin/afs/src/lwp/process.mips.S
+++ b/usr.sbin/afs/src/lwp/process.mips.S
@@ -29,10 +29,14 @@
#define REGSIZE 8
#define REG_S sd
#define REG_L ld
+#define ADDU daddu
+#define SUBU dsubu
#else
#define REGSIZE 4
#define REG_S sw
#define REG_L lw
+#define ADDU addu
+#define SUBU subu
#endif
#ifdef HAVE_PIC
@@ -61,7 +65,7 @@ savecontext:
.set noreorder
.cpload t9 # set up gp for KPIC
.set reorder
- subu sp, regspace
+ SUBU sp, regspace
.cprestore GPOFF # trigger t9/jalr
.set noreorder
li t0, 1
@@ -126,7 +130,7 @@ returnto:
l.d $f28, floats + 32(sp)
l.d $f30, floats + 40(sp)
.set noreorder
- addu sp, regspace
+ ADDU sp, regspace
sw zero, PRE_Block
j ra
nop
@@ -171,7 +175,7 @@ savecontext:
li t0, 1
.extern PRE_Block
sw t0, PRE_Block
- subu sp, regspace
+ SUBU sp, regspace
.frame sp, regspace, ra
/* Save registers. */
REG_S s0, registers + (0 * REGSIZE)(sp)