diff options
Diffstat (limited to 'tools/perf/builtin-annotate.c')
| -rw-r--r-- | tools/perf/builtin-annotate.c | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 73c202ee0882..4fc3899bf83a 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c | |||
| @@ -97,9 +97,7 @@ static void hist_hit(struct hist_entry *he, u64 ip) | |||
| 97 | sym_size = sym->end - sym->start; | 97 | sym_size = sym->end - sym->start; |
| 98 | offset = ip - sym->start; | 98 | offset = ip - sym->start; |
| 99 | 99 | ||
| 100 | if (verbose) | 100 | pr_debug3("%s: ip=%#Lx\n", __func__, he->map->unmap_ip(he->map, ip)); |
| 101 | fprintf(stderr, "%s: ip=%Lx\n", __func__, | ||
| 102 | he->map->unmap_ip(he->map, ip)); | ||
| 103 | 101 | ||
| 104 | if (offset >= sym_size) | 102 | if (offset >= sym_size) |
| 105 | return; | 103 | return; |
| @@ -108,12 +106,8 @@ static void hist_hit(struct hist_entry *he, u64 ip) | |||
| 108 | h->sum++; | 106 | h->sum++; |
| 109 | h->ip[offset]++; | 107 | h->ip[offset]++; |
| 110 | 108 | ||
| 111 | if (verbose >= 3) | 109 | pr_debug3("%#Lx %s: count++ [ip: %#Lx, %#Lx] => %Ld\n", he->sym->start, |
| 112 | printf("%p %s: count++ [ip: %p, %08Lx] => %Ld\n", | 110 | he->sym->name, ip, ip - he->sym->start, h->ip[offset]); |
| 113 | (void *)(unsigned long)he->sym->start, | ||
| 114 | he->sym->name, | ||
| 115 | (void *)(unsigned long)ip, ip - he->sym->start, | ||
| 116 | h->ip[offset]); | ||
| 117 | } | 111 | } |
| 118 | 112 | ||
| 119 | static int perf_session__add_hist_entry(struct perf_session *self, | 113 | static int perf_session__add_hist_entry(struct perf_session *self, |
| @@ -136,14 +130,14 @@ static int process_sample_event(event_t *event, struct perf_session *session) | |||
| 136 | event->ip.pid, event->ip.ip); | 130 | event->ip.pid, event->ip.ip); |
| 137 | 131 | ||
| 138 | if (event__preprocess_sample(event, session, &al, symbol_filter) < 0) { | 132 | if (event__preprocess_sample(event, session, &al, symbol_filter) < 0) { |
| 139 | fprintf(stderr, "problem processing %d event, skipping it.\n", | 133 | pr_warning("problem processing %d event, skipping it.\n", |
| 140 | event->header.type); | 134 | event->header.type); |
| 141 | return -1; | 135 | return -1; |
| 142 | } | 136 | } |
| 143 | 137 | ||
| 144 | if (!al.filtered && perf_session__add_hist_entry(session, &al, 1)) { | 138 | if (!al.filtered && perf_session__add_hist_entry(session, &al, 1)) { |
| 145 | fprintf(stderr, "problem incrementing symbol count, " | 139 | pr_warning("problem incrementing symbol count, " |
| 146 | "skipping event\n"); | 140 | "skipping event\n"); |
| 147 | return -1; | 141 | return -1; |
| 148 | } | 142 | } |
| 149 | 143 | ||
| @@ -378,11 +372,9 @@ static void annotate_sym(struct hist_entry *he) | |||
| 378 | if (!filename) | 372 | if (!filename) |
| 379 | return; | 373 | return; |
| 380 | 374 | ||
| 381 | if (verbose) | 375 | pr_debug("%s: filename=%s, sym=%s, start=%#Lx, end=%#Lx\n", __func__, |
| 382 | fprintf(stderr, "%s: filename=%s, sym=%s, start=%Lx, end=%Lx\n", | 376 | filename, sym->name, map->unmap_ip(map, sym->start), |
| 383 | __func__, filename, sym->name, | 377 | map->unmap_ip(map, sym->end)); |
| 384 | map->unmap_ip(map, sym->start), | ||
| 385 | map->unmap_ip(map, sym->end)); | ||
| 386 | 378 | ||
| 387 | if (full_paths) | 379 | if (full_paths) |
| 388 | d_filename = filename; | 380 | d_filename = filename; |
| @@ -542,9 +534,8 @@ int cmd_annotate(int argc, const char **argv, const char *prefix __used) | |||
| 542 | setup_pager(); | 534 | setup_pager(); |
| 543 | 535 | ||
| 544 | if (field_sep && *field_sep == '.') { | 536 | if (field_sep && *field_sep == '.') { |
| 545 | fputs("'.' is the only non valid --field-separator argument\n", | 537 | pr_err("'.' is the only non valid --field-separator argument\n"); |
| 546 | stderr); | 538 | return -1; |
| 547 | exit(129); | ||
| 548 | } | 539 | } |
| 549 | 540 | ||
| 550 | return __cmd_annotate(); | 541 | return __cmd_annotate(); |
