Revision tags: vendor/llvm-project/llvmorg-18.1.5-0-g617a15a9eac9, vendor/NetBSD/bmake/20240430, vendor/libcbor/0.11.0 |
|
#
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
|
Revision tags: vendor/llvm-project/llvmorg-18.1.4-0-ge6c3289804a6, vendor/device-tree/6.8, vendor/device-tree/6.7, vendor/llvm-project/llvmorg-18.1.3-0-gc13b7485b879, vendor/device-tree/6.5, vendor/openssh/9.7p1, vendor/unbound/1.19.3, vendor/NetBSD/bmake/20240309 |
|
#
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 threadi
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
show more ...
|
#
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
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
show more ...
|
Revision tags: vendor/sqlite3/sqlite-3450100, vendor/llvm-project/llvmorg-18.1.1-0-gdba2a75e9c7e, vendor/got/diff/2023-09-15 |
|
#
269593dc |
| 07-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
|
Revision tags: release/13.3.0 |
|
#
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 INTE
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
show more ...
|
#
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.
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
show more ...
|
Revision tags: vendor/libucl/20240206, vendor/xz/5.6.0 |
|
#
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_s
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
show more ...
|
Revision tags: vendor/llvm-project/llvmorg-18.1.0-rc3-0-g6c90f8dd5463, vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 |
|
#
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 s
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
show more ...
|
Revision tags: vendor/arm-optimized-routines/v24.01 |
|
#
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
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
show more ...
|
Revision tags: vendor/zlib/1.3.1, vendor/expat/2.6.0, vendor/unbound/1.19.1, vendor/tzcode/tzcode2024a, vendor/llvm-project/llvmorg-18.1.0-rc2-0-gc6c86965d967 |
|
#
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
|
Revision tags: vendor/tzdata/tzdata2024a, vendor/sendmail/8.18.1, vendor/acpica/20230628, vendor/acpica/20230331, vendor/llvm-project/llvmorg-18-init-18361-g22683463740e, vendor/libcxxrt/2024-01-25-fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6, vendor/llvm-project/llvmorg-18-init-18359-g93248729cfae, vendor/sqlite3/sqlite-3450000, vendor/NetBSD/bmake/20240108, vendor/llvm-project/llvmorg-18-init-16864-g3b3ee1f53424, vendor/llvm-project/llvmorg-18-init-16595-g7c00a5be5cde, vendor/llvm-project/llvmorg-18-init-16003-gfc5f51cf5af4, vendor/bc/6.7.4, vendor/ena-com/2.7.0, vendor/llvm-project/llvmorg-18-init-15692-g007ed0dccd6a, vendor/tzdata/tzdata2023d, vendor/openssh/9.6p1, vendor/llvm-project/llvmorg-18-init-15088-gd14ee76181fb, vendor/llvm-project/llvmorg-18-init-14265-ga17671084db1, vendor/llvm-project/llvmorg-17.0.6-0-g6009708b4367, vendor/xz/5.4.5, vendor/llvm-project/llvmorg-17.0.5-0-g98bfdac5ce82 |
|
#
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
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
show more ...
|
#
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://
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
show more ...
|
#
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:
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
show more ...
|
#
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 fo
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
show more ...
|
#
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
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
show more ...
|
#
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
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
show more ...
|
#
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 n
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
show more ...
|
#
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 li
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
show more ...
|
#
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
|
Revision tags: vendor/llvm-project/llvmorg-18.1.5-0-g617a15a9eac9, vendor/NetBSD/bmake/20240430, vendor/libcbor/0.11.0 |
|
#
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
|
Revision tags: vendor/llvm-project/llvmorg-18.1.4-0-ge6c3289804a6, vendor/device-tree/6.8, vendor/device-tree/6.7, vendor/llvm-project/llvmorg-18.1.3-0-gc13b7485b879, vendor/device-tree/6.5, vendor/openssh/9.7p1, vendor/unbound/1.19.3, vendor/NetBSD/bmake/20240309 |
|
#
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 threadi
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
show more ...
|