On 03/31/2017 12:31 PM, Arnaldo Carvalho de Melo wrote:
Em Fri, Mar 31, 2017 at 11:06:16AM -0500, Paul Clarke escreveu:
Symbol versioning, as in glibc, results in symbols being defined as:
<real symbol>@[@]<version>
(Note that "@@" identifies a default symbol, if the symbol name
is repeated.)
perf is currently unable to deal with this, and is unable to create
user probes at such symbols:
On top of what tree/branch should I try to apply this?
I worked from torvalds/linux.
Trying on acme/perf/core:
Pardon my ignorance, but where can I find that tree?
[acme@jouet linux]$ patch -p1 < /wb/1.patch
patching file tools/perf/util/auxtrace.c
Hunk #1 FAILED at 1875.
[...]
Apart from that, you are not checking the return of strndup, that
however unlikely, can fail, so must be checked.
It's in the middle of strcmp-type function, so all return values are valid.
Shall I emit a message and call exit()?
On the style front you sometimes add a space after commas, sometimes
not, please make sure you add one.
Ack.
But apart from those problems, I think that one should be able to ask
for a versioned symbol, to probe just apps using that specific version,
I agree, but wasn't trying to tackle that at the moment. I can look into it,
though.
for instance, we should consider the whole name as two functions, which
in fact, they are, no?
I'm not sure I understand what you mean here. Do you mean we should set a
probe at every version of a given symbol name? For example, if there are
symbols:
a@@V2
[email protected]
a@V1
...for a request to set a probe at "a", we'd actually set a probe at all 3?
Additionaly, I can't reproduce your problem here, on x86_64:
I just cloned from acme/linux, and will rebase to there, if that's the best
tree.
PC