bits/signal.h: add register names for x86(_64)
[musl] / arch / x86_64 / bits / signal.h
index 38f3bc4..069c6c3 100644 (file)
@@ -2,7 +2,8 @@
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-struct _fpstate {
+typedef long long greg_t, gregset_t[23];
+typedef struct _fpstate {
        unsigned short cwd, swd, ftw, fop;
        unsigned long long rip, rdp;
        unsigned mxcsr, mxcr_mask;
@@ -13,7 +14,7 @@ struct _fpstate {
                unsigned element[4];
        } _xmm[16];
        unsigned padding[24];
-};
+} *fpregset_t;
 struct sigcontext {
        unsigned long r8, r9, r10, r11, r12, r13, r14, r15;
        unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
@@ -23,8 +24,8 @@ struct sigcontext {
        unsigned long __reserved1[8];
 };
 typedef struct {
-       unsigned long long gregs[23];
-       struct _fpstate *fpregs;
+       gregset_t gregs;
+       fpregset_t fpregs;
        unsigned long long __reserved1[8];
 } mcontext_t;
 #else
@@ -51,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
@@ -88,3 +113,4 @@ typedef struct __ucontext {
 #define SIGUNUSED SIGSYS
 
 #define _NSIG 65
+