From: Rhys Kidd Date: Wed, 1 Jul 2015 23:04:58 +0000 (+0000) Subject: Fix Memcheck: the 'impossible' happened: unexpected size for Addr (OSX/wine) X-Git-Tag: svn/VALGRIND_3_11_0~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50310539d6f46e3ff999af8a2d034fd6132f81e7;p=thirdparty%2Fvalgrind.git Fix Memcheck: the 'impossible' happened: unexpected size for Addr (OSX/wine) bz#347988 == 345929 On OS X 10.10 Before: == 592 tests, 222 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures == After: == 592 tests, 222 stderr failures, 14 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures == git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15391 --- diff --git a/NEWS b/NEWS index 786b9f4406..9bbb318a7b 100644 --- a/NEWS +++ b/NEWS @@ -234,6 +234,8 @@ where XXXXXX is the bug number as listed below. 347978 Remove bash dependencies where not needed 347982 Fix undefined symbols for architecture x86_64: "_global", referenced from: _test_so_global in tls_so-tls_so.o +347988 Fix Memcheck: the 'impossible' happened: unexpected size for Addr (OSX/wine) + == 345929 348102 Patch updating v4l2 API support 348247 jno jumps wrongly when overflow is not set 348565 Fix detection of command line option availability for clang diff --git a/memcheck/mc_errors.c b/memcheck/mc_errors.c index 5781b8026a..4d8e863586 100644 --- a/memcheck/mc_errors.c +++ b/memcheck/mc_errors.c @@ -1256,13 +1256,13 @@ typedef CoreMemSupp, // Memory errors in core (pthread ops, signal handling) // Undefined value errors of given size - Value1Supp, Value2Supp, Value4Supp, Value8Supp, Value16Supp, + Value1Supp, Value2Supp, Value4Supp, Value8Supp, Value16Supp, Value32Supp, // Undefined value error in conditional. CondSupp, // Unaddressable read/write attempt at given size - Addr1Supp, Addr2Supp, Addr4Supp, Addr8Supp, Addr16Supp, + Addr1Supp, Addr2Supp, Addr4Supp, Addr8Supp, Addr16Supp, Addr32Supp, JumpSupp, // Jump to unaddressable target FreeSupp, // Invalid or mismatching free @@ -1285,6 +1285,7 @@ Bool MC_(is_recognised_suppression) ( const HChar* name, Supp* su ) else if (VG_STREQ(name, "Addr4")) skind = Addr4Supp; else if (VG_STREQ(name, "Addr8")) skind = Addr8Supp; else if (VG_STREQ(name, "Addr16")) skind = Addr16Supp; + else if (VG_STREQ(name, "Addr32")) skind = Addr32Supp; else if (VG_STREQ(name, "Jump")) skind = JumpSupp; else if (VG_STREQ(name, "Free")) skind = FreeSupp; else if (VG_STREQ(name, "Leak")) skind = LeakSupp; @@ -1297,6 +1298,7 @@ Bool MC_(is_recognised_suppression) ( const HChar* name, Supp* su ) else if (VG_STREQ(name, "Value4")) skind = Value4Supp; else if (VG_STREQ(name, "Value8")) skind = Value8Supp; else if (VG_STREQ(name, "Value16")) skind = Value16Supp; + else if (VG_STREQ(name, "Value32")) skind = Value32Supp; else if (VG_STREQ(name, "FishyValue")) skind = FishyValueSupp; else return False; @@ -1413,6 +1415,7 @@ Bool MC_(error_matches_suppression) ( const Error* err, const Supp* su ) case Value4Supp: su_szB = 4; goto value_case; case Value8Supp: su_szB = 8; goto value_case; case Value16Supp:su_szB =16; goto value_case; + case Value32Supp:su_szB =32; goto value_case; value_case: return (ekind == Err_Value && extra->Err.Value.szB == su_szB); @@ -1424,6 +1427,7 @@ Bool MC_(error_matches_suppression) ( const Error* err, const Supp* su ) case Addr4Supp: su_szB = 4; goto addr_case; case Addr8Supp: su_szB = 8; goto addr_case; case Addr16Supp:su_szB =16; goto addr_case; + case Addr32Supp:su_szB =32; goto addr_case; addr_case: return (ekind == Err_Addr && extra->Err.Addr.szB == su_szB); @@ -1495,6 +1499,7 @@ const HChar* MC_(get_error_name) ( const Error* err ) case 4: return "Addr4"; case 8: return "Addr8"; case 16: return "Addr16"; + case 32: return "Addr32"; default: VG_(tool_panic)("unexpected size for Addr"); } } @@ -1506,6 +1511,7 @@ const HChar* MC_(get_error_name) ( const Error* err ) case 4: return "Value4"; case 8: return "Value8"; case 16: return "Value16"; + case 32: return "Value32"; default: VG_(tool_panic)("unexpected size for Value"); } }