GDB (xrefs)
|
#include "defs.h"
#include "top.h"
#include "inferior.h"
#include "target.h"
#include "symfile.h"
#include "symtab.h"
#include "objfiles.h"
#include "gdb.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdbthread.h"
#include "regcache.h"
#include "event-top.h"
#include "inf-loop.h"
#include "gdb_stat.h"
#include "exceptions.h"
#include "inf-child.h"
#include "value.h"
#include "arch-utils.h"
#include "bfd.h"
#include "bfd/mach-o.h"
#include <sys/ptrace.h>
#include <sys/signal.h>
#include <machine/setjmp.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
#include <ctype.h>
#include <sys/sysctl.h>
#include <sys/proc.h>
#include <libproc.h>
#include <sys/syscall.h>
#include <spawn.h>
#include <mach/mach_error.h>
#include <mach/mach_vm.h>
#include <mach/mach_init.h>
#include <mach/vm_map.h>
#include <mach/task.h>
#include <mach/mach_port.h>
#include <mach/thread_act.h>
#include <mach/port.h>
#include "darwin-nat.h"
#include "common/filestuff.h"
Go to the source code of this file.
Classes | |
struct | resume_inferior_threads_param |
Defines | |
#define | PTRACE(CMD, PID, ADDR, SIG) darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG)) |
#define | PAGE_TRUNC(x) ((x) & ~(mach_page_size - 1)) |
#define | PAGE_ROUND(x) PAGE_TRUNC((x) + mach_page_size - 1) |
#define | _POSIX_SPAWN_DISABLE_ASLR 0x0100 |
Functions | |
boolean_t | exc_server (mach_msg_header_t *in, mach_msg_header_t *out) |
static void | darwin_stop (ptid_t) |
static void | darwin_resume_to (struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal signal) |
static void | darwin_resume (ptid_t ptid, int step, enum gdb_signal signal) |
static ptid_t | darwin_wait_to (struct target_ops *ops, ptid_t ptid, struct target_waitstatus *status, int options) |
static ptid_t | darwin_wait (ptid_t ptid, struct target_waitstatus *status) |
static void | darwin_mourn_inferior (struct target_ops *ops) |
static void | darwin_kill_inferior (struct target_ops *ops) |
static void | darwin_ptrace_me (void) |
static void | darwin_ptrace_him (int pid) |
static void | darwin_create_inferior (struct target_ops *ops, char *exec_file, char *allargs, char **env, int from_tty) |
static void | darwin_files_info (struct target_ops *ops) |
static char * | darwin_pid_to_str (struct target_ops *ops, ptid_t tpid) |
static int | darwin_thread_alive (struct target_ops *ops, ptid_t tpid) |
static const unsigned char info_plist[] | __attribute__ ((section("__TEXT,__info_plist"), used)) |
static void | inferior_debug (int level, const char *fmt,...) |
void | mach_check_error (kern_return_t ret, const char *file, unsigned int line, const char *func) |
static const char * | unparse_exception_type (unsigned int i) |
static int | darwin_ptrace (const char *name, int request, int pid, PTRACE_TYPE_ARG3 arg3, int arg4) |
static int | cmp_thread_t (const void *l, const void *r) |
static void | darwin_check_new_threads (struct inferior *inf) |
static int | find_inferior_task_it (struct inferior *inf, void *port_ptr) |
static int | find_inferior_notify_it (struct inferior *inf, void *port_ptr) |
static struct inferior * | darwin_find_inferior_by_task (task_t port) |
static struct inferior * | darwin_find_inferior_by_notify (mach_port_t port) |
static darwin_thread_t * | darwin_find_thread (struct inferior *inf, thread_t thread) |
static void | darwin_suspend_inferior (struct inferior *inf) |
static void | darwin_resume_inferior (struct inferior *inf) |
static int | darwin_suspend_inferior_it (struct inferior *inf, void *arg) |
static int | darwin_resume_inferior_it (struct inferior *inf, void *arg) |
static void | darwin_dump_message (mach_msg_header_t *hdr, int disp_body) |
static int | darwin_decode_exception_message (mach_msg_header_t *hdr, struct inferior **pinf, darwin_thread_t **pthread) |
static void | darwin_encode_reply (mig_reply_error_t *reply, mach_msg_header_t *hdr, integer_t code) |
static void | darwin_send_reply (struct inferior *inf, darwin_thread_t *thread) |
static void | darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread, int step, int nsignal) |
static void | darwin_resume_inferior_threads (struct inferior *inf, int step, int nsignal) |
static int | darwin_resume_inferior_threads_it (struct inferior *inf, void *param) |
static void | darwin_suspend_inferior_threads (struct inferior *inf) |
static ptid_t | darwin_decode_message (mach_msg_header_t *hdr, darwin_thread_t **pthread, struct inferior **pinf, struct target_waitstatus *status) |
static int | cancel_breakpoint (ptid_t ptid) |
static void | darwin_reply_to_all_pending_messages (struct inferior *inf) |
static void | darwin_stop_inferior (struct inferior *inf) |
static kern_return_t | darwin_save_exception_ports (darwin_inferior *inf) |
static kern_return_t | darwin_restore_exception_ports (darwin_inferior *inf) |
static void | darwin_attach_pid (struct inferior *inf) |
static void | darwin_init_thread_list (struct inferior *inf) |
static void | darwin_pre_ptrace (void) |
static void | darwin_execvp (const char *file, char *const argv[], char *const env[]) |
static void | darwin_setup_fake_stop_event (struct inferior *inf) |
static void | darwin_attach (struct target_ops *ops, char *args, int from_tty) |
static void | darwin_detach (struct target_ops *ops, char *args, int from_tty) |
static int | darwin_read_write_inferior (task_t task, CORE_ADDR addr, gdb_byte *rdaddr, const gdb_byte *wraddr, int length) |
static LONGEST | darwin_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len) |
static void | set_enable_mach_exceptions (char *args, int from_tty, struct cmd_list_element *c) |
static char * | darwin_pid_to_exec_file (int pid) |
static ptid_t | darwin_get_ada_task_ptid (long lwp, long thread) |
static int | darwin_supports_multi_process (void) |
void | _initialize_darwin_inferior (void) |
Variables | |
static struct target_ops * | darwin_ops |
static task_t | gdb_task |
mach_port_t | darwin_host_self |
mach_port_t | darwin_ex_port |
mach_port_t | darwin_port_set |
static vm_size_t | mach_page_size |
static int | enable_mach_exceptions |
static struct inferior * | darwin_inf_fake_stop |
static unsigned int | darwin_debug_flag = 0 |
static int | ptrace_fds [2] |
initialize_file_ftype | _initialize_darwin_inferior |
#define _POSIX_SPAWN_DISABLE_ASLR 0x0100 |
Referenced by darwin_execvp().
#define PAGE_ROUND | ( | x | ) | PAGE_TRUNC((x) + mach_page_size - 1) |
Definition at line 144 of file darwin-nat.c.
Referenced by darwin_read_write_inferior().
#define PAGE_TRUNC | ( | x | ) | ((x) & ~(mach_page_size - 1)) |
Definition at line 143 of file darwin-nat.c.
#define PTRACE | ( | CMD, | |
PID, | |||
ADDR, | |||
SIG | |||
) | darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG)) |
Definition at line 85 of file darwin-nat.c.
Referenced by darwin_detach(), darwin_ptrace_me(), and darwin_resume_thread().
static const unsigned char info_plist [] __attribute__ | ( | (section("__TEXT,__info_plist"), used) | ) | [static] |
void _initialize_darwin_inferior | ( | void | ) |
Definition at line 2071 of file darwin-nat.c.
References _, add_setshow_boolean_cmd(), add_setshow_zuinteger_cmd(), add_target(), class_obscure, class_support, darwin_attach(), darwin_complete_target(), darwin_create_inferior(), darwin_debug_flag, darwin_detach(), darwin_files_info(), darwin_get_ada_task_ptid(), darwin_host_self, darwin_kill_inferior(), darwin_mourn_inferior(), darwin_pid_to_exec_file(), darwin_pid_to_str(), darwin_resume_to(), darwin_stop(), darwin_supports_multi_process(), darwin_thread_alive(), darwin_wait_to(), darwin_xfer_partial(), enable_mach_exceptions, gdb_task, inf_child_target(), inferior_debug(), MACH_CHECK_ERROR, mach_page_size, set_enable_mach_exceptions(), setdebuglist, setlist, showdebuglist, showlist, target_ops::to_attach, target_ops::to_attach_no_wait, target_ops::to_create_inferior, target_ops::to_detach, target_ops::to_doc, target_ops::to_files_info, target_ops::to_get_ada_task_ptid, target_ops::to_kill, target_ops::to_load, target_ops::to_longname, target_ops::to_mourn_inferior, target_ops::to_pid_to_exec_file, target_ops::to_pid_to_str, target_ops::to_resume, target_ops::to_shortname, target_ops::to_stop, target_ops::to_supports_multi_process, target_ops::to_thread_alive, target_ops::to_wait, and target_ops::to_xfer_partial.
static int cancel_breakpoint | ( | ptid_t | ptid | ) | [static] |
Definition at line 1000 of file darwin-nat.c.
References breakpoint_inserted_here_p(), gdbarch_decr_pc_after_break(), get_regcache_arch(), get_regcache_aspace(), get_thread_regcache(), inferior_debug(), ptid_get_tid(), regcache_read_pc(), and regcache_write_pc().
Referenced by darwin_wait().
static int cmp_thread_t | ( | const void * | l, |
const void * | r | ||
) | [static] |
Definition at line 264 of file darwin-nat.c.
Referenced by darwin_check_new_threads().
static void darwin_attach | ( | struct target_ops * | ops, |
char * | args, | ||
int | from_tty | ||
) | [static] |
Definition at line 1623 of file darwin-nat.c.
References _, add_thread_silent(), inferior::attach_flag, current_inferior(), darwin_attach_pid(), darwin_check_osabi(), darwin_init_thread_list(), darwin_setup_fake_stop_event(), darwin_suspend_inferior(), error(), gdb_flush(), gdb_stdout, get_exec_file(), arm-linux::inf, inferior_appeared(), inferior_ptid, private_inferior::no_ptrace, parse_pid_to_attach(), inferior::pid, pid_to_ptid(), printf_unfiltered(), inferior::private, ptid_get_tid(), safe_strerror(), and target_pid_to_str().
Referenced by _initialize_darwin_inferior().
static void darwin_attach_pid | ( | struct inferior * | inf | ) | [static] |
Definition at line 1339 of file darwin-nat.c.
References _, inferior::attach_flag, darwin_ex_port, darwin_port_set, darwin_save_exception_ports(), enable_mach_exceptions, error(), gdb_task, inferior_debug(), private_inferior::notify_port, inferior::pid, inferior::private, push_target(), exsummary::status, private_inferior::task, warning(), and XZALLOC.
Referenced by darwin_attach(), and darwin_ptrace_him().
static void darwin_check_new_threads | ( | struct inferior * | inf | ) | [static] |
Definition at line 272 of file darwin-nat.c.
References _, add_thread_with_info(), cmp_thread_t(), DARWIN_RUNNING, delete_thread(), find_thread_ptid(), gdb_assert, gdb_assert_not_reached, private_thread_info::gdb_port, gdb_task, inferior_debug(), MACH_CHECK_ERROR, private_thread_info::msg_state, inferior::pid, thread_info::private, inferior::private, ptid_build(), qsort, private_inferior::task, thread_list, VEC, VEC_alloc, VEC_free, VEC_index, VEC_length, VEC_safe_push, and XZALLOC.
Referenced by darwin_decode_exception_message(), darwin_init_thread_list(), and darwin_suspend_inferior_it().
static void darwin_create_inferior | ( | struct target_ops * | ops, |
char * | exec_file, | ||
char * | allargs, | ||
char ** | env, | ||
int | from_tty | ||
) | [static] |
Definition at line 1581 of file darwin-nat.c.
References darwin_execvp(), darwin_pre_ptrace(), darwin_ptrace_him(), darwin_ptrace_me(), fork_inferior(), inferior_ptid, null_ptid, and ptid_equal().
Referenced by _initialize_darwin_inferior().
static int darwin_decode_exception_message | ( | mach_msg_header_t * | hdr, |
struct inferior ** | pinf, | ||
darwin_thread_t ** | pthread | ||
) | [static] |
Definition at line 549 of file darwin-nat.c.
References darwin_check_new_threads(), darwin_find_inferior_by_task(), darwin_find_thread(), DARWIN_MESSAGE, darwin_exception_msg::data_count, private_thread_info::event, darwin_exception_msg::ex_data, darwin_exception_msg::ex_type, gdb_assert, darwin_exception_msg::header, arm-linux::inf, MACH_CHECK_ERROR, private_thread_info::msg_state, private_thread_info::name, darwin_exception_msg::task_port, and darwin_exception_msg::thread_port.
Referenced by darwin_decode_message().
static ptid_t darwin_decode_message | ( | mach_msg_header_t * | hdr, |
darwin_thread_t ** | pthread, | ||
struct inferior ** | pinf, | ||
struct target_waitstatus * | status | ||
) | [static] |
Definition at line 861 of file darwin-nat.c.
References _, darwin_decode_exception_message(), darwin_ex_port, darwin_find_inferior_by_notify(), DARWIN_MESSAGE, DARWIN_RUNNING, darwin_send_reply(), private_thread_info::event, darwin_exception_msg::ex_data, darwin_exception_msg::ex_type, private_thread_info::gdb_port, gdb_signal_from_host(), gdb_signal_to_name(), arm-linux::inf, inferior_debug(), target_waitstatus::integer, target_waitstatus::kind, minus_one_ptid, private_thread_info::msg_state, private_inferior::no_ptrace, private_inferior::pending_messages, inferior::pid, printf_unfiltered(), inferior::private, ptid_build(), safe_strerror(), target_waitstatus::sig, private_thread_info::signaled, TARGET_WAITKIND_EXITED, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_STOPPED, unparse_exception_type(), and target_waitstatus::value.
Referenced by darwin_wait().
static void darwin_detach | ( | struct target_ops * | ops, |
char * | args, | ||
int | from_tty | ||
) | [static] |
Definition at line 1684 of file darwin-nat.c.
References _, current_inferior(), darwin_mourn_inferior(), darwin_reply_to_all_pending_messages(), darwin_restore_exception_ports(), darwin_resume_inferior(), darwin_stop_inferior(), gdb_flush(), gdb_stdout, get_exec_file(), inferior_ptid, MACH_CHECK_ERROR, private_inferior::no_ptrace, inferior::pid, pid_to_ptid(), printf_unfiltered(), inferior::private, ptid_get_pid(), PTRACE, safe_strerror(), and target_pid_to_str().
Referenced by _initialize_darwin_inferior().
static void darwin_dump_message | ( | mach_msg_header_t * | hdr, |
int | disp_body | ||
) | [static] |
Definition at line 482 of file darwin-nat.c.
References _, gdb::printing::long, name, printf_unfiltered(), and size.
Referenced by darwin_wait().
static void darwin_encode_reply | ( | mig_reply_error_t * | reply, |
mach_msg_header_t * | hdr, | ||
integer_t | code | ||
) | [static] |
static void darwin_execvp | ( | const char * | file, |
char *const | argv[], | ||
char *const | env[] | ||
) | [static] |
Definition at line 1547 of file darwin-nat.c.
References _POSIX_SPAWN_DISABLE_ASLR, fprintf_unfiltered(), and gdb_stderr.
Referenced by darwin_create_inferior().
static void darwin_files_info | ( | struct target_ops * | ops | ) | [static] |
Definition at line 1729 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior().
static struct inferior* darwin_find_inferior_by_notify | ( | mach_port_t | port | ) | [static, read] |
Definition at line 412 of file darwin-nat.c.
References find_inferior_notify_it(), and iterate_over_inferiors().
Referenced by darwin_decode_message().
static struct inferior* darwin_find_inferior_by_task | ( | task_t | port | ) | [static, read] |
Definition at line 405 of file darwin-nat.c.
References find_inferior_task_it(), and iterate_over_inferiors().
Referenced by darwin_decode_exception_message().
static darwin_thread_t* darwin_find_thread | ( | struct inferior * | inf, |
thread_t | thread | ||
) | [static] |
Definition at line 419 of file darwin-nat.c.
References private_thread_info::gdb_port, inferior::private, and VEC_iterate.
Referenced by darwin_decode_exception_message(), and darwin_resume().
static ptid_t darwin_get_ada_task_ptid | ( | long | lwp, |
long | thread | ||
) | [static] |
Definition at line 1995 of file darwin-nat.c.
References current_inferior(), private_thread_info::gdb_port, gdb_task, private_thread_info::inf_port, inferior_ptid, MACH_CHECK_ERROR, null_ptid, inferior::private, ptid_build(), ptid_get_pid(), private_inferior::task, and VEC_iterate.
Referenced by _initialize_darwin_inferior().
static void darwin_init_thread_list | ( | struct inferior * | inf | ) | [static] |
Definition at line 1460 of file darwin-nat.c.
References darwin_check_new_threads(), gdb_assert, private_thread_info::gdb_port, inferior_ptid, inferior::pid, inferior::private, ptid_build(), thread_change_ptid(), VEC_index, and VEC_length.
Referenced by darwin_attach(), and darwin_ptrace_him().
static void darwin_kill_inferior | ( | struct target_ops * | ops | ) | [static] |
Definition at line 1304 of file darwin-nat.c.
References _, current_inferior(), darwin_reply_to_all_pending_messages(), darwin_restore_exception_ports(), darwin_resume_inferior(), darwin_wait(), gdb_assert, inferior_ptid, MACH_CHECK_ERROR, null_ptid, inferior::pid, inferior::private, ptid_equal(), safe_strerror(), exsummary::status, target_mourn_inferior(), and warning().
Referenced by _initialize_darwin_inferior().
static void darwin_mourn_inferior | ( | struct target_ops * | ops | ) | [static] |
Definition at line 1157 of file darwin-nat.c.
References darwin_exception_info::count, current_inferior(), private_inferior::exception_info, private_thread_info::gdb_port, gdb_task, generic_mourn_inferior(), inferior_debug(), MACH_CHECK_ERROR, private_inferior::notify_port, darwin_exception_info::ports, inferior::private, private_inferior::task, unpush_target(), VEC_free, VEC_iterate, and xfree().
Referenced by _initialize_darwin_inferior(), and darwin_detach().
static char* darwin_pid_to_exec_file | ( | int | pid | ) | [static] |
Definition at line 1979 of file darwin-nat.c.
References make_cleanup(), xfree(), and xmalloc().
Referenced by _initialize_darwin_inferior().
static char * darwin_pid_to_str | ( | struct target_ops * | ops, |
ptid_t | tpid | ||
) | [static] |
Definition at line 1734 of file darwin-nat.c.
References _, normal_pid_to_str(), ptid_get_pid(), and ptid_get_tid().
Referenced by _initialize_darwin_inferior().
static void darwin_pre_ptrace | ( | void | ) | [static] |
Definition at line 1510 of file darwin-nat.c.
References _, error(), mark_fd_no_cloexec(), and safe_strerror().
Referenced by darwin_create_inferior().
static int darwin_ptrace | ( | const char * | name, |
int | request, | ||
int | pid, | ||
PTRACE_TYPE_ARG3 | arg3, | ||
int | arg4 | ||
) | [static] |
Definition at line 247 of file darwin-nat.c.
References _, inferior_debug(), ptrace(), and safe_strerror().
static void darwin_ptrace_him | ( | int | pid | ) | [static] |
Definition at line 1524 of file darwin-nat.c.
References current_inferior(), darwin_attach_pid(), darwin_init_thread_list(), START_INFERIOR_TRAPS_EXPECTED, startup_inferior(), and unmark_fd_no_cloexec().
Referenced by darwin_create_inferior().
static void darwin_ptrace_me | ( | void | ) | [static] |
Definition at line 1484 of file darwin-nat.c.
References _, error(), PT_TRACE_ME, PTRACE, and read().
Referenced by darwin_create_inferior().
static int darwin_read_write_inferior | ( | task_t | task, |
CORE_ADDR | addr, | ||
gdb_byte * | rdaddr, | ||
const gdb_byte * | wraddr, | ||
int | length | ||
) | [static] |
Definition at line 1761 of file darwin-nat.c.
References _, core_addr_to_string(), inferior_debug(), mach_page_size, memcpy(), offset, PAGE_ROUND, and warning().
Referenced by darwin_xfer_partial().
static void darwin_reply_to_all_pending_messages | ( | struct inferior * | inf | ) | [static] |
Definition at line 1224 of file darwin-nat.c.
References DARWIN_MESSAGE, darwin_resume_thread(), private_thread_info::msg_state, inferior::private, and VEC_iterate.
Referenced by darwin_detach(), darwin_kill_inferior(), and darwin_stop_inferior().
static kern_return_t darwin_restore_exception_ports | ( | darwin_inferior * | inf | ) | [static] |
Definition at line 1286 of file darwin-nat.c.
References darwin_exception_info::behaviors, darwin_exception_info::count, private_inferior::exception_info, darwin_exception_info::flavors, darwin_exception_info::masks, darwin_exception_info::ports, and private_inferior::task.
Referenced by darwin_detach(), darwin_kill_inferior(), and set_enable_mach_exceptions().
static void darwin_resume | ( | ptid_t | ptid, |
int | step, | ||
enum gdb_signal | signal | ||
) | [static] |
Definition at line 789 of file darwin-nat.c.
References _, darwin_find_thread(), darwin_resume_inferior(), darwin_resume_inferior_it(), darwin_resume_inferior_threads(), darwin_resume_inferior_threads_it(), darwin_resume_thread(), darwin_suspend_inferior(), darwin_suspend_inferior_threads(), find_inferior_pid(), gdb_assert, gdb_signal_to_host(), arm-linux::inf, inferior_debug(), inferior_ptid, iterate_over_inferiors(), minus_one_ptid, resume_inferior_threads_param::nsignal, ptid_equal(), ptid_get_pid(), ptid_get_tid(), and resume_inferior_threads_param::step.
Referenced by darwin_resume_to().
static void darwin_resume_inferior | ( | struct inferior * | inf | ) | [static] |
Definition at line 451 of file darwin-nat.c.
References MACH_CHECK_ERROR, inferior::private, private_inferior::suspended, and private_inferior::task.
Referenced by darwin_detach(), darwin_kill_inferior(), darwin_resume(), and darwin_resume_inferior_it().
static int darwin_resume_inferior_it | ( | struct inferior * | inf, |
void * | arg | ||
) | [static] |
Definition at line 475 of file darwin-nat.c.
References darwin_resume_inferior().
Referenced by darwin_resume().
static void darwin_resume_inferior_threads | ( | struct inferior * | inf, |
int | step, | ||
int | nsignal | ||
) | [static] |
Definition at line 735 of file darwin-nat.c.
References darwin_resume_thread(), inferior::private, and VEC_iterate.
Referenced by darwin_resume(), and darwin_resume_inferior_threads_it().
static int darwin_resume_inferior_threads_it | ( | struct inferior * | inf, |
void * | param | ||
) | [static] |
Definition at line 753 of file darwin-nat.c.
References darwin_resume_inferior_threads(), and resume_inferior_threads_param::nsignal.
Referenced by darwin_resume().
static void darwin_resume_thread | ( | struct inferior * | inf, |
darwin_thread_t * | thread, | ||
int | step, | ||
int | nsignal | ||
) | [static] |
Definition at line 675 of file darwin-nat.c.
References _, DARWIN_MESSAGE, DARWIN_RUNNING, darwin_send_reply(), darwin_set_sstep(), DARWIN_STOPPED, private_thread_info::event, darwin_exception_msg::ex_data, darwin_exception_msg::ex_type, private_thread_info::gdb_port, inferior_debug(), MACH_CHECK_ERROR, private_thread_info::msg_state, inferior::pid, PTRACE, private_thread_info::signaled, and private_thread_info::single_step.
Referenced by darwin_reply_to_all_pending_messages(), darwin_resume(), and darwin_resume_inferior_threads().
static void darwin_resume_to | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
int | step, | ||
enum gdb_signal | signal | ||
) | [static] |
Definition at line 854 of file darwin-nat.c.
References darwin_resume().
Referenced by _initialize_darwin_inferior().
static kern_return_t darwin_save_exception_ports | ( | darwin_inferior * | inf | ) | [static] |
Definition at line 1271 of file darwin-nat.c.
References darwin_exception_info::behaviors, darwin_exception_info::count, private_inferior::exception_info, darwin_exception_info::flavors, darwin_exception_info::masks, darwin_exception_info::ports, and private_inferior::task.
Referenced by darwin_attach_pid().
static void darwin_send_reply | ( | struct inferior * | inf, |
darwin_thread_t * | thread | ||
) | [static] |
Definition at line 658 of file darwin-nat.c.
References darwin_encode_reply(), private_thread_info::event, darwin_exception_msg::header, MACH_CHECK_ERROR, private_inferior::pending_messages, and inferior::private.
Referenced by darwin_decode_message(), darwin_resume_thread(), and darwin_wait().
static void darwin_setup_fake_stop_event | ( | struct inferior * | inf | ) | [static] |
Definition at line 1601 of file darwin-nat.c.
References gdb_assert, private_thread_info::gdb_port, arm-linux::inf, MACH_CHECK_ERROR, inferior::private, and VEC_index.
Referenced by darwin_attach().
static void darwin_stop | ( | ptid_t | t | ) | [static] |
Definition at line 1147 of file darwin-nat.c.
References current_inferior(), gdb_assert, private_inferior::no_ptrace, inferior::pid, and inferior::private.
Referenced by _initialize_darwin_inferior().
static void darwin_stop_inferior | ( | struct inferior * | inf | ) | [static] |
Definition at line 1239 of file darwin-nat.c.
References _, darwin_reply_to_all_pending_messages(), darwin_suspend_inferior(), darwin_wait(), gdb_assert, inferior_ptid, target_waitstatus::kind, private_inferior::no_ptrace, inferior::pid, inferior::private, safe_strerror(), target_waitstatus::sig, exsummary::status, TARGET_WAITKIND_STOPPED, target_waitstatus::value, and warning().
Referenced by darwin_detach().
static int darwin_supports_multi_process | ( | void | ) | [static] |
Definition at line 2062 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior().
static void darwin_suspend_inferior | ( | struct inferior * | inf | ) | [static] |
Definition at line 435 of file darwin-nat.c.
References MACH_CHECK_ERROR, inferior::private, private_inferior::suspended, and private_inferior::task.
Referenced by darwin_attach(), darwin_resume(), darwin_stop_inferior(), and darwin_suspend_inferior_it().
static int darwin_suspend_inferior_it | ( | struct inferior * | inf, |
void * | arg | ||
) | [static] |
Definition at line 467 of file darwin-nat.c.
References darwin_check_new_threads(), and darwin_suspend_inferior().
Referenced by darwin_wait().
static void darwin_suspend_inferior_threads | ( | struct inferior * | inf | ) | [static] |
Definition at line 766 of file darwin-nat.c.
References DARWIN_MESSAGE, DARWIN_RUNNING, DARWIN_STOPPED, private_thread_info::gdb_port, MACH_CHECK_ERROR, private_thread_info::msg_state, inferior::private, and VEC_iterate.
Referenced by darwin_resume().
static int darwin_thread_alive | ( | struct target_ops * | ops, |
ptid_t | tpid | ||
) | [static] |
Definition at line 1750 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior().
static ptid_t darwin_wait | ( | ptid_t | ptid, |
struct target_waitstatus * | status | ||
) | [static] |
Definition at line 1030 of file darwin-nat.c.
References _, cancel_breakpoint(), darwin_debug_flag, darwin_decode_message(), darwin_dump_message(), darwin_inf_fake_stop, DARWIN_MESSAGE, darwin_port_set, DARWIN_RUNNING, darwin_send_reply(), DARWIN_STOPPED, darwin_suspend_inferior_it(), gdbarch::data, private_thread_info::event, darwin_exception_msg::ex_type, gdb_assert, private_thread_info::gdb_port, arm-linux::inf, inferior_debug(), iterate_over_inferiors(), target_waitstatus::kind, minus_one_ptid, private_thread_info::msg_state, inferior::pid, inferior::private, ptid_build(), ptid_get_pid(), ptid_get_tid(), target_waitstatus::sig, private_thread_info::single_step, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_STOPPED, target_waitstatus::value, and VEC_index.
Referenced by darwin_kill_inferior(), darwin_stop_inferior(), and darwin_wait_to().
static ptid_t darwin_wait_to | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
struct target_waitstatus * | status, | ||
int | options | ||
) | [static] |
Definition at line 1140 of file darwin-nat.c.
References darwin_wait().
Referenced by _initialize_darwin_inferior().
static LONGEST darwin_xfer_partial | ( | struct target_ops * | ops, |
enum target_object | object, | ||
const char * | annex, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf, | ||
ULONGEST | offset, | ||
LONGEST | len | ||
) | [static] |
Definition at line 1922 of file darwin-nat.c.
References _, core_addr_to_string(), current_inferior(), darwin_read_write_inferior(), host_address_to_string(), inferior_debug(), inferior::pid, inferior::private, TARGET_OBJECT_DARWIN_DYLD_INFO, TARGET_OBJECT_MEMORY, and private_inferior::task.
Referenced by _initialize_darwin_inferior().
boolean_t exc_server | ( | mach_msg_header_t * | in, |
mach_msg_header_t * | out | ||
) |
Referenced by gnu_wait().
static int find_inferior_notify_it | ( | struct inferior * | inf, |
void * | port_ptr | ||
) | [static] |
Definition at line 398 of file darwin-nat.c.
References private_inferior::notify_port, and inferior::private.
Referenced by darwin_find_inferior_by_notify().
static int find_inferior_task_it | ( | struct inferior * | inf, |
void * | port_ptr | ||
) | [static] |
Definition at line 392 of file darwin-nat.c.
References inferior::private, and private_inferior::task.
Referenced by darwin_find_inferior_by_task().
static void inferior_debug | ( | int | level, |
const char * | fmt, | ||
... | |||
) | [static] |
Definition at line 178 of file darwin-nat.c.
References _, darwin_debug_flag, printf_unfiltered(), and vprintf_unfiltered().
Referenced by _initialize_darwin_inferior(), cancel_breakpoint(), darwin_attach_pid(), darwin_check_new_threads(), darwin_decode_message(), darwin_mourn_inferior(), darwin_ptrace(), darwin_read_write_inferior(), darwin_resume(), darwin_resume_thread(), darwin_wait(), and darwin_xfer_partial().
void mach_check_error | ( | kern_return_t | ret, |
const char * | file, | ||
unsigned int | line, | ||
const char * | func | ||
) |
Definition at line 192 of file darwin-nat.c.
static void set_enable_mach_exceptions | ( | char * | args, |
int | from_tty, | ||
struct cmd_list_element * | c | ||
) | [static] |
Definition at line 1956 of file darwin-nat.c.
References current_inferior(), darwin_ex_port, darwin_restore_exception_ports(), enable_mach_exceptions, inferior_ptid, MACH_CHECK_ERROR, null_ptid, inferior::private, ptid_equal(), and private_inferior::task.
Referenced by _initialize_darwin_inferior().
static const char* unparse_exception_type | ( | unsigned int | i | ) | [static] |
unsigned int darwin_debug_flag = 0 [static] |
Definition at line 147 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior(), darwin_wait(), and inferior_debug().
mach_port_t darwin_ex_port |
Definition at line 128 of file darwin-nat.c.
Referenced by darwin_attach_pid(), darwin_decode_message(), info_mach_ports_command(), and set_enable_mach_exceptions().
mach_port_t darwin_host_self |
Definition at line 125 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior(), info_mach_exceptions_command(), and info_mach_ports_command().
struct inferior* darwin_inf_fake_stop [static] |
Definition at line 141 of file darwin-nat.c.
Referenced by darwin_wait().
struct target_ops* darwin_ops [static] |
Definition at line 119 of file darwin-nat.c.
mach_port_t darwin_port_set |
Definition at line 131 of file darwin-nat.c.
Referenced by darwin_attach_pid(), darwin_wait(), and info_mach_ports_command().
int enable_mach_exceptions [static] |
Definition at line 138 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior(), darwin_attach_pid(), and set_enable_mach_exceptions().
task_t gdb_task [static] |
Definition at line 122 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior(), darwin_attach_pid(), darwin_check_new_threads(), darwin_get_ada_task_ptid(), and darwin_mourn_inferior().
vm_size_t mach_page_size [static] |
Definition at line 134 of file darwin-nat.c.
Referenced by _initialize_darwin_inferior(), and darwin_read_write_inferior().
int ptrace_fds[2] [static] |
Definition at line 1481 of file darwin-nat.c.