* [PATCH] perf symbols: turn dso__fprintf_symbols_by_name into void function
@ 2021-03-08 8:55 Yang Li
2021-03-08 14:20 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Yang Li @ 2021-03-08 8:55 UTC (permalink / raw)
To: peterz
Cc: mingo, acme, mark.rutland, alexander.shishkin, jolsa, namhyung,
linux-kernel, Yang Li
This function always return '0' and no callers use the return value.
So make it a void function.
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
---
tools/perf/util/dso.h | 2 +-
tools/perf/util/symbol_fprintf.c | 5 +----
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
index cd2fe64..d7ebf21 100644
--- a/tools/perf/util/dso.h
+++ b/tools/perf/util/dso.h
@@ -364,7 +364,7 @@ struct dso *machine__findnew_kernel(struct machine *machine, const char *name,
void dso__reset_find_symbol_cache(struct dso *dso);
-size_t dso__fprintf_symbols_by_name(struct dso *dso, FILE *fp);
+void dso__fprintf_symbols_by_name(struct dso *dso, FILE *fp);
size_t dso__fprintf(struct dso *dso, FILE *fp);
static inline bool dso__is_vmlinux(struct dso *dso)
diff --git a/tools/perf/util/symbol_fprintf.c b/tools/perf/util/symbol_fprintf.c
index 35c936c..031584e 100644
--- a/tools/perf/util/symbol_fprintf.c
+++ b/tools/perf/util/symbol_fprintf.c
@@ -59,10 +59,9 @@ size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp)
return __symbol__fprintf_symname_offs(sym, NULL, false, false, fp);
}
-size_t dso__fprintf_symbols_by_name(struct dso *dso,
+void dso__fprintf_symbols_by_name(struct dso *dso,
FILE *fp)
{
- size_t ret = 0;
struct rb_node *nd;
struct symbol_name_rb_node *pos;
@@ -70,6 +69,4 @@ size_t dso__fprintf_symbols_by_name(struct dso *dso,
pos = rb_entry(nd, struct symbol_name_rb_node, rb_node);
fprintf(fp, "%s\n", pos->sym.name);
}
-
- return ret;
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] perf symbols: turn dso__fprintf_symbols_by_name into void function
2021-03-08 8:55 [PATCH] perf symbols: turn dso__fprintf_symbols_by_name into void function Yang Li
@ 2021-03-08 14:20 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-03-08 14:20 UTC (permalink / raw)
To: Yang Li
Cc: peterz, mingo, mark.rutland, alexander.shishkin, jolsa, namhyung,
linux-kernel
Em Mon, Mar 08, 2021 at 04:55:04PM +0800, Yang Li escreveu:
> This function always return '0' and no callers use the return value.
> So make it a void function.
>
> Reported-by: Abaci Robot <abaci@linux.alibaba.com>
> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
> ---
> tools/perf/util/dso.h | 2 +-
> tools/perf/util/symbol_fprintf.c | 5 +----
> 2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
> index cd2fe64..d7ebf21 100644
> --- a/tools/perf/util/dso.h
> +++ b/tools/perf/util/dso.h
> @@ -364,7 +364,7 @@ struct dso *machine__findnew_kernel(struct machine *machine, const char *name,
>
> void dso__reset_find_symbol_cache(struct dso *dso);
>
> -size_t dso__fprintf_symbols_by_name(struct dso *dso, FILE *fp);
> +void dso__fprintf_symbols_by_name(struct dso *dso, FILE *fp);
> size_t dso__fprintf(struct dso *dso, FILE *fp);
>
> static inline bool dso__is_vmlinux(struct dso *dso)
> diff --git a/tools/perf/util/symbol_fprintf.c b/tools/perf/util/symbol_fprintf.c
> index 35c936c..031584e 100644
> --- a/tools/perf/util/symbol_fprintf.c
> +++ b/tools/perf/util/symbol_fprintf.c
> @@ -59,10 +59,9 @@ size_t symbol__fprintf_symname(const struct symbol *sym, FILE *fp)
> return __symbol__fprintf_symname_offs(sym, NULL, false, false, fp);
> }
>
> -size_t dso__fprintf_symbols_by_name(struct dso *dso,
> +void dso__fprintf_symbols_by_name(struct dso *dso,
> FILE *fp)
> {
> - size_t ret = 0;
> struct rb_node *nd;
> struct symbol_name_rb_node *pos;
>
> @@ -70,6 +69,4 @@ size_t dso__fprintf_symbols_by_name(struct dso *dso,
> pos = rb_entry(nd, struct symbol_name_rb_node, rb_node);
> fprintf(fp, "%s\n", pos->sym.name);
> }
> -
> - return ret;
The class__fprintf* functions follow the fprintf semantics, i.e. return
how many bytes were printed, so the fix should instead be the one below,
that I've commited to my tree, thanks for reporting!
- Arnaldo
commit 210e4c89ef61432040c6cd828fefa441f4887186
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon Mar 8 11:17:51 2021 -0300
perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
The 'ret' variable was initialized to zero but then it was not updated
from the fprintf() return, fix it.
Reported-by: Yang Li <yang.lee@linux.alibaba.com>
cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
cc: Ingo Molnar <mingo@redhat.com>
cc: Jiri Olsa <jolsa@redhat.com>
cc: Mark Rutland <mark.rutland@arm.com>
cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Fixes: 90f18e63fbd00513 ("perf symbols: List symbols in a dso in ascending name order")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/util/symbol_fprintf.c b/tools/perf/util/symbol_fprintf.c
index 35c936ce33efa6ea..2664fb65e47ada94 100644
--- a/tools/perf/util/symbol_fprintf.c
+++ b/tools/perf/util/symbol_fprintf.c
@@ -68,7 +68,7 @@ size_t dso__fprintf_symbols_by_name(struct dso *dso,
for (nd = rb_first_cached(&dso->symbol_names); nd; nd = rb_next(nd)) {
pos = rb_entry(nd, struct symbol_name_rb_node, rb_node);
- fprintf(fp, "%s\n", pos->sym.name);
+ ret += fprintf(fp, "%s\n", pos->sym.name);
}
return ret;
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-08 14:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-08 8:55 [PATCH] perf symbols: turn dso__fprintf_symbols_by_name into void function Yang Li
2021-03-08 14:20 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.