mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
Ripple from constifying parameters of instrumentation functions and
callbacks from VexTranslateArgs. See VEX r2958. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14564
This commit is contained in:
parent
faee9f43f1
commit
e383c673dd
@ -1048,9 +1048,9 @@ void addEvent_Bi ( CgState* cgs, InstrInfo* inode, IRAtom* whereTo )
|
||||
static
|
||||
IRSB* cg_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i, isize;
|
||||
|
||||
@ -950,10 +950,10 @@ void addBBSetupCall(ClgState* clgs)
|
||||
|
||||
static
|
||||
IRSB* CLG_(instrument)( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
IRSB* sbIn,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i;
|
||||
|
||||
@ -483,7 +483,7 @@ Bool VG_(is_watched)(PointKind kind, Addr addr, Int szB)
|
||||
}
|
||||
|
||||
/* Returns the reason for which gdbserver instrumentation is needed */
|
||||
static VgVgdb VG_(gdbserver_instrumentation_needed) (VexGuestExtents* vge)
|
||||
static VgVgdb VG_(gdbserver_instrumentation_needed) (const VexGuestExtents* vge)
|
||||
{
|
||||
GS_Address* g;
|
||||
int e;
|
||||
@ -1088,8 +1088,8 @@ void VG_(helperc_invalidate_if_not_gdbserved) ( Addr addr )
|
||||
|
||||
static void VG_(add_stmt_call_invalidate_if_not_gdbserved)
|
||||
( IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
IRTemp jmp,
|
||||
IRSB* irsb)
|
||||
{
|
||||
@ -1126,8 +1126,8 @@ static void VG_(add_stmt_call_invalidate_if_not_gdbserved)
|
||||
debugger statement will be inserted for all instructions of a block. */
|
||||
static void VG_(add_stmt_call_gdbserver)
|
||||
(IRSB* sb_in, /* block being translated */
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
IRType gWordTy, IRType hWordTy,
|
||||
Addr iaddr, /* Addr of instruction being instrumented */
|
||||
UChar delta, /* delta to add to iaddr to obtain IP */
|
||||
@ -1201,8 +1201,8 @@ static void VG_(add_stmt_call_gdbserver)
|
||||
or VG_(add_stmt_call_invalidate_if_not_gdbserved). */
|
||||
static void VG_(add_stmt_call_invalidate_exit_target_if_not_gdbserved)
|
||||
(IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
IRType gWordTy,
|
||||
IRSB* irsb)
|
||||
{
|
||||
@ -1220,8 +1220,8 @@ static void VG_(add_stmt_call_invalidate_exit_target_if_not_gdbserved)
|
||||
|
||||
IRSB* VG_(instrument_for_gdbserver_if_needed)
|
||||
(IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
IRType gWordTy, IRType hWordTy)
|
||||
{
|
||||
IRSB* sb_out;
|
||||
|
||||
@ -41,8 +41,8 @@ VgToolInterface VG_(tdict);
|
||||
void VG_(basic_tool_funcs)(
|
||||
void(*post_clo_init)(void),
|
||||
IRSB*(*instrument)(VgCallbackClosure*, IRSB*,
|
||||
VexGuestLayout*, VexGuestExtents*, VexArchInfo*,
|
||||
IRType, IRType),
|
||||
const VexGuestLayout*, const VexGuestExtents*,
|
||||
const VexArchInfo*, IRType, IRType),
|
||||
void(*fini)(Int)
|
||||
)
|
||||
{
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
|
||||
#include "pub_core_execontext.h" // VG_(make_depth_1_ExeContext_from_Addr)
|
||||
|
||||
#include "pub_core_gdbserver.h" // VG_(tool_instrument_then_gdbserver_if_needed)
|
||||
#include "pub_core_gdbserver.h" // VG_(instrument_for_gdbserver_if_needed)
|
||||
|
||||
#include "libvex_emnote.h" // For PPC, EmWarn_PPC64_redir_underflow
|
||||
|
||||
@ -219,10 +219,10 @@ static IRExpr* mk_ecu_Expr ( Addr64 guest_IP )
|
||||
*/
|
||||
static
|
||||
IRSB* tool_instrument_then_gdbserver_if_needed ( VgCallbackClosure* closureV,
|
||||
IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* vai,
|
||||
IRSB* sb_in,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* vai,
|
||||
IRType gWordTy,
|
||||
IRType hWordTy )
|
||||
{
|
||||
@ -261,9 +261,9 @@ IRSB* tool_instrument_then_gdbserver_if_needed ( VgCallbackClosure* closureV,
|
||||
static
|
||||
IRSB* vg_SP_update_pass ( void* closureV,
|
||||
IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* vai,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* vai,
|
||||
IRType gWordTy,
|
||||
IRType hWordTy )
|
||||
{
|
||||
@ -776,7 +776,7 @@ static Bool translations_allowable_from_seg ( NSegment const* seg, Addr addr )
|
||||
return convention. */
|
||||
|
||||
static UInt needs_self_check ( void* closureV,
|
||||
VexGuestExtents* vge )
|
||||
const VexGuestExtents* vge )
|
||||
{
|
||||
VgCallbackClosure* closure = (VgCallbackClosure*)closureV;
|
||||
UInt i, bitset;
|
||||
@ -1622,16 +1622,16 @@ Bool VG_(translate) ( ThreadId tid,
|
||||
They are entirely legal but longwinded so as to maximise the
|
||||
chance of the C typechecker picking up any type snafus. */
|
||||
IRSB*(*f)(VgCallbackClosure*,
|
||||
IRSB*,VexGuestLayout*,VexGuestExtents*, VexArchInfo*,
|
||||
IRType,IRType)
|
||||
IRSB*,const VexGuestLayout*,const VexGuestExtents*,
|
||||
const VexArchInfo*,IRType,IRType)
|
||||
= VG_(clo_vgdb) != Vg_VgdbNo
|
||||
? tool_instrument_then_gdbserver_if_needed
|
||||
: VG_(tdict).tool_instrument;
|
||||
IRSB*(*g)(void*,
|
||||
IRSB*,VexGuestLayout*,VexGuestExtents*,VexArchInfo*,
|
||||
IRType,IRType)
|
||||
= (IRSB*(*)(void*,IRSB*,VexGuestLayout*,VexGuestExtents*,
|
||||
VexArchInfo*,IRType,IRType))f;
|
||||
IRSB*,const VexGuestLayout*,const VexGuestExtents*,
|
||||
const VexArchInfo*,IRType,IRType)
|
||||
= (IRSB*(*)(void*,IRSB*,const VexGuestLayout*,
|
||||
const VexGuestExtents*, const VexArchInfo*,IRType,IRType))f;
|
||||
vta.instrument1 = g;
|
||||
}
|
||||
/* No need for type kludgery here. */
|
||||
|
||||
@ -150,8 +150,8 @@ extern Bool VG_(client_monitor_command) (HChar* cmd);
|
||||
gdbserver. */
|
||||
extern IRSB* VG_(instrument_for_gdbserver_if_needed)
|
||||
(IRSB* sb_in, /* block to be instrumented */
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
IRType gWordTy, IRType hWordTy);
|
||||
|
||||
/* reason for which gdbserver connection must be finished */
|
||||
|
||||
@ -110,8 +110,8 @@ typedef struct {
|
||||
void (*tool_post_clo_init)(void);
|
||||
IRSB* (*tool_instrument) (VgCallbackClosure*,
|
||||
IRSB*,
|
||||
VexGuestLayout*, VexGuestExtents*,
|
||||
VexArchInfo*, IRType, IRType);
|
||||
const VexGuestLayout*, const VexGuestExtents*,
|
||||
const VexArchInfo*, IRType, IRType);
|
||||
void (*tool_fini) (Int);
|
||||
|
||||
// VG_(needs).core_errors
|
||||
|
||||
@ -590,9 +590,9 @@ static void instrument_store(IRSB* const bb, IRExpr* addr_expr,
|
||||
|
||||
IRSB* DRD_(instrument)(VgCallbackClosure* const closure,
|
||||
IRSB* const bb_in,
|
||||
VexGuestLayout* const layout,
|
||||
VexGuestExtents* const vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* const layout,
|
||||
const VexGuestExtents* const vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType const gWordTy,
|
||||
IRType const hWordTy)
|
||||
{
|
||||
|
||||
@ -41,9 +41,9 @@ Bool DRD_(get_first_race_only)(void);
|
||||
void DRD_(set_first_race_only)(const Bool fro);
|
||||
IRSB* DRD_(instrument)(VgCallbackClosure* const closure,
|
||||
IRSB* const bb_in,
|
||||
VexGuestLayout* const layout,
|
||||
VexGuestExtents* const vge,
|
||||
VexArchInfo* const archinfo_host,
|
||||
const VexGuestLayout* const layout,
|
||||
const VexGuestExtents* const vge,
|
||||
const VexArchInfo* const archinfo_host,
|
||||
IRType const gWordTy,
|
||||
IRType const hWordTy);
|
||||
void DRD_(trace_mem_access)(const Addr addr, const SizeT size,
|
||||
|
||||
@ -345,10 +345,10 @@ static Int get_inst_type(Int len, Addr addr)
|
||||
/* gWordTy = size of guest word */
|
||||
/* hWordTy = size of host word */
|
||||
static IRSB* bbv_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn, VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
IRSB* sbIn, const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i,n_instrs=1;
|
||||
IRSB *sbOut;
|
||||
|
||||
@ -872,9 +872,9 @@ void addMemEvent(IRSB* sbOut, Bool isWrite, Int szB, IRExpr* addr,
|
||||
static
|
||||
IRSB* dh_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i, n = 0;
|
||||
|
||||
@ -607,9 +607,9 @@ static IRTemp for_sg__newIRTemp_cb ( IRType ty, void* opaque )
|
||||
|
||||
IRSB* h_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Bool verboze = 0||False;
|
||||
|
||||
@ -70,9 +70,9 @@ SizeT h_replace_malloc_usable_size ( ThreadId tid, void* p );
|
||||
/* Note that this also does the sg_ instrumentation. */
|
||||
IRSB* h_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy );
|
||||
|
||||
#endif
|
||||
|
||||
@ -2079,7 +2079,7 @@ struct _SGEnv {
|
||||
|
||||
static IRTemp gen_Get_SP ( struct _SGEnv* sge,
|
||||
IRSB* bbOut,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
Int hWordTy_szB )
|
||||
{
|
||||
IRExpr* sp_expr;
|
||||
@ -2097,7 +2097,7 @@ static IRTemp gen_Get_SP ( struct _SGEnv* sge,
|
||||
|
||||
static IRTemp gen_Get_FP ( struct _SGEnv* sge,
|
||||
IRSB* bbOut,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
Int hWordTy_szB )
|
||||
{
|
||||
IRExpr* fp_expr;
|
||||
@ -2120,7 +2120,7 @@ static void instrument_mem_access ( struct _SGEnv* sge,
|
||||
Bool isStore,
|
||||
Int hWordTy_szB,
|
||||
Addr curr_IP,
|
||||
VexGuestLayout* layout )
|
||||
const VexGuestLayout* layout )
|
||||
{
|
||||
IRType tyAddr = Ity_INVALID;
|
||||
XArray* frameBlocks = NULL;
|
||||
@ -2198,7 +2198,7 @@ void sg_instrument_fini ( struct _SGEnv * env )
|
||||
void sg_instrument_IRStmt ( /*MOD*/struct _SGEnv * env,
|
||||
/*MOD*/IRSB* sbOut,
|
||||
IRStmt* st,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
if (!sg_clo_enable_sg_checks)
|
||||
@ -2333,7 +2333,7 @@ void sg_instrument_final_jump ( /*MOD*/struct _SGEnv * env,
|
||||
/*MOD*/IRSB* sbOut,
|
||||
IRExpr* next,
|
||||
IRJumpKind jumpkind,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
if (!sg_clo_enable_sg_checks)
|
||||
|
||||
@ -62,14 +62,14 @@ void sg_instrument_fini ( struct _SGEnv * env );
|
||||
void sg_instrument_IRStmt ( /*MOD*/struct _SGEnv * env,
|
||||
/*MOD*/IRSB* sbOut,
|
||||
IRStmt* st,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
IRType gWordTy, IRType hWordTy );
|
||||
|
||||
void sg_instrument_final_jump ( /*MOD*/struct _SGEnv * env,
|
||||
/*MOD*/IRSB* sbOut,
|
||||
IRExpr* next,
|
||||
IRJumpKind jumpkind,
|
||||
VexGuestLayout* layout,
|
||||
const VexGuestLayout* layout,
|
||||
IRType gWordTy, IRType hWordTy );
|
||||
#endif
|
||||
|
||||
|
||||
@ -4478,9 +4478,9 @@ static Bool is_in_dynamic_linker_shared_object( Addr64 ga )
|
||||
static
|
||||
IRSB* hg_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* bbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i;
|
||||
|
||||
@ -218,9 +218,9 @@ extern void VG_(basic_tool_funcs)(
|
||||
*/
|
||||
IRSB*(*instrument)(VgCallbackClosure* closure,
|
||||
IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy,
|
||||
IRType hWordTy),
|
||||
|
||||
|
||||
@ -652,9 +652,9 @@ static void lk_post_clo_init(void)
|
||||
static
|
||||
IRSB* lk_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
IRDirty* di;
|
||||
|
||||
@ -2087,9 +2087,9 @@ static IRSB* ms_instrument2( IRSB* sbIn )
|
||||
static
|
||||
IRSB* ms_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
if (! have_started_executing_code) {
|
||||
|
||||
@ -657,9 +657,9 @@ VG_REGPARM(1) UWord MC_(helperc_b_load32)( Addr a );
|
||||
/* Functions defined in mc_translate.c */
|
||||
IRSB* MC_(instrument) ( VgCallbackClosure* closure,
|
||||
IRSB* bb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy );
|
||||
|
||||
IRSB* MC_(final_tidy) ( IRSB* );
|
||||
|
||||
@ -210,7 +210,7 @@ typedef
|
||||
|
||||
/* READONLY: the guest layout. This indicates which parts of
|
||||
the guest state should be regarded as 'always defined'. */
|
||||
VexGuestLayout* layout;
|
||||
const VexGuestLayout* layout;
|
||||
|
||||
/* READONLY: the host word type. Needed for constructing
|
||||
arguments of type 'HWord' to be passed to helper functions.
|
||||
@ -6197,9 +6197,9 @@ static Bool checkForBogusLiterals ( /*FLAT*/ IRStmt* st )
|
||||
|
||||
IRSB* MC_(instrument) ( VgCallbackClosure* closure,
|
||||
IRSB* sb_in,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Bool verboze = 0||False;
|
||||
|
||||
@ -38,9 +38,9 @@ static void nl_post_clo_init(void)
|
||||
static
|
||||
IRSB* nl_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* bb,
|
||||
VexGuestLayout* layout,
|
||||
VexGuestExtents* vge,
|
||||
VexArchInfo* archinfo_host,
|
||||
const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
return bb;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user