[Openmcl-cvs-notifications] r7909 - in /trunk/ccl/lisp-kernel: lisp-debug.c pmcl-kernel.c
gb at clozure.com
gb at clozure.com
Thu Dec 13 16:30:29 MST 2007
Author: gb
Date: Thu Dec 13 18:30:28 2007
New Revision: 7909
Log:
Save major OS version on startup, use it to determine where _sigtramp
keeps its contenxt argument (which differs between 10.4 and 10.5.)
Modified:
trunk/ccl/lisp-kernel/lisp-debug.c
trunk/ccl/lisp-kernel/pmcl-kernel.c
Modified: trunk/ccl/lisp-kernel/lisp-debug.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/ccl/lisp-kernel/lisp-debug.c (original)
+++ trunk/ccl/lisp-kernel/lisp-debug.c Thu Dec 13 18:30:28 2007
@@ -872,10 +872,11 @@
#ifdef X8664
if (xp) {
extern void *_sigtramp();
- =
+ extern int os_major_version;
+
if (xpPC(xp) =3D=3D (natural)_sigtramp) {
- xp =3D (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 v=
alues or lisp backtrace");
+ xp =3D (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 v=
alues or lisp backtrace\n");
}
}
#endif
Modified: trunk/ccl/lisp-kernel/pmcl-kernel.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/ccl/lisp-kernel/pmcl-kernel.c (original)
+++ trunk/ccl/lisp-kernel/pmcl-kernel.c Thu Dec 13 18:30:28 2007
@@ -1283,6 +1283,9 @@
}
#endif
=
+int
+os_major_version =3D 0;
+
void
check_os_version(char *progname)
{
@@ -1293,6 +1296,8 @@
fprintf(stderr, "\n%s requires %s version %s or later; the current ver=
sion is %s.\n", progname, uts.sysname, min_os_version, uts.release);
exit(1);
}
+ sscanf(uts.release,"%d",&os_major_version);
+
#ifdef PPC
#ifdef DARWIN
{
More information about the Openmcl-cvs-notifications
mailing list