diff options
author | 2002-05-20 08:31:35 +0000 | |
---|---|---|
committer | 2002-05-20 08:31:35 +0000 | |
commit | 61d0cb65dfeeab74caf5f5ab6db69ee732256704 (patch) | |
tree | 5072b1e5b1af2f816038ffc2554ff8ee91a195f2 /lib/libc/arch/hppa/string | |
parent | force alignment on the netisr and sir by mobving 'em into .data (diff) | |
download | wireguard-openbsd-61d0cb65dfeeab74caf5f5ab6db69ee732256704.tar.xz wireguard-openbsd-61d0cb65dfeeab74caf5f5ab6db69ee732256704.zip |
save the old onfault where the handler expects it to be, do not zero out on exit, but restore
Diffstat (limited to 'lib/libc/arch/hppa/string')
-rw-r--r-- | lib/libc/arch/hppa/string/bcopy.m4 | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libc/arch/hppa/string/bcopy.m4 b/lib/libc/arch/hppa/string/bcopy.m4 index db739d2ce4b..55ac9054d98 100644 --- a/lib/libc/arch/hppa/string/bcopy.m4 +++ b/lib/libc/arch/hppa/string/bcopy.m4 @@ -1,4 +1,4 @@ -define(_rcsid,``$OpenBSD: bcopy.m4,v 1.8 2002/03/08 06:17:09 mickey Exp $'')dnl +define(_rcsid,``$OpenBSD: bcopy.m4,v 1.9 2002/05/20 08:31:35 mickey Exp $'')dnl dnl dnl dnl This is the source file for bcopy.S, spcopy.S @@ -248,6 +248,7 @@ LEAF_ENTRY(spcopy) ldil L%copy_on_fault, t2 ldw P_ADDR(r31), r31 ldo R%copy_on_fault(t2), t2 + ldw PCB_ONFAULT+U_PCB(r31), r1 stw t2, PCB_ONFAULT+U_PCB(r31) ' mfsp sr2, ret0 /* XXX need this?, sr1 is scratchable */ @@ -258,7 +259,7 @@ LEAF_ENTRY(spcopy) hppa_copy(spcopy, sr1, arg1, sr2, arg3, ret1, `+') /* reset fault handler */ - stw r0, PCB_ONFAULT+U_PCB(r31) + stw r1, PCB_ONFAULT+U_PCB(r31) mtsp ret0, sr2 L(spcopy, ret) bv 0(rp) |