diff options
author | David Smith <dsmith@redhat.com> | 2009-04-09 12:06:05 -0500 |
---|---|---|
committer | David Smith <dsmith@redhat.com> | 2009-04-09 12:06:05 -0500 |
commit | d5cd287f7860df8752f93de93fcd1cc68884d56b (patch) | |
tree | 3925169ed4a5742464677f50f7a55e18cad1b561 /tapset | |
parent | 52356a26e1825acbd9146337ffdbed9b0e173f2b (diff) | |
download | systemtap-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.stp | 8 |
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 */ %} |