lkml.org 
[lkml]   [2021]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/2] kbuild: Add -Werror=ignored-optimization-argument to CLANG_FLAGS
    Date
    Similar to commit 589834b3a009 ("kbuild: Add
    -Werror=unknown-warning-option to CLANG_FLAGS").

    Clang ignores certain GCC flags that it has not implemented, only
    emitting a warning:

    $ echo | clang -fsyntax-only -falign-jumps -x c -
    clang-14: warning: optimization flag '-falign-jumps' is not supported
    [-Wignored-optimization-argument]

    When one of these flags gets added to KBUILD_CFLAGS unconditionally, all
    subsequent cc-{disable-warning,option} calls fail because -Werror was
    added to these invocations to turn the above warning and the equivalent
    -W flag warning into errors.

    To catch the presence of these flags earlier, turn
    -Wignored-optimization-argument into an error so that the flags can
    either be implemented or ignored via cc-option and there are no more
    weird errors.

    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    ---
    scripts/Makefile.clang | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang
    index 4cce8fd0779c..2fe38a9fdc11 100644
    --- a/scripts/Makefile.clang
    +++ b/scripts/Makefile.clang
    @@ -29,7 +29,11 @@ CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
    else
    CLANG_FLAGS += -fintegrated-as
    endif
    +# By default, clang only warns on unknown warning or optimization flags
    +# Make it behave more like gcc by erroring when these flags are encountered
    +# so they can be implemented or wrapped in cc-option.
    CLANG_FLAGS += -Werror=unknown-warning-option
    +CLANG_FLAGS += -Werror=ignored-optimization-argument
    KBUILD_CFLAGS += $(CLANG_FLAGS)
    KBUILD_AFLAGS += $(CLANG_FLAGS)
    export CLANG_FLAGS
    --
    2.33.0
    \
     
     \ /
      Last update: 2021-08-24 04:28    [W:3.082 / U:0.608 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site