diff options
author | hunt <hunt> | 2007-07-31 16:20:30 +0000 |
---|---|---|
committer | hunt <hunt> | 2007-07-31 16:20:30 +0000 |
commit | a968ea63067cb079cbd1608804ec80c36026f0ab (patch) | |
tree | 3f39852ec51e7e39ce69a0ec1d39449ef56b1067 /tapset/i686 | |
parent | 291f7a3a00b127c0128434c7af7923331ef34bd7 (diff) | |
download | systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.gz systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.xz systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.zip |
2007-07-31 Martin Hunt <hunt@redhat.com>
* */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.
Diffstat (limited to 'tapset/i686')
-rw-r--r-- | tapset/i686/syscalls.stp | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/tapset/i686/syscalls.stp b/tapset/i686/syscalls.stp index ad984075..1106ea3d 100644 --- a/tapset/i686/syscalls.stp +++ b/tapset/i686/syscalls.stp @@ -1,3 +1,7 @@ +# 32-bit x86-specific system calls +# These are typically defined in arch/i386 +# + # get_thread_area ____________________________________________ /* * asmlinkage int @@ -28,16 +32,9 @@ probe syscall.iopl.return = kernel.function("sys_iopl").return { } # ipc ________________________________________________________ -/* - * asmlinkage int - * sys_ipc(uint call, - * int first, - * int second, - * int third, - * void __user *ptr, - * long fifth) - */ -probe syscall.ipc = kernel.function("sys_ipc") { +# int sys_ipc (uint call, int first, int second, int third, void __user *ptr, long fifth) +# +probe syscall.ipc = kernel.function("sys_ipc") ? { name = "ipc" call = $call first = $first @@ -46,13 +43,38 @@ probe syscall.ipc = kernel.function("sys_ipc") { ptr_uaddr = $ptr fifth = $fifth argstr = sprintf("%d, %d, %d, %d, %p, %d", $call, $first, - $second, $third, ptr_uaddr, $fifth) + $second, $third, $ptr, $fifth) } -probe syscall.ipc.return = kernel.function("sys_ipc").return { +probe syscall.ipc.return = kernel.function("sys_ipc").return ? { name = "ipc" retstr = returnstr(1) } + +# mmap2 ____________________________________________ +# sys_mmap2(unsigned long addr, unsigned long len, +# unsigned long prot, unsigned long flags, +# unsigned long fd, unsigned long pgoff) +# +probe syscall.mmap2 = kernel.function("sys_mmap2") ? +{ + name = "mmap2" + start = $addr + length = $len + prot = $prot + flags = $flags + fd = $fd + pgoffset = $pgoff + argstr = sprintf("%p, %d, %s, %s, %d, %d", $addr, + $len, _mprotect_prot_str($prot), _mmap_flags($flags), + $fd, $pgoff) +} +probe syscall.mmap2.return = kernel.function("sys_mmap2").return ? +{ + name = "mmap2" + retstr = returnstr(2) +} + # set_thread_area ____________________________________________ /* * asmlinkage int @@ -91,26 +113,6 @@ probe syscall.set_zone_reclaim.return = retstr = returnstr(1) } %) -# shmat ______________________________________________________ -/* - * asmlinkage long - * sys_shmat(int shmid, - * char __user *shmaddr, - * int shmflg) - */ -probe syscall.shmat = - kernel.function("sys_shmat") { - name = "shmat" - shmid = $shmid - shmaddr_uaddr = $shmaddr - shmflg = $shmflg - argstr = sprintf("%d, %p, %d", $shmid, shmaddr_uaddr, $shmflg) -} -probe syscall.shmat.return = - kernel.function("sys_shmat").return { - name = "shmat" - retstr = returnstr(1) -} # sigaltstack ________________________________________________ # int sys_sigaltstack(unsigned long ebx) |