From 19a8f66eecda455b56c6c07bd1ce75be8d2cbb82 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 20 Sep 2014 01:37:11 +0200 Subject: pc64: syscallfmt for nsec syscall --- sys/src/9/port/syscallfmt.c | 24 ++++++++++++++++-------- 1 file 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); -- cgit v1.2.3