Re: [PATCH] ftrace: Build with CPPFLAGS to get -Qunused-arguments

From: Nick Desaulniers
Date: Mon Sep 17 2018 - 13:24:26 EST


On Mon, Sep 17, 2018 at 12:38 AM Joel Stanley <joel@xxxxxxxxx> wrote:
>
> When building to record the mcount locations the kernel uses
> KBUILD_CFLAGS but not KBUILD_CPPFLAGS. This means it lacks
> -Qunused-arguments when building with clang, resulting in a lot of
> noisy warnings.
>
> Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
> ---
> Not sure why -Qunused-arguments is in CPP instead of KBUILD_CFLAGS. We
> could instead put it in KBUILD_CFLAGS, and not need this patch.

The preprocessor has flags that can change the definitions of macros.
So there might be unused flags there. I'm not a fan of covering up
those warnings via -Qunused-arguments; the flags should be feature
detected via cc-option and friends rather than always added then
silenced if excessive. That hides flags that are long dead/unused.

Thanks for this patch!
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

>
> scripts/Makefile.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 5a2d1c9578a0..54da4b070db3 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -219,7 +219,7 @@ else
> sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \
> "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \
> "$(if $(CONFIG_64BIT),64,32)" \
> - "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CFLAGS)" \
> + "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS)" \
> "$(LD) $(KBUILD_LDFLAGS)" "$(NM)" "$(RM)" "$(MV)" \
> "$(if $(part-of-module),1,0)" "$(@)";
> recordmcount_source := $(srctree)/scripts/recordmcount.pl
> --
> 2.17.1
>


--
Thanks,
~Nick Desaulniers