Re: [PATCH perf/core 2/4] perf-probe: Fix to handle aliased symbols in glibc

Arnaldo Carvalho de Melo
2015-03-03T02:45:18Z

Em Tue, Mar 03, 2015 at 11:39:02AM +0900, Masami Hiramatsu escreveu:
> (2015/03/03 0:46), Arnaldo Carvalho de Melo wrote:
> > Em Mon, Mar 02, 2015 at 09:49:53PM +0900, Masami Hiramatsu escreveu:
> >> With this patch;
> >> -----
> >> # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc
> >> Available variables at malloc
> >> @<__libc_malloc+0>
> >> size_t bytes
> >> # ./perf probe -x /usr/lib64/libc-2.17.so -a "malloc bytes"
> >> Added new event:
> >> probe_libc:malloc (on malloc in /usr/lib64/libc-2.17.so with bytes)
> >>
> >> You can now use it in all perf tools, such as:
> >>
> >> perf record -e probe_libc:malloc -aR sleep 1
> >
> >> Reported-by: Arnaldo Carvalho de Melo <acme@kernel.org>
> >
> > Humm, not working for me, after the patch:
> >
> > [root@ssdandy ~]# perf probe -x /usr/lib64/libc-2.17.so -V malloc
> > Available variables at malloc
> > @<__malloc_check_init+96>
> > (No matched variables)
>

Will try after a 'make build-test' finishes for the current batch

> > [root@ssdandy ~]#
> >
> > And then the one asking for 'bytes' to be collectd fails.
> >
> > After processing the other patches I'll try to debug this...
> >
> > [root@ssdandy ~]# cat /etc/redhat-release
> > Red Hat Enterprise Linux Server release 7.0 (Maipo)
> > [root@ssdandy ~]# rpm -q glibc glibc-debuginfo
> > glibc-2.17-55.el7_0.3.x86_64
> > glibc-debuginfo-2.17-55.el7_0.1.x86_64
> ^^^ why is this different from the glibc version??
>
> > [root@ssdandy ~]#
> > [acme@ssdandy linux]$ readelf -Ws /usr/lib64/libc-2.17.so| grep malloc
> [...]
> > 4849: 0000000000080050 107 FUNC LOCAL DEFAULT 12 __malloc_check_init
>
> __malloc_check_init+96(0x60) becomes 0x80050 + 0x60 = 0x800b0
>
> > 5351: 00000000000800c0 245 FUNC LOCAL DEFAULT 12 __malloc
> > 1170: 00000000000800c0 245 FUNC GLOBAL DEFAULT 12 malloc@@GLIBC_2.2.5
>
> that is not 0x800c0, so something goes wrong when translating the address
> to probe point. Could you check the patch 1/4 was applied?
> Actually there is a bug in the routine which gets the probe point from
> address. 1/4 fixes it.

This one?

commit 0104fe69e0287cf3635657b4c6b26a18e0091697
Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Date: Mon Mar 2 21:49:46 2015 +0900

perf probe: Remove bias offset to find probe point by address

Remove bias offset to find probe point by address.

----------------

Yes, it is applied.

- Arnaldo