diff options
author | Przemyslaw Pawelczyk <przemyslaw@pawelczyk.it> | 2009-10-10 12:14:54 +0200 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-10-12 17:41:45 -0700 |
commit | 9a59aed914fbe25e159b2a60a97693f14b24ddf3 (patch) | |
tree | 68339248af2b75effca3eda0c6e4f6e59810c893 /parse.cxx | |
parent | 0670efc6debceea57084547976c229335cc0e2fd (diff) | |
download | systemtap-steved-9a59aed914fbe25e159b2a60a97693f14b24ddf3.tar.gz systemtap-steved-9a59aed914fbe25e159b2a60a97693f14b24ddf3.tar.xz systemtap-steved-9a59aed914fbe25e159b2a60a97693f14b24ddf3.zip |
Add the .call modifier to syscall entry probes.
Inline functions do not have an indentifiable return point and require
kernel built using VTA-enabled gcc to get tracking of variables. OTOH
syscall functions are very rarely inlined (depending on the compiler
mood), therefore filtering probes to include only non-inlined functions
ensures consistent behavior between different kernels.
This removes the problem of inaccessible variables in inlined syscalls
that is described in comments #6-9 to PR5890 and gives us the status quo
w.r.t. syscall probing, because before the commit solving PR10572
(b7478964) inline instances were masked anyway by non-inline ones.
You can check whether you have inlined syscalls using following command:
$ stap -l 'kernel.function("sys_*"),kernel.function("compat_sys_*")' \
2>&1 -vvv | awk '/^selected inline/{print $5}'
* tapset/syscalls.stp: Add .call to all entry probes.
* tapset/syscalls2.stp: Ditto.
Diffstat (limited to 'parse.cxx')
0 files changed, 0 insertions, 0 deletions