summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Durnev <mikhail_durnev@mentor.com>2014-09-03 13:14:30 +0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-03 11:28:00 +0100
commit74bfb662246411aa062cd8b2acd37be1bbed39d3 (patch)
treec45e86e84b95575cba120c6f7b143f5fd425c21d
parentf249ef32709069a2680b92dc5a5b4f6545d014b7 (diff)
downloadopenembedded-core-contrib-74bfb662246411aa062cd8b2acd37be1bbed39d3.tar.gz
openembedded-core-contrib-74bfb662246411aa062cd8b2acd37be1bbed39d3.tar.bz2
openembedded-core-contrib-74bfb662246411aa062cd8b2acd37be1bbed39d3.zip
systemtap: Fixed probe syscall.sendfile failure
Marked __syscall.compat_sendfile as optional Signed-off-by: Mikhail Durnev <mikhail_durnev@mentor.com> Signed-off-by: Muzaffar Mahmood <muzaffar_mahmood@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/tapset-linux-sendfile-syscall.patch22
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc1
2 files changed, 23 insertions, 0 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap/tapset-linux-sendfile-syscall.patch b/meta/recipes-kernel/systemtap/systemtap/tapset-linux-sendfile-syscall.patch
new file mode 100644
index 0000000000..f945760fde
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/tapset-linux-sendfile-syscall.patch
@@ -0,0 +1,22 @@
+systemtap: Fixed probe syscall.sendfile failure
+
+compat_sendfile syscall is unavailable in kernels starting version 3.8.
+Hence systemtap scripts like 'probe syscall.* { if (target()==pid()) log(name." ".argstr) }' fail.
+This problem is solved by marking __syscall.compat_sendfile as optional in tapset/linux/syscalls2.stp
+
+Upstream-Status: Pending
+
+Signed-off-by: Mikhail Durnev <mikhail_durnev@mentor.com>
+
+diff -Naur old/tapset/linux/syscalls2.stp new/tapset/linux/syscalls2.stp
+--- old/tapset/linux/syscalls2.stp 2014-04-21 01:28:41.000000000 -0500
++++ new/tapset/linux/syscalls2.stp 2014-04-21 01:38:14.961233914 -0500
+@@ -1953,7 +1953,7 @@
+ # COMPAT_SYSCALL_DEFINE4(sendfile64, int, out_fd, int, in_fd,
+ # compat_loff_t __user *, offset, compat_size_t, count)
+ #
+-probe syscall.sendfile = __syscall.sendfile, __syscall.compat_sendfile
++probe syscall.sendfile = __syscall.sendfile, __syscall.compat_sendfile ?
+ {
+ name = "sendfile"
+ out_fd = __int32($out_fd)
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 717d66f738..3e1e80a727 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -6,6 +6,7 @@ PV = "2.5+git${SRCPV}"
SRC_URI = "git://sourceware.org/git/systemtap.git \
file://docproc-build-fix.patch \
file://obsolete_automake_macros.patch \
+ file://tapset-linux-sendfile-syscall.patch \
"
# systemtap doesn't support mips