Messages in this thread | | | Date | Mon, 24 Apr 2023 08:25:40 +0300 | Subject | Re: [PATCH v5 2/3] perf: add helper map__fprintf_dsoname_dsoff | From | Adrian Hunter <> |
| |
On 18/04/23 06:18, Changbin Du wrote: > This adds a helper function map__fprintf_dsoname_dsoff() to print dsoname > with optional dso offset. > > Suggested-by: Adrian Hunter <adrian.hunter@intel.com> > Signed-off-by: Changbin Du <changbin.du@huawei.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> --- > tools/perf/util/map.c | 13 +++++++++++++ > tools/perf/util/map.h | 1 + > 2 files changed, 14 insertions(+) > > diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c > index d81b6ca18ee9..7da96b41100f 100644 > --- a/tools/perf/util/map.c > +++ b/tools/perf/util/map.c > @@ -445,6 +445,19 @@ size_t map__fprintf_dsoname(struct map *map, FILE *fp) > return fprintf(fp, "%s", dsoname); > } > > +size_t map__fprintf_dsoname_dsoff(struct map *map, bool print_off, u64 addr, FILE *fp) > +{ > + int printed = 0; > + > + printed += fprintf(fp, " ("); > + printed += map__fprintf_dsoname(map, fp); > + if (print_off && map && map__dso(map) && !map__dso(map)->kernel) > + printed += fprintf(fp, "+0x%" PRIx64, addr); > + printed += fprintf(fp, ")"); > + > + return printed; > +} > + > char *map__srcline(struct map *map, u64 addr, struct symbol *sym) > { > if (map == NULL) > diff --git a/tools/perf/util/map.h b/tools/perf/util/map.h > index f89ab7c2d327..4cca211b6e66 100644 > --- a/tools/perf/util/map.h > +++ b/tools/perf/util/map.h > @@ -175,6 +175,7 @@ static inline void __map__zput(struct map **map) > > size_t map__fprintf(struct map *map, FILE *fp); > size_t map__fprintf_dsoname(struct map *map, FILE *fp); > +size_t map__fprintf_dsoname_dsoff(struct map *map, bool print_off, u64 addr, FILE *fp); > char *map__srcline(struct map *map, u64 addr, struct symbol *sym); > int map__fprintf_srcline(struct map *map, u64 addr, const char *prefix, > FILE *fp);
| |