mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
Constify the tool interface.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14642
This commit is contained in:
parent
aa351c61c1
commit
9d16aabb17
@ -147,27 +147,27 @@ struct _Error {
|
||||
};
|
||||
|
||||
|
||||
ExeContext* VG_(get_error_where) ( Error* err )
|
||||
ExeContext* VG_(get_error_where) ( const Error* err )
|
||||
{
|
||||
return err->where;
|
||||
}
|
||||
|
||||
ErrorKind VG_(get_error_kind) ( Error* err )
|
||||
ErrorKind VG_(get_error_kind) ( const Error* err )
|
||||
{
|
||||
return err->ekind;
|
||||
}
|
||||
|
||||
Addr VG_(get_error_address) ( Error* err )
|
||||
Addr VG_(get_error_address) ( const Error* err )
|
||||
{
|
||||
return err->addr;
|
||||
}
|
||||
|
||||
const HChar* VG_(get_error_string) ( Error* err )
|
||||
const HChar* VG_(get_error_string) ( const Error* err )
|
||||
{
|
||||
return err->string;
|
||||
}
|
||||
|
||||
void* VG_(get_error_extra) ( Error* err )
|
||||
void* VG_(get_error_extra) ( const Error* err )
|
||||
{
|
||||
return err->extra;
|
||||
}
|
||||
@ -246,17 +246,17 @@ struct _Supp {
|
||||
void* extra; // Anything else -- use is optional. NULL by default.
|
||||
};
|
||||
|
||||
SuppKind VG_(get_supp_kind) ( Supp* su )
|
||||
SuppKind VG_(get_supp_kind) ( const Supp* su )
|
||||
{
|
||||
return su->skind;
|
||||
}
|
||||
|
||||
HChar* VG_(get_supp_string) ( Supp* su )
|
||||
HChar* VG_(get_supp_string) ( const Supp* su )
|
||||
{
|
||||
return su->string;
|
||||
}
|
||||
|
||||
void* VG_(get_supp_extra) ( Supp* su )
|
||||
void* VG_(get_supp_extra) ( const Supp* su )
|
||||
{
|
||||
return su->extra;
|
||||
}
|
||||
|
||||
@ -227,18 +227,18 @@ void VG_(needs_superblock_discards)(
|
||||
}
|
||||
|
||||
void VG_(needs_tool_errors)(
|
||||
Bool (*eq) (VgRes, Error*, Error*),
|
||||
void (*before_pp) (Error*),
|
||||
void (*pp) (Error*),
|
||||
Bool (*eq) (VgRes, const Error*, const Error*),
|
||||
void (*before_pp) (const Error*),
|
||||
void (*pp) (const Error*),
|
||||
Bool show_TIDs,
|
||||
UInt (*update) (Error*),
|
||||
UInt (*update) (const Error*),
|
||||
Bool (*recog) (const HChar*, Supp*),
|
||||
Bool (*read_extra) (Int, HChar**, SizeT*, Int*, Supp*),
|
||||
Bool (*matches) (Error*, Supp*),
|
||||
const HChar* (*name) (Error*),
|
||||
SizeT (*get_xtra_si)(Error*,/*OUT*/HChar*,Int),
|
||||
SizeT (*print_xtra_su)(Supp*,/*OUT*/HChar*,Int),
|
||||
void (*update_xtra_su)(Error*, Supp*)
|
||||
Bool (*matches) (const Error*, const Supp*),
|
||||
const HChar* (*name) (const Error*),
|
||||
SizeT (*get_xtra_si)(const Error*,/*OUT*/HChar*,Int),
|
||||
SizeT (*print_xtra_su)(const Supp*,/*OUT*/HChar*,Int),
|
||||
void (*update_xtra_su)(const Error*, const Supp*)
|
||||
)
|
||||
{
|
||||
VG_(needs).tool_errors = True;
|
||||
|
||||
@ -118,19 +118,19 @@ typedef struct {
|
||||
// (none)
|
||||
|
||||
// VG_(needs).tool_errors
|
||||
Bool (*tool_eq_Error) (VgRes, Error*, Error*);
|
||||
void (*tool_before_pp_Error) (Error*);
|
||||
void (*tool_pp_Error) (Error*);
|
||||
Bool (*tool_eq_Error) (VgRes, const Error*, const Error*);
|
||||
void (*tool_before_pp_Error) (const Error*);
|
||||
void (*tool_pp_Error) (const Error*);
|
||||
Bool tool_show_ThreadIDs_for_errors;
|
||||
UInt (*tool_update_extra) (Error*);
|
||||
UInt (*tool_update_extra) (const Error*);
|
||||
Bool (*tool_recognised_suppression) (const HChar*, Supp*);
|
||||
Bool (*tool_read_extra_suppression_info) (Int, HChar**, SizeT*, Int*,
|
||||
Supp*);
|
||||
Bool (*tool_error_matches_suppression) (Error*, Supp*);
|
||||
const HChar* (*tool_get_error_name) (Error*);
|
||||
SizeT (*tool_get_extra_suppression_info) (Error*,/*OUT*/HChar*,Int);
|
||||
SizeT (*tool_print_extra_suppression_use) (Supp*,/*OUT*/HChar*,Int);
|
||||
void (*tool_update_extra_suppression_use) (Error*, Supp*);
|
||||
Bool (*tool_error_matches_suppression) (const Error*, const Supp*);
|
||||
const HChar* (*tool_get_error_name) (const Error*);
|
||||
SizeT (*tool_get_extra_suppression_info) (const Error*,/*OUT*/HChar*,Int);
|
||||
SizeT (*tool_print_extra_suppression_use) (const Supp*,/*OUT*/HChar*,Int);
|
||||
void (*tool_update_extra_suppression_use) (const Error*, const Supp*);
|
||||
|
||||
// VG_(needs).superblock_discards
|
||||
void (*tool_discard_superblock_info)(Addr64, VexGuestExtents);
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
|
||||
/* Local function declarations. */
|
||||
|
||||
static const HChar* drd_get_error_name(Error* e);
|
||||
static const HChar* drd_get_error_name(const Error* e);
|
||||
|
||||
|
||||
/* Local variables. */
|
||||
@ -151,7 +151,8 @@ static void first_observed(const Addr obj)
|
||||
}
|
||||
|
||||
static
|
||||
void drd_report_data_race(Error* const err, const DataRaceErrInfo* const dri)
|
||||
void drd_report_data_race(const Error* const err,
|
||||
const DataRaceErrInfo* const dri)
|
||||
{
|
||||
const Bool xml = VG_(clo_xml);
|
||||
const HChar* const what_prefix = xml ? " <what>" : "";
|
||||
@ -254,7 +255,8 @@ void drd_report_data_race(Error* const err, const DataRaceErrInfo* const dri)
|
||||
* if the error kind of e1 and e2 matches and if the ExeContext's of e1 and
|
||||
* e2 also match.
|
||||
*/
|
||||
static Bool drd_compare_error_contexts(VgRes res, Error* e1, Error* e2)
|
||||
static Bool drd_compare_error_contexts(VgRes res, const Error* e1,
|
||||
const Error* e2)
|
||||
{
|
||||
tl_assert(VG_(get_error_kind)(e1) == VG_(get_error_kind)(e2));
|
||||
|
||||
@ -282,7 +284,7 @@ static Bool drd_compare_error_contexts(VgRes res, Error* e1, Error* e2)
|
||||
* Called by the core just before an error message will be printed. Used by
|
||||
* DRD to print the thread number as a preamble.
|
||||
*/
|
||||
static void drd_tool_error_before_pp(Error* const e)
|
||||
static void drd_tool_error_before_pp(const Error* const e)
|
||||
{
|
||||
static DrdThreadId s_last_tid_printed = 1;
|
||||
DrdThreadId* err_extra;
|
||||
@ -296,7 +298,7 @@ static void drd_tool_error_before_pp(Error* const e)
|
||||
}
|
||||
|
||||
/** Report an error to the user. */
|
||||
static void drd_tool_error_pp(Error* const e)
|
||||
static void drd_tool_error_pp(const Error* const e)
|
||||
{
|
||||
const Bool xml = VG_(clo_xml);
|
||||
const HChar* const what_prefix = xml ? " <what>" : "";
|
||||
@ -460,7 +462,7 @@ static void drd_tool_error_pp(Error* const e)
|
||||
}
|
||||
}
|
||||
|
||||
static UInt drd_tool_error_update_extra(Error* e)
|
||||
static UInt drd_tool_error_update_extra(const Error* e)
|
||||
{
|
||||
switch (VG_(get_error_kind)(e))
|
||||
{
|
||||
@ -563,12 +565,13 @@ Bool drd_read_extra_suppression_info(Int fd, HChar** bufpp,
|
||||
* Determine whether or not the types of the given error message and the
|
||||
* given suppression match.
|
||||
*/
|
||||
static Bool drd_error_matches_suppression(Error* const e, Supp* const supp)
|
||||
static Bool drd_error_matches_suppression(const Error* const e,
|
||||
const Supp* const supp)
|
||||
{
|
||||
return VG_(get_supp_kind)(supp) == VG_(get_error_kind)(e);
|
||||
}
|
||||
|
||||
static const HChar* drd_get_error_name(Error* e)
|
||||
static const HChar* drd_get_error_name(const Error* e)
|
||||
{
|
||||
switch (VG_(get_error_kind)(e))
|
||||
{
|
||||
@ -600,7 +603,7 @@ static const HChar* drd_get_error_name(Error* e)
|
||||
* define any 'extra' suppression information.
|
||||
*/
|
||||
static
|
||||
SizeT drd_get_extra_suppression_info(Error* e,
|
||||
SizeT drd_get_extra_suppression_info(const Error* e,
|
||||
/*OUT*/HChar* buf, Int nBuf)
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -609,7 +612,7 @@ SizeT drd_get_extra_suppression_info(Error* e,
|
||||
}
|
||||
|
||||
static
|
||||
SizeT drd_print_extra_suppression_use(Supp* su,
|
||||
SizeT drd_print_extra_suppression_use(const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf)
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -618,7 +621,7 @@ SizeT drd_print_extra_suppression_use(Supp* su,
|
||||
}
|
||||
|
||||
static
|
||||
void drd_update_extra_suppresion_use(Error* e, Supp* supp)
|
||||
void drd_update_extra_suppresion_use(const Error* e, const Supp* supp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ void h_record_sysparam_error( ThreadId tid, CorePart part, const HChar* s,
|
||||
}
|
||||
|
||||
|
||||
Bool pc_eq_Error ( VgRes res, Error* e1, Error* e2 )
|
||||
Bool pc_eq_Error ( VgRes res, const Error* e1, const Error* e2 )
|
||||
{
|
||||
XError *xe1, *xe2;
|
||||
tl_assert(VG_(get_error_kind)(e1) == VG_(get_error_kind)(e2));
|
||||
@ -262,7 +262,7 @@ Bool pc_eq_Error ( VgRes res, Error* e1, Error* e2 )
|
||||
look at it any print any preamble you want" function. Which, in
|
||||
Ptrcheck, we don't use. Hence a no-op.
|
||||
*/
|
||||
void pc_before_pp_Error ( Error* err ) {
|
||||
void pc_before_pp_Error ( const Error* err ) {
|
||||
}
|
||||
|
||||
/* Do a printf-style operation on either the XML or normal output
|
||||
@ -302,7 +302,7 @@ static Word Word__abs ( Word w ) {
|
||||
return w < 0 ? -w : w;
|
||||
}
|
||||
|
||||
void pc_pp_Error ( Error* err )
|
||||
void pc_pp_Error ( const Error* err )
|
||||
{
|
||||
const Bool xml = VG_(clo_xml); /* a shorthand, that's all */
|
||||
|
||||
@ -647,7 +647,7 @@ void pc_pp_Error ( Error* err )
|
||||
}
|
||||
|
||||
|
||||
UInt pc_update_Error_extra ( Error* err )
|
||||
UInt pc_update_Error_extra ( const Error* err )
|
||||
{
|
||||
XError *xe = (XError*)VG_(get_error_extra)(err);
|
||||
tl_assert(xe);
|
||||
@ -736,7 +736,8 @@ Bool pc_is_recognised_suppression ( const HChar* name, Supp *su )
|
||||
}
|
||||
|
||||
Bool pc_read_extra_suppression_info ( Int fd, HChar** bufpp,
|
||||
SizeT* nBufp, Int* lineno, Supp* su )
|
||||
SizeT* nBufp, Int* lineno,
|
||||
Supp* su )
|
||||
{
|
||||
Bool eof;
|
||||
if (VG_(get_supp_kind)(su) == XS_SysParam) {
|
||||
@ -747,7 +748,7 @@ Bool pc_read_extra_suppression_info ( Int fd, HChar** bufpp,
|
||||
return True;
|
||||
}
|
||||
|
||||
Bool pc_error_matches_suppression (Error* err, Supp* su)
|
||||
Bool pc_error_matches_suppression (const Error* err, const Supp* su)
|
||||
{
|
||||
ErrorKind ekind = VG_(get_error_kind)(err);
|
||||
switch (VG_(get_supp_kind)(su)) {
|
||||
@ -764,7 +765,7 @@ Bool pc_error_matches_suppression (Error* err, Supp* su)
|
||||
}
|
||||
}
|
||||
|
||||
const HChar* pc_get_error_name ( Error* err )
|
||||
const HChar* pc_get_error_name ( const Error* err )
|
||||
{
|
||||
XError *xe = (XError*)VG_(get_error_extra)(err);
|
||||
tl_assert(xe);
|
||||
@ -777,7 +778,7 @@ const HChar* pc_get_error_name ( Error* err )
|
||||
}
|
||||
}
|
||||
|
||||
SizeT pc_get_extra_suppression_info ( Error* err,
|
||||
SizeT pc_get_extra_suppression_info ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf )
|
||||
{
|
||||
ErrorKind ekind = VG_(get_error_kind )(err);
|
||||
@ -794,7 +795,7 @@ SizeT pc_get_extra_suppression_info ( Error* err,
|
||||
}
|
||||
}
|
||||
|
||||
SizeT pc_print_extra_suppression_use ( Supp* su,
|
||||
SizeT pc_print_extra_suppression_use ( const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf )
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -802,7 +803,7 @@ SizeT pc_print_extra_suppression_use ( Supp* su,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pc_update_extra_suppression_use (Error* err, Supp* su)
|
||||
void pc_update_extra_suppression_use (const Error* err, const Supp* su)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@ -47,20 +47,20 @@ void h_record_arith_error( Seg* seg1, Seg* seg2, HChar* opname );
|
||||
void h_record_sysparam_error( ThreadId tid, CorePart part, const HChar* s,
|
||||
Addr lo, Addr hi, Seg* seglo, Seg* seghi );
|
||||
|
||||
Bool pc_eq_Error ( VgRes res, Error* e1, Error* e2 );
|
||||
void pc_before_pp_Error ( Error* err );
|
||||
void pc_pp_Error ( Error* err );
|
||||
UInt pc_update_Error_extra ( Error* err );
|
||||
Bool pc_eq_Error ( VgRes res, const Error* e1, const Error* e2 );
|
||||
void pc_before_pp_Error ( const Error* err );
|
||||
void pc_pp_Error ( const Error* err );
|
||||
UInt pc_update_Error_extra ( const Error* err );
|
||||
Bool pc_is_recognised_suppression ( const HChar* name, Supp *su );
|
||||
Bool pc_read_extra_suppression_info ( Int fd, HChar** bufpp,
|
||||
SizeT* nBufp, Int* lineno, Supp* su );
|
||||
Bool pc_error_matches_suppression (Error* err, Supp* su);
|
||||
const HChar* pc_get_error_name ( Error* err );
|
||||
SizeT pc_get_extra_suppression_info ( Error* err,
|
||||
Bool pc_error_matches_suppression (const Error* err, const Supp* su);
|
||||
const HChar* pc_get_error_name ( const Error* err );
|
||||
SizeT pc_get_extra_suppression_info ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
SizeT pc_print_extra_suppression_use ( Supp* su,
|
||||
SizeT pc_print_extra_suppression_use ( const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
void pc_update_extra_suppression_use (Error* err, Supp* su);
|
||||
void pc_update_extra_suppression_use (const Error* err, const Supp* su);
|
||||
|
||||
extern Bool h_clo_partial_loads_ok;
|
||||
/* extern Bool h_clo_lossage_check; */
|
||||
|
||||
@ -371,7 +371,7 @@ typedef
|
||||
|
||||
|
||||
/* Updates the copy with address info if necessary. */
|
||||
UInt HG_(update_extra) ( Error* err )
|
||||
UInt HG_(update_extra) ( const Error* err )
|
||||
{
|
||||
XError* xe = (XError*)VG_(get_error_extra)(err);
|
||||
tl_assert(xe);
|
||||
@ -637,7 +637,7 @@ void HG_(record_error_Misc) ( Thread* thr, const HChar* errstr )
|
||||
HG_(record_error_Misc_w_aux)(thr, errstr, NULL, NULL);
|
||||
}
|
||||
|
||||
Bool HG_(eq_Error) ( VgRes not_used, Error* e1, Error* e2 )
|
||||
Bool HG_(eq_Error) ( VgRes not_used, const Error* e1, const Error* e2 )
|
||||
{
|
||||
XError *xe1, *xe2;
|
||||
|
||||
@ -843,7 +843,7 @@ static void show_LockP_summary_textmode ( Lock** locks, const HChar* pre )
|
||||
announce any previously un-announced threads in the upcoming error
|
||||
message.
|
||||
*/
|
||||
void HG_(before_pp_Error) ( Error* err )
|
||||
void HG_(before_pp_Error) ( const Error* err )
|
||||
{
|
||||
XError* xe;
|
||||
tl_assert(err);
|
||||
@ -893,7 +893,7 @@ void HG_(before_pp_Error) ( Error* err )
|
||||
}
|
||||
}
|
||||
|
||||
void HG_(pp_Error) ( Error* err )
|
||||
void HG_(pp_Error) ( const Error* err )
|
||||
{
|
||||
const Bool xml = VG_(clo_xml); /* a shorthand, that's all */
|
||||
|
||||
@ -1252,7 +1252,7 @@ void HG_(pp_Error) ( Error* err )
|
||||
} /* switch (VG_(get_error_kind)(err)) */
|
||||
}
|
||||
|
||||
const HChar* HG_(get_error_name) ( Error* err )
|
||||
const HChar* HG_(get_error_name) ( const Error* err )
|
||||
{
|
||||
switch (VG_(get_error_kind)(err)) {
|
||||
case XE_Race: return "Race";
|
||||
@ -1293,7 +1293,7 @@ Bool HG_(read_extra_suppression_info) ( Int fd, HChar** bufpp, SizeT* nBufp,
|
||||
return True;
|
||||
}
|
||||
|
||||
Bool HG_(error_matches_suppression) ( Error* err, Supp* su )
|
||||
Bool HG_(error_matches_suppression) ( const Error* err, const Supp* su )
|
||||
{
|
||||
switch (VG_(get_supp_kind)(su)) {
|
||||
case XS_Race: return VG_(get_error_kind)(err) == XE_Race;
|
||||
@ -1308,7 +1308,7 @@ Bool HG_(error_matches_suppression) ( Error* err, Supp* su )
|
||||
}
|
||||
}
|
||||
|
||||
SizeT HG_(get_extra_suppression_info) ( Error* err,
|
||||
SizeT HG_(get_extra_suppression_info) ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf )
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -1317,7 +1317,7 @@ SizeT HG_(get_extra_suppression_info) ( Error* err,
|
||||
return 0;
|
||||
}
|
||||
|
||||
SizeT HG_(print_extra_suppression_use) ( Supp* su,
|
||||
SizeT HG_(print_extra_suppression_use) ( const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf )
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -1326,7 +1326,7 @@ SizeT HG_(print_extra_suppression_use) ( Supp* su,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void HG_(update_extra_suppression_use) ( Error* err, Supp* su )
|
||||
void HG_(update_extra_suppression_use) ( const Error* err, const Supp* su )
|
||||
{
|
||||
/* Do nothing */
|
||||
return;
|
||||
|
||||
@ -35,20 +35,20 @@
|
||||
|
||||
/* The standard bundle of error management functions that we are
|
||||
required to present to the core/tool interface at startup. */
|
||||
Bool HG_(eq_Error) ( VgRes not_used, Error* e1, Error* e2 );
|
||||
void HG_(before_pp_Error) ( Error* err );
|
||||
void HG_(pp_Error) ( Error* err );
|
||||
UInt HG_(update_extra) ( Error* err );
|
||||
Bool HG_(eq_Error) ( VgRes not_used, const Error* e1, const Error* e2 );
|
||||
void HG_(before_pp_Error) ( const Error* err );
|
||||
void HG_(pp_Error) ( const Error* err );
|
||||
UInt HG_(update_extra) ( const Error* err );
|
||||
Bool HG_(recognised_suppression) ( const HChar* name, Supp *su );
|
||||
Bool HG_(read_extra_suppression_info) ( Int fd, HChar** bufpp, SizeT* nBufp,
|
||||
Int* lineno, Supp* su );
|
||||
Bool HG_(error_matches_suppression) ( Error* err, Supp* su );
|
||||
const HChar* HG_(get_error_name) ( Error* err );
|
||||
SizeT HG_(get_extra_suppression_info) ( Error* err,
|
||||
Bool HG_(error_matches_suppression) ( const Error* err, const Supp* su );
|
||||
const HChar* HG_(get_error_name) ( const Error* err );
|
||||
SizeT HG_(get_extra_suppression_info) ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
SizeT HG_(print_extra_suppression_use) ( Supp* su,
|
||||
SizeT HG_(print_extra_suppression_use) ( const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
void HG_(update_extra_suppression_use) ( Error* err, Supp* su );
|
||||
void HG_(update_extra_suppression_use) ( const Error* err, const Supp* su );
|
||||
|
||||
/* Functions for recording various kinds of errors. */
|
||||
void HG_(record_error_Race) ( Thread* thr,
|
||||
|
||||
@ -56,11 +56,11 @@ typedef
|
||||
|
||||
/* Useful in VG_(tdict).tool_error_matches_suppression(),
|
||||
* VG_(tdict).tool_pp_Error(), etc */
|
||||
ExeContext* VG_(get_error_where) ( Error* err );
|
||||
ErrorKind VG_(get_error_kind) ( Error* err );
|
||||
Addr VG_(get_error_address) ( Error* err );
|
||||
const HChar* VG_(get_error_string) ( Error* err );
|
||||
void* VG_(get_error_extra) ( Error* err );
|
||||
ExeContext* VG_(get_error_where) ( const Error* err );
|
||||
ErrorKind VG_(get_error_kind) ( const Error* err );
|
||||
Addr VG_(get_error_address) ( const Error* err );
|
||||
const HChar* VG_(get_error_string) ( const Error* err );
|
||||
void* VG_(get_error_extra) ( const Error* err );
|
||||
|
||||
/* Call this when an error occurs. It will be recorded if it hasn't been
|
||||
seen before. If it has, the existing error record will have its count
|
||||
@ -127,9 +127,9 @@ typedef
|
||||
Supp;
|
||||
|
||||
/* Useful in VG_(tdict).tool_error_matches_suppression() */
|
||||
SuppKind VG_(get_supp_kind) ( Supp* su );
|
||||
HChar* VG_(get_supp_string) ( Supp* su );
|
||||
void* VG_(get_supp_extra) ( Supp* su );
|
||||
SuppKind VG_(get_supp_kind) ( const Supp* su );
|
||||
HChar* VG_(get_supp_string) ( const Supp* su );
|
||||
void* VG_(get_supp_extra) ( const Supp* su );
|
||||
|
||||
/* Must be used in VG_(recognised_suppression)() */
|
||||
void VG_(set_supp_kind) ( Supp* su, SuppKind suppkind );
|
||||
|
||||
@ -284,7 +284,7 @@ extern void VG_(needs_tool_errors) (
|
||||
// passed to VG_(eq_ExeContext)() if the ExeContexts are considered. Other
|
||||
// than that, probably don't worry about it unless you have lots of very
|
||||
// similar errors occurring.
|
||||
Bool (*eq_Error)(VgRes res, Error* e1, Error* e2),
|
||||
Bool (*eq_Error)(VgRes res, const Error* e1, const Error* e2),
|
||||
|
||||
// We give tools a chance to have a look at errors
|
||||
// just before they are printed. That is, before_pp_Error is
|
||||
@ -294,10 +294,10 @@ extern void VG_(needs_tool_errors) (
|
||||
// is printed. This functionality was added to allow Helgrind to
|
||||
// print thread-announcement messages immediately before the
|
||||
// errors that refer to them.
|
||||
void (*before_pp_Error)(Error* err),
|
||||
void (*before_pp_Error)(const Error* err),
|
||||
|
||||
// Print error context.
|
||||
void (*pp_Error)(Error* err),
|
||||
void (*pp_Error)(const Error* err),
|
||||
|
||||
// Should the core indicate which ThreadId each error comes from?
|
||||
Bool show_ThreadIDs_for_errors,
|
||||
@ -309,7 +309,7 @@ extern void VG_(needs_tool_errors) (
|
||||
// Yuk.
|
||||
// Return value: must be the size of the `extra' part in bytes -- used by
|
||||
// the core to make a copy.
|
||||
UInt (*update_extra)(Error* err),
|
||||
UInt (*update_extra)(const Error* err),
|
||||
|
||||
// Return value indicates recognition. If recognised, must set skind using
|
||||
// VG_(set_supp_kind)().
|
||||
@ -326,12 +326,12 @@ extern void VG_(needs_tool_errors) (
|
||||
// This should just check the kinds match and maybe some stuff in the
|
||||
// `string' and `extra' field if appropriate (using VG_(get_supp_*)() to
|
||||
// get the relevant suppression parts).
|
||||
Bool (*error_matches_suppression)(Error* err, Supp* su),
|
||||
Bool (*error_matches_suppression)(const Error* err, const Supp* su),
|
||||
|
||||
// This should return the suppression name, for --gen-suppressions, or NULL
|
||||
// if that error type cannot be suppressed. This is the inverse of
|
||||
// VG_(tdict).tool_recognised_suppression().
|
||||
const HChar* (*get_error_name)(Error* err),
|
||||
const HChar* (*get_error_name)(const Error* err),
|
||||
|
||||
// This should print into buf[0..nBuf-1] any extra info for the
|
||||
// error, for --gen-suppressions, but not including any leading
|
||||
@ -340,13 +340,13 @@ extern void VG_(needs_tool_errors) (
|
||||
// including the terminating null character the function shall
|
||||
// return the value that strlen would return for the string.
|
||||
// If the buffer is too small the function shall return nBuf.
|
||||
SizeT (*print_extra_suppression_info)(Error* err,
|
||||
SizeT (*print_extra_suppression_info)(const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf),
|
||||
|
||||
// This is similar to print_extra_suppression_info, but is used
|
||||
// to print information such as additional statistical counters
|
||||
// as part of the used suppression list produced by -v.
|
||||
SizeT (*print_extra_suppression_use)(Supp* su,
|
||||
SizeT (*print_extra_suppression_use)(const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf),
|
||||
|
||||
// Called by error mgr once it has been established that err
|
||||
@ -354,7 +354,7 @@ extern void VG_(needs_tool_errors) (
|
||||
// can be used to update suppression extra information such as
|
||||
// some statistical counters that will be printed by
|
||||
// print_extra_suppression_use.
|
||||
void (*update_extra_suppression_use)(Error* err, Supp* su)
|
||||
void (*update_extra_suppression_use)(const Error* err, const Supp* su)
|
||||
);
|
||||
|
||||
/* Is information kept by the tool about specific instructions or
|
||||
|
||||
@ -200,7 +200,7 @@ struct _MC_Error {
|
||||
look at it any print any preamble you want" function. Which, in
|
||||
Memcheck, we don't use. Hence a no-op.
|
||||
*/
|
||||
void MC_(before_pp_Error) ( Error* err ) {
|
||||
void MC_(before_pp_Error) ( const Error* err ) {
|
||||
}
|
||||
|
||||
/* Do a printf-style operation on either the XML or normal output
|
||||
@ -410,7 +410,7 @@ void MC_(pp_LossRecord)(UInt n_this_record, UInt n_total_records,
|
||||
pp_LossRecord (n_this_record, n_total_records, l, /* xml */ False);
|
||||
}
|
||||
|
||||
void MC_(pp_Error) ( Error* err )
|
||||
void MC_(pp_Error) ( const Error* err )
|
||||
{
|
||||
const Bool xml = VG_(clo_xml); /* a shorthand */
|
||||
MC_Error* extra = VG_(get_error_extra)(err);
|
||||
@ -931,7 +931,7 @@ void MC_(record_user_error) ( ThreadId tid, Addr a,
|
||||
/* Compare error contexts, to detect duplicates. Note that if they
|
||||
are otherwise the same, the faulting addrs and associated rwoffsets
|
||||
are allowed to be different. */
|
||||
Bool MC_(eq_Error) ( VgRes res, Error* e1, Error* e2 )
|
||||
Bool MC_(eq_Error) ( VgRes res, const Error* e1, const Error* e2 )
|
||||
{
|
||||
MC_Error* extra1 = VG_(get_error_extra)(e1);
|
||||
MC_Error* extra2 = VG_(get_error_extra)(e2);
|
||||
@ -1100,7 +1100,7 @@ static void update_origin ( /*OUT*/ExeContext** origin_ec,
|
||||
}
|
||||
|
||||
/* Updates the copy with address info if necessary (but not for all errors). */
|
||||
UInt MC_(update_Error_extra)( Error* err )
|
||||
UInt MC_(update_Error_extra)( const Error* err )
|
||||
{
|
||||
MC_Error* extra = VG_(get_error_extra)(err);
|
||||
|
||||
@ -1386,7 +1386,7 @@ Bool MC_(read_extra_suppression_info) ( Int fd, HChar** bufpp,
|
||||
return True;
|
||||
}
|
||||
|
||||
Bool MC_(error_matches_suppression) ( Error* err, Supp* su )
|
||||
Bool MC_(error_matches_suppression) ( const Error* err, const Supp* su )
|
||||
{
|
||||
Int su_szB;
|
||||
MC_Error* extra = VG_(get_error_extra)(err);
|
||||
@ -1470,7 +1470,7 @@ Bool MC_(error_matches_suppression) ( Error* err, Supp* su )
|
||||
}
|
||||
}
|
||||
|
||||
const HChar* MC_(get_error_name) ( Error* err )
|
||||
const HChar* MC_(get_error_name) ( const Error* err )
|
||||
{
|
||||
switch (VG_(get_error_kind)(err)) {
|
||||
case Err_RegParam: return "Param";
|
||||
@ -1511,7 +1511,7 @@ const HChar* MC_(get_error_name) ( Error* err )
|
||||
}
|
||||
}
|
||||
|
||||
SizeT MC_(get_extra_suppression_info) ( Error* err,
|
||||
SizeT MC_(get_extra_suppression_info) ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf )
|
||||
{
|
||||
ErrorKind ekind = VG_(get_error_kind )(err);
|
||||
@ -1537,7 +1537,7 @@ SizeT MC_(get_extra_suppression_info) ( Error* err,
|
||||
}
|
||||
}
|
||||
|
||||
SizeT MC_(print_extra_suppression_use) ( Supp *su,
|
||||
SizeT MC_(print_extra_suppression_use) ( const Supp *su,
|
||||
/*OUT*/HChar *buf, Int nBuf )
|
||||
{
|
||||
tl_assert(nBuf >= 1);
|
||||
@ -1558,7 +1558,7 @@ SizeT MC_(print_extra_suppression_use) ( Supp *su,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MC_(update_extra_suppression_use) ( Error* err, Supp* su)
|
||||
void MC_(update_extra_suppression_use) ( const Error* err, const Supp* su)
|
||||
{
|
||||
if (VG_(get_supp_kind)(su) == LeakSupp) {
|
||||
MC_LeakSuppExtra *lse = (MC_LeakSuppExtra*) VG_(get_supp_extra) (su);
|
||||
|
||||
@ -393,25 +393,25 @@ extern Bool MC_(any_value_errors);
|
||||
|
||||
/* Standard functions for error and suppressions as required by the
|
||||
core/tool iface */
|
||||
Bool MC_(eq_Error) ( VgRes res, Error* e1, Error* e2 );
|
||||
void MC_(before_pp_Error) ( Error* err );
|
||||
void MC_(pp_Error) ( Error* err );
|
||||
UInt MC_(update_Error_extra) ( Error* err );
|
||||
Bool MC_(eq_Error) ( VgRes res, const Error* e1, const Error* e2 );
|
||||
void MC_(before_pp_Error) ( const Error* err );
|
||||
void MC_(pp_Error) ( const Error* err );
|
||||
UInt MC_(update_Error_extra) ( const Error* err );
|
||||
|
||||
Bool MC_(is_recognised_suppression) ( const HChar* name, Supp* su );
|
||||
|
||||
Bool MC_(read_extra_suppression_info) ( Int fd, HChar** buf,
|
||||
SizeT* nBuf, Int* lineno, Supp *su );
|
||||
|
||||
Bool MC_(error_matches_suppression) ( Error* err, Supp* su );
|
||||
Bool MC_(error_matches_suppression) ( const Error* err, const Supp* su );
|
||||
|
||||
SizeT MC_(get_extra_suppression_info) ( Error* err,
|
||||
SizeT MC_(get_extra_suppression_info) ( const Error* err,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
SizeT MC_(print_extra_suppression_use) ( Supp* su,
|
||||
SizeT MC_(print_extra_suppression_use) ( const Supp* su,
|
||||
/*OUT*/HChar* buf, Int nBuf );
|
||||
void MC_(update_extra_suppression_use) ( Error* err, Supp* su );
|
||||
void MC_(update_extra_suppression_use) ( const Error* err, const Supp* su );
|
||||
|
||||
const HChar* MC_(get_error_name) ( Error* err );
|
||||
const HChar* MC_(get_error_name) ( const Error* err );
|
||||
|
||||
/* Recording of errors */
|
||||
void MC_(record_address_error) ( ThreadId tid, Addr a, Int szB,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user