| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* tapset/x86_64/nd_syscalls.stp: Made 'sys32_mmap2' probe point optional,
since it doesn't exist on newer kernels.
|
|
|
|
|
|
| |
* tapset/i386/nd_syscalls.stp: Add support for 'sys_mmap_pgoff' (which is
what the mmap syscall uses).
* tapset/x86_64/nd_syscalls.stp: Ditto.
|
|
|
|
|
|
| |
* tapset/i386/syscalls.stp: Add support for 'sys_mmap_pgoff' (which is
what the mmap syscall uses).
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
|
| |
* tapset/x86_64/syscalls.stp (syscall.pipe32[.return]): Define same
variables and match argstr with regular syscall.pipe.
|
|
|
|
|
|
|
|
|
|
| |
* tapset/syscalls.stp: Used '@defined()' to remove kernel version checks.
* tapset/syscalls2.stp: Ditto.
* tapset/x86_64/syscalls.stp: Ditto.
* tapset/nd_syscalls.stp: Updated to match tapset/syscalls.stp.
* tapset/nd_syscalls2.stp: Updated to match tapset/syscalls2.stp.
* tapset/x86_64/nd_syscalls.stp: Updated to match
tapset/x86_64/syscalls.stp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/systemtap.syscall/mmap.c (main): Added mprotect and mremap
testing (along with testing of anonymous maps).
* tapset/i386/syscalls.stp: In mmap probes, handle the fact that the
kernel gets an unsigned long 'fd', but the user-side passes a signed
int.
* tapset/i386/nd_syscalls.stp: Ditto.
* tapset/ia64/syscalls.stp: Ditto.
* tapset/powerpc/nd_syscalls.stp: Ditto.
* tapset/powerpc/syscalls.stp: Ditto.
* tapset/x86_64/nd_syscalls.stp: Ditto.
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
|
|
|
|
|
| |
Some distributions might have backported the pipe fd leak patch and removed
the sys32_pipe kernel function even before 2.6.32. So make the probe alias
optional instead of relying on a version check.
* tapset/x86_64/syscalls.stp (syscall.pipe): Make alias optional.
(syscall.pipe.return): Likewise.
|
|
|
|
| |
The function sys32_mmap2 is removed since 2.6.33.
|
|
|
|
|
| |
* tapset/x86_64/nd_syscalls.stp: Switch by kernel version.
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
|
|
|
| |
* tapset/conversions.stp (kernel_long, kernel_int, kernel_short,
kernel_char): All are actually using kread(), not deref().
* tapset/i386/registers.stp (_stp_arg): Ditto.
* tapset/x86_64/registers.stp (_stp_arg): Ditto.
|
|
|
|
|
| |
These are all the dwarfless analogs to $arch/syscalls.stp.
(Only i686 and x86_64 have been tested...)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The functions asmlinkage() and fastcall() are used to help access
syscall parameters on i686. All other archs don't need this, but they
still define empty functions to shield the callers from arch details.
However, stap issues warnings for empty script-level functions. This
patch changes them to "%{ /* pure */ %}" so there's no complaint, and
they will still get optimized away.
|
|
|
|
|
| |
This now checks that CONTEXT->regs actually exists, and that the
requested offset is in the correct range.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-07-14 David Smith <dsmith@redhat.com>
* tapsets.cxx
(utrace_var_expanding_copy_visitor::visit_target_symbol):
Synthesize a function to get the value of $syscall.
2008-07-14 David Smith <dsmith@redhat.com>
* i686/registers.stp: Removed syscall_nr function.
* x86_64/registers.stp: Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 David Smith <dsmith@redhat.com>
* tapsets.cxx
(utrace_var_expanding_copy_visitor::visit_target_symbol): Calls
'syscall_nr' to get the value of '$syscall'.
2008-06-09 David Smith <dsmith@redhat.com>
* x86_64/registers.stp (syscall_nr): Added syscall_nr function.
* i686/registers.stp (syscall_nr): Ditto.
|
| |
|
|
|
|
|
| |
It doesn't seem that regparm() is actually used, but I saw compilation
errors when I compiled with -u.
|
| |
|
|\
| |
| |
| | |
PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
|
| |
| |
| |
| |
| |
| |
| | |
{s|u}64_arg(), etc. Added asmlinkage(), fastcall(), regparm().
Dealt with some surprises -- e.g., rax is ZERO-extended eax.
Seems to work well with -m32 and -m64 user apps, and with a (small)
dwarfless subset of syscall.stp.
|
|/
|
|
|
| |
Still missing: arg64(), _stp_copy_from_user stack, .linkage clause,
tests, docs.
|
|
|
|
|
| |
* x86_64/syscalls.stp (syscall.iopl): Use new_iopl instead of level
on xen kernel.
|
|
|
|
|
|
|
|
|
| |
* x86_64/syscalls.stp: Add support for sys32_mmap[2],
sys32_vm86_warning, and sys32_pipe.
* s390x/syscalls.stp (get_mmap_args): Move to aux_syscalls.
* aux_syscalls.stp (get_mmap_args): Moved here.
* syscalls.stp: Add sys32_alarm.
* syscalls2.stp: Add sys32_uname.
|
|
|
|
| |
* syscalls*: Move sys32_sysctl to arch dirs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* */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.
|
|
|
|
|
|
|
|
| |
* syscall*.stp: Major reorganization work.
* aux_syscalls.stp (_sigprocmask_how_str): Rewrite
in C so real arch-dependent header files
will be used.
(_mlockall_flags_str): Ditto.
|
|
|
|
| |
syscall.* failures on some kernels.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* conversions.stp (user_string): Don't generate errors
on faults, just return <unknown>.
(user_string2): New function.
(user_string_warn): New function.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* errno.stp: Add octal option for returnstr.
* [i686,x86_64]/syscalls.stp (umask): Print args and return
in octal.
(add_key): Comment out. This syscall is added by a xen patch
and may not be present.
(tux): Ditto.
* syscalls.stp (accept): Fix arg name.
|
|
|
|
| |
* syscall*.stp: Change "0x%p" to "%p".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* conversions.stp (hexstring, string): Removed functions. Because
of parser changes, "string" is now a reserved word and cannot be a
function name. Use 'sprintf("0x%x", num)' to replace hexstring()
and either 'sprint(num)' or 'sprintf("%d", num)' to replace
string().
* syscalls.stp (syscall.accept, syscall.alarm, syscall.close,
syscall.dup, syscall.epoll_create, syscall.exit, syscall.fchdir,
syscall.fdatasync, syscall.fsync, syscall.getsid) Changed
'string()' calls to 'sprint()' calls.
* syscalls2.stp (syscall.sched_get_priority_max,
syscall.sched_get_priority_min, syscall.sched_getscheduler,
syscall.setfsgid, syscall.setfsgid16, syscall.setfsuid,
syscall.setfsuid16, syscall.setgid, syscall.setgid16,
syscall.setuid, syscall.setuid16, syscall.ssetmask,
syscall.timer_delete, syscall.timer_getoverrun): Ditto.
* i686/syscalls.stp (syscall.iopl, syscall.rt_sigreturn,
syscall.sigreturn): Ditto.
* ppc64/syscalls.stp (syscall.ppc64_personality): Ditto.
* x86_64/syscalls.stp (kernel.syscall.iopl, kernel.syscall.umask):
Ditto.
* test/ctostp.sh: Uses 'sprint()' instead of 'string()' in
generated systemtap code.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sys_fstat
sys_getegid16
sys_geteuid16
sys_getgid16
sys_getgroups16
sys_getuid16
sys_lstat
sys_mmap2
sys_setgroups16
sys_stat
More works need to be done here.
|
|
* syscalls.stp: New syscall file.
* syscall2.stp: More syscalls.
* i686/syscalls.stp: x86-specific calls.
* x86_64/syscalls.stp: x86_64-specific calls.
|