Re: [PATCH 22/30] perf tools: bfd.h/libbfd detection fails with recent binutils

From: Mike Frysinger
Date: Tue Sep 25 2012 - 12:40:48 EST


On Tuesday 25 September 2012 02:47:28 Markus Trippelsdorf wrote:
> On 2012.09.24 at 19:58 -0400, Mike Frysinger wrote:
> > On Monday 24 September 2012 11:59:36 Arnaldo Carvalho de Melo wrote:
> > > --- a/tools/perf/Makefile
> > > +++ b/tools/perf/Makefile
> > >
> > > - FLAGS_BFD=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd
> > > + FLAGS_BFD=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -
DPACKAGE='perf' -
> >
> > in this case, if you were to expand PACKAGE, you'd get back the symbol
> > perf (which most likely will be an error, but maybe it won't). i think
> > this should
> >
> > be instead:
> > -DPACKAGE='"perf"'
> >
> > > --- a/tools/perf/util/symbol.h
> > > +++ b/tools/perf/util/symbol.h
> > >
> > > +#define PACKAGE 'perf'
> >
> > this isn't valid C anywhere. pretty sure this should be:
> > #define PACKAGE "perf"
>
> The only thing that's really important is that PACKAGE isn't NULL,

you mean "isn't defined". i'm aware of that, but i'm trying to make you future
proof in case PACKAGE gets expanded somewhere.

> So if you feel strongly about it, feel free to post a patch that just
> sets PACKAGE to 1. This would avoid all possible ambiguity.

no it wouldn't. this define, in the context of binutils (and really any
autotools project), should be a string. anything else is invalid.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.