<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/tools/include/nolibc/Makefile, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2026-02-26T23:00:42Z</updated>
<entry>
<title>tools/nolibc: always use 64-bit mode for s390 header checks</title>
<updated>2026-02-26T23:00:42Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2025-12-03T19:08:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=23cf156f39b345b6f2e48eaac4252733474dbde8'/>
<id>urn:sha1:23cf156f39b345b6f2e48eaac4252733474dbde8</id>
<content type='text'>
[ Upstream commit cc6809f6728456c03db6750fcc94ed8b581a2cf8 ]

32-bit s390 support was recently removed from nolibc.
If the compiler defaults to 32-bit during the header checks, they fail.

Make sure to always use 64-bit mode for s390 heafer checks.

Fixes: 169ebcbb9082 ("tools: Remove s390 compat support")
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Acked-by: Heiko Carstens &lt;hca@linux.ibm.com&gt;
Link: https://patch.msgid.link/20251203-nolibc-headers-check-s390-v1-1-5d35e52a83ba@weissschuh.net
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: make the "headers" target install all supported archs</title>
<updated>2025-11-02T14:38:13Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2025-11-02T14:10:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1868c027b6527abfa9ab8172a905acc5809849ee'/>
<id>urn:sha1:1868c027b6527abfa9ab8172a905acc5809849ee</id>
<content type='text'>
The efforts we go through by installing a single arch are counter
productive when the base directory already supports them all, and
the arch-specific files are really small. Let's make the "headers"
target simply install headers for all supported archs and stop
trying to build a hybrid "arch.h" file on the fly, to instead keep
the generic one. Now the same nolibc headers installation will be
usable with any arch-specific uapi installation.

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: add the more portable inttypes.h</title>
<updated>2025-11-02T13:28:20Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2025-11-02T13:21:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=44bf8bbe29fd50ed2b8dfd1873bd22f76ca2f4d9'/>
<id>urn:sha1:44bf8bbe29fd50ed2b8dfd1873bd22f76ca2f4d9</id>
<content type='text'>
It's often recommended to only use inttypes.h instead of stdint.h for
portability reasons since the former is always present when the latter
is present, but not conversely, and the former includes the latter. Due
to this some simple programs fail to build when including inttypes.h.
Let's add one that simply includes nolibc.h to better support these
programs.

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: provide the portable sys/select.h</title>
<updated>2025-11-02T12:36:19Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2025-11-02T10:46:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=10f407c66061524f0da0384de76827e30268f98a'/>
<id>urn:sha1:10f407c66061524f0da0384de76827e30268f98a</id>
<content type='text'>
Modern programs tend to include sys/select.h to get FD_SET() and
FD_CLR() definitions as well as struct fd_set, but in our case it
didn't exist.

The definitions were moved from types.h to sys/select.h, which is
now included from nolibc.h, and the sys_select() definition moved
there as well from sys.h.

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
[Thomas: adapt to current -next branch]
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: fix misleading help message regarding installation path</title>
<updated>2025-11-02T11:04:54Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2025-11-02T10:46:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=09c873c91fc10eeff5f7aecb408e1ac06ffbf83b'/>
<id>urn:sha1:09c873c91fc10eeff5f7aecb408e1ac06ffbf83b</id>
<content type='text'>
The help message says the headers are going to be installed into
tools/include/nolibc but this is only the default if $OUTPUT is not set,
so better clarify this (the current value of $OUTPUT is already shown).

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: add uio.h with readv and writev</title>
<updated>2025-10-29T15:29:19Z</updated>
<author>
<name>Benjamin Berg</name>
<email>benjamin.berg@intel.com</email>
</author>
<published>2025-09-24T14:20:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4bb30188c787176f934aab71872f7c5f43ae6d6f'/>
<id>urn:sha1:4bb30188c787176f934aab71872f7c5f43ae6d6f</id>
<content type='text'>
This is generally useful and struct iovec is also needed for other
purposes such as ptrace.

Signed-off-by: Benjamin Berg &lt;benjamin.berg@intel.com&gt;
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: drop s390 clang target override</title>
<updated>2025-07-08T07:24:00Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>thomas.weissschuh@linutronix.de</email>
</author>
<published>2025-06-20T11:00:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f6f6be0c4faf0e0faa3ed5253458186c2d598226'/>
<id>urn:sha1:f6f6be0c4faf0e0faa3ed5253458186c2d598226</id>
<content type='text'>
tools/scripts/Makefile.include now has the same override,
removing the need for the one in the nolibc Makefile.

Drop the superfluous custom override.

Signed-off-by: Thomas Weißschuh &lt;thomas.weissschuh@linutronix.de&gt;
Link: https://lore.kernel.org/r/20250620-tools-cross-s390-v2-2-ecda886e00e5@linutronix.de
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: use arm64 name over aarch64</title>
<updated>2025-06-24T07:46:52Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2025-06-23T21:48:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=01e8a6d0c39ca0da2b7c80466f55e2959faf1522'/>
<id>urn:sha1:01e8a6d0c39ca0da2b7c80466f55e2959faf1522</id>
<content type='text'>
Nolibc generally uses the kernel's architecture names.
aarch64 is the only exception.

Remove the special case.
Nothing changes for the users.

Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://lore.kernel.org/r/20250623-nolibc-aarch64-arm64-v1-1-a2892f1c1b27@weissschuh.net
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: hide headers_check command by default</title>
<updated>2025-06-24T07:46:44Z</updated>
<author>
<name>Thomas Weißschuh</name>
<email>linux@weissschuh.net</email>
</author>
<published>2025-06-23T21:29:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f7c8bb6c3c152495e37288ae4e42f02c231f30f6'/>
<id>urn:sha1:f7c8bb6c3c152495e37288ae4e42f02c231f30f6</id>
<content type='text'>
If V=1 is not specified the executed commands should not be printed.

Hide the commands by default.

Fixes: a6a054c8ad32 ("tools/nolibc: add target to check header usability")
Acked-by: Willy Tarreau &lt;w@1wt.eu&gt;
Link: https://lore.kernel.org/r/20250623-nolibc-headers-silent-v1-1-f568facf014c@weissschuh.net
Signed-off-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
</content>
</entry>
<entry>
<title>tools/nolibc: merge i386 and x86_64 into a single x86 arch</title>
<updated>2025-06-22T07:16:07Z</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2025-06-18T18:30:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cc6dc5fbecfdf2de3ec02c15754d3fd4879e32ff'/>
<id>urn:sha1:cc6dc5fbecfdf2de3ec02c15754d3fd4879e32ff</id>
<content type='text'>
This remained the only exception to the kernel's architectures
organization and it's always a bit cumbersome to deal with. Let's merge
i386 and x86_64 into x86. This will result in a single arch-x86.h file
by default, and we'll no longer need to merge the two manually during
installation. Requesting either i386 or x86_64 will also result in
installing x86.

Acked-by: Thomas Weißschuh &lt;linux@weissschuh.net&gt;
Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
</content>
</entry>
</feed>
