summaryrefslogtreecommitdiffstats
path: root/lib/libc/hidden/signal.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move sigwait(3) from libpthread to libcjca2019-01-121-1/+2
| | | | | | | | POSIX wants it in libc, that's where the function can be found on other systems. Reported by naddy@, input from naddy@ and guenther@. "looks ok" guenther@, ok deraadt@ Note: riding the libc/libpthread major cranks earlier today.
* sigsetmask() and sigblock() are no longer used by any setjmp implementationguenther2016-09-261-3/+3
| | | | | so the internal hidden names are unused; switch to PROTO_DEPRECATED() and drop the DEF_WEAK()s
* Make sure attributes are applied to function declarations before they'reguenther2016-09-061-6/+18
| | | | | | | | used or defined, as clang isn't as forgiving as gcc. Also, declare __flt_rounds() so that libc can build it despire clang providing its own <float.h> ok stefan@ kettenis@
* Remove sigreturn declaration and the now-unused libc syscall stubguenther2016-05-091-2/+1
|
* Use a Thread Information Block in both single and multi-threaded programs.guenther2016-05-071-2/+5
| | | | | | | | | | | | | | | | | This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable! Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now! Clean up libpthread's symbol exports like libc. On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec. Testing by various, particularly sthen@ and patrick@ ok kettenis@
* Split the intra-thread functionality from kill(2) into its own syscallguenther2015-11-101-1/+2
| | | | | | | | | | | | thrkill(2), rolling the kill(2) syscall number with the ABI change to avoid breaking binaries during during the transition. thrkill(2) includes a 'tcb' argument that eliminates the need for locking in pthread_kill() and simplifies pthread_cancel(). Switch __stack_smash_handler() to use thrkill(2) and explicitly unblock SIGABRT. Minor bump to both libc and libpthread: make sure you install a new kernel! ok semarie@
* Use sigaction() instead of signal() to avoid pulling in unnecessaryguenther2015-10-251-2/+2
| | | | | | | wrappers. To keep uses from crawling back in, mark signal() as deprecated inside libc. ok deraadt@
* Merge the sigaction() and sigprocmask() overloads/wrappers from libpthreadguenther2015-10-231-5/+5
| | | | | | | | | into libc, and move pthread_sigmask() as well (just a trivial wrapper). This provides consistent handling of SIGTHR between single- and multi-threaded programs and is a step in the merge of all the libpthread overloads, providing some ASM and Makefile bits that the other wrappers will need. ok deraadt@ millert@
* Don't wrap initialized variables: binutils appears to be mishandling themguenther2015-09-191-1/+3
| | | | | | on arm and m88k problems with optind observed by jsg@
* Do provide hidden _libc_* aliases for sig{block,setmask} and use them inguenther2015-09-131-3/+3
| | | | | | | the ASM *setjmp implementations. Skip the PLT when calling them on amd64 (other archs to do this after testing) ok miod@
* Finish wrapping <signal.h> so that calls to the sigset ops go direct andguenther2015-09-121-4/+21
| | | | | everything but raise() and signal() are weak. No longer need _thread_sys_ prefix on getthrid()
* Add PROTO_WRAP() for (almost) all the syscalls that libpthread doesn'tguenther2015-09-111-1/+6
| | | | | | override so that internal calls go direct ok deraadt@
* Pull in namespace.h when building all .c files using gcc's -include option,guenther2015-09-101-2/+1
| | | | | | | | so that we can provide asm labels for the memcpy/memset/__stack_smash_handler calls that it generates ab initio. Eliminate direct #includes of it. Make sure it's a dependency of all objects (unnecessary for asm, but close enough). ok deraadt@
* Hide __sigintr and __strsignal as internal implementation details.guenther2015-09-091-1/+7
| | | | | | Delete the already hidden _signal alias too. ok deraadt@ millert@
* Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signameguenther2015-09-061-0/+27
to eliminate duplicate copies of the tables and get direct access internally ok kettenis@ deraadt@