Kyle McMartin d8122d5
From linux-kernel-owner@vger.kernel.org Mon Jan 24 11:13:12 2011
Kyle McMartin d8122d5
Date:	Mon, 24 Jan 2011 11:13:04 -0500
Kyle McMartin d8122d5
From:	Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin d8122d5
To:	mingo@redhat.com
Kyle McMartin d8122d5
Cc:	linux-kernel@vger.kernel.org, acme@redhat.com
Kyle McMartin d8122d5
Subject: [PATCH] perf: fix gcc 4.6.0 issues with tools/perf
Kyle McMartin d8122d5
Message-ID: <20110124161304.GK27353@bombadil.infradead.org>
Kyle McMartin d8122d5
Kyle McMartin d8122d5
Hi Ingo,
Kyle McMartin d8122d5
Kyle McMartin d8122d5
GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf
Kyle McMartin d8122d5
due to the -Werror=unused-but-set-variable flag.
Kyle McMartin d8122d5
Kyle McMartin d8122d5
I've gone through and annotated some of the assignments that had side
Kyle McMartin d8122d5
effects (ie: return value from a function) with the __used annotation,
Kyle McMartin d8122d5
and in some cases, just removed unused code.
Kyle McMartin d8122d5
Kyle McMartin d8122d5
In a few cases, we were assigning something useful, but not using it in
Kyle McMartin d8122d5
later parts of the function.
Kyle McMartin d8122d5
Kyle McMartin d8122d5
regards, Kyle
Kyle McMartin d8122d5
Kyle McMartin d8122d5
kyle@dreadnought:~/src% gcc --version
Kyle McMartin d8122d5
gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3)
Kyle McMartin d8122d5
Kyle McMartin d8122d5
---
Kyle McMartin d8122d5
Kyle McMartin d8122d5
 bench/sched-pipe.c                          |    2 +-
Kyle McMartin d8122d5
 builtin-sched.c                             |   12 +++---------
Kyle McMartin d8122d5
 builtin-top.c                               |    5 +----
Kyle McMartin d8122d5
 util/header.c                               |    2 +-
Kyle McMartin d8122d5
 util/hist.c                                 |    3 ---
Kyle McMartin d8122d5
 util/scripting-engines/trace-event-python.c |    3 +--
Kyle McMartin d8122d5
 util/symbol.c                               |    4 ++--
Kyle McMartin d8122d5
 util/trace-event-parse.c                    |    2 +-
Kyle McMartin d8122d5
 util/ui/browsers/map.c                      |    2 +-
Kyle McMartin d8122d5
 9 files changed, 11 insertions(+), 24 deletions(-)
