summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/amd64/sys/tfork_thread.S (follow)
Commit message (Collapse)AuthorAgeFilesLines
* SYS___threxit cannot fail, but this integration looks like a gadget.deraadt2020-10-181-1/+2
| | | | | Put a hard-trap instruction after the syscall instruction. ok kettenis mortimer
* Mark top-level frame for new thread in both CFI and with zeroguenther2020-10-011-1/+9
| | | | | | framepointer, so gdb knows to stop. Inspired by glibc ok kettenis@
* Apply retpoline protection to the indirect call to the thread startfuncguenther2019-05-101-2/+7
| | | | ok mortimer@
* Remove FBSDID.kevlo2019-03-151-4/+1
| | | | ok deraadt@
* Use a Thread Information Block in both single and multi-threaded programs.guenther2016-05-071-7/+3
| | | | | | | | | | | | | | | | | 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@
* Put END() matching ENTRY().uebayasi2015-06-011-1/+2
|
* Eliminate the last uses of *fork's second syscall return register; the pidguenther2015-04-211-3/+3
| | | | | | is zero in the child ok deraadt@ miod@
* Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure ccpascal2012-08-221-2/+2
| | | | | | | invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@
* __tfork() needs to set the stack address of the new thread in the kernel,guenther2012-06-211-5/+4
| | | | | | | | | so that it can't get a signal while still running on the parent thread's stack. Also, pass in sizeof(struct __tfork) to provide forward compat when more members are added. This is an ABI change, so switch syscall numbers and bump lib majors this time. ok deraadt@ matthew@
* Move __tfork_thread() from rthreads (libpthread) to libc so thatguenther2012-03-221-0/+94
it can be used for not-strictly-threading purposes ok matthew@ kurt@