diff options
| author | Tiezhu Yang <yangtiezhu@loongson.cn> | 2026-08-20 20:50:07 +0800 |
|---|---|---|
| committer | Petr Pavlu <petr.pavlu@suse.com> | 2026-09-09 12:15:37 +0200 |
| commit | a22f1497700e1b4b1d6285b7884cc1da3ffbba43 (patch) | |
| tree | ad41703733f303cebc8f270a6712447d8240c781 /tools/perf/scripts/python | |
| parent | 67059a02f5e26e4c5c890792d720bbff235bb1d5 (diff) | |
module/kallsyms: Ignore local labels and mapping symbols during module load
The compiler toolchains may generate local labels and mapping symbols on
certain architectures like LoongArch for optimizations and relocations.
While these local labels and mapping symbols are already ignored during
runtime lookups via find_kallsyms_symbol(), they still leak into kallsyms
for loaded modules because layout_symtab() and add_kallsyms() don't ignore
them during load time.
Consequently, tracing tools like bpftrace (which do not perform internal
filtering, unlike perf) resolve identical addresses into confusing local
labels instead of actual clear C function names.
Fix this by integrating the is_ignored_kernel_symbol() check directly into
is_core_symbol(). This ensures these unneeded symbols are stripped during
module load time, keeping /proc/kallsyms clean and resulting in accurate
call stacks.
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
