VG_(details_avg_translation_sizeB) ( 135 );
VG_(needs_core_errors) ();
- VG_(needs_skin_errors) ();
+ VG_(needs_tool_errors) ();
VG_(needs_libc_freeres) ();
VG_(needs_command_line_options)();
VG_(needs_client_requests) ();
AM_MAINTAINER_MODE
# Where is VEX ? ToDo: --with-vex=
-VEX_DIR=/home/sewardj/Vex/vex/trunk
+VEX_DIR=/home/njn/vex/trunk
AC_SUBST(VEX_DIR)
# Checks for programs.
struct {
Bool libc_freeres;
Bool core_errors;
- Bool skin_errors;
+ Bool tool_errors;
Bool basic_block_discards;
Bool shadow_regs;
Bool command_line_options;
malloc'd blocks, etc.<p>
For example, if a tool wants the core's help in recording and reporting errors,
-it must set the <code>skin_errors</code> need to <code>True</code>, and then
+it must set the <code>tool_errors</code> need to <code>True</code>, and then
provide definitions of six functions for comparing errors, printing out errors,
reading suppressions from a suppressions file, etc. While writing these
functions requires some work, it's much less than doing error handling from
## (none needed)
## ------------------------------------------------------------------
-## VG_(needs).skin_errors
+## VG_(needs).tool_errors
## Identify if two errors are equal, or equal enough. `res' indicates how
## close is "close enough". `res' should be passed on as necessary, eg. if
return True;
return False;
default:
- if (VG_(needs).skin_errors)
+ if (VG_(needs).tool_errors)
return SK_(eq_SkinError)(res, e1, e2);
else {
- VG_(printf)("\nUnhandled error type: %u. VG_(needs).skin_errors\n"
+ VG_(printf)("\nUnhandled error type: %u. VG_(needs).tool_errors\n"
"probably needs to be set.\n",
e1->ekind);
VG_(skin_panic)("unhandled error type");
VG_(pp_ExeContext)(err->where);
break;
default:
- if (VG_(needs).skin_errors)
+ if (VG_(needs).tool_errors)
SK_(pp_SkinError)( err );
else {
- VG_(printf)("\nUnhandled error type: %u. VG_(needs).skin_errors\n"
+ VG_(printf)("\nUnhandled error type: %u. VG_(needs).tool_errors\n"
"probably needs to be set?\n",
err->ekind);
VG_(skin_panic)("unhandled error type");
*p = err;
/* update `extra', for non-core errors (core ones don't use 'extra') */
- if (VG_(needs).skin_errors && PThreadErr != ekind) {
+ if (VG_(needs).tool_errors && PThreadErr != ekind) {
extra_size = SK_(update_extra)(p);
/* copy block pointed to by `extra', if there is one */
}
/* Is it a tool suppression? */
- else if (VG_(needs).skin_errors &&
+ else if (VG_(needs).tool_errors &&
tool_name_present(VG_(details).name, tool_names))
{
if (SK_(recognised_suppression)(supp_name, supp))
continue;
}
- if (VG_(needs).skin_errors &&
+ if (VG_(needs).tool_errors &&
!SK_(read_extra_suppression_info)(fd, buf, N_BUF, supp))
goto syntax_error;
case PThreadSupp:
return (err->ekind == PThreadErr);
default:
- if (VG_(needs).skin_errors) {
+ if (VG_(needs).tool_errors) {
return SK_(error_matches_suppression)(err, su);
} else {
VG_(printf)(
- "\nUnhandled suppression type: %u. VG_(needs).skin_errors\n"
+ "\nUnhandled suppression type: %u. VG_(needs).tool_errors\n"
"probably needs to be set.\n",
err->ekind);
VG_(skin_panic)("unhandled suppression type");
}
if (VG_(clo_n_suppressions) < VG_CLO_MAX_SFILES-1 &&
- (VG_(needs).core_errors || VG_(needs).skin_errors)) {
+ (VG_(needs).core_errors || VG_(needs).tool_errors)) {
/* If there are no suppression files specified and the tool
needs one, load the default */
static const Char default_supp[] = "default.supp";
}
if (VG_(clo_gen_suppressions) &&
- !VG_(needs).core_errors && !VG_(needs).skin_errors) {
+ !VG_(needs).core_errors && !VG_(needs).tool_errors) {
VG_(message)(Vg_UserMsg,
"Can't use --gen-suppressions=yes with this tool,");
VG_(message)(Vg_UserMsg,
// Read suppression file
// p: process_cmd_line_options() [for VG_(clo_suppressions)]
//--------------------------------------------------------------
- if (VG_(needs).core_errors || VG_(needs).skin_errors)
+ if (VG_(needs).core_errors || VG_(needs).tool_errors)
VG_(load_suppressions)();
//--------------------------------------------------------------
if (VG_(clo_track_fds))
VG_(show_open_fds)();
- if (VG_(needs).core_errors || VG_(needs).skin_errors)
+ if (VG_(needs).core_errors || VG_(needs).tool_errors)
VG_(show_all_errors)();
SK_(fini)( exitcode );
VgNeeds VG_(needs) = {
.core_errors = False,
- .skin_errors = False,
+ .tool_errors = False,
.libc_freeres = False,
.basic_block_discards = False,
.shadow_regs = False,
NEEDS(libc_freeres)
NEEDS(core_errors)
-NEEDS(skin_errors)
+NEEDS(tool_errors)
NEEDS(basic_block_discards)
NEEDS(shadow_regs)
NEEDS(command_line_options)
VG_(details_avg_translation_sizeB) ( 115 );
VG_(needs_core_errors)();
- VG_(needs_skin_errors)();
+ VG_(needs_tool_errors)();
VG_(needs_data_syms)();
VG_(needs_client_requests)();
VG_(needs_command_line_options)();
lot like being a member of a type class. */
/* Want to report errors from tool? This implies use of suppressions, too. */
-extern void VG_(needs_skin_errors) ( void );
+extern void VG_(needs_tool_errors) ( void );
/* Is information kept about specific individual basic blocks? (Eg. for
cachegrind there are cost-centres for every instruction, stored at a
VG_(details_avg_translation_sizeB) ( 228 );
VG_(needs_core_errors) ();
- VG_(needs_skin_errors) ();
+ VG_(needs_tool_errors) ();
VG_(needs_libc_freeres) ();
VG_(needs_shadow_regs) ();
VG_(needs_command_line_options)();