From 89f16dfc558539b1fc4e20bf561cc129c365d061 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Fri, 24 Dec 2010 06:01:34 +0000 Subject: [PATCH] Document why SC_EFLAGS doesn't seem to work on Solaris/x86. --- lisp/x86-lispregs.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lisp/x86-lispregs.h b/lisp/x86-lispregs.h index b8043bd58..3574f271d 100644 --- a/lisp/x86-lispregs.h +++ b/lisp/x86-lispregs.h @@ -1,5 +1,5 @@ /* x86-lispregs.h -*- Mode: C; -*- - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-lispregs.h,v 1.15 2010/12/23 22:56:26 rtoy Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/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 -- GitLab