summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2013-02-27 00:38:06 +0100
committerBernhard Rosenkränzer <bero@lindev.ch>2013-07-18 20:48:58 +0200
commit55659a849fbadd115749961e0e2d502cfbd50123 (patch)
treee1c6e951bc0ad011d8c8a54ec8d37824b6a72c10
parent0b42e2fdcd1ba47068c4dfb47a0f88af29792e4e (diff)
perf: Merge fixes from AOSP's platform/external/linux-tools-perf
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> Conflicts: tools/perf/util/symbol.c Conflicts: tools/perf/builtin-stat.c
-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
4 files changed, 13 insertions, 1 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index cdf58ecc04b..94a79c59d81 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -409,7 +409,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 2da2a6ca22b..317f0465fc6 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 7e910bab109..95f9baef050 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -813,7 +813,11 @@ static void abs_printout(int cpu, int nr, struct perf_evsel *evsel, double avg)
if (csv_output)
fmt = "%.0f%s%s";
else if (big_num)
+#ifdef __BIONIC__
+ fmt = "%18.0f%s%-25s";
+#else
fmt = "%'18.0f%s%-25s";
+#endif
else
fmt = "%18.0f%s%-25s";
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index d102716c43a..67ed60b86e4 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1060,7 +1060,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;