From cf3b742f8d496441e3d3a902f52e39715d1cc8ff Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Fri, 24 May 1991 04:59:04 +0000
Subject: [PATCH] On the RT, the IAR is not necessarily word aligned, so don't
 try to cast it into a long pointer and indirect it.  Instead, cast it into a
 short pointer and indirect it with an offset.

---
 ldb/interrupt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ldb/interrupt.c b/ldb/interrupt.c
index 35e5b8fb4..662e846cb 100644
--- a/ldb/interrupt.c
+++ b/ldb/interrupt.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/interrupt.c,v 1.26 1991/05/05 02:21:17 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/interrupt.c,v 1.27 1991/05/24 04:59:04 wlott Exp $ */
 
 /* Interrupt handing magic. */
 
@@ -508,7 +508,7 @@ static sigtrap_handler(signal, code, context)
      int signal, code;
      struct sigcontext *context;
 {
-    switch ((*(unsigned long *)context->sc_iar) & 0xffff) {
+    switch (*((unsigned short *)context->sc_iar+1)) {
       case trap_PendingInterrupt:
 	handle_pending_interrupt(context);
 	break;
-- 
GitLab