summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2003-07-13 06:30:46 +0000
committerJason Wright <jason@cvs.openbsd.org>2003-07-13 06:30:46 +0000
commit4dede6ee32be62a48db41b107a68dea1710343a8 (patch)
tree60e3ab01871ec9e05f188c2b0669b60fa5699c79 /sys/arch
parent21c9a4c6bd2af2cffbe6fbf64ca264900756f6d6 (diff)
my loathing for gcc runneth over: another case where a bitfield isn't
decoded properly with the instruction decode stuff.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/sparc64/sparc64/emul.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/sparc64/sparc64/emul.c b/sys/arch/sparc64/sparc64/emul.c
index fa4b7ed7bff..9d5f8a8cd4e 100644
--- a/sys/arch/sparc64/sparc64/emul.c
+++ b/sys/arch/sparc64/sparc64/emul.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: emul.c,v 1.8 2003/07/12 06:27:38 jason Exp $ */
+/* $OpenBSD: emul.c,v 1.9 2003/07/13 06:30:45 jason Exp $ */
/* $NetBSD: emul.c,v 1.8 2001/06/29 23:58:40 eeh Exp $ */
/*-
@@ -502,7 +502,7 @@ emul_qf(int32_t insv, struct proc *p, union sigval sv, struct trapframe *tf)
asi = ins.i_asi.i_asi;
addr = tf->tf_global[ins.i_asi.i_rs1];
- if (ins.i_loadstore.i_i)
+ if (ins.i_int & 0x2000)
addr += SIGN_EXT13(ins.i_simm13.i_simm13);
else
addr += tf->tf_global[ins.i_asi.i_rs2];