Re: [PATCH 1/3] perf tools: Separate lbfd check out of NO_DEMANGLEcondition

From: Jiri Olsa
Date: Sun Sep 29 2013 - 23:13:32 EST


On Sun, Sep 29, 2013 at 03:52:06PM +0900, Namhyung Kim wrote:
> Hi Jiri,
>
> 2013-09-27 (ê), 16:32 +0200, Jiri Olsa:
> > We fail build with NO_DEMANGLE with missing -lbfd externals error.
> > The reason is that we now use bfd code in srcline object:
> > perf tools: Implement addr2line directly using libbfd
> >
> > So we need to check/add -lbfd always now.
> >
> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> > Cc: Ingo Molnar <mingo@xxxxxxx>
> > Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> > Cc: Paul Mackerras <paulus@xxxxxxxxx>
> > Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> > Cc: David Ahern <dsahern@xxxxxxxxx>
> > ---
> > tools/perf/config/Makefile | 17 ++++++++---------
> > 1 file changed, 8 insertions(+), 9 deletions(-)
> >
> > diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> > index 8b49a00..40a41c6 100644
> > --- a/tools/perf/config/Makefile
> > +++ b/tools/perf/config/Makefile
> > @@ -360,6 +360,13 @@ else
> > endif
> > endif
> >
> > +FLAGS_BFD=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
> > +has_bfd := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD),libbfd)
> > +ifeq ($(has_bfd),y)
> > + EXTLIBS += -lbfd
> > + CFLAGS += -DLIBBFD_SUPPORT
> > +endif
> > +
> > ifdef NO_DEMANGLE
> > CFLAGS += -DNO_DEMANGLE
> > else
> > @@ -367,11 +374,7 @@ else
> > EXTLIBS += -liberty
> > CFLAGS += -DHAVE_CPLUS_DEMANGLE
> > else
> > - FLAGS_BFD=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
> > - has_bfd := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD),libbfd)
> > - ifeq ($(has_bfd),y)
> > - EXTLIBS += -lbfd
> > - else
> > + ifneq ($(has_bfd),y)
> > FLAGS_BFD_IBERTY=$(FLAGS_BFD) -liberty
> > has_bfd_iberty := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD_IBERTY),liberty)
> > ifeq ($(has_bfd_iberty),y)
> > @@ -397,10 +400,6 @@ else
> > endif
> > endif
> >
> > -ifndef ($(filter -lbfd,$(EXTLIBS)),)
> > - CFLAGS += -DLIBBFD_SUPPORT
> > -endif
> > -
> > ifndef NO_STRLCPY
> > ifeq ($(call try-cc,$(SOURCE_STRLCPY),,-DHAVE_STRLCPY),y)
> > CFLAGS += -DHAVE_STRLCPY
>
> Is it enough to check on -lbfd only? I guess libbfd can have additional
> dependencies to libiberty and libz. If so, this patch can fail to set
> -DLIBBFD_SUPPORT, right?

hum, you're right.. so it's 2 bugs fixed by removing that code ;-)

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/