[patch] support syscall.sigaltstack for all archs

Lai Jiangshan laijs@cn.fujitsu.com
Wed Sep 12 13:11:00 GMT 2007


Hi, all
   I did not commit the patch, because I just found that do_sigaltstack is
used by other functions besides sys_sigaltstack.

   But in current tapset, syscall.sigaltstack is not supported for IA64, so
I made a new patch for syscall.sigaltstack just support IA64. 

Lai Jiangshan wrote:
> I have tested it on i686(Fedora7) and ia64(rhel5). It's ok
> on these two hosts! I will commit it.

--- /usr/share/systemtap/tapset/ia64/syscalls.stp	2007-09-11 03:18:51.000000000 +0900
+++ tapset/ia64/syscalls.stp	2007-09-12 00:41:37.000000000 +0900
@@ -41,6 +41,25 @@
         retstr = returnstr(2)
 }
 
+# sigaltstack _______________________________________________
+# asmlinkage long
+# sys_sigaltstack (const stack_t __user *uss, stack_t __user *uoss, long arg2,
+#                  long arg3, long arg4, long arg5, long arg6, long arg7,
+#                  struct pt_regs regs)
+#
+probe syscall.sigaltstack = kernel.function("sys_sigaltstack")
+{
+	name = "sigaltstack";
+	ss_uaddr = $uss
+	oss_uaddr = $uoss
+	argstr = sprintf("%p, %p", $uss, $uoss)
+}
+probe syscall.sigaltstack.return = kernel.function("sys_sigaltstack").return
+{
+	name = "sigaltstack";
+	retstr = returnstr(1)
+}
+
 # sysctl _____________________________________________________
 #
 # long sys32_sysctl (struct sysctl32 __user *args)



More information about the Systemtap mailing list