eb0e3e8f50
Before this change, registers were read with PTRACE_PEEKUSER ptrace operation, one per register. This is slower than fetching them all in one ptrace operation. * defs.h: include asm/ptrace.h on X86_64 and I386. * syscall.c: New static variables i386_regs and x86_64_regs. Remove static eax/rax variables. (get_scno): Fetch all registers with single PTRACE_GETREGS operation. (get_syscall_result): Likewise. (syscall_fixup_on_sysenter): Use PTRACE_GETREGS results in i386/x86_64_regs. (syscall_enter): Set tcp->u_arg[i] from PTRACE_GETREGS results. (get_error): Set tcp->u_rval, tcp->u_error from PTRACE_GETREGS results. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> |
||
---|---|---|
debian | ||
freebsd | ||
linux | ||
m4 | ||
sunos4 | ||
svr4 | ||
test | ||
tests | ||
.gitignore | ||
.mailmap | ||
AUTHORS | ||
bjm.c | ||
block.c | ||
ChangeLog-CVS | ||
configure.ac | ||
COPYRIGHT | ||
count.c | ||
CREDITS.in | ||
defs.h | ||
desc.c | ||
errnoent.sh | ||
file.c | ||
git-set-file-times | ||
gitlog-to-changelog | ||
HACKING-scripts | ||
INSTALL | ||
io.c | ||
ioctl.c | ||
ioctlsort.c | ||
ipc.c | ||
make-dist | ||
Makefile.am | ||
mem.c | ||
net.c | ||
NEWS | ||
pathtrace.c | ||
PORTING | ||
proc.c | ||
process.c | ||
quota.c | ||
README | ||
README-freebsd | ||
README-hacking | ||
README-linux | ||
README-sunos4 | ||
README-svr4 | ||
resource.c | ||
scsi.c | ||
signal.c | ||
signalent.sh | ||
sock.c | ||
strace-graph | ||
strace.1 | ||
strace.c | ||
strace.spec | ||
stream.c | ||
syscall.c | ||
syscallent.sh | ||
system.c | ||
term.c | ||
time.c | ||
TODO | ||
util.c | ||
xlate.el |
This is strace 4.0, a system call tracer for SunOS 4.x, Linux, System V release 4, Solaris 2.x and Irix 5.x. strace is released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYRIGHT for details. Read the INSTALL file for generic instructions on how to install strace. If configure cannot guess your system configuration, you can specify it on the command line after the other options like this: ./configure --prefix=/usr i486-linux A single sunos4.1 binary should work on all the sun4, sun4c and sun4m kernel architectures. Let me know if sun4d doesn't work. Other i486-*-sysv4 systems may work with little or no tweaking. See the file NEWS for information on what has changed in recent versions. See the file PORTING if you like strace but it doesn't work on an operating system you use frequently. See the file CREDITS to see who has contributed to strace. See the file TODO if you feel like helping out. You can get the latest version of strace from its homepage at http://sourceforge.net/projects/strace/ . Please send bug reports and enhancements to the strace mailinglist at strace-devel@lists.sourceforge.net, or directly to Wichert Akkerman <wakkerma@debian.org>