On Wed, Jun 12, 2019 at 3:43 AM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > In commit ebcc5928c5d9 ("arm64: Silence gcc warnings about arch ABI > drift"), the arm64 Makefile added -Wno-psabi to KBUILD_CFLAGS, which is > a GCC only option so clang rightfully complains: > > warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option] > > https://clang.llvm.org/docs/DiagnosticsReference.html#wunknown-warning-option > > However, by default, this is merely a warning so the build happily goes > on with a slew of these warnings in the process. > > Commit c3f0d0bc5b01 ("kbuild, LLVMLinux: Add -Werror to cc-option to > support clang") worked around this behavior in cc-option by adding > -Werror so that unknown flags cause an error. However, this all happens > silently and when an unknown flag is added to the build unconditionally > like -Wno-psabi, cc-option will always fail because there is always an > unknown flag in the list of flags. This manifested as link time failures > in the arm64 libstub because -fno-stack-protector didn't get added to > KBUILD_CFLAGS. > > To avoid these weird cryptic failures in the future, make clang behave > like gcc and immediately error when it encounters an unknown flag by > adding -Werror=unknown-warning-option to CLANG_FLAGS. This can be added > unconditionally for clang because it is supported by at least 3.0.0, > according to godbolt [1] and 4.0.0, according to its documentation [2], > which is far earlier than we typically support. > > [1]: https://godbolt.org/z/7F7rm3 > [2]: https://releases.llvm.org/4.0.0/tools/clang/docs/DiagnosticsReference.html#wunknown-warning-option > > Link: https://github.com/ClangBuiltLinux/linux/issues/511 > Link: https://github.com/ClangBuiltLinux/linux/issues/517 > Suggested-by: Peter Smith <peter.smith@xxxxxxxxxx> > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- Applied to linux-kbuild. Thanks! -- Best Regards Masahiro Yamada