bits/signal.h: add register names for x86(_64)
authorrofl0r <retnyg@gmx.net>
Thu, 6 Dec 2012 17:14:45 +0000 (18:14 +0100)
committerrofl0r <retnyg@gmx.net>
Thu, 6 Dec 2012 17:14:49 +0000 (18:14 +0100)
glibc exposes them from ucontext.h.
since that header includes signal.h, it is safe to put them
into bits/signal.h, if _GNU_SOURCE is defined.

arch/i386/bits/signal.h
arch/x86_64/bits/signal.h

index 29455ae..2943756 100644 (file)
@@ -49,6 +49,26 @@ typedef struct __ucontext {
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
+#define REG_GS         0
+#define REG_FS         1
+#define REG_ES         2
+#define REG_DS         3
+#define REG_EDI                4
+#define REG_ESI                5
+#define REG_EBP                6
+#define REG_ESP                7
+#define REG_EBX                8
+#define REG_EDX                9
+#define REG_ECX                10
+#define REG_EAX                11
+#define REG_TRAPNO     12
+#define REG_ERR                13
+#define REG_EIP                14
+#define REG_CS         15
+#define REG_EFL                16
+#define REG_UESP       17
+#define REG_SS         18
+
 #endif
 
 #define SIGHUP    1
@@ -86,3 +106,4 @@ typedef struct __ucontext {
 #define SIGUNUSED SIGSYS
 
 #define _NSIG 65
+
index 9043aea..069c6c3 100644 (file)
@@ -52,6 +52,30 @@ typedef struct __ucontext {
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
+#define REG_R8         0
+#define REG_R9         1
+#define REG_R10                2
+#define REG_R11                3
+#define REG_R12                4
+#define REG_R13                5
+#define REG_R14                6
+#define REG_R15                7
+#define REG_RDI                8
+#define REG_RSI                9
+#define REG_RBP                10
+#define REG_RBX                11
+#define REG_RDX                12
+#define REG_RAX                13
+#define REG_RCX                14
+#define REG_RSP                15
+#define REG_RIP                16
+#define REG_EFL                17
+#define REG_CSGFS      18
+#define REG_ERR                19
+#define REG_TRAPNO     20
+#define REG_OLDMASK    21
+#define REG_CR2                22
+
 #endif
 
 #define SIGHUP    1
@@ -89,3 +113,4 @@ typedef struct __ucontext {
 #define SIGUNUSED SIGSYS
 
 #define _NSIG 65
+