| #
8e6843db |
| 17-Jan-2026 |
Xin LI <delphij@FreeBSD.org> |
libc: drop NO_FP_LIBC support
NO_FP_LIBC was added in 2004 to save space by disabling FP support in *printf()/*scanf(). The size benefit is negligible on modern systems and conflicts with assumption
libc: drop NO_FP_LIBC support
NO_FP_LIBC was added in 2004 to save space by disabling FP support in *printf()/*scanf(). The size benefit is negligible on modern systems and conflicts with assumptions made by current base utilities.
Remove the option and always build libc with floating-point support.
Reported by: Oskar Holmlund <eovholmlund at gmail com> MFC after: 2 weeks
show more ...
|
|
Revision tags: release/15.0.0-p1, release/13.5.0-p8, release/14.3.0-p7, release/15.0.0, release/14.3.0-p6, release/13.5.0-p7 |
|
| #
6296500a |
| 18-Nov-2025 |
Robert Clausecker <fuz@FreeBSD.org> |
libc: implement C23 <stdbit.h> functions
This new header complies with ISO/IEC 9899:2024 (C23).
Contrary to glibc, we do not provide inline definitions in <stdbit.h> as we expect our system compile
libc: implement C23 <stdbit.h> functions
This new header complies with ISO/IEC 9899:2024 (C23).
Contrary to glibc, we do not provide inline definitions in <stdbit.h> as we expect our system compiler to soon recognise these as builtins anyway.
Relnotes: yes MFC after: 1 month Reviewed by: adrian Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D53657
show more ...
|
|
Revision tags: release/13.5.0-p6, release/14.3.0-p5, release/13.5.0-p5, release/14.2.0-p7, release/14.3.0-p4 |
|
| #
d518f64c |
| 29-Sep-2025 |
Robert Clausecker <fuz@FreeBSD.org> |
libc/resolv: get rid of MD5
MD5 is used by libc/resolv to generate a random sequence id from a current time stamp. Replace this convoluted mechanism with a call to arc4random(). This permits us to
libc/resolv: get rid of MD5
MD5 is used by libc/resolv to generate a random sequence id from a current time stamp. Replace this convoluted mechanism with a call to arc4random(). This permits us to entirely drop MD5 from libc, simplifying the MD5 rework proposed in D45670.
Approved by: markj Reviewed by: kevans, markj See also: D45670 Event: EuroBSDcon 2025 Differential Revision: https://reviews.freebsd.org/D52784
show more ...
|
|
Revision tags: release/14.3.0-p3, release/14.2.0-p6, release/13.5.0-p4, release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0, release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0, release/13.2.0, release/12.4.0, release/13.1.0 |
|
| #
e7a629c8 |
| 08-Mar-2022 |
Kyle Evans <kevans@FreeBSD.org> |
libmd, kern, stand: consolidate md5 implementations (NFC)
Reduce the number of md5c.c between the three of these from two to one by just reaching into the kernel build for both userland builds. The
libmd, kern, stand: consolidate md5 implementations (NFC)
Reduce the number of md5c.c between the three of these from two to one by just reaching into the kernel build for both userland builds. The precedent for this already exists for sha2 in both cases.
_libmd_ symbol privatization bits have been moved to sys/md5.h and md5.h remains to #include <sys/md5.h> for compatibility.
This stops exporting MD5Pad() in the process because the kernel stopped exporting it in 502a35d60f4c. soversion is bumped accordingly.
This also renames the libc version of stack_protector.c; it previously only worked by coincidence because .PATH ordering worked out such that we got the right one, but this is not the case anymore. Remove the landmine.
PR: 280784 (exp-run) Reviewed by: allanjude, delphij Differential Revision: https://reviews.freebsd.org/D34497
show more ...
|
| #
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
This is a residual of the $FreeBSD$ removal.
MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
|
| #
e5551250 |
| 13-May-2024 |
Kyle Evans <kevans@FreeBSD.org> |
Prepare the system for _FORTIFY_SOURCE
Notably: - libc needs to #undef some of the macros from ssp/* for underlying implementations - ssp/* wants a __RENAME() macro (snatched more or less from Net
Prepare the system for _FORTIFY_SOURCE
Notably: - libc needs to #undef some of the macros from ssp/* for underlying implementations - ssp/* wants a __RENAME() macro (snatched more or less from NetBSD)
There's some extra hinkiness included for read(), since libc spells it as "_read" while the rest of the world spells it "read."
Reviewed by: imp, ngie Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D32307
show more ...
|
| #
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 ...
|
| #
eb90239d |
| 19-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,thr}: add DT_RUNPATH for gcc -m32
To allow gcc -m32 to work, link libc and libthr with --rpath-/usr/lib32. When called with -m32, gcc is currently unable to communicate to the bfd linker that
lib{c,thr}: add DT_RUNPATH for gcc -m32
To allow gcc -m32 to work, link libc and libthr with --rpath-/usr/lib32. When called with -m32, gcc is currently unable to communicate to the bfd linker that it should look in /usr/lib32 to resolve needed (as opposed to explicitly linked) libraries so we need to provide a hint.
See also: https://sourceware.org/bugzilla/show_bug.cgi?id=31395
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43910
show more ...
|
| #
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 ...
|
| #
49076f37 |
| 07-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libc: don't directly link libsys
It is sufficent to add it as a filter.
Reported by: kib Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43781
|
| #
57ddfad8 |
| 07-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib/libc: version auxiliary libsys.so
We need to use libsys.so.7 so that we can work without /usr and because we're bound a specific ABI.
Reported by: jtrc27, kib Reviewed by: kib Differential Revi
lib/libc: version auxiliary libsys.so
We need to use libsys.so.7 so that we can work without /usr and because we're bound a specific ABI.
Reported by: jtrc27, kib Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43772
show more ...
|
| #
8d2e8f72 |
| 05-Jan-2024 |
Brooks Davis <brooks@FreeBSD.org> |
libc: make syscall stubs empty for shared lib
They are always replaced by libsys so just make them empty. In https://reviews.freebsd.org/D14609 x86 variants call abort2, but that requires per-arch
libc: make syscall stubs empty for shared lib
They are always replaced by libsys so just make them empty. In https://reviews.freebsd.org/D14609 x86 variants call abort2, but that requires per-arch assembly and should be of low value in the steady state.
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
show more ...
|
| #
0d4f7723 |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: link libsys as a auxiliary filter library
At runtime, when rtld loads libc it will also load libsys. For each symbol that is present in both, the libsys one will override the libc one. It co
libc: link libsys as a auxiliary filter library
At runtime, when rtld loads libc it will also load libsys. For each symbol that is present in both, the libsys one will override the libc one. It continues to be the case that program need only link against libc (usually implicitly). The linkage to libsys is automatic.
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 ...
|
| #
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
|
| #
8269e767 |
| 14-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: relocate implementations and manpages
Remove core system call implementations and documentation to lib/libsys and lib/libsys/<arch> from lib/libc/sys and lib/libc/<arch>/<sys>. Update paths
libsys: relocate implementations and manpages
Remove core system call implementations and documentation to lib/libsys and lib/libsys/<arch> from lib/libc/sys and lib/libc/<arch>/<sys>. Update paths to allow libc to find them in their new home.
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
show more ...
|
| #
dc36d6f9 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
| #
e3e9c205 |
| 16-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,lzma,z}: remove -DSYMBOL_VERSIONING from CFLAGS
This was part of a libkse and libpthread transition aide when libc gained symbol versions in e62165c8b0f7d6452c0033127a0fd8ad1d9e34d3 (March 200
lib{c,lzma,z}: remove -DSYMBOL_VERSIONING from CFLAGS
This was part of a libkse and libpthread transition aide when libc gained symbol versions in e62165c8b0f7d6452c0033127a0fd8ad1d9e34d3 (March 2006). The code that cared about this macro was removed in commit 00fb440c1a145b56b6c75fd405d80071aef2aab1 (May 2007) when symbol versioning was enabled by default and libthr became the default threading library. For unknown reasons, it stayed in libc (which seemingly never used it) and seems to have been copied to liblzma and libz.
Reviewed by: imp, kib, emaste Differential Revision: https://reviews.freebsd.org/D42613
show more ...
|
| #
da8238d6 |
| 13-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: fix typo in Makefile comment
MFC after: 1 week
|
| #
6e5b1ff7 |
| 09-Nov-2023 |
R. Christian McDonald <rcm@rcm.sh> |
libc: enable initial-exec (IE) as default thread-local storage model on arm
As suggested by jrtc27@ in https://reviews.freebsd.org/D42415, this patch enables IE as default thread-local storage model
libc: enable initial-exec (IE) as default thread-local storage model on arm
As suggested by jrtc27@ in https://reviews.freebsd.org/D42415, this patch enables IE as default thread-local storage model in libc on arm.
Reviewed by: kib Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D42445
show more ...
|
| #
b19d8afe |
| 05-Sep-2023 |
Warner Losh <imp@FreeBSD.org> |
msun: LIBCSRCDIR is too fragile, use ${SRCTOP}/lib/libc instead
LIBCSRCDIR is defined in bsd.libnames.mk, which is read in later in the Makefile than the line:
.if exists(${LIBCSRCDIR}/${MACHINE_AR
msun: LIBCSRCDIR is too fragile, use ${SRCTOP}/lib/libc instead
LIBCSRCDIR is defined in bsd.libnames.mk, which is read in later in the Makefile than the line:
.if exists(${LIBCSRCDIR}/${MACHINE_ARCH})
so we test to see if /${MARCHIN_ARCH} exists which it usually doesn't (but did for me since I mounted 13.2R SD image there). Move to defining our own LIBC_SRCTOP in terms of SRCTOP to treat these uniformily.
Sponsored by: Netflix Reviewed by: sjg Differential Revision: https://reviews.freebsd.org/D41661
show more ...
|
| #
4c757938 |
| 16-Aug-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: include malloc via stdlib/Makefile.inc
There's a hierarchy here and we should use it.
Improves: cbeacb7c46f3a3650e5dbefa9a1a18bc9943a8cc
Reviewed by: jrtc27, jhb, emaste Sponsored by: DARPA
libc: include malloc via stdlib/Makefile.inc
There's a hierarchy here and we should use it.
Improves: cbeacb7c46f3a3650e5dbefa9a1a18bc9943a8cc
Reviewed by: jrtc27, jhb, emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41456
show more ...
|
| #
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
5f2e8401 |
| 01-May-2023 |
Ed Maste <emaste@FreeBSD.org> |
bsd.lib.mk: decouple lib*_pic.a from TOOLCHAIN build knob
A user may use a tool chain from a package or just use an existing tool chain from a previous installation. There is no reason for this to
bsd.lib.mk: decouple lib*_pic.a from TOOLCHAIN build knob
A user may use a tool chain from a package or just use an existing tool chain from a previous installation. There is no reason for this to disable the installation of lib${LIB}_pic.a.
This also means we don't need to force MK_TOOLCHAIN=yes in lib/libc.
This reverts part of commit c0f5aeb0329d71e6b02379133c0c9c0145c9afea.
Reviewed by: jrtc27 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39917
show more ...
|
| #
47e888f8 |
| 20-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
Remove a few more references to riscv64sf.
Fixes: 1ca12bd927d7 Remove the riscv64sf architecture.
|