diff options
Diffstat (limited to 'queue-5.4/kbuild-update-assembler-calls-to-use-proper-flags-and-language-target.patch')
-rw-r--r-- | queue-5.4/kbuild-update-assembler-calls-to-use-proper-flags-and-language-target.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/queue-5.4/kbuild-update-assembler-calls-to-use-proper-flags-and-language-target.patch b/queue-5.4/kbuild-update-assembler-calls-to-use-proper-flags-and-language-target.patch deleted file mode 100644 index 0b9b2dd6e44..00000000000 --- a/queue-5.4/kbuild-update-assembler-calls-to-use-proper-flags-and-language-target.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 53842cd1ecb80f2347244af2a4fdfd2956e010b6 Mon Sep 17 00:00:00 2001 -From: Nick Desaulniers <ndesaulniers@google.com> -Date: Wed, 11 Jan 2023 20:05:01 -0700 -Subject: kbuild: Update assembler calls to use proper flags and language target - -From: Nick Desaulniers <ndesaulniers@google.com> - -commit d5c8d6e0fa61401a729e9eb6a9c7077b2d3aebb0 upstream. - -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 in KBUILD_CFLAGS for assembler sources. - -Callers of as-option and as-instr should be adding flags to -KBUILD_AFLAGS / aflags-y, not KBUILD_CFLAGS / cflags-y. Use -KBUILD_AFLAGS in all macros to clear up the initial problem. - -Unfortunately, -Wunused-command-line-argument can still be triggered -with clang by the presence of warning flags or macro definitions because -'-x assembler' is used, instead of '-x assembler-with-cpp', which will -consume these flags. Switch to '-x assembler-with-cpp' in places where -'-x assembler' is used, as the compiler is always used as the driver for -out of line assembler sources in the kernel. - -Finally, add -Werror to these macros so that they behave consistently -whether or not CONFIG_WERROR is set. - -[nathan: Reworded and expanded on problems in commit message - Use '-x assembler-with-cpp' in a couple more places] - -Link: https://github.com/ClangBuiltLinux/linux/issues/1699 -Suggested-by: Masahiro Yamada <masahiroy@kernel.org> -Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> -Signed-off-by: Nathan Chancellor <nathan@kernel.org> -Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> -Tested-by: Anders Roxell <anders.roxell@linaro.org> -Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> -Signed-off-by: Nathan Chancellor <nathan@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - scripts/Kbuild.include | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/scripts/Kbuild.include -+++ b/scripts/Kbuild.include -@@ -99,16 +99,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) |