diff options
author | brian <brian@FreeBSD.org> | 2006-01-02 08:36:25 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2006-01-02 08:36:25 +0000 |
commit | 2a326134d0e35fa054037847b1446e8c4b4d61df (patch) | |
tree | f225c3e75d0afc9fd39abffd240d054d382656bb /usr.bin/truss/i386-linux.c | |
parent | 0cacee70e6bb1e0af3e1d315cdcdad02bac4ba3c (diff) | |
download | FreeBSD-src-2a326134d0e35fa054037847b1446e8c4b4d61df.zip FreeBSD-src-2a326134d0e35fa054037847b1446e8c4b4d61df.tar.gz |
Add a -s flag for the same functionality as strace. Introduce a Name
type which is a String type that has no -s limitations applied to it.
Change most Strings in the code to Names and add a few extra syscalls,
namely munmap, read, rename and symlink. This was enough to facilitate
following file descriptor allocations in the code more easily and
getting a hint at what's being read/written from/to files. More
syscalls should really be added.
While here, fix an off-by-one bug in the buffer truncation code and
add a fflush so that truss's output reflects the syscall that the
program is stuck in.
Sponsored by: Sophos/Activestate
MFC after: 2 weeks
Diffstat (limited to 'usr.bin/truss/i386-linux.c')
-rw-r--r-- | usr.bin/truss/i386-linux.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/truss/i386-linux.c b/usr.bin/truss/i386-linux.c index 01703b5..9833829 100644 --- a/usr.bin/truss/i386-linux.c +++ b/usr.bin/truss/i386-linux.c @@ -200,7 +200,7 @@ i386_linux_syscall_entry(struct trussinfo *trussinfo, int nargs) { i < (fsc.nargs - 1) ? "," : ""); #endif if (sc && !(sc->args[i].type & OUT)) { - fsc.s_args[i] = print_arg(Procfd, &sc->args[i], fsc.args, 0); + fsc.s_args[i] = print_arg(Procfd, &sc->args[i], fsc.args, 0, trussinfo); } } #if DEBUG @@ -312,7 +312,7 @@ i386_linux_syscall_exit(struct trussinfo *trussinfo, int syscall_num __unused) if (errorp) asprintf(&temp, "0x%lx", fsc.args[sc->args[i].offset]); else - temp = print_arg(Procfd, &sc->args[i], fsc.args, retval); + temp = print_arg(Procfd, &sc->args[i], fsc.args, retval, trussinfo); fsc.s_args[i] = temp; } } |