<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/tests/stdlib/Makefile, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>http://cgit.freebsd.org/src/atom?h=main</id>
<link rel='self' href='http://cgit.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<updated>2026-08-02T12:10:02Z</updated>
<entry>
<title>libc: Add strfromd, strfromf, and strfroml per C23</title>
<updated>2026-08-02T12:10:02Z</updated>
<author>
<name>Faraz Vahedi</name>
<email>kfv@kfv.io</email>
</author>
<published>2026-06-27T13:34:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f68d7bfc1479042184e09431bd55771c50c47f68'/>
<id>urn:sha1:f68d7bfc1479042184e09431bd55771c50c47f68</id>
<content type='text'>
strfromd(), strfromf(), and strfroml() are implemented directly
in terms of gdtoa.  If a non-conforming format string is passed,
the string "EDOOFUS" is returned and errno set to EDOOFUS as an
extension.

Reviewed by:	fuz
MFC after:	1 month
Pull-Request:	https://github.com/freebsd/freebsd-src/pull/2301
Signed-off-by:	Faraz Vahedi &lt;kfv@kfv.io&gt;
</content>
</entry>
<entry>
<title>powerpc64le: switch long double to IEEE binary128</title>
<updated>2026-06-19T21:25:39Z</updated>
<author>
<name>Piotr Kubaj</name>
<email>pkubaj@FreeBSD.org</email>
</author>
<published>2026-06-15T15:37:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=255538cd906045095d0c2113ae6c4731ce36c0cf'/>
<id>urn:sha1:255538cd906045095d0c2113ae6c4731ce36c0cf</id>
<content type='text'>
Change powerpc64le's long double from 64-bit double to IEEE 754
binary128 (quad, 113-bit mantissa), matching aarch64 and riscv64.

Gated on FreeBSD 16 and powerpc64le only.

Differential Revision: https://reviews.freebsd.org/D57388
Reviewed by:	adrian
Relnotes:	yes
</content>
</entry>
<entry>
<title>system(3): Write our own tests</title>
<updated>2026-02-25T21:12:29Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2026-02-25T21:12:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7a1ade5109ac57d1f59eaa75b5d0f13fabecf6ba'/>
<id>urn:sha1:7a1ade5109ac57d1f59eaa75b5d0f13fabecf6ba</id>
<content type='text'>
Replace the somewhat perfunctory NetBSD tests with our own.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	bnovkov, kevans
Differential Revision:	https://reviews.freebsd.org/D55482
</content>
</entry>
<entry>
<title>libc: Drop incorrect qsort optimization</title>
<updated>2025-08-15T07:23:03Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-08-15T07:22:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5205b32de3fb7702e96b3991f5b1a61eee406d8b'/>
<id>urn:sha1:5205b32de3fb7702e96b3991f5b1a61eee406d8b</id>
<content type='text'>
As pointed out in the PR and the article linked below, the switch to
insertion sort in the BSD qsort code is based on a misunderstanding of
Knuth's TAOCP and is actually a pessimization.  As demonstrated by the
added test, it is trivially easy to construct pathological input which
results in quadratic runtime.  Without that misguided optimization, the
same input runs in nearly linearithmic time.

https://www.raygard.net/2022/02/26/Re-engineering-a-qsort-part-3

PR:		287089
MFC after:	1 week
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D51907
</content>
</entry>
<entry>
<title>libc: Add getenv_r() function.</title>
<updated>2025-04-27T06:29:32Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-04-27T06:29:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=873420ca1e6e8a2459684f5b5d3e557a8ef75928'/>
<id>urn:sha1:873420ca1e6e8a2459684f5b5d3e557a8ef75928</id>
<content type='text'>
This is a calque of the NetBSD function of the same name.

