8e3fbb5cd8276a7d07d5712bc05f9b3376d81a6a |
|
20-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Constify the tool interface. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14642 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
09a4c794458cdb9dea743fa40e450150a2725257 |
|
18-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Change the definition of VgHashTable to not have pointer type. This is (a) consistent with how the other containers are defined and, more importantly, (b) allows the constification of the hash table API. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14639 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
3e81b8bed1f7ab6848a83f5507487131a6f9d778 |
|
07-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge revisions 14230, 14602, and 14604 from the BUF_REMOVAL branch to trunk. The change eliminates the fixed size buffers in gen_suppression and show_used_suppressions. This is achieved by changing the return type from VG_TDICT_CALL(tool_get_extra_suppression_info and VG_TDICT_CALL(tool_print_extra_suppression_use from Bool to SizeT. A return value of 0 indicates that nothing (except the terminating '\0' which is always inserted) was written to the buffer. This corresponds to the previous False return value. A return value which is equal to the buffer size (that was passed in as function argument) indicates that the buffer was not large enough. The caller then resizes the buffer and retries. Otherwise, the buffer was large enough. Regtested with a resize value of 1. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14606 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
3c0c94777f547bcb5eadbe8cb4328debf0f51875 |
|
24-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Ripple from constifying parameters of instrumentation functions and callbacks from VexTranslateArgs. See VEX r2958. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14564 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
021e6b676376a6654204ebf107876c5145c22222 |
|
22-Aug-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Memcheck: add a new flag, --show-mismatched-frees=no|yes [yes], to optionally disable allocator/deallocator mismatch checking. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14336 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
ec905f7ed1659f2251045114c785659fbb11ea88 |
|
17-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
The attached patch cleanups the clo processing of clo which are (or should be) 'enum set'. * pub_tool_options.h : add new macrox VG_USET_CLO and VG_USETX_CLO to parse an 'enum set' command line option (with or without "all" keyword). * use VG_USET_CLO for existing enum set clo options: memcheck --errors-for-leak-kinds, --show-leak-kinds, --leak-check-heuristics coregrind --vgdb-stop-at * change --sim-hints and --kernel-variants to enum set (this allows to detect user typos: currently, a typo in a sim-hint or kernel variant is silently ignored. Now, an error will be given to the user) * The 2 new sets (--sim-hints and --kernel-variants) should not make use of the 'all' keyword => VG_(parse_enum_set) has a new argument to enable/disable the use of the "all" keyword. * The macros defining an 'all enum' set definition was duplicating all enum values (so addition of a new enum value could easily give a bug). Removing these macros as they are unused (to the exception of the leak-kind set). For this set, the 'all macro' has been replaced by an 'all function', coded using parse_enum_set parsing the "all" keyword. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14301 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
7b6899dd211aafa1e0d3e3a0dc0cf798ea882768 |
|
13-Jul-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Provide a back trace when a function argument of a known allocation function is presumably negative. Fixes BZ 79311. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14157 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
6756454dd872134b243a7a4ff43b953c5bb309ee |
|
16-Aug-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for direct V256 shadow helper returns -- memcheck side. (Patrick J. LoPresti, lopresti@gmail.com). Bug 294285. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13500 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
21a5f8cd6b05e19a644ee9a9f8623f0be1d4badc |
|
08-Aug-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix # 294285: --partial-loads-ok does not work for 16-byte SSE loads (core fixes for the memcheck handling of 128 bit loads) (Patrick J. LoPresti, lopresti@gmail.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
362441db825242200142a91bb07c4a0300b36a3e |
|
23-Jul-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
fix incorrect lineno in supp error msgs+ -v give filename+lineno of used supp. If a suppression file contains an error, the lineno reported could be wrong. Also, give filename and lineno of the used suppressions in -v debugging output. The fix consists in ensuring that tool specific read_extra function gets the Int* lineno pointer, together with other VG_(get_line) parameters. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13469 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
dbb3584f591710a15a437918c0fc27e300993566 |
|
27-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
More Char/HChar fixes and constification. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13088 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
e543f3024ace2925a0fb81985e9fcfc95b8c555a |
|
21-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
First round of Char/HChar fixups for coregrind and memcheck. Little bit of ripple in tools, too. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
a5f894c271248c13e0bb387e5ca33fa122b4819c |
|
21-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
First round of Char/HChar fixes for memcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13071 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
ca503be79ca377d89b1692c37c97a06ed14dad3b |
|
07-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This is the 2nd installment of the cache info reorganisation. The host's VexArchInfo is passed to the tool instrumentation functions. Purely mechanic patch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13031 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
d99c26a4bc18fd3b17c4626c9c1fbd1583388660 |
|
01-Aug-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement --redzone-size and --core-redzone-size * For tools replacing the malloc library (e.g. Memcheck, Helgrind, ...), the option --redzone-size=<number> allows to control the padding blocks (redzones) added before and after each client allocated block. Smaller redzones decrease the memory needed by Valgrind. Bigger redzones increase the chance to detect blocks overrun or underrun. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12807 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
45fa9f4bd1819c7ac0d9469df4e35cee0c130153 |
|
21-May-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add initial support for Intel AVX instructions (Valgrind side). Tracker bug is #273475. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12569 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
403d8aada736841ca05764ffe12ca78435c01d3a |
|
22-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improvements in freelist handling for Memcheck. See #250065. (Philippe Waroquiers, philippe.waroquiers@skynet.be) This patch provides three improvements in the way the free list is handled in memcheck. First improvement: a new command line option --freelist-big-blocks (default 1000000) specifies the size of "free list big blocks". Such big blocks will be put on the free list, but will be re-cycled first (i.e. in preference to block having a smaller size). This fixes the bug https://bugs.kde.org/show_bug.cgi?id=250065. Technically, the freed list is divided in two lists : small and big blocks. Blocks are first released from the big block list. Second improvement: the blocks of the freed list are re-cycled before a new block is malloc-ed, not after a block is freed. This gives better error messages for dangling pointer errors when doing many frees without doing malloc between the frees. (this does not uses more memory). Third improvement: a block bigger than the free list volume will be put in the free list (till a malloc is done, so as the needed memory is not bigger than before) but will be put at the beginning of the free list, rather than at the end. So, allocating then freeing such a block does not cause any blocks in the free list to be released. Results of the improvements above, with the new regression test memcheck/test/big_blocks_freed_list: with the patch, 7 errors are detected, 6 are giving the (correct) allocation stack. Without the patch, only 6 errors are detected, 5 errors without allocation stack, 1 with a (wrong) allocation stack. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12202 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
3b290486cd4cd601b20e04340e593c9ed9717e5f |
|
06-May-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement a GDB server in Valgrind. See #214909. (Philippe Waroquiers, philippe.waroquiers@skynet.be) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
913473803432ee37d6edaf232e21978d4f426125 |
|
25-Mar-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add VALGRIND_RESIZEINPLACE_BLOCK() and hence close #267819. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11666 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
588adeffafa8102adcfa7a1c035ae272b35cf86d |
|
16-Aug-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When generating XML output for suppressions, print the suppression both wrapped up in XML tags (as before) but also in plain text in a sequence of CDATA blocks. Normally only one, but in the worst case the raw data will have ]]> in it, in which case it needs to be split across two CDATA blocks. This apparently simple change involved a lot of refactoring of the suppression printing machinery: * in the core-tool iface, change "print_extra_suppression_info" (which prints any auxiliary info) to "get_extra_suppression_info", which parks the text in a caller-supplied buffer. Adjust tools to match. * VG_(apply_StackTrace): accept a void* argument, which is passed to each invokation of the functional parameter (a poor man's closure implementation). * move PRINTF_CHECK into put_tool_basics.h, where it should have been all along * move private printf-into-an-XArray-of-character functions from m_debuginfo into m_xarray, and make them public * gen_suppression itself: use all the above changes. Basically we always generate the plaintext version into an XArray. In text mode that's just printed. In XML mode, we print the XMLery as before, but the plaintext version is dumped into a CDATA block too. * update the Protocol 4 specification to match all this. This still isn't 100% right in the sense that the CDATA block data needs to be split across multiple blocks if it should ever contain the CDATA end mark "]]>". The Protocol 4 spec has this right even though the implementation currently doesn't. Fixes #191189. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10822 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
35db56c19847654f22b62da059083d41ff4258c5 |
|
24-Jul-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A fix for bug 186796: suppression symbol names were being truncated if they were longer than 200 chars. Now dynamic memory is used and so they can be arbitrarily long in theory, although in practice it bombs out at 100,000 for sanity purposes. This required adjusting the core/tool interface for read_extra_suppression_info(). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10581 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
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_include.h
|
1dcee097db02f9ef3ba355162c4373d90d0e895c |
|
24-Feb-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove a number of unused parameters, found with -Wunused-parameter. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9248 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
8b140dee891a850c09d27f316df913acc7d7bae7 |
|
17-Feb-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In the core, include malloc_usable_size() as one of the functions that must be replaced if malloc() et al are replaced by a tool. This is because different tools implement the function in different ways. Add an appropriate malloc_usable_size() replacement to each of Memcheck, Helgrind, DRD, Ptrcheck, Massif. Update memcheck/tests/malloc_usable and add massif/tests/malloc_usable. Merged from the DARWIN branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9193 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
505a819357c173778e2748d2666a576cd8ac6e9f |
|
18-Jul-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a silly mistake resulting in a bunch of global variables being defined in all the object files in Memcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8445 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
56adc358fd23a1b1d9e331ca63f773aca1ec0953 |
|
02-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor cleanups: * remove 'extern' in all the headers, as that is irrelevant and wastes horizontal space * fix some 64-bit uncleanness in client(-defined) block handling * remove unneeded #includes git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7987 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
7ce7166aeae2d8401f2b3b1f9e6f60be9ae9dd72 |
|
02-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Move the error management code for Memcheck into a new file, mc_errors.c, as it is relatively self contained. This reduces the size of mc_main.c by about 1350 lines. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7986 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
7cf4e6b6aed533af53339f36099ed244dc4a5b7f |
|
01-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds support to Memcheck for tracking the origin of uninitialised values, if you use the --track-origins=yes flag. This currently causes some Memcheck regression tests to fail, because they now print an extra line of advisory text in their output. This will be fixed. The core-tool interface is slightly changed. The version number for the interface needs to be incremented. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
eb0fa9345010077e1e4852b238dde303b8f271b3 |
|
30-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
New options for Memcheck, --malloc-fill=<hexnumber> and --fill-free=<hexnumber>, which cause malloc'd(etc) and free'd(etc) blocks to be filled with the specified value. This can apparently be useful for shaking out hard-to-track-down memory corruption. The definedness/addressability of said areas is not affected -- only the contents. Documentation to follow. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7259 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
fa4ca3bd2c6ccbbe47adffc55c2b0f663f0b48e8 |
|
30-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the freed-block-queue volume metrics 64-bit throughout, to avoid any wierdness on very large machines in the future. Also, double the default size from 5MB to 10MB, on the basis that programs are now on average twice as lardy as they were when it was set to 5MB, whenever that was. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7256 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
bf8c350bbaf032615c54255355ff3ff6bc7baa21 |
|
18-Sep-2007 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Change an Int to a SSizeT to avoid overflows. Fixed bug 148174. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6855 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
81651dc1ae8cc13a5c857a0fb4137304ed17aa43 |
|
28-Aug-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge, from CGTUNE branch, a cleaned up version of r6742: Another optimisation: allow tools to provide a final_tidy function which they can use to mess with the final post-tree-built IR before it is handed off to instruction selection. In memcheck, use this to remove redundant calls to MC_(helperc_value_check0_fail) et al. Gives a 6% reduction in code size for Memcheck on x86 and a smaller (3% ?) speedup. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6787 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
0b9d74abd0a663b530d290b2b788ddeda46e5400 |
|
24-Dec-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Non-functional commit: track IR renaming in vex r1689. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6416 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
c740d7660ad140b79e561e0d578ab8435a5a5289 |
|
05-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A memory pool update from Graydon Hoare. Here's an update to the mempool move / change client requests and sanity checking. The following changes are present: - Added one more (hopefully last) client request, a predicate to test whether a mempool anchor address is currently tracked. It turns out mozilla's arena-using code is sufficiently inconsistent in its assumptions that it's very difficult to phrase the valgrind client-request annotations without this request. Namely: sometime arena-init and arena-free operations are assumed to be idempotent. - Fixed a very rapid tool-memory leak in the mempool sanity check routine. The previous version of the patch I posted would use all memory even on my Very Beefy Test Machine within ~15 minutes of browsing with firefox. - Added a little logging code to print the counts of pools and chunks active every ~10000 sanity checks, when running with -v. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6197 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
2c1c9dfe806d62d43768b23c29799dc6a100cb09 |
|
28-Jul-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a mempool-trimming client request (Graydon Hoare). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5992 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
dbf7ca71128c6787ba8a99cbd03c3773ff572d96 |
|
31-Mar-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Terminology change: previously in Memcheck we had the four states: noaccess, writable, readable, other Now they are: noaccess, undefined, defined, partdefined As a result, the following names: make_writable, make_readable, check_writable, check_readable, check_defined have become: make_mem_undefined, make_mem_defined, check_mem_is_addressable, check_mem_is_defined, check_value_is_defined (and likewise for the upper-case versions for client request macros). The old MAKE_* and CHECK_* macros still work for backwards compatibility. This is much better, because the old names were subtly misleading. For example: - "readable" really meant "readable and writable". - "writable" really meant "writable and maybe readable, depending on how the read value is used". - "check_writable" really meant "check writable or readable" The new names avoid these problems. The recently-added macro which was called MAKE_DEFINED is now MAKE_MEM_DEFINED_IF_ADDRESSABLE. I also corrected the spelling of "addressable" in numerous places in memcheck.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
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_include.h
|
461df9c36f6a07e4f0c14ae068e8e8e9bd383b26 |
|
17-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
These files all speak about instrumentation functions. Instrumentation functions now take a callback closure structure (VgCallbackClosure*), so this commit changes the signatures accordingly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5535 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
f3418c09b8d0bfaca08f9eda97c459bd8ea8b67a |
|
08-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of old flags that memcheck no longer has. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5039 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
4ba057cce1d81a949f5a899b5abb99e90a731bcc |
|
18-Oct-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Change the core-tool interface so that tools are fully aware of both the guest extents for the presented translation and also its original un-redirected guest address. These changes are needed in particular to make cachegrind's code cache management work properly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4943 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
8d61eb1774d5d3f7a9215c7bf783f300b1fb8d55 |
|
08-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Comment wibble. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4132 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
8cf88b7b5d8325e098b455f502c9a9239c6ee011 |
|
08-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create and use bigendian versions of MC_(helperc_{LOAD,STORE}V{2,4,8}). This involved some serious nastyness from the Department of Cpp Abuse. Memcheck still bombs on ppc32 for unknown reasons. There are still endianness issues within these functions, I think. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4129 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
2e595858903b80f29f271dc94e32a9e052bb4c8a |
|
01-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track Vex API change (r1239, introduction of endianness-indications in IR loads and stores.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4072 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
af839f52d74df156d655201a889954133ab01be7 |
|
23-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed the VGA_/VGO_/VGP_ prefixes for arch/OS/platform-specific things. These made sense when the arch/OS/platform-specific code was in one module, but as that code got mixed in with generic code the boundary between generic and non-generic blurred, and the distinction made less sense. So let's get rid of them. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4002 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
44acd3e8526899deb041d11df690f69dc071fe2c |
|
13-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed mc_asm.h, which is no longer needed since Memcheck has no assembly files any more. Moved MC_() into mc_include.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3692 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
826ec49ac9fcbc4f9bb1134d3b8827e4ee0f7687 |
|
12-May-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use the new IRStmt_AbiHints created by the amd64 front end. This finally makes memcheck able to reliably track the definedness of the stack on amd64. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3686 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
51d827bcd88ce045a383ea1ca81768757df2d1fa |
|
09-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Big clean-up: changed the core/tool interface to be mediated entirely through the VG_(tdict) function dictionary, rather than using TL_(foo) functions. This facilitated the following changes: - Removed the "TL_" prefix, which is no longer needed. - Removed the auto-generated files vg_toolint.[ch], which were no longer needed, which simplifies the build a great deal. Their (greatly streamlined) contents went into core.h and vg_needs.h (and will soon go into a new module defining the core/tool interface). This also meant that tool.h.base reverted to tool.h (so no more accidentally editing tool.h and not having the changes go into the repo, hooray!) And gen_toolint.pl was removed. And toolfuncs.def was removed. - Removed VG_(missing_tool_func)(), no longer used. - Bumped the core/tool interface major version number to 8. And I killed the minor version number, which was never used. The layout of the ToolInfo struct is such that this should not cause problems. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3644 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
9e63cb6ff077511b592bfb22d702470d9fce2af8 |
|
08-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved mc_errcontext.c into mc_main.c, since it was very small and there was no benefit in having it separate. This allows some exports to be removed from mc_include.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3641 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
11bcc4ec8e861aea0dc36b32f6fcc9300dddd577 |
|
24-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Handle 8-byte value-check failures using a special fast-case fn (like 0,1,4 sized) rather than the generic one. Remove size 2 since that never seems to get used. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3545 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
6cf40ffd6d17589c81b6fe6a0da6f4b6b83c4f80 |
|
21-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a bunch of 64-bit cases required amd64. Stop to ponder whether there is a better way to handle the 'pessimising cast' family of operations in such a way that Vex's back-end instruction selectors can generate better code than they do now, with less verbosity and general confusingness in the insn selectors. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3536 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
9fb73db1c3fe4296264cf35cc2f3cd671ab2e61a |
|
27-Mar-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add VGA_ prefix to the arch-specific macros {MIN,MAX}_INSTR_SIZE and REGPARMS. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3458 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
b8dca865c180a2cb5240f02c9d16d376484de15c |
|
14-Mar-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Reinstated Memcheck. Did the full merge from CVS, except for the user-specified block stuff, which confused me because I wasn't sure whether to use the code already in SVN, or the code in CVS. Perhaps that code doesn't need to be changed. Unfortunately, Memcheck doesn't work entirely correctly -- I get some spurious errors. Nonetheless I'm checking it in as a starting point. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3353 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
5361242f022b38fadb4cdf02428cea8b8d901a90 |
|
12-Mar-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright notice for 2005 on all relevant files. Don't bother trying to be selective about it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3303 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
0a4145332a08813f482f6f4e0dc1af438e9929d9 |
|
22-Nov-2004 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed now-defunct read/write checks for FPU ops. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
f680246e37177a673d55cc64d22f247e48807f68 |
|
22-Nov-2004 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove now-defunct --cleanup option for Memcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3072 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
95448075345dc73986042f6dc68eb464d02bc6a8 |
|
22-Nov-2004 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make Memcheck compilable. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3065 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
8b76fe55a596a4296ba5028e2510015fef38b02f |
|
08-Nov-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improved Memcheck's error checking messages in two significant ways: - All memory-related errors are now clear whether they are caused by unaddressable or uninitialised memory. (Previously, writes were clearly addressability errors, but reads could be either.) Mostly done by replacing the 'isWrite' field in MAC_Error with 'isUnaddr'. Also, mc_check_readable() now indicates not just if an error occurred, but what kind of error (ie. addressability or definedness). - Put machinery into place in the core to inform tools when registers are being read by the core -- ie. a 'pre_reg_read' event. Most notably, this facilitates syscall scalar arg definedness checking for Memcheck. Currently this is only working for read(), write(), exit() and exit_group(), but it will be extended as the syscalls are overhauled as part of the arch-abstraction work. A consequence of this is that the ParamErr messages have changed. This: Syscall param write(buf) contains uninitialised byte(s) now means that the pointer 'buf' is partially undefined. If the memory pointed to by 'buf' is partially undefined or unaddressable, it says one of: Syscall param write(buf) points to uninitialised byte(s) Syscall param write(buf) points to unaddressable byte(s) The docs have been updated accordingly. I also added a couple of regression tests. These two change sare notable for being the first improvements to Memcheck's checking/errors in a long time. I also folded mc_clientreqs.c into mc_main.c, which saves exporting a whole bunch of things that are not used anywhere else. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2949 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
451eae91506b6bb5171bd862e8ef5fbbcd703bb8 |
|
02-Nov-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
64-bit cleanness: - Use SizeT instead of UInt for new_mem_stack and all the related functions. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2907 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
5a2664c7e26ac5053ebde6954a6e789144df570e |
|
02-Sep-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Arch-abstraction: - renamed "vg_constants.h" as "core_asm.h". - renamed "vg_constants_skin.h" as "tool_asm.h". - renamed "mc_constants.h" as "mc_asm.h". git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2650 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
eec46308860444fc70041a71169a5d7830271fcf |
|
23-Aug-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Small step in factoring out arch-specific code: replace __attribute((regparm(n))) with REGPARM(n) everywhere. REGPARM() is defined in vg_skin.h, but will eventually be defined separately for each arch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2601 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
31212bcbafd6c3b8ff7cd6db8c3d649a6e36c9e1 |
|
29-Feb-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Patch from Bartosz Taudul: latest GCC requires regparm(n) attributes on both function declarations and definitions. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2280 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
bb1c99123c95fb9a4a2617d6e1d09559ac68db80 |
|
04-Jan-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright dates for 2004. Also added a couple of missing headers and footers to some new files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2177 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
137bc55f216bc7d9528f159a78cdf9025e0b02ff |
|
14-Nov-2003 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Started to rescind the name "skin", replacing it with "tool". Did this in all the places that normal users will see: - command line: --tool=foo (although --skin=foo still works) - docs: removed all traces (included renaming coregrind_skins.html to coregrind_tools.html) - in the usage messages - in error messages Also did in in some places that I judged were unlikely to cause clashes with existing workspaces: - in the header comments of many files (eg. "This file is part of Memcheck, a Valgrind tool for...") - in the regtests script - in the .supp files - in AUTHORS - in README_MISSING_SYSCALL_OR_IOCTL Also update the AUTHORS file to mention Jeremy. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2027 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
72718649e68c7eaf3d0b8cd3deebde198b2ea84d |
|
24-Jul-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A big commit size-wise, but small concept-wise: removed the ThreadState type from skin's view, replacing all instances with ThreadId. Much cleaner. Had to change the way VG_(get_ExeContext)() worked a little. Changed the core/skin major interface because this breaks the old version. Also fixed a few minor related things here and there. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1782 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
66fe05a4cf9c53f09ffc6edc31497be506049831 |
|
22-Jul-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added overlap checking to Addrcheck, mostly just moving things around. In particular, renamed mc_replace_strmem.c as mac_replace_strmem.c; the 'mac' prefix indicates it's shared between Memcheck and Addrcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1774 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
af48a6052275dd1bf9e231813ee24e1f4111d1a7 |
|
06-Jul-2003 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add patch from Nick to get proper backtraces in MC_(get_or_set_vbits_for_client). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1719 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
ee070841e197a311bb7a5bf966ff8babec134e6c |
|
05-Jul-2003 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add memcheck client requests VALGRIND_GET_VBITS / VALGRIND_SET_VBITS for fetching/setting metadata so that it can be sent between unconnected address spaces (or whatever). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1718 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
34419c1237100ca66b224e235bc6ded59c7ec2fe |
|
02-May-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Made memcpy()-et-al-overlap errors fully fledged errors, suppressible, recordable, etc. Thanks to Tom Hughes <thh@cyberscience.com> for the patch. Also fixed a minor bug in the reporting -- the src/dst pointers given for strncat(), strcpy(), strcat(). And I updated the relevent regression test. And I even added relevant documentation. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1582 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
0e1b514ab8e837f75a207a037ea53a6a721e9d28 |
|
15-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright notices for 2003. Only 4 months late. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1526 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
43c799ed4de307bf00b2467b9b63e583894a030b |
|
08-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit moves some skin-specific stuff out of core, and generally neatens other things up. Also, it adds the --gen-suppressions option for automatically generating suppressions for each error. Note that it changes the core/skin interface: SK_(dup_extra_and_update)() is replaced by SK_(update_extra)(), and SK_(get_error_name)() and SK_(print_extra_suppression_info)() are added. ----------------------------------------------------------------------------- details ----------------------------------------------------------------------------- Removed ac_common.c -- it just #included another .c file; moved the #include into ac_main.c. Introduced "mac_" prefixes for files shared between Addrcheck and Memcheck, to make it clearer which code is shared. Also using a "MAC_" prefix for functions and variables and types that are shared. Addrcheck doesn't see the "MC_" prefix at all. Factored out almost-identical mc_describe_addr() and describe_addr() (AddrCheck's version) into MAC_(describe_addr)(). Got rid of the "pp_ExeContext" closure passed to SK_(pp_SkinError)(), it wasn't really necessary. Introduced MAC_(pp_shared_SkinError)() for the error printing code shared by Addrcheck and Memcheck. Fixed some bogus stuff in Addrcheck error messages about "uninitialised bytes" (there because of an imperfect conversion from Memcheck). Moved the leak checker out of core (vg_memory.c), into mac_leakcheck.c. - This meant the hacky way of recording Leak errors, which was different to normal errors, could be changed to something better: introduced a function VG_(unique_error)(), which unlike VG_(maybe_record_error)() just prints the error (unless suppressed) but doesn't record it. Used for leaks; a much better solution all round as it allowed me to remove a lot of almost-identical code from leak handling (is_suppressible_leak(), leaksupp_matches_callers()). - As part of this, changed the horrible SK_(dup_extra_and_update) into the slightly less horrible SK_(update_extra), which returns the size of the `extra' part for the core to duplicate. - Also renamed it from VG_(generic_detect_memory_leaks)() to MAC_(do_detect_memory_leaks). In making the code nicer w.r.t suppressions and error reporting, I tied it a bit more closely to Memcheck/Addrcheck, and got rid of some of the args. It's not really "generic" any more, but then it never really was. (This could be undone, but there doesn't seem to be much point.) STREQ and STREQN were #defined in several places, and in two different ways. Made global macros VG_STREQ, VG_CLO_STREQ and VG_CLO_STREQN in vg_skin.h. Added the --gen-suppressions code. This required adding the functions SK_(get_error_name)() and SK_(print_extra_suppression_info)() for skins that use the error handling need. Added documentation for --gen-suppressions, and fixed some other minor document problems. Various other minor related changes too. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
9b007f64f7d277450793bc54e4ce29a163eb793b |
|
07-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
----------------------------------------------------------------------------- overview ----------------------------------------------------------------------------- This commit introduces an optimisation that speeds up Memcheck by roughly -3 -- 28%, and Addrcheck by 1 -- 36%, at least for the SPEC2000 benchmarks on my 1400MHz Athlon. Basic idea: that handling of A/V bit updates on %esp-adjustments was quite sub-optimal -- for each "PUT ESP", a function was called that computed the delta from the old and new ESPs, and then called a looping function to deal with it. Improvements: 1. most of the time, the delta can be seen from the code. So there's no need to compute it. 2. when the delta is known, we can directly call a skin function to handle it. 3. we can specialise for certain common cases (eg. +/- 4, 8, 12, 16, 32), including having unrolled loops for these. This slightly bloats UCode because of setting up args for the call, and for updating ESP in code (previously was done in the called C function). Eg. for `date' the code expansion ratio goes from 14.2 --> 14.6. But it's much faster. Note that skins don't have to use the specialised cases, they can just define the ordinary case if they want; the specialised cases are only used if present. ----------------------------------------------------------------------------- details ----------------------------------------------------------------------------- Removed addrcheck/ac_common.c, put its (minimal) contents in ac_main.c. Updated the major interface version, because this change isn't binary compatible with the old core/skin interface. Removed the hooks {new,die}_mem_stack_aligned, replaced with the better {new,die}_mem_stack_{4,8,12,16,32}. Still have the generic {die,new}_mem_stack hooks. These are called directly from UCode, thanks to a new pass that occurs between instrumentation and register allocation (but only if the skin uses these stack-adjustment hooks). VG_(unknown_esp_update)() is called from UCode for the generic case; it determines if it's a stack switch, and calls the generic {new,die}_stack_mem hooks accordingly. This meant synth_handle_esp_assignment() could be removed. The new %esp-delta computation phase is in vg_translate.c. In Memcheck and Addrcheck, added functions for updating the A and V bits of a single aligned word and a single aligned doubleword. These are called from the specialised functions new_mem_stack_4, etc. Could remove the one for the old hooks new_mem_stack_aligned and die_mem_stack_aligned. In mc_common.h, added a big macro containing the definitions of new_mem_stack_4 et al. It's ``instantiated'' separately by Memcheck and Addrcheck. The macro is a bit klugey, but I did it that way because speed is vital for these functions, so eg. a function pointer would have slowed things down. Updated the built-in profiling events appropriately for the changes (removed one old event, added a new one; finding their names is left as an exercise for the reader). Fixed memory event profiling in {Addr,Mem}check, which had rotted. A few other minor things. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1510 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
5c004e4befbb4bb13d9bdb5084748585ea2b9ec3 |
|
18-Nov-2002 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Overview: - Factored out a lot of commonality between AddrCheck and MemCheck. Basic idea is that common code goes into a single file in MemCheck, and AddrCheck peeks in and "borrows" it. More or less, only identical code or identical-with-respect-to-subtypes code was factored out. Identical-with-respect-to-subtypes means that some enum types (SuppKind, ErrorKind, etc) were merged because they were identical except that MemCheck had some extra constants. So some of the code borrowed by AddrCheck contains cases it never needs. But that's not so bad, avoiding the duplication is IMHO more important. Removed: - ac_include.h, it wasn't necessary - All the old debugging stuff from ac_main.c (printing shadow regs, not applicable for AddrCheck). - MANUAL_DEPS from memcheck/Makefile.am because it wasn't doing anything - Some unnecessary crud from addrcheck/Makefile.am Added: - memcheck/mc_common.{c,h} - memcheck/mc_constants.h - addrcheck/ac_common.c, which simply #includes memcheck/mc_common.c. This hack was required because there is no way (that I could work out) to tell Automake that it should build ../memcheck/mc_common.o before building AddrCheck. Changed: - a lot of prefixes from SK_ to MC_; only core/skin interface functions are prefixed with SK_ now. This makes it clear which functions are from the core/skin interface, and for AddrCheck it's clear which functions are shared with/borrowed from MemCheck. Changed some related prefixes for consistency. - Also factored out some duplication within AddrCheck -- some accessibility checking was needlessly split up into separate read and write checks that did the same thing. Unchanged: - I considered moving the leak detector out of core into mc_common.c, but didn't, because it constantly accesses ShadowChunk fields and converting to get/set methods would have been a total pain. - Left old debugging stuff in for MemCheck, although I seriously doubt it would still work. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1325 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
9b6d34ead5553d09299188591e880c0c0b22846a |
|
15-Oct-2002 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Wibbles, thanks to Arnaud Desitter. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1232 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
8ec2cfcb9c1267fd7b20529f1b95973a9712b872 |
|
13-Oct-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Incorporate horrible hack to workaround problem of emitting bogus uninit-value errors on code with inlined strlen() et al from gcc-3.1 and above. MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1213 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
c953984b8ee34ac55830b9871138b409d9d9476c |
|
02-Oct-2002 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated file descriptions in the copyright notices to reflect the core/skin split. Each skin now has its own two-line description. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1166 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
c4d68a51356d0d55d62cee8aae23141c6979e4d0 |
|
30-Sep-2002 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
wibble git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1140 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
cac76cb18577b9c51d331f56e8ea241f6effaf31 |
|
23-Sep-2002 |
njn25 <njn25@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Changed lots of files for the new core/ + skin/ directory structure: - changed lots of Makefile.am files - changed configure.in - changed lots of #include lines for changed file names - changed lots of file headers n footers for changed file names - changed vg_regtest to handle new directory structure -- recursively traverses subdirectories for .vgtest test files - changed lots of paths in memcheck/ regression test expected outputs git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1090 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|
e49d8e7dfd3a9c96feb9935b5920973dfc0b170a |
|
23-Sep-2002 |
njn25 <njn25@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Files updated, added and removed in order to turn the ERASER branch into HEAD git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/mc_include.h
|