From: Nathan Chancellor <nathan@kernel.org>
To: Nick Desaulniers <ndesaulniers@google.com>
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 08/14] powerpc/vdso: Remove an unsupported flag from vgettimeofday-32.o with clang
Date: Mon, 9 Jan 2023 15:38:15 -0700 [thread overview]
Message-ID: <Y7yXV3WOtWXF4PgT@dev-arch.thelio-3990X> (raw)
In-Reply-To: <CAKwvOd=oKBcFrsw5W1kJuVb5WXx+54BTJCtRkS1YwbeJZ6vX-w@mail.gmail.com>
On Mon, Jan 09, 2023 at 02:12:55PM -0800, Nick Desaulniers wrote:
> 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, it
> > warns:
> >
> > clang-16: error: argument unused during compilation: '-fno-stack-clash-protection' [-Werror,-Wunused-command-line-argument]
> >
> > This flag is supported for 64-bit powerpc but not 32-bit, hence the warning.
> > Just remove the flag from vgettimeofday-32.o's CFLAGS when using clang, as has
> > been done for other flags previously.
> >
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>
> Hmm...so this was added by the top level Makefile doing a cc-option
> test. How did the test pass if this was unsupported? That worries me
> that perhaps other cc-option tests are passing erroneously for certain
> ppc -m32/-m64 configs?
Sure, that is a reasonable concern. I should have expanded upon this a
little bit more in the commit message. Is this any better?
When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it
warns:
clang-16: error: argument unused during compilation: '-fno-stack-clash-protection' [-Werror,-Wunused-command-line-argument]
This warning happens because vgettimeofday-32.c gets its base CFLAGS
from the main kernel, which may contain flags that are only supported
on a 64-bit target but not a 32-bit one, which is the case here.
-fstack-clash-protection and its negation are only suppported by the
64-bit powerpc target but that flag is included in an invocation for a
32-bit powerpc target, so clang points out that while the flag is one
that it recognizes, it is not actually used by this compiler job.
To eliminate the warning, remove -fno-stack-clash-protection from
vgettimeofday-32.c's CFLAGS when using clang, as has been done for
other flags previously.
Cheers,
Nathan
> > ---
> > 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 | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/arch/powerpc/kernel/vdso/Makefile b/arch/powerpc/kernel/vdso/Makefile
> > index 769b62832b38..4ee7d36ce752 100644
> > --- a/arch/powerpc/kernel/vdso/Makefile
> > +++ b/arch/powerpc/kernel/vdso/Makefile
> > @@ -16,6 +16,11 @@ ifneq ($(c-gettimeofday-y),)
> > CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables
> > CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE)
> > CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc
> > + # This flag is supported by clang for 64-bit but not 32-bit so it will cause
> > + # an unused command line flag warning for this file.
> > + ifdef CONFIG_CC_IS_CLANG
> > + CFLAGS_REMOVE_vgettimeofday-32.o += -fno-stack-clash-protection
> > + endif
> > CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y)
> > CFLAGS_vgettimeofday-64.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
> > CFLAGS_vgettimeofday-64.o += $(call cc-option, -fno-stack-protector)
> >
> > --
> > 2.39.0
>
>
>
> --
> Thanks,
> ~Nick Desaulniers
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: Nick Desaulniers <ndesaulniers@google.com>
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 08/14] powerpc/vdso: Remove an unsupported flag from vgettimeofday-32.o with clang
Date: Mon, 9 Jan 2023 15:38:15 -0700 [thread overview]
Message-ID: <Y7yXV3WOtWXF4PgT@dev-arch.thelio-3990X> (raw)
In-Reply-To: <CAKwvOd=oKBcFrsw5W1kJuVb5WXx+54BTJCtRkS1YwbeJZ6vX-w@mail.gmail.com>
On Mon, Jan 09, 2023 at 02:12:55PM -0800, Nick Desaulniers wrote:
> 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, it
> > warns:
> >
> > clang-16: error: argument unused during compilation: '-fno-stack-clash-protection' [-Werror,-Wunused-command-line-argument]
> >
> > This flag is supported for 64-bit powerpc but not 32-bit, hence the warning.
> > Just remove the flag from vgettimeofday-32.o's CFLAGS when using clang, as has
> > been done for other flags previously.
> >
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>
> Hmm...so this was added by the top level Makefile doing a cc-option
> test. How did the test pass if this was unsupported? That worries me
> that perhaps other cc-option tests are passing erroneously for certain
> ppc -m32/-m64 configs?
Sure, that is a reasonable concern. I should have expanded upon this a
little bit more in the commit message. Is this any better?
When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it
warns:
clang-16: error: argument unused during compilation: '-fno-stack-clash-protection' [-Werror,-Wunused-command-line-argument]
This warning happens because vgettimeofday-32.c gets its base CFLAGS
from the main kernel, which may contain flags that are only supported
on a 64-bit target but not a 32-bit one, which is the case here.
-fstack-clash-protection and its negation are only suppported by the
64-bit powerpc target but that flag is included in an invocation for a
32-bit powerpc target, so clang points out that while the flag is one
that it recognizes, it is not actually used by this compiler job.
To eliminate the warning, remove -fno-stack-clash-protection from
vgettimeofday-32.c's CFLAGS when using clang, as has been done for
other flags previously.
Cheers,
Nathan
> > ---
> > 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 | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/arch/powerpc/kernel/vdso/Makefile b/arch/powerpc/kernel/vdso/Makefile
> > index 769b62832b38..4ee7d36ce752 100644
> > --- a/arch/powerpc/kernel/vdso/Makefile
> > +++ b/arch/powerpc/kernel/vdso/Makefile
> > @@ -16,6 +16,11 @@ ifneq ($(c-gettimeofday-y),)
> > CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables
> > CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE)
> > CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc
> > + # This flag is supported by clang for 64-bit but not 32-bit so it will cause
> > + # an unused command line flag warning for this file.
> > + ifdef CONFIG_CC_IS_CLANG
> > + CFLAGS_REMOVE_vgettimeofday-32.o += -fno-stack-clash-protection
> > + endif
> > CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y)
> > CFLAGS_vgettimeofday-64.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
> > CFLAGS_vgettimeofday-64.o += $(call cc-option, -fno-stack-protector)
> >
> > --
> > 2.39.0
>
>
>
> --
> Thanks,
> ~Nick Desaulniers
next prev parent reply other threads:[~2023-01-09 22:38 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
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 [this message]
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=Y7yXV3WOtWXF4PgT@dev-arch.thelio-3990X \
--to=nathan@kernel.org \
--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=ndesaulniers@google.com \
--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: link
Be 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.