Hi Masami, On Thu, Mar 05, 2015 at 12:57:21AM +0900, Masami Hiramatsu wrote: > (2015/03/04 22:52), Namhyung Kim wrote: > > It currently prevents adding probes in weak symbols. But there're cases > > that given name is an only weak symbol so that we cannot add probe. > > > > $ perf probe -x /usr/lib/libc.so.6 -a calloc > > Failed to find symbol calloc in /usr/lib/libc-2.21.so > > Error: Failed to add events. > > > > $ nm /usr/lib/libc.so.6 | grep calloc > > 000000000007b1f0 t __calloc > > 000000000007b1f0 T __libc_calloc > > 000000000007b1f0 W calloc > > > > This change will result in duplicate probes when strong and weak symbols > > co-exist in a binary. But I think it's not a big problem since probes > > at the weak symbol will never be hit anyway. > > Hmm, even on my previous series, I got an error with calloc and waitpid. > > $ ./perf probe -x /usr/lib64/libc-2.17.so -vvV calloc > probe-definition(0): calloc > symbol:calloc file:(null) line:0 offset:0 return:0 lazy:(null) > 0 arguments > Open Debuginfo file: /usr/lib/debug/usr/lib64/libc-2.17.so.debug > Searching variables at calloc > Failed to find the address of calloc > Error: Failed to show vars. Reason: No such file or directory (Code: -2) > > However, it seems that calloc is loaded as a symbol. > > $ ./perf probe -x /usr/lib64/libc-2.17.so -vvvvV calloc > ... > symbol__new: __xstat64 0xe7340-0xe7385 > symbol__new: calloc 0x80a90-0x80d2a > symbol__new: msgget 0xf7940-0xf7961 > ... > > FYI, without these patches, I see the same result (calloc is loaded)
I'm bit confused with the English ;-). So you mean that now you *can* probe calloc and waitpid with this patch, right? Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/