summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/mvme88k/include/signal.h5
-rw-r--r--sys/arch/mvme88k/mvme88k/machdep.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/arch/mvme88k/include/signal.h b/sys/arch/mvme88k/include/signal.h
index 791679b0b03..56096b9746a 100644
--- a/sys/arch/mvme88k/include/signal.h
+++ b/sys/arch/mvme88k/include/signal.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: signal.h,v 1.11 2004/01/12 23:55:10 miod Exp $ */
+/* $OpenBSD: signal.h,v 1.12 2004/01/13 17:15:07 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -51,9 +51,6 @@ struct sigcontext {
int sc_mask; /* signal mask to restore */
/* begin machine dependent portion */
struct reg sc_regs;
-
- /* XXX this structure needs to be a multiple of 8 bytes for now */
- int sc_pad;
};
#endif /* __MACHINE_SIGNAL_H__ */
diff --git a/sys/arch/mvme88k/mvme88k/machdep.c b/sys/arch/mvme88k/mvme88k/machdep.c
index 0aef70d3a93..c7ff28850b5 100644
--- a/sys/arch/mvme88k/mvme88k/machdep.c
+++ b/sys/arch/mvme88k/mvme88k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.130 2004/01/12 23:55:12 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.131 2004/01/13 17:15:08 miod Exp $ */
/*
* Copyright (c) 1998, 1999, 2000, 2001 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -880,6 +880,11 @@ sendsig(catcher, sig, mask, code, type, val)
psp->ps_sigstk.ss_flags |= SS_ONSTACK;
} else
fp = (struct sigframe *)(tf->tf_r[31] - fsize);
+
+ /* make sure the frame is aligned on a 8 byte boundary */
+ if (((vaddr_t)fp & 0x07) != 0)
+ fp = (struct sigframe *)((vaddr_t)fp & ~0x07);
+
if ((unsigned)fp <= USRSTACK - ctob(p->p_vmspace->vm_ssize))
(void)uvm_grow(p, (unsigned)fp);