summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzhaolei <zhaolei>2007-09-21 06:53:27 +0000
committerzhaolei <zhaolei>2007-09-21 06:53:27 +0000
commitbe1487de1597bd3fe070d9edffdb6f66314c0535 (patch)
treec715793da471e49e77974ee26a2d8f47da39790e
parent7e74b7357835a1b5a757c17431a55109a2e1babe (diff)
downloadsystemtap-steved-be1487de1597bd3fe070d9edffdb6f66314c0535.tar.gz
systemtap-steved-be1487de1597bd3fe070d9edffdb6f66314c0535.tar.xz
systemtap-steved-be1487de1597bd3fe070d9edffdb6f66314c0535.zip
2007-09-21 Zhaolei <zhaolei@cn.fujitsu.com>
From Lai Jiangshan <laijs@cn.fujitsu.com> * aux_syscalls.stp (_sys_open_flag_str): Fix bug that missing "O_ASYNC". From Lai Jiangshan <laijs@cn.fujitsu.com> * aux_syscalls.stp: Add a function _mremap_flags. * syscalls.stp (syscall.mremap): Use _mremap_flags instead of _mmap_flags.
-rw-r--r--tapset/ChangeLog11
-rw-r--r--tapset/aux_syscalls.stp9
-rw-r--r--tapset/syscalls.stp2
3 files changed, 21 insertions, 1 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 8c51f4d7..559664c5 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,5 +1,16 @@
2007-09-21 Zhaolei <zhaolei@cn.fujitsu.com>
+ From Lai Jiangshan <laijs@cn.fujitsu.com>
+ * aux_syscalls.stp (_sys_open_flag_str): Fix bug that missing
+ "O_ASYNC".
+
+ From Lai Jiangshan <laijs@cn.fujitsu.com>
+ * aux_syscalls.stp: Add a function _mremap_flags.
+ * syscalls.stp (syscall.mremap): Use _mremap_flags instead of
+ _mmap_flags.
+
+2007-09-21 Zhaolei <zhaolei@cn.fujitsu.com>
+
* aux_syscalls.stp(_reboot_magic_str) Fix the problem that
LINUX_REBOOT_MAGIC1 printed as UNKNOWN VALUE.
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp
index d2f53f37..fe16cac7 100644
--- a/tapset/aux_syscalls.stp
+++ b/tapset/aux_syscalls.stp
@@ -984,6 +984,9 @@ function _sys_open_flag_str:string (f:long)
#ifdef O_ASYNC
if (flags & O_ASYNC)
strlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);
+#elif defined(FASYNC)
+ if (flags & FASYNC)
+ strlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);
#endif
#ifdef O_DIRECT
if (flags & O_DIRECT)
@@ -1366,6 +1369,12 @@ function _mmap_flags(flags) {
return substr(msg,0,strlen(msg)-1)
}
+function _mremap_flags(flags) {
+ if (flags & 1) msg="MREMAP_MAYMOVE|"
+ if (flags & 2) msg="MREMAP_FIXED|".msg
+ return substr(msg,0,strlen(msg)-1)
+}
+
function _mprotect_prot_str(prot) {
if (prot) {
if(prot & 1) ps="PROT_READ|"
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index 0171a681..a66f3ed1 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -2563,7 +2563,7 @@ probe syscall.mremap = kernel.function("sys_mremap") ? {
flags = $flags
new_address = $new_addr
argstr = sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len,
- _mmap_flags($flags), $new_addr)
+ _mremap_flags($flags), $new_addr)
}
probe syscall.mremap.return = kernel.function("sys_mremap").return ? {
name = "mremap"