Re: [PATCH 01/23] perf dwarf-aux: Remove unused pc argument

From: Namhyung Kim
Date: Tue Mar 19 2024 - 13:40:25 EST


On Tue, Mar 19, 2024 at 6:43 AM Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
>
> On Mon, Mar 18, 2024 at 10:50:53PM -0700, Namhyung Kim wrote:
> > It's not used, let's get rid of it.
>
> I looked for data->pc, there is usage somewhere else, but not via
> __die_find_var_addr_cb() nor match_var_offset().
>
> I think renaming:
>
> struct find_var_data data;
>
> to:
>
> struct find_var_data var;
>
> And:
>
> struct find_scope_data data;
>
> to:
>
> struct find_scope_data scope;
>
> Helps with grepping for 'data->pc', but that can be left for later.

Ok, I can rename them later.

>
> Reviewed-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Thanks for the review!
Namhyung

>
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> > tools/perf/util/annotate-data.c | 4 ++--
> > tools/perf/util/dwarf-aux.c | 7 ++-----
> > tools/perf/util/dwarf-aux.h | 6 ++----
> > 3 files changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/tools/perf/util/annotate-data.c b/tools/perf/util/annotate-data.c
> > index 30c4d19fcf11..59ce5f4f4a40 100644
> > --- a/tools/perf/util/annotate-data.c
> > +++ b/tools/perf/util/annotate-data.c
> > @@ -263,7 +263,7 @@ static int find_data_type_die(struct debuginfo *di, u64 pc, u64 addr,
> > offset = loc->offset;
> >
> > if (reg == DWARF_REG_PC) {
> > - if (die_find_variable_by_addr(&cu_die, pc, addr, &var_die, &offset)) {
> > + if (die_find_variable_by_addr(&cu_die, addr, &var_die, &offset)) {
> > ret = check_variable(&var_die, type_die, offset,
> > /*is_pointer=*/false);
> > loc->offset = offset;
> > @@ -312,7 +312,7 @@ static int find_data_type_die(struct debuginfo *di, u64 pc, u64 addr,
> > /* Search from the inner-most scope to the outer */
> > for (i = nr_scopes - 1; i >= 0; i--) {
> > if (reg == DWARF_REG_PC) {
> > - if (!die_find_variable_by_addr(&scopes[i], pc, addr,
> > + if (!die_find_variable_by_addr(&scopes[i], addr,
> > &var_die, &offset))
> > continue;
> > } else {
> > diff --git a/tools/perf/util/dwarf-aux.c b/tools/perf/util/dwarf-aux.c
> > index 2791126069b4..e84d0d6a7750 100644
> > --- a/tools/perf/util/dwarf-aux.c
> > +++ b/tools/perf/util/dwarf-aux.c
> > @@ -1456,7 +1456,6 @@ static int __die_find_var_addr_cb(Dwarf_Die *die_mem, void *arg)
> > /**
> > * die_find_variable_by_addr - Find variable located at given address
> > * @sc_die: a scope DIE
> > - * @pc: the program address to find
> > * @addr: the data address to find
> > * @die_mem: a buffer to save the resulting DIE
> > * @offset: the offset in the resulting type
> > @@ -1464,12 +1463,10 @@ static int __die_find_var_addr_cb(Dwarf_Die *die_mem, void *arg)
> > * Find the variable DIE located at the given address (in PC-relative mode).
> > * This is usually for global variables.
> > */
> > -Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die, Dwarf_Addr pc,
> > - Dwarf_Addr addr, Dwarf_Die *die_mem,
> > - int *offset)
> > +Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die, Dwarf_Addr addr,
> > + Dwarf_Die *die_mem, int *offset)
> > {
> > struct find_var_data data = {
> > - .pc = pc,
> > .addr = addr,
> > };
> > Dwarf_Die *result;
> > diff --git a/tools/perf/util/dwarf-aux.h b/tools/perf/util/dwarf-aux.h
> > index 85dd527ae1f7..9973801a20c1 100644
> > --- a/tools/perf/util/dwarf-aux.h
> > +++ b/tools/perf/util/dwarf-aux.h
> > @@ -146,9 +146,8 @@ Dwarf_Die *die_find_variable_by_reg(Dwarf_Die *sc_die, Dwarf_Addr pc, int reg,
> > Dwarf_Die *die_mem);
> >
> > /* Find a (global) variable located in the 'addr' */
> > -Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die, Dwarf_Addr pc,
> > - Dwarf_Addr addr, Dwarf_Die *die_mem,
> > - int *offset);
> > +Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die, Dwarf_Addr addr,
> > + Dwarf_Die *die_mem, int *offset);
> >
> > #else /* HAVE_DWARF_GETLOCATIONS_SUPPORT */
> >
> > @@ -170,7 +169,6 @@ static inline Dwarf_Die *die_find_variable_by_reg(Dwarf_Die *sc_die __maybe_unus
> > }
> >
> > static inline Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die __maybe_unused,
> > - Dwarf_Addr pc __maybe_unused,
> > Dwarf_Addr addr __maybe_unused,
> > Dwarf_Die *die_mem __maybe_unused,
> > int *offset __maybe_unused)
> > --
> > 2.44.0.291.gc1ea87d7ee-goog
> >