History log of /openbsd/lib/libc/hidden/unistd.h (Results 1 – 13 of 13)
Revision Date Author Comments
# cafeb892 12-Dec-2023 deraadt <deraadt@openbsd.org>

remove support for syscall(2) -- the "indirection system call" because
it is a dangerous alternative entry point for all system calls, and thus
incompatible with the precision system call entry point

remove support for syscall(2) -- the "indirection system call" because
it is a dangerous alternative entry point for all system calls, and thus
incompatible with the precision system call entry point scheme we are
heading towards. This has been a 3-year mission:
First perl needed a code-generated wrapper to fake syscall(2) as a giant
switch table, then all the ports were cleaned with relatively minor fixes,
except for "go". "go" required two fixes -- 1) a framework issue with
old library versions, and 2) like perl, a fake syscall(2) wrapper to
handle ioctl(2) and sysctl(2) because "syscall(SYS_ioctl" occurs all over
the place in the "go" ecosystem because the "go developers" are plan9-loving
unix-hating folk who tried to build an ecosystem without allowing "ioctl".
ok kettenis, jsing, afresh1, sthen

show more ...


# 170ca6cd 18-May-2023 guenther <guenther@openbsd.org>

Add PROTO_NORMAL() declarations for the remaining syscalls, to avoid
future, inadvertant PLT entries. Move the __getcwd and __realpath
declarations to hidden/{stdlib,unistd}.h to consolidate and rem

Add PROTO_NORMAL() declarations for the remaining syscalls, to avoid
future, inadvertant PLT entries. Move the __getcwd and __realpath
declarations to hidden/{stdlib,unistd}.h to consolidate and remove
duplication.

ok tb@ otto@ deraadt@

show more ...


# 8b23add8 13-Jul-2018 beck <beck@openbsd.org>

Unveiling unveil(2).
This brings unveil into the tree, disabled by default - Currently
this will return EPERM on all attempts to use it until we are
fully certain it is ready for people to start usin

Unveiling unveil(2).
This brings unveil into the tree, disabled by default - Currently
this will return EPERM on all attempts to use it until we are
fully certain it is ready for people to start using, but this
now allows for others to do more tweaking and experimentation.

Still needs to send the unveil's across forks and execs before
fully enabling.

Many thanks to robert@ and deraadt@ for extensive testing.
ok deraadt@

show more ...


# 9e9a60b0 12-Sep-2016 guenther <guenther@openbsd.org>

Don't declare select() in <unistd.h>

ok deraadt@ millert@


# df1557eb 23-May-2016 guenther <guenther@openbsd.org>

Remove iruserok(_sa)? and __ivaliduser(sa)?

ok millert@ 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 ...


# d598eb07 30-Mar-2016 guenther <guenther@openbsd.org>

Eliminate userspace caching by getlogin_r/setlogin; make the getlogin
syscall behave exactly like userspace getlogin_r() and rename it to
match. Eliminate the reduced-to-no-op wrappers of the syscal

Eliminate userspace caching by getlogin_r/setlogin; make the getlogin
syscall behave exactly like userspace getlogin_r() and rename it to
match. Eliminate the reduced-to-no-op wrappers of the syscalls.
Eliminate the unnecessary per-thread static buffering by getlogin().

ok kettenis@ deraadt@

show more ...


# 5af055cd 20-Mar-2016 guenther <guenther@openbsd.org>

Rearrange C runtime bits: now that ld.so exports environ and __progname,
move their definitions and initialization in static links to libc.a
Make crt0 always invoke a new func _csu_finish() in libc t

Rearrange C runtime bits: now that ld.so exports environ and __progname,
move their definitions and initialization in static links to libc.a
Make crt0 always invoke a new func _csu_finish() in libc to process the auxv
and to either register the ld.so cleanup function (in dynamic links) or
initialize environ and __progname and do MC_DISABLE_KBIND (in static links).
In libc, get pagesize from auxv; cache that between getpagesize() and
sysconf(_SC_PAGESIZE)

ok mpi@ "good time" deraadt@

show more ...


# f7054341 17-Oct-2015 deraadt <deraadt@openbsd.org>

PROTO_NORMAL for pledge(); ok guenther


# 0d943ef0 13-Sep-2015 guenther <guenther@openbsd.org>

Wrap <stdlib.h> so that calls go direct and the symbols not in the
C standard are all weak.
Apply __{BEGIN,END}_HIDDEN_DECLS to gdtoa{,imp}.h, hiding the
arch-specific __strtorx, __ULtox_D2A, __strto

Wrap <stdlib.h> so that calls go direct and the symbols not in the
C standard are all weak.
Apply __{BEGIN,END}_HIDDEN_DECLS to gdtoa{,imp}.h, hiding the
arch-specific __strtorx, __ULtox_D2A, __strtorQ, __ULtoQ_D2A symbols.

show more ...


# 0e3c6306 12-Sep-2015 guenther <guenther@openbsd.org>

Wrap <unistd.h> so that internal calls go direct and they're all weak symbols
Delete unused 'fd' argument from internal function oldttyname()


# 15a0f535 11-Sep-2015 guenther <guenther@openbsd.org>

Add PROTO_WRAP() for (almost) all the syscalls that libpthread doesn't
override so that internal calls go direct

ok deraadt@


# b33a8d55 11-Sep-2015 guenther <guenther@openbsd.org>

Use PROTO_NORMAL() on __syscall to go direct, adjusting the declaration
to eliminate some casts.
Retire some uses of old-style STUB* macros where superseded by namespace.h bits

tweaks and ok deraadt@