MFC after:	never
Relontes:	yes
Sponsored by:	Klara, Inc.
Reviewed by:	kevans
Differential Revision:	https://reviews.freebsd.org/D49979
</content>
</entry>
<entry>
<title>bsd.compiler.mk: Add a blocks compiler feature.</title>
<updated>2025-04-22T17:44:58Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-04-22T17:44:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=12668eadcb82ec4e1bca83dc93f976bd3655ad79'/>
<id>urn:sha1:12668eadcb82ec4e1bca83dc93f976bd3655ad79</id>
<content type='text'>
Sponsored by:	Klara, Inc.
Reviewed by:	jrtc27
Differential Revision:	https://reviews.freebsd.org/D49963
</content>
</entry>
<entry>
<title>fts: Add blocks support.</title>
<updated>2025-04-22T17:25:56Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-04-22T17:16:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f0ac5e919f3f9918075d1a6da26d12e675e45b11'/>
<id>urn:sha1:f0ac5e919f3f9918075d1a6da26d12e675e45b11</id>
<content type='text'>
This adds an `fts_open_b()` variant of `fts_open()` which takes a block
instead of a function pointer.

This was inspired by, and is intended to be compatible with, Apple's
implementation; however, although our FTS and theirs share a common
ancestor, they have diverged significantly.  That and the fact that
we still target compilers which don't support blocks means Apple's
implementation was not directly reusable.

This is the second use case for blocks in FreeBSD (the first being
`qsort_b()`, which we use here).  This suggest we might want to add
a `COMPILER_FEATURE` for blocks to avoid hardcoding any further
`COMPILER_TYPE` checks.

MFC after:	never
Relnotes:	yes
Sponsored by:	Klara, Inc.
Reviewed by:	kevans, theraven, imp
Differential Revision:	https://reviews.freebsd.org/D49877
</content>
</entry>
<entry>
<title>src: Use gnu++17 as the default C++ standard</title>
<updated>2025-04-11T13:53:50Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2025-04-11T13:53:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6527682ab7058e5023a2a6dea01d51c15dca701f'/>
<id>urn:sha1:6527682ab7058e5023a2a6dea01d51c15dca701f</id>
<content type='text'>
Previously the compiler's default C++ standard was used unlike C where
bsd.sys.mk explicitly sets a default language version.  Setting an
explicit default version will give a more uniform experience across
different compilers and compiler versions.

gnu++17 was chosen to match the default C standard.  It is well
supported by a wide range of clang (5+) and GCC (9+) versions.

gnu++17 is also the default C++ standard in recent versions of clang
(16+) and GCC (11+).  As a result, many of the explicit CXXSTD
settings in Makefiles had the effect of lowering the C++ standard
instead of raising it as was originally intended and are removed.

Note that the remaining explicit CXXSTD settings for atf and liblutok
explicitly lower the standard to C++11 due to use of the deprecated
auto_ptr&lt;&gt; template which is removed in later versions.

Reviewed by:	imp, asomers, dim, emaste
Differential Revision:	https://reviews.freebsd.org/D49223
</content>
</entry>
<entry>
<title>libc: tests: add some tests for __cxa_atexit handling</title>
<updated>2025-04-05T00:47:54Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2025-04-05T00:47:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ee9ce1078c596f5719f312feedd616ab0fb41dc9'/>
<id>urn:sha1:ee9ce1078c596f5719f312feedd616ab0fb41dc9</id>
<content type='text'>
This adds a basic test that __cxa_atexit works, and also adds some tests
for __cxa_atexit handlers registered in the middle of __cxa_finalize.

PR:		285870
</content>
</entry>
<entry>
<title>libc tests: Add some test cases for recursive exiting</title>
<updated>2024-08-07T16:06:11Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2024-08-07T16:06:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c0946aee5b2ab6c9bb2e8281a1f625914ed2fec8'/>
<id>urn:sha1:c0946aee5b2ab6c9bb2e8281a1f625914ed2fec8</id>
<content type='text'>
Derived from tests posted by kib in D46108.  I made one of them use a
pthread barrier instead of sleeping.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D46176
</content>
</entry>
</feed>
