summaryrefslogtreecommitdiffstats
path: root/usr.bin/truss/amd64-linux32.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2006-01-02 08:36:25 +0000
committerbrian <brian@FreeBSD.org>2006-01-02 08:36:25 +0000
commit2a326134d0e35fa054037847b1446e8c4b4d61df (patch)
treef225c3e75d0afc9fd39abffd240d054d382656bb /usr.bin/truss/amd64-linux32.c
parent0cacee70e6bb1e0af3e1d315cdcdad02bac4ba3c (diff)
downloadFreeBSD-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/amd64-linux32.c')
-rw-r--r--usr.bin/truss/amd64-linux32.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/truss/amd64-linux32.c b/usr.bin/truss/amd64-linux32.c
index 01703b5..9833829 100644
--- a/usr.bin/truss/amd64-linux32.c
+++ b/usr.bin/truss/amd64-linux32.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;
}
}
OpenPOWER on IntegriCloud