Messages in this thread | | | Date | Fri, 10 Jul 2020 14:25:29 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH v2 4/4] perf-probe: Warn if the target function is GNU Indirect function |
| |
Em Fri, Jul 10, 2020 at 07:27:12PM +0530, Srikar Dronamraju escreveu: > * Masami Hiramatsu <mhiramat@kernel.org> [2020-07-10 22:11:33]: > > > Warn if the probe target function is GNU indirect function (GNU_IFUNC) > > because it may not what the user want to probe. > > > > The GNU indirect function ( https://sourceware.org/glibc/wiki/GNU_IFUNC ) > > is the dynamic solved symbol at runtime. IFUNC function is a selector > > which is invoked from the elf loader, but the symbol address of the > > function which will be modified by the IFUNC is same as the IFUNC in > > the symbol table. This can confuse users who is trying to probe on > > such functions. > > > > For example, the memcpy is one of IFUNC. > > > > # perf probe -x /lib64/libc-2.30.so -a memcpy > > # perf probe -l > > probe_libc:memcpy (on __new_memcpy_ifunc@x86_64/multiarch/memcpy.c in /usr/lib64/libc-2.30.so) > > > > the probe is put on a IFUNC. > > > > # perf record -e probe_libc:memcpy --call-graph dwarf -aR ./perf > > > > Thus, I decided to warn user when the perf probe detects the probe point > > is on the GNU IFUNC symbol. Someone who wants to probe an IFUNC symbol to > > debug the IFUNC function, they can ignore this warning. > > > > Reported-by: Andi Kleen <andi@firstfloor.org> > > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> > > Looks good to me. > > Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Thanks, applied.
- Arnaldo
| |