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

Commit 29a0fc9b authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf tools: Convert to LIBELF_SUPPORT



For building perf without libelf, we can set NO_LIBELF=1 as a argument
of make.  It then defines NO_LIBELF_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.

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


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent e4898336
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -503,8 +503,6 @@ ifneq ($(OUTPUT),)
endif
endif


ifdef NO_LIBELF
ifdef NO_LIBELF
BASIC_CFLAGS += -DNO_LIBELF_SUPPORT

EXTLIBS := $(filter-out -lelf,$(EXTLIBS))
EXTLIBS := $(filter-out -lelf,$(EXTLIBS))


# Remove ELF/DWARF dependent codes
# Remove ELF/DWARF dependent codes
@@ -519,9 +517,10 @@ BUILTIN_OBJS := $(filter-out $(OUTPUT)builtin-probe.o,$(BUILTIN_OBJS))
LIB_OBJS += $(OUTPUT)util/symbol-minimal.o
LIB_OBJS += $(OUTPUT)util/symbol-minimal.o


else # NO_LIBELF
else # NO_LIBELF
BASIC_CFLAGS += -DLIBELF_SUPPORT


ifneq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
	BASIC_CFLAGS += -DLIBELF_NO_MMAP
	BASIC_CFLAGS += -DLIBELF_MMAP
endif
endif


ifndef NO_DWARF
ifndef NO_DWARF
+1 −1
Original line number Original line Diff line number Diff line
@@ -194,7 +194,7 @@ static int perf_event__inject_buildid(struct perf_tool *tool,
				 * account this as unresolved.
				 * account this as unresolved.
				 */
				 */
			} else {
			} else {
#ifndef NO_LIBELF_SUPPORT
#ifdef LIBELF_SUPPORT
				pr_warning("no symbols found in %s, maybe "
				pr_warning("no symbols found in %s, maybe "
					   "install a debug package?\n",
					   "install a debug package?\n",
					   al.map->dso->long_name);
					   al.map->dso->long_name);
+1 −1
Original line number Original line Diff line number Diff line
@@ -48,7 +48,7 @@ static struct cmd_struct commands[] = {
	{ "version",	cmd_version,	0 },
	{ "version",	cmd_version,	0 },
	{ "script",	cmd_script,	0 },
	{ "script",	cmd_script,	0 },
	{ "sched",	cmd_sched,	0 },
	{ "sched",	cmd_sched,	0 },
#ifndef NO_LIBELF_SUPPORT
#ifdef LIBELF_SUPPORT
	{ "probe",	cmd_probe,	0 },
	{ "probe",	cmd_probe,	0 },
#endif
#endif
	{ "kmem",	cmd_kmem,	0 },
	{ "kmem",	cmd_kmem,	0 },
+2 −2
Original line number Original line Diff line number Diff line
@@ -22,7 +22,7 @@ do
     }' "Documentation/perf-$cmd.txt"
     }' "Documentation/perf-$cmd.txt"
done
done


echo "#ifndef NO_LIBELF_SUPPORT"
echo "#ifdef LIBELF_SUPPORT"
sed -n -e 's/^perf-\([^ 	]*\)[ 	].* full.*/\1/p' command-list.txt |
sed -n -e 's/^perf-\([^ 	]*\)[ 	].* full.*/\1/p' command-list.txt |
sort |
sort |
while read cmd
while read cmd
@@ -35,5 +35,5 @@ do
	    p
	    p
     }' "Documentation/perf-$cmd.txt"
     }' "Documentation/perf-$cmd.txt"
done
done
echo "#endif /* NO_LIBELF_SUPPORT */"
echo "#endif /* LIBELF_SUPPORT */"
echo "};"
echo "};"
+1 −1
Original line number Original line Diff line number Diff line
@@ -162,7 +162,7 @@ int map__load(struct map *self, symbol_filter_t filter)
		pr_warning(", continuing without symbols\n");
		pr_warning(", continuing without symbols\n");
		return -1;
		return -1;
	} else if (nr == 0) {
	} else if (nr == 0) {
#ifndef NO_LIBELF_SUPPORT
#ifdef LIBELF_SUPPORT
		const size_t len = strlen(name);
		const size_t len = strlen(name);
		const size_t real_len = len - sizeof(DSO__DELETED);
		const size_t real_len = len - sizeof(DSO__DELETED);


Loading