|
From: <sv...@va...> - 2010-05-24 13:40:20
|
Author: tom
Date: 2010-05-24 14:40:10 +0100 (Mon, 24 May 2010)
New Revision: 11133
Log:
Fix amd64 and ppc64 to correctly mark mq_timedreceive as LINXY so that
the post handler is run to mark the retrieved message as correct.
Also change the post handler to only mark the number of bytes actually
returned as defined, rather than the whole buffer.
Fixes #238679.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2010-05-15 08:37:24 UTC (rev 11132)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2010-05-24 13:40:10 UTC (rev 11133)
@@ -1343,7 +1343,7 @@
LINXY(__NR_mq_open, sys_mq_open), // 240
LINX_(__NR_mq_unlink, sys_mq_unlink), // 241
LINX_(__NR_mq_timedsend, sys_mq_timedsend), // 242
- LINX_(__NR_mq_timedreceive, sys_mq_timedreceive),// 243
+ LINXY(__NR_mq_timedreceive, sys_mq_timedreceive),// 243
LINX_(__NR_mq_notify, sys_mq_notify), // 244
LINXY(__NR_mq_getsetattr, sys_mq_getsetattr), // 245
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2010-05-15 08:37:24 UTC (rev 11132)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2010-05-24 13:40:10 UTC (rev 11133)
@@ -1726,7 +1726,7 @@
}
POST(sys_mq_timedreceive)
{
- POST_MEM_WRITE( ARG2, ARG3 );
+ POST_MEM_WRITE( ARG2, RES );
if (ARG4 != 0)
POST_MEM_WRITE( ARG4, sizeof(unsigned int) );
}
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2010-05-15 08:37:24 UTC (rev 11132)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2010-05-24 13:40:10 UTC (rev 11133)
@@ -1479,7 +1479,7 @@
LINX_(__NR_mq_unlink, sys_mq_unlink), // 263
LINX_(__NR_mq_timedsend, sys_mq_timedsend), // 264
- LINX_(__NR_mq_timedreceive, sys_mq_timedreceive), // 265
+ LINXY(__NR_mq_timedreceive, sys_mq_timedreceive), // 265
LINX_(__NR_mq_notify, sys_mq_notify), // 266
LINXY(__NR_mq_getsetattr, sys_mq_getsetattr), // 267
// _____(__NR_kexec_load, sys_kexec_load), // 268
|