diff options
| author | Namhyung Kim <[email protected]> | 2024-05-06 21:13:38 -0700 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2024-05-07 21:39:42 -0300 |
| commit | 187c219b57eaf3e1b7a3cab2c6a8b7909bdbf4a9 (patch) | |
| tree | 6d2c9ae83040a285214e25f0b07899284d6fc9bd | |
| parent | d561e170bd07db62c9b8dbe3d0f59085447ca77a (diff) | |
perf dwarf-aux: Print array type name with "[]"
It's confusing both pointers and arrays are printed as *. Let's print
array types with [] so that we can identify them easily. Although it's
interchangable, sometimes it can cause confusion with size like in the
below example.
Note that it is not the same with C syntax where it goes to the variable
names, but we want to have it in the type names (like in Go language).
Before:
mov [20] 0x68(reg5) -> reg0 type='struct page**' size=0x80 (die:0x4e61d32)
After:
mov [20] 0x68(reg5) -> reg0 type='struct page*[]' size=0x80 (die:0x4e61d32)
Signed-off-by: Namhyung Kim <[email protected]>
Acked-by: Masami Hiramatsu <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Ian Rogers <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Kan Liang <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
| -rw-r--r-- | tools/perf/util/dwarf-aux.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/util/dwarf-aux.c b/tools/perf/util/dwarf-aux.c index c0a492e65388..ec988f294497 100644 --- a/tools/perf/util/dwarf-aux.c +++ b/tools/perf/util/dwarf-aux.c @@ -1110,8 +1110,10 @@ int die_get_typename_from_type(Dwarf_Die *type_die, struct strbuf *buf) const char *tmp = ""; tag = dwarf_tag(type_die); - if (tag == DW_TAG_array_type || tag == DW_TAG_pointer_type) + if (tag == DW_TAG_pointer_type) tmp = "*"; + else if (tag == DW_TAG_array_type) + tmp = "[]"; else if (tag == DW_TAG_subroutine_type) { /* Function pointer */ return strbuf_add(buf, "(function_type)", 15); |