|
@@ -6,47 +6,40 @@
|
|
# define SIGSTKSZ 8192
|
|
# define SIGSTKSZ 8192
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-/* gregs[0] holds the program counter. */
|
|
|
|
-
|
|
|
|
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
|
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
|
typedef unsigned long greg_t;
|
|
typedef unsigned long greg_t;
|
|
typedef unsigned long gregset_t[32];
|
|
typedef unsigned long gregset_t[32];
|
|
|
|
+typedef union __riscv_mc_fp_state fpregset_t;
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+typedef unsigned long __riscv_mc_gp_state[32];
|
|
|
|
|
|
struct __riscv_mc_f_ext_state {
|
|
struct __riscv_mc_f_ext_state {
|
|
- unsigned int f[32];
|
|
|
|
- unsigned int fcsr;
|
|
|
|
|
|
+ unsigned int __f[32];
|
|
|
|
+ unsigned int __fcsr;
|
|
};
|
|
};
|
|
|
|
|
|
struct __riscv_mc_d_ext_state {
|
|
struct __riscv_mc_d_ext_state {
|
|
- unsigned long long f[32];
|
|
|
|
- unsigned int fcsr;
|
|
|
|
|
|
+ unsigned long long __f[32];
|
|
|
|
+ unsigned int __fcsr;
|
|
};
|
|
};
|
|
|
|
|
|
struct __riscv_mc_q_ext_state {
|
|
struct __riscv_mc_q_ext_state {
|
|
- unsigned long long f[64] __attribute__((aligned(16)));
|
|
|
|
- unsigned int fcsr;
|
|
|
|
- unsigned int reserved[3];
|
|
|
|
|
|
+ unsigned long long __f[64] __attribute__((aligned(16)));
|
|
|
|
+ unsigned int __fcsr;
|
|
|
|
+ unsigned int __reserved[3];
|
|
};
|
|
};
|
|
|
|
|
|
union __riscv_mc_fp_state {
|
|
union __riscv_mc_fp_state {
|
|
- struct __riscv_mc_f_ext_state f;
|
|
|
|
- struct __riscv_mc_d_ext_state d;
|
|
|
|
- struct __riscv_mc_q_ext_state q;
|
|
|
|
|
|
+ struct __riscv_mc_f_ext_state __f;
|
|
|
|
+ struct __riscv_mc_d_ext_state __d;
|
|
|
|
+ struct __riscv_mc_q_ext_state __q;
|
|
};
|
|
};
|
|
|
|
|
|
-typedef union __riscv_mc_fp_state fpregset_t;
|
|
|
|
-
|
|
|
|
-typedef struct sigcontext {
|
|
|
|
- gregset_t gregs;
|
|
|
|
- fpregset_t fpregs;
|
|
|
|
-} mcontext_t;
|
|
|
|
-
|
|
|
|
-#else
|
|
|
|
-typedef struct {
|
|
|
|
- unsigned long gregs[32];
|
|
|
|
- unsigned long long fpregs[66];
|
|
|
|
|
|
+typedef struct mcontext_t {
|
|
|
|
+ __riscv_mc_gp_state __gregs;
|
|
|
|
+ union __riscv_mc_fp_state __fpregs;
|
|
} mcontext_t;
|
|
} mcontext_t;
|
|
-#endif
|
|
|
|
|
|
|
|
struct sigaltstack {
|
|
struct sigaltstack {
|
|
void *ss_sp;
|
|
void *ss_sp;
|
|
@@ -54,10 +47,10 @@ struct sigaltstack {
|
|
size_t ss_size;
|
|
size_t ss_size;
|
|
};
|
|
};
|
|
|
|
|
|
-typedef struct __ucontext
|
|
|
|
|
|
+typedef struct ucontext_t
|
|
{
|
|
{
|
|
unsigned long uc_flags;
|
|
unsigned long uc_flags;
|
|
- struct __ucontext *uc_link;
|
|
|
|
|
|
+ struct ucontext_t *uc_link;
|
|
stack_t uc_stack;
|
|
stack_t uc_stack;
|
|
sigset_t uc_sigmask;
|
|
sigset_t uc_sigmask;
|
|
mcontext_t uc_mcontext;
|
|
mcontext_t uc_mcontext;
|