DynamoRIO
Machine State Comparison Library

Data Structures

struct  drstatecmp_options_t
 

Macros

#define DRMGR_PRIORITY_DRSTATECMP   -8000
 
#define DRMGR_PRIORITY_NAME_DRSTATECMP   "drstatecmp_prio"
 

Enumerations

enum  drstatecmp_status_t {
  DRSTATECMP_SUCCESS,
  DRSTATECMP_ERROR,
  DRSTATECMP_ERROR_ALREADY_INITIALIZED,
  DRSTATECMP_ERROR_NOT_INITIALIZED
}
 

Functions

DR_EXPORT bool drstatecmp_bb_checks_enabled (instrlist_t *bb)
 
DR_EXPORT drstatecmp_status_t drstatecmp_init (drstatecmp_options_t *ops_in)
 
DR_EXPORT drstatecmp_status_t drstatecmp_exit (void)
 

Detailed Description

Macro Definition Documentation

◆ DRMGR_PRIORITY_DRSTATECMP

#define DRMGR_PRIORITY_DRSTATECMP   -8000

Priorities of drmgr instrumentation passes used by drstatecmp. Users of drstatecmp can use the name DRMGR_PRIORITY_NAME_DRSTATECMP in the drmgr_priority_t.before field or can use these numeric priorities in the drmgr_priority_t.priority field to ensure proper pass ordering. Priority of drstatecmp passes. Requires the highest priority among all app2app passes.

◆ DRMGR_PRIORITY_NAME_DRSTATECMP

#define DRMGR_PRIORITY_NAME_DRSTATECMP   "drstatecmp_prio"

Name of drstatecmp pass priorities.

Enumeration Type Documentation

◆ drstatecmp_status_t

Success code for each drstatecmp operation.

Enumerator
DRSTATECMP_SUCCESS 

Operation succeeded.

DRSTATECMP_ERROR 

Operation failed.

DRSTATECMP_ERROR_ALREADY_INITIALIZED 

drstatecmp can only be initialized once.

DRSTATECMP_ERROR_NOT_INITIALIZED 

Operation failed: not initialized.

Function Documentation

◆ drstatecmp_bb_checks_enabled()

DR_EXPORT bool drstatecmp_bb_checks_enabled ( instrlist_t bb)

Determines whether a given basic block can be checked by the drstatecmp extension.

◆ drstatecmp_exit()

DR_EXPORT drstatecmp_status_t drstatecmp_exit ( void  )

Cleans up the drstatecmp extension.

Returns
whether successful or an error code on failure.

◆ drstatecmp_init()

DR_EXPORT drstatecmp_status_t drstatecmp_init ( drstatecmp_options_t ops_in)

Initializes the drstatecmp extension. Must be called prior to any of the other routines. Can be called only once and must be paired with a corresponding call to drstatecmp_exit().

Returns
whether successful or an error code on failure.