mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
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: Namhyung 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: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
e4898336a1
commit
29a0fc9b2b
@ -503,8 +503,6 @@ ifneq ($(OUTPUT),)
|
||||
endif
|
||||
|
||||
ifdef NO_LIBELF
|
||||
BASIC_CFLAGS += -DNO_LIBELF_SUPPORT
|
||||
|
||||
EXTLIBS := $(filter-out -lelf,$(EXTLIBS))
|
||||
|
||||
# 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
|
||||
|
||||
else # NO_LIBELF
|
||||
BASIC_CFLAGS += -DLIBELF_SUPPORT
|
||||
|
||||
ifneq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
|
||||
BASIC_CFLAGS += -DLIBELF_NO_MMAP
|
||||
ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
|
||||
BASIC_CFLAGS += -DLIBELF_MMAP
|
||||
endif
|
||||
|
||||
ifndef NO_DWARF
|
||||
|
@ -194,7 +194,7 @@ static int perf_event__inject_buildid(struct perf_tool *tool,
|
||||
* account this as unresolved.
|
||||
*/
|
||||
} else {
|
||||
#ifndef NO_LIBELF_SUPPORT
|
||||
#ifdef LIBELF_SUPPORT
|
||||
pr_warning("no symbols found in %s, maybe "
|
||||
"install a debug package?\n",
|
||||
al.map->dso->long_name);
|
||||
|
@ -48,7 +48,7 @@ static struct cmd_struct commands[] = {
|
||||
{ "version", cmd_version, 0 },
|
||||
{ "script", cmd_script, 0 },
|
||||
{ "sched", cmd_sched, 0 },
|
||||
#ifndef NO_LIBELF_SUPPORT
|
||||
#ifdef LIBELF_SUPPORT
|
||||
{ "probe", cmd_probe, 0 },
|
||||
#endif
|
||||
{ "kmem", cmd_kmem, 0 },
|
||||
|
@ -22,7 +22,7 @@ do
|
||||
}' "Documentation/perf-$cmd.txt"
|
||||
done
|
||||
|
||||
echo "#ifndef NO_LIBELF_SUPPORT"
|
||||
echo "#ifdef LIBELF_SUPPORT"
|
||||
sed -n -e 's/^perf-\([^ ]*\)[ ].* full.*/\1/p' command-list.txt |
|
||||
sort |
|
||||
while read cmd
|
||||
@ -35,5 +35,5 @@ do
|
||||
p
|
||||
}' "Documentation/perf-$cmd.txt"
|
||||
done
|
||||
echo "#endif /* NO_LIBELF_SUPPORT */"
|
||||
echo "#endif /* LIBELF_SUPPORT */"
|
||||
echo "};"
|
||||
|
@ -162,7 +162,7 @@ int map__load(struct map *self, symbol_filter_t filter)
|
||||
pr_warning(", continuing without symbols\n");
|
||||
return -1;
|
||||
} else if (nr == 0) {
|
||||
#ifndef NO_LIBELF_SUPPORT
|
||||
#ifdef LIBELF_SUPPORT
|
||||
const size_t len = strlen(name);
|
||||
const size_t real_len = len - sizeof(DSO__DELETED);
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <byteswap.h>
|
||||
#include <libgen.h>
|
||||
|
||||
#ifndef NO_LIBELF_SUPPORT
|
||||
#ifdef LIBELF_SUPPORT
|
||||
#include <libelf.h>
|
||||
#include <gelf.h>
|
||||
#include <elf.h>
|
||||
@ -46,10 +46,10 @@ char *strxfrchar(char *s, char from, char to);
|
||||
* libelf 0.8.x and earlier do not support ELF_C_READ_MMAP;
|
||||
* for newer versions we can use mmap to reduce memory usage:
|
||||
*/
|
||||
#ifdef LIBELF_NO_MMAP
|
||||
# define PERF_ELF_C_READ_MMAP ELF_C_READ
|
||||
#else
|
||||
#ifdef LIBELF_MMAP
|
||||
# define PERF_ELF_C_READ_MMAP ELF_C_READ_MMAP
|
||||
#else
|
||||
# define PERF_ELF_C_READ_MMAP ELF_C_READ
|
||||
#endif
|
||||
|
||||
#ifndef DMGL_PARAMS
|
||||
@ -233,7 +233,7 @@ struct symsrc {
|
||||
int fd;
|
||||
enum dso_binary_type type;
|
||||
|
||||
#ifndef NO_LIBELF_SUPPORT
|
||||
#ifdef LIBELF_SUPPORT
|
||||
Elf *elf;
|
||||
GElf_Ehdr ehdr;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user