Date: Friday, December 24, 2010 @ 01:01:34 Author: rtoy Path: /project/cmucl/cvsroot/src/lisp
Modified: x86-lispregs.h
Document why SC_EFLAGS doesn't seem to work on Solaris/x86.
----------------+ x86-lispregs.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
Index: src/lisp/x86-lispregs.h diff -u src/lisp/x86-lispregs.h:1.15 src/lisp/x86-lispregs.h:1.16 --- src/lisp/x86-lispregs.h:1.15 Thu Dec 23 17:56:26 2010 +++ src/lisp/x86-lispregs.h Fri Dec 24 01:01:34 2010 @@ -1,5 +1,5 @@ /* x86-lispregs.h -*- Mode: C; -*- - * $Header: /project/cmucl/cvsroot/src/lisp/x86-lispregs.h,v 1.15 2010-12-23 22:56:26 rtoy Exp $ + * $Header: /project/cmucl/cvsroot/src/lisp/x86-lispregs.h,v 1.16 2010-12-24 06:01:34 rtoy Exp $ */
#ifndef _X86_LISPREGS_H_ @@ -63,9 +63,12 @@ #elif defined(SOLARIS) /* * Solaris/x86 has access the the eflags value, but this doesn't - * currently work. Some more work needs to be done in x86-arch.c to - * make this work. But the default code there works fine on - * Solaris/x86. + * currently work. It seems that when we set the EFLAG to enable + * single-stepping, we never actually step the new instruction but we + * stop at exactly the same place. This is not how it works on other + * OSes where we do step an instruction. I (rtoy) do not know why. + * Some more work needs to be done in x86-arch.c to make this work. + * But the default code there works fine on Solaris/x86. */ /* #define SC_EFLAGS(sc) ((sc)->uc_mcontext.gregs[EFL])*/ #endif