<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/tools/testing/selftests/nolibc, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-04-09T21:25:45Z</updated>
<entry>
<title>selftests/nolibc: use gcc 15</title>
<updated>2026-04-09T21:25:45Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-08T21:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b070dc36291fec966ad915f80a4f239b5c70c290'/>
<id>urn:sha1:b070dc36291fec966ad915f80a4f239b5c70c290</id>
<content type='text'>
Newer compilers tend to detect more problematic code.

Update the testsuite to use gcc 15.2.0 by default.

Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Link: https://patch.msgid.link/20260408-nolibc-gcc-15-v1-3-330d0c40f894@weissschuh.net
</content>
</entry>
<entry>
<title>selftests/nolibc: don't skip tests for unimplemented syscalls anymore</title>
<updated>2026-04-07T07:29:26Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-01-04T15:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=598b670af347bc8d998866b1e795e40a3bb168de'/>
<id>urn:sha1:598b670af347bc8d998866b1e795e40a3bb168de</id>
<content type='text'>
The automatic skipping of tests on ENOSYS returns was introduced in
commit 349afc8a52f8 ("selftests/nolibc: skip tests for unimplemented
syscalls"). It handled the fact that nolibc would return ENOSYS for many
syscall wrappers on riscv32.

Nowadays nolibc handles all these correctly, so this logic is not used
anymore. To make missing nolibc functionality more obvious fail the
tests again if something is not implemented.

Revert the mentioned commit again.

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/20260406-nolibc-no-skip-enosys-v1-2-c046b1ac7d73@weissschuh.net/
</content>
</entry>
<entry>
<title>selftests/nolibc: explicitly handle ENOSYS from ptrace()</title>
<updated>2026-04-07T07:28:32Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-01-04T19:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a5206f2564128ada61ba1d29aeafa0a439dca00'/>
<id>urn:sha1:9a5206f2564128ada61ba1d29aeafa0a439dca00</id>
<content type='text'>
The automatic ENOSYS handling in EXPECT_SYSER() is about to be removed.
ptrace() will return legitimately return ENOSYS on qemu-user, so handle
it explicitly.

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/20260406-nolibc-no-skip-enosys-v1-1-c046b1ac7d73@weissschuh.net/
</content>
</entry>
<entry>
<title>tools/nolibc: add byteorder conversions</title>
<updated>2026-04-07T07:27:25Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-05T15:31:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ce834c9cb984a9b85160a2c3a3821e179fa502fa'/>
<id>urn:sha1:ce834c9cb984a9b85160a2c3a3821e179fa502fa</id>
<content type='text'>
Add some standard functions to convert between different byte orders.
Conveniently the UAPI headers provide all the necessary functionality.

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/20260405-nolibc-bswap-v1-1-f7699ca9cee0@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: add the _syscall() macro</title>
<updated>2026-04-07T07:27:07Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-05T09:06:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2eb64b936d3b6332ae44bbf91277f912be5597e2'/>
<id>urn:sha1:2eb64b936d3b6332ae44bbf91277f912be5597e2</id>
<content type='text'>
The standard syscall() function or macro uses the libc return value
convention. Errors returned from the kernel as negative values are
stored in errno and -1 is returned. Users who want to avoid using
errno don't have a way to call raw syscalls and check the returned
error.

Add a new macro _syscall() which works like the standard syscall()
but passes through the return value from the kernel unchanged.
The naming scheme and return values match the named _sys_foo()
system call wrappers already part of nolibc.

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/20260405-nolibc-syscall-v1-3-e5b12bc63211@weissschuh.net
</content>
</entry>
<entry>
<title>selftests/nolibc: only use libgcc when really necessary</title>
<updated>2026-04-06T17:46:54Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-04T12:59:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=08b96aa962209de015de6c4a51e8cadbd1b21d0a'/>
<id>urn:sha1:08b96aa962209de015de6c4a51e8cadbd1b21d0a</id>
<content type='text'>
nolibc should work without libgcc to be compatible with as many
toolchains as possible. Currently the functionality tested by
nolibc-test does not contain any dependencies, make sure it stays
this way by not linking libgcc anymore.

On the ppc target GCC always emits references to '_restgpr_' functions,
so keep linking libgcc there.

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/20260404-nolibc-libgcc-v1-1-eb3ecfe0e176@weissschuh.net
</content>
</entry>
<entry>
<title>selftests/nolibc: test the memory allocator</title>
<updated>2026-04-06T17:46:52Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-04T11:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e70a7bb5755997d845f641f5d46d8af4ea68fc8a'/>
<id>urn:sha1:e70a7bb5755997d845f641f5d46d8af4ea68fc8a</id>
<content type='text'>
The memory allocator has not seen any testing so far.

Add a simple testcase for it.

Suggested-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://lore.kernel.org/lkml/adDRK8D6YBZgv36H@1wt.eu/
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/20260404-nolibc-asprintf-v2-2-17d2d0df9763@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: add support for asprintf()</title>
<updated>2026-04-06T17:46:51Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-01T15:07:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=12496aad10c5671d66e160487326de942cd440ba'/>
<id>urn:sha1:12496aad10c5671d66e160487326de942cd440ba</id>
<content type='text'>
Add support for dynamically allocating formatted strings through
asprintf() and vasprintf().

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/20260401-nolibc-asprintf-v1-3-46292313439f@weissschuh.net
</content>
</entry>
<entry>
<title>tools/nolibc: handle all major and minor numbers in makedev() and friends</title>
<updated>2026-04-04T08:29:02Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-04T08:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=572246dcddb5455d62d5d152fe31105542b10ff5'/>
<id>urn:sha1:572246dcddb5455d62d5d152fe31105542b10ff5</id>
<content type='text'>
Remove the limitation of only handling small major and minor numbers.

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/20260404-nolibc-makedev-v2-5-456a429bf60c@weissschuh.net
</content>
</entry>
<entry>
<title>selftests/nolibc: add a test for stat().st_rdev</title>
<updated>2026-04-04T08:28:44Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2026-04-04T08:08:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5afc7e9b90b82e0c43615dcf2ff0559909714d83'/>
<id>urn:sha1:5afc7e9b90b82e0c43615dcf2ff0559909714d83</id>
<content type='text'>
The handling of 'dev_t' values is about to be changed.

Add a test to make sure they are returned correctly from stat().

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/20260404-nolibc-makedev-v2-2-456a429bf60c@weissschuh.net
</content>
</entry>
</feed>
