28 #define PROBE_SAFE_OP(probe,op) (((probe)->ops && (probe)->ops->op) \ 
   29                                  ? (probe)->ops->op((probe)) \ 
   31 #define PROBE_SAFE_OP_ARGS(probe,op,...) (((probe)->ops && (probe)->ops->op) \ 
   32                       ? (probe)->ops->op((probe), ## __VA_ARGS__) \ 
   35 #define LOGDUMPPROBEPOINT(dl,la,lt,pp)        \ 
   36     if ((pp)->bsymbol && (pp)->symbol_addr) { \ 
   37     vdebugc((dl),(la),(lt),"probepoint(0x%"PRIxADDR" %s:%+d) ", \ 
   38         (pp)->addr,(pp)->bsymbol->lsymbol->symbol->name, \ 
   39         (pp)->symbol_addr - (pp)->addr);    \ 
   41     else if ((pp)->bsymbol) { \ 
   42     vdebugc((dl),(la),(lt),"probepoint(0x%"PRIxADDR" %s) ",  \ 
   43            (pp)->addr,(pp)->bsymbol->lsymbol->symbol->name); \ 
   46     vdebugc((dl),(la),(lt),"probepoint(0x%"PRIxADDR") ",    \ 
   50 #define LOGDUMPPROBEPOINT_NL(dl,la,lt,p)    \ 
   51     LOGDUMPPROBEPOINT((dl),(la),(lt),(p));  \ 
   52     vdebugc((dl),(la),(lt),"\n"); 
   54 #define LOGDUMPPROBE(dl,la,lt,p)         \ 
   55     vdebugc((dl),(la),(lt),"probe(%s) ",probe->name);   \ 
   57     vdebugc((dl),(la),(lt),"(on %s) ",      \ 
   58         (p)->bsymbol->lsymbol->symbol->name);   \ 
   61     vdebugc((dl),(la),(lt),"(on <UNKNOWN>) ");  \ 
   63     if ((p)->probepoint) {            \ 
   64     LOGDUMPPROBEPOINT(dl,la,lt,(p)->probepoint);    \ 
   67     vdebugc((dl),(la),(lt)," (%d sources)",g_list_length((p)->sources)); \ 
   70     vdebugc((dl),(la),(lt)," (%d sinks)",g_list_length((p)->sinks)); \ 
   73 #define LOGDUMPPROBE_NL(dl,la,lt,p)     \ 
   74     LOGDUMPPROBE((dl),(la),(lt),(p));       \ 
   75     vdebugc((dl),(la),(lt),"\n"); 
void probepoint_free_ext(struct probepoint *probepoint)
probe_handler_t pre_handler
struct target_nv_filter * post_filter
struct target_thread * thread
result_t probepoint_bp_handler(struct target *target, struct target_thread *tthread, struct probepoint *probepoint, int was_stepping)
struct target_memmod * mmod
struct target_nv_filter * thread_filter
result_t(* probe_handler_t)(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
struct list_head ss_actions
result_t probepoint_ss_handler(struct target *target, struct target_thread *tthread, struct probepoint *probepoint)
struct probe * __probe_register_addr(struct probe *probe, ADDR addr, struct memrange *range, probepoint_type_t type, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize, struct bsymbol *bsymbol, ADDR symbol_addr)
struct target_thread * thread
struct action::@17::@21 memmod
result_t(* action_handler_t)(struct action *action, struct target_thread *thread, struct probe *probe, struct probepoint *probepoint, handler_msg_t msg, int msg_detail, void *handler_data)
result_t probepoint_interrupted_ss_handler(struct target *target, struct target_thread *tthread, struct probepoint *probepoint)
struct action::@17::@19 code
struct list_head complex_actions
struct action::@17::@20 regmod
struct thread_action_context tac
struct target_thread * thread
int8_t prologue_has_sp_offset
struct thread_probepoint_context * tpc
struct target_nv_filter * pre_filter
probepoint_watchsize_t watchsize
result_t probepoint_resumeat_handler(struct target *target, struct target_thread *tthread)
struct action::@17::@18 ret
struct list_head simple_actions
probepoint_style_t orig_style
probe_handler_t post_handler
struct probepoint * probepoint
struct probepoint * probepoint
probepoint_whence_t whence