26#define thread_info mach_thread_info
34extern __typeof__ (mach_thread_info) mach_thread_info
asm (
"thread_info");
92#define PROC_TID_TASK (-1)
94#define proc_is_task(proc) ((proc)->tid == PROC_TID_TASK)
95#define proc_is_thread(proc) ((proc)->tid != PROC_TID_TASK)
102#define proc_debug(_proc, msg, args...) \
103 do { struct proc *__proc = (_proc); \
104 debug ("{proc %d/%d %s}: " msg, \
105 __proc_pid (__proc), __proc->tid, \
106 host_address_to_string (__proc) , ##args); } while (0)
110#define debug(msg, args...) \
111 do { if (gnu_debug_flag) \
112 gdb_printf (gdb_stdlog, "%s:%d: " msg "\r\n", \
113 __FILE__ , __LINE__ , ##args); } while (0)
120 void attach (
const char *,
int)
override;
125 void resume (ptid_t,
int,
enum gdb_signal)
override;
131 const gdb_byte *writebuf,
132 ULONGEST offset, ULONGEST len,
133 ULONGEST *xfered_len)
override;
137 void kill ()
override;
140 char **,
int)
override;
144 void stop (ptid_t)
override;
168 struct proc *run_thread,
int(* find_memory_region_ftype)(CORE_ADDR addr, unsigned long size, int read, int write, int exec, int modified, bool memory_tagged, void *data)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
struct inf * gnu_current_inf
gnu_nat_target * gnu_target
int __proc_pid(struct proc *proc)
char * proc_string(struct proc *proc)
struct proc * inf_tid_to_thread(struct inf *inf, int tid)
int inf_update_procs(struct inf *inf)
void inf_threads(struct inf *inf, inf_threads_ftype *f, void *arg)
__typeof__(mach_thread_info) mach_thread_info asm("thread_info")
void inf_threads_ftype(struct proc *thread, void *arg)
void(* func)(remote_target *remote, char *)
void inf_continue(struct inf *inf)
void inf_startup(struct inf *inf, int pid)
void detach(inferior *, int) override
void inf_set_pid(struct inf *inf, pid_t pid)
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
void inf_cleanup(struct inf *inf)
void inf_suspend(struct inf *inf)
void resume(ptid_t, int, enum gdb_signal) override
void create_inferior(const char *, const std::string &, char **, int) override
kern_return_t proc_set_exception_port(struct proc *proc, mach_port_t port)
mach_port_t _proc_get_exc_port(struct proc *proc)
void inf_validate_procs(struct inf *inf)
int find_memory_regions(find_memory_region_ftype func, void *data) override
int inf_set_threads_resume_sc_for_signal_thread(struct inf *inf)
int proc_trace(struct proc *proc, int set)
bool attach_no_wait() override
kern_return_t proc_get_exception_port(struct proc *proc, mach_port_t *port)
std::string pid_to_str(ptid_t) override
void inf_clear_wait(struct inf *inf)
void inf_set_traced(struct inf *inf, int on)
void inf_set_threads_resume_sc(struct inf *inf, struct proc *run_thread, int run_others)
thread_state_t proc_get_state(struct proc *proc, int will_modify)
void steal_exc_port(struct proc *proc, mach_port_t name)
void inf_detach(struct inf *inf)
void attach(const char *, int) override
void inf_set_step_thread(struct inf *inf, struct proc *proc)
int proc_update_sc(struct proc *proc)
ptid_t wait(ptid_t, struct target_waitstatus *, target_wait_flags) override
void proc_abort(struct proc *proc, int force)
struct proc * make_proc(struct inf *inf, mach_port_t port, int tid)
struct proc * _proc_free(struct proc *proc)
void proc_steal_exc_port(struct proc *proc, mach_port_t exc_port)
void mourn_inferior() override
void proc_restore_exc_port(struct proc *proc)
int inf_update_suspends(struct inf *inf)
void inf_signal(struct inf *inf, enum gdb_signal sig)
bool thread_alive(ptid_t ptid) override
void inf_resume(struct inf *inf)
void inf_validate_procinfo(struct inf *inf)
void inf_attach(struct inf *inf, int pid)
void inf_restore_exc_ports(struct inf *inf)
void inf_steal_exc_ports(struct inf *inf)
void inf_validate_task_sc(struct inf *inf)
unsigned long fetched_regs
thread_state_data_t state
mach_port_t saved_exc_port
virtual gdb::array_view< const_gdb_byte > virtual thread_info_to_thread_handle(struct thread_info *) TARGET_DEFAULT_RETURN(gdb voi stop)(ptid_t) TARGET_DEFAULT_IGNORE()