Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95485b1c authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf tools: Convert to LIBUNWIND_SUPPORT



For building perf without libunwind, we can set NO_LIBUNWIND=1 as a
argument of make.  It then defines NO_LIBUNWIND_SUPPORT macro for C code
to do the proper handling.  However it usually used in a negative
semantics - e.g. #ifndef - so we saw double negations which can be
misleading.  Convert it to a positive form to make it more readable.

Also change NO_PERF_REGS macro to HAVE_PERF_REGS for the same reason.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1348824728-14025-5-git-send-email-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 29a0fc9b
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -535,9 +535,8 @@ endif # PERF_HAVE_DWARF_REGS
endif # NO_DWARF
endif # NO_LIBELF

ifdef NO_LIBUNWIND
	BASIC_CFLAGS += -DNO_LIBUNWIND_SUPPORT
else
ifndef NO_LIBUNWIND
	BASIC_CFLAGS += -DLIBUNWIND_SUPPORT
	EXTLIBS += $(LIBUNWIND_LIBS)
	BASIC_CFLAGS := $(LIBUNWIND_CFLAGS) $(BASIC_CFLAGS)
	BASIC_LDFLAGS := $(LIBUNWIND_LDFLAGS) $(BASIC_LDFLAGS)
@@ -747,8 +746,7 @@ ifeq ($(NO_PERF_REGS),0)
	ifeq ($(ARCH),x86)
		LIB_H += arch/x86/include/perf_regs.h
	endif
else
	BASIC_CFLAGS += -DNO_PERF_REGS
	BASIC_CFLAGS += -DHAVE_PERF_REGS
endif

ifdef NO_STRLCPY
+7 −7
Original line number Diff line number Diff line
@@ -33,11 +33,11 @@

#define CALLCHAIN_HELP "do call-graph (stack chain/backtrace) recording: "

#ifdef NO_LIBUNWIND_SUPPORT
static char callchain_help[] = CALLCHAIN_HELP "[fp]";
#else
#ifdef LIBUNWIND_SUPPORT
static unsigned long default_stack_dump_size = 8192;
static char callchain_help[] = CALLCHAIN_HELP "[fp] dwarf";
#else
static char callchain_help[] = CALLCHAIN_HELP "[fp]";
#endif

enum write_mode_t {
@@ -800,7 +800,7 @@ parse_branch_stack(const struct option *opt, const char *str, int unset)
	return ret;
}

#ifndef NO_LIBUNWIND_SUPPORT
#ifdef LIBUNWIND_SUPPORT
static int get_stack_size(char *str, unsigned long *_size)
{
	char *endptr;
@@ -826,7 +826,7 @@ static int get_stack_size(char *str, unsigned long *_size)
	       max_size, str);
	return -1;
}
#endif /* !NO_LIBUNWIND_SUPPORT */
#endif /* LIBUNWIND_SUPPORT */

static int
parse_callchain_opt(const struct option *opt __maybe_unused, const char *arg,
@@ -865,7 +865,7 @@ parse_callchain_opt(const struct option *opt __maybe_unused, const char *arg,
				       "needed for -g fp\n");
			break;

#ifndef NO_LIBUNWIND_SUPPORT
#ifdef LIBUNWIND_SUPPORT
		/* Dwarf style */
		} else if (!strncmp(name, "dwarf", sizeof("dwarf"))) {
			ret = 0;
@@ -883,7 +883,7 @@ parse_callchain_opt(const struct option *opt __maybe_unused, const char *arg,
			if (!ret)
				pr_debug("callchain: stack dump size %d\n",
					 rec->opts.stack_dump_size);
#endif /* !NO_LIBUNWIND_SUPPORT */
#endif /* LIBUNWIND_SUPPORT */
		} else {
			pr_err("callchain: Unknown -g option "
			       "value: %s\n", arg);
+2 −2
Original line number Diff line number Diff line
#ifndef __PERF_REGS_H
#define __PERF_REGS_H

#ifndef NO_PERF_REGS
#ifdef HAVE_PERF_REGS
#include <perf_regs.h>
#else
#define PERF_REGS_MASK	0
@@ -10,5 +10,5 @@ static inline const char *perf_reg_name(int id __maybe_unused)
{
	return NULL;
}
#endif /* NO_PERF_REGS */
#endif /* HAVE_PERF_REGS */
#endif /* __PERF_REGS_H */
+2 −2
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ struct unwind_entry {

typedef int (*unwind_entry_cb_t)(struct unwind_entry *entry, void *arg);

#ifndef NO_LIBUNWIND_SUPPORT
#ifdef LIBUNWIND_SUPPORT
int unwind__get_entries(unwind_entry_cb_t cb, void *arg,
			struct machine *machine,
			struct thread *thread,
@@ -31,5 +31,5 @@ unwind__get_entries(unwind_entry_cb_t cb __maybe_unused,
{
	return 0;
}
#endif /* NO_LIBUNWIND_SUPPORT */
#endif /* LIBUNWIND_SUPPORT */
#endif /* __UNWIND_H */