|
From: <sv...@va...> - 2014-11-11 12:46:27
|
Author: sewardj
Date: Tue Nov 11 12:46:19 2014
New Revision: 14711
Log:
PRE(mach_msg) on OSX 10.10 64-bit: replace failing assertion
vg_assert(! (mh->msgh_bits & MACH_SEND_TRAILER));
with a warning message, but let it continue.
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Tue Nov 11 12:46:19 2014
@@ -7753,7 +7753,19 @@
// GrP fixme handle sender-specified message trailer
// (but is this only for too-secure processes?)
+ // JRS 11 Nov 2014: this assertion is OK for <= 10.9 but fails on 10.10
+# if DARWIN_VERS == DARWIN_10_10
+ static UInt ctr = 0;
+ if (! (mh->msgh_bits & MACH_SEND_TRAILER)) {
+ ctr++;
+ if (-1 != VG_(log2)(ctr)) {
+ VG_(printf)("UNKNOWN mach_msg unhandled "
+ "MACH_SEND_TRAILER option (shown %u times)\n", ctr);
+ }
+ }
+# else
vg_assert(! (mh->msgh_bits & MACH_SEND_TRAILER));
+# endif
MACH_REMOTE = mh->msgh_remote_port;
MACH_MSGH_ID = mh->msgh_id;
|