X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=arch%2Fpowerpc%2Fbits%2Fsignal.h;h=e66da6d4e1d20428d3914c4a659459294b6b4296;hp=d633694dcc7151f6c4462a2ecb158ef33e62f583;hb=4860db9f5452f442833366a475910e34f117b579;hpb=c6d441e3a246370d9c459396ec22b096db93850e diff --git a/arch/powerpc/bits/signal.h b/arch/powerpc/bits/signal.h index d633694d..e66da6d4 100644 --- a/arch/powerpc/bits/signal.h +++ b/arch/powerpc/bits/signal.h @@ -1,6 +1,8 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + typedef unsigned long gregset_t[48]; typedef struct { @@ -16,18 +18,47 @@ typedef struct { unsigned vscr; } vrregset_t; +struct sigcontext +{ + unsigned long _unused[4]; + int signal; + unsigned long handler; + unsigned long oldmask; + void *regs; + gregset_t gp_regs; + fpregset_t fp_regs; + vrregset_t *v_regs; + long vmx_reserve[33+33+32+1]; /* 33=34 for ppc64 */ +}; + typedef struct { gregset_t gregs; fpregset_t fpregs; - vrregset_t vrregs __attribute__((__aligned__(16))); + vrregset_t vrregs +#ifdef __GNUC__ + __attribute__((__aligned__(16))) +#endif + ; +} mcontext_t; + +#else + +typedef struct { + long __regs[48+68+4*32+4] +#ifdef __GNUC__ + __attribute__((__aligned__(16))) +#endif + ; } mcontext_t; +#endif + typedef struct __ucontext { unsigned long uc_flags; struct __ucontext *uc_link; stack_t uc_stack; int uc_pad[7]; - struct mcontext_t *uc_regs; + mcontext_t *uc_regs; sigset_t uc_sigmask; @@ -47,24 +78,6 @@ typedef struct __ucontext { #define SA_RESETHAND 0x80000000U #define SA_RESTORER 0x04000000U -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) - -struct sigcontext -{ - unsigned long _unused[4]; - int signal; - unsigned long handler; - unsigned long oldmask; - void *regs; /* originally struct pt_regs _user *regs, - pt_regs is defined in arch/powerpc/include/asm/ptrace.h */ - gregset_t gp_regs; - fpregset_t fp_regs; - vrregset_t *v_regs; - long vmx_reserve[33+33+32+1]; /* 33=34 for ppc64 */ -}; -#define NSIG 64 -#endif - #endif #define SIGHUP 1 @@ -101,3 +114,5 @@ struct sigcontext #define SIGPWR 30 #define SIGSYS 31 #define SIGUNUSED SIGSYS + +#define _NSIG 65