diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-09-20 01:37:11 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-09-20 01:37:11 +0200 |
commit | 19a8f66eecda455b56c6c07bd1ce75be8d2cbb82 (patch) | |
tree | a237f58a7e2909ae43ee9c2671b0538b75912d44 /sys/src/9/port/syscallfmt.c | |
parent | acd15f13c4572aa2ac360f2c0deb6aa05351873d (diff) |
pc64: syscallfmt for nsec syscall
Diffstat (limited to 'sys/src/9/port/syscallfmt.c')
-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); |