Kyle McMartin d8122d5
Kyle McMartin d8122d5
diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c
Kyle McMartin d8122d5
index d9ab3ce..0c7454f 100644
Kyle McMartin d8122d5
--- a/tools/perf/bench/sched-pipe.c
Kyle McMartin d8122d5
+++ b/tools/perf/bench/sched-pipe.c
Kyle McMartin d8122d5
@@ -55,7 +55,7 @@ int bench_sched_pipe(int argc, const char **argv,
Kyle McMartin d8122d5
 	 * discarding returned value of read(), write()
Kyle McMartin d8122d5
 	 * causes error in building environment for perf
Kyle McMartin d8122d5
 	 */
Kyle McMartin d8122d5
-	int ret, wait_stat;
Kyle McMartin d8122d5
+	int __used ret, wait_stat;
Kyle McMartin d8122d5
 	pid_t pid, retpid;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	argc = parse_options(argc, argv, options,
Kyle McMartin d8122d5
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
Kyle McMartin d8122d5
index 29e7ffd..f9e304f 100644
Kyle McMartin d8122d5
--- a/tools/perf/builtin-sched.c
Kyle McMartin d8122d5
+++ b/tools/perf/builtin-sched.c
Kyle McMartin d8122d5
@@ -369,11 +369,6 @@ static void
Kyle McMartin d8122d5
 process_sched_event(struct task_desc *this_task __used, struct sched_atom *atom)
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
 	int ret = 0;
Kyle McMartin d8122d5
-	u64 now;
Kyle McMartin d8122d5
-	long long delta;
Kyle McMartin d8122d5
-
Kyle McMartin d8122d5
-	now = get_nsecs();
Kyle McMartin d8122d5
-	delta = start_time + atom->timestamp - now;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	switch (atom->type) {
Kyle McMartin d8122d5
 		case SCHED_EVENT_RUN:
Kyle McMartin d8122d5
@@ -562,7 +557,7 @@ static void wait_for_tasks(void)
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 static void run_one_test(void)
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
-	u64 T0, T1, delta, avg_delta, fluct, std_dev;
Kyle McMartin d8122d5
+	u64 T0, T1, delta, avg_delta, fluct;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	T0 = get_nsecs();
Kyle McMartin d8122d5
 	wait_for_tasks();
Kyle McMartin d8122d5
@@ -578,7 +573,6 @@ static void run_one_test(void)
Kyle McMartin d8122d5
 	else
Kyle McMartin d8122d5
 		fluct = delta - avg_delta;
Kyle McMartin d8122d5
 	sum_fluct += fluct;
Kyle McMartin d8122d5
-	std_dev = sum_fluct / nr_runs / sqrt(nr_runs);
Kyle McMartin d8122d5
 	if (!run_avg)
Kyle McMartin d8122d5
 		run_avg = delta;
Kyle McMartin d8122d5
 	run_avg = (run_avg*9 + delta)/10;
Kyle McMartin d8122d5
@@ -799,7 +793,7 @@ replay_switch_event(struct trace_switch_event *switch_event,
Kyle McMartin d8122d5
 		    u64 timestamp,
Kyle McMartin d8122d5
 		    struct thread *thread __used)
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
-	struct task_desc *prev, *next;
Kyle McMartin d8122d5
+	struct task_desc *prev, __used *next;
Kyle McMartin d8122d5
 	u64 timestamp0;
Kyle McMartin d8122d5
 	s64 delta;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
@@ -1404,7 +1398,7 @@ map_switch_event(struct trace_switch_event *switch_event,
Kyle McMartin d8122d5
 		 u64 timestamp,
Kyle McMartin d8122d5
 		 struct thread *thread __used)
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
-	struct thread *sched_out, *sched_in;
Kyle McMartin d8122d5
+	struct thread *sched_out __used, *sched_in;
Kyle McMartin d8122d5
 	int new_shortname;
Kyle McMartin d8122d5
 	u64 timestamp0;
Kyle McMartin d8122d5
 	s64 delta;
Kyle McMartin d8122d5
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
Kyle McMartin d8122d5
index 05344c6..373cfc0 100644
Kyle McMartin d8122d5
--- a/tools/perf/builtin-top.c
Kyle McMartin d8122d5
+++ b/tools/perf/builtin-top.c
Kyle McMartin d8122d5
@@ -182,7 +182,6 @@ static int parse_source(struct sym_entry *syme)
Kyle McMartin d8122d5
 	FILE *file;
Kyle McMartin d8122d5
 	char command[PATH_MAX*2];
Kyle McMartin d8122d5
 	const char *path;
Kyle McMartin d8122d5
-	u64 len;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	if (!syme)
Kyle McMartin d8122d5
 		return -1;
Kyle McMartin d8122d5
@@ -211,8 +210,6 @@ static int parse_source(struct sym_entry *syme)
Kyle McMartin d8122d5
 	}
Kyle McMartin d8122d5
 	path = map->dso->long_name;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
-	len = sym->end - sym->start;
Kyle McMartin d8122d5
-
Kyle McMartin d8122d5
 	sprintf(command,
Kyle McMartin 84056ee
 		"objdump --start-address=%#0*" PRIx64 " --stop-address=%#0*" PRIx64 " -dS %s",
Kyle McMartin d8122d5
 		BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start),
Kyle McMartin d8122d5
@@ -1295,7 +1292,7 @@ static int __cmd_top(void)
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
 	pthread_t thread;
Kyle McMartin d8122d5
 	struct perf_evsel *counter;
Kyle McMartin d8122d5
-	int i, ret;
Kyle McMartin d8122d5
+	int i, ret __used;
Kyle McMartin d8122d5
 	/*
Kyle McMartin d8122d5
 	 * FIXME: perf_session__new should allow passing a O_MMAP, so that all this
Kyle McMartin d8122d5
 	 * mmap reading, etc is encapsulated in it. Use O_WRONLY for now.
Kyle McMartin d8122d5
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
Kyle McMartin d8122d5
index 989fa2d..c0e5019 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/header.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/header.c
Kyle McMartin d8122d5
@@ -1139,7 +1139,7 @@ int event__synthesize_tracing_data(int fd, struct list_head *pattrs,
Kyle McMartin d8122d5
 {
Kyle McMartin d8122d5
 	event_t ev;
Kyle McMartin d8122d5
 	ssize_t size = 0, aligned_size = 0, padding;
Kyle McMartin d8122d5
-	int err = 0;
Kyle McMartin d8122d5
+	int err __used = 0;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	memset(&ev, 0, sizeof(ev));
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
Kyle McMartin d8122d5
index c749ba6..a01a33d 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/hist.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/hist.c
Kyle McMartin d8122d5
@@ -1091,7 +1091,6 @@ int hist_entry__annotate(struct hist_entry *self, struct list_head *head,
Kyle McMartin d8122d5
 	char command[PATH_MAX * 2];
Kyle McMartin d8122d5
 	FILE *file;
Kyle McMartin d8122d5
 	int err = 0;
Kyle McMartin d8122d5
-	u64 len;
Kyle McMartin d8122d5
 	char symfs_filename[PATH_MAX];
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	if (filename) {
Kyle McMartin d8122d5
@@ -1136,8 +1135,6 @@ fallback:
Kyle McMartin d8122d5
 		 filename, sym->name, map->unmap_ip(map, sym->start),
Kyle McMartin d8122d5
 		 map->unmap_ip(map, sym->end));
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
-	len = sym->end - sym->start;
Kyle McMartin d8122d5
-
Kyle McMartin d8122d5
 	pr_debug("annotating [%p] %30s : [%p] %30s\n",
Kyle McMartin d8122d5
 		 dso, dso->long_name, sym, sym->name);
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c
Kyle McMartin d8122d5
index c6d9933..2040b85 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/scripting-engines/trace-event-python.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/scripting-engines/trace-event-python.c
Kyle McMartin d8122d5
@@ -248,8 +248,7 @@ static void python_process_event(int cpu, void *data,
Kyle McMartin d8122d5
 	context = PyCObject_FromVoidPtr(scripting_context, NULL);
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	PyTuple_SetItem(t, n++, PyString_FromString(handler_name));
Kyle McMartin d8122d5
-	PyTuple_SetItem(t, n++,
Kyle McMartin d8122d5
-			PyCObject_FromVoidPtr(scripting_context, NULL));
Kyle McMartin d8122d5
+	PyTuple_SetItem(t, n++, context);
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	if (handler) {
Kyle McMartin d8122d5
 		PyTuple_SetItem(t, n++, PyInt_FromLong(cpu));
Kyle McMartin d8122d5
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
Kyle McMartin d8122d5
index 15ccfba..52e82cf 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/symbol.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/symbol.c
Kyle McMartin d8122d5
@@ -1517,8 +1517,8 @@ int dso__load(struct dso *self, struct map *map, symbol_filter_t filter)
Kyle McMartin d8122d5
 			     symbol_conf.symfs, self->long_name);
Kyle McMartin d8122d5
 			break;
Kyle McMartin d8122d5
 		case DSO__ORIG_GUEST_KMODULE:
Kyle McMartin d8122d5
-			if (map->groups && map->groups->machine)
Kyle McMartin d8122d5
-				root_dir = map->groups->machine->root_dir;
Kyle McMartin d8122d5
+			if (map->groups && machine)
Kyle McMartin d8122d5
+				root_dir = machine->root_dir;
Kyle McMartin d8122d5
 			else
Kyle McMartin d8122d5
 				root_dir = "";
Kyle McMartin d8122d5
 			snprintf(name, size, "%s%s%s", symbol_conf.symfs,
Kyle McMartin d8122d5
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
Kyle McMartin d8122d5
index 73a0222..d8e622d 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/trace-event-parse.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/trace-event-parse.c
Kyle McMartin d8122d5
@@ -153,7 +153,7 @@ void parse_proc_kallsyms(char *file, unsigned int size __unused)
Kyle McMartin d8122d5
 	char *next = NULL;
Kyle McMartin d8122d5
 	char *addr_str;
Kyle McMartin d8122d5
 	char ch;
Kyle McMartin d8122d5
-	int ret;
Kyle McMartin d8122d5
+	int ret __used;
Kyle McMartin d8122d5
 	int i;
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 	line = strtok_r(file, "\n", &next;;
Kyle McMartin d8122d5
diff --git a/tools/perf/util/ui/browsers/map.c b/tools/perf/util/ui/browsers/map.c
Kyle McMartin d8122d5
index e35437d..3788cad 100644
Kyle McMartin d8122d5
--- a/tools/perf/util/ui/browsers/map.c
Kyle McMartin d8122d5
+++ b/tools/perf/util/ui/browsers/map.c
Kyle McMartin d8122d5
@@ -40,7 +40,7 @@ static int ui_entry__read(const char *title, char *bf, size_t size, int width)
Kyle McMartin d8122d5
 out_free_form:
Kyle McMartin d8122d5
 	newtPopWindow();
Kyle McMartin d8122d5
 	newtFormDestroy(form);
Kyle McMartin d8122d5
-	return 0;
Kyle McMartin d8122d5
+	return err;
Kyle McMartin d8122d5
 }
Kyle McMartin d8122d5
 
Kyle McMartin d8122d5
 struct map_browser {
Kyle McMartin d8122d5
--
Kyle McMartin d8122d5
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Kyle McMartin d8122d5
the body of a message to majordomo@vger.kernel.org
Kyle McMartin d8122d5
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kyle McMartin d8122d5
Please read the FAQ at  http://www.tux.org/lkml/
Kyle McMartin d8122d5