Thread (5 messages) 5 messages, 3 authors, 2021-11-12

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

From: Namhyung Kim <namhyung@kernel.org>
Date: 2021-11-12 04:04:53
Also in: lkml

Hi Ian,

On Thu, Nov 11, 2021 at 7:51 PM Ian Rogers [off-list ref] wrote:
Refactor some existing comments and then infer the rest.

Signed-off-by: Ian Rogers <irogers@google.com>
For all 3 patches,

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

quoted hunk ↗ jump to hunk
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help