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