diff --git a/libc/include/sys/ucontext.h b/libc/include/sys/ucontext.h index 399458ebe..9e3c6530d 100644 --- a/libc/include/sys/ucontext.h +++ b/libc/include/sys/ucontext.h @@ -82,12 +82,6 @@ typedef struct ucontext { #define NGREG 34 /* x0..x30 + sp + pc + pstate */ typedef unsigned long greg_t; typedef greg_t gregset_t[NGREG]; - -struct user_fpsimd_struct { - long double vregs[32]; - uint32_t fpsr; - uint32_t fpcr; -}; typedef struct user_fpsimd_struct fpregset_t; #include diff --git a/libc/include/sys/user.h b/libc/include/sys/user.h index ce4c07cb5..3312981d3 100644 --- a/libc/include/sys/user.h +++ b/libc/include/sys/user.h @@ -232,7 +232,17 @@ struct user { #elif defined(__aarch64__) -// There are no user structures for 64 bit arm. +struct user_regs_struct { + uint64_t regs[31]; + uint64_t sp; + uint64_t pc; + uint64_t pstate; +}; +struct user_fpsimd_struct { + __uint128_t vregs[32]; + uint32_t fpsr; + uint32_t fpcr; +}; #else