PERFORCE change 152143 for review
Peter Wemm
peter at FreeBSD.org
Wed Oct 29 09:11:58 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=152143
Change 152143 by peter at peter_overcee on 2008/10/29 09:11:54
Complete getSyscallStatusFromGuestState() for amd64.
Fix 8th argument in getSyscallArgsFromGuestState() for amd64.
Rough syscall abi notes added.
Affected files ...
.. //depot/projects/valgrind/coregrind/m_syswrap/syswrap-main.c#9 edit
Differences ...
==== //depot/projects/valgrind/coregrind/m_syswrap/syswrap-main.c#9 (text+ko) ====
@@ -63,6 +63,9 @@
AIX:
ppc32 r2 r3 r4 r5 r6 r7 r8 r9 r10 r3(res),r4(err)
ppc64 r2 r3 r4 r5 r6 r7 r8 r9 r10 r3(res),r4(err)
+ FreeBSD:
+ x86 eax esp esp esp esp esp esp esp esp eax+edx+eflags.c
+ amd64 rax rdi rsi rdx r10 r8 r9 rsp rsp rax+rdx+rflags.c
*/
/* This is the top level of the system-call handler module. All
@@ -286,7 +289,7 @@
static
Bool eq_SyscallStatus ( SyscallStatus* s1, SyscallStatus* s2 )
{
-//VG_(printf)( "eq_SyscallStatus: what %d %d res %ld %ld res2 %ld %ld err %ld %ld\n", s1->what, s2->what, s1->sres.res, s2->sres.res, s1->sres.res2, s2->sres.res2, s1->sres.err, s2->sres.err);
+//VG_(printf)( "eq_SyscallStatus: what %d %d res %ld %ld res2 %ld %ld err %ld %ld isError %d %d\n", s1->what, s2->what, s1->sres.res, s2->sres.res, s1->sres.res2, s2->sres.res2, s1->sres.err, s2->sres.err, s1->sres.isError, s2->sres.isError);
return s1->what == s2->what
&& s1->sres.res == s2->sres.res
#if defined(VGO_freebsd)
@@ -357,7 +360,7 @@
canonical->arg5 = gst->guest_R9;
canonical->arg6 = argv[1];
canonical->arg7 = argv[2];
- canonical->arg8 = argv[2];
+ canonical->arg8 = argv[3];
break;
}
@@ -561,8 +564,7 @@
#elif defined(VGP_amd64_freebsd)
VexGuestAMD64State* gst = (VexGuestAMD64State*)gst_vanilla;
canonical->what = SsComplete;
- canonical->sres.res = (UWord)gst->guest_RAX;
- canonical->sres.res2 = (UWord)gst->guest_RDX;
+ canonical->sres = VG_(mk_SysRes_amd64_freebsd)( gst->guest_RAX, gst->guest_RDX, LibVEX_GuestAMD64_get_rflags(gst));
# else
# error "getSyscallStatusFromGuestState: unknown arch"
More information about the p4-projects
mailing list