make-target-delegates.py to parse. */
typedef const gdb_byte const_gdb_byte;
-#include "infrun.h" /* For enum exec_direction_kind. */
-#include "breakpoint.h" /* For enum bptype. */
+#include "infrun.h"
+#include "breakpoint.h"
#include "gdbsupport/scoped_restore.h"
#include "gdbsupport/refcounted-object.h"
#include "target-section.h"
#include "gdbsupport/fileio.h"
#include "gdbsupport/x86-xstate.h"
-#include "gdbsupport/break-common.h" /* For enum target_hw_bp_type. */
+#include "gdbsupport/break-common.h"
enum strata
{
TARGET_DEFAULT_RETURN (1);
virtual void follow_fork (inferior *, ptid_t, target_waitkind, bool, bool)
TARGET_DEFAULT_FUNC (default_follow_fork);
+
+ /* Add CHILD_PTID to the thread list, after handling a
+ TARGET_WAITKIND_THREAD_CLONE event for the clone parent. The
+ parent is inferior_ptid. */
+ virtual void follow_clone (ptid_t child_ptid)
+ TARGET_DEFAULT_FUNC (default_follow_clone);
+
virtual int insert_exec_catchpoint (int)
TARGET_DEFAULT_RETURN (1);
virtual int remove_exec_catchpoint (int)
TARGET_DEFAULT_RETURN (NULL);
virtual void log_command (const char *)
TARGET_DEFAULT_IGNORE ();
- virtual const target_section_table *get_section_table ()
+ virtual const std::vector<target_section> *get_section_table ()
TARGET_DEFAULT_RETURN (default_get_section_table ());
/* Provide default values for all "must have" methods. */
TARGET_DEFAULT_RETURN (false);
virtual void thread_events (int)
TARGET_DEFAULT_IGNORE ();
+ /* Returns true if the target supports setting thread options
+ OPTIONS, false otherwise. */
+ virtual bool supports_set_thread_options (gdb_thread_options options)
+ TARGET_DEFAULT_RETURN (false);
/* This method must be implemented in some situations. See the
comment on 'can_run'. */
virtual bool supports_non_stop ()
the target is currently stopped at. The architecture information is
used to perform decr_pc_after_break adjustment, and also to determine
the frame architecture of the innermost frame. ptrace operations need to
- operate according to target_gdbarch (). */
+ operate according to the current inferior's gdbarch. */
virtual struct gdbarch *thread_architecture (ptid_t)
TARGET_DEFAULT_RETURN (NULL);
virtual int get_trace_status (struct trace_status *ts)
TARGET_DEFAULT_RETURN (-1);
- virtual void get_tracepoint_status (struct breakpoint *tp,
+ virtual void get_tracepoint_status (tracepoint *tp,
struct uploaded_tp *utp)
TARGET_DEFAULT_NORETURN (tcomplain ());
/* Enables/disables thread create and exit events. */
extern void target_thread_events (int enable);
+/* Returns true if the target supports setting thread options
+ OPTIONS. */
+extern bool target_supports_set_thread_options (gdb_thread_options options);
+
/* Whether support for controlling the target backends always in
non-stop mode is enabled. */
extern enum auto_boolean target_non_stop_enabled;
extern int target_get_trace_status (trace_status *ts);
-extern void target_get_tracepoint_status (breakpoint *tp, uploaded_tp *utp);
+extern void target_get_tracepoint_status (tracepoint *tp, uploaded_tp *utp);
extern void target_trace_stop ();
/* Return the target section table this target (or the targets
beneath) currently manipulate. */
-extern const target_section_table *target_get_section_table
+extern const std::vector<target_section> *target_get_section_table
(struct target_ops *target);
/* Default implementation of get_section_table for dummy_target. */
-extern const target_section_table *default_get_section_table ();
+extern const std::vector<target_section> *default_get_section_table ();
/* From mem-break.c */
extern scoped_restore_tmpl<int>
make_scoped_restore_show_memory_breakpoints (int show);
+/* True if we should trust readonly sections from the
+ executable when reading memory. */
+extern bool trust_readonly;
+
extern bool may_write_registers;
extern bool may_write_memory;
extern bool may_insert_breakpoints;