forked from Minki/linux
1d037ca164
perf defines both __used and __unused variables to use for marking
unused variables. The variable __used is defined to
__attribute__((__unused__)), which contradicts the kernel definition to
__attribute__((__used__)) for new gcc versions. On Android, __used is
also defined in system headers and this leads to warnings like: warning:
'__used__' attribute ignored
__unused is not defined in the kernel and is not a standard definition.
If __unused is included everywhere instead of __used, this leads to
conflicts with glibc headers, since glibc has a variables with this name
in its headers.
The best approach is to use __maybe_unused, the definition used in the
kernel for __attribute__((unused)). In this way there is only one
definition in perf sources (instead of 2 definitions that point to the
same thing: __used and __unused) and it works on both Linux and Android.
This patch simply replaces all instances of __used and __unused with
__maybe_unused.
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1347315303-29906-7-git-send-email-irina.tirdea@intel.com
[ committer note: fixed up conflict with a116e05
in builtin-sched.c ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
/*
|
|
* builtin-list.c
|
|
*
|
|
* Builtin list command: list all event types
|
|
*
|
|
* Copyright (C) 2009, Thomas Gleixner <tglx@linutronix.de>
|
|
* Copyright (C) 2008-2009, Red Hat Inc, Ingo Molnar <mingo@redhat.com>
|
|
* Copyright (C) 2011, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
*/
|
|
#include "builtin.h"
|
|
|
|
#include "perf.h"
|
|
|
|
#include "util/parse-events.h"
|
|
#include "util/cache.h"
|
|
|
|
int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
|
|
{
|
|
setup_pager();
|
|
|
|
if (argc == 1)
|
|
print_events(NULL, false);
|
|
else {
|
|
int i;
|
|
|
|
for (i = 1; i < argc; ++i) {
|
|
if (i > 2)
|
|
putchar('\n');
|
|
if (strncmp(argv[i], "tracepoint", 10) == 0)
|
|
print_tracepoint_events(NULL, NULL, false);
|
|
else if (strcmp(argv[i], "hw") == 0 ||
|
|
strcmp(argv[i], "hardware") == 0)
|
|
print_events_type(PERF_TYPE_HARDWARE);
|
|
else if (strcmp(argv[i], "sw") == 0 ||
|
|
strcmp(argv[i], "software") == 0)
|
|
print_events_type(PERF_TYPE_SOFTWARE);
|
|
else if (strcmp(argv[i], "cache") == 0 ||
|
|
strcmp(argv[i], "hwcache") == 0)
|
|
print_hwcache_events(NULL, false);
|
|
else if (strcmp(argv[i], "--raw-dump") == 0)
|
|
print_events(NULL, true);
|
|
else {
|
|
char *sep = strchr(argv[i], ':'), *s;
|
|
int sep_idx;
|
|
|
|
if (sep == NULL) {
|
|
print_events(argv[i], false);
|
|
continue;
|
|
}
|
|
sep_idx = sep - argv[i];
|
|
s = strdup(argv[i]);
|
|
if (s == NULL)
|
|
return -1;
|
|
|
|
s[sep_idx] = '\0';
|
|
print_tracepoint_events(s, s + sep_idx + 1, false);
|
|
free(s);
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|