GDB (API)
|
#include "defs.h"
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <setjmp.h>
#include <signal.h>
#include <stdio.h>
#include "gdb_string.h"
#include <sys/ptrace.h>
#include <mach.h>
#include <mach_error.h>
#include <mach/exception.h>
#include <mach/message.h>
#include <mach/notify.h>
#include <mach/vm_attributes.h>
#include <hurd.h>
#include <hurd/interrupt.h>
#include <hurd/msg.h>
#include <hurd/msg_request.h>
#include <hurd/process.h>
#include <hurd/process_request.h>
#include <hurd/signal.h>
#include <hurd/sigpreempt.h>
#include <portinfo.h>
#include "inferior.h"
#include "symtab.h"
#include "value.h"
#include "language.h"
#include "target.h"
#include "gdb_wait.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdbthread.h"
#include "gdb_assert.h"
#include "gdb_obstack.h"
#include "gnu-nat.h"
#include "inf-child.h"
#include "exc_request_S.h"
#include "notify_S.h"
#include "process_reply_S.h"
#include "msg_reply_S.h"
#include "exc_request_U.h"
#include "msg_U.h"
Go to the source code of this file.
Defines | |
#define | inf_debug(_inf, msg, args...) |
#define | INF_MSGPORT_RPC(inf, rpc_expr) |
#define | INF_RESUME_MSGPORT_RPC(inf, rpc_expr) |
#define | NAME gdb_signal_to_name (sig) |
#define | CHK_GOTO_OUT(str, ret) do if (ret != KERN_SUCCESS) { errstr = #str; goto out; } while(0) |
#define | parse_bool_arg(args, cmd_prefix) _parse_bool_arg (args, "on", "off", cmd_prefix) |
Functions | |
struct inf * | make_inf () |
void | inf_clear_wait (struct inf *inf) |
void | inf_cleanup (struct inf *inf) |
void | inf_startup (struct inf *inf, int pid) |
int | inf_update_suspends (struct inf *inf) |
void | inf_set_pid (struct inf *inf, pid_t pid) |
void | inf_validate_procs (struct inf *inf) |
void | inf_steal_exc_ports (struct inf *inf) |
void | inf_restore_exc_ports (struct inf *inf) |
struct proc * | inf_tid_to_proc (struct inf *inf, int tid) |
void | inf_set_threads_resume_sc (struct inf *inf, struct proc *run_thread, int run_others) |
int | inf_set_threads_resume_sc_for_signal_thread (struct inf *inf) |
void | inf_suspend (struct inf *inf) |
void | inf_resume (struct inf *inf) |
void | inf_set_step_thread (struct inf *inf, struct proc *proc) |
void | inf_detach (struct inf *inf) |
void | inf_attach (struct inf *inf, int pid) |
void | inf_signal (struct inf *inf, enum gdb_signal sig) |
void | inf_continue (struct inf *inf) |
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) |
int | proc_update_sc (struct proc *proc) |
error_t | proc_get_exception_port (struct proc *proc, mach_port_t *port) |
error_t | proc_set_exception_port (struct proc *proc, mach_port_t port) |
void | proc_steal_exc_port (struct proc *proc, mach_port_t exc_port) |
void | proc_restore_exc_port (struct proc *proc) |
int | proc_trace (struct proc *proc, int set) |
int | __proc_pid (struct proc *proc) |
thread_state_t | proc_get_state (struct proc *proc, int will_modify) |
void | inf_set_traced (struct inf *inf, int on) |
struct proc * | inf_tid_to_thread (struct inf *inf, int tid) |
struct proc * | inf_port_to_thread (struct inf *inf, mach_port_t port) |
int | inf_update_procs (struct inf *inf) |
error_t | S_exception_raise_request (mach_port_t port, mach_port_t reply_port, thread_t thread_port, task_t task_port, int exception, int code, int subcode) |
void | inf_task_died_status (struct inf *inf) |
error_t | do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port) |
error_t | do_mach_notify_no_senders (mach_port_t notify, mach_port_mscount_t count) |
error_t | do_mach_notify_port_deleted (mach_port_t notify, mach_port_t name) |
error_t | do_mach_notify_msg_accepted (mach_port_t notify, mach_port_t name) |
error_t | do_mach_notify_port_destroyed (mach_port_t notify, mach_port_t name) |
error_t | do_mach_notify_send_once (mach_port_t notify) |
error_t | S_proc_wait_reply (mach_port_t reply, error_t err, int status, int sigcode, rusage_t rusage, pid_t pid) |
error_t | S_proc_setmsgport_reply (mach_port_t reply, error_t err, mach_port_t old_msg_port) |
error_t | S_proc_getmsgport_reply (mach_port_t reply, error_t err, mach_port_t msg_port) |
error_t | S_msg_sig_post_untraced_reply (mach_port_t reply, error_t err) |
error_t | S_msg_sig_post_reply (mach_port_t reply, error_t err) |
char * | proc_string (struct proc *proc) |
struct target_ops * | gnu_target (void) |
void | _initialize_gnu_nat (void) |
Variables | |
int | proc_wait_pid = 0 |
int | proc_waits_pending = 0 |
int | gnu_debug_flag = 0 |
struct inf * | gnu_current_inf = 0 |
struct inf * | waiting_inf |
struct obstack | region_obstack |
struct cmd_list_element * | thread_cmd_list |
struct cmd_list_element * | set_thread_cmd_list = NULL |
struct cmd_list_element * | show_thread_cmd_list = NULL |
struct cmd_list_element * | set_thread_default_cmd_list = NULL |
struct cmd_list_element * | show_thread_default_cmd_list = NULL |
#define CHK_GOTO_OUT | ( | str, | |
ret | |||
) | do if (ret != KERN_SUCCESS) { errstr = #str; goto out; } while(0) |
#define inf_debug | ( | _inf, | |
msg, | |||
args... | |||
) |
do { struct inf *__inf = (_inf); \ debug ("{inf %d %s}: " msg, __inf->pid, \ host_address_to_string (__inf) , ##args); } while (0)
#define INF_MSGPORT_RPC | ( | inf, | |
rpc_expr | |||
) |
#define INF_RESUME_MSGPORT_RPC | ( | inf, | |
rpc_expr | |||
) |
(inf_set_threads_resume_sc_for_signal_thread (inf) \ ? ({ error_t __e; \ inf_resume (inf); \ __e = INF_MSGPORT_RPC (inf, rpc_expr); \ inf_suspend (inf); \ __e; }) \ : EIEIO)
#define NAME gdb_signal_to_name (sig) |
#define parse_bool_arg | ( | args, | |
cmd_prefix | |||
) | _parse_bool_arg (args, "on", "off", cmd_prefix) |
int __proc_pid | ( | struct proc * | proc | ) |
void _initialize_gnu_nat | ( | void | ) |
struct proc * _proc_free | ( | struct proc * | proc | ) | [read] |
error_t do_mach_notify_dead_name | ( | mach_port_t | notify, |
mach_port_t | dead_port | ||
) |
error_t do_mach_notify_msg_accepted | ( | mach_port_t | notify, |
mach_port_t | name | ||
) |
error_t do_mach_notify_no_senders | ( | mach_port_t | notify, |
mach_port_mscount_t | count | ||
) |
error_t do_mach_notify_port_deleted | ( | mach_port_t | notify, |
mach_port_t | name | ||
) |
error_t do_mach_notify_port_destroyed | ( | mach_port_t | notify, |
mach_port_t | name | ||
) |
error_t do_mach_notify_send_once | ( | mach_port_t | notify | ) |
struct target_ops* gnu_target | ( | void | ) | [read] |
void inf_attach | ( | struct inf * | inf, |
int | pid | ||
) |
void inf_cleanup | ( | struct inf * | inf | ) |
void inf_clear_wait | ( | struct inf * | inf | ) |
void inf_continue | ( | struct inf * | inf | ) |
void inf_detach | ( | struct inf * | inf | ) |
struct proc* inf_port_to_thread | ( | struct inf * | inf, |
mach_port_t | port | ||
) | [read] |
void inf_restore_exc_ports | ( | struct inf * | inf | ) |
void inf_resume | ( | struct inf * | inf | ) |
void inf_set_pid | ( | struct inf * | inf, |
pid_t | pid | ||
) |
void inf_set_step_thread | ( | struct inf * | inf, |
struct proc * | proc | ||
) |
void inf_set_threads_resume_sc | ( | struct inf * | inf, |
struct proc * | run_thread, | ||
int | run_others | ||
) |
int inf_set_threads_resume_sc_for_signal_thread | ( | struct inf * | inf | ) |
void inf_set_traced | ( | struct inf * | inf, |
int | on | ||
) |
void inf_signal | ( | struct inf * | inf, |
enum gdb_signal | sig | ||
) |
void inf_startup | ( | struct inf * | inf, |
int | pid | ||
) |
void inf_steal_exc_ports | ( | struct inf * | inf | ) |
void inf_suspend | ( | struct inf * | inf | ) |
void inf_task_died_status | ( | struct inf * | inf | ) |
struct proc* inf_tid_to_proc | ( | struct inf * | inf, |
int | tid | ||
) | [read] |
struct proc* inf_tid_to_thread | ( | struct inf * | inf, |
int | tid | ||
) | [read] |
int inf_update_procs | ( | struct inf * | inf | ) |
int inf_update_suspends | ( | struct inf * | inf | ) |
void inf_validate_procs | ( | struct inf * | inf | ) |
void proc_abort | ( | struct proc * | proc, |
int | force | ||
) |
error_t proc_get_exception_port | ( | struct proc * | proc, |
mach_port_t * | port | ||
) |
thread_state_t proc_get_state | ( | struct proc * | proc, |
int | will_modify | ||
) |
void proc_restore_exc_port | ( | struct proc * | proc | ) |
error_t proc_set_exception_port | ( | struct proc * | proc, |
mach_port_t | port | ||
) |
void proc_steal_exc_port | ( | struct proc * | proc, |
mach_port_t | exc_port | ||
) |
char* proc_string | ( | struct proc * | proc | ) |
int proc_update_sc | ( | struct proc * | proc | ) |
error_t S_exception_raise_request | ( | mach_port_t | port, |
mach_port_t | reply_port, | ||
thread_t | thread_port, | ||
task_t | task_port, | ||
int | exception, | ||
int | code, | ||
int | subcode | ||
) |
error_t S_msg_sig_post_reply | ( | mach_port_t | reply, |
error_t | err | ||
) |
error_t S_msg_sig_post_untraced_reply | ( | mach_port_t | reply, |
error_t | err | ||
) |
error_t S_proc_getmsgport_reply | ( | mach_port_t | reply, |
error_t | err, | ||
mach_port_t | msg_port | ||
) |
error_t S_proc_setmsgport_reply | ( | mach_port_t | reply, |
error_t | err, | ||
mach_port_t | old_msg_port | ||
) |
error_t S_proc_wait_reply | ( | mach_port_t | reply, |
error_t | err, | ||
int | status, | ||
int | sigcode, | ||
rusage_t | rusage, | ||
pid_t | pid | ||
) |
struct inf* gnu_current_inf = 0 |
int gnu_debug_flag = 0 |
int proc_wait_pid = 0 |
struct obstack region_obstack |
struct cmd_list_element* set_thread_cmd_list = NULL |
struct cmd_list_element* set_thread_default_cmd_list = NULL |
struct cmd_list_element* show_thread_cmd_list = NULL |
struct cmd_list_element* show_thread_default_cmd_list = NULL |
struct cmd_list_element* thread_cmd_list |
struct inf* waiting_inf |