4 printargv(struct tcb *tcp, long addr)
9 char data[sizeof(long)];
13 unsigned wordsize = current_wordsize;
16 for (sep = ""; !abbrev(tcp) || n < max_strlen / 2; sep = ", ", ++n) {
17 if (umoven(tcp, addr, wordsize, cp.data) < 0) {
18 tprintf("%#lx", addr);
26 printstr(tcp, cp.p64, -1);
30 tprintf("%s...", sep);
34 printargc(const char *fmt, struct tcb *tcp, long addr)
39 for (count = 0; umove(tcp, addr, &cp) >= 0 && cp != NULL; count++) {
40 addr += sizeof(char *);
42 tprintf(fmt, count, count == 1 ? "" : "s");
46 sys_execve(struct tcb *tcp)
49 printpath(tcp, tcp->u_arg[0]);
51 tprintf(", %#lx", tcp->u_arg[1]);
54 printargv(tcp, tcp->u_arg[1]);
58 tprintf(", %#lx", tcp->u_arg[2]);
60 printargc(", [/* %d var%s */]", tcp, tcp->u_arg[2]);
63 printargv(tcp, tcp->u_arg[2]);
70 #if defined(SPARC) || defined(SPARC64)
72 sys_execv(struct tcb *tcp)
75 printpath(tcp, tcp->u_arg[0]);
77 tprintf(", %#lx", tcp->u_arg[1]);
80 printargv(tcp, tcp->u_arg[1]);
86 #endif /* SPARC || SPARC64 */