Re: 'perf probe' and symbols from .text.<something>

From: Masami Hiramatsu
Date: Tue Feb 23 2021 - 02:10:56 EST


Hi,

On Tue, 23 Feb 2021 00:05:08 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> ----
> /* Adjust symbol name and address */
> static int post_process_probe_trace_point(struct probe_trace_point *tp,
> struct map *map, unsigned long offs)
> {
> struct symbol *sym;
> u64 addr = tp->address - offs;
>
> sym = map__find_symbol(map, addr);
> if (!sym)
> return -ENOENT;
> ----
>
> So it seems "map" may not load the symbol out of ".text".
> This need to be fixed, since the map is widely used in the perf.

OK, I found a root cause of this issue.
dso__process_kernel_symbol() (which invoked from map__load() path) only adds the
symbols in ".text" section to the symbol list. It must be fixed.

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>