[PATCH] tools/include: make uapi/linux/types.h usable from assembly

Thomas Weißschuh posted 1 patch 9 months ago
There is a newer version of this series
tools/include/uapi/linux/types.h | 3 +++
1 file changed, 3 insertions(+)
[PATCH] tools/include: make uapi/linux/types.h usable from assembly
Posted by Thomas Weißschuh 9 months ago
The "real" linux/types.h UAPI header gracefully degrades to a NOOP when
included from assembly code.

Mirror this behaviour in the tools/ variant.

Test for __ASSEMBLER__ over __ASSEMBLY__ as the former is provided by the
toolchain automatically.

Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/lkml/af553c62-ca2f-4956-932c-dd6e3a126f58@sirena.org.uk/
Fixes: c9fbaa879508 ("selftests: vDSO: parse_vdso: Use UAPI headers instead of libc headers")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
Intended to be merged through the tip tree to fix the arm64 selftest build
failure there.
---
 tools/include/uapi/linux/types.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/include/uapi/linux/types.h b/tools/include/uapi/linux/types.h
index 91fa51a9c31de1496db9a31c90fa95760adc664d..85aa327245c6874e673f9ed0466698487215c655 100644
--- a/tools/include/uapi/linux/types.h
+++ b/tools/include/uapi/linux/types.h
@@ -4,6 +4,8 @@
 
 #include <asm-generic/int-ll64.h>
 
+#ifndef __ASSEMBLER__
+
 /* copied from linux:include/uapi/linux/types.h */
 #define __bitwise
 typedef __u16 __bitwise __le16;
@@ -20,4 +22,5 @@ typedef __u32 __bitwise __wsum;
 #define __aligned_be64 __be64 __attribute__((aligned(8)))
 #define __aligned_le64 __le64 __attribute__((aligned(8)))
 
+#endif /* __ASSEMBLER__ */
 #endif /* _UAPI_LINUX_TYPES_H */

---
base-commit: 652262975db421767ada3f05b926854bbb357759
change-id: 20250321-uapi-consistency-38648d1235c1

Best regards,
-- 
Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Re: [PATCH] tools/include: make uapi/linux/types.h usable from assembly
Posted by Mark Brown 9 months ago
On Fri, Mar 21, 2025 at 09:31:17AM +0100, Thomas Weißschuh wrote:
> The "real" linux/types.h UAPI header gracefully degrades to a NOOP when
> included from assembly code.
> 
> Mirror this behaviour in the tools/ variant.
> 
> Test for __ASSEMBLER__ over __ASSEMBLY__ as the former is provided by the
> toolchain automatically.

Reviewed-by: Mark Brown <broonie@kernel.org>