| From foo@baz Wed Nov 21 18:50:25 CET 2018 |
| From: Michael Davidson <md@google.com> |
| Date: Tue, 25 Apr 2017 15:47:35 -0700 |
| Subject: kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS |
| |
| From: Michael Davidson <md@google.com> |
| |
| commit a37c45cd82e62a361706b9688a984a3a63957321 upstream. |
| |
| The Linux Kernel relies on GCC's acceptance of inline assembly as an |
| opaque object which will not have any validation performed on the content. |
| The current behaviour in LLVM is to perform validation of the contents by |
| means of parsing the input if the MC layer can handle it. |
| |
| Disable clangs integrated assembler and use the GNU assembler instead. |
| |
| Wording-mostly-from: Saleem Abdulrasool <compnerd@compnerd.org> |
| Signed-off-by: Michael Davidson <md@google.com> |
| Signed-off-by: Matthias Kaehlcke <mka@chromium.org> |
| Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| Makefile | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -725,6 +725,8 @@ KBUILD_CFLAGS += $(call cc-disable-warni |
| # See modpost pattern 2 |
| KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) |
| KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) |
| +KBUILD_CFLAGS += $(call cc-option, -no-integrated-as) |
| +KBUILD_AFLAGS += $(call cc-option, -no-integrated-as) |
| else |
| |
| # These warnings generated too much noise in a regular build. |