From: Julian Seward Date: Tue, 11 Nov 2014 12:46:19 +0000 (+0000) Subject: PRE(mach_msg) on OSX 10.10 64-bit: replace failing assertion X-Git-Tag: svn/VALGRIND_3_11_0~837 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf3f0c09cb37ec91cae84348475eea9e8c60cec0;p=thirdparty%2Fvalgrind.git 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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14711 --- diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c index be5e34b5b2..ab6eb063e5 100644 --- a/coregrind/m_syswrap/syswrap-darwin.c +++ b/coregrind/m_syswrap/syswrap-darwin.c @@ -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;