Re: [PATCH 1/3] perf symbols: Add documentation to struct symbol.

From: Arnaldo Carvalho de Melo
Date: Fri Nov 12 2021 - 09:46:18 EST


Em Thu, Nov 11, 2021 at 08:04:35PM -0800, Namhyung Kim escreveu:
> Hi Ian,
>
> On Thu, Nov 11, 2021 at 7:51 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> >
> > Refactor some existing comments and then infer the rest.
> >
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>
> For all 3 patches,
>
> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

b4 doesn't catch these Acked-by for the whole series when sent to one of
the patches, please consider to send your Acked-by/etc to the [PATCH
0/N] message in that case.

Thanks, applied!

- Arnaldo


> Thanks,
> Namhyung
>
>
> > ---
> > tools/perf/util/symbol.h | 17 ++++++++++++++---
> > 1 file changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
> > index 166196686f2e..3586fa549f44 100644
> > --- a/tools/perf/util/symbol.h
> > +++ b/tools/perf/util/symbol.h
> > @@ -40,22 +40,33 @@ Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep,
> > GElf_Shdr *shp, const char *name, size_t *idx);
> > #endif
> >
> > -/** struct symbol - symtab entry
> > - *
> > - * @ignore - resolvable but tools ignore it (e.g. idle routines)
> > +/**
> > + * A symtab entry. When allocated this may be preceded by an annotation (see
> > + * symbol__annotation), a browser_index (see symbol__browser_index) and rb_node
> > + * to sort by name (see struct symbol_name_rb_node).
> > */
> > struct symbol {
> > struct rb_node rb_node;
> > + /** Range of symbol [start, end). */
> > u64 start;
> > u64 end;
> > + /** Length of the string name. */
> > u16 namelen;
> > + /** ELF symbol type as defined for st_info. E.g STT_OBJECT or STT_FUNC. */
> > u8 type:4;
> > + /** ELF binding type as defined for st_info. E.g. STB_WEAK or STB_GLOBAL. */
> > u8 binding:4;
> > + /** Set true for kernel symbols of idle routines. */
> > u8 idle:1;
> > + /** Resolvable but tools ignore it (e.g. idle routines). */
> > u8 ignore:1;
> > + /** Symbol for an inlined function. */
> > u8 inlined:1;
> > + /** Architecture specific. Unused except on PPC where it holds st_other. */
> > u8 arch_sym;
> > + /** Has symbol__annotate2 been performed. */
> > bool annotate2;
> > + /** The name of length namelen associated with the symbol. */
> > char name[];
> > };
> >
> > --
> > 2.34.0.rc1.387.gb447b232ab-goog
> >

--

- Arnaldo