summaryrefslogtreecommitdiffstats
path: root/parse.cxx
diff options
context:
space:
mode:
authorPrzemyslaw Pawelczyk <przemyslaw@pawelczyk.it>2009-10-10 12:14:54 +0200
committerJosh Stone <jistone@redhat.com>2009-10-12 17:41:45 -0700
commit9a59aed914fbe25e159b2a60a97693f14b24ddf3 (patch)
tree68339248af2b75effca3eda0c6e4f6e59810c893 /parse.cxx
parent0670efc6debceea57084547976c229335cc0e2fd (diff)
downloadsystemtap-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