<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-05-22T17:40:06Z</updated>
<entry>
<title>lib/libc/tests/gen: add fts_children() tests</title>
<updated>2026-05-22T17:40:06Z</updated>
<author>
<name>Jitendra Bhati</name>
<email>bhatijitendra2022@gmail.com</email>
</author>
<published>2026-05-21T01:44:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e624417db8a136849caa31fc34266645ed6c3429'/>
<id>urn:sha1:e624417db8a136849caa31fc34266645ed6c3429</id>
<content type='text'>
Add ATF test cases covering fts_children() behaviour:

- before fts_read returns root entry list
- empty directory returns NULL with errno 0
- non-empty directory returns all children in order
- called twice returns equivalent results
- FTS_NAMEONLY fills only fts_name, fts_info is FTS_NSOK
- non-directory node returns NULL with errno 0
- invalid options returns NULL with EINVAL

Sponsored by:	Google LLC (GSoC 2026)
Reviewed by:	asomers
MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2218
</content>
</entry>
<entry>
<title>lib/libc/tests/gen: add fts_open() error and edge case tests</title>
<updated>2026-05-22T17:38:21Z</updated>
<author>
<name>Jitendra Bhati</name>
<email>bhatijitendra2022@gmail.com</email>
</author>
<published>2026-05-21T01:40:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=113c262b2ad157790e19188bf298b7205bd1887b'/>
<id>urn:sha1:113c262b2ad157790e19188bf298b7205bd1887b</id>
<content type='text'>
Add ATF test cases covering fts_open() error conditions and
edge cases:

- invalid option bits (outside FTS_OPTIONMASK) yield EINVAL
- empty argv yields EINVAL
- empty path string yields FTS_NS with ENOENT
- nonexistent path yields FTS_NS, not open failure
- trailing slash does not crash (SVN r49851 regression)
- unreadable directory yields FTS_D then FTS_DNR, never FTS_DP
- multiple root paths are all visited left to right

Sponsored by: Google LLC (GSoC 2026)
Reviewed by:	asomers
MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2217
</content>
</entry>
<entry>
<title>lib/libc/gen/fts.3: use 'options' consistently in fts_set() description</title>
<updated>2026-05-22T17:18:25Z</updated>
<author>
<name>Jitendra Bhati</name>
<email>bhatijitendra2022@gmail.com</email>
</author>
<published>2026-05-21T01:51:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e030e4e73fe77f3626f6468e89219deed316553d'/>
<id>urn:sha1:e030e4e73fe77f3626f6468e89219deed316553d</id>
<content type='text'>
The RETURN VALUES section used "instr" to describe the fts_set()
argument, while the SYNOPSIS and all other references use "options".
Fix the inconsistency.

MFC after:	1 week
Sponsored by:	Google LLC (GSoC 2026)
Reviewed by:	asomers
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2213
</content>
</entry>
<entry>
<title>nlist: Decrement nent on match</title>
<updated>2026-05-21T09:37:33Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2026-05-21T09:26:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e9cbbf04d6fe24b3a207cf085122def72145742e'/>
<id>urn:sha1:e9cbbf04d6fe24b3a207cf085122def72145742e</id>
<content type='text'>
PR:		295336
MFC after:	1 week
Fixes:		4617a6cb82a6 ("nlist: Handle multiple symbol tables")
</content>
</entry>
<entry>
<title>nlist.3: Move deprecation notice after intro</title>
<updated>2026-05-20T15:09:16Z</updated>
<author>
<name>Alexander Ziaee</name>
<email>ziaee@FreeBSD.org</email>
</author>
<published>2026-05-20T15:06:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c796cc5afff2dffd542880c5f624439b25d74402'/>
<id>urn:sha1:c796cc5afff2dffd542880c5f624439b25d74402</id>
<content type='text'>
Its more clear and good practice for the first sentence of a description
to describe what something is, because there are a lot of different use
cases for documentation.

Fixes:		94b7a335683a ("nlist.3: Add discouraged use notice")
Reviewed by:		emaste
Differential Revision:	https://reviews.freebsd.org/D57128
</content>
</entry>
<entry>
<title>nlist: Handle multiple symbol tables</title>
<updated>2026-05-19T06:53:35Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2026-05-19T06:52:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4617a6cb82a673b02257257c1f5f8a3c8d2bb943'/>
<id>urn:sha1:4617a6cb82a673b02257257c1f5f8a3c8d2bb943</id>
<content type='text'>
* Instead of looking for and stopping at the first SHT_SYMTAB section,
  iterate over all SHT_DYNSYM and SHT_SYMTAB sections until we've either
  found all our symbols or run out.

* Perform bounds checks on section and string table offsets and sizes
  before attempting to mmap() the string table.

* Perform bounds checks on individual symbol table entries before
  attempting to access the corresponding strings.

* Stop treating _Foo and Foo as the same symbol.

This unbreaks OpenSSH which uses nlist(3) to verify PKCS#11 providers.

PR:		295336
MFC after:	1 week
Fixes:		77909f597881 ("Initial elf nlist support [...]")
Fixes:		644b4646c7ac ("OpenSSH: Update to 10.1p1")
Reviewed by:	kib, emaste
Differential Revision:	https://reviews.freebsd.org/D57034
</content>
</entry>
<entry>
<title>nlist.3: Add stab(5) Xref</title>
<updated>2026-05-19T00:16:13Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2026-05-19T00:11:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=762e451b318c8cbfddbcaaa92a218e8b45306eb9'/>
<id>urn:sha1:762e451b318c8cbfddbcaaa92a218e8b45306eb9</id>
<content type='text'>
Commit 876a17321c89 removed the a.out Xref as nlist(3) no longer
supports a.out, but this left nlist(3) without a reference to a page
documenting struct nlist.

struct nlist is documented in both a.out(5) and stab(5), so add an Xref
to the latter.

Reported by:	brooks
Fixes: 876a17321c89 ("nlist.3: Replace a.out(5) Xref with elf(5)")
</content>
</entry>
<entry>
<title>nlist.3: Add discouraged use notice</title>
<updated>2026-05-18T23:56:00Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2026-05-17T14:29:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=94b7a335683abcbcd76e8b67d37e21271d81590c'/>
<id>urn:sha1:94b7a335683abcbcd76e8b67d37e21271d81590c</id>
<content type='text'>
It is a relic from a.out days and is poorly specified. Although ELF
support was added to nlist, there are better ways to access ELF data.

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57078
</content>
</entry>
<entry>
<title>nlist.3: Clarify which symbol table is used</title>
<updated>2026-05-18T23:00:03Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2026-05-18T14:59:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cd6bf930eafe850dc631feeaf8332832601f4225'/>
<id>urn:sha1:cd6bf930eafe850dc631feeaf8332832601f4225</id>
<content type='text'>
nlist() requires section headers, and currently fetches symbol names
only from SHT_SYMTAB,

Reviewed by:	kib
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57065
</content>
</entry>
<entry>
<title>nlist.3: Replace a.out(5) Xref with elf(5)</title>
<updated>2026-05-18T14:55:32Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2026-05-18T14:50:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=876a17321c896427d70de94101df4d888a19189b'/>
<id>urn:sha1:876a17321c896427d70de94101df4d888a19189b</id>
<content type='text'>
ELF support was added to nlist() in 1997, and a.out support was removed
in 2020.  The man page was not updated for either of these changes.

Fixes: 77909f597881 ("Initial elf nlist support, ...")
Fixes: 86cfa7e70b2b ("nlist: retire long-obsolete aout support")
Sponsored by: The FreeBSD Foundation
</content>
</entry>
</feed>
