summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjason <jason@openbsd.org>2003-07-13 06:30:45 +0000
committerjason <jason@openbsd.org>2003-07-13 06:30:45 +0000
commit43d687d7c12e320109bdbcc35c1b719e80a2c046 (patch)
tree0c7edf63fc9015cc80791caba24007ff8c8ac4c0
parentInstall zdiff.1; noted by marc@ (diff)
downloadwireguard-openbsd-43d687d7c12e320109bdbcc35c1b719e80a2c046.tar.xz
wireguard-openbsd-43d687d7c12e320109bdbcc35c1b719e80a2c046.zip
my loathing for gcc runneth over: another case where a bitfield isn't
decoded properly with the instruction decode stuff.
-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];