Index: /trunk/ccl/lisp-kernel/lisp-debug.c
===================================================================
--- /trunk/ccl/lisp-kernel/lisp-debug.c	(revision 7908)
+++ /trunk/ccl/lisp-kernel/lisp-debug.c	(revision 7909)
@@ -873,8 +873,9 @@
   if (xp) {
     extern void *_sigtramp();
-    
+    extern int os_major_version;
+
     if (xpPC(xp) == (natural)_sigtramp) {
-      xp = (ExceptionInformation *) xpGPR(xp,REG_RCX);
-      fprintf(stderr, "Exception raised at _sigtramp; using context passed to _sigtramp.  Raw register values (R) may be more interesting then lisp values or lisp backtrace");
+      xp = (ExceptionInformation *) xpGPR(xp,os_major_version < 9 ? REG_RSI :REG_RCX);
+      fprintf(stderr, "Exception raised at _sigtramp; using context passed to _sigtramp.  Raw register values (R) may be more interesting then lisp values or lisp backtrace\n");
     }
   }
Index: /trunk/ccl/lisp-kernel/pmcl-kernel.c
===================================================================
--- /trunk/ccl/lisp-kernel/pmcl-kernel.c	(revision 7908)
+++ /trunk/ccl/lisp-kernel/pmcl-kernel.c	(revision 7909)
@@ -1286,4 +1286,7 @@
 #endif
 
+int
+os_major_version = 0;
+
 void
 check_os_version(char *progname)
@@ -1296,4 +1299,6 @@
     exit(1);
   }
+  sscanf(uts.release,"%d",&os_major_version);
+
 #ifdef PPC
 #ifdef DARWIN
