aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.h
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2015-09-17 11:14:55 +0200
committerMarkus Metzger <markus.t.metzger@intel.com>2015-09-18 14:30:49 +0200
commit7ff27e9babb1564a9c0e213c4a42396aa420f8cc (patch)
treec68b4809cdeba57b7d27d35fc9390eaa52726c47 /gdb/target.h
parent797094dddfbcc3ea1d0efc900185ba3857d30226 (diff)
downloadfsf-binutils-gdb-7ff27e9babb1564a9c0e213c4a42396aa420f8cc.zip
fsf-binutils-gdb-7ff27e9babb1564a9c0e213c4a42396aa420f8cc.tar.gz
fsf-binutils-gdb-7ff27e9babb1564a9c0e213c4a42396aa420f8cc.tar.bz2
target: add to_record_will_replay target method
Add a new target method to_record_will_replay to query if there is a record target that will replay at least one thread matching the argument PTID if it were executed in the argument execution direction. gdb/ * record-btrace.c ((record_btrace_will_replay): New. (init_record_btrace_ops): Initialize to_record_will_replay. * record-full.c ((record_full_will_replay): New. (init_record_full_ops): Initialize to_record_will_replay. * target-delegates.c: Regenerated. * target.c (target_record_will_replay): New. * target.h (struct target_ops) <to_record_will_replay>: New. (target_record_will_replay): New. Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Diffstat (limited to 'gdb/target.h')
-rw-r--r--gdb/target.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/target.h b/gdb/target.h
index 169785d..2b2db45 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1157,6 +1157,11 @@ struct target_ops
int (*to_record_is_replaying) (struct target_ops *, ptid_t ptid)
TARGET_DEFAULT_RETURN (0);
+ /* Query if the record target will replay PTID if it were resumed in
+ execution direction DIR. */
+ int (*to_record_will_replay) (struct target_ops *, ptid_t ptid, int dir)
+ TARGET_DEFAULT_RETURN (0);
+
/* Stop replaying. */
void (*to_record_stop_replaying) (struct target_ops *)
TARGET_DEFAULT_IGNORE ();
@@ -2446,6 +2451,9 @@ extern void target_delete_record (void);
/* See to_record_is_replaying in struct target_ops. */
extern int target_record_is_replaying (ptid_t ptid);
+/* See to_record_will_replay in struct target_ops. */
+extern int target_record_will_replay (ptid_t ptid, int dir);
+
/* See to_record_stop_replaying in struct target_ops. */
extern void target_record_stop_replaying (void);