[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250527221637.GA2566504@ax162>
Date: Tue, 27 May 2025 15:16:37 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Nicolas Schier <nicolas.schier@...ux.dev>, llvm@...ts.linux.dev
Subject: Re: [PATCH] kbuild: replace deprecated T option with --thin for $(AR)
On Sun, May 25, 2025 at 08:28:31PM +0900, Masahiro Yamada wrote:
> According to 'man ar':
>
> T Deprecated alias for --thin. T is not recommended because in
> many ar implementations T has a different meaning, as specified
> by X/Open System Interface.
>
> 'man llvm-ar' also states:
>
> T Alias for --thin. In many ar implementations T has a different
> meaning, as specified by X/Open System interface.
>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> ---
Yeah, seems reasonable to get ahead of the curve in case either
implementation decides to drop it.
Reviewed-by: Nathan Chancellor <nathan@...nel.org>
>
> Makefile | 6 +++---
> scripts/Makefile.build | 2 +-
> scripts/Makefile.lib | 2 +-
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index efbc0966b82a..682a8002b7a1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1201,12 +1201,12 @@ ifdef CONFIG_TRIM_UNUSED_KSYMS
> KBUILD_MODULES := 1
> endif
>
> -# '$(AR) mPi' needs 'T' to workaround the bug of llvm-ar <= 14
> +# '$(AR) mPi' needs --thin to workaround the bug of llvm-ar <= 14
> quiet_cmd_ar_vmlinux.a = AR $@
> cmd_ar_vmlinux.a = \
> rm -f $@; \
> - $(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \
> - $(AR) mPiT $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt)
> + $(AR) cDPrS --thin $@ $(KBUILD_VMLINUX_OBJS); \
> + $(AR) mPi --thin $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt)
>
> targets += vmlinux.a
> vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt FORCE
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 8d8252229895..284931f2a9a2 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -456,7 +456,7 @@ $(subdir-modorder): $(obj)/%/modules.order: $(obj)/% ;
> quiet_cmd_ar_builtin = AR $@
> cmd_ar_builtin = rm -f $@; \
> $(if $(real-prereqs), printf "$(obj)/%s " $(patsubst $(obj)/%,%,$(real-prereqs)) | xargs) \
> - $(AR) cDPrST $@
> + $(AR) cDPrS --thin $@
>
> $(obj)/built-in.a: $(real-obj-y) FORCE
> $(call if_changed,ar_builtin)
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index d858a3223bcd..e37e2db5f528 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -280,7 +280,7 @@ quiet_cmd_ld = LD $@
> # ---------------------------------------------------------------------------
>
> quiet_cmd_ar = AR $@
> - cmd_ar = rm -f $@; $(AR) cDPrsT $@ $(real-prereqs)
> + cmd_ar = rm -f $@; $(AR) cDPrs --thin $@ $(real-prereqs)
>
> # Objcopy
> # ---------------------------------------------------------------------------
> --
> 2.43.0
>
Powered by blists - more mailing lists