~bkerensa/ubuntu/raring/valgrind/merge-from-deb

« back to all changes in this revision

Viewing changes to coregrind/pub_core_tooliface.h

  • Committer: Bazaar Package Importer
  • Author(s): Andrés Roldán
  • Date: 2008-06-13 02:31:40 UTC
  • mto: (1.4.1 upstream) (2.2.1 squeeze)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: james.westby@ubuntu.com-20080613023140-iwk33rz9rhvfkr96
Import upstream version 3.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
   This file is part of Valgrind, a dynamic binary instrumentation
8
8
   framework.
9
9
 
10
 
   Copyright (C) 2000-2006 Julian Seward
 
10
   Copyright (C) 2000-2007 Julian Seward
11
11
      jseward@acm.org
12
12
 
13
13
   This program is free software; you can redistribute it and/or
83
83
      Bool libc_freeres;
84
84
      Bool core_errors;
85
85
      Bool tool_errors;
86
 
      Bool basic_block_discards;
 
86
      Bool superblock_discards;
87
87
      Bool command_line_options;
88
88
      Bool client_requests;
89
89
      Bool syscall_wrapper;
91
91
      Bool data_syms;
92
92
      Bool malloc_replacement;
93
93
      Bool xml_output;
 
94
      Bool final_IR_tidy_pass;
94
95
   } 
95
96
   VgNeeds;
96
97
 
105
106
   // Basic functions
106
107
   void  (*tool_pre_clo_init) (void);
107
108
   void  (*tool_post_clo_init)(void);
108
 
   IRBB* (*tool_instrument)   (VgCallbackClosure*,
109
 
                               IRBB*, 
 
109
   IRSB* (*tool_instrument)   (VgCallbackClosure*,
 
110
                               IRSB*, 
110
111
                               VexGuestLayout*, VexGuestExtents*, 
111
112
                               IRType, IRType);
112
113
   void  (*tool_fini)         (Int);
117
118
   // VG_(needs).tool_errors
118
119
   Bool  (*tool_eq_Error)                    (VgRes, Error*, Error*);
119
120
   void  (*tool_pp_Error)                    (Error*);
 
121
   Bool  tool_show_ThreadIDs_for_errors;
120
122
   UInt  (*tool_update_extra)                (Error*);
121
123
   Bool  (*tool_recognised_suppression)      (Char*, Supp*);
122
124
   Bool  (*tool_read_extra_suppression_info) (Int, Char*, Int, Supp*);
124
126
   Char* (*tool_get_error_name)              (Error*);
125
127
   void  (*tool_print_extra_suppression_info)(Error*);
126
128
 
127
 
   // VG_(needs).basic_block_discards
128
 
   void (*tool_discard_basic_block_info)(Addr64, VexGuestExtents);
 
129
   // VG_(needs).superblock_discards
 
130
   void (*tool_discard_superblock_info)(Addr64, VexGuestExtents);
129
131
 
130
132
   // VG_(needs).command_line_options
131
133
   Bool (*tool_process_cmd_line_option)(Char*);
155
157
   void* (*tool_realloc)             (ThreadId, void*, SizeT);
156
158
   SizeT tool_client_redzone_szB;
157
159
 
 
160
   // VG_(needs).final_IR_tidy_pass
 
161
   IRSB* (*tool_final_IR_tidy_pass)  (IRSB*);
 
162
 
158
163
   // -- Event tracking functions ------------------------------------
159
164
   void (*track_new_mem_startup)     (Addr, SizeT, Bool, Bool, Bool);
160
165
   void (*track_new_mem_stack_signal)(Addr, SizeT);
200
205
   void (*track_post_reg_write)(CorePart, ThreadId,        OffT, SizeT);
201
206
   void (*track_post_reg_write_clientcall_return)(ThreadId, OffT, SizeT, Addr);
202
207
 
203
 
   void (*track_thread_run)(ThreadId);
204
 
 
205
 
   void (*track_post_thread_create)(ThreadId, ThreadId);
206
 
   void (*track_post_thread_join)  (ThreadId, ThreadId);
207
 
 
208
 
   void (*track_pre_mutex_lock)   (ThreadId, void*);
209
 
   void (*track_post_mutex_lock)  (ThreadId, void*);
210
 
   void (*track_post_mutex_unlock)(ThreadId, void*);
 
208
   void (*track_start_client_code)(ThreadId, ULong);
 
209
   void (*track_stop_client_code) (ThreadId, ULong);
 
210
 
 
211
   void (*track_pre_thread_ll_create)(ThreadId, ThreadId);
 
212
   void (*track_pre_thread_first_insn)(ThreadId);
 
213
   void (*track_pre_thread_ll_exit)  (ThreadId);
211
214
 
212
215
   void (*track_pre_deliver_signal) (ThreadId, Int sigNo, Bool);
213
216
   void (*track_post_deliver_signal)(ThreadId, Int sigNo);