[PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
From: Thomas Weißschuh
Date: Tue Jun 30 2026 - 17:15:25 EST
There is an ongoing effort to replace the usage of __ASSEMBLY__ with
__ASSEMBLER__ throughout the kernel tree, see for example
commit 287d163322b7 ("arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in
non-uapi headers"). The latter is automatically provided by all compilers
and preprocessors supported by the kernel, so the explicit definitions
of __ASSEMBLY__ can be removed.
However the UAPI headers might be used with non-GCC-compatible
compilers, which do not define __ASSEMBLER__ automatically.
So this migration may break users. Also during the migration phase, the
UAPI headers will use a mix of *both* __ASSEMBLY__ and __ASSEMBLER__ at
the same time, which is ugly and inconsistent.
For now make sure that the exported UAPI headers consistently use
__ASSEMBLY__ as before.
Link: https://lore.kernel.org/lkml/164baf81-2824-4943-bbc1-4ae8a160c0cc@xxxxxxxx/
Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
---
Changes in v2:
- Normalize *to* __ASSEMBLY__.
- Link to v1: https://patch.msgid.link/20260309-uapi-assembly-v1-1-a7ebfbf14309@xxxxxxxxxxxxxx
---
This should go either through kbuild or asm-generic, I think.
---
scripts/headers_install.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
index 9c15e748761c..83e447596878 100755
--- a/scripts/headers_install.sh
+++ b/scripts/headers_install.sh
@@ -36,6 +36,7 @@ sed -E -e '
s/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g
s/(^|[[:space:](])(inline|asm|volatile)([[:space:](]|$)/\1__\2__\3/g
s@#(ifndef|define|endif[[:space:]]*/[*])[[:space:]]*_UAPI@#\1 @
+ s/__ASSEMBLER__/__ASSEMBLY__/g
' $INFILE > $TMPFILE || exit 1
scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ $TMPFILE > $OUTFILE
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260302-uapi-assembly-0bb7213b41f1
Best regards,
--
Thomas Weißschuh <linux@xxxxxxxxxxxxxx>