Make --partial-loads-ok=yes the default on all platforms, not just OS X.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15600
This commit is contained in:
Julian Seward 2015-08-31 10:36:02 +00:00
parent 3a4ce80755
commit 5d3dfe7224
5 changed files with 9 additions and 33 deletions

View File

@ -947,7 +947,7 @@ is <option>--errors-for-leak-kinds=definite,possible</option>
<varlistentry id="opt.partial-loads-ok" xreflabel="--partial-loads-ok">
<term>
<option><![CDATA[--partial-loads-ok=<yes|no> [default: no] ]]></option>
<option><![CDATA[--partial-loads-ok=<yes|no> [default: yes] ]]></option>
</term>
<listitem>
<para>Controls how Memcheck handles 32-, 64-, 128- and 256-bit
@ -965,8 +965,7 @@ is <option>--errors-for-leak-kinds=definite,possible</option>
<para>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.</para>
at all possible, such code should be fixed.</para>
</listitem>
</varlistentry>

View File

@ -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=<number> volume of freed blocks queue [20000000]\n"
" --freelist-big-blocks=<number> 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
);
}

View File

@ -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)

View File

@ -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)

View File

@ -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