* [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__
@ 2026-03-09 15:58 Thomas Weißschuh
2026-03-13 23:56 ` Nathan Chancellor
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Weißschuh @ 2026-03-09 15:58 UTC (permalink / raw)
To: Arnd Bergmann, Nathan Chancellor, Nicolas Schier
Cc: Maciej W. Rozycki, Nick Huang, linux-kernel, linux-kbuild,
Thomas Weißschuh
There is an ongoing effort to replace the usage of __ASSEMBLER__ with
__ASSEMBLY__ 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 __ASSEMBLER__ can be removed.
However the UAPI headers might be used with older (< GCC 3.0) or
non-GCC-compatible compilers, which do not define __ASSEMBLY__
automatically. So this migration may brake 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.
For now make sure that the exported UAPI headers consistently use
__ASSEMBLER__ as before.
Link: https://lore.kernel.org/lkml/164baf81-2824-4943-bbc1-4ae8a160c0cc@t-8ch.de/
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
This should go either through kbuild or asm-generic, I think.
---
| 1 +
1 file changed, 1 insertion(+)
--git a/scripts/headers_install.sh b/scripts/headers_install.sh
index 9c15e748761c..2f1d1767ca26 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/__ASSEMBLY__/__ASSEMBLER__/g
' $INFILE > $TMPFILE || exit 1
scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ $TMPFILE > $OUTFILE
---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260302-uapi-assembly-0bb7213b41f1
Best regards,
--
Thomas Weißschuh <linux@weissschuh.net>
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__
2026-03-09 15:58 [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__ Thomas Weißschuh
@ 2026-03-13 23:56 ` Nathan Chancellor
2026-03-24 17:05 ` Thomas Weißschuh
0 siblings, 1 reply; 5+ messages in thread
From: Nathan Chancellor @ 2026-03-13 23:56 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Arnd Bergmann, Nicolas Schier, Maciej W. Rozycki, Nick Huang,
linux-kernel, linux-kbuild
On Mon, Mar 09, 2026 at 04:58:11PM +0100, Thomas Weißschuh wrote:
> There is an ongoing effort to replace the usage of __ASSEMBLER__ with
> __ASSEMBLY__ throughout the kernel tree, see for example
I think __ASSEMBLER__ and __ASSEMBLY__ are swapped here?
> 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 __ASSEMBLER__ can be removed.
>
> However the UAPI headers might be used with older (< GCC 3.0) or
> non-GCC-compatible compilers, which do not define __ASSEMBLY__
__ASSEMBLER__?
> automatically. So this migration may brake users.
It sounds like the "< GCC 3.0" part of that might not be true based on
Maciej's research?
https://lore.kernel.org/alpine.DEB.2.21.2603101412520.63708@angie.orcam.me.uk/
> Also during the migration phase, the UAPI headers will use a mix of
> *both* __ASSEMBLY__ and __ASSEMBLER__ at the same time, which is ugly.
>
> For now make sure that the exported UAPI headers consistently use
> __ASSEMBLER__ as before.
__ASSEMBLY__?
> Link: https://lore.kernel.org/lkml/164baf81-2824-4943-bbc1-4ae8a160c0cc@t-8ch.de/
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> 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..2f1d1767ca26 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/__ASSEMBLY__/__ASSEMBLER__/g
It seems like this does the opposite of what is intended or am I
misunderstanding something here?
> ' $INFILE > $TMPFILE || exit 1
>
> scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ $TMPFILE > $OUTFILE
>
> ---
> base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
> change-id: 20260302-uapi-assembly-0bb7213b41f1
>
> Best regards,
> --
> Thomas Weißschuh <linux@weissschuh.net>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__
2026-03-13 23:56 ` Nathan Chancellor
@ 2026-03-24 17:05 ` Thomas Weißschuh
2026-03-24 18:35 ` Nathan Chancellor
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Weißschuh @ 2026-03-24 17:05 UTC (permalink / raw)
To: Nathan Chancellor
Cc: Arnd Bergmann, Nicolas Schier, Maciej W. Rozycki, Nick Huang,
linux-kernel, linux-kbuild
Hi Nathan,
sorry for the late response, this seems to have fallen through the
cracks.
On 2026-03-13 16:56:18-0700, Nathan Chancellor wrote:
> On Mon, Mar 09, 2026 at 04:58:11PM +0100, Thomas Weißschuh wrote:
> > There is an ongoing effort to replace the usage of __ASSEMBLER__ with
> > __ASSEMBLY__ throughout the kernel tree, see for example
>
> I think __ASSEMBLER__ and __ASSEMBLY__ are swapped here?
Indeed.
(Also all the other cases)
(...)
> > automatically. So this migration may brake users.
>
> It sounds like the "< GCC 3.0" part of that might not be true based on
> Maciej's research?
>
> https://lore.kernel.org/alpine.DEB.2.21.2603101412520.63708@angie.orcam.me.uk/
Yes, indeed. In my opinion the consistency aspect is still sufficient
to have this change. What do you think?
(...)
Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__
2026-03-24 17:05 ` Thomas Weißschuh
@ 2026-03-24 18:35 ` Nathan Chancellor
2026-03-24 19:58 ` Thomas Weißschuh
0 siblings, 1 reply; 5+ messages in thread
From: Nathan Chancellor @ 2026-03-24 18:35 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: Arnd Bergmann, Nicolas Schier, Maciej W. Rozycki, Nick Huang,
linux-kernel, linux-kbuild
On Tue, Mar 24, 2026 at 06:05:34PM +0100, Thomas Weißschuh wrote:
> On 2026-03-13 16:56:18-0700, Nathan Chancellor wrote:
> > It sounds like the "< GCC 3.0" part of that might not be true based on
> > Maciej's research?
> >
> > https://lore.kernel.org/alpine.DEB.2.21.2603101412520.63708@angie.orcam.me.uk/
>
> Yes, indeed. In my opinion the consistency aspect is still sufficient
> to have this change. What do you think?
Yes, I think so. Will you keep it as going from __ASSEMBLY__ to
__ASSEMBLER__? It probably makes more sense that way given there should
be no regressions on the compiler side and that is the intended end
result?
Cheers,
Nathan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__
2026-03-24 18:35 ` Nathan Chancellor
@ 2026-03-24 19:58 ` Thomas Weißschuh
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Weißschuh @ 2026-03-24 19:58 UTC (permalink / raw)
To: Nathan Chancellor
Cc: Arnd Bergmann, Nicolas Schier, Maciej W. Rozycki, Nick Huang,
linux-kernel, linux-kbuild
On 2026-03-24 11:35:01-0700, Nathan Chancellor wrote:
> On Tue, Mar 24, 2026 at 06:05:34PM +0100, Thomas Weißschuh wrote:
> > On 2026-03-13 16:56:18-0700, Nathan Chancellor wrote:
> > > It sounds like the "< GCC 3.0" part of that might not be true based on
> > > Maciej's research?
> > >
> > > https://lore.kernel.org/alpine.DEB.2.21.2603101412520.63708@angie.orcam.me.uk/
> >
> > Yes, indeed. In my opinion the consistency aspect is still sufficient
> > to have this change. What do you think?
>
> Yes, I think so. Will you keep it as going from __ASSEMBLY__ to
> __ASSEMBLER__? It probably makes more sense that way given there should
> be no regressions on the compiler side and that is the intended end
> result?
I would have stuck to the old name '__ASSEMBLY__', just for robustness
and because we are late in the cycle.
Then we can switch it early in the next cycle.
Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-03-24 19:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 15:58 [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__ Thomas Weißschuh
2026-03-13 23:56 ` Nathan Chancellor
2026-03-24 17:05 ` Thomas Weißschuh
2026-03-24 18:35 ` Nathan Chancellor
2026-03-24 19:58 ` Thomas Weißschuh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox