#
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 ...
|
Revision tags: release/13.3.0 |
|
#
304cdac7 |
| 29-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,sys}: expose _getlogin consistently
Historically we exposed _getlogin as a private symbol on a per-arch basis (except on aarch64 and riscv) for no obvious reason. We now need to expose it for
lib{c,sys}: expose _getlogin consistently
Historically we exposed _getlogin as a private symbol on a per-arch basis (except on aarch64 and riscv) for no obvious reason. We now need to expose it for libc's use so remove the special case from makesyscalls.lua and expose it in the generated syscalls.map.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44116
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 ...
|
#
c7045186 |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: centralize a few numeric symbols
fabs, __infinity, and __nan are universally implemented so declare them in gen/Symbol.map.
We would also include __flt_rounds, but it's under FBSD_1.3 on arm
libc: centralize a few numeric symbols
fabs, __infinity, and __nan are universally implemented so declare them in gen/Symbol.map.
We would also include __flt_rounds, but it's under FBSD_1.3 on arm so until that's gone we're stuck with it. Likewise, everyone but i386 implements fp[gs]etmask.
Reviewed by: imp, kib, emaste Differential Revision: https://reviews.freebsd.org/D42618
show more ...
|
#
5d79b544 |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: centralize makecontext symbols
Declare makecontext() and __makecontext() symbols centrally as they are always implemented.
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd
libc: centralize makecontext symbols
Declare makecontext() and __makecontext() symbols centrally as they are always implemented.
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D42617
show more ...
|
#
1c656143 |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: centralize {_,sig,}{set,long}jmp symbols
These symbols are universally exposed and documented so declare them centrally. Double- and triple-underscore versions exist on some platforms, but le
libc: centralize {_,sig,}{set,long}jmp symbols
These symbols are universally exposed and documented so declare them centrally. Double- and triple-underscore versions exist on some platforms, but leave those alone for now.
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D42616
show more ...
|
#
ff3a9d8e |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: centralize ntoh symbols
These are implemented by net/ntoh.c via headers and compiler intrinsics so declare them in net/Symbol.map.
Reviewed by: imp, kib, emaste Differential Revision: https:/
libc: centralize ntoh symbols
These are implemented by net/ntoh.c via headers and compiler intrinsics so declare them in net/Symbol.map.
Reviewed by: imp, kib, emaste Differential Revision: https://reviews.freebsd.org/D42615
show more ...
|
#
e4a1800f |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: further centralize syscall symbols
All architectures necessarily implement _exit(2) and vfork(2) so declare them in sys/Symbol.map.
Reviewed by: imp, kib, emaste Differential Revision: https:
libc: further centralize syscall symbols
All architectures necessarily implement _exit(2) and vfork(2) so declare them in sys/Symbol.map.
Reviewed by: imp, kib, emaste Differential Revision: https://reviews.freebsd.org/D42614
show more ...
|
#
1ca63a82 |
| 15-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: Remove empty comments in Symbol.map
These were left over from $FreeBSD$ removal.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D42612
|
Revision tags: release/14.0.0 |
|
#
42b38843 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
ae67737a |
| 09-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
libc: Remove _get_tp() and _set_tp().
Their uses have been replaced by _tcb_get() and _tcb_set() from <machine/tls.h>.
Reviewed by: kib, jrtc27 Sponsored by: The University of Cambridge, Google Inc
libc: Remove _get_tp() and _set_tp().
Their uses have been replaced by _tcb_get() and _tcb_set() from <machine/tls.h>.
Reviewed by: kib, jrtc27 Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33354
show more ...
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0 |
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
db19a093 |
| 05-Dec-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove MD __sys_* private symbols.
No references to any of these exist in the tree. The list was also erratic with different architectures exporting different things (arm64 and riscv exported none).
Remove MD __sys_* private symbols.
No references to any of these exist in the tree. The list was also erratic with different architectures exporting different things (arm64 and riscv exported none).
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18425
show more ...
|
Revision tags: release/11.2.0 |
|
#
9f9c9b22 |
| 04-Jun-2018 |
Mark Johnston <markj@FreeBSD.org> |
Reimplement brk() and sbrk() to avoid the use of _end.
Previously, libc.so would initialize its notion of the break address using _end, a special symbol emitted by the static linker following the bs
Reimplement brk() and sbrk() to avoid the use of _end.
Previously, libc.so would initialize its notion of the break address using _end, a special symbol emitted by the static linker following the bss section. Compatibility issues between lld and ld.bfd could cause the wrong definition of _end (libc.so's definition rather than that of the executable) to be used, breaking the brk()/sbrk() interface.
Avoid this problem and future interoperability issues by simply not relying on _end. Instead, modify the break() system call to return the kernel's view of the current break address, and have libc initialize its state using an extra syscall upon the first use of the interface. As a side effect, this appears to fix brk()/sbrk() usage in executables run with rtld direct exec, since the kernel and libc.so no longer maintain separate views of the process' break address.
PR: 228574 Reviewed by: kib (previous version) MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D15663
show more ...
|
#
87385baf |
| 12-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Replace MD assembly exect() with a portable version.
Originally, on the VAX exect() enable tracing once the new executable image was loaded. This was possible because tracing was controllable throu
Replace MD assembly exect() with a portable version.
Originally, on the VAX exect() enable tracing once the new executable image was loaded. This was possible because tracing was controllable through user space code by setting the PSL_T flag. The following instruction is a system call that activated tracing (as all instructions do) by copying PSL_T to PSL_TP (trace pending). The first instruction of the new executable image would trigger a trace fault.
This is not portable to all platforms and the behavior was replaced with ptrace(PT_TRACE_ME, ...) since FreeBSD forked off of the CSRG repository. Platforms either incorrectly call execve(), trigger trace faults inside the original executable, or do contain an implementation of this function.
The exect() interfaces is deprecated or removed on NetBSD and OpenBSD.
Submitted by: Ali Mashtizadeh <ali@mashtizadeh.com> Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D14989
show more ...
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
#
d6084013 |
| 05-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
a38e4f5c |
| 30-Mar-2016 |
Ed Maste <emaste@FreeBSD.org> |
libc: stop exporting cerror
i386 stopped exporting .cerror in r240152, and likewise for amd64 in r240178. It is not used by other libraries on any platform, so apply the same change to the remaining
libc: stop exporting cerror
i386 stopped exporting .cerror in r240152, and likewise for amd64 in r240178. It is not used by other libraries on any platform, so apply the same change to the remaining architectures.
Reviewed by: jhibbits, jilles Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5774
show more ...
|
Revision tags: release/10.3.0 |
|
#
dae2d550 |
| 24-Mar-2016 |
Ed Maste <emaste@FreeBSD.org> |
libc: stop exporting curbrk and minbrk in the private namespace
They are not used anywhere else in the base system and are an internal implementation detail that does not need to be exposed.
Review
libc: stop exporting curbrk and minbrk in the private namespace
They are not used anywhere else in the base system and are an internal implementation detail that does not need to be exposed.
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5728
show more ...
|
Revision tags: release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0 |
|
#
8fa0b743 |
| 23-Jan-2012 |
Xin LI <delphij@FreeBSD.org> |
IFC @230489 (pending review).
|
Revision tags: release/9.0.0 |
|
#
70d8f36a |
| 27-Oct-2011 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r226824
|
#
6232589a |
| 21-Oct-2011 |
David Schultz <das@FreeBSD.org> |
Replace a proliferation of buggy MD implementations of modf() with a working MI one. The MI one only needs to be overridden on machines with non-IEEE754 arithmetic. (The last supported one was the
Replace a proliferation of buggy MD implementations of modf() with a working MI one. The MI one only needs to be overridden on machines with non-IEEE754 arithmetic. (The last supported one was the VAX.) It can also be overridden if someone comes up with a faster one that actually passes the regression tests -- but this is harder than it sounds.
show more ...
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0 |
|
#
840b91cc |
| 10-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Provide 64-bit PowerPC support in libc.
Obtained from: projects/ppc64
|