diff options
| -rw-r--r-- | sys/src/9/port/syscallfmt.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/sys/src/9/port/syscallfmt.c b/sys/src/9/port/syscallfmt.c index 803481835..224f70b82 100644 --- a/sys/src/9/port/syscallfmt.c +++ b/sys/src/9/port/syscallfmt.c @@ -298,6 +298,8 @@ syscallfmt(ulong syscallno, uintptr pc, va_list list) } break; case _NSEC: + if(sizeof(uintptr) == sizeof(vlong)) + break; v = va_arg(list, vlong*); fmtprint(&fmt, "%#p", v); break; @@ -324,14 +326,6 @@ sysretfmt(ulong syscallno, va_list list, uintptr ret, uvlong start, uvlong stop) errstr = "\"\""; switch(syscallno){ - default: - case ALARM: - case _WRITE: - case PWRITE: - if((long)ret == -1) - errstr = up->syserrstr; - fmtprint(&fmt, " = %ld", (long)ret); - break; case EXEC: case SEGBRK: case SEGATTACH: @@ -403,6 +397,20 @@ sysretfmt(ulong syscallno, va_list list, uintptr ret, uvlong start, uvlong stop) } fmtprint(&fmt, " = %ld", (long)ret); break; + case _NSEC: + if(sizeof(uintptr) == sizeof(vlong)){ + fmtprint(&fmt, " = %lld", (vlong)ret); + break; + } + /* wet floor */ + case ALARM: + case _WRITE: + case PWRITE: + default: + if((long)ret == -1) + errstr = up->syserrstr; + fmtprint(&fmt, " = %ld", (long)ret); + break; } fmtprint(&fmt, " %s %#llud %#llud\n", errstr, start, stop); |
