diff options
author | Namhyung Kim <[email protected]> | 2023-11-09 15:59:23 -0800 |
---|---|---|
committer | Arnaldo Carvalho de Melo <[email protected]> | 2023-11-10 09:03:58 -0300 |
commit | a65e8c0b7855e951138eff077af4a6a8721a7ef6 (patch) | |
tree | 9fad054667da953c2ef03d98df110560d4d12872 /tools/perf/scripts/python/netdev-times.py | |
parent | 6f1b6291cf73cb3223f6fb9ec16862a5fe7ed957 (diff) |
perf dwarf-aux: Fix die_get_typename() for void *
The die_get_typename() is to return a C-like type name from DWARF debug
entry and it follows data type if the target entry is a pointer type.
But I found that void pointers don't have the type attribute to follow
and then the function returns an error for that case. This results in a
broken type string for void pointer types.
For example, the following type entries are pointer types.
<1><48c>: Abbrev Number: 4 (DW_TAG_pointer_type)
<48d> DW_AT_byte_size : 8
<48d> DW_AT_type : <0x481>
<1><491>: Abbrev Number: 211 (DW_TAG_pointer_type)
<493> DW_AT_byte_size : 8
<1><494>: Abbrev Number: 4 (DW_TAG_pointer_type)
<495> DW_AT_byte_size : 8
<495> DW_AT_type : <0x49e>
The first one at offset 48c and the third one at offset 494 have type
information. Then they are pointer types for the referenced types. But
the second one at offset 491 doesn't have the type attribute.
Signed-off-by: Namhyung Kim <[email protected]>
Acked-by: Masami Hiramatsu (Google) <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Ian Rogers <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: [email protected]
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/netdev-times.py')
0 files changed, 0 insertions, 0 deletions