Home | History | Annotate | Download | only in memcheck

Lines Matching refs:Err

181    } Err;
193 void MC_(before_pp_Error) ( Error* err ) {
384 void MC_(pp_Error) ( Error* err )
387 MC_Error* extra = VG_(get_error_extra)(err);
389 switch (VG_(get_error_kind)(err)) {
399 VG_(get_error_string)(err));
400 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
403 VG_(get_error_string)(err));
404 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
413 extra->Err.Value.szB );
414 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
415 if (extra->Err.Value.origin_ec)
416 mc_pp_origin( extra->Err.Value.origin_ec,
417 extra->Err.Value.otag & 3 );
419 /* Could also show extra->Err.Cond.otag if debugging origin
422 extra->Err.Value.szB );
423 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
424 if (extra->Err.Value.origin_ec)
425 mc_pp_origin( extra->Err.Value.origin_ec,
426 extra->Err.Value.otag & 3 );
436 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
437 if (extra->Err.Cond.origin_ec)
438 mc_pp_origin( extra->Err.Cond.origin_ec,
439 extra->Err.Cond.otag & 3 );
441 /* Could also show extra->Err.Cond.otag if debugging origin
445 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
446 if (extra->Err.Cond.origin_ec)
447 mc_pp_origin( extra->Err.Cond.origin_ec,
448 extra->Err.Cond.otag & 3 );
458 VG_(get_error_string)(err) );
459 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
460 if (extra->Err.RegParam.origin_ec)
461 mc_pp_origin( extra->Err.RegParam.origin_ec,
462 extra->Err.RegParam.otag & 3 );
465 VG_(get_error_string)(err) );
466 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
467 if (extra->Err.RegParam.origin_ec)
468 mc_pp_origin( extra->Err.RegParam.origin_ec,
469 extra->Err.RegParam.otag & 3 );
474 if (!extra->Err.MemParam.isAddrErr)
479 VG_(get_error_string)(err),
480 extra->Err.MemParam.isAddrErr
482 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
483 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err),
484 &extra->Err.MemParam.ai, False);
485 if (extra->Err.MemParam.origin_ec
486 && !extra->Err.MemParam.isAddrErr)
487 mc_pp_origin( extra->Err.MemParam.origin_ec,
488 extra->Err.MemParam.otag & 3 );
491 VG_(get_error_string)(err),
492 extra->Err.MemParam.isAddrErr
494 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
495 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err),
496 &extra->Err.MemParam.ai, False);
497 if (extra->Err.MemParam.origin_ec
498 && !extra->Err.MemParam.isAddrErr)
499 mc_pp_origin( extra->Err.MemParam.origin_ec,
500 extra->Err.MemParam.otag & 3 );
505 if (!extra->Err.User.isAddrErr)
511 extra->Err.User.isAddrErr
513 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
514 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err), &extra->Err.User.ai,
516 if (extra->Err.User.origin_ec && !extra->Err.User.isAddrErr)
517 mc_pp_origin( extra->Err.User.origin_ec,
518 extra->Err.User.otag & 3 );
521 extra->Err.User.isAddrErr
523 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
524 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err), &extra->Err.User.ai,
526 if (extra->Err.User.origin_ec && !extra->Err.User.isAddrErr)
527 mc_pp_origin( extra->Err.User.origin_ec,
528 extra->Err.User.otag & 3 );
537 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
538 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
539 &extra->Err.Free.ai, False );
542 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
543 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
544 &extra->Err.Free.ai, False );
552 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
553 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err),
554 &extra->Err.FreeMismatch.ai, False);
557 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
558 VG_(pp_addrinfo_mc)(VG_(get_error_address)(err),
559 &extra->Err.FreeMismatch.ai, False);
566 extra->Err.Addr.isWrite ? "Write" : "Read" );
568 extra->Err.Addr.isWrite ? "write" : "read",
569 extra->Err.Addr.szB );
570 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
571 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
572 &extra->Err.Addr.ai,
573 extra->Err.Addr.maybe_gcc );
576 extra->Err.Addr.isWrite ? "write" : "read",
577 extra->Err.Addr.szB );
578 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
580 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
581 &extra->Err.Addr.ai,
582 extra->Err.Addr.maybe_gcc );
591 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
592 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err), &extra->Err.Jump.ai,
596 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
597 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err), &extra->Err.Jump.ai,
605 if (extra->Err.Overlap.szB == 0) {
608 VG_(get_error_string)(err),
609 extra->Err.Overlap.dst, extra->Err.Overlap.src );
613 VG_(get_error_string)(err),
614 extra->Err.Overlap.dst, extra->Err.Overlap.src,
615 extra->Err.Overlap.szB );
617 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
619 if (extra->Err.Overlap.szB == 0) {
621 VG_(get_error_string)(err),
622 extra->Err.Overlap.dst, extra->Err.Overlap.src );
625 VG_(get_error_string)(err),
626 extra->Err.Overlap.dst, extra->Err.Overlap.src,
627 extra->Err.Overlap.szB );
629 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
639 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
640 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
641 &extra->Err.IllegalMempool.ai, False );
644 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
645 VG_(pp_addrinfo_mc)( VG_(get_error_address)(err),
646 &extra->Err.IllegalMempool.ai, False );
651 UInt n_this_record = extra->Err.Leak.n_this_record;
652 UInt n_total_records = extra->Err.Leak.n_total_records;
653 LossRecord* lr = extra->Err.Leak.lr;
660 VG_(get_error_kind)(err));
705 extra.Err.Addr.isWrite = isWrite;
706 extra.Err.Addr.szB = szB;
707 extra.Err.Addr.maybe_gcc = just_below_esp;
708 extra.Err.Addr.ai.tag = Addr_Undescribed;
718 extra.Err.Value.szB = szB;
719 extra.Err.Value.otag = otag;
720 extra.Err.Value.origin_ec = NULL; /* Filled in later */
730 extra.Err.Cond.otag = otag;
731 extra.Err.Cond.origin_ec = NULL; /* Filled in later */
749 extra.Err.RegParam.otag = otag;
750 extra.Err.RegParam.origin_ec = NULL; /* Filled in later */
765 extra.Err.MemParam.isAddrErr = isAddrErr;
766 extra.Err.MemParam.ai.tag = Addr_Undescribed;
767 extra.Err.MemParam.otag = otag;
768 extra.Err.MemParam.origin_ec = NULL; /* Filled in later */
776 extra.Err.Jump.ai.tag = Addr_Undescribed;
784 extra.Err.Free.ai.tag = Addr_Undescribed;
791 AddrInfo* ai = &extra.Err.FreeMismatch.ai;
808 extra.Err.IllegalMempool.ai.tag = Addr_Undescribed;
817 extra.Err.Overlap.src = src;
818 extra.Err.Overlap.dst = dst;
819 extra.Err.Overlap.szB = szB;
829 extra.Err.Leak.n_this_record = n_this_record;
830 extra.Err.Leak.n_total_records = n_total_records;
831 extra.Err.Leak.lr = lr;
850 extra.Err.User.isAddrErr = isAddrErr;
851 extra.Err.User.ai.tag = Addr_Undescribed;
852 extra.Err.User.otag = otag;
853 extra.Err.User.origin_ec = NULL; /* Filled in later */
896 return ( extra1->Err.User.isAddrErr == extra2->Err.User.isAddrErr
908 return ( extra1->Err.Addr.szB == extra2->Err.Addr.szB
912 return ( extra1->Err.Value.szB == extra2->Err.Value.szB
1025 UInt MC_(update_Error_extra)( Error* err )
1027 MC_Error* extra = VG_(get_error_extra)(err);
1029 switch (VG_(get_error_kind)(err)) {
1046 update_origin( &extra->Err.Value.origin_ec,
1047 extra->Err.Value.otag );
1050 update_origin( &extra->Err.Cond.origin_ec,
1051 extra->Err.Cond.otag );
1054 update_origin( &extra->Err.RegParam.origin_ec,
1055 extra->Err.RegParam.otag );
1060 describe_addr ( VG_(get_error_address)(err),
1061 &extra->Err.Addr.ai );
1064 describe_addr ( VG_(get_error_address)(err),
1065 &extra->Err.MemParam.ai );
1066 update_origin( &extra->Err.MemParam.origin_ec,
1067 extra->Err.MemParam.otag );
1070 describe_addr ( VG_(get_error_address)(err),
1071 &extra->Err.Jump.ai );
1074 describe_addr ( VG_(get_error_address)(err),
1075 &extra->Err.User.ai );
1076 update_origin( &extra->Err.User.origin_ec,
1077 extra->Err.User.otag );
1080 describe_addr ( VG_(get_error_address)(err),
1081 &extra->Err.Free.ai );
1084 describe_addr ( VG_(get_error_address)(err),
1085 &extra->Err.IllegalMempool.ai );
1094 extra->Err.FreeMismatch.ai.Addr.Block.block_kind);
1095 (void)client_block_maybe_describe( VG_(get_error_address)(err),
1096 &extra->Err.FreeMismatch.ai );
1272 Bool MC_(error_matches_suppression) ( Error* err, Supp* su )
1275 MC_Error* extra = VG_(get_error_extra)(err);
1276 ErrorKind ekind = VG_(get_error_kind )(err);
1281 && VG_STREQ(VG_(get_error_string)(err),
1289 && VG_STREQ(VG_(get_error_string)(err),
1298 return (ekind == Err_Value && extra->Err.Value.szB == su_szB);
1309 return (ekind == Err_Addr && extra->Err.Addr.szB == su_szB);
1330 return RiS(extra->Err.Leak.lr->key.state, lse->match_leak_kinds);
1346 const HChar* MC_(get_error_name) ( Error* err )
1348 switch (VG_(get_error_kind)(err)) {
1361 MC_Error* extra = VG_(get_error_extra)(err);
1362 switch ( extra->Err.Addr.szB ) {
1372 MC_Error* extra = VG_(get_error_extra)(err);
1373 switch ( extra->Err.Value.szB ) {
1386 Bool MC_(get_extra_suppression_info) ( Error* err,
1389 ErrorKind ekind = VG_(get_error_kind )(err);
1393 const HChar* errstr = VG_(get_error_string)(err);
1398 MC_Error* extra = VG_(get_error_extra)(err);
1401 pp_Reachedness_for_leak_kinds(extra->Err.Leak.lr->key.state));
1427 void MC_(update_extra_suppression_use) ( Error* err, Supp* su)
1431 MC_Error* extra = VG_(get_error_extra)(err);
1434 lse->blocks_suppressed += extra->Err.Leak.lr->num_blocks;
1436 += extra->Err.Leak.lr->szB + extra->Err.Leak.lr->indirect_szB;