*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: pinsyscalls | Section: 2 | Source: OpenBSD | File: pinsyscalls.2
PINSYSCALLS(2) FreeBSD System Calls Manual PINSYSCALLS(2) NAME pinsyscalls - pin system call entry to precise locations in the address space SYNOPSIS #include <sys/types.h> int pinsyscalls(void *start, size_t len, u_int *pintable, int npins); DESCRIPTION The pinsyscalls() system call specifies the start to start + len address space range where the system call entry instructions are found, and a npins-sized array of u_int entries (indexed by the system call number) which are offsets from the start. This provides the precise location for the system call instruction required for each system call number. Attempting to use a different system call entry instruction to perform a non-corresponding system call operation will fail with signal SIGABRT. pinsyscalls() is only called by the shared library linker ld.so(1) to tell the kernel where the text / executable region containing system calls is found in the dynamic library libc.so (the filename is actually /usr/lib/libc.so.major.minor). This has to happen before additional threads are created. A similar setup operation is done automatically by the kernel for the system calls found in ld.so(1) and in static executables. RETURN VALUES Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS pinsyscalls() will fail if: [E2BIG] Implausible number of system calls provided. [ENOMEM] Insufficient memory to service the request. [EPERM] A static binary tried to call pinsyscalls(), or it was called a second time. [EPERM] Process is multi-threaded. [ERANGE] At least one system call offset is beyond the bounds of len. HISTORY The pinsyscalls() system call first appeared in OpenBSD 7.5. FreeBSD 14.1-RELEASE-p8 April 6, 2025 FreeBSD 14.1-RELEASE-p8

Navigation Options