<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/tools/include/nolibc, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-08-31T20:51:17+00:00</updated>
<entry>
<title>tools/nolibc: validate directory with O_DIRECTORY in opendir()</title>
<updated>2026-08-31T20:51:17+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-08-31T16:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=6ef847683e7d294a4187a7253924b8f0d8911416'/>
<id>urn:sha1:6ef847683e7d294a4187a7253924b8f0d8911416</id>
<content type='text'>
fdopendir() requires a call to fstat() to determine if the opened file
is a directory. Currently opendir() inherits this extra syscall.

Switch to O_DIRECTORY and remove the call to fdopendir() in opendir()
to make the directory type check cheaper.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Reviewed-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://patch.msgid.link/20260831-nolibc-fdopendir-enotdir-v1-3-8cf0e79c4e6f@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: verify that a directory is opened</title>
<updated>2026-08-31T20:51:06+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-08-31T16:04:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=9e697dcb8cc01f708cacc4ef3d8b6fb8a67dcd54'/>
<id>urn:sha1:9e697dcb8cc01f708cacc4ef3d8b6fb8a67dcd54</id>
<content type='text'>
If a non-directory is opened, ENODIR should be returned from
opendir()/fdopendir() right away and not only during readdir_r().

Validate the type of opened file during open.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Reviewed-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://patch.msgid.link/20260831-nolibc-fdopendir-enotdir-v1-1-8cf0e79c4e6f@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: Add sendfile()</title>
<updated>2026-08-31T04:19:24+00:00</updated>
<author>
<name>Daniel Palmer</name>
<email>daniel@thingy.jp</email>
</author>
<published>2026-08-28T10:32:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=c0da8b53603ad84f622b2c5f6c1a69f7d4b4b8bc'/>
<id>urn:sha1:c0da8b53603ad84f622b2c5f6c1a69f7d4b4b8bc</id>
<content type='text'>
This is useful because it allows copying data up to 2GB from one
fd to another without a buffer in userspace and with a single syscall.

For 32bit kernels we use the sendfile64 syscall to allow for 64bit
offsets to work.

Signed-off-by: Daniel Palmer &lt;daniel@thingy.jp&gt;
Link: https://patch.msgid.link/20260828103205.384589-2-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: add support for hexagon</title>
<updated>2026-08-31T04:19:17+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-08-19T06:31:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=3842a1f486a05c12b2a8712546858e6872431292'/>
<id>urn:sha1:3842a1f486a05c12b2a8712546858e6872431292</id>
<content type='text'>
A mostly straightforward new architecture with a few quirks:
* Only qemu-user is supported for testing.
* Clang is required for compilation.
* -fsanitize=undefined is broken.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Reviewed-by: Brian Cain &lt;brian.cain@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260819-nolibc-hexagon-v1-3-6bc3be591f09@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: split the architecture list into multiple lines</title>
<updated>2026-08-31T04:19:16+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-08-19T06:31:51+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=836cecd18332a3152f09e79b02e613b3982c2e9c'/>
<id>urn:sha1:836cecd18332a3152f09e79b02e613b3982c2e9c</id>
<content type='text'>
The list is getting long, split it up for easier additions.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Reviewed-by: Brian Cain &lt;brian.cain@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260819-nolibc-hexagon-v1-1-6bc3be591f09@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: add support for Alpha</title>
<updated>2026-08-02T07:30:55+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-07-21T22:07:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b58afc8d1cf85688601b8d7e271125fff666f661'/>
<id>urn:sha1:b58afc8d1cf85688601b8d7e271125fff666f661</id>
<content type='text'>
A straightforward new architecture.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Tested-by: Michael Cree &lt;mcree@orcon.net.nz&gt;
Link: https://patch.msgid.link/20260722-nolibc-alpha-v2-1-4970e48eb7bf@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc/powerpc: mark ctr and xer as clobbered by system call</title>
<updated>2026-07-30T10:44:07+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2026-07-27T15:02:48+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b9fc5a1742b0c8fb7edf066cc17fa0b18b7be623'/>
<id>urn:sha1:b9fc5a1742b0c8fb7edf066cc17fa0b18b7be623</id>
<content type='text'>
The system call can clobber the ctr and xer registers.

Make sure the compiler takes this into account.

The missing clobbers only seem to be an issue with newer compilers.

Fixes: 0cb0675ec37e ("tools/nolibc: add support for powerpc")
Signed-off-by: Thomas Weißschuh &lt;thomas.weissschuh@linutronix.de&gt;
Link: https://patch.msgid.link/20260727-nolibc-powerpc-clobber-v1-1-e0911cc99ce1@linutronix.de
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: remove dead __ARCH_WANT_SYS_OLD_SELECT</title>
<updated>2026-07-26T19:51:33+00:00</updated>
<author>
<name>Ammar Faizi</name>
<email>ammarfaizi2@openresty.com</email>
</author>
<published>2026-07-26T10:13:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=01d8fa031ac2d84ba5254caeb1fa5c11159797b5'/>
<id>urn:sha1:01d8fa031ac2d84ba5254caeb1fa5c11159797b5</id>
<content type='text'>
The macro lost its last user when select() was reimplemented on top of
pselect6 for every architecture; sys/select.h no longer looks at it,
and nothing else in the tree does either. See commit 668e43737279
("tools/nolibc/select: drop non-pselect based implementations").

The comment that goes with it is stale for the same reason, as neither
architecture can end up calling old_select any more.

Drop both from arch-x86.h and arch-arm.h.

Cc: Alviro Iskandar Setiawan &lt;alviro.iskandar@gnuweeb.org&gt;
Signed-off-by: Ammar Faizi &lt;ammarfaizi2@openresty.com&gt;
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: mark arg1 operand in __nolibc_syscall0() as write-only</title>
<updated>2026-07-03T18:00:09+00:00</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-07-03T17:30:16+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=a3b2181459a2c74c03ddbad585f884eefc8ff8ff'/>
<id>urn:sha1:a3b2181459a2c74c03ddbad585f884eefc8ff8ff</id>
<content type='text'>
__nolibc_syscall0() does not set the arg1 variable before passing it to
the asm block. This uninitialized variable read is undefined behavior.
Clang can miscompile this.

Mark the asm operand as write-only to fix this.

Fixes: 8e1930296f92 ("tools/nolibc: Add support for SPARC")
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://patch.msgid.link/20260703-nolibc-sparc-asm-v1-1-c7fe73e2e777@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: unistd: Add readlink()</title>
<updated>2026-07-03T06:07:59+00:00</updated>
<author>
<name>Daniel Palmer</name>
<email>daniel@thingy.jp</email>
</author>
<published>2026-07-02T08:51:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=94518b77e194d71b1d76a2dd75f4891954edc296'/>
<id>urn:sha1:94518b77e194d71b1d76a2dd75f4891954edc296</id>
<content type='text'>
Add readlink(). This is needed to test getcwd().

Signed-off-by: Daniel Palmer &lt;daniel@thingy.jp&gt;
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://patch.msgid.link/20260702085101.3304547-3-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
</feed>
