llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: Michal Marek <michal.lkml@markovi.net>,
	Nathan Chancellor <nathan@kernel.org>, Tom Rix <trix@redhat.com>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	clang-built-linux <llvm@lists.linux.dev>, X86 ML <x86@kernel.org>,
	Dmitrii Bundin <dmitrii.bundin.a@gmail.com>,
	Fangrui Song <maskray@google.com>,
	Alexey Alexandrov <aalexand@google.com>,
	Bill Wendling <morbo@google.com>,
	Greg Thelen <gthelen@google.com>
Subject: Re: [PATCH v3 2/5] Makefile.compiler: Use KBUILD_AFLAGS for as-option
Date: Sat, 10 Sep 2022 06:06:10 +0900	[thread overview]
Message-ID: <CAK7LNAR0e2sA4QMssbMf8B0459_LoB9ykfTmFmFVXOjqBea4-w@mail.gmail.com> (raw)
In-Reply-To: <20220907045907.484043-3-ndesaulniers@google.com>

On Wed, Sep 7, 2022 at 1:59 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
>
> as-instr uses KBUILD_AFLAGS, but as-option uses KBUILD_CFLAGS.  This can
> cause as-option to fail unexpectedly when CONFIG_WERROR is set, because
> clang will emit -Werror,-Wunused-command-line-argument for various -m
> and -f flags for assembler sources.
>
> Callers of as-option (and as-instr) likely want to be adding flags to
> KBUILD_AFLAGS/aflags-y, not KBUILD_CFLAGS/cflags-y.
>
> Also, change as-option and as-instr to use -x assembler-with-cpp since
> kernel sources are .S files that use the compiler as the driver. And
> then add -Werror as well.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1699
> Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
> Reviewed-by: Nathan Chancellor <nathan@kernel.org>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> ---



01 and 02, applied to linux-kbuild/fixes.
Thanks.




> Changes v2 -> v1:
> * Add -x assembler-with-cpp -Werror to both as-option and (new)
>   as-instr, as per Masahiro.
> * Add Masahiro's SB tag.
>
> Changes v1 -> v2:
> * Split off changes to arch/x86/boot/compressed/Makefile into parent
>   patch, as per Masahiro.
>
>  scripts/Makefile.compiler | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/Makefile.compiler b/scripts/Makefile.compiler
> index 94d0d40cddb3..a66638b5f4a5 100644
> --- a/scripts/Makefile.compiler
> +++ b/scripts/Makefile.compiler
> @@ -29,16 +29,16 @@ try-run = $(shell set -e;           \
>         fi)
>
>  # as-option
> -# Usage: cflags-y += $(call as-option,-Wa$(comma)-isa=foo,)
> +# Usage: aflags-y += $(call as-option,-Wa$(comma)-isa=foo,)
>
>  as-option = $(call try-run,\
> -       $(CC) $(KBUILD_CFLAGS) $(1) -c -x assembler /dev/null -o "$$TMP",$(1),$(2))
> +       $(CC) -Werror $(KBUILD_AFLAGS) $(1) -c -x assembler-with-cpp /dev/null -o "$$TMP",$(1),$(2))
>
>  # as-instr
> -# Usage: cflags-y += $(call as-instr,instr,option1,option2)
> +# Usage: aflags-y += $(call as-instr,instr,option1,option2)
>
>  as-instr = $(call try-run,\
> -       printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3))
> +       printf "%b\n" "$(1)" | $(CC) -Werror $(KBUILD_AFLAGS) -c -x assembler-with-cpp -o "$$TMP" -,$(2),$(3))
>
>  # __cc-option
>  # Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586)
> --
> 2.37.2.789.g6183377224-goog
>


