From: Nick Desaulniers <ndesaulniers@google.com> To: Nathan Chancellor <nathan@kernel.org> Cc: masahiroy@kernel.org, nicolas@fjasle.eu, trix@redhat.com, linux-kbuild@vger.kernel.org, llvm@lists.linux.dev, kernel test robot <lkp@intel.com>, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH 07/14] powerpc/vdso: Improve linker flags Date: Mon, 9 Jan 2023 14:08:41 -0800 [thread overview] Message-ID: <CAKwvOdk6wzoPWoAoShtaeCDZXEZ2b7OAE05pHZy-ry=Eu8UnAg@mail.gmail.com> (raw) In-Reply-To: <20221228-drop-qunused-arguments-v1-7-658cbc8fc592@kernel.org> On Wed, Jan 4, 2023 at 11:55 AM Nathan Chancellor <nathan@kernel.org> wrote: > > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, there > are several warnings in the PowerPC vDSO: > > clang-16: error: -Wl,-soname=linux-vdso32.so.1: 'linker' input unused [-Werror,-Wunused-command-line-argument] > clang-16: error: -Wl,--hash-style=both: 'linker' input unused [-Werror,-Wunused-command-line-argument] > clang-16: error: argument unused during compilation: '-shared' [-Werror,-Wunused-command-line-argument] > > clang-16: error: argument unused during compilation: '-nostdinc' [-Werror,-Wunused-command-line-argument] > clang-16: error: argument unused during compilation: '-Wa,-maltivec' [-Werror,-Wunused-command-line-argument] > > The first group of warnings point out that linker flags were being added > to all invocations of $(CC), even though they will only be used during > the final vDSO link. Move those flags to ldflags-y. > > The second group of warnings are compiler or assembler flags that will > be unused during linking. Filter them out from KBUILD_CFLAGS so that > they are not used during linking. > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > --- > Cc: mpe@ellerman.id.au > Cc: npiggin@gmail.com > Cc: christophe.leroy@csgroup.eu > Cc: linuxppc-dev@lists.ozlabs.org > --- > arch/powerpc/kernel/vdso/Makefile | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/kernel/vdso/Makefile b/arch/powerpc/kernel/vdso/Makefile > index 45c0cc5d34b6..769b62832b38 100644 > --- a/arch/powerpc/kernel/vdso/Makefile > +++ b/arch/powerpc/kernel/vdso/Makefile > @@ -47,13 +47,17 @@ KCOV_INSTRUMENT := n > UBSAN_SANITIZE := n > KASAN_SANITIZE := n > > -ccflags-y := -shared -fno-common -fno-builtin -nostdlib -Wl,--hash-style=both > -ccflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld) > - > -CC32FLAGS := -Wl,-soname=linux-vdso32.so.1 -m32 > +ccflags-y := -fno-common -fno-builtin > +ldflags-y := -Wl,--hash-style=both -nostdlib -shared > +ldflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld) > +# Filter flags that clang will warn are unused for linking > +ldflags-y += $(filter-out $(CC_FLAGS_FTRACE) -Wa$(comma)%, $(KBUILD_CFLAGS)) > + > +CC32FLAGS := -m32 > +LD32FLAGS := -Wl,-soname=linux-vdso32.so.1 > AS32FLAGS := -D__VDSO32__ > > -CC64FLAGS := -Wl,-soname=linux-vdso64.so.1 > +LD64FLAGS := -Wl,-soname=linux-vdso64.so.1 > AS64FLAGS := -D__VDSO64__ > > targets += vdso32.lds > @@ -92,14 +96,14 @@ include/generated/vdso64-offsets.h: $(obj)/vdso64.so.dbg FORCE > > # actual build commands > quiet_cmd_vdso32ld_and_check = VDSO32L $@ > - cmd_vdso32ld_and_check = $(VDSOCC) $(c_flags) $(CC32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > + cmd_vdso32ld_and_check = $(VDSOCC) $(ldflags-y) $(CC32FLAGS) $(LD32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > quiet_cmd_vdso32as = VDSO32A $@ > cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) $(AS32FLAGS) -c -o $@ $< > quiet_cmd_vdso32cc = VDSO32C $@ > cmd_vdso32cc = $(VDSOCC) $(c_flags) $(CC32FLAGS) -c -o $@ $< > > quiet_cmd_vdso64ld_and_check = VDSO64L $@ > - cmd_vdso64ld_and_check = $(VDSOCC) $(c_flags) $(CC64FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > + cmd_vdso64ld_and_check = $(VDSOCC) $(ldflags-y) $(CC64FLAGS) $(LD64FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) Let's move `-z noexecstack` up into ldflags-y? (you may add my RB with that modification) > quiet_cmd_vdso64as = VDSO64A $@ > cmd_vdso64as = $(VDSOCC) $(a_flags) $(CC64FLAGS) $(AS64FLAGS) -c -o $@ $< > > > -- > 2.39.0 -- Thanks, ~Nick Desaulniers
WARNING: multiple messages have this Message-ID (diff)
From: Nick Desaulniers <ndesaulniers@google.com> To: Nathan Chancellor <nathan@kernel.org> Cc: kernel test robot <lkp@intel.com>, linux-kbuild@vger.kernel.org, trix@redhat.com, masahiroy@kernel.org, llvm@lists.linux.dev, npiggin@gmail.com, linuxppc-dev@lists.ozlabs.org, nicolas@fjasle.eu Subject: Re: [PATCH 07/14] powerpc/vdso: Improve linker flags Date: Mon, 9 Jan 2023 14:08:41 -0800 [thread overview] Message-ID: <CAKwvOdk6wzoPWoAoShtaeCDZXEZ2b7OAE05pHZy-ry=Eu8UnAg@mail.gmail.com> (raw) In-Reply-To: <20221228-drop-qunused-arguments-v1-7-658cbc8fc592@kernel.org> On Wed, Jan 4, 2023 at 11:55 AM Nathan Chancellor <nathan@kernel.org> wrote: > > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, there > are several warnings in the PowerPC vDSO: > > clang-16: error: -Wl,-soname=linux-vdso32.so.1: 'linker' input unused [-Werror,-Wunused-command-line-argument] > clang-16: error: -Wl,--hash-style=both: 'linker' input unused [-Werror,-Wunused-command-line-argument] > clang-16: error: argument unused during compilation: '-shared' [-Werror,-Wunused-command-line-argument] > > clang-16: error: argument unused during compilation: '-nostdinc' [-Werror,-Wunused-command-line-argument] > clang-16: error: argument unused during compilation: '-Wa,-maltivec' [-Werror,-Wunused-command-line-argument] > > The first group of warnings point out that linker flags were being added > to all invocations of $(CC), even though they will only be used during > the final vDSO link. Move those flags to ldflags-y. > > The second group of warnings are compiler or assembler flags that will > be unused during linking. Filter them out from KBUILD_CFLAGS so that > they are not used during linking. > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > --- > Cc: mpe@ellerman.id.au > Cc: npiggin@gmail.com > Cc: christophe.leroy@csgroup.eu > Cc: linuxppc-dev@lists.ozlabs.org > --- > arch/powerpc/kernel/vdso/Makefile | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/kernel/vdso/Makefile b/arch/powerpc/kernel/vdso/Makefile > index 45c0cc5d34b6..769b62832b38 100644 > --- a/arch/powerpc/kernel/vdso/Makefile > +++ b/arch/powerpc/kernel/vdso/Makefile > @@ -47,13 +47,17 @@ KCOV_INSTRUMENT := n > UBSAN_SANITIZE := n > KASAN_SANITIZE := n > > -ccflags-y := -shared -fno-common -fno-builtin -nostdlib -Wl,--hash-style=both > -ccflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld) > - > -CC32FLAGS := -Wl,-soname=linux-vdso32.so.1 -m32 > +ccflags-y := -fno-common -fno-builtin > +ldflags-y := -Wl,--hash-style=both -nostdlib -shared > +ldflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld) > +# Filter flags that clang will warn are unused for linking > +ldflags-y += $(filter-out $(CC_FLAGS_FTRACE) -Wa$(comma)%, $(KBUILD_CFLAGS)) > + > +CC32FLAGS := -m32 > +LD32FLAGS := -Wl,-soname=linux-vdso32.so.1 > AS32FLAGS := -D__VDSO32__ > > -CC64FLAGS := -Wl,-soname=linux-vdso64.so.1 > +LD64FLAGS := -Wl,-soname=linux-vdso64.so.1 > AS64FLAGS := -D__VDSO64__ > > targets += vdso32.lds > @@ -92,14 +96,14 @@ include/generated/vdso64-offsets.h: $(obj)/vdso64.so.dbg FORCE > > # actual build commands > quiet_cmd_vdso32ld_and_check = VDSO32L $@ > - cmd_vdso32ld_and_check = $(VDSOCC) $(c_flags) $(CC32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > + cmd_vdso32ld_and_check = $(VDSOCC) $(ldflags-y) $(CC32FLAGS) $(LD32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > quiet_cmd_vdso32as = VDSO32A $@ > cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) $(AS32FLAGS) -c -o $@ $< > quiet_cmd_vdso32cc = VDSO32C $@ > cmd_vdso32cc = $(VDSOCC) $(c_flags) $(CC32FLAGS) -c -o $@ $< > > quiet_cmd_vdso64ld_and_check = VDSO64L $@ > - cmd_vdso64ld_and_check = $(VDSOCC) $(c_flags) $(CC64FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) > + cmd_vdso64ld_and_check = $(VDSOCC) $(ldflags-y) $(CC64FLAGS) $(LD64FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) -z noexecstack ; $(cmd_vdso_check) Let's move `-z noexecstack` up into ldflags-y? (you may add my RB with that modification) > quiet_cmd_vdso64as = VDSO64A $@ > cmd_vdso64as = $(VDSOCC) $(a_flags) $(CC64FLAGS) $(AS64FLAGS) -c -o $@ $< > > > -- > 2.39.0 -- Thanks, ~Nick Desaulniers
next prev parent reply other threads:[~2023-01-09 22:08 UTC|newest] Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-04 19:54 [PATCH 00/14] Remove clang's -Qunused-arguments from KBUILD_CPPFLAGS Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-04 19:54 ` [PATCH 01/14] x86/boot/compressed: prefer cc-option for CFLAGS additions Nathan Chancellor 2023-01-04 19:54 ` [PATCH 02/14] MIPS: Always use -Wa,-msoft-float and eliminate GAS_HAS_SET_HARDFLOAT Nathan Chancellor 2023-01-09 21:18 ` Nick Desaulniers 2023-01-10 7:45 ` Philippe Mathieu-Daudé 2023-01-10 8:30 ` Thomas Bogendoerfer 2023-01-04 19:54 ` [PATCH 03/14] MIPS: Prefer cc-option for additions to cflags Nathan Chancellor 2023-01-09 21:21 ` Nick Desaulniers 2023-01-10 7:42 ` Philippe Mathieu-Daudé 2023-01-10 8:30 ` Thomas Bogendoerfer 2023-01-04 19:54 ` [PATCH 04/14] kbuild: Update assembler calls to use proper flags and language target Nathan Chancellor 2023-01-04 19:54 ` [PATCH 05/14] powerpc: Remove linker flag from KBUILD_AFLAGS Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-09 21:24 ` Nick Desaulniers 2023-01-09 21:24 ` Nick Desaulniers 2023-01-04 19:54 ` [PATCH 06/14] powerpc/vdso: Remove unused '-s' flag from ASFLAGS Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-09 21:58 ` Nick Desaulniers 2023-01-09 21:58 ` Nick Desaulniers 2023-01-09 22:15 ` Nathan Chancellor 2023-01-09 22:15 ` Nathan Chancellor 2023-01-09 22:21 ` Nick Desaulniers 2023-01-09 22:21 ` Nick Desaulniers 2023-01-09 22:23 ` Segher Boessenkool 2023-01-09 22:23 ` Segher Boessenkool 2023-01-09 22:37 ` Nathan Chancellor 2023-01-09 22:37 ` Nathan Chancellor 2023-01-09 22:47 ` Segher Boessenkool 2023-01-09 22:47 ` Segher Boessenkool 2023-01-09 23:14 ` Nick Desaulniers 2023-01-10 0:51 ` Nathan Chancellor 2023-01-10 0:51 ` Nathan Chancellor 2023-01-10 11:45 ` Segher Boessenkool 2023-01-10 11:45 ` Segher Boessenkool 2023-01-10 15:02 ` Nathan Chancellor 2023-01-10 15:02 ` Nathan Chancellor [not found] ` <20230109222337.GM25951__25255.3859770828$1673303520$gmane$org@gate.crashing.org> 2023-01-10 0:22 ` Andreas Schwab 2023-01-10 0:22 ` Andreas Schwab 2023-01-10 0:43 ` Segher Boessenkool 2023-01-10 0:43 ` Segher Boessenkool 2023-01-04 19:54 ` [PATCH 07/14] powerpc/vdso: Improve linker flags Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-09 22:08 ` Nick Desaulniers [this message] 2023-01-09 22:08 ` Nick Desaulniers 2023-01-09 22:15 ` Nathan Chancellor 2023-01-09 22:15 ` Nathan Chancellor 2023-01-04 19:54 ` [PATCH 08/14] powerpc/vdso: Remove an unsupported flag from vgettimeofday-32.o with clang Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-09 22:12 ` Nick Desaulniers 2023-01-09 22:12 ` Nick Desaulniers 2023-01-09 22:38 ` Nathan Chancellor 2023-01-09 22:38 ` Nathan Chancellor 2023-01-09 23:16 ` Nick Desaulniers 2023-01-09 23:16 ` Nick Desaulniers 2023-01-04 19:54 ` [PATCH 09/14] s390/vdso: Drop unused '-s' flag from KBUILD_AFLAGS_64 Nathan Chancellor 2023-01-05 7:27 ` Sven Schnelle 2023-01-04 19:54 ` [PATCH 10/14] s390/vdso: Drop '-shared' from KBUILD_CFLAGS_64 Nathan Chancellor 2023-01-05 7:31 ` Sven Schnelle 2023-01-04 19:54 ` [PATCH 11/14] s390/purgatory: Remove unused '-MD' and unnecessary '-c' flags Nathan Chancellor 2023-01-05 7:33 ` Sven Schnelle 2023-01-04 19:54 ` [PATCH 12/14] drm/amd/display: Do not add '-mhard-float' to dml_ccflags for clang Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-04 19:54 ` Nathan Chancellor 2023-01-05 14:21 ` Alex Deucher 2023-01-05 14:21 ` Alex Deucher 2023-01-04 19:54 ` [PATCH 13/14] kbuild: Turn a couple more of clang's unused option warnings into errors Nathan Chancellor 2023-01-09 22:15 ` Nick Desaulniers 2023-01-04 19:54 ` [PATCH 14/14] kbuild: Stop using '-Qunused-arguments' with clang Nathan Chancellor 2023-01-09 22:17 ` Nick Desaulniers 2023-01-05 8:00 ` [PATCH 00/14] Remove clang's -Qunused-arguments from KBUILD_CPPFLAGS Heiko Carstens 2023-01-05 8:00 ` Heiko Carstens 2023-01-05 8:00 ` Heiko Carstens 2023-01-05 8:00 ` Heiko Carstens
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAKwvOdk6wzoPWoAoShtaeCDZXEZ2b7OAE05pHZy-ry=Eu8UnAg@mail.gmail.com' \ --to=ndesaulniers@google.com \ --cc=christophe.leroy@csgroup.eu \ --cc=linux-kbuild@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=lkp@intel.com \ --cc=llvm@lists.linux.dev \ --cc=masahiroy@kernel.org \ --cc=mpe@ellerman.id.au \ --cc=nathan@kernel.org \ --cc=nicolas@fjasle.eu \ --cc=npiggin@gmail.com \ --cc=trix@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.