23#include "gdbsupport/gdb_optional.h"
37#if (__FreeBSD_kernel_version >= 1102502) || (__FreeBSD_version >= 1102502)
38# define USE_SIGTRAP_SIGINFO
39#elif defined(TRAP_BRKPT)
40# if !defined(__mips__) && !defined(__sparc64__)
41# define USE_SIGTRAP_SIGINFO
66#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME
74 void async (
bool)
override;
80 char **,
int)
override;
82 void attach (
const char *,
int)
override;
86 void kill ()
override;
96#ifdef USE_SIGTRAP_SIGINFO
116#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
190 template <
class Regset>
196 ®s,
sizeof (regs));
199 template <
class Regset>
206 regbase, ®s,
sizeof (regs));
220 template <
class Regset>
229 template <
class Regset>
bool can_async_p() override
gdb::optional< pending_event > take_pending_event(ptid_t filter)
size_t have_regset(ptid_t ptid, int note)
std::list< pending_event > m_pending_events
void mourn_inferior() override
int find_memory_regions(find_memory_region_ftype func, void *data) override
bool store_regset(struct regcache *regcache, int regnum, int note, const struct regset *regset, int regbase, void *regs, size_t size)
bool fetch_register_set(struct regcache *regcache, int regnum, int fetch_op, const struct regset *regset, int regbase, void *regs, size_t size)
enum target_xfer_status xfer_partial(enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) override
int remove_exec_catchpoint(int) override
bool store_register_set(struct regcache *regcache, int regnum, int fetch_op, int store_op, const struct regset *regset, int regbase, void *regs, size_t size)
int insert_exec_catchpoint(int) override
void detach_fork_children(thread_info *tp)
bool store_regset(struct regcache *regcache, int regnum, int note, const struct regset *regset, int regbase=0)
bool store_register_set(struct regcache *regcache, int regnum, int fetch_op, int store_op, const struct regset *regset, int regbase=0)
bool fetch_register_set(struct regcache *regcache, int regnum, int fetch_op, const struct regset *regset, int regbase=0)
void add_pending_event(const ptid_t &ptid, const target_waitstatus &status)
std::string pid_to_str(ptid_t) override
bool supports_multi_process() override
void stop_process(inferior *)
void create_inferior(const char *, const std::string &, char **, int) override
void async(bool) override
bool supports_disable_randomization() override
bool fetch_regset(struct regcache *regcache, int regnum, int note, const struct regset *regset, int regbase=0)
virtual void low_new_fork(ptid_t parent, pid_t child)
void update_thread_list() override
void follow_exec(inferior *, ptid_t, const char *) override
void post_startup_inferior(ptid_t) override
thread_control_capabilities get_thread_control_capabilities() override
bool info_proc(const char *, enum info_proc_what) override
void attach(const char *, int) override
bool thread_alive(ptid_t ptid) override
const char * pid_to_exec_file(int pid) override
virtual void low_delete_thread(thread_info *)
bool fetch_regset(struct regcache *regcache, int regnum, int note, const struct regset *regset, int regbase, void *regs, size_t size)
virtual void low_prepare_to_resume(thread_info *)
void detach(inferior *, int) override
ptid_t wait(ptid_t, struct target_waitstatus *, target_wait_flags) override
bool have_pending_event(ptid_t filter)
void resume_one_process(ptid_t, int, enum gdb_signal)
ptid_t wait_1(ptid_t, struct target_waitstatus *, target_wait_flags)
void resume(ptid_t, int, enum gdb_signal) override
void post_attach(int) override
int(* find_memory_region_ftype)(CORE_ADDR addr, unsigned long size, int read, int write, int exec, int modified, bool memory_tagged, void *data)
bool fbsd_nat_get_siginfo(ptid_t ptid, siginfo_t *siginfo)
const char * thread_name(thread_info *thread)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
static bool follow_fork()
void(* func)(remote_target *remote, char *)
pending_event(const ptid_t &_ptid, const target_waitstatus &_status)
virtual bool stopped_by_sw_breakpoint() TARGET_DEFAULT_RETURN(false)
virtual int insert_fork_catchpoint(int) TARGET_DEFAULT_RETURN(1)
virtual bool supports_stopped_by_sw_breakpoint() TARGET_DEFAULT_RETURN(false)
virtual int insert_vfork_catchpoint(int) TARGET_DEFAULT_RETURN(1)
virtual int remove_fork_catchpoint(int) TARGET_DEFAULT_RETURN(1)
virtual int remove_vfork_catchpoint(int) TARGET_DEFAULT_RETURN(1)
virtual int set_syscall_catchpoint(int, bool, int, gdb::array_view< const int >) TARGET_DEFAULT_RETURN(1)
thread_control_capabilities