summaryrefslogtreecommitdiff
path: root/arch/powerpc/bits/signal.h
AgeCommit message (Collapse)AuthorLines
2019-10-19use struct pt_regs * rather than void * for powerpc[64] sigcontext regsRich Felker-1/+1
this is to match the kernel and glibc interfaces. here, struct pt_regs is an incomplete type, but that's harmless, and if it's completed by inclusion of another header then members of the struct pointed to by the regs member can be accessed directly without going through a cast or intermediate pointer object.
2016-07-03make brace placement in public header struct definitions consistentRich Felker-2/+1
placing the opening brace on the same line as the struct keyword/tag is the style I prefer and seems to be the prevailing practice in more recent additions. these changes were generated by the command: find include/ arch/*/bits -name '*.h' \ -exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} + and subsequently checked by hand to ensure that the regex did not pick up any false positives.
2015-03-18fix MINSIGSTKSZ values for archs with large signal contextsRich Felker-0/+5
the previous values (2k min and 8k default) were too small for some archs. aarch64 reserves 4k in the signal context for future extensions and requires about 4.5k total, and powerpc reportedly uses over 2k. the new minimums are chosen to fit the saved context and also allow a minimal signal handler to run. since the default (SIGSTKSZ) has always been 6k larger than the minimum, it is also increased to maintain the 6k usable by the signal handler. this happens to be able to store one pathname buffer and should be sufficient for calling any function in libc that doesn't involve conversion between floating point and decimal representations. x86 (both 32-bit and 64-bit variants) may also need a larger minimum (around 2.5k) in the future to support avx-512, but the values on these archs are left alone for now pending further analysis. the value for PTHREAD_STACK_MIN is not increased to match MINSIGSTKSZ at this time. this is so as not to preclude applications from using extremely small thread stacks when they know they will not be handling signals. unfortunately cancellation and multi-threaded set*id() use signals as an implementation detail and therefore require a stack large enough for a signal context, so applications which use extremely small thread stacks may still need to avoid using these features.
2014-03-18fix signal.h breakage from moving stack_t to arch-specific bitsRich Felker-6/+6
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.
2014-03-18move signal.h definition of stack_t to arch-specific bitsRich Felker-0/+6
it's different at least on mips. mips version will be fixed in a separate commit to show the change.
2013-03-23add deprecated SIGIOT alias for SIGABRTRich Felker-1/+1
reportedly some programs (e.g. showkeys in the kbd package) use it.
2012-11-25fixup mcontext stuff to expost gregset_t/fpregset_t as appropriateRich Felker-1/+1
2012-11-23fix powerpc ucontext, again..Rich Felker-5/+0
it should now really match the kernel. some of the removed padding corresponded to the difference between user and kernel sigset_t. the space at the end was redundant with the uc_mcontext member and seems to have been added as a result of misunderstanding glibc's definition versus the kernel's.
2012-11-23remove stuff that doesn't belong in powerpc 32-bit sigcontextRich Felker-4/+0
these fields were wrongly copied from the kernel's ppc64 struct def
2012-11-21more ppc signal.h typedef order fixesRich Felker-13/+13
2012-11-21fix misordered typedefs in ppc signal.hRich Felker-2/+2
2012-11-21add back NSIG, removed from powerpc in last commit, but for all archsRich Felker-0/+2
unlike the previous definition, NSIG/_NSIG is supposed to be one more than the highest signal number. adding this will allow simplifying libc-internal code that makes signal-related syscalls, which can be done as a later step. some apps might use it too; while this usage is questionable, it's at least not insane.
2012-11-21make powerpc signal.h namespace-clean for posix/isocRich Felker-19/+32
also handle the non-GNUC case where alignment attribute is not available by simply omitting it. this will not cause problems except for inclusion of mcontex_t/ucontext_t in application-defined structures, since the natural alignment of the uc_mcontext member relative to the start of ucontext_t is already correct. and shame on whoever designed this for making it impossible to satisfy the ABI requirements without GNUC extensions.
2012-11-21fix invalid usage of mcontext_t in powerpc signal.hrofl0r-1/+1
2012-11-13PPC port cleaned up, static linking works well now.rofl0r-0/+103