+
+ /* Returns true if the target supports disabling randomization. */
+ int (*supports_disable_randomization) (void);
+
+ /* Return the minimum length of an instruction that can be safely overwritten
+ for use as a fast tracepoint. */
+ int (*get_min_fast_tracepoint_insn_len) (void);
+
+ /* Read solib info on SVR4 platforms. */
+ int (*qxfer_libraries_svr4) (const char *annex, unsigned char *readbuf,
+ unsigned const char *writebuf,
+ CORE_ADDR offset, int len);
+
+ /* Return true if target supports debugging agent. */
+ int (*supports_agent) (void);
+
+ /* Check whether the target supports branch tracing. */
+ int (*supports_btrace) (struct target_ops *, enum btrace_format);
+
+ /* Enable branch tracing for @ptid and allocate a branch trace target
+ information struct for reading and for disabling branch trace. */
+ struct btrace_target_info *(*enable_btrace) (ptid_t ptid);
+
+ /* Disable branch tracing.
+ Returns zero on success, non-zero otherwise. */
+ int (*disable_btrace) (struct btrace_target_info *tinfo);
+
+ /* Read branch trace data into buffer. We use an int to specify the type
+ to break a cyclic dependency.
+ Return 0 on success; print an error message into BUFFER and return -1,
+ otherwise. */
+ int (*read_btrace) (struct btrace_target_info *, struct buffer *, int type);
+
+ /* Return true if target supports range stepping. */
+ int (*supports_range_stepping) (void);