]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
PRE(mach_msg) on OSX 10.10 64-bit: replace failing assertion
authorJulian Seward <jseward@acm.org>
Tue, 11 Nov 2014 12:46:19 +0000 (12:46 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 11 Nov 2014 12:46:19 +0000 (12:46 +0000)
   vg_assert(! (mh->msgh_bits & MACH_SEND_TRAILER));
with a warning message, but let it continue.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14711

coregrind/m_syswrap/syswrap-darwin.c

index be5e34b5b22f905fb70da89731d1a77f615bc1fc..ab6eb063e5276ae4630ee4a36b59756f70319557 100644 (file)
@@ -7753,7 +7753,19 @@ PRE(mach_msg)
 
       // 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;