#
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 ...
|
#
0ee2ce67 |
| 08-Dec-2022 |
guenther <guenther@openbsd.org> |
_C_LABEL() and _ASM_LABEL() are no longer useful in the "everything is ELF" world. Eliminate use of them in landisk code.
ok deraadt@
|
#
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 ...
|
#
01422588 |
| 30-May-2016 |
guenther <guenther@openbsd.org> |
Consistently reference '_end' instead of 'end' in the brk/sbrk implementation
ok deraadt@
|
#
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@
|
#
3f373d41 |
| 10-Sep-2015 |
guenther <guenther@openbsd.org> |
Adds hidden _libc_FOO aliases for the system call stubs. Stop generating _brk and _sbrk symbols: they've already been hidden. Set the ELF symbol size on the syscall stubs. Give the __{min,cur}brk sym
Adds hidden _libc_FOO aliases for the system call stubs. Stop generating _brk and _sbrk symbols: they've already been hidden. Set the ELF symbol size on the syscall stubs. Give the __{min,cur}brk symbols a size and type, and hide more jump labels.
alpha, arm, m88k, sh, sparc, and vax assistance miod@ hppa assistance kettenis@ ok deraadt@ miod@
show more ...
|
#
b3b7ef2e |
| 26-Aug-2015 |
guenther <guenther@openbsd.org> |
Hide many (194!) symbols that nothing should be using. Delete exect(2); it wasn't portable across archs and nothing used it.
ports test build by naddy@ ok deraadt@ kettenis@
|
#
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 ...
|
#
cf252584 |
| 10-Oct-2006 |
miod <miod@openbsd.org> |
Preliminary userland bits for OpenBSD/landisk, many things coming from NetBSD.
|