-- 
Best Regards
Masahiro Yamada

  reply	other threads:[~2022-09-09 21:07 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-07  4:59 [PATCH v3 0/5] fix debug info for asm and DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-07  4:59 ` [PATCH v3 1/5] x86/boot/compressed: prefer cc-option for CFLAGS additions Nick Desaulniers
2022-09-09 21:05   ` Masahiro Yamada
2022-09-07  4:59 ` [PATCH v3 2/5] Makefile.compiler: Use KBUILD_AFLAGS for as-option Nick Desaulniers
2022-09-09 21:06   ` Masahiro Yamada [this message]
2022-09-07  4:59 ` [PATCH v3 3/5] Makefile.compiler: replace cc-ifversion with compiler-specific macros Nick Desaulniers
2022-09-09 21:59   ` Masahiro Yamada
2022-09-07  4:59 ` [PATCH v3 4/5] Makefile.debug: re-enable debug info for .S files Nick Desaulniers
2022-09-07  4:59 ` [PATCH v3 5/5] Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-09 20:56   ` Masahiro Yamada
2022-09-09 21:02     ` Masahiro Yamada
2022-09-19 17:08       ` [PATCH v4] Makefile.compiler: replace cc-ifversion with compiler-specific macros Nick Desaulniers
2022-09-23 19:44         ` Masahiro Yamada
2022-09-24 14:28           ` Masahiro Yamada
2022-09-25  1:22             ` Masahiro Yamada
2022-09-26 21:41               ` Nick Desaulniers
2023-04-27 11:53         ` Shreeya Patel
2023-04-28  7:41           ` Thorsten Leemhuis
2023-05-02  9:48             ` Shreeya Patel
2023-05-02 11:58               ` Linux regression tracking (Thorsten Leemhuis)
2023-04-28 17:27           ` Nick Desaulniers
2023-05-03 21:02             ` Shreeya Patel
2023-05-03 21:15               ` Nick Desaulniers
2023-05-03 22:33                 ` Shreeya Patel
2023-05-15 23:01                   ` Nick Desaulniers
2023-05-17  8:34                     ` Shreeya Patel
2023-05-17 15:39                     ` Ricardo Cañuelo
2023-05-17 16:27                       ` Nick Desaulniers
2023-05-18 14:23                         ` Ricardo Cañuelo
2023-05-18 21:12                           ` Nick Desaulniers
2023-05-19  8:35                             ` Ricardo Cañuelo
2023-05-19 15:57                               ` Nick Desaulniers
2023-05-22 10:09                                 ` Ricardo Cañuelo
2023-05-22 16:52                                   ` Greg KH
2023-05-22 19:52                                     ` Nick Desaulniers
2023-05-22 20:01                                       ` Greg KH
2023-05-22 20:16                                         ` Nick Desaulniers
2023-05-23 10:27                                       ` Shreeya Patel
2023-05-23 21:27                                         ` Nick Desaulniers
2023-06-12 10:10                                           ` Shreeya Patel
2023-06-20  4:19                                             ` Masahiro Yamada
2023-07-10 12:09                                               ` Linux regression tracking (Thorsten Leemhuis)
2023-07-11 11:16                                                 ` Shreeya Patel
2023-08-29 11:28                                                   ` Linux regression tracking (Thorsten Leemhuis)
2023-09-11 10:05                                                     ` Thorsten Leemhuis
2023-09-15  9:33                                                       ` Shreeya Patel
2023-09-30 10:24                                                         ` Masahiro Yamada
2022-09-19 17:30       ` [PATCH v4] Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-24  1:34         ` Masahiro Yamada
2022-09-19 17:45       ` [PATCH v4] Makefile.debug: re-enable debug info for .S files Nick Desaulniers
2022-09-24  2:11         ` Masahiro Yamada
2022-09-24  2:20           ` Nick Desaulniers
2022-09-24  6:43             ` Masahiro Yamada

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=CAK7LNAR0e2sA4QMssbMf8B0459_LoB9ykfTmFmFVXOjqBea4-w@mail.gmail.com \
    --to=masahiroy@kernel.org \
    --cc=aalexand@google.com \
    --cc=dmitrii.bundin.a@gmail.com \
    --cc=gthelen@google.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=maskray@google.com \
    --cc=michal.lkml@markovi.net \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=trix@redhat.com \
    --cc=x86@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).