svn commit: r401512 - in head/devel/valgrind: . files

Dmitry Sivachenko demon at FreeBSD.org
Fri Nov 13 13:35:04 UTC 2015


Author: demon
Date: Fri Nov 13 13:35:02 2015
New Revision: 401512
URL: https://svnweb.freebsd.org/changeset/ports/401512

Log:
  Add a patch for "unhandled sysarch cmd 132" error.
  
  PR:		202766
  Submitted by:	Julien Nadeau <vedge at hypertriton.com>

Added:
  head/devel/valgrind/files/patch-coregrind-m_syswrap-syswrap-amd64-freebsd.c   (contents, props changed)
Modified:
  head/devel/valgrind/Makefile
  head/devel/valgrind/files/patch-include__vki__vki-freebsd.h

Modified: head/devel/valgrind/Makefile
==============================================================================
--- head/devel/valgrind/Makefile	Fri Nov 13 13:10:26 2015	(r401511)
+++ head/devel/valgrind/Makefile	Fri Nov 13 13:35:02 2015	(r401512)
@@ -4,7 +4,7 @@
 PORTNAME=	valgrind
 DISTVERSIONPREFIX=	freebsd-
 PORTVERSION=	3.10.0.20150126
-PORTREVISION=	1
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	devel
 MASTER_SITES=	https://bitbucket.org/${BB_ACCOUNT}/${BB_PROJECT}/get/${BB_COMMIT}.tar.gz?dummy=/ \

Added: head/devel/valgrind/files/patch-coregrind-m_syswrap-syswrap-amd64-freebsd.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/valgrind/files/patch-coregrind-m_syswrap-syswrap-amd64-freebsd.c	Fri Nov 13 13:35:02 2015	(r401512)
@@ -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");

Modified: head/devel/valgrind/files/patch-include__vki__vki-freebsd.h
==============================================================================
--- head/devel/valgrind/files/patch-include__vki__vki-freebsd.h	Fri Nov 13 13:10:26 2015	(r401511)
+++ head/devel/valgrind/files/patch-include__vki__vki-freebsd.h	Fri Nov 13 13:35:02 2015	(r401512)
@@ -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


More information about the svn-ports-all mailing list