amd64-freebsd32.c (286937) | amd64-freebsd32.c (286938) |
---|---|
1/* 2 * Copyright 1997 Sean Eric Fagan 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef lint 33static const char rcsid[] = | 1/* 2 * Copyright 1997 Sean Eric Fagan 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#ifndef lint 33static const char rcsid[] = |
34 "$FreeBSD: head/usr.bin/truss/amd64-fbsd32.c 286937 2015-08-19 19:59:42Z jhb $"; | 34 "$FreeBSD: head/usr.bin/truss/amd64-fbsd32.c 286938 2015-08-19 20:02:03Z jhb $"; |
35#endif /* not lint */ 36 37/* 38 * FreeBSD/i386-specific system call handling. This is probably the most 39 * complex part of the entire truss program, although I've got lots of 40 * it handled relatively cleanly now. The system call names are generated 41 * automatically, thanks to /usr/src/sys/kern/syscalls.master. The 42 * names used for the various structures are confusing, I sadly admit. --- 257 unchanged lines hidden (view full) --- 300 asprintf(&fsc->s_args[i], "0x%lx", fsc->args[i]); 301 } else { 302 /* 303 * Here, we only look for arguments that have OUT masked in -- 304 * otherwise, they were handled in the syscall_entry function. 305 */ 306 for (i = 0; i < sc->nargs; i++) { 307 char *temp; | 35#endif /* not lint */ 36 37/* 38 * FreeBSD/i386-specific system call handling. This is probably the most 39 * complex part of the entire truss program, although I've got lots of 40 * it handled relatively cleanly now. The system call names are generated 41 * automatically, thanks to /usr/src/sys/kern/syscalls.master. The 42 * names used for the various structures are confusing, I sadly admit. --- 257 unchanged lines hidden (view full) --- 300 asprintf(&fsc->s_args[i], "0x%lx", fsc->args[i]); 301 } else { 302 /* 303 * Here, we only look for arguments that have OUT masked in -- 304 * otherwise, they were handled in the syscall_entry function. 305 */ 306 for (i = 0; i < sc->nargs; i++) { 307 char *temp; |
308 |
|
308 if (sc->args[i].type & OUT) { 309 /* 310 * If an error occurred, then don't bother 311 * getting the data; it may not be valid. 312 */ 313 if (errorp) { 314 asprintf(&temp, "0x%lx", 315 fsc->args[sc->args[i].offset]); --- 24 unchanged lines hidden --- | 309 if (sc->args[i].type & OUT) { 310 /* 311 * If an error occurred, then don't bother 312 * getting the data; it may not be valid. 313 */ 314 if (errorp) { 315 asprintf(&temp, "0x%lx", 316 fsc->args[sc->args[i].offset]); --- 24 unchanged lines hidden --- |