#
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@
|