Re: uprobes enable condition (user space) - sysfs interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/05/2017 01:45 AM, Masami Hiramatsu wrote:
> On Mon, 4 Dec 2017 09:23:16 -0600
> Paul Clarke <pc@xxxxxxxxxx> wrote:
>> On 12/04/2017 08:55 AM, Arnaldo Carvalho de Melo wrote:
>>> Em Mon, Dec 04, 2017 at 09:36:19PM +0900, Masami Hiramatsu escreveu:
>>>> On Fri, 1 Dec 2017 13:40:39 -0300
>>>> Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>>>>
>>>>> Adding Masami to the CC list, to see if he can come up with a fix for
>>>>> the 'perf probe' failure below, improving the message or ignoring
>>>>> versioned symbols (with a warning perhaps).
>>>>
>>>> Thanks. Should we ignore the versioned symbols? or can we put a probe
>>>> on that? If we have symbol address, we can put a probe on it, even
>>>> if it is versioned.
>>>
>>> Lemme try...
>>>
>>> [root@jouet ~]# perf probe -x /usr/lib64/libc-2.25.so malloc_get_state_225=malloc_get_state@GLIBC_2.2.5
>>> The /usr/lib64/libc-2.25.so file has no debug information.
>>> Rebuild with -g, or install an appropriate debuginfo package.
>>>   Error: Failed to add events.
>>> [root@jouet ~]# perf probe -x /usr/lib64/libc-2.25.so malloc_get_state@GLIBC_2.2.5
>>> The /usr/lib64/libc-2.25.so file has no debug information.
>>> Rebuild with -g, or install an appropriate debuginfo package.
>>>   Error: Failed to add events.
>>
>> commit d80406453ad4a69932dc17a617d5b7bc7ae80b8f should have allowed adding probes on versioned symbols if you omit the versioning part of the symbol.  So, in the above example, this should work:
>>
>> # perf probe -x /usr/lib64/libc-2.25.so malloc_get_state
> 
> No, it doesn't, the above commit improves *find_symbol_by_name(),
> but perf probe uses its own lookup function, because it has to
> support glob pattern matching.

That commit was explicitly to allow perf probe on versioned symbols.  However, it was limited to creating probes on _default_ versioned symbols (marked by '@@").  So, you're correct that it would not work on this symbol in particular.

The value of the commit was to prevent something like the following from failing, even though the symbol existed, but was versioned (presuming one of the versions of the symbol was marked as default ('@@')):

# perf probe perf probe -x /lib/powerpc64le-linux-gnu/libpthread.so.0 pthread_create

PC

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux