to xfree everything (including the "struct target_ops"). */
void (*to_xclose) (struct target_ops *targ);
void (*to_close) (struct target_ops *);
- void (*to_attach) (struct target_ops *ops, char *, int);
- void (*to_post_attach) (struct target_ops *, int);
- void (*to_detach) (struct target_ops *ops, const char *, int);
+ void (*to_attach) (struct target_ops *ops, char *, int)
+ TARGET_DEFAULT_FUNC (find_default_attach);
+ void (*to_post_attach) (struct target_ops *, int)
+ TARGET_DEFAULT_IGNORE ();
+ void (*to_detach) (struct target_ops *ops, const char *, int)
+ TARGET_DEFAULT_IGNORE ();
void (*to_disconnect) (struct target_ops *, char *, int);
void (*to_resume) (struct target_ops *, ptid_t, int, enum gdb_signal)
TARGET_DEFAULT_NORETURN (noprocess ());
void (*to_fetch_registers) (struct target_ops *, struct regcache *, int);
void (*to_store_registers) (struct target_ops *, struct regcache *, int)
TARGET_DEFAULT_NORETURN (noprocess ());
- void (*to_prepare_to_store) (struct target_ops *, struct regcache *);
+ void (*to_prepare_to_store) (struct target_ops *, struct regcache *)
+ TARGET_DEFAULT_NORETURN (noprocess ());
/* Transfer LEN bytes of memory between GDB address MYADDR and
target address MEMADDR. If WRITE, transfer them to the target, else
char *(*to_thread_name) (struct target_ops *, struct thread_info *);
void (*to_stop) (struct target_ops *, ptid_t);
void (*to_rcmd) (struct target_ops *,
- char *command, struct ui_file *output);
+ char *command, struct ui_file *output)
+ TARGET_DEFAULT_FUNC (default_rcmd);
char *(*to_pid_to_exec_file) (struct target_ops *, int pid);
void (*to_log_command) (struct target_ops *, const char *);
struct target_section_table *(*to_get_section_table) (struct target_ops *);
void (*to_save_record) (struct target_ops *, const char *filename);
/* Delete the recorded execution trace from the current position onwards. */
- void (*to_delete_record) (void);
+ void (*to_delete_record) (struct target_ops *);
/* Query if the record target is currently replaying. */
- int (*to_record_is_replaying) (void);
+ int (*to_record_is_replaying) (struct target_ops *);
/* Go to the begin of the execution trace. */
- void (*to_goto_record_begin) (void);
+ void (*to_goto_record_begin) (struct target_ops *);
/* Go to the end of the execution trace. */
- void (*to_goto_record_end) (void);
+ void (*to_goto_record_end) (struct target_ops *);
/* Go to a specific location in the recorded execution trace. */
- void (*to_goto_record) (ULONGEST insn);
+ void (*to_goto_record) (struct target_ops *, ULONGEST insn);
/* Disassemble SIZE instructions in the recorded execution trace from
the current position.
If SIZE < 0, disassemble abs (SIZE) preceding instructions; otherwise,
disassemble SIZE succeeding instructions. */
- void (*to_insn_history) (int size, int flags);
+ void (*to_insn_history) (struct target_ops *, int size, int flags);
/* Disassemble SIZE instructions in the recorded execution trace around
FROM.
If SIZE < 0, disassemble abs (SIZE) instructions before FROM; otherwise,
disassemble SIZE instructions after FROM. */
- void (*to_insn_history_from) (ULONGEST from, int size, int flags);
+ void (*to_insn_history_from) (struct target_ops *,
+ ULONGEST from, int size, int flags);
/* Disassemble a section of the recorded execution trace from instruction
BEGIN (inclusive) to instruction END (inclusive). */
- void (*to_insn_history_range) (ULONGEST begin, ULONGEST end, int flags);
+ void (*to_insn_history_range) (struct target_ops *,
+ ULONGEST begin, ULONGEST end, int flags);
/* Print a function trace of the recorded execution trace.
If SIZE < 0, print abs (SIZE) preceding functions; otherwise, print SIZE
succeeding functions. */
- void (*to_call_history) (int size, int flags);
+ void (*to_call_history) (struct target_ops *, int size, int flags);
/* Print a function trace of the recorded execution trace starting
at function FROM.
If SIZE < 0, print abs (SIZE) functions before FROM; otherwise, print
SIZE functions after FROM. */
- void (*to_call_history_from) (ULONGEST begin, int size, int flags);
+ void (*to_call_history_from) (struct target_ops *,
+ ULONGEST begin, int size, int flags);
/* Print a function trace of an execution trace section from function BEGIN
(inclusive) to function END (inclusive). */
- void (*to_call_history_range) (ULONGEST begin, ULONGEST end, int flags);
+ void (*to_call_history_range) (struct target_ops *,
+ ULONGEST begin, ULONGEST end, int flags);
/* Nonzero if TARGET_OBJECT_LIBRARIES_SVR4 may be read with a
non-empty annex. */
- int (*to_augmented_libraries_svr4_read) (void);
+ int (*to_augmented_libraries_svr4_read) (struct target_ops *);
/* Those unwinders are tried before any other arch unwinders. Use NULL if
it is not used. */
(*current_target.to_can_use_agent) (¤t_target)
#define target_augmented_libraries_svr4_read() \
- (*current_target.to_augmented_libraries_svr4_read) ()
+ (*current_target.to_augmented_libraries_svr4_read) (¤t_target)
/* Command logging facility. */