Re: [PATCH] perf tools: Fix build failture on perl script context

From: Arnaldo Carvalho de Melo
Date: Tue Aug 02 2016 - 10:22:31 EST


Em Tue, Aug 02, 2016 at 11:03:02PM +0900, Namhyung Kim escreveu:
> Hi Arnaldo,
>
> On Tue, Aug 02, 2016 at 10:29:22AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Aug 02, 2016 at 11:43:17AM +0900, Namhyung Kim escreveu:
> > > On my Archlinux machine, perf faild to build like below:
> > >
> > > CC scripts/perl/Perf-Trace-Util/Context.o
> > > In file included from /usr/lib/perl5/core/perl/CORE/perl.h:3905:0,
> > > from Context.xs:23:
> > > /usr/lib/perl5/core/perl/CORE/inline.h: In function :
> > > /usr/lib/perl5/core/perl/CORE/cop.h:612:13: warning: declaration of 'av'
> > > shadows a previous local [-Werror-shadow]
> > > AV *av =3D GvAV(PL_defgv);
> > > ^
> > > /usr/lib/perl5/core/perl/CORE/inline.h:526:5: note: in expansion of
> > > macro 'CX_POP_SAVEARRAY'
> > > CX_POP_SAVEARRAY(cx);
> > > ^~~~~~~~~~~~~~~~
> > > In file included from /usr/lib/perl5/core/perl/CORE/perl.h:5853:0,
> > > from Context.xs:23:
> > > /usr/lib/perl5/core/perl/CORE/inline.h:518:9: note:
> > > shadowed declaration is here
> > > AV *av;
> > > ^~
> >
> > But you forgot to describe _what_ you did to "fix" the problem besides
> > breaking down a long line, i.e. adding -Wno-shadow, is that what we
> > want? To ignore such warnings?
> >
> > Some explanation in the changelog as to why that is the wise solution
> > would help a lot :-\
>
> Oops, sorry.
>
> What I did to fix is adding '-Wno-shadow' as the error message said
> it's the cause of the failure. Since it's from the perl (not perf)
> code base, we don't have the control so I just wanted to ignore the
> warning when compiling perl scripting code.
>
> Is it ok for you?

Now it is :-)

I'll stick this to the changeset log as the reason for adding
-wno-shadow just for building the perl code.

Sometimes we'll get to this conclusion after some thinking, if you add
these explanations to the changelog then it speeds up reviewing.

Thanks,

- Arnaldo

> Thanks,
> Namhyung
>
>
> > >
> > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > > ---
> > > tools/perf/scripts/perl/Perf-Trace-Util/Build | 4 +++-
> > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/tools/perf/scripts/perl/Perf-Trace-Util/Build b/tools/perf/scripts/perl/Perf-Trace-Util/Build
> > > index 928e110179cb..34faecf774ae 100644
> > > --- a/tools/perf/scripts/perl/Perf-Trace-Util/Build
> > > +++ b/tools/perf/scripts/perl/Perf-Trace-Util/Build
> > > @@ -1,3 +1,5 @@
> > > libperf-y += Context.o
> > >
> > > -CFLAGS_Context.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs -Wno-undef -Wno-switch-default
> > > +CFLAGS_Context.o += $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes
> > > +CFLAGS_Context.o += -Wno-unused-parameter -Wno-nested-externs -Wno-undef
> > > +CFLAGS_Context.o += -Wno-switch-default -Wno-shadow
> > > --
> > > 2.9.2