GDB (xrefs)
Classes | Macros | Functions | Variables
/tmp/gdb-7.10/gdb/gnu-nat.c File Reference
#include "defs.h"
#include <ctype.h>
#include <limits.h>
#include <setjmp.h>
#include <signal.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_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.

Classes

struct  exc_state
 
struct  inf_wait
 
struct  inf
 
struct  vm_region_list
 

Macros

#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 ILL_RPC(fun, ...)
 
#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

static struct infmake_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)
 
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 procmake_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)
 
static mach_port_t _proc_get_exc_port (struct proc *proc)
 
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)
 
static void inf_validate_procinfo (struct inf *inf)
 
static void inf_validate_task_sc (struct inf *inf)
 
static void inf_set_traced (struct inf *inf, int on)
 
struct procinf_tid_to_thread (struct inf *inf, int tid)
 
static struct procinf_port_to_thread (struct inf *inf, mach_port_t port)
 
void inf_threads (struct inf *inf, inf_threads_ftype *f, void *arg)
 
int inf_update_procs (struct inf *inf)
 
static void inf_update_signal_thread (struct inf *inf)
 
static ptid_t gnu_wait (struct target_ops *ops, ptid_t ptid, struct target_waitstatus *status, int options)
 
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)
 
static void inf_task_died_status (struct inf *inf)
 
