History log of /freebsd-current/lib/libsys/Makefile
Revision Date Author Comments
# 74484086 22-Apr-2024 Brooks Davis <brooks@FreeBSD.org>

Make __libsys_interposing_slot libsys only

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D44881


# 1fd88074 16-Apr-2024 Brooks Davis <brooks@FreeBSD.org>

libsys: add a libsys.h

This declares an API for libsys which currently consists of
__sys_<foo>() declarations for system call stubs and function pointer
typedefs of the form __sys_<foo>_t. The vast majority of the
implementation resides in a generated _libsys.h which ensures that all
system call stub declarations match syscalls.master.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D44387


# c5698afc 23-Feb-2024 Brooks Davis <brooks@FreeBSD.org>

libsys: remove duplicate, commented out code


# baa7d074 22-Feb-2024 Konstantin Belousov <kib@FreeBSD.org>

libsys: link symbolic

so that libc/libthr do not preempt libsys symbols, esp. errno-related.

The issue is, if libsys is linked with DT_BIND_NOW flag, and then loaded
as filter, rtld tries to relocate its PLT symbols immediately, not as
filter. There, during symbol lookup, rtld finds filtering symbols in
libc, and since libc is in loading filters mode, the resolution stops
there. The end result is that libsys links to libc.

Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D44027


# 3668e1fa 20-Feb-2024 Konstantin Belousov <kib@FreeBSD.org>

libsys: disable ssp

Reviewed by: brooks, imp
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D43985


# af9758de 20-Feb-2024 Konstantin Belousov <kib@FreeBSD.org>

libsys: internalize memcpy, memset, and strlcpy

Reviewed by: brooks, imp
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D43985


# 99ea6757 19-Feb-2024 Brooks Davis <brooks@FreeBSD.org>

lib{c,sys}: move auxargs more firmly into libsys

Continue to filter the public interface (elf_aux_info()), but entierly
relocate the private interfaces (_elf_aux_info(),
__init_elf_aux_vector(), and __elf_aux_vector) to libsys.

This ensures that rtld updates the correct (only) copy of
__elf_aux_vector. After 968a18975adc9c2a619bb52aa2f009de99fc9e24
updates were confused and __getosreldate was failing, causing
the system to fall back to compat compat12 syscalls in some cases.

Return to explicitly linking libc to libsys and link libthr with libc
and libsys (in that order).

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D43910


# d5677b0b 08-Feb-2024 Brooks Davis <brooks@FreeBSD.org>

libsys: actually install manpages

In initial hacking I'd bluntly disabled manpage installation in libsys,
then later disabled them for libc, but forgot to fix the former leading
to no syscall manapages.

PR: 276887
Reported by: Martin Birgmeier <d8zNeCFG@aon.at>


# ef9871c6 17-Jan-2024 Brooks Davis <brooks@FreeBSD.org>

libthr: move _umtx_op_err() to libsys

Declare in sys/umtx.h and implement in libsys. Explicitly link libthr
with libsys.

When building libthr static include _umtx_op_err so we don't break static
linkage with -lpthread.

Reviewed by: kib, emaste, imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/908


# e9d96105 15-Nov-2023 Brooks Davis <brooks@FreeBSD.org>

libsys: plumb in to build

libsys provides the FreeBSD kernel interface (auxargs, system calls,
vdso). It can be linked directly for programs using a non-standard
libc and will later be linked as a filter library to libc providing
the actual system call implementation.

Reviewed by: kib, emaste, imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/908