summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2013-02-27 00:38:06 +0100
committerBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2013-02-27 00:38:06 +0100
commitea82f67d6f96187aedba05db131938300169d671 (patch)
treea1c5f1b8663cb1ca2842dd3b14d266bf119ecfb3
parent4534d2aeb2c5f19ce306719cafa14f8e4a66ab1a (diff)
downloadlinux-linaro-tracking-with-fixes-topic-perf-android.tar.gz
perf: Merge fixes from AOSP's platform/external/linux-tools-perftopic-perf-android
Merge various Bionic related patches from AOSP's platform/external/linux-tools-perf branch. Fixes crashes spotted in iKS builds. Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
-rw-r--r--tools/perf/builtin-record.c4
-rw-r--r--tools/perf/builtin-sched.c2
-rw-r--r--tools/perf/builtin-stat.c4
-rw-r--r--tools/perf/util/annotate.c4
-rw-r--r--tools/perf/util/symbol.c2
5 files changed, 14 insertions, 2 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index f3151d3c70c..0e8ecf82489 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -517,7 +517,11 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
if (!fstat(STDOUT_FILENO, &st) && S_ISFIFO(st.st_mode))
opts->pipe_output = true;
else
+#ifdef __BIONIC__
+ rec->output_name = output_name = "/data/perf.data";
+#else
rec->output_name = output_name = "perf.data";
+#endif
}
if (output_name) {
if (!strcmp(output_name, "-"))
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index cc28b85dabd..67e7e4d5fd6 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -513,7 +513,7 @@ static void create_tasks(struct perf_sched *sched)
err = pthread_attr_init(&attr);
BUG_ON(err);
err = pthread_attr_setstacksize(&attr,
- (size_t) max(16 * 1024, PTHREAD_STACK_MIN));
+ (size_t) max((unsigned)16 * 1024, (unsigned)PTHREAD_STACK_MIN));
BUG_ON(err);
err = pthread_mutex_lock(&sched->start_work_mutex);
BUG_ON(err);
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index c247faca712..ed8c445f49d 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -668,7 +668,11 @@ static void abs_printout(int cpu, struct perf_evsel *evsel, double avg)
if (csv_output)
fmt = "%s%.0f%s%s";
else if (big_num)
+#ifdef __BIONIC__
+ fmt = "%s%18.0f%s%-25s";
+#else
fmt = "%s%'18.0f%s%-25s";
+#endif
else
fmt = "%s%18.0f%s%-25s";
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 07aaeea6000..fb8be1100f2 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -953,7 +953,11 @@ static int symbol__get_source_line(struct symbol *sym, struct map *map,
if (!notes->src->lines)
return -1;
+#ifdef __BIONIC__
+ start = sym->start;
+#else
start = map__rip_2objdump(map, sym->start);
+#endif
for (i = 0; i < len; i++) {
char *path = NULL;
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 295f8d4feed..449b6a4998f 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1388,7 +1388,7 @@ static u64 machine__get_kernel_start_addr(struct machine *machine)
{
const char *filename;
char path[PATH_MAX];
- struct process_args args;
+ struct process_args args = {0LL};
if (machine__is_host(machine)) {
filename = "/proc/kallsyms";