From a968ea63067cb079cbd1608804ec80c36026f0ab Mon Sep 17 00:00:00 2001 From: hunt Date: Tue, 31 Jul 2007 16:20:30 +0000 Subject: 2007-07-31 Martin Hunt * */syscalls.stp: Added mmap functions. Continued moving common compatibility functions to the main tapset. * aux_syscalls.stp (_shmat_flags_str): New. (__get_compat_argv): New. * syscalls.stp (adjtimex): Just print hex argument. (compat_adjtimex): New. (clock_getres): Also probe compat_clock_getres. (clock_gettime): Also probe compat funcs. (compat_clock_nanosleep): New. (compat_execve): New. (fstatat): New. (get[e][gu]id): Also probe sys32. (getsockopt): Make optional. Also probe compat. (mmap, mmap2): These are arch-specific, so move to individual architecture subdirs. (compat_sys_msgctl): New. (compat_sys_msgrcv): New. (compat_sys_msgsnd): New. * syscalls.stp (pread32): Remove. It calls pread64 . (quotactl): Make optional. (recv): Probe correct function. (recvfrom): Fix args. (compat_sys_recvmsg): New. (semctl): Make optional. (compat_sys_semctl): New. (semget): Make optional. (semop): Make optional. (semtimedop): Make optional. (compat_sys_semtimedop): New. (send): Make optional. (sendmsg): Make optional. (compat_sys_sendmsg): New. (sendto): Make optional. (setsockopt): Make optional. Add compat. (shmat): New. (compat_sys_shmat): New. (shmctl): New. (compat_sys_shmctl): New. (shmdt): New. (shmget): New. (shutdown): Make optional. (socket): Make optional. (socketpair): Make optional. (swapoff): Make optional. (swapon): Make optional. (sysctl): Add probe on sys32. --- tapset/x86_64/syscalls.stp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'tapset/x86_64') diff --git a/tapset/x86_64/syscalls.stp b/tapset/x86_64/syscalls.stp index e97a941e..de070a7d 100644 --- a/tapset/x86_64/syscalls.stp +++ b/tapset/x86_64/syscalls.stp @@ -1,3 +1,5 @@ +# x86_64-specific system calls + # arch_prctl _________________________________________________ # long sys_arch_prctl(int code, unsigned long addr) # @@ -47,4 +49,24 @@ probe syscall.sigaltstack.return = kernel.function("sys_sigaltstack").return { retstr = returnstr(1) } +# mmap +# long sys_mmap(unsigned long addr, unsigned long len, +# unsigned long prot, unsigned long flags, +# unsigned long fd, unsigned long off) +probe syscall.mmap = kernel.function("sys_mmap") ? { + name = "mmap" + start = $addr + len = $len + prot = $prot + flags = $flags + fd = $fd + offset = $off + argstr = sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, + _mprotect_prot_str($prot), _mmap_flags($flags), $fd, $off) +} + +probe syscall.mmap.return = kernel.function("sys_mmap").return ? { + name = "mmap" + retstr = returnstr(2) +} -- cgit