3ed5c70df64336657b99fb4e56599492caf513f2 |
|
15-May-2015 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Patch 6 in a revised series of cleanup patches from Will Schmidt Fix multipleinheritance heuristic for ppc64LE (leak_cpp_interior test). Adjust the PPC64 #ifdiffery to indicate that ppc64BE uses a thunk table, but ppc64LE (in particular, the ELF ABIV2) does not. In this case, thunk table == function descriptors. Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com> -- This patch replaces the previously posted "[6/7] add leak_cpp_interior test .exp results ....." This patch fixes Vagrind bugzilla 347686 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15238 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
5d3d43d1e2e5bccc315a5a2afe6f054f956964f9 |
|
20-Feb-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update a comment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14950 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
ea8a88c21eecdd9e91c75ccbd3c864e708e2f41b |
|
20-Feb-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Pass in a mask of segment kinds to VG_(get_segment_starts) and VG_(am_get_segment_starts) to indicate which segments should be collected. That should solve the following problem: in m_main.c we used to: seg_starts = VG_(get_segment_starts)( &n_seg_starts ); for (i = 0; i < n_seg_starts; i++) { Word j, n; NSegment const* seg = VG_(am_find_nsegment)( seg_starts[i] ); vg_assert(seg); if (seg->kind == SkFileC || seg->kind == SkAnonC) { ... // ... dynamic memory allocation for valgrind ... } This caused the vassert(seg) to fire because the dynamic memory allocation further down the loop changed segments such that a valgrind segment which used to be non-SkFree suddenly became SkFree and hence VG_(am_find_nsegment) returned NULL. Whoom. With this revision we only collect the segments we're really interested in. For the example above that is all client segments. So if V allocates memory -- fine. That will not change the layout of client segments. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14949 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
d3166c4cf9d2545242da71d8baeaaf203b02a09d |
|
24-Jan-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
VG_(am_get_filename) returns a pointer to memory that belongs to the address space manager. Callers should neither modify the string nor free it (as the string resides is statically allocated memory). That calls for a const HChar * The type change exposed two bugs. One in m_addrinfo.c and one in m_debuginfo.c. In both cases the returned string could possibly be freed later on. So we need to strdup it first. Now fixed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14886 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
f5300ff423197d58c16d4b4f7b53aabba72b8a9f |
|
28-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid spurious warnings about white space following a backslash in a line splice. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14832 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
866862a87a06a70e2e0c0d7e5c773e252db8ecdd |
|
13-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix BZ #116002. Left justification of strings in myvprintf_str was mixed up. Now fixed and %s formats changed accordingly. In function myvprintf_int64: the local buffer was not large enough to hold ULONG_MAX in binary notation. Numbers were truncated at 39 digits. Testcases added. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14808 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
cf6e734a9f88b521a5116b7ca119b3a26aede1a8 |
|
28-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r14229 from the BUF_REMOVAL branch to trunk. Function MC_(snprintf_delta) requires a buffer of size 31 or larger to avoid overflow.Add an assert, change and document the buffer size and fix all call sites. Remove magic constants along the way. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14583 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
0533405588995680fa5e426883576e9ca0835262 |
|
28-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a bunch of defined(VGA_ppc64) (a.o. this was making leak_cpp_interior test failing, as the ppc64 specific code in mc_leakcheck.c was not compiled in) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14379 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
7c69a3edda5335fa4c60f8161252b4bab8a76f7e |
|
21-Jul-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a new heuristic 'length64' to detect interior pointers pointing at offset 64bit of a block, when the first 8 bytes contains the block size - 8. This is e.g. used by sqlite3MemMalloc. Patch by Matthias Schwarzott (with small modif) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14179 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 |
|
18-Oct-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates (20XY-2012 ==> 20XY-2013) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
4e32d67a5b880bf1d871c5141822078d4dcdc3ac |
|
18-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow tools to provide some statistics in suppression list produced at the end Option -v outputs a list of used suppressions. This only gives the nr of times a suppression was used. For a leak search, this only gives the nr of loss records that have been suppressed, but it does not give additional needed details to understand more precisely what has been suppressed (i.e. nr of blocks and nr of bytes). => Add in the tool interface update_extra_suppression_use and print_extra_suppression_info functions to allow the tool to record additioonal use statistics for a suppression. These statistics can be done depending on the error (and its data) which is suppressed. Use this in memcheck for the leak suppressions, to maintain and output the nr of blocks and bytes suppressed by a suppression during the last leak search. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13651 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
110c77e6255ac6429765596c500a2cab4a474093 |
|
15-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
SIGSEGV/SIGBUS specific handling on s390, to cope with kernel peculiarity On s390, the linux kernel does not deliver the exact address that caused a SEGV but rather this address rounded down to a page boundary. Also, old kernels do not deliver the address that caused a SIGBUS, but deliver 0. So, on s390, handle SIGSEGV and SIGBUG by always skipping one page starting from the current value of the ptr scanning position. As we need a correct value of ptr on this platform in the longjmp-ed code, ptr is marked as volatile. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13648 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
078ab86e795ff4862417e19df175ce23b995b65f |
|
13-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add definedness checking when dereferencing ptr during heuristic reachedness Patch ensures that no heuristic reachedness is obtained with undefined data. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13635 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
7a76f4b27db3ec7a0130a5fd7120aeb5060c89c2 |
|
06-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix leak scan SEGV catcher when ptr starts in unreadable page (readable for aspacemgr) The fault catcher installed during leak scan to catter e.g. for possible desynchronisation between real protection and aspacemgr was not activated when the scanned ptr was directly pointing in a desynchronised page. This was (initially only) visible on ppc32 (gcc110) as the page size of gcc110 is big (64 K). => modified the leak-segv-jmp test so as to produce the problem also on systems with smaller pages. The fix consists in calling the setjmp before the scan loop, and skip the bad address which has been recorded by the fault catcher. Also, deemed better to just skip one single Addr rather than a full page (e.g. to skip less data in case some addresses are unreadable e.g. on strange hardware). Performance of the leak scan has been measured, seems slightly faster on x86,amd64 and ppc32. Slightly slower on ppc64. Also if verbose argument is given, outputs the nr of bytes skipped due to fault. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13623 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
5bd40601a929e8216b1c4b98d5048dddd2c2c20e |
|
02-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix assert for who_points_at monitor cmd for an interiorly pointed block * fix the assert * some better comments * update test to verify who_points_at behaviour with an interiorly pointed block git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13609 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
ab1fce9bfb9742bffdfbd7ea9e4dad04ffb17819 |
|
29-Sep-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
add heuristics decreasing false possible "possible leaks" in c++ code. The option --leak-check-heuristics=heur1,heur2,... can activate various heuristics to decrease the number of false positive "possible leaks" for C++ code. The available heuristics are detecting valid interior pointers to std::stdstring, to new[] allocated arrays with elements having destructors and to interior pointers pointing to an inner part of a C++ object using multiple inheritance. This fixes 280271 Valgrind reports possible memory leaks on still-reachable std::string This has been tested on x86/amd64/ppc32/ppc64. First performance measurements seems to show a neglectible impact on the leak search. More feedback welcome both on performance and functional aspects (false positive 'possibly leaked' rate decrease and/or false negative 'possibly leaked' rate increase). Note that the heuristic is not checking that the memory has been allocated with "new" or "new[]", as it is expected that in some cases, specific alloc fn are used for c++ objects instead of the standard new/new[]. If needed, we might add an option to check the alloc functions to be new/new[]. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13582 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
8617b5b8f16570c9003379464d60e8572a801a8c |
|
12-Jan-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none The option --keep-stacktraces controls which stack trace(s) to keep for malloc'd and/or free'd blocks. This can be used to obtain more information for 'use after free' errors or to decrease Valgrind memory and/or cpu usage by recording less information for heap blocks. This fixes 312913 Dangling pointers error should also report the alloc stack trace. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13223 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
2193a7c20b74867de85a5ac10e7db5c7038f7c8a |
|
08-Dec-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix 284540 and 307465 284540 Memcheck shouldn't count suppressions matching still-reachable allocations 307465 --show-possibly-lost=no should bring down the error count / exit code Using the options --show-leak-kinds=kind1,kind2,.. and --errors-for-leak-kinds=kind1,kind2,.., each leak kind (definite, indirect, possible, reachable) can now be individually reported and/or counted as an error. In a leak suppression entry, an optional line 'match-leak-kinds:' controls which leak kinds are suppressed by this entry. This is a.o. useful to avoid definite leaks being "catched" by a suppression entry aimed at suppressing possibly lost blocks. Default behaviour is the same as 3.8.1 Old args (--show-reachable and --show-possibly-lost) are still accepted. Addition of a new test (memcheck/tests/lks) testing the new args and the new suppression line. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13170 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
3e7986312a0ffc7646b0552d4c4ea3744a870e73 |
|
24-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some casts that removed const-ness as pointed out by GCC's -Wcast-qual. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13138 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
6bd9dc18c043927c1196caba20a327238a179c42 |
|
23-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Changes to allow compilation with -Wwrite-strings. That compiler option is not used for testcases, just for valgrind proper. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 |
|
10-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix more Char/HChar mixups. Closing in... git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
54fe2021b87b9e5edb8ec8070f47b86d5cafb8aa |
|
28-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Char/HChar and constness fixes. Mostly cost center on allocators which is always a const HChar * git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13089 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
03f8d3fc25f5a45c5826259d1b33b7f310117279 |
|
05-Aug-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to include 2012. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
57a16a266f13b3216d4a71c33c7397284d03bd18 |
|
19-Jul-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
patch that improves the speed of the leak search by up to 40% (on amd64) Scanning 1GB of random values made of 200_000 malloc-ed block is (on amd64) changing from (about) 17 seconds to (about) 10 seconds. On x86, it goes from 153 seconds to 129 seconds. (this huge difference between x86 and amd64 leak search time for this random test is because a random value has about one chance on 4 to be in the addressable memory on x86 and so the dichotomic search in the list of malloc-ed blocks is called for a lot more values than on amd64). Basically, there are 3 optimisations: 1. call MC_(is_within_valid_secondary) only at the beginning of a secondary map (and not for each Word). 2. call SETJMP only at the beginning of a page (and not for each Word) 3. Validate an aligned word using get_vabits8 rather than get_vabits2. Each of the above optimisation more or less improves by 2 seconds. (to go from 17 seconds to 10 seconds). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12756 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
09007e35105058d316fd4d53798a0519d525391e |
|
01-Mar-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In case VALGRIND_MALLOCLIKE_BLOCK is wrongly used, output the execontext where the overlapping blocks have been reported before crashing. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12412 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
4bbfc5fa582e489de21593660405b9378026a618 |
|
27-Feb-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix one more leak detected by running memcheck in memcheck (started to run regression tests in an outer) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12407 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
7d69fd986190ebe179ca151f7c629e17a967fbfb |
|
26-Feb-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some memory leaks found by running memcheck on annotated memcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12405 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
a22f59db02284784a1e5e51587e2ce09db3a2a18 |
|
27-Jan-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
(fixes bug 289939 wish: complete monitor cmd 'leak_check' with details about leaked or reachable blocks) This patch implements two new memcheck gdbserver monitor commands: block_list <loss_record_nr> after a leak search, shows the list of blocks of <loss_record_nr> who_points_at <addr> [<len>] shows places pointing inside <len> (default 1) bytes at <addr> (with len 1, only shows "start pointers" pointing exactly to <addr>, with len > 1, will also show "interior pointers") Compiled and reg-tested on f12/x86, deb5/amd64, f16/ppc64. The 'block_list' command is implemented on top of the lr_array/lc_chunks/lc_extras arrays used during the last leak search. NB: no impact on the memory for the typical Valgrind usage where a leak search is only done at the end of the run. Printing the block_list of a loss record simply consists in scanning the lc_chunks to find back the chunks corresponding to the loss record for which block lists is requested. The 'who_points_at' command is implemented by doing a scan similar to (but simpler than) the leak search scan. lc_scan_memory has been enhanced to have a mode to search for a specific address, rather than to search for all allocated blocks. VG_(apply_to_GP_regs) has been enhanced to also provide the ThreadId and register name in the callback function. The patch touches multiple files (but most changes are easy/trivial or factorise existing code). Most significant changes are in memcheck/mc_leakcheck.c : * changed the LC_Extra struct to remember the clique for indirect leaks (size of structure not changed). * made lr_array a static global * changed lc_scan_memory: to have a search mode for a specific address (for who_points_at) (for leak search) to pass a 'current clique' in addition to the clique leader so as to have a proper clique hierarchy for indirectly leaked blocks. * print_results: reset values at the beginning of the print_result of the next leak search, rather than at the end of print_results of the previous leak search. This allows to continue showing the same info for loss records till a new leak search is done. * new function print_clique which recursively prints a group of leaked blocks, starting from the clique leader. * new function MC_(print_block_list) : calls print_clique for each clique leader found for the given loss record. * static void scan_memory_root_set : code extracted from MC_(detect_memory_leaks) (no relevant change) * void MC_(who_points_at) : calls scan_memory_root_set, lc_scan_memory and VG_(apply_to_GP_regs)(search_address_in_GP_reg) to search pointers to the given address. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12357 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
6643e96a72e8530a7c8830c02ffb2fb4aee74c88 |
|
17-Jan-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fixes 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit * new files include/pub_tool_groupalloc.h and coregrind/m_groupalloc.c implementing a group allocator (based on helgrind group alloc). * include/Makefile.am coregrind/Makefile.am : added pub_tool_groupalloc.h and m_groupalloc.c * helgrind/libhb_core.c : use pub_tool_groupalloc.h/m_groupalloc.c instead of the local implementation. * include/pub_tool_oset.h coregrind/m_oset.c : new function allowing to create an oset that will use a pool allocator. new function allowing to clone an oset (so as to share the pool alloc) * memcheck/tests/unit_oset.c drd/tests/unit_bitmap.c : modified so that it compiles with the new m_oset.c * memcheck/mc_main.c : use group alloc for MC_Chunk memcheck/mc_include.h : declare the MC_Chunk group alloc * memcheck/mc_main.c : use group alloc for the nodes of the secVBitTable OSet * include/pub_tool_hashtable.h coregrind/m_hashtable.c : pass the free node function in the VG_(HT_destruct). (needed as the hashtable user can allocate a node with its own alloc, the hash table destroy must be able to free the nodes with the user own free). * coregrind/m_gdbserver/m_gdbserver.c : pass free function to VG_(HT_destruct) * memcheck/mc_replace_strmem.c memcheck/mc_machine.c memcheck/mc_malloc_wrappers.c memcheck/mc_leakcheck.c memcheck/mc_errors.c memcheck/mc_translate.c : new include needed due to group alloc. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12341 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
8423490aad3a068849eca1ee741f3ca669ab01f1 |
|
14-Jan-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added a new parameter to the memcheck 'leak_check' GDB monitor command to let the user specify a max nr of loss records to output : on huge applications, interactive display of a lot of records in gdb can take a lot of time. * mc_include.h : - added UInt max_loss_records_output; to LeakCheckParams structure - avoid passing LeakCheckParams by struct copy. * modified test gdbserver_tests/mcleak to test the new parameter * mc_main.c : parse or set max_loss_records_output in leak_check cmd handling and calls. * mc-manual.xml : document new leak_check parameter * mc_leakcheck.c : - extract printing rules logic in its own function - in print_results, if there is a limit in LeakCheckParam, compute from where the printing of loss records has to start git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12329 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
ec062e8d96a361af9905b5447027819dfbfee01a |
|
23-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update all copyright dates, from 20xy-2010 to 20xy-2011. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
dc429d1a488d3725608743560e42b31e46cb003a |
|
29-Jul-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid that compiling memcheck on 32-bit systems triggers a compiler warning git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11948 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
30b3eca94e609214d9ac8dabfee9be3f3ab46d85 |
|
28-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
valgrind and tool mon. cmds prefixes changes + doc fixes + new vgdb option --cmd-time-out * changed prefixes of Valgrind core monitor commands from vg. to v. * removed prefixes of Tool monitor commands * memcheck leak_check 'leakpossible' arg renamed to 'possibleleak' * memcheck make_memory 'ifaddressabledefined' arg renamed to 'Definedifaddressable' (with uppercase D to avoid confusion with 'defined' arg). * vgdb options - Some doc updates : more logical option order documentation, specify 'standalone' for options aimed at standalone usage. - added option --cmd-time-out for standalone vgdb (comment of Josef Weindendorfer, needed to interface with a callgrind GUI) * updated tests according to the above. * updated documentation according to the above. * some additional minor doc fixes/clarifications (Philippe Waroquiers, philippe.waroquiers@skynet.be). Bug 214909 comment 111. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11844 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
c8bd1df6c23e2409512e1e50616e7dc3bae501a2 |
|
26-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Memcheck: * add delta leak checking functionality * some editing of related manual sections (Philippe Waroquiers, philippe.waroquiers@skynet.be). Bug 214909 comment 105. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11838 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
3c4fa9f53ab85aa31f7463049ecf4b5c82e9a2a8 |
|
09-May-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
memcheck: Fixed a bug in the address ranges reported in an error message. Closes #272615. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11734 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
97d3ebba515c00930db4ee3f52af571bc84b2ef6 |
|
11-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add an alternative implementation of VG_MINIMAL_{SET,LONG}JMP for ppc32-linux, that works for gcc >= 4.4. Related to #259977. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11688 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
6c591e15c1d6402a2a755310f005f795b68e7e38 |
|
11-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create new module m_libcsetjmp, which wraps up uses of __builtin_setjmp and __builtin_longjmp so that they can be selectively replaced, on a platform by platform basis. Does not change any functionality. Related to #259977. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11687 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
1d0f3f69003f07363741083b3c28f95f13a4cc14 |
|
04-Oct-2010 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When a memory block changes from unreachable to possibly or definitely reachable, or from possibly reachable to definitely reachable, rescan it so that any blocks it points to are also upgraded. Fixes #206600. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11395 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
3cedf574e2d9e479dd58998ad8f0a187e00329da |
|
26-Aug-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added new memcheck command-line option --show-possibly-lost. Closes #201170. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11292 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 |
|
03-May-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to 2010. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
266705542ac0d7c7b892ecb38767257ad02b1183 |
|
13-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't count leaks as errors with --leak-check=summary, because the results can be confusing. Document the behaviour. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10798 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
b6267bd61a3802bb2a16ef993c94bf834d0e2d2e |
|
12-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Output tweaks: - Always print a blank line after significant messages (eg. errors). This makes the handling of blank lines much simpler. - Don't print full stops at the end of messages. We mostly don't do it, so I got rid of all the remaining ones I could find for consistency. - Use --leak-check=full rather than --leak-check=yes, for consistency with docs and other messages. - Update partiallydefinedeq.stderr.exp2 for older changes. This commit only updates the code. Test updates will follow shortly. (I'm separating them so the code changes aren't swamped by the test changes in the SVN logs.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10783 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
606a4aeacb004873d2839467e2ad0ab3aabc8c27 |
|
11-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Count error contexts properly in VG_(unique_error). Avoids the problem seen of "5 errors from 0 contexts" with leak errors. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10773 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
18afe5d1c3dc9e4e16d3e10617d6afa4bf9fcd40 |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Try to fix error_counts. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10768 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
b965efb4990bdedc3215ffcca8ea566d25874d26 |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow custom blocks to overlap with malloc blocks. Fixes bug 100628. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10765 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
c2f8b1bddf3495c55f77cc6b556e0dd3b5d723d6 |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
augment a comment git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10764 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
2d9e874b7a628ada216f09cc4f065798c65fffa4 |
|
07-Aug-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up of messaging: * For all tools and the core, don't show statistics when -v is in effect. Instead, try to restrict -v to mostly user-useful stuff. * A new flag --stats=no|yes [no] produces statistics output instead. * Fix longstanding problem in that Memcheck's leak checker ran after the core's error manager module shut down, thereby not showing use counts of leak suppressions. This fixes #186790. * As a consequence, the leak checker text output of Memcheck has changed a bit -- leak check is done before the final error summary is done (much more logical), and the output has been tidied up a bit. * Helgrind, Drd and Ptrcheck now also print "For counts of detected and suppressed errors, rerun with: -v", which makes them consistent with Memcheck in this regard. These are filtered out by the regtest filter scripts. For all tools except Memcheck, the regtests are unchanged. On Memcheck regtests still fail due to rearrangements of the leak checker output. This will be fixed by a followup commit. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10746 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
6b523cd2df025375e86b161de9995187edf2fcb6 |
|
15-Jul-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge memcheck/ changes from branches/MESSAGING_TIDYUP r10464. See trunk r10465 commit message for details. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10467 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
e3675d624e959e6ac456eac0877d671048918445 |
|
19-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
DARWIN sync wibble. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9926 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
ac1e03303a9e4b38c34fb600a88533b6c368e66f |
|
08-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Created a new module, m_aspacehl. Factored out three(!) copies of get_seg_starts() into it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9796 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
e10c7f87d8530adde17869136f9695986be29696 |
|
06-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make loss record ordering more deterministic, so that regtests are reliable. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9784 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
29a5c01528ca7cffe17880a038b4563de920f08d |
|
06-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix bug #191182, where printing the leak checker results was really slow if there were a lot of loss records. The fix was: - Avoid the O(m * n) looping over the chunks when creating the loss records, by putting loss records into an OSet instead of a list, which makes duplicate detection for each chunk an O(log n) operation instead of an O(n) operation. - Avoid the looping over loss records which was used to do a poor man's sort, but was O(n^2). Instead copy pointers to the loss records from the OSet into an array and sort it normally with VG_(ssort) (n log n, usually) before printing. This approach was similar to that used in the patch Philippe attached to the bug report. Other changes: - Added Philippe's test programs in the new memcheck/perf directory. It used to take 57s on my machine, now it takes 1.6s. - Cleaned up massif/perf/Makefile.am to be consistent with other Makefiles. - Improved some comments relating to VgHashTable and OSet. - Avoided a redundant traversal of the hash table in VG_(HT_to_array), also identified by Philippe.. - Made memcheck/tests/mempool's results independent of the pointer size, and thus was able to remove its .stderr.exp64 file. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9781 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
b7a4e2ea4e1adfda6bf2d7e3c448f663c5d173a9 |
|
01-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Renamed various things for clarity. Added some comments. And fixed the dubious find-minimum-loss-record loop in print_results(), which was using an inconsistent mixture of szB and szB+indirect_szB. Two test results changed, just different sort orders for same-sized loss records. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9704 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
9f207460d70d38c46c9e81996a3dcdf90961c6db |
|
10-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright years. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
8225cc0de2ccf390127b5910dceb7c6185091a38 |
|
09-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit completely overhauls the leak checker. In particular: - It heavily refactors the code: uses better names for things, splits up complex functions that behaved very differently depending on how they were called, removes some redundancies, and generally makes it much simpler and easier to follow. - It adds lots of comments, both inline, and also a big explanatory one at the top which makes it clear exactly how the leak checker works and also exactly what is meant by definite, possible, and indirect leaks. It also has some ideas for future improvements. - All tabs have been converted to spaces. It also improves the functionality: - Previously if you did --leak-check=summary, indirect and suppressed blocks were counted as definite leaks. Now they are done properly, and so the summary results from --leak-check=summary match those from --leak-check=yes. - Previously, some possibly reachable blocks were miscategorised as definitely reachable, because only the pointer to the block itself was considered, not any preceding pointers in the chain. This is now fixed. - Added memcheck/tests/leak-cases, which fully tests all the possible combinations of directly/indirectly reachable and possibly/definitely reachable. And it improves the manual quite a bit, and the FAQ a little bit. This doesn't fix the leak checker to handle MALLOCLIKE_BLOCK works that have been taken from within malloc'd blocks, but I think I know how to do it and hope to do so in a subsequent commit. It also changes all instances of "<constant>memcheck</constant>" in the Memcheck manual to "Memcheck", for consistency and because "Memcheck" is easier to write. There's one similar case for DRD but I didn't change that. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9330 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
8df80b22d8f0ed19fb2d7ac7267b8015b202f661 |
|
02-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r9299..r9303 (various leak-check test fixes) from the DARWIN branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9304 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
f1efbd47479394298878fdcaa38eb82aea107706 |
|
24-Jan-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the leak checker a bit less verbose. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9054 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
bc00bb783a9f6a4997cffd969d22dc29e909cb45 |
|
19-Jan-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged r8966 (show scanning output during leak checking with -v) from DARWIN branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8972 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
9c606bd8634cd6b67bb41fa645b5c639668cfa2d |
|
18-Sep-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge all remaining changes from branches/PTRCHECK. These are some relatively minor extensions to m_debuginfo, a major overhaul of m_debuginfo/readdwarf3.c to get its space usage under control, and changes throughout the system to enable heap-use profiling. The majority of the merged changes were committed into branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and 8161. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
026debfbfc9a8b49f51a80dcc79de4b73b74bb4e |
|
18-Jul-2008 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When the leak checker finds overlapping blocks report the details before asserting. Based on patch from John Reiser <jreiser@BitWagon.com>. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8441 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
a0b6b2cf9abc7b0d87be1215a245eaccc0452af9 |
|
07-Jul-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged FORMATCHECK branch (r8368) to trunk. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
9269147b61f5a9ad83a799b307720ef544189c09 |
|
29-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In the leak checker, don't assert when there are multiple identical blocks in the lc_shadows array. Such a situation could arise from incorrect use of VALGRIND_MALLOCLIKE_BLOCK, and has been observed to cause assertion failures for some runs of Wine on Valgrind. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8144 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
b8b79addf04dd5d0b558916e26df0b1927cbd758 |
|
03-Mar-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in the DATASYMS branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 |
|
11-Feb-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates ("200X-2007" --> "200X-2008"). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
8a7b41b41b46c0aa7bd4b6678b82285437e7f08c |
|
23-Sep-2007 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix various format string errors, courtesy of Florian Krohm. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6902 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
9ebd6e0c607fa30301b1325874eb8de871c21cc5 |
|
08-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
718d3b11d1d3f2665c05b5670893baf1ad068401 |
|
16-Dec-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Completely overhauled the internals of Memcheck's error handling. All the different error kinds were reusing the same struct for storing their details. Each one used some but not all the fields, and the AddrInfo was similar, and it was very confusing. So I changed MC_Error and AddrInfo to be tagged unions, like Vex's IRExpr and IRStmt types. The resulting code is a little more verbose but much easier to understand. I also split up several error kinds, which also made things simpler. The user-visible behaviour is identical except for a couple of very minor things that I've documented in the NEWS file for the 3.3.0 release. Ideally I'd get rid of the Addr and Char* fields in the core Error type, which are not always used, and do them similarly within tools. But that would require changing the core/tool interface, so I'm leaving it for the moment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6402 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
ce4717e852af82afc1ae4c1856d66512ef65b661 |
|
06-Dec-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix confusing and contradictory "Rerun with ..." messages printed at the end of MC_(do_detect_memory_leaks). This causes various leak regression tests to fail; will fix shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6382 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
72a28b28f1dc09231450f81afb12183c92305520 |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track VG_(am_find_nsegment) const-ness change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6298 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
4cfea4f9480393ed6799db463b2e0fb8865a1a2f |
|
14-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create a new module, m_vki, and move all knowledge about the kernel interface, except for the syscall numbers, into that. Mostly this means moving include/vki-*.h to include/vki/vki-*.h. include/pub_tool_basics.h previously dragged in the entire kernel interface. I've done away with that, so that modules which need to see the kernel interface now have to include pub_{core,tool}_vki.h explicitly. This is why there are many modified .c files -- they have all acquired an extra #include line. This certainly breaks all platforms except x86. Will fix shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
5bee4f82443698da49042d3b4f4cf86295f55e71 |
|
29-Jul-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup to r5991: when leak checking, treat zero-sized blocks as if they had size one. Otherwise they appear to cover no address space, so no pointers to them are ever found, and so they are always incorrectly marked as leaked. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5994 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
3cf26a56b250f752eec91ffadfd52ec40aa2d715 |
|
28-Jul-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Leak checking fixes from Graydon Hoare: - fix off by one error in binary searches - extend leak checking functionality to memory pools git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5991 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
de3ad735bcd7dad139938aea01800e75d5000016 |
|
28-Jul-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When doing leak checks, don't poke around in device segments as this may hang the entire machine. (Tom Hughes). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5990 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
e4b0bf07b0ee0a18eacc5aba91686ab5fc1d327b |
|
06-Jun-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|
1d0825ff46d57f0ce83c3fa88538a42f67022eee |
|
27-Mar-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in the COMPVBITS branch to the trunk. This is a big change to Memcheck, replacing the 9-bits-per-byte shadow memory representation to a 2-bits-per-byte representation (with possibly a little more on the side) by taking advantage of the fact that extremely few memory bytes are partially defined. For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a (geometric mean) factor of 1.20, and reduces the size of shadow memory by a (geometric mean) factor of 4.26. At the same time, Addrcheck is removed. It hadn't worked for quite some time, and with these improvements in Memcheck its raisons-d'etre have shrivelled so much that it's not worth the effort to keep around. Hooray! Nb: this code hasn't been tested on PPC. If things go wrong, look first in the fast stack-handling functions (eg. mc_new_mem_stack_160, MC_(helperc_MAKE_STACK_UNINIT)). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_leakcheck.c
|