From: Julian Seward Date: Mon, 31 Aug 2015 10:36:02 +0000 (+0000) Subject: Make --partial-loads-ok=yes the default on all platforms, not just OS X. X-Git-Tag: svn/VALGRIND_3_11_0~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d3dfe7224192dfe79a99a40ffe5ab354ed75304;p=thirdparty%2Fvalgrind.git Make --partial-loads-ok=yes the default on all platforms, not just OS X. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15600 --- diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml index 1aa7eff3ec..170fe1ddb8 100644 --- a/memcheck/docs/mc-manual.xml +++ b/memcheck/docs/mc-manual.xml @@ -947,7 +947,7 @@ is - + Controls how Memcheck handles 32-, 64-, 128- and 256-bit @@ -965,8 +965,7 @@ is Note that code that behaves in this way is in violation of the ISO C/C++ standards, and should be considered broken. If - at all possible, such code should be fixed. This option should be - used only as a last resort. + at all possible, such code should be fixed. diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index e3ed7139a5..6a00aa77a3 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -5689,15 +5689,10 @@ static Bool mc_expensive_sanity_check ( void ) /*--- Command line args ---*/ /*------------------------------------------------------------*/ -/* --partial-loads-ok: enable by default on MacOS. The MacOS system - graphics libraries are heavily vectorised, and not enabling this by - default causes lots of false errors. */ -#if defined(VGO_darwin) +/* 31 Aug 2015: Vectorised code is now so widespread that + --partial-loads-ok needs to be enabled by default on all platforms. + Not doing so causes lots of false errors. */ Bool MC_(clo_partial_loads_ok) = True; -#else -Bool MC_(clo_partial_loads_ok) = False; -#endif - Long MC_(clo_freelist_vol) = 20*1000*1000LL; Long MC_(clo_freelist_big_blocks) = 1*1000*1000LL; LeakCheckMode MC_(clo_leak_check) = LC_Summary; @@ -5874,11 +5869,6 @@ static Bool mc_process_cmd_line_options(const HChar* arg) static void mc_print_usage(void) { - const HChar* plo_default = "no"; -# if defined(VGO_darwin) - plo_default = "yes"; -# endif - VG_(printf)( " --leak-check=no|summary|full search for memory leaks at exit? [summary]\n" " --leak-resolution=low|med|high differentiation of leak stack traces [high]\n" @@ -5899,7 +5889,7 @@ static void mc_print_usage(void) " same as --show-leak-kinds=definite\n" " --undef-value-errors=no|yes check for undefined value errors [yes]\n" " --track-origins=no|yes show origins of undefined values? [no]\n" -" --partial-loads-ok=no|yes too hard to explain here; see manual [%s]\n" +" --partial-loads-ok=no|yes too hard to explain here; see manual [yes]\n" " --freelist-vol= volume of freed blocks queue [20000000]\n" " --freelist-big-blocks= releases first blocks with size>= [1000000]\n" " --workaround-gcc296-bugs=no|yes self explanatory [no]\n" @@ -5909,7 +5899,6 @@ static void mc_print_usage(void) " --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none\n" " stack trace(s) to keep for malloc'd/free'd areas [alloc-and-free]\n" " --show-mismatched-frees=no|yes show frees that don't match the allocator? [yes]\n" -, plo_default ); } diff --git a/memcheck/tests/partial_load_dflt.stderr.exp b/memcheck/tests/partial_load_dflt.stderr.exp index 871f6512b9..fdb4a338e5 100644 --- a/memcheck/tests/partial_load_dflt.stderr.exp +++ b/memcheck/tests/partial_load_dflt.stderr.exp @@ -1,10 +1,4 @@ -Invalid read of size 4 - at 0x........: main (partial_load.c:16) - Address 0x........ is 0 bytes inside a block of size 3 alloc'd - at 0x........: calloc (vg_replace_malloc.c:...) - by 0x........: main (partial_load.c:14) - Invalid read of size 4 at 0x........: main (partial_load.c:23) Address 0x........ is 1 bytes inside a block of size 4 alloc'd @@ -31,4 +25,4 @@ HEAP SUMMARY: For a detailed leak analysis, rerun with: --leak-check=full For counts of detected and suppressed errors, rerun with: -v -ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/memcheck/tests/partial_load_dflt.stderr.exp64 b/memcheck/tests/partial_load_dflt.stderr.exp64 index 8873a2542b..a57d9aa0d1 100644 --- a/memcheck/tests/partial_load_dflt.stderr.exp64 +++ b/memcheck/tests/partial_load_dflt.stderr.exp64 @@ -1,10 +1,4 @@ -Invalid read of size 8 - at 0x........: main (partial_load.c:16) - Address 0x........ is 0 bytes inside a block of size 7 alloc'd - at 0x........: calloc (vg_replace_malloc.c:...) - by 0x........: main (partial_load.c:14) - Invalid read of size 8 at 0x........: main (partial_load.c:23) Address 0x........ is 1 bytes inside a block of size 8 alloc'd @@ -31,4 +25,4 @@ HEAP SUMMARY: For a detailed leak analysis, rerun with: --leak-check=full For counts of detected and suppressed errors, rerun with: -v -ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) +ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/memcheck/tests/test-plo-no.vgtest b/memcheck/tests/test-plo-no.vgtest index 14d4be32e4..cbe322cbc7 100644 --- a/memcheck/tests/test-plo-no.vgtest +++ b/memcheck/tests/test-plo-no.vgtest @@ -1,2 +1,2 @@ prog: test-plo -vgopts: -q --keep-stacktraces=alloc-then-free +vgopts: -q --partial-loads-ok=no --keep-stacktraces=alloc-then-free