in the previous changes, I missed the fact that both the prototype of the sigaltstack function and the definition of ucontext_t depend on stack_t.
@@ -18,6 +18,12 @@ typedef struct {
} mcontext_t;
#endif
+struct sigaltstack {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+};
+
typedef struct __ucontext {
unsigned long uc_flags;
struct __ucontext *uc_link;
@@ -27,12 +33,6 @@ typedef struct __ucontext {
unsigned long long uc_regspace[64];
} ucontext_t;
-typedef struct sigaltstack {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-} stack_t;
-
#define SA_NOCLDSTOP 1
#define SA_NOCLDWAIT 2
#define SA_SIGINFO 4
@@ -53,6 +53,12 @@ typedef struct {
@@ -62,12 +68,6 @@ typedef struct __ucontext {
unsigned long __fpregs_mem[28];
@@ -21,6 +21,12 @@ typedef struct {
@@ -29,12 +35,6 @@ typedef struct __ucontext {
sigset_t uc_sigmask;
@@ -38,6 +38,12 @@ typedef struct {
@@ -46,12 +52,6 @@ typedef struct __ucontext {
#define SA_NOCLDWAIT 0x10000
#define SA_SIGINFO 8
@@ -49,6 +49,12 @@ typedef struct {
@@ -60,12 +66,6 @@ typedef struct __ucontext {
mcontext_t uc_mcontext;
#define SA_NOCLDSTOP 1U
#define SA_NOCLDWAIT 2U
#define SA_SIGINFO 4U
@@ -19,6 +19,12 @@ typedef struct {
@@ -60,6 +60,12 @@ typedef struct {
@@ -69,12 +75,6 @@ typedef struct __ucontext {
unsigned long long __fpregs_mem[64];
unsigned long __fpregs_mem[64];
@@ -77,6 +77,8 @@ extern "C" {
#define CLD_STOPPED 5
#define CLD_CONTINUED 6
+typedef struct sigaltstack stack_t;
union sigval {
int sival_int;
void *sival_ptr;