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

From: Namhyung Kim
Date: Sun Sep 29 2013 - 02:52:32 EST


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?

Thanks,
Namhyung


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