[PATCH v4 01/15] kbuild: userprogs: avoid duplication of flags inherited from kernel

Thomas Weißschuh posted 15 patches 3 months, 2 weeks ago
There is a newer version of this series
[PATCH v4 01/15] kbuild: userprogs: avoid duplication of flags inherited from kernel
Posted by Thomas Weißschuh 3 months, 2 weeks ago
The duplication makes maintenance harder. Changes need to be done in two
places and the lines will grow overly long.

Use an intermediary variable instead.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 35e6e5240c61a8a329011929fcd0352b881dccdc..c4293cf91e968ca8ee64452841fb266e24df63f6 100644
--- a/Makefile
+++ b/Makefile
@@ -1130,8 +1130,9 @@ LDFLAGS_vmlinux	+= --emit-relocs --discard-none
 endif
 
 # Align the bit size of userspace programs with the kernel
-KBUILD_USERCFLAGS  += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
-KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
+USERFLAGS_FROM_KERNEL := -m32 -m64 --target=%
+KBUILD_USERCFLAGS  += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
+KBUILD_USERLDFLAGS += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
 
 # userspace programs are linked via the compiler, use the correct linker
 ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy)

-- 
2.50.0

Re: [PATCH v4 01/15] kbuild: userprogs: avoid duplication of flags inherited from kernel
Posted by Masahiro Yamada 3 months ago
On Thu, Jun 26, 2025 at 3:10 PM Thomas Weißschuh
<thomas.weissschuh@linutronix.de> wrote:
>
> The duplication makes maintenance harder. Changes need to be done in two
> places and the lines will grow overly long.
>
> Use an intermediary variable instead.
>
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---
>  Makefile | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 35e6e5240c61a8a329011929fcd0352b881dccdc..c4293cf91e968ca8ee64452841fb266e24df63f6 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1130,8 +1130,9 @@ LDFLAGS_vmlinux   += --emit-relocs --discard-none
>  endif
>
>  # Align the bit size of userspace programs with the kernel
> -KBUILD_USERCFLAGS  += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
> -KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
> +USERFLAGS_FROM_KERNEL := -m32 -m64 --target=%
> +KBUILD_USERCFLAGS  += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
> +KBUILD_USERLDFLAGS += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
>

Acked-by: Masahiro Yamada <masahiroy@kernel.org>

However, as I mentioned before, the following code is shorter.

USERFLAGS_FROM_KERNEL := $(filter -m32 -m64 --target=%,
$(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
KBUILD_USERCFLAGS  += $(USERFLAGS_FROM_KERNEL)
KBUILD_USERLDFLAGS += $(USERFLAGS_FROM_KERNEL)



-- 
Best Regards
Masahiro Yamada
Re: [PATCH v4 01/15] kbuild: userprogs: avoid duplication of flags inherited from kernel
Posted by Nicolas Schier 3 months, 1 week ago
On Thu, Jun 26, 2025 at 08:10:09AM +0200, Thomas Weißschuh wrote:
> The duplication makes maintenance harder. Changes need to be done in two
> places and the lines will grow overly long.
> 
> Use an intermediary variable instead.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---
>  Makefile | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Reviewed-by: Nicolas Schier <n.schier@avm.de>