diff mbox series

ftrace: Build with CPPFLAGS to get -Qunused-arguments

Message ID 20180917073754.24048-1-joel@jms.id.au
State Accepted
Commit 5a4630aadb9a9525474e9ac92965829f990cb5c4
Headers show
Series ftrace: Build with CPPFLAGS to get -Qunused-arguments | expand

Commit Message

Joel Stanley Sept. 17, 2018, 7:37 a.m. UTC
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@jms.id.au>

---
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.

 scripts/Makefile.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

Comments

Nick Desaulniers Sept. 17, 2018, 5:24 p.m. UTC | #1
On Mon, Sep 17, 2018 at 12:38 AM Joel Stanley <joel@jms.id.au> 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@jms.id.au>

> ---

> 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@google.com>


>

>  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
Masahiro Yamada Sept. 19, 2018, 2:54 p.m. UTC | #2
2018-09-18 2:24 GMT+09:00 Nick Desaulniers <ndesaulniers@google.com>:
> On Mon, Sep 17, 2018 at 12:38 AM Joel Stanley <joel@jms.id.au> 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@jms.id.au>

>> ---

>> 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@google.com>

>

>>

>>  scripts/Makefile.build | 2 +-

>>  1 file changed, 1 insertion(+), 1 deletion(-)

>>



Applied to linux-kbuild/fixes. Thanks!


-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

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