summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2009-04-09 12:06:05 -0500
committerDavid Smith <dsmith@redhat.com>2009-04-09 12:06:05 -0500
commitd5cd287f7860df8752f93de93fcd1cc68884d56b (patch)
tree3925169ed4a5742464677f50f7a55e18cad1b561 /tapset
parent52356a26e1825acbd9146337ffdbed9b0e173f2b (diff)
downloadsystemtap-steved-d5cd287f7860df8752f93de93fcd1cc68884d56b.tar.gz
systemtap-steved-d5cd287f7860df8752f93de93fcd1cc68884d56b.tar.xz
systemtap-steved-d5cd287f7860df8752f93de93fcd1cc68884d56b.zip
Uses <asm/syscall.h> when available.
2009-04-09 David Smith <dsmith@redhat.com> * buildrun.cxx (compile_pass): Compile autoconf test for <asm/syscall.h>. * runtime/autoconf-asm-syscall.c: New "autoconf" test the presence of <asm/syscall.h>. * runtime/syscall.h: If <asm/syscall.h> exists, use it. Otherwise, use our private copy of the functions for each architecture. (syscall_get_nr): Renamed from __stp_user_syscall_nr(). (syscall_get_return_value): Renamed from __stp_user_syscall_return_value(). (syscall_get_arguments): Renamed from __stp_user_syscall_arg(). * runtime/task_finder.c (__stp_utrace_task_finder_target_syscall_exit): Uses new syscall.h functions. * tapset/utrace.stp: Ditto.
Diffstat (limited to 'tapset')
-rw-r--r--tapset/utrace.stp8
1 files changed, 5 insertions, 3 deletions
diff --git a/tapset/utrace.stp b/tapset/utrace.stp
index 34cb32c5..00f427e6 100644
--- a/tapset/utrace.stp
+++ b/tapset/utrace.stp
@@ -6,13 +6,15 @@
%}
function _utrace_syscall_nr:long () %{
- THIS->__retvalue = __stp_user_syscall_nr(CONTEXT->regs); /* pure */
+ THIS->__retvalue = syscall_get_nr(current, CONTEXT->regs); /* pure */
%}
function _utrace_syscall_arg:long (n:long) %{
- THIS->__retvalue = *__stp_user_syscall_arg(current, CONTEXT->regs, (int)THIS->n); /* pure */
+ unsigned long arg = 0; /* pure */
+ syscall_get_arguments(current, CONTEXT->regs, (int)THIS->n, 1, &arg);
+ THIS->__retvalue = arg;
%}
function _utrace_syscall_return:long () %{
- THIS->__retvalue = *__stp_user_syscall_return_value(current, CONTEXT->regs); /* pure */
+ THIS->__retvalue = syscall_get_return_value(current, CONTEXT->regs); /* pure */
%}