From 0a6626c316a4fe76a2752ae003dd26f8ed8764df Mon Sep 17 00:00:00 2001 From: hunt Date: Wed, 12 Jul 2006 17:05:45 +0000 Subject: [PATCH] Workarounds for bad debug info on x86_64. --- tapset/syscalls.stp | 12 ++++++------ tapset/syscalls2.stp | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp index 1823a8a3f..36a5e22ec 100644 --- a/tapset/syscalls.stp +++ b/tapset/syscalls.stp @@ -1451,13 +1451,13 @@ probe syscall.io_submit.return = kernel.function("sys_io_submit").return { # ioprio_get _________________________________________________ # long sys_ioprio_get(int which, int who) # -probe syscall.ioprio_get = kernel.function("sys_ioprio_get") { +probe syscall.ioprio_get = kernel.function("sys_ioprio_get") ? { name = "ioprio_get" which = $which who = $who argstr = sprintf("%d, %d", $which, $who) } -probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return { +probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return ? { name = "ioprio_get" retstr = returnstr(1) } @@ -1465,14 +1465,14 @@ probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return { # ioprio_set _________________________________________________ # long sys_ioprio_set(int which, int who, int ioprio) # -probe syscall.ioprio_set = kernel.function("sys_ioprio_set") { +probe syscall.ioprio_set = kernel.function("sys_ioprio_set") ? { name = "ioprio_set" which = $which who = $who ioprio = $ioprio argstr = sprintf("%d, %d, %d", $which, $who, $ioprio) } -probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return { +probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return ? { name = "ioprio_set" retstr = returnstr(1) } @@ -1483,7 +1483,7 @@ probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return { # struct kexec_segment __user *segments, # unsigned long flags) # -probe syscall.kexec_load = kernel.function("sys_kexec_load") { +probe syscall.kexec_load = kernel.function("sys_kexec_load") ? { name = "kexec_load" entry = $entry nr_segments = $nr_segments @@ -1491,7 +1491,7 @@ probe syscall.kexec_load = kernel.function("sys_kexec_load") { flags = $flags argstr = sprintf("%p, %d, %p, %d", $entry, $nr_segments, $segments, $flags) } -probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return { +probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return ? { name = "kexec_load" retstr = returnstr(1) } diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index d0d0e85f3..d0dc19ff0 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -898,6 +898,7 @@ probe syscall.sched_rr_get_interval.return = # unsigned int len, # unsigned long __user *user_mask_ptr) # +%( arch != "x86_64" %? probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity") { name = "sched_setaffinity" pid = $pid @@ -905,6 +906,15 @@ probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity") { mask_uaddr = $user_mask_ptr argstr = sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr) } +%: +probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity") { + name = "sched_setaffinity" + pid = $pid + len = 0 + mask_uaddr = $user_mask_ptr + argstr = sprintf("%d, , %p", $pid, $user_mask_ptr) +} +%) probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return { name = "sched_setaffinity" retstr = returnstr(1) -- 2.43.5