commit d8ca118560a6bbcfc61884ea0ea88756dad39432
parent 1c5e7e4c2a61dc3c289d807c7506d4cbef12244f
Author: rminnich@xcpu2 <none@none>
Date: Sun, 21 Mar 2010 19:17:07 -0700
fd2path is now right.
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/9vx/trap.c b/src/9vx/trap.c
@@ -339,9 +339,9 @@ syscallprint(Ureg *ureg)
break;
}
case FD2PATH:
- up->syscalltrace = smprint("%d [%s] %s %#ux %d",
+ up->syscalltrace = smprint("%d [%s] %s %#ux %d %#ux %d",
up->pid, up->text,
- sysctab[ureg->ax], sp[0], sp[1]);
+ sysctab[ureg->ax], sp[0], sp[1], sp[2], sp[3]);
break;
case BRK_:
up->syscalltrace = smprint("%d [%s] %s %#ux %08ux %08ux %08ux %08uxh",
@@ -522,7 +522,6 @@ retprint(Ureg *ureg, int syscallno)
case _WRITE:
case PIPE:
case CREATE:
- case FD2PATH:
case BRK_:
case REMOVE:
case _WSTAT:
@@ -560,6 +559,14 @@ retprint(Ureg *ureg, int syscallno)
else
up->syscalltrace = smprint("= %d\n", ureg->ax);
break;
+ case FD2PATH:
+ if(ureg->ax == -1)
+ up->syscalltrace = smprint("= %s\n", up->syserrstr);
+ else {
+ char *s = uvalidaddr(up->s.args[1], up->s.args[2], 0);
+ up->syscalltrace = smprint("= %#ux='%s'\n", ureg->ax, s);
+ }
+ break;
case PREAD:
if(ureg->ax == -1)
up->syscalltrace = smprint("= %s\n", up->syserrstr);