#
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
|
#
d7847a8d |
|
13-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,sys}: return wrapped syscall APIs to libc These provide standard APIs, but are implemented using another system call (e.g., pipe implemented in terms of pipe2) or are interposed by the threading library to support cancelation. After discussion with kib (see D44111), I've concluded that it is better to keep most public interfaces in libc with as little as possible in libsys. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44241
|
#
f7dbbbd1 |
|
13-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: don't expose sigwait wrapper Long ago (e129c18a83ef) __sys_sigwait was wrapped to prevent sigwait() from returning with EINTR. Through a series of changes this wrapper become __libc_sigwait which was internal to libc and used solely in the interposing table. To support a move of sigwait back to libc, move this wrapper into libsys and rename it with an __libsys_ prefix. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44238
|
#
269593dc |
|
06-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys/aarch64: end syscall stubs with newlines Technically speaking, POSIX text files must end with a newline. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44231
|
#
6d3f4dcd |
|
29-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: make PSEUDO take a bare syscall name Rather than having PSEUDO be a list of object files when all consumers want syscall names or source files, make it a list of bare syscall names like INTERPOSED (which is built on PSEUDO). Improve document of variables developers can set. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44108
|
#
f102db50 |
|
29-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: consolidate PSEUDO definitions Consolidate in preparation for further cleanup. Also relocate the sole NOASM entry. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44107
|
#
e52a9177 |
|
29-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: reduce makefile declaration duplication Every PSEUDO entry (_foo.o) has a corresponding NOASM entry (foo.o) to suppress its addition to ASM. Check PSEUDO instead when adding entries to ASM. No functional change. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44106
|
#
7d233b22 |
|
23-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
libsys: fix sleep(3)/usleep(3) cancel behavior Move functions back to libc/gen sources; they are only versioned from libc and not libsys. Access libsys interposing slots using __libsys_interposing_slot() instead of direct __libsys_interposing array dereference, which cannot work from libc. Reported by: glebius Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D44042
|
#
8271d9b9 |
|
20-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
libsys: remove usage of pthread_once and _once_stub that existed in auxv.c, use simple bool gate instead. This leaves a small window if two threads try to call _elf_aux_info(3) simultaneously. The situation is safe because auxv parsing is really idempotent. The parsed data is the same, and we store atomic types (int/long/ptr) so double-init does not matter. 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
|
#
a52cb4c4 |
|
03-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
Document aio_read2/aio_write2 Reviewed by: jhb Discussed with: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43448
|
#
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
|
#
86deddfa |
|
21-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: generate private symbol map We now export all _ and __sys_ prefixed syscalls stubs from libc and libsys so that libsys can replace them. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
10f1b536 |
|
17-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: move __getosreldate to libsys Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
f70c5a09 |
|
17-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: move getpagesize(s) to libsys Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
4c33415e |
|
15-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: elf auxiliary vector handling to libsys This is part of the interface to the kernel and some syscall wrappers depend on it so move it there. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
81245a77 |
|
21-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: compile _once in libsys auxv support requires _once(), but we don't want the libsys version stomping on the libc version should they diverge in the future. We could rename it entierly, but for now just hook it in via Makefile.sys. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
1e2502bf |
|
15-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: move MD sys related symbols to libsys This is a mix genuine MD interfaces and compat symbols like _getlogin. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
cdecda8d |
|
15-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: move rfork_thread(3) to libsys rfork_thread(3) is assembly that makes syscalls directly and uses cerror so it belongs in libsys. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
31a46e2c |
|
14-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: Move per-arch sys/Makefile.inc to libsys libc/<arch>/sys/Makefile.inc -> libsys/<arch>/Makefile.sys. Require that libsys/<arch>/Makefile.sys exist. At least for current archtiectures, it's not possible for an architecture to not have and MD syscall bits. powerpcspe/Makefile.sys's structure means it had to be modified when moved so rename detection won't work, but it has trivial contents so the history is unimportant. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
19149b03 |
|
14-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: remove .PATH refs to libc/<arch>/sys There are no longer any source files here so remove references. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
29d079c9 |
|
16-Jan-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: move __libsys_interposer consumers These system call wrappers call interposed system calls in fairly trivial ways. Move them over to libsys so all __libsys_interposer consumers end up in libsys. Also move recvmmsg and sendmmsg as they are documented with recv and send. Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
#
8f529310 |
|
14-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: libc/sys/Makefile.inc -> libsys/Makefile.sys Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|