aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2013-02-27 00:38:06 +0100
committerBintian Wang <bintian.wang@linaro.org>2013-10-09 18:53:16 +0800
commit047924d35590e0632af85e4a751fe72c73b048ce (patch)
treec0c6efda1d81d3b84f1b503ecf7b57b7f49be148
parente3227ad7a3e1212366ed4bbd6c9a8367b64e1e27 (diff)
downloadjuice-047924d35590e0632af85e4a751fe72c73b048ce.tar.gz
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 a41ac41546c..8d41729e8b7 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -372,7 +372,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 d8c51b2f263..96dbab0de2f 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -514,7 +514,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 f686d5ff594..9d4a9c49ec0 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -833,7 +833,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 7eae5488ece..2552dfdff76 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1112,7 +1112,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;