diff --git a/src/lisp/Config.x86_linux b/src/lisp/Config.x86_linux
index cacc0f513ae652a0496d969af3751f08e4591105..8ed11ef5f128ea07681bcb82e92b55b2747b09df 100644
--- a/src/lisp/Config.x86_linux
+++ b/src/lisp/Config.x86_linux
@@ -2,7 +2,7 @@
 include Config.x86_common
 
 CFLAGS += $(COPT)
-CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
+CPPFLAGS += -m32 -D__NO_CTYPE
 CFLAGS += -rdynamic  -march=pentium4 -mfpmath=sse -mtune=generic
 
 UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
diff --git a/src/lisp/Config.x86_linux_clang b/src/lisp/Config.x86_linux_clang
index c534e868b781214a328e23296654f167bc8fa7d1..169bf07784f2116f51f105528be6d805275f05e1 100644
--- a/src/lisp/Config.x86_linux_clang
+++ b/src/lisp/Config.x86_linux_clang
@@ -2,7 +2,7 @@
 include Config.x86_common
 
 CC = clang
-CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
+CPPFLAGS += -m32 -D__NO_CTYPE
 CFLAGS += $(COPT)
 
 # Allow sse2 instructions (-msse2); and tune for pentium4
diff --git a/src/lisp/Linux-os.c b/src/lisp/Linux-os.c
index daee0f4185b4bea4a8fe1ea652722f90167227df..078ae8b1694b6181aacc6f09aa83fd751984532c 100644
--- a/src/lisp/Linux-os.c
+++ b/src/lisp/Linux-os.c
@@ -17,6 +17,8 @@
  *
  */
 
+#define _GNU_SOURCE /* for reg_* constants in uc_mcontext.gregs  */
+#include <signal.h>
 #include <stdio.h>
 #include <sys/param.h>
 #include <sys/file.h>
@@ -198,6 +200,8 @@ os_sigcontext_reg(ucontext_t *scp, int offset)
 	return (unsigned long *) &scp->uc_mcontext.gregs[REG_ESI];
     case 14:
 	return (unsigned long *) &scp->uc_mcontext.gregs[REG_EDI];
+    case 16:
+        return (unsigned long*) &scp->uc_mcontext.gregs[REG_EFL];
     }
     return NULL;
 }
diff --git a/src/lisp/x86-lispregs.h b/src/lisp/x86-lispregs.h
index aa9608f2a078b7d044663faefcaac18074581407..ff7228f724f348bbd7e2a311539eb917590f01f1 100644
--- a/src/lisp/x86-lispregs.h
+++ b/src/lisp/x86-lispregs.h
@@ -30,6 +30,7 @@
 #define reg_EBP REG(10)
 #define reg_ESI REG(12)
 #define reg_EDI REG(14)
+#define reg_EFL REG(16)
 
 #define reg_SP reg_ESP
 #define reg_FP reg_EBP
@@ -60,7 +61,7 @@
 #define SC_EFLAGS(sc) ((sc)->uc_mcontext->ss.eflags)
 #endif
 #elif defined(__linux__)
-#define SC_EFLAGS(sc) ((sc)->uc_mcontext.gregs[REG_EFL])
+#define SC_EFLAGS(sc) SC_REG(sc, reg_EFL)
 #elif defined(__NetBSD__)
 #define SC_EFLAGS(sc) ((sc)->uc_mcontext.__gregs[_REG_EFL])
 #elif defined(SOLARIS)