FreeBSD Bugzilla – Attachment 160559 Details for
Bug 202766
devel/valgrind: unhandled sysarch cmd 132 (AMD64_GET_XFPUSTATE)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed fix
xfpustate2.diff (text/plain), 2.83 KB, created by
Julien Nadeau
on 2015-08-31 13:19:39 UTC
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
Julien Nadeau
Created:
2015-08-31 13:19:39 UTC
Size:
2.83 KB
patch
obsolete
>Index: devel/valgrind/files/patch-coregrind_m_syswrap_syswrap_amd64_freebsd_c >=================================================================== >--- devel/valgrind/files/patch-coregrind_m_syswrap_syswrap_amd64_freebsd_c (revision 0) >+++ devel/valgrind/files/patch-coregrind_m_syswrap_syswrap_amd64_freebsd_c (working copy) >@@ -0,0 +1,30 @@ >+--- coregrind/m_syswrap/syswrap-amd64-freebsd.c.orig 2015-01-26 16:17:32.000000000 -0400 >++++ coregrind/m_syswrap/syswrap-amd64-freebsd.c 2015-08-31 09:51:17.506396000 -0300 >+@@ -691,6 +691,27 @@ >+ SET_STATUS_Success2( tst->arch.vex.guest_FS_ZERO, tst->arch.vex.guest_RDX ); >+ POST_MEM_WRITE( ARG2, sizeof(void *) ); >+ break; >++ case VKI_AMD64_GET_XFPUSTATE: >++ { >++ UChar fpuState[160]; >++ struct vki_amd64_get_xfpustate *xfs = (struct vki_amd64_get_xfpustate *)ARG2; >++ int fpuSaveLen; >++ >++ PRINT("sys_amd64_get_xfpustate ( %#lx, %d )", (long unsigned int)xfs->addr, xfs->len); >++ tst = VG_(get_ThreadState)(tid); >++ >++ if (xfs->len <= sizeof(fpuState)) { >++ amd64g_dirtyhelper_FXSAVE_ALL_EXCEPT_XMM( >++ (VexGuestAMD64State *)&tst->arch.vex, >++ (HWord)fpuState); >++ VG_(memcpy)(xfs->addr, fpuState, xfs->len); >++ POST_MEM_WRITE( xfs->addr, xfs->len ); >++ SET_STATUS_Success ( 0 ); >++ } else { >++ SET_STATUS_Failure( VKI_EINVAL ); >++ } >++ } >++ break; >+ default: >+ VG_(message) (Vg_UserMsg, "unhandled sysarch cmd %ld", ARG1); >+ VG_(unimplemented) ("unhandled sysarch cmd"); > >Index: devel/valgrind/files/patch-include__vki__vki-freebsd.h >=================================================================== >--- devel/valgrind/files/patch-include__vki__vki-freebsd.h (revision 395651) >+++ devel/valgrind/files/patch-include__vki__vki-freebsd.h (working copy) >@@ -1,6 +1,6 @@ >---- ./include/vki/vki-freebsd.h.orig 2014-02-08 15:00:31.591069799 -0600 >-+++ ./include/vki/vki-freebsd.h 2014-02-08 15:00:39.993068845 -0600 >-@@ -681,6 +681,7 @@ >+--- include/vki/vki-freebsd.h.orig 2015-01-26 16:17:32.000000000 -0400 >++++ include/vki/vki-freebsd.h 2015-08-31 04:55:29.139189000 -0300 >+@@ -684,6 +684,7 @@ > > #define VKI_SOCK_STREAM 1 > >@@ -8,3 +8,27 @@ > #include <netinet/tcp.h> > > #define VKI_TCP_NODELAY TCP_NODELAY >+@@ -1888,11 +1889,23 @@ >+ #define VKI_I386_SET_FSBASE 8 >+ #define VKI_I386_GET_GSBASE 9 >+ #define VKI_I386_SET_GSBASE 10 >++#define VKI_I386_SET_XFPUSTATE 11 >+ >+ #define VKI_AMD64_GET_FSBASE 128 >+ #define VKI_AMD64_SET_FSBASE 129 >+ #define VKI_AMD64_GET_GSBASE 130 >+ #define VKI_AMD64_SET_GSBASE 131 >++#define VKI_AMD64_GET_XFPUSTATE 132 >++ >++typedef struct vki_i386_get_xfpustate { >++ unsigned int addr; >++ int len; >++}; >++ >++typedef struct vki_amd64_get_xfpustate { >++ void *addr; >++ int len; >++}; >+ >+ //---------------------------------------------------------------------- >+ // From sys/module.h
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
koobs
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 202766
:
160513
| 160559