History log of /openbsd-src/lib/libc/arch/amd64/sys/tfork_thread.S (Results 1 – 12 of 12)
Revision Date Author Comments
# 83762a71 10-Dec-2023 deraadt <deraadt@openbsd.org>

Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit

Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis

show more ...


# 39b8558c 11-Jan-2023 mortimer <mortimer@openbsd.org>

Add retguard to amd64 syscalls.

Since we got rid of padded syscalls we have enough registers to do this.

ok deraadt@ ok kettenis@


# 13df6982 18-Oct-2020 deraadt <deraadt@openbsd.org>

SYS___threxit cannot fail, but this integration looks like a gadget.
Put a hard-trap instruction after the syscall instruction.
ok kettenis mortimer


# 7e6b5442 01-Oct-2020 guenther <guenther@openbsd.org>

Mark top-level frame for new thread in both CFI and with zero
framepointer, so gdb knows to stop. Inspired by glibc

ok kettenis@


# 50634ea5 10-May-2019 guenther <guenther@openbsd.org>

Apply retpoline protection to the indirect call to the thread startfunc

ok mortimer@


# 075a6035 15-Mar-2019 kevlo <kevlo@openbsd.org>

Remove FBSDID.

ok deraadt@


# fe38b55c 07-May-2016 guenther <guenther@openbsd.org>

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an

Use a Thread Information Block in both single and multi-threaded programs.
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@

show more ...


# fdc9f3d7 01-Jun-2015 uebayasi <uebayasi@openbsd.org>

Put END() matching ENTRY().


# 11225f07 21-Apr-2015 guenther <guenther@openbsd.org>

Eliminate the last uses of *fork's second syscall return register; the pid
is zero in the child

ok deraadt@ miod@


# 32b97ded 22-Aug-2012 pascal <pascal@openbsd.org>

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
invocations. This allows us to use the compiler builtin define __PIC__ to check
for PIC/PIEness rather than passing -DPI

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
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@

show more ...


# 16b62b6a 21-Jun-2012 guenther <guenther@openbsd.org>

__tfork() needs to set the stack address of the new thread in the kernel,
so that it can't get a signal while still running on the parent thread's
stack. Also, pass in sizeof(struct __tfork) to prov

__tfork() needs to set the stack address of the new thread in the kernel,
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@

show more ...


# c6f64c6f 22-Mar-2012 guenther <guenther@openbsd.org>

Move __tfork_thread() from rthreads (libpthread) to libc so that
it can be used for not-strictly-threading purposes

ok matthew@ kurt@