error_t do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port)
 
 ILL_RPC (do_mach_notify_no_senders, mach_port_t notify, mach_port_mscount_t count) ILL_RPC(do_mach_notify_port_deleted
 
mach_port_t mach_port_t name ILL_RPC (do_mach_notify_msg_accepted, mach_port_t notify, mach_port_t name) ILL_RPC(do_mach_notify_port_destroyed
 
mach_port_t mach_port_t name mach_port_t mach_port_t name ILL_RPC (do_mach_notify_send_once, mach_port_t notify) error_t S_proc_wait_reply(mach_port_t reply
 
 inf_debug (inf,"err = %s, pid = %d, status = 0x%x, sigcode = %d", err?safe_strerror(err):"0", pid, status, sigcode)
 
 if (err &&proc_wait_pid &&!inf->task||!inf->task->port)
 
else if (pid==inf->pid)
 
 ILL_RPC (S_proc_setmsgport_reply, mach_port_t reply_port, kern_return_t return_code, mach_port_t oldmsgport) ILL_RPC(S_proc_getmsgport_reply
 
mach_port_t kern_return_t mach_port_t msgports ILL_RPC (S_proc_pid2task_reply, mach_port_t reply_port, kern_return_t return_code, mach_port_t task) ILL_RPC(S_proc_task2pid_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid ILL_RPC (S_proc_task2proc_reply, mach_port_t reply_port, kern_return_t return_code, mach_port_t proc) ILL_RPC(S_proc_proc2task_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task ILL_RPC (S_proc_pid2proc_reply, mach_port_t reply_port, kern_return_t return_code, mach_port_t proc) ILL_RPC(S_proc_getprocinfo_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt ILL_RPC (S_proc_getprocargs_reply, mach_port_t reply_port, kern_return_t return_code, data_t procargs, mach_msg_type_number_t procargsCnt) ILL_RPC(S_proc_getprocenv_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt ILL_RPC (S_proc_getloginid_reply, mach_port_t reply_port, kern_return_t return_code, pid_t login_id) ILL_RPC(S_proc_getloginpids_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt ILL_RPC (S_proc_getlogin_reply, mach_port_t reply_port, kern_return_t return_code, string_t logname) ILL_RPC(S_proc_getsid_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid ILL_RPC (S_proc_getsessionpgids_reply, mach_port_t reply_port, kern_return_t return_code, pidarray_t pgidset, mach_msg_type_number_t pgidsetCnt) ILL_RPC(S_proc_getsessionpids_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt ILL_RPC (S_proc_getsidport_reply, mach_port_t reply_port, kern_return_t return_code, mach_port_t sessport) ILL_RPC(S_proc_getpgrp_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp ILL_RPC (S_proc_getpgrppids_reply, mach_port_t reply_port, kern_return_t return_code, pidarray_t pidset, mach_msg_type_number_t pidsetCnt) ILL_RPC(S_proc_get_tty_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty ILL_RPC (S_proc_getnports_reply, mach_port_t reply_port, kern_return_t return_code, mach_msg_type_number_t nports) ILL_RPC(S_proc_is_important_reply
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty mach_port_t kern_return_t boolean_t essential ILL_RPC (S_proc_get_code_reply, mach_port_t reply_port, kern_return_t return_code, vm_address_t start_code, vm_address_t end_code) error_t S_msg_sig_post_untraced_reply(mach_port_t reply
 
 if (err==EBUSY)
 
static void gnu_resume (struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal sig)
 
static void gnu_kill_inferior (struct target_ops *ops)
 
static void gnu_mourn_inferior (struct target_ops *ops)
 
static int inf_pick_first_thread (void)
 
static struct infcur_inf (void)
 
static void gnu_create_inferior (struct target_ops *ops, char *exec_file, char *allargs, char **env, int from_tty)
 
static void gnu_attach (struct target_ops *ops, const char *args, int from_tty)
 
static void gnu_detach (struct target_ops *ops, const char *args, int from_tty)
 
static void gnu_terminal_init (struct target_ops *self)
 
static void gnu_stop (struct target_ops *self, ptid_t ptid)
 
static int gnu_thread_alive (struct target_ops *ops, ptid_t ptid)
 
static int gnu_read_inferior (task_t task, CORE_ADDR addr, gdb_byte *myaddr, int length)
 
static int gnu_write_inferior (task_t task, CORE_ADDR addr, const gdb_byte *myaddr, int length)
 
static enum target_xfer_status gnu_xfer_memory (gdb_byte *readbuf, const gdb_byte *writebuf, CORE_ADDR memaddr, ULONGEST len, ULONGEST *xfered_len)
 
static enum target_xfer_status gnu_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 
static int gnu_find_memory_regions (struct target_ops *self, find_memory_region_ftype func, void *data)
 
char * proc_string (struct proc *proc)
 
static char * gnu_pid_to_str (struct target_ops *ops, ptid_t ptid)
 
struct target_opsgnu_target (void)
 
static void set_thread_cmd (char *args, int from_tty)
 
static void show_thread_cmd (char *args, int from_tty)
 
static void set_thread_default_cmd (char *args, int from_tty)
 
static void show_thread_default_cmd (char *args, int from_tty)
 
static int parse_int_arg (char *args, char *cmd_prefix)
 
static int _parse_bool_arg (char *args, char *t_val, char *f_val, char *cmd_prefix)
 
static void check_empty (char *args, char *cmd_prefix)
 
static struct proccur_thread (void)
 
static struct infactive_inf (void)
 
static void set_task_pause_cmd (char *args, int from_tty)
 
static void show_task_pause_cmd (char *args, int from_tty)
 
static void set_task_detach_sc_cmd (char *args, int from_tty)
 
static void show_task_detach_sc_cmd (char *args, int from_tty)
 
static void set_thread_default_pause_cmd (char *args, int from_tty)
 
static void show_thread_default_pause_cmd (char *args, int from_tty)
 
static void set_thread_default_run_cmd (char *args, int from_tty)
 
static void show_thread_default_run_cmd (char *args, int from_tty)
 
static void set_thread_default_detach_sc_cmd (char *args, int from_tty)
 
static void show_thread_default_detach_sc_cmd (char *args, int from_tty)
 
static void steal_exc_port (struct proc *proc, mach_port_t name)
 
static void set_task_exc_port_cmd (char *args, int from_tty)
 
static void set_stopped_cmd (char *args, int from_tty)
 
static void show_stopped_cmd (char *args, int from_tty)
 
static void set_sig_thread_cmd (char *args, int from_tty)
 
static void show_sig_thread_cmd (char *args, int from_tty)
 
static void set_signals_cmd (char *args, int from_tty)
 
static void show_signals_cmd (char *args, int from_tty)
 
static void set_exceptions_cmd (char *args, int from_tty)
 
static void show_exceptions_cmd (char *args, int from_tty)
 
static void set_task_cmd (char *args, int from_tty)
 
static void show_task_cmd (char *args, int from_tty)
 
static void set_noninvasive_cmd (char *args, int from_tty)
 
static void info_port_rights (const char *args, mach_port_type_t only)
 
static void info_send_rights_cmd (char *args, int from_tty)
 
static void info_recv_rights_cmd (char *args, int from_tty)
 
static void info_port_sets_cmd (char *args, int from_tty)
 
static void info_dead_names_cmd (char *args, int from_tty)
 
static void info_port_rights_cmd (char *args, int from_tty)
 
static void add_task_commands (void)
 
static void set_thread_pause_cmd (char *args, int from_tty)
 
static void show_thread_pause_cmd (char *args, int from_tty)
 
static void set_thread_run_cmd (char *args, int from_tty)
 
static void show_thread_run_cmd (char *args, int from_tty)
 
static void set_thread_detach_sc_cmd (char *args, int from_tty)
 
static void show_thread_detach_sc_cmd (char *args, int from_tty)
 
static void set_thread_exc_port_cmd (char *args, int from_tty)
 
static void thread_takeover_sc_cmd (char *args, int from_tty)
 
static void add_thread_commands (void)
 
void _initialize_gnu_nat (void)
 

Variables

static process_t proc_server = MACH_PORT_NULL
 
int proc_wait_pid = 0
 
int proc_waits_pending = 0
 
int gnu_debug_flag = 0
 
static int next_thread_id = 1
 
struct infgnu_current_inf = 0
 
struct infwaiting_inf
 
mach_port_t notify
 
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t err
 
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status
 
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int sigcode
 
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t rusage
 
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid
 
else inf wait suppress = 1
 
 return
 
mach_port_t reply_port
 
mach_port_t kern_return_t return_code
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t procinfo
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t procinfoCnt
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t threadwaits
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t procenv
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t pids
 
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t pidset
 
struct obstack region_obstack
 
static struct cmd_list_elementset_task_cmd_list = 0
 
static struct cmd_list_elementshow_task_cmd_list = 0
 
struct cmd_list_elementthread_cmd_list
 
struct cmd_list_elementset_thread_cmd_list = NULL
 
struct cmd_list_elementshow_thread_cmd_list = NULL
 
struct cmd_list_elementset_thread_default_cmd_list = NULL
 
struct cmd_list_elementshow_thread_default_cmd_list = NULL
 
initialize_file_ftype _initialize_gnu_nat
 

Macro Definition Documentation

#define CHK_GOTO_OUT (   str,
  ret 
)    do if (ret != KERN_SUCCESS) { errstr = #str; goto out; } while(0)

Definition at line 2323 of file gnu-nat.c.

Referenced by gnu_write_inferior().

#define ILL_RPC (   fun,
  ... 
)
Value:
extern kern_return_t fun (__VA_ARGS__); \
kern_return_t fun (__VA_ARGS__) \
{ \
warning (_("illegal rpc: %s"), #fun); \
return 0; \
}
#define _(String)
Definition: gdb_locale.h:40

Definition at line 1794 of file gnu-nat.c.

#define inf_debug (   _inf,
  msg,
  args... 
)
#define INF_MSGPORT_RPC (   inf,
  rpc_expr 
)
Value:
HURD_MSGPORT_RPC (proc_getmsgport (proc_server, inf->pid, &msgport), \
(refport = inf->task->port, 0), 0, \
msgport ? (rpc_expr) : EIEIO)
thread_t port
Definition: gnu-nat.h:44
struct proc * task
Definition: gnu-nat.c:167
static process_t proc_server
Definition: gnu-nat.c:73
Definition: gnu-nat.c:163
pid_t pid
Definition: gnu-nat.c:176

Definition at line 126 of file gnu-nat.c.

Referenced by inf_signal().

#define INF_RESUME_MSGPORT_RPC (   inf,
  rpc_expr 
)
Value:
? ({ error_t __e; \
__e = INF_MSGPORT_RPC (inf, rpc_expr); \
__e; }) \
: EIEIO)
#define INF_MSGPORT_RPC(inf, rpc_expr)
Definition: gnu-nat.c:126
void inf_resume(struct inf *inf)
Definition: gnu-nat.c:1150
int inf_set_threads_resume_sc_for_signal_thread(struct inf *inf)
Definition: gnu-nat.c:1221
Definition: gnu-nat.c:163
void inf_suspend(struct inf *inf)
Definition: gnu-nat.c:1175

Definition at line 134 of file gnu-nat.c.

Referenced by inf_set_traced(), and inf_signal().

#define NAME   gdb_signal_to_name (sig)

Referenced by inf_signal().

#define parse_bool_arg (   args,
  cmd_prefix 
)    _parse_bool_arg (args, "on", "off", cmd_prefix)

Function Documentation

int __proc_pid ( struct proc proc)

Definition at line 242 of file gnu-nat.c.

References proc::inf, and inf::pid.

void _initialize_gnu_nat ( void  )
static int _parse_bool_arg ( char *  args,
char *  t_val,
char *  f_val,
char *  cmd_prefix 
)
static

Definition at line 2754 of file gnu-nat.c.

References _, and error().

Referenced by set_stopped_cmd().

struct proc * _proc_free ( struct proc proc)
static mach_port_t _proc_get_exc_port ( struct proc proc)
static
static struct inf* active_inf ( void  )
static

Definition at line 2790 of file gnu-nat.c.

References _, cur_inf(), error(), arm-linux::inf, and inf::task.

Referenced by info_port_rights(), show_sig_thread_cmd(), and show_stopped_cmd().

static void add_task_commands ( void  )
static
static void add_thread_commands ( void  )
static
static void check_empty ( char *  args,
char *  cmd_prefix 
)
static
static struct inf* cur_inf ( void  )
static
static struct proc* cur_thread ( void  )
static
error_t do_mach_notify_dead_name ( mach_port_t  notify,
mach_port_t  dead_port 
)
static void gnu_attach ( struct target_ops ops,
const char *  args,
int  from_tty 
)
static
static void gnu_create_inferior ( struct target_ops ops,
char *  exec_file,
char *  allargs,
char **  env,
int  from_tty 
)
static
static void gnu_detach ( struct target_ops ops,
const char *  args,
int  from_tty 
)
static
static int gnu_find_memory_regions ( struct target_ops self,
find_memory_region_ftype  func,
void *  data 
)
static

Definition at line 2556 of file gnu-nat.c.

References _, err, offset, proc::port, vm_region_list::protection, inf::task, VM_MIN_ADDRESS, and warning().

Referenced by gnu_target().

static void gnu_kill_inferior ( struct target_ops ops)
static

Definition at line 2073 of file gnu-nat.c.

References inf_set_pid(), proc::port, proc_debug, target_mourn_inferior(), and inf::task.

Referenced by gnu_target().

static void gnu_mourn_inferior ( struct target_ops ops)
static

Definition at line 2088 of file gnu-nat.c.

References inf_child_mourn_inferior(), inf_debug, and inf_detach().

Referenced by gnu_target().

static char* gnu_pid_to_str ( struct target_ops ops,
ptid_t  ptid 
)
static

Definition at line 2650 of file gnu-nat.c.

References gnu_current_inf, inf_tid_to_thread(), proc_string(), ptid_get_lwp(), and xsnprintf().

Referenced by gnu_target().

static int gnu_read_inferior ( task_t  task,
CORE_ADDR  addr,
gdb_byte myaddr,
int  length 
)
static

Definition at line 2293 of file gnu-nat.c.

References _, err, safe_strerror(), and warning().

Referenced by gnu_xfer_memory().

static void gnu_resume ( struct target_ops ops,
ptid_t  ptid,
int  step,
enum gdb_signal  sig 
)
static
static void gnu_stop ( struct target_ops self,
ptid_t  ptid 
)
static

Definition at line 2275 of file gnu-nat.c.

References _, and error().

Referenced by gnu_target().

struct target_ops* gnu_target ( void  )
static void gnu_terminal_init ( struct target_ops self)
static

Definition at line 2268 of file gnu-nat.c.

References child_terminal_init_with_pgrp(), gdb_assert, and inf::pid.

Referenced by gnu_target().

static int gnu_thread_alive ( struct target_ops ops,
ptid_t  ptid 
)
static

Definition at line 2281 of file gnu-nat.c.

References inf_tid_to_thread(), inf_update_procs(), and ptid_get_lwp().

Referenced by gnu_target().

static ptid_t gnu_wait ( struct target_ops ops,
ptid_t  ptid,
struct target_waitstatus status,
int  options 
)
static
static int gnu_write_inferior ( task_t  task,
CORE_ADDR  addr,
const gdb_byte myaddr,
int  length 
)
static
static enum target_xfer_status gnu_xfer_memory ( gdb_byte readbuf,
const gdb_byte writebuf,
CORE_ADDR  memaddr,
ULONGEST  len,
ULONGEST xfered_len 
)
static
static enum target_xfer_status gnu_xfer_partial ( struct target_ops ops,
enum target_object  object,
const char *  annex,
gdb_byte readbuf,
const gdb_byte writebuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len 
)
static

Definition at line 2540 of file gnu-nat.c.

References gnu_xfer_memory(), TARGET_OBJECT_MEMORY, and TARGET_XFER_E_IO.

Referenced by gnu_target().

if ( err &&proc_wait_pid &&  !inf->task||!inf->task->port)

Definition at line 1824 of file gnu-nat.c.

else if ( pid  = inf->pid)
else if ( err  = = EBUSY)
ILL_RPC ( do_mach_notify_no_senders  ,
mach_port_t  notify,
mach_port_mscount_t  count 
)
mach_port_t mach_port_t name ILL_RPC ( do_mach_notify_msg_accepted  ,
mach_port_t  notify,
mach_port_t  name 
)
mach_port_t mach_port_t name mach_port_t mach_port_t name ILL_RPC ( do_mach_notify_send_once  ,
mach_port_t  notify 
)
ILL_RPC ( S_proc_setmsgport_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_port_t  oldmsgport 
)
mach_port_t kern_return_t mach_port_t msgports ILL_RPC ( S_proc_pid2task_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_port_t  task 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid ILL_RPC ( S_proc_task2proc_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_port_t  proc 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task ILL_RPC ( S_proc_pid2proc_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_port_t  proc 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt ILL_RPC ( S_proc_getprocargs_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
data_t  procargs,
mach_msg_type_number_t  procargsCnt 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt ILL_RPC ( S_proc_getloginid_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
pid_t  login_id 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt ILL_RPC ( S_proc_getlogin_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
string_t  logname 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid ILL_RPC ( S_proc_getsessionpgids_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
pidarray_t  pgidset,
mach_msg_type_number_t  pgidsetCnt 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt ILL_RPC ( S_proc_getsidport_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_port_t  sessport 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp ILL_RPC ( S_proc_getpgrppids_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
pidarray_t  pidset,
mach_msg_type_number_t  pidsetCnt 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty ILL_RPC ( S_proc_getnports_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
mach_msg_type_number_t  nports 
)
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty mach_port_t kern_return_t boolean_t essential ILL_RPC ( S_proc_get_code_reply  ,
mach_port_t  reply_port,
kern_return_t  return_code,
vm_address_t  start_code,
vm_address_t  end_code 
)
void inf_attach ( struct inf inf,
int  pid 
)

Definition at line 1285 of file gnu-nat.c.

References inf_debug, inf_detach(), inf_startup(), and inf::pid.

Referenced by gnu_attach(), and gnu_create_inferior().

void inf_cleanup ( struct inf inf)
void inf_clear_wait ( struct inf inf)
void inf_continue ( struct inf inf)
inf_debug ( inf  ,
err = %s,
pid  = %d,
status  = 0x%x 
)
void inf_detach ( struct inf inf)
static int inf_pick_first_thread ( void  )
static

Definition at line 2100 of file gnu-nat.c.

References next_thread_id, inf::task, inf::threads, and proc::tid.

Referenced by gnu_attach(), and gnu_create_inferior().

static struct proc* inf_port_to_thread ( struct inf inf,
mach_port_t  port 
)
static

Definition at line 976 of file gnu-nat.c.

References proc::next, proc::port, and inf::threads.

Referenced by do_mach_notify_dead_name(), and S_exception_raise_request().

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)

Definition at line 1221 of file gnu-nat.c.

References inf_set_threads_resume_sc(), and inf::signal_thread.

static void inf_set_traced ( struct inf inf,
int  on 
)
static
void inf_signal ( struct inf inf,
enum gdb_signal  sig 
)
void inf_startup ( struct inf inf,
int  pid 
)

Definition at line 714 of file gnu-nat.c.

References _, err, error(), inf::event_port, inf_cleanup(), inf_debug, inf_set_pid(), and safe_strerror().

Referenced by inf_attach().

void inf_steal_exc_ports ( struct inf inf)
void inf_suspend ( struct inf inf)
static void inf_task_died_status ( struct inf inf)
static
void inf_threads ( struct inf inf,
inf_threads_ftype f,
void *  arg 
)

Definition at line 991 of file gnu-nat.c.

References proc::next, and inf::threads.

struct proc* inf_tid_to_thread ( struct inf inf,
int  tid 
)
int inf_update_procs ( struct inf inf)
static void inf_update_signal_thread ( struct inf inf)
static

Definition at line 1233 of file gnu-nat.c.

References proc::next, inf::signal_thread, and inf::threads.

Referenced by gnu_attach(), and gnu_create_inferior().

int inf_update_suspends ( struct inf inf)
static void inf_validate_procinfo ( struct inf inf)
static

Definition at line 790 of file gnu-nat.c.

References err, inf::nomsg, inf::pid, proc_server, inf::stopped, and inf::traced.

Referenced by gnu_attach(), gnu_create_inferior(), gnu_resume(), and inf_detach().

void inf_validate_procs ( struct inf inf)
static void inf_validate_task_sc ( struct inf inf)
static
static void info_dead_names_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3148 of file gnu-nat.c.

References info_port_rights().

Referenced by add_task_commands().

static void info_port_rights ( const char *  args,
mach_port_type_t  only 
)
static
static void info_port_rights_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3154 of file gnu-nat.c.

References info_port_rights().

Referenced by add_task_commands().

static void info_port_sets_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3142 of file gnu-nat.c.

References info_port_rights().

Referenced by add_task_commands().

static void info_recv_rights_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3136 of file gnu-nat.c.

References info_port_rights().

Referenced by add_task_commands().

static void info_send_rights_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3130 of file gnu-nat.c.

References info_port_rights().

Referenced by add_task_commands().

static struct inf * make_inf ( void  )
static
struct proc * make_proc ( struct inf inf,
mach_port_t  port,
int  tid 
)
static int parse_int_arg ( char *  args,
char *  cmd_prefix 
)
static

Definition at line 2739 of file gnu-nat.c.

References _, and error().

Referenced by set_task_detach_sc_cmd(), set_thread_default_detach_sc_cmd(), and set_thread_detach_sc_cmd().

void proc_abort ( struct proc proc,
int  force 
)
error_t proc_get_exception_port ( struct proc proc,
mach_port_t *  port 
)

Definition at line 391 of file gnu-nat.c.

References proc::port, and proc_is_task.

Referenced by _proc_get_exc_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 
)

Definition at line 401 of file gnu-nat.c.

References proc::port, proc_debug, and proc_is_task.

Referenced by proc_restore_exc_port(), proc_steal_exc_port(), and steal_exc_port().

void proc_steal_exc_port ( struct proc proc,
mach_port_t  exc_port 
)
char* proc_string ( struct proc proc)
int proc_trace ( struct proc proc,
int  set 
)
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 
)
static void set_exceptions_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3024 of file gnu-nat.c.

References cur_inf(), parse_bool_arg, and inf::want_exceptions.

Referenced by add_task_commands(), and set_noninvasive_cmd().

static void set_noninvasive_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3084 of file gnu-nat.c.

References parse_bool_arg, set_exceptions_cmd(), set_signals_cmd(), and set_task_pause_cmd().

Referenced by add_task_commands().

static void set_sig_thread_cmd ( char *  args,
int  from_tty 
)
static
static void set_signals_cmd ( char *  args,
int  from_tty 
)
static
static void set_stopped_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2947 of file gnu-nat.c.

References _parse_bool_arg(), cur_inf(), and inf::stopped.

Referenced by add_task_commands().

static void set_task_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3049 of file gnu-nat.c.

References printf_unfiltered().

Referenced by add_task_commands().

static void set_task_detach_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2827 of file gnu-nat.c.

References cur_inf(), inf::detach_sc, and parse_int_arg().

Referenced by add_task_commands().

static void set_task_exc_port_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2937 of file gnu-nat.c.

References _, cur_inf(), error(), parse_and_eval_address(), steal_exc_port(), and inf::task.

Referenced by add_task_commands().

static void set_task_pause_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2801 of file gnu-nat.c.

References cur_inf(), inf_suspend(), parse_bool_arg, and inf::pause_sc.

Referenced by add_task_commands(), and set_noninvasive_cmd().

static void set_thread_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2711 of file gnu-nat.c.

References printf_unfiltered().

Referenced by add_thread_commands().

static void set_thread_default_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2725 of file gnu-nat.c.

References printf_unfiltered().

Referenced by add_thread_commands().

static void set_thread_default_detach_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2884 of file gnu-nat.c.

References cur_inf(), inf::default_thread_detach_sc, and parse_int_arg().

Referenced by add_task_commands().

static void set_thread_default_pause_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2844 of file gnu-nat.c.

References cur_inf(), inf::default_thread_pause_sc, and parse_bool_arg.

Referenced by add_task_commands().

static void set_thread_default_run_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2865 of file gnu-nat.c.

References cur_inf(), inf::default_thread_run_sc, and parse_bool_arg.

Referenced by add_task_commands().

static void set_thread_detach_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3336 of file gnu-nat.c.

References cur_thread(), proc::detach_sc, and parse_int_arg().

Referenced by add_thread_commands().

static void set_thread_exc_port_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3355 of file gnu-nat.c.

References _, cur_thread(), error(), parse_and_eval_address(), and steal_exc_port().

Referenced by add_thread_commands().

static void set_thread_pause_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3291 of file gnu-nat.c.

References cur_thread(), proc::inf, inf_suspend(), parse_bool_arg, proc::pause_sc, and inf::pause_sc.

Referenced by add_thread_commands().

static void set_thread_run_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3317 of file gnu-nat.c.

References cur_thread(), parse_bool_arg, and proc::run_sc.

Referenced by add_thread_commands().

static void show_exceptions_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3036 of file gnu-nat.c.

References check_empty(), cur_inf(), printf_unfiltered(), inf::task, and inf::want_exceptions.

Referenced by add_task_commands(), and show_task_cmd().

static void show_sig_thread_cmd ( char *  args,
int  from_tty 
)
static
static void show_signals_cmd ( char *  args,
int  from_tty 
)
static
static void show_stopped_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2953 of file gnu-nat.c.

References active_inf(), check_empty(), printf_unfiltered(), and inf::stopped.

Referenced by add_task_commands(), and show_task_cmd().

static void show_task_cmd ( char *  args,
int  from_tty 
)
static
static void show_task_detach_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2834 of file gnu-nat.c.

References check_empty(), cur_inf(), inf::detach_sc, and printf_unfiltered().

Referenced by add_task_commands(), and show_task_cmd().

static void show_task_pause_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2815 of file gnu-nat.c.

References check_empty(), cur_inf(), inf::pause_sc, printf_unfiltered(), and inf::task.

Referenced by add_task_commands(), and show_task_cmd().

static void show_thread_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2718 of file gnu-nat.c.

References printf_unfiltered().

Referenced by add_thread_commands().

static void show_thread_default_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2732 of file gnu-nat.c.

References printf_unfiltered().

Referenced by add_thread_commands().

static void show_thread_default_detach_sc_cmd ( char *  args,
int  from_tty 
)
static
static void show_thread_default_pause_cmd ( char *  args,
int  from_tty 
)
static
static void show_thread_default_run_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 2874 of file gnu-nat.c.

References check_empty(), cur_inf(), inf::default_thread_run_sc, and printf_unfiltered().

Referenced by add_task_commands(), and show_task_cmd().

static void show_thread_detach_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3343 of file gnu-nat.c.

References check_empty(), cur_thread(), proc::detach_sc, printf_unfiltered(), and proc_string().

Referenced by add_thread_commands().

static void show_thread_pause_cmd ( char *  args,
int  from_tty 
)
static
static void show_thread_run_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3325 of file gnu-nat.c.

References check_empty(), cur_thread(), printf_unfiltered(), proc_string(), and proc::run_sc.

Referenced by add_thread_commands().

static void steal_exc_port ( struct proc proc,
mach_port_t  name 
)
static
static void thread_takeover_sc_cmd ( char *  args,
int  from_tty 
)
static

Definition at line 3379 of file gnu-nat.c.

References cur_thread(), error(), proc::port, printf_unfiltered(), safe_strerror(), and proc::sc.

Referenced by add_thread_commands().

Variable Documentation

initialize_file_ftype _initialize_gnu_nat
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty mach_port_t kern_return_t boolean_t essential error_t err
Initial value:
{
struct inf *inf = waiting_inf
struct inf * waiting_inf
Definition: gnu-nat.c:1450
Definition: gnu-nat.c:163

Definition at line 1816 of file gnu-nat.c.

Referenced by _proc_get_exc_port(), add_solib_catchpoint(), apropos_command(), arm_process_displaced_insn(), attach_proc_task_lwp_callback(), c_get_string(), check_event(), check_for_thread_db(), compile_rx_or_error(), cp_comp_to_string(), decode_thumb_32bit_ld_mem_hints(), display_selector(), do_all_continuations_thread_callback(), do_all_intermediate_continuations_thread_callback(), dos_baudconv(), enable_thread_event(), enable_thread_event_reporting(), error_symbol_once(), fetch_fpregs(), find_new_threads_callback(), find_new_threads_once(), gdb_xml_parse(), gdb_xml_use_dtd(), gdbpy_finish_initialization(), gnu_find_memory_regions(), gnu_read_inferior(), gnu_wait(), inf_continue(), inf_set_pid(), inf_set_traced(), inf_signal(), inf_startup(), inf_validate_procinfo(), inf_validate_procs(), inf_validate_task_sc(), inferior_has_bug(), jit_read_code_entry(), jit_read_descriptor(), linux_thread_alive(), make_proc(), mem_bfd_iovec_pread(), mips_check_lsi_error(), mips_exit_debug(), mips_fetch_registers(), mips_fetch_word(), mips_initialize(), mips_receive_packet(), mips_resume(), mips_send_packet(), mips_store_registers(), mips_store_word(), mips_wait(), net_open(), nto_parse_redirection(), perror_string(), pipe_windows_open(), print_sys_errmsg(), proc_get_state(), proc_restore_exc_port(), proc_steal_exc_port(), proc_update_sc(), procfs_create_inferior(), procfs_meminfo(), procfs_store_registers(), procfs_thread_alive(), python_interactive_command(), record_thread(), remote_enable_btrace(), search_symbols(), steal_exc_port(), store_fpregs(), target_write_memory_blocks(), tfile_target_save(), thread_db_find_new_threads_2(), thread_db_get_thread_local_address(), thread_db_notice_clone(), thread_from_lwp(), thread_rec(), thumb_process_displaced_16bit_insn(), thumb_process_displaced_32bit_insn(), try_thread_db_load_1(), and typy_legacy_template_argument().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
struct inf* gnu_current_inf = 0
int gnu_debug_flag = 0

Definition at line 82 of file gnu-nat.c.

Referenced by _initialize_gnu_nat().

int next_thread_id = 1
static

Definition at line 533 of file gnu-nat.c.

Referenced by inf_pick_first_thread(), and inf_validate_procs().

mach_port_t mach_port_t name mach_port_t notify

Definition at line 1805 of file gnu-nat.c.

Referenced by enable_thread_event(), and generic_observer_attach().

mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid
Initial value:
{
struct inf *inf = waiting_inf
struct inf * waiting_inf
Definition: gnu-nat.c:1450
Definition: gnu-nat.c:163

Definition at line 1818 of file gnu-nat.c.

Referenced by aarch64_add_process(), add_displaced_stepping_state(), add_inferior_silent(), add_to_pid_list(), add_to_thread_list(), arm_linux_add_process(), arm_linux_insert_hw_breakpoint1(), arm_linux_prepare_to_resume(), arm_linux_read_description(), arm_linux_remove_hw_breakpoint1(), bsd_uthread_update_thread_list(), clear_inline_frame_state(), core_close(), core_pid_to_str(), create_inferior_call_event_object(), create_procinfo(), darwin_attach(), darwin_decode_message(), darwin_detach(), darwin_resume(), debug_reg_change_callback(), detach_inferior_command(), do_initial_windows_stuff(), exec_continue(), extended_remote_attach(), extended_remote_kill(), fbsd_pid_to_exec_file(), find_thread_object(), find_thread_of_process(), follow_exec(), fork_inferior(), gdbpy_create_ptid_object(), generic_mourn_inferior(), get_ptrace_pid(), get_sim_inferior_data_by_ptid(), gnu_attach(), gnu_create_inferior(), gnu_detach(), have_threads(), have_threads_callback(), i386_linux_resume(), i386fbsd_resume(), ia64_linux_fetch_register(), ia64_linux_store_register(), inf_ptrace_attach(), inf_ptrace_create_inferior(), inf_ptrace_fetch_register(), inf_ptrace_resume(), inf_ptrace_store_register(), inf_ptrace_wait(), inf_set_pid(), inferior_appeared(), info_auto_load_libthread_db(), interrupt_thread_callback(), kill_inferior_command(), kill_new_fork_children(), kill_wait_callback(), linux_fill_prpsinfo(), linux_find_memory_regions_full(), linux_fork_killall(), linux_handle_extended_wait(), linux_info_proc(), linux_nat_attach(), linux_nat_detach(), linux_nat_get_siginfo(), linux_nat_mourn_inferior(), linux_nat_post_attach_wait(), linux_nat_thread_address_space(), linux_nat_thread_name(), linux_proc_xfer_spu(), linux_xfer_osdata_fds(), linux_xfer_osdata_processes(), linux_xfer_osdata_processgroups(), linux_xfer_osdata_threads(), linux_xfer_siginfo(), list_available_thread_groups(), mi_cmd_target_detach(), mnsh_maybe_mourn_peer(), parse_pid_to_attach(), pipe_open(), proceed_after_attach_callback(), proceed_after_vfork_done(), proceed_thread_callback(), procfs_attach(), procfs_create_inferior(), procfs_detach(), procfs_fetch_registers(), procfs_info_proc(), procfs_pid_to_str(), procfs_pidlist(), procfs_store_registers(), procfs_thread_alive(), procfs_update_thread_list(), ptid_build(), read_ptid(), remote_detach_1(), remote_newthread_step(), remote_notice_new_inferior(), remote_parse_stop_reply(), remove_new_fork_children(), rs6000_ptrace_ldinfo(), rs6000_wait(), rs6000_xfer_partial(), shell_escape(), sol2_core_pid_to_str(), sol_thread_alive(), sparc_fetch_inferior_registers(), sparc_store_inferior_registers(), sparc_xfer_wcookie(), spu_child_wait(), spu_memory_remove_breakpoint(), spu_proc_xfer_spu(), tfile_close(), thpy_get_ptid(), try_thread_db_load_1(), VEC(), wait_lwp(), wait_to_die_with_timeout(), windows_attach(), windows_wait(), write_ptid(), and x86_add_process().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t pids

Definition at line 1897 of file gnu-nat.c.

Referenced by info_auto_load_libthread_db().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t pidset

Definition at line 1907 of file gnu-nat.c.

process_t proc_server = MACH_PORT_NULL
static
int proc_wait_pid = 0

Definition at line 77 of file gnu-nat.c.

Referenced by do_mach_notify_dead_name(), and gnu_wait().

int proc_waits_pending = 0

Definition at line 80 of file gnu-nat.c.

Referenced by gnu_wait().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t procenv

Definition at line 1892 of file gnu-nat.c.

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t procinfo

Definition at line 1885 of file gnu-nat.c.

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t procinfoCnt

Definition at line 1885 of file gnu-nat.c.

struct obstack region_obstack

Definition at line 2334 of file gnu-nat.c.

Referenced by gnu_write_inferior().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty mach_port_t reply_port

Definition at line 1872 of file gnu-nat.c.

Referenced by S_exception_raise_request().

return

Definition at line 1865 of file gnu-nat.c.

Referenced by gdb.command.pretty_printers::parse_printer_regexps().

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t mach_msg_type_number_t threadwaitsCnt mach_port_t kern_return_t data_t mach_msg_type_number_t procenvCnt mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsCnt mach_port_t kern_return_t pid_t sid mach_port_t kern_return_t pidarray_t mach_msg_type_number_t pidsetCnt mach_port_t kern_return_t pid_t pgrp mach_port_t kern_return_t mach_port_t tty mach_port_t kern_return_t return_code

Definition at line 1872 of file gnu-nat.c.

mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t rusage

Definition at line 1816 of file gnu-nat.c.

struct cmd_list_element* set_task_cmd_list = 0
static

Definition at line 2697 of file gnu-nat.c.

struct cmd_list_element* set_thread_cmd_list = NULL

Definition at line 2703 of file gnu-nat.c.

struct cmd_list_element* set_thread_default_cmd_list = NULL

Definition at line 2707 of file gnu-nat.c.

struct cmd_list_element* show_task_cmd_list = 0
static

Definition at line 2698 of file gnu-nat.c.

struct cmd_list_element* show_thread_cmd_list = NULL

Definition at line 2704 of file gnu-nat.c.

struct cmd_list_element* show_thread_default_cmd_list = NULL

Definition at line 2708 of file gnu-nat.c.

mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int sigcode

Definition at line 1816 of file gnu-nat.c.

mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status

Definition at line 1816 of file gnu-nat.c.

Referenced by aarch64_pseudo_read_value(), add_to_pid_list(), aix_thread_extra_thread_info(), alpha_read_insn(), amd64_pseudo_register_read_value(), apply_ext_lang_frame_filter(), arm_get_next_pc_raw(), arm_neon_quad_read(), arm_print_float_info(), arm_pseudo_read(), avr_pseudo_register_read(), bfin_pseudo_register_read(), btrace_step_no_history(), btrace_step_stopped(), cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_block_store_pc(), cleanup_branch(), cris_software_single_step(), darwin_attach_pid(), darwin_debug_port_info(), darwin_kill_inferior(), darwin_stop_inferior(), detach_callback(), dfp_pseudo_register_read(), displaced_step_prepare(), do_attach(), do_hardwire_readchar(), do_ser_base_readchar(), dump_binary_file(), dump_insns(), e500_move_ev_register(), enable_break2(), fetch_regs_user_thread(), find_extant_func_descr(), frv_adjust_breakpoint_address(), frv_pseudo_register_read(), frv_relocate_main_executable(), gdb_xml_fetch_external_entity(), gdb_xml_parse(), gdbscm_disasm_read_memory(), gdbscm_parse_function_args(), gdbscm_print_exception_message(), gdbscm_print_exception_with_stack(), hardwire_send_break(), hppa_linux_find_global_pointer(), hppa_pseudo_register_read(), hppa_stack_frame_destroyed_p(), i386_pseudo_register_read_into_value(), ia64_find_global_pointer_from_dynamic_section(), ia64_pseudo_register_read(), inf_ptrace_kill(), inf_ptrace_mourn_inferior(), inf_ptrace_wait(), is_regular_file(), jit_reader_try_read_symtab(), lin_lwp_attach_lwp(), linux_check_ptrace_features(), linux_child_follow_fork(), linux_fork_killall(), linux_fork_mourn_inferior(), linux_handle_extended_wait(), linux_nat_attach(), linux_nat_detach(), linux_nat_filter_event(), linux_nat_kill(), linux_nat_post_attach_wait(), linux_nat_wait_1(), linux_ptrace_test_ret_to_nx(), linux_test_for_tracefork(), linux_xfer_osdata_modules(), m32c_cat_read(), m32c_r3r2r1r0_read(), m68hc11_pseudo_register_read(), mep_pseudo_cr32_read(), micromips_insn_at_pc_has_delay_slot(), mips16_insn_at_pc_has_delay_slot(), mips32_insn_at_pc_has_delay_slot(), mips_breakpoint_from_pc(), mips_fetch_instruction(), mips_get_mips16_fn_stub_pc(), mips_pseudo_register_read(), mips_remote_breakpoint_from_pc(), mips_single_step_through_delay(), mips_xfer_memory(), mn10300_analyze_prologue(), mnsh_maybe_mourn_peer(), monitor_wait(), msp430_get_opcode_byte(), msp430_pseudo_register_read(), mt_pseudo_register_read(), open_with_retry(), pd_activate(), pd_enable(), pd_update(), pdc_read_data(), pdc_write_data(), pipe_close(), ppscm_print_children(), procfs_debug_inferior(), procfs_pidlist(), procfs_resume(), procfs_thread_alive(), procfs_update_thread_list(), procfs_wait(), pseudo_from_raw_register(), pseudo_register_read_portions(), read_code(), read_memory(), read_stack(), read_value_memory(), regcache_cooked_read_signed(), regcache_cooked_read_unsigned(), regcache_dump(), regcache_raw_read_signed(), regcache_raw_read_unsigned(), regcache_restore(), regcache_save(), regcache_xfer_part(), remote_can_download_tracepoint(), rl78_get_opcode_byte(), rl78_pseudo_register_read(), rs6000_wait(), rx_get_opcode_byte(), s390_pseudo_register_read(), section_table_read_available_memory(), select_event_lwp(), ser_unix_read_prim(), ser_windows_wait_handle(), set_last_target_status(), set_value_initialized(), sh64_pseudo_register_read(), sh_pseudo_register_read(), shell_escape(), simple_verify_memory(), skip_prologue_hard_way(), sparc32_pseudo_register_read(), sparc64_pseudo_register_read(), spu_child_wait(), spu_frame_unwind_cache(), spu_pseudo_register_read(), spu_pseudo_register_read_spu(), spu_symbol_file_add_from_memory(), stop_wait_callback(), store_regs_user_thread(), sync_threadlists(), target_read(), target_read_alloc_1(), target_wait(), target_write_with_progress(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pc_raw(), tilegx_analyze_prologue(), trace_save(), trace_status_command(), trace_status_mi(), tui_adjust_win_heights(), tui_set_layout(), tui_set_layout_by_name(), unconditionally_kill_inferior(), vsx_pseudo_register_read(), wait_lwp(), windows_continue(), write_memory(), x86_dr_stopped_data_address(), xstrvprintf(), xtensa_pseudo_register_read(), and xtensa_register_read_masked().

else inf wait suppress = 1

Definition at line 1863 of file gnu-nat.c.

struct cmd_list_element* thread_cmd_list

Definition at line 1755 of file thread.c.

mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int procinfo_t mach_msg_type_number_t data_t threadwaits

Definition at line 1885 of file gnu-nat.c.

struct inf* waiting_inf

Definition at line 1450 of file gnu-nat.c.

Referenced by do_mach_notify_dead_name(), and S_exception_raise_request().