Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
- 
f4ccaa45
by Raymond Toy at 2022-06-26T22:07:54+00:00
- 
00907500
by Raymond Toy at 2022-06-26T22:07:54+00:00
4 changed files:
- src/lisp/Config.x86_linux
- src/lisp/Config.x86_linux_clang
- src/lisp/Linux-os.c
- src/lisp/x86-lispregs.h
Changes:
| ... | ... | @@ -2,7 +2,7 @@ | 
| 2 | 2 |  include Config.x86_common
 | 
| 3 | 3 | |
| 4 | 4 |  CFLAGS += $(COPT)
 | 
| 5 | -CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
 | |
| 5 | +CPPFLAGS += -m32 -D__NO_CTYPE
 | |
| 6 | 6 |  CFLAGS += -rdynamic  -march=pentium4 -mfpmath=sse -mtune=generic
 | 
| 7 | 7 | |
| 8 | 8 |  UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
 | 
| ... | ... | @@ -2,7 +2,7 @@ | 
| 2 | 2 |  include Config.x86_common
 | 
| 3 | 3 | |
| 4 | 4 |  CC = clang
 | 
| 5 | -CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
 | |
| 5 | +CPPFLAGS += -m32 -D__NO_CTYPE
 | |
| 6 | 6 |  CFLAGS += $(COPT)
 | 
| 7 | 7 | |
| 8 | 8 |  # Allow sse2 instructions (-msse2); and tune for pentium4
 | 
| ... | ... | @@ -17,6 +17,8 @@ | 
| 17 | 17 |   *
 | 
| 18 | 18 |   */
 | 
| 19 | 19 | |
| 20 | +#define _GNU_SOURCE /* for reg_* constants in uc_mcontext.gregs  */
 | |
| 21 | +#include <signal.h>
 | |
| 20 | 22 |  #include <stdio.h>
 | 
| 21 | 23 |  #include <sys/param.h>
 | 
| 22 | 24 |  #include <sys/file.h>
 | 
| ... | ... | @@ -198,6 +200,8 @@ os_sigcontext_reg(ucontext_t *scp, int offset) | 
| 198 | 200 |  	return (unsigned long *) &scp->uc_mcontext.gregs[REG_ESI];
 | 
| 199 | 201 |      case 14:
 | 
| 200 | 202 |  	return (unsigned long *) &scp->uc_mcontext.gregs[REG_EDI];
 | 
| 203 | +    case 16:
 | |
| 204 | +        return (unsigned long*) &scp->uc_mcontext.gregs[REG_EFL];
 | |
| 201 | 205 |      }
 | 
| 202 | 206 |      return NULL;
 | 
| 203 | 207 |  }
 | 
| ... | ... | @@ -30,6 +30,7 @@ | 
| 30 | 30 |  #define reg_EBP REG(10)
 | 
| 31 | 31 |  #define reg_ESI REG(12)
 | 
| 32 | 32 |  #define reg_EDI REG(14)
 | 
| 33 | +#define reg_EFL REG(16)
 | |
| 33 | 34 | |
| 34 | 35 |  #define reg_SP reg_ESP
 | 
| 35 | 36 |  #define reg_FP reg_EBP
 | 
| ... | ... | @@ -60,7 +61,7 @@ | 
| 60 | 61 |  #define SC_EFLAGS(sc) ((sc)->uc_mcontext->ss.eflags)
 | 
| 61 | 62 |  #endif
 | 
| 62 | 63 |  #elif defined(__linux__)
 | 
| 63 | -#define SC_EFLAGS(sc) ((sc)->uc_mcontext.gregs[REG_EFL])
 | |
| 64 | +#define SC_EFLAGS(sc) SC_REG(sc, reg_EFL)
 | |
| 64 | 65 |  #elif defined(__NetBSD__)
 | 
| 65 | 66 |  #define SC_EFLAGS(sc) ((sc)->uc_mcontext.__gregs[_REG_EFL])
 | 
| 66 | 67 |  #elif defined(SOLARIS)
 |