mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
@ 2026-06-30 21:15 Thomas Weißschuh
  2026-07-04  6:38 ` Nick Huang
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Thomas Weißschuh @ 2026-06-30 21:15 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 __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@t-8ch.de/
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v2:
- Normalize *to* __ASSEMBLY__.
- Link to v1: https://patch.msgid.link/20260309-uapi-assembly-v1-1-a7ebfbf14309@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..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@weissschuh.net>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
  2026-06-30 21:15 [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__ Thomas Weißschuh
@ 2026-07-04  6:38 ` Nick Huang
  2026-07-13 12:56 ` Nicolas Schier
  2026-07-13 13:07 ` Nicolas Schier
  2 siblings, 0 replies; 4+ messages in thread
From: Nick Huang @ 2026-07-04  6:38 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: Arnd Bergmann, Nathan Chancellor, Nicolas Schier,
	Maciej W. Rozycki, linux-kernel, linux-kbuild

Acked-by: Nick Huang sef1548@gmail.com

Thomas Weißschuh <linux@weissschuh.net> 於 2026年7月1日週三 上午5:15寫道:
>
> 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@t-8ch.de/
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Changes in v2:
> - Normalize *to* __ASSEMBLY__.
> - Link to v1: https://patch.msgid.link/20260309-uapi-assembly-v1-1-a7ebfbf14309@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..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@weissschuh.net>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
  2026-06-30 21:15 [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__ Thomas Weißschuh
  2026-07-04  6:38 ` Nick Huang
@ 2026-07-13 12:56 ` Nicolas Schier
  2026-07-13 13:07 ` Nicolas Schier
  2 siblings, 0 replies; 4+ messages in thread
From: Nicolas Schier @ 2026-07-13 12:56 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: Arnd Bergmann, Nathan Chancellor, Nicolas Schier,
	Maciej W. Rozycki, Nick Huang, linux-kernel, linux-kbuild

On Tue, Jun 30, 2026 at 11:15:00PM +0200, Thomas Weißschuh wrote:
> 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@t-8ch.de/
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Changes in v2:
> - Normalize *to* __ASSEMBLY__.
> - Link to v1: https://patch.msgid.link/20260309-uapi-assembly-v1-1-a7ebfbf14309@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..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@weissschuh.net>
> 

Thanks, I'll take it via kbuild.  Please veto, if it shall go through 
asm-generic instead.

Reviewed-by: Nicolas Schier <n.schier@fritz.com>
Tested-by: Nicolas Schier <n.schier@fritz.com>


Kind regards,
Nicolas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
  2026-06-30 21:15 [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__ Thomas Weißschuh
  2026-07-04  6:38 ` Nick Huang
  2026-07-13 12:56 ` Nicolas Schier
@ 2026-07-13 13:07 ` Nicolas Schier
  2 siblings, 0 replies; 4+ messages in thread
From: Nicolas Schier @ 2026-07-13 13:07 UTC (permalink / raw)
  To: Arnd Bergmann, Nathan Chancellor, Thomas Weißschuh
  Cc: Maciej W. Rozycki, Nick Huang, linux-kernel, linux-kbuild

On Tue, 30 Jun 2026 23:15:00 +0200, Thomas Weißschuh wrote:
> scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__

Applied to kbuild/linux.git (kbuild-next-unstable), thanks!

[1/1] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__
      https://git.kernel.org/kbuild/c/a6c31a60

Please look out for regression or issue reports or other follow up
comments, as they may result in the patch/series getting dropped,
reverted or modified (e.g. trailers). Patches applied to the
kbuild-next-unstable branch are accepted pending wider testing in
linux-next and any post-commit review; they will generally be moved
to the kbuild-next branch in about a week if no issues are found.

Best regards,
-- 
Nicolas



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-07-13 13:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-30 21:15 [PATCH v2] scripts: headers_install.sh: Normalize __ASSEMBLER__ to __ASSEMBLY__ Thomas Weißschuh
2026-07-04  6:38 ` Nick Huang
2026-07-13 12:56 ` Nicolas Schier
2026-07-13 13:07 ` Nicolas Schier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®