mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available
make version 3.80 doesn't support "else ifdef" on the same line, also it doesn't support unindented nested constructs. Build fails with: Makefile:608: Extraneous text after `else' directive Makefile:611: *** only one `else' per conditional. Stop. This patch fixes the build for make 3.80. Cc: Ingo Molnar <mingo@elte.hu>, Cc: Borislav Petkov <borislav.petkov@amd.com> LKML-Reference: <1278430783-17259-1-git-send-email-conny.seidel@amd.com> Signed-off-by: Conny Seidel <conny.seidel@amd.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
70a7cb3b39
commit
8a4fd31e0e
@ -600,30 +600,32 @@ endif
|
|||||||
|
|
||||||
ifdef NO_DEMANGLE
|
ifdef NO_DEMANGLE
|
||||||
BASIC_CFLAGS += -DNO_DEMANGLE
|
BASIC_CFLAGS += -DNO_DEMANGLE
|
||||||
else ifdef HAVE_CPLUS_DEMANGLE
|
|
||||||
EXTLIBS += -liberty
|
|
||||||
BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
||||||
else
|
else
|
||||||
has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd "$(QUIET_STDERR)" && echo y")
|
ifdef HAVE_CPLUS_DEMANGLE
|
||||||
|
EXTLIBS += -liberty
|
||||||
ifeq ($(has_bfd),y)
|
BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
||||||
EXTLIBS += -lbfd
|
|
||||||
else
|
else
|
||||||
has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty "$(QUIET_STDERR)" && echo y")
|
has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd "$(QUIET_STDERR)" && echo y")
|
||||||
ifeq ($(has_bfd_iberty),y)
|
|
||||||
EXTLIBS += -lbfd -liberty
|
ifeq ($(has_bfd),y)
|
||||||
|
EXTLIBS += -lbfd
|
||||||
else
|
else
|
||||||
has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty -lz "$(QUIET_STDERR)" && echo y")
|
has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty "$(QUIET_STDERR)" && echo y")
|
||||||
ifeq ($(has_bfd_iberty_z),y)
|
ifeq ($(has_bfd_iberty),y)
|
||||||
EXTLIBS += -lbfd -liberty -lz
|
EXTLIBS += -lbfd -liberty
|
||||||
else
|
else
|
||||||
has_cplus_demangle := $(shell sh -c "(echo 'extern char *cplus_demangle(const char *, int);'; echo 'int main(void) { cplus_demangle(0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -liberty "$(QUIET_STDERR)" && echo y")
|
has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty -lz "$(QUIET_STDERR)" && echo y")
|
||||||
ifeq ($(has_cplus_demangle),y)
|
ifeq ($(has_bfd_iberty_z),y)
|
||||||
EXTLIBS += -liberty
|
EXTLIBS += -lbfd -liberty -lz
|
||||||
BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
||||||
else
|
else
|
||||||
msg := $(warning No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling)
|
has_cplus_demangle := $(shell sh -c "(echo 'extern char *cplus_demangle(const char *, int);'; echo 'int main(void) { cplus_demangle(0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) -liberty "$(QUIET_STDERR)" && echo y")
|
||||||
BASIC_CFLAGS += -DNO_DEMANGLE
|
ifeq ($(has_cplus_demangle),y)
|
||||||
|
EXTLIBS += -liberty
|
||||||
|
BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
||||||
|
else
|
||||||
|
msg := $(warning No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling)
|
||||||
|
BASIC_CFLAGS += -DNO_DEMANGLE
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user