Lines Matching refs:MC_
1095 INLINE Bool MC_(in_ignored_range) ( Addr a )
1110 VG_(tool_panic)("MC_(in_ignore_range)");
1258 if (!MC_(clo_partial_loads_ok)) {
1259 MC_(record_address_error)( VG_(get_running_tid)(), a, szB, False );
1308 MC_(record_address_error)( VG_(get_running_tid)(), a, szB, False );
1387 if (!MC_(clo_partial_loads_ok)) {
1388 MC_(record_address_error)( VG_(get_running_tid)(), a, szB, False );
1452 MC_(record_address_error)( VG_(get_running_tid)(), a, szB, False );
1477 MC_(helperc_STOREV8).
1540 MC_(record_address_error)( VG_(get_running_tid)(), a, szB, True );
1782 void MC_(make_mem_noaccess) ( Addr a, SizeT len )
1784 PROF_EVENT(40, "MC_
1785 DEBUG("MC_(make_mem_noaccess)(%p, %lu)\n", a, len);
1787 if (UNLIKELY( MC_(clo_mc_level) == 3 ))
1798 void MC_(make_mem_undefined_w_otag) ( Addr a, SizeT len, UInt otag )
1800 PROF_EVENT(43, "MC_(make_mem_undefined)");
1801 DEBUG("MC_(make_mem_undefined)(%p, %lu)\n", a, len);
1803 if (UNLIKELY( MC_(clo_mc_level) == 3 ))
1820 MC_(make_mem_undefined_w_otag) ( a, len, ecu | okind );
1832 MC_(make_mem_undefined_w_otag) ( a, len, MC_OKIND_UNKNOWN );
1835 void MC_(make_mem_defined) ( Addr a, SizeT len )
1837 PROF_EVENT(42, "MC_(make_mem_defined)");
1838 DEBUG("MC_(make_mem_defined)(%p, %lu)\n", a, len);
1840 if (UNLIKELY( MC_(clo_mc_level) == 3 ))
1846 words a version of MC_(make_mem_defined) that doesn't mess with
1857 if (UNLIKELY(MC_(clo_mc_level) >= 3)) {
1858 MC_(helperc_b_store1)( a+i, 0 ); /* clear the origin tag */
1874 if (UNLIKELY(MC_(clo_mc_level) >= 3)) {
1875 MC_(helperc_b_store1)( a+i, 0 ); /* clear the origin tag */
1884 void MC_(copy_address_range_state) ( Addr src, Addr dst, SizeT len )
1890 DEBUG("MC_(copy_address_range_state)\n");
1891 PROF_EVENT(50, "MC_(copy_address_range_state)");
1941 PROF_EVENT(51, "MC_(copy_address_range_state)(loop)");
1952 PROF_EVENT(52, "MC_(copy_address_range_state)(loop)");
2171 MC_(helperc_MAKE_STACK_UNINIT), now takes a third argument, the
2358 tl_assert(MC_(clo_mc_level) >= 3);
2573 //// BEGIN inlined, specialised version of MC_(helperc_b_store8)
2587 //// END inlined, specialised version of MC_(helperc_b_store8)
2628 //// BEGIN inlined, specialised version of MC_(helperc_b_store4)
2639 //// END inlined, specialised version of MC_(helperc_b_store4)
2648 MC_(make_mem_noaccess)(a, 4);
2656 MC_(make_mem_noaccess)(a, 4);
2664 //// BEGIN inlined, specialised version of MC_(helperc_b_store4)
2666 if (UNLIKELY( MC_(clo_mc_level) == 3 )) {
2675 //// END inlined, specialised version of MC_(helperc_b_store4)
2712 //// BEGIN inlined, specialised version of MC_(helperc_b_store8)
2724 //// END inlined, specialised version of MC_(helperc_b_store8)
2733 MC_(make_mem_noaccess)(a, 8);
2741 MC_(make_mem_noaccess)(a, 8);
2749 //// BEGIN inlined, specialised version of MC_(helperc_b_store8)
2751 if (UNLIKELY( MC_(clo_mc_level) == 3 )) {
2760 //// END inlined, specialised version of MC_(helperc_b_store8)
2786 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 4, otag );
2808 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-4, 4 );
2825 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 8, otag );
2853 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-8, 8 );
2874 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 12, otag );
2913 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-12, 12 );
2935 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 16, otag );
2972 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-16, 16 );
2998 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 32, otag );
3044 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-32, 32 );
3071 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 112, otag );
3119 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-112, 112 );
3148 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 128, otag );
3200 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-128, 128 );
3231 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 144, otag );
3287 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-144, 144 );
3320 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 160, otag );
3380 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + new_SP-160, 160 );
3390 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + a, len, otag );
3402 MC_(make_mem_noaccess) ( -VG_STACK_REDZONE_SZB + a, len );
3514 void MC_(helperc_MAKE_STACK_UNINIT) ( Addr base, UWord len, Addr nia )
3522 if (UNLIKELY( MC_(clo_mc_level) == 3 )) {
3533 MC_(make_mem_undefined)(base, len, otag);
3560 MC_(make_mem_undefined)(base, len, otag);
3605 if (UNLIKELY( MC_(clo_mc_level) == 3 )) {
3681 if (UNLIKELY( MC_(clo_mc_level) == 3 )) {
3725 MC_(make_mem_undefined_w_otag)(base, len, otag);
3750 Bool MC_(check_mem_is_noaccess) ( Addr a, SizeT len, Addr* bad_addr )
3812 if (MC_(clo_mc_level) >= 2) {
3813 if (otag && MC_(clo_mc_level) == 3) {
3814 *otag = MC_(helperc_b_load1)( a );
3864 if (MC_(clo_mc_level) == 3) {
3865 *otagV = MC_(helperc_b_load1)( a );
3910 if (MC_(clo_mc_level) >= 2) {
3911 if (otag && MC_(clo_mc_level) == 3) {
3912 *otag = MC_(helperc_b_load1)( a );
3940 MC_(record_memparam_error) ( tid, bad_addr,
3945 MC_(record_core_mem_error)( tid, s );
3967 MC_(record_memparam_error) ( tid, bad_addr, isAddrErr, s,
3972 MC_(record_regparam_error) ( tid, s, otag );
3978 MC_(record_jump_error)( tid, bad_addr );
3999 MC_(record_memparam_error) ( tid, bad_addr, isAddrErr, s,
4064 MC_(make_mem_defined)(a, len);
4067 MC_(make_mem_noaccess)(a, len);
4111 MC_(make_mem_defined)(a, len);
4128 sh2off = MC_(get_otrack_shadow_offset)( offset, size );
4196 MC_(record_regparam_error) ( tid, s, otag );
4341 VG_REGPARM(2) void MC_(helperc_LOADV256be) ( /*OUT*/V256* res, Addr a )
4345 VG_REGPARM(2) void MC_(helperc_LOADV256le) ( /*OUT*/V256* res, Addr a )
4350 VG_REGPARM(2) void MC_(helperc_LOADV128be) ( /*OUT*/V128* res, Addr a )
4354 VG_REGPARM(2) void MC_(helperc_LOADV128le) ( /*OUT*/V128* res, Addr a )
4398 VG_REGPARM(1) ULong MC_(helperc_LOADV64be) ( Addr a )
4402 VG_REGPARM(1) ULong MC_(helperc_LOADV64le) ( Addr a )
4433 // in MC_(helperc_STOREV8).
4465 VG_REGPARM(1) void MC_(helperc_STOREV64be) ( Addr a, ULong vbits64 )
4469 VG_REGPARM(1) void MC_(helperc_STOREV64le) ( Addr a, ULong vbits64 )
4516 VG_REGPARM(1) UWord MC_(helperc_LOADV32be) ( Addr a )
4520 VG_REGPARM(1) UWord MC_(helperc_LOADV32le) ( Addr a )
4549 // in MC_(helperc_STOREV8).
4581 VG_REGPARM(2) void MC_(helperc_STOREV32be) ( Addr a, UWord vbits32 )
4585 VG_REGPARM(2) void MC_(helperc_STOREV32le) ( Addr a, UWord vbits32 )
4634 VG_REGPARM(1) UWord MC_(helperc_LOADV16be) ( Addr a )
4638 VG_REGPARM(1) UWord MC_(helperc_LOADV16le) ( Addr a )
4679 // in MC_(helperc_STOREV8).
4714 VG_REGPARM(2) void MC_(helperc_STOREV16be) ( Addr a, UWord vbits16 )
4718 VG_REGPARM(2) void MC_(helperc_STOREV16le) ( Addr a, UWord vbits16 )
4728 UWord MC_(helperc_LOADV8) ( Addr a )
4770 void MC_(helperc_STOREV8) ( Addr a, UWord vbits8 )
4874 void MC_(helperc_value_check0_fail_w_o) ( UWord origin ) {
4875 MC_(record_cond_error) ( VG_(get_running_tid)(), (UInt)origin );
4879 void MC_(helperc_value_check1_fail_w_o) ( UWord origin ) {
4880 MC_(record_value_error) ( VG_(get_running_tid)(), 1, (UInt)origin );
4884 void MC_(helperc_value_check4_fail_w_o) ( UWord origin ) {
4885 MC_(record_value_error) ( VG_(get_running_tid)(), 4, (UInt)origin );
4889 void MC_(helperc_value_check8_fail_w_o) ( UWord origin ) {
4890 MC_(record_value_error) ( VG_(get_running_tid)(), 8, (UInt)origin );
4894 void MC_(helperc_value_checkN_fail_w_o) ( HWord sz, UWord origin ) {
4895 MC_(record_value_error) ( VG_(get_running_tid)(), (Int)sz, (UInt)origin );
4901 void MC_(helperc_value_check0_fail_no_o) ( void ) {
4902 MC_(record_cond_error) ( VG_(get_running_tid)(), 0/*origin*/ );
4906 void MC_(helperc_value_check1_fail_no_o) ( void ) {
4907 MC_(record_value_error) ( VG_(get_running_tid)(), 1, 0/*origin*/ );
4911 void MC_(helperc_value_check4_fail_no_o) ( void ) {
4912 MC_(record_value_error) ( VG_(get_running_tid)(), 4, 0/*origin*/ );
4916 void MC_(helperc_value_check8_fail_no_o) ( void ) {
4917 MC_(record_value_error) ( VG_(get_running_tid)(), 8, 0/*origin*/ );
4921 void MC_(helperc_value_checkN_fail_no_o) ( HWord sz ) {
4922 MC_(record_value_error) ( VG_(get_running_tid)(), (Int)sz, 0/*origin*/ );
4977 MC_(make_mem_defined)(vbits, szB);
4992 Bool MC_(is_within_valid_secondary) ( Addr a )
5006 Bool MC_(is_valid_aligned_word) ( Addr a )
5016 if (UNLIKELY(MC_(in_ignored_range)(a)))
5073 if (MC_(clo_mc_level) < 1 || MC_(clo_mc_level) > 3)
5094 if (MC_(clo_mc_level) < 1 || MC_(clo_mc_level) > 3)
5125 if (MC_(clo_mc_level) == 1) {
5177 Bool MC_(clo_partial_loads_ok) = False;
5178 Long MC_(clo_freelist_vol) = 20*1000*1000LL;
5179 Long MC_(clo_freelist_big_blocks) = 1*1000*1000LL;
5180 LeakCheckMode MC_(clo_leak_check) = LC_Summary;
5181 VgRes MC_(clo_leak_resolution) = Vg_HighRes;
5182 UInt MC_(clo_show_leak_kinds) = R2S(Possible) | R2S(Unreached);
5183 UInt MC_(clo_error_for_leak_kinds) = R2S(Possible) | R2S(Unreached);
5184 UInt MC_(clo_leak_check_heuristics) = 0;
5185 Bool MC_(clo_workaround_gcc296_bugs) = False;
5186 Int MC_(clo_malloc_fill) = -1;
5187 Int MC_(clo_free_fill) = -1;
5188 KeepStacktraces MC_(clo_keep_stacktraces) = KS_alloc_then_free;
5189 Int MC_(clo_mc_level) = 2;
5191 static Bool MC_(parse_leak_heuristics) ( const HChar *str0, UInt *lhs )
5203 tl_assert( MC_(clo_mc_level) >= 1 && MC_(clo_mc_level) <= 3 );
5205 /* Set MC_(clo_mc_level):
5215 if (MC_(clo_mc_level) == 3) {
5218 MC_(clo_mc_level) = 1;
5223 if (MC_(clo_mc_level) == 1)
5224 MC_(clo_mc_level) = 2;
5228 if (MC_(clo_mc_level) == 3)
5229 MC_(clo_mc_level) = 2;
5233 if (MC_(clo_mc_level) == 1) {
5236 MC_(clo_mc_level) = 3;
5241 MC_(clo_partial_loads_ok)) {}
5243 if (!MC_(parse_leak_kinds)(tmp_str, &MC_(clo_error_for_leak_kinds)))
5247 if (!MC_(parse_leak_kinds)(tmp_str, &MC_(clo_show_leak_kinds)))
5251 if (!MC_(parse_leak_heuristics)(tmp_str, &MC_(clo_leak_check_heuristics)))
5256 MC_(clo_show_leak_kinds) = RallS;
5258 MC_(clo_show_leak_kinds) &= ~R2S(Reachable);
5263 MC_(clo_show_leak_kinds) |= R2S(Possible);
5265 MC_(clo_show_leak_kinds) &= ~R2S(Possible);
5269 MC_(clo_workaround_gcc296_bugs)) {}
5271 else if VG_BINT_CLO(arg, "--freelist-vol", MC_(clo_freelist_vol),
5275 MC_(clo_freelist_big_blocks),
5279 MC_(clo_leak_check), LC_Off) {}
5281 MC_(clo_leak_check), LC_Summary) {}
5283 MC_(clo_leak_check), LC_Full) {}
5285 MC_(clo_leak_check), LC_Full) {}
5288 MC_(clo_leak_resolution), Vg_LowRes) {}
5290 MC_(clo_leak_resolution), Vg_MedRes) {}
5292 MC_(clo_leak_resolution), Vg_HighRes) {}
5324 else if VG_BHEX_CLO(arg, "--malloc-fill", MC_(clo_malloc_fill), 0x00,0xFF) {}
5325 else if VG_BHEX_CLO(arg, "--free-fill", MC_(clo_free_fill), 0x00,0xFF) {}
5328 MC_(clo_keep_stacktraces), KS_alloc) {}
5330 MC_(clo_keep_stacktraces), KS_free) {}
5332 MC_(clo_keep_stacktraces), KS_alloc_and_free) {}
5334 MC_(clo_keep_stacktraces), KS_alloc_then_free) {}
5336 MC_(clo_keep_stacktraces), KS_none) {}
5420 void MC_(get_ClientBlock_array)( /*OUT*/CGenBlock** blocks,
5602 if (wcmd == NULL || !MC_(parse_leak_kinds)(wcmd,
5621 if (wcmd == NULL || !MC_(parse_leak_heuristics)(wcmd,
5663 MC_(detect_memory_leaks)(tid, &lcp);
5678 case 0: MC_(make_mem_noaccess) (address, szB); break;
5681 case 2: MC_(make_mem_defined) ( address, szB ); break;
5715 MC_(pp_describe_addr) (address);
5749 MC_(pp_describe_addr) (address);
5767 if (lr_nr == 0 || ! MC_(print_block_list) (lr_nr-1))
5783 MC_(who_points_at) (address, szB);
5823 MC_(record_user_error) ( tid, bad_addr, /*isAddrErr*/True, 0 );
5839 MC_(record_user_error) ( tid, bad_addrV,
5843 MC_(record_user_error) ( tid, bad_addrA,
5873 lcp.show_leak_kinds = MC_(clo_show_leak_kinds);
5874 lcp.errors_for_leak_kinds = MC_(clo_error_for_leak_kinds);
5875 lcp.heuristics = MC_(clo_leak_check_heuristics);
5892 MC_(detect_memory_leaks)(tid, &lcp);
5898 MC_(make_mem_noaccess) ( arg[1], arg[2] );
5909 MC_(make_mem_defined) ( arg[1], arg[2] );
5961 // MC_(bytes_leaked) et al were set by the last leak check (or zero
5963 *argp[1] = MC_(bytes_leaked) + MC_(bytes_indirect);
5964 *argp[2] = MC_(bytes_dubious);
5965 *argp[3] = MC_(bytes_reachable);
5966 *argp[4] = MC_(bytes_suppressed);
5968 //*argp[5] = MC_(bytes_indirect);
5976 // MC_(blocks_leaked) et al were set by the last leak check (or zero
5978 *argp[1] = MC_(blocks_leaked) + MC_(blocks_indirect);
5979 *argp[2] = MC_(blocks_dubious);
5980 *argp[3] = MC_(blocks_reachable);
5981 *argp[4] = MC_(blocks_suppressed);
5983 //*argp[5] = MC_(blocks_indirect);
5995 MC_(new_block) ( tid, p, sizeB, /*ignored*/0, is_zeroed,
5996 MC_AllocCustom, MC_(malloc_list) );
5998 MC_(make_mem_noaccess) ( p - rzB, rzB);
5999 MC_(make_mem_noaccess) ( p + sizeB, rzB);
6009 MC_(handle_resizeInPlace) ( tid, p, oldSizeB, newSizeB, rzB );
6016 MC_(handle_free) ( tid, p, rzB, MC_AllocCustom );
6025 MC_(record_overlap_error)(tid, s, src, dst, len);
6034 MC_(create_mempool) ( pool, rzB, is_zeroed );
6041 MC_(destroy_mempool) ( pool );
6050 MC_(mempool_alloc) ( tid, pool, addr, size );
6058 MC_(mempool_free) ( pool, addr );
6067 MC_(mempool_trim) ( pool, addr, size );
6075 MC_(move_mempool) ( poolA, poolB );
6085 MC_(mempool_change) ( pool, addrA, addrB, size );
6092 *ret = (UWord) MC_(mempool_exists) ( pool );
6136 UInt MC_(event_ctr)[N_PROF_EVENTS];
6137 HChar* MC_(event_ctr_name)[N_PROF_EVENTS];
6143 MC_(event_ctr)[i] = 0;
6144 MC_(event_ctr_name)[i] = NULL;
6157 if (MC_(event_ctr)[i] > 0) {
6160 i, MC_(event_ctr)[i],
6161 MC_(event_ctr_name)[i]
6162 ? MC_(event_ctr_name)[i] : "unnamed");
6187 UWord VG_REGPARM(1) MC_(helperc_b_load1)( Addr a ) {
6211 UWord VG_REGPARM(1) MC_(helperc_b_load2)( Addr a ) {
6218 UInt oLo = (UInt)MC_(helperc_b_load1)( a + 0 );
6219 UInt oHi = (UInt)MC_(helperc_b_load1)( a + 1 );
6243 UWord VG_REGPARM(1) MC_(helperc_b_load4)( Addr a ) {
6250 UInt oLo = (UInt)MC_(helperc_b_load2)( a + 0 );
6251 UInt oHi = (UInt)MC_(helperc_b_load2)( a + 2 );
6274 UWord VG_REGPARM(1) MC_(helperc_b_load8)( Addr a ) {
6281 UInt oLo = (UInt)MC_(helperc_b_load4)( a + 0 );
6282 UInt oHi = (UInt)MC_(helperc_b_load4)( a + 4 );
6309 UWord VG_REGPARM(1) MC_(helperc_b_load16)( Addr a ) {
6310 UInt oLo = (UInt)MC_(helperc_b_load8)( a + 0 );
6311 UInt oHi = (UInt)MC_(helperc_b_load8)( a + 8 );
6316 UWord VG_REGPARM(1) MC_(helperc_b_load32)( Addr a ) {
6317 UInt oQ0 = (UInt)MC_(helperc_b_load8)( a + 0 );
6318 UInt oQ1 = (UInt)MC_(helperc_b_load8)( a + 8 );
6319 UInt oQ2 = (UInt)MC_(helperc_b_load8)( a + 16 );
6320 UInt oQ3 = (UInt)MC_(helperc_b_load8)( a + 24 );
6331 void VG_REGPARM(2) MC_(helperc_b_store1)( Addr a, UWord d32 ) {
6350 void VG_REGPARM(2) MC_(helperc_b_store2)( Addr a, UWord d32 ) {
6356 MC_(helperc_b_store1)( a + 0, d32 );
6357 MC_(helperc_b_store1)( a + 1, d32 );
6378 void VG_REGPARM(2) MC_(helperc_b_store4)( Addr a, UWord d32 ) {
6384 MC_(helperc_b_store2)( a + 0, d32 );
6385 MC_(helperc_b_store2)( a + 2, d32 );
6404 void VG_REGPARM(2) MC_(helperc_b_store8)( Addr a, UWord d32 ) {
6410 MC_(helperc_b_store4)( a + 0, d32 );
6411 MC_(helperc_b_store4)( a + 4, d32 );
6433 void VG_REGPARM(2) MC_(helperc_b_store16)( Addr a, UWord d32 ) {
6434 MC_(helperc_b_store8)( a + 0, d32 );
6435 MC_(helperc_b_store8)( a + 8, d32 );
6438 void VG_REGPARM(2) MC_(helperc_b_store32)( Addr a, UWord d32 ) {
6439 MC_(helperc_b_store8)( a + 0, d32 );
6440 MC_(helperc_b_store8)( a + 8, d32 );
6441 MC_(helperc_b_store8)( a + 16, d32 );
6442 MC_(helperc_b_store8)( a + 24, d32 );
6453 MC_(helperc_b_store1)( a, otag );
6458 MC_(helperc_b_store2)( a, otag );
6465 MC_(helperc_b_store4)( a, otag );
6470 MC_(helperc_b_store2)( a, otag );
6475 MC_(helperc_b_store1)( a, otag );
6485 MC_(helperc_b_store1)( a, 0 );
6490 MC_(helperc_b_store2)( a, 0 );
6497 MC_(helperc_b_store4)( a, 0 );
6502 MC_(helperc_b_store2)( a, 0 );
6507 MC_(helperc_b_store1)( a, 0 );
6525 MC_(clo_leak_check) = LC_Full;
6528 if (MC_(clo_freelist_big_blocks) >= MC_(clo_freelist_vol))
6532 MC_(clo_freelist_big_blocks),
6533 MC_(clo_freelist_vol));
6535 tl_assert( MC_(clo_mc_level) >= 1 && MC_(clo_mc_level) <= 3 );
6537 if (MC_(clo_mc_level) == 3) {
6619 if (MC_(clo_mc_level) == 3)
6626 if (MC_(clo_mc_level) >= 3) {
6635 MC_(chunk_poolalloc) = VG_(newPA)
6636 (sizeof(MC_Chunk) + MC_(n_where_pointers)() * sizeof(ExeContext*),
6643 if (MC_(clo_mc_level) >= 2)
6713 if (MC_(clo_mc_level) >= 3) {
6753 MC_(print_malloc_stats)();
6755 if (MC_(clo_leak_check) != LC_Off) {
6757 lcp.mode = MC_(clo_leak_check);
6758 lcp.show_leak_kinds = MC_(clo_show_leak_kinds);
6759 lcp.heuristics = MC_(clo_leak_check_heuristics);
6760 lcp.errors_for_leak_kinds = MC_(clo_error_for_leak_kinds);
6764 MC_(detect_memory_leaks)(1/*bogus ThreadId*/, &lcp);
6779 if (MC_(any_value_errors) && !VG_(clo_xml) && VG_(clo_verbosity) >= 1
6780 && MC_(clo_mc_level) == 2) {
6843 MC_(make_mem_noaccess) (addr, len);
6845 MC_(make_mem_defined) (addr, len);
6860 MC_(instrument),
6863 VG_(needs_final_IR_tidy_pass) ( MC_(final_tidy) );
6867 VG_(needs_tool_errors) (MC_(eq_Error),
6868 MC_(before_pp_Error),
6869 MC_(pp_Error),
6871 MC_(update_Error_extra),
6872 MC_(is_recognised_suppression),
6873 MC_(read_extra_suppression_info),
6874 MC_(error_matches_suppression),
6875 MC_(get_error_name),
6876 MC_(get_extra_suppression_info),
6877 MC_(print_extra_suppression_use),
6878 MC_(update_extra_suppression_use));
6887 VG_(needs_info_location) (MC_(pp_describe_addr));
6888 VG_(needs_malloc_replacement) (MC_(malloc),
6889 MC_(__builtin_new),
6890 MC_(__builtin_vec_new),
6891 MC_(memalign),
6892 MC_(calloc),
6893 MC_(free),
6894 MC_(__builtin_delete),
6895 MC_(__builtin_vec_delete),
6896 MC_(realloc),
6897 MC_(malloc_usable_size),
6899 MC_(Malloc_Redzone_SzB) = VG_(malloc_effective_client_redzone_size)();
6911 VG_(track_copy_mem_remap) ( MC_(copy_address_range_state) );
6913 VG_(track_die_mem_stack_signal)( MC_(make_mem_noaccess) );
6914 VG_(track_die_mem_brk) ( MC_(make_mem_noaccess) );
6915 VG_(track_die_mem_munmap) ( MC_(make_mem_noaccess) );
6934 VG_(track_ban_mem_stack) ( MC_(make_mem_noaccess) );
6947 // MC_(chunk_poolalloc) must be allocated in post_clo_init
6948 tl_assert(MC_(chunk_poolalloc) == NULL);
6949 MC_(malloc_list) = VG_(HT_construct)( "MC_(malloc_list)" );
6950 MC_(mempool_list) = VG_(HT_construct)( "MC_(mempool_list)" );