Changeset 7909


Ignore:
Timestamp:
Dec 13, 2007, 11:30:28 PM (13 years ago)
Author:
gb
Message:

Save major OS version on startup, use it to determine where _sigtramp
keeps its contenxt argument (which differs between 10.4 and 10.5.)

Location:
trunk/ccl/lisp-kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/lisp-debug.c

    r7902 r7909  
    873873  if (xp) {
    874874    extern void *_sigtramp();
    875    
     875    extern int os_major_version;
     876
    876877    if (xpPC(xp) == (natural)_sigtramp) {
    877       xp = (ExceptionInformation *) xpGPR(xp,REG_RCX);
    878       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");
     878      xp = (ExceptionInformation *) xpGPR(xp,os_major_version < 9 ? REG_RSI :REG_RCX);
     879      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");
    879880    }
    880881  }
  • trunk/ccl/lisp-kernel/pmcl-kernel.c

    r7137 r7909  
    12861286#endif
    12871287
     1288int
     1289os_major_version = 0;
     1290
    12881291void
    12891292check_os_version(char *progname)
     
    12961299    exit(1);
    12971300  }
     1301  sscanf(uts.release,"%d",&os_major_version);
     1302
    12981303#ifdef PPC
    12991304#ifdef DARWIN
Note: See TracChangeset for help on using the changeset viewer.