History log of /openbsd-src/lib/libc/arch/sh/sys/tfork_thread.S (Results 1 – 6 of 6)
Revision Date Author Comments
# fc31befa 27-Mar-2024 miod <miod@openbsd.org>

When the syscall number has to be loaded from a pc-relative location,
abuse END macros to place the number at the end of the syscall wrapper
rather than in the middle of it, so that there is no need

When the syscall number has to be loaded from a pc-relative location,
abuse END macros to place the number at the end of the syscall wrapper
rather than in the middle of it, so that there is no need to branch
around it; this saves two instructions per syscall number >= 128.

While there, also tweak the error return (SET_ERRNO_AND_RETURN) to only
return a 64-bit value for lseek; this saves another instruction for
all other syscalls.

With input from guenther@; "Anything that makes the machine faster" deraadt@

show more ...


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


# 3e492f6e 02-Sep-2022 miod <miod@openbsd.org>

Use a shorter system call invocation template for system calls in the range
0-127, where immediate addressing can be used to load the system call number
in r0, rather than performing a memory load us

Use a shorter system call invocation template for system calls in the range
0-127, where immediate addressing can be used to load the system call number
in r0, rather than performing a memory load using pc-relative addressing.

No functional change, but rm(1) runs a couple cycles faster per file now.

show more ...


# 8908800c 18-May-2016 guenther <guenther@openbsd.org>

Save and restore 'gbr' register when enter/leaving the kernel, and use
it for the TCB pointer. Eliminate __cerror.

"looks good" kettenis@, testing and ok deraadt@


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