diff options
Diffstat (limited to 'libc/include/sys/ucontext.h')
-rw-r--r-- | libc/include/sys/ucontext.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/libc/include/sys/ucontext.h b/libc/include/sys/ucontext.h index dd2a0bb..b68d704 100644 --- a/libc/include/sys/ucontext.h +++ b/libc/include/sys/ucontext.h @@ -180,6 +180,25 @@ typedef struct fpregset { } fp_r; } fpregset_t; +#ifdef __LP64__ +typedef struct { + gregset_t gregs; + fpregset_t fpregs; + greg_t mdhi; + greg_t hi1; + greg_t hi2; + greg_t hi3; + greg_t mdlo; + greg_t lo1; + greg_t lo2; + greg_t lo3; + greg_t pc; + uint32_t fpc_csr; + uint32_t used_math; + uint32_t dsp; + uint32_t reserved; +} mcontext_t; +#else typedef struct { unsigned regmask; unsigned status; @@ -200,6 +219,7 @@ typedef struct { unsigned long hi3; unsigned long lo3; } mcontext_t; +#endif typedef struct ucontext { unsigned long uc_flags; @@ -209,10 +229,6 @@ typedef struct ucontext { sigset_t uc_sigmask; } ucontext_t; -#elif defined(__mips64__) - -#error TODO - #elif defined(__x86_64__) enum { |