Em Wed, Sep 07, 2022 at 09:52:48AM +0530, Anshuman Khandual escreveu: > > > On 9/7/22 08:30, Stephen Rothwell wrote: > > Hi all, > > > > On Wed, 7 Sep 2022 08:01:34 +0530 Anshuman Khandual <anshuman.khandual@xxxxxxx> wrote: > >> > >> On 9/7/22 00:35, Stephen Rothwell wrote: > >>> Hi all, > >>> > >>> On Wed, 31 Aug 2022 08:34:52 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > >>>> > >>>> After merging the perf tree, today's linux-next build (native perf) > >>>> failed like this: > >>>> > >>>> In file included from /usr/include/stdio.h:866, > >>>> from /home/sfr/next/next/tools/perf/util/branch.h:9, > >>>> from util/branch.c:2: > >>>> In function 'fprintf', > >>>> inlined from 'branch_type_stat_display' at util/branch.c:152:4: > >>>> /usr/include/powerpc64le-linux-gnu/bits/stdio2.h:105:10: error: '%8s' directive argument is null [-Werror=format-overflow=] > >>>> 105 | return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, > >>>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >>>> 106 | __va_arg_pack ()); > >>>> | ~~~~~~~~~~~~~~~~~ > >>>> cc1: all warnings being treated as errors > >>>> > >>>> Presumably caused by commit > >>>> > >>>> 9781e500dcb8 ("perf branch: Extend branch type classification") > >>>> > >>>> "native" here is PowerPC64 LE. > >>>> $ gcc --version > >>>> gcc (Debian 11.2.0-10) 11.2.0 > >>>> > >>>> I have used the perf tree from next-20220830 for today. > >>> > >>> I am still seeing this build failure. > >> > >> But did you apply the fix patch from Arnaldo that removes -Wno-format-overflow > >> compiler option for the file util/branch.c ? > >> > >> https://lore.kernel.org/all/YxJBh3wvAGol+Ekq@xxxxxxxxxx/ > > > > No, I expected a fix to be in the perf tree ... > > > > Also note that the following fixes the problem for me: > > > > diff --git a/tools/perf/util/branch.c b/tools/perf/util/branch.c > > index d40776c44b06..b7b898f2872e 100644 > > --- a/tools/perf/util/branch.c > > +++ b/tools/perf/util/branch.c > > @@ -88,7 +88,8 @@ const char *branch_type_name(int type) > > "ERET", > > "IRQ", > > "SERROR", > > - "NO_TX" > > + "NO_TX", > > + "" > > }; > > > > if (type >= 0 && type < PERF_BR_MAX) > > This looks right, makes sense. > > > > > > > PERF_BR_MAX has been increased by one (when PERF_BR_EXTEND_ABI was > > added), but a new string has not been added to the array ... > > Right, even though new branch_new_names[] array gets queried on when type > value is PERF_BR_EXTEND_ABI, branch_names[] should still contain an empty > string "" just to match the now incremented PERF_BR_MAX which extends the > array size as well. I guess the compiler detects this mismatch here and > just complains about it. > > Hello Arnaldo, > > As adding empty string to the array solves the build problem, I guess we > should fold this fix instead, rather than trying to drop the compiler > option itself, as discussed earlier. I'll do it, and even force push perf/core so that this problem doesn't get into the bisection history upstream. - Arnaldo > The above fix should be folded into the following commit > > 9781e500dcb8 ("perf branch: Extend branch type classification") > > in the following perf tree - branch. > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git (perf/core) > > - Anshuman -- - Arnaldo