procfs.c: Remove unused functions and make many functions static
gdb/ChangeLog: * procfs.c (procfs_find_new_threads, procfs_pid_to_str, proc_warn, proc_error, proc_get_status, proc_flags, proc_why, proc_what, proc_nsysarg, proc_sysargs, proc_set_run_on_last_close, proc_unset_run_on_last_close, proc_unset_inherit_on_fork, proc_set_async, proc_unset_async, proc_stop_process, proc_wait_for_stop, proc_run_process, proc_set_traced_signals, proc_set_traced_faults, proc_set_traced_sysentry, proc_set_traced_sysexit, proc_set_held_signals, proc_get_held_signals, proc_get_traced_signals, proc_get_traced_faults, proc_get_traced_sysentry, proc_get_traced_sysexit, proc_clear_current_fault, proc_set_current_signal, proc_clear_current_signal, proc_get_gregs, proc_get_fpregs, proc_set_gregs, proc_set_fpregs, proc_kill, proc_parent_pid, proc_get_nthreads, proc_get_nthreads, proc_get_nthreads, proc_get_current_thread, proc_get_current_thread, proc_get_current_thread, proc_update_threads, proc_update_threads, proc_update_threads, proc_update_threads, proc_iterate_over_threads, procfs_find_new_threads, procfs_pid_to_str): Make static. Remove advance declaration. (proc_cursig): Make static. Conditionalized defintion on PROCFS_DONT_PIOCSSIG_CURSIG being defined. (proc_syscall, proc_set_kill_on_last_close, proc_unset_kill_on_last_close, proc_set_inherit_on_fork, proc_get_pending_signals, proc_get_signal_actions, proc_trace_signal, proc_ignore_signal): Delete.
This commit is contained in:
parent
046e56f784
commit
d3581e618a
|
@ -1,3 +1,32 @@
|
||||||
|
2012-05-17 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* procfs.c (procfs_find_new_threads, procfs_pid_to_str,
|
||||||
|
proc_warn, proc_error, proc_get_status, proc_flags,
|
||||||
|
proc_why, proc_what, proc_nsysarg, proc_sysargs,
|
||||||
|
proc_set_run_on_last_close, proc_unset_run_on_last_close,
|
||||||
|
proc_unset_inherit_on_fork, proc_set_async, proc_unset_async,
|
||||||
|
proc_stop_process, proc_wait_for_stop, proc_run_process,
|
||||||
|
proc_set_traced_signals, proc_set_traced_faults,
|
||||||
|
proc_set_traced_sysentry, proc_set_traced_sysexit,
|
||||||
|
proc_set_held_signals, proc_get_held_signals,
|
||||||
|
proc_get_traced_signals, proc_get_traced_faults,
|
||||||
|
proc_get_traced_sysentry, proc_get_traced_sysexit,
|
||||||
|
proc_clear_current_fault, proc_set_current_signal,
|
||||||
|
proc_clear_current_signal, proc_get_gregs, proc_get_fpregs,
|
||||||
|
proc_set_gregs, proc_set_fpregs, proc_kill, proc_parent_pid,
|
||||||
|
proc_get_nthreads, proc_get_nthreads, proc_get_nthreads,
|
||||||
|
proc_get_current_thread, proc_get_current_thread,
|
||||||
|
proc_get_current_thread, proc_update_threads,
|
||||||
|
proc_update_threads, proc_update_threads, proc_update_threads,
|
||||||
|
proc_iterate_over_threads, procfs_find_new_threads,
|
||||||
|
procfs_pid_to_str): Make static. Remove advance declaration.
|
||||||
|
(proc_cursig): Make static. Conditionalized defintion on
|
||||||
|
PROCFS_DONT_PIOCSSIG_CURSIG being defined.
|
||||||
|
(proc_syscall, proc_set_kill_on_last_close,
|
||||||
|
proc_unset_kill_on_last_close, proc_set_inherit_on_fork,
|
||||||
|
proc_get_pending_signals, proc_get_signal_actions,
|
||||||
|
proc_trace_signal, proc_ignore_signal): Delete.
|
||||||
|
|
||||||
2012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
|
2012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||||
|
|
||||||
* coffread.c (cs_section_address): Passing proper argument for
|
* coffread.c (cs_section_address): Passing proper argument for
|
||||||
|
|
335
gdb/procfs.c
335
gdb/procfs.c
|
@ -138,8 +138,8 @@ static LONGEST procfs_xfer_partial (struct target_ops *ops,
|
||||||
|
|
||||||
static int procfs_thread_alive (struct target_ops *ops, ptid_t);
|
static int procfs_thread_alive (struct target_ops *ops, ptid_t);
|
||||||
|
|
||||||
void procfs_find_new_threads (struct target_ops *ops);
|
static void procfs_find_new_threads (struct target_ops *ops);
|
||||||
char *procfs_pid_to_str (struct target_ops *, ptid_t);
|
static char *procfs_pid_to_str (struct target_ops *, ptid_t);
|
||||||
|
|
||||||
static int proc_find_memory_regions (int (*) (CORE_ADDR,
|
static int proc_find_memory_regions (int (*) (CORE_ADDR,
|
||||||
unsigned long,
|
unsigned long,
|
||||||
|
@ -1019,69 +1019,24 @@ find_syscall (procinfo *pi, char *name)
|
||||||
than have a bunch of #ifdefs all thru the gdb target vector
|
than have a bunch of #ifdefs all thru the gdb target vector
|
||||||
functions, we do our best to hide them all in here. */
|
functions, we do our best to hide them all in here. */
|
||||||
|
|
||||||
int proc_get_status (procinfo * pi);
|
static long proc_flags (procinfo * pi);
|
||||||
long proc_flags (procinfo * pi);
|
static int proc_why (procinfo * pi);
|
||||||
int proc_why (procinfo * pi);
|
static int proc_what (procinfo * pi);
|
||||||
int proc_what (procinfo * pi);
|
static int proc_set_current_signal (procinfo * pi, int signo);
|
||||||
int proc_nsysarg (procinfo * pi);
|
static int proc_get_current_thread (procinfo * pi);
|
||||||
long *proc_sysargs (procinfo * pi);
|
static int proc_iterate_over_threads
|
||||||
int proc_syscall (procinfo * pi);
|
(procinfo * pi,
|
||||||
long proc_cursig (struct procinfo * pi);
|
int (*func) (procinfo *, procinfo *, void *),
|
||||||
int proc_set_run_on_last_close (procinfo * pi);
|
void *ptr);
|
||||||
int proc_unset_run_on_last_close (procinfo * pi);
|
|
||||||
int proc_set_kill_on_last_close (procinfo * pi);
|
|
||||||
int proc_unset_kill_on_last_close (procinfo * pi);
|
|
||||||
int proc_set_inherit_on_fork (procinfo * pi);
|
|
||||||
int proc_unset_inherit_on_fork (procinfo * pi);
|
|
||||||
int proc_set_async (procinfo * pi);
|
|
||||||
int proc_unset_async (procinfo * pi);
|
|
||||||
int proc_stop_process (procinfo * pi);
|
|
||||||
int proc_trace_signal (procinfo * pi, int signo);
|
|
||||||
int proc_ignore_signal (procinfo * pi, int signo);
|
|
||||||
int proc_clear_current_fault (procinfo * pi);
|
|
||||||
int proc_set_current_signal (procinfo * pi, int signo);
|
|
||||||
int proc_clear_current_signal (procinfo * pi);
|
|
||||||
int proc_set_gregs (procinfo * pi);
|
|
||||||
int proc_set_fpregs (procinfo * pi);
|
|
||||||
int proc_wait_for_stop (procinfo * pi);
|
|
||||||
int proc_run_process (procinfo * pi, int step, int signo);
|
|
||||||
int proc_kill (procinfo * pi, int signo);
|
|
||||||
int proc_parent_pid (procinfo * pi);
|
|
||||||
int proc_get_nthreads (procinfo * pi);
|
|
||||||
int proc_get_current_thread (procinfo * pi);
|
|
||||||
int proc_set_held_signals (procinfo * pi, gdb_sigset_t * sighold);
|
|
||||||
int proc_set_traced_sysexit (procinfo * pi, sysset_t * sysset);
|
|
||||||
int proc_set_traced_sysentry (procinfo * pi, sysset_t * sysset);
|
|
||||||
int proc_set_traced_faults (procinfo * pi, fltset_t * fltset);
|
|
||||||
int proc_set_traced_signals (procinfo * pi, gdb_sigset_t * sigset);
|
|
||||||
|
|
||||||
int proc_update_threads (procinfo * pi);
|
static void
|
||||||
int proc_iterate_over_threads (procinfo * pi,
|
|
||||||
int (*func) (procinfo *, procinfo *, void *),
|
|
||||||
void *ptr);
|
|
||||||
|
|
||||||
gdb_gregset_t *proc_get_gregs (procinfo * pi);
|
|
||||||
gdb_fpregset_t *proc_get_fpregs (procinfo * pi);
|
|
||||||
sysset_t *proc_get_traced_sysexit (procinfo * pi, sysset_t * save);
|
|
||||||
sysset_t *proc_get_traced_sysentry (procinfo * pi, sysset_t * save);
|
|
||||||
fltset_t *proc_get_traced_faults (procinfo * pi, fltset_t * save);
|
|
||||||
gdb_sigset_t *proc_get_traced_signals (procinfo * pi, gdb_sigset_t * save);
|
|
||||||
gdb_sigset_t *proc_get_held_signals (procinfo * pi, gdb_sigset_t * save);
|
|
||||||
gdb_sigset_t *proc_get_pending_signals (procinfo * pi, gdb_sigset_t * save);
|
|
||||||
gdb_sigaction_t *proc_get_signal_actions (procinfo * pi,
|
|
||||||
gdb_sigaction_t *save);
|
|
||||||
|
|
||||||
void proc_warn (procinfo * pi, char *func, int line);
|
|
||||||
void proc_error (procinfo * pi, char *func, int line);
|
|
||||||
|
|
||||||
void
|
|
||||||
proc_warn (procinfo *pi, char *func, int line)
|
proc_warn (procinfo *pi, char *func, int line)
|
||||||
{
|
{
|
||||||
sprintf (errmsg, "procfs: %s line %d, %s", func, line, pi->pathname);
|
sprintf (errmsg, "procfs: %s line %d, %s", func, line, pi->pathname);
|
||||||
print_sys_errmsg (errmsg, errno);
|
print_sys_errmsg (errmsg, errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
proc_error (procinfo *pi, char *func, int line)
|
proc_error (procinfo *pi, char *func, int line)
|
||||||
{
|
{
|
||||||
sprintf (errmsg, "procfs: %s line %d, %s", func, line, pi->pathname);
|
sprintf (errmsg, "procfs: %s line %d, %s", func, line, pi->pathname);
|
||||||
|
@ -1094,7 +1049,7 @@ proc_error (procinfo *pi, char *func, int line)
|
||||||
file descriptor is also only opened when it is needed. Returns
|
file descriptor is also only opened when it is needed. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_get_status (procinfo *pi)
|
proc_get_status (procinfo *pi)
|
||||||
{
|
{
|
||||||
/* Status file descriptor is opened "lazily". */
|
/* Status file descriptor is opened "lazily". */
|
||||||
|
@ -1188,7 +1143,7 @@ proc_get_status (procinfo *pi)
|
||||||
|
|
||||||
/* Returns the process flags (pr_flags field). */
|
/* Returns the process flags (pr_flags field). */
|
||||||
|
|
||||||
long
|
static long
|
||||||
proc_flags (procinfo *pi)
|
proc_flags (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1211,7 +1166,7 @@ proc_flags (procinfo *pi)
|
||||||
|
|
||||||
/* Returns the pr_why field (why the process stopped). */
|
/* Returns the pr_why field (why the process stopped). */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_why (procinfo *pi)
|
proc_why (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1227,7 +1182,7 @@ proc_why (procinfo *pi)
|
||||||
|
|
||||||
/* Returns the pr_what field (details of why the process stopped). */
|
/* Returns the pr_what field (details of why the process stopped). */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_what (procinfo *pi)
|
proc_what (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1270,7 +1225,7 @@ proc_watchpoint_address (procinfo *pi, CORE_ADDR *addr)
|
||||||
/* Returns the pr_nsysarg field (number of args to the current
|
/* Returns the pr_nsysarg field (number of args to the current
|
||||||
syscall). */
|
syscall). */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_nsysarg (procinfo *pi)
|
proc_nsysarg (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1287,7 +1242,7 @@ proc_nsysarg (procinfo *pi)
|
||||||
/* Returns the pr_sysarg field (pointer to the arguments of current
|
/* Returns the pr_sysarg field (pointer to the arguments of current
|
||||||
syscall). */
|
syscall). */
|
||||||
|
|
||||||
long *
|
static long *
|
||||||
proc_sysargs (procinfo *pi)
|
proc_sysargs (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1300,28 +1255,12 @@ proc_sysargs (procinfo *pi)
|
||||||
return (long *) &pi->prstatus.pr_sysarg;
|
return (long *) &pi->prstatus.pr_sysarg;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns the pr_syscall field (id of current syscall if we are in
|
|
||||||
one). */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_syscall (procinfo *pi)
|
|
||||||
{
|
|
||||||
if (!pi->status_valid)
|
|
||||||
if (!proc_get_status (pi))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
#ifdef NEW_PROC_API
|
|
||||||
return pi->prstatus.pr_lwp.pr_syscall;
|
|
||||||
#else
|
|
||||||
return pi->prstatus.pr_syscall;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif /* PIOCSSPCACT */
|
#endif /* PIOCSSPCACT */
|
||||||
|
|
||||||
|
#ifdef PROCFS_DONT_PIOCSSIG_CURSIG
|
||||||
/* Returns the pr_cursig field (current signal). */
|
/* Returns the pr_cursig field (current signal). */
|
||||||
|
|
||||||
long
|
static long
|
||||||
proc_cursig (struct procinfo *pi)
|
proc_cursig (struct procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -1334,6 +1273,7 @@ proc_cursig (struct procinfo *pi)
|
||||||
return pi->prstatus.pr_cursig;
|
return pi->prstatus.pr_cursig;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif /* PROCFS_DONT_PIOCSSIG_CURSIG */
|
||||||
|
|
||||||
/* === I appologize for the messiness of this function.
|
/* === I appologize for the messiness of this function.
|
||||||
=== This is an area where the different versions of
|
=== This is an area where the different versions of
|
||||||
|
@ -1468,7 +1408,7 @@ proc_modify_flag (procinfo *pi, long flag, long mode)
|
||||||
become runnable when debugger closes all /proc fds. Returns
|
become runnable when debugger closes all /proc fds. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_run_on_last_close (procinfo *pi)
|
proc_set_run_on_last_close (procinfo *pi)
|
||||||
{
|
{
|
||||||
return proc_modify_flag (pi, PR_RLC, FLAG_SET);
|
return proc_modify_flag (pi, PR_RLC, FLAG_SET);
|
||||||
|
@ -1478,51 +1418,18 @@ proc_set_run_on_last_close (procinfo *pi)
|
||||||
runnable when debugger closes its file handles. Returns non-zero
|
runnable when debugger closes its file handles. Returns non-zero
|
||||||
for success, zero for failure. */
|
for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_unset_run_on_last_close (procinfo *pi)
|
proc_unset_run_on_last_close (procinfo *pi)
|
||||||
{
|
{
|
||||||
return proc_modify_flag (pi, PR_RLC, FLAG_RESET);
|
return proc_modify_flag (pi, PR_RLC, FLAG_RESET);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PR_KLC
|
|
||||||
/* Set the kill_on_last_close flag. Process with all threads will be
|
|
||||||
killed when debugger closes all /proc fds (or debugger exits or
|
|
||||||
dies). Returns non-zero for success, zero for failure. */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_set_kill_on_last_close (procinfo *pi)
|
|
||||||
{
|
|
||||||
return proc_modify_flag (pi, PR_KLC, FLAG_SET);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Reset the kill_on_last_close flag. Process will NOT be killed when
|
|
||||||
debugger closes its file handles (or exits or dies). Returns
|
|
||||||
non-zero for success, zero for failure. */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_unset_kill_on_last_close (procinfo *pi)
|
|
||||||
{
|
|
||||||
return proc_modify_flag (pi, PR_KLC, FLAG_RESET);
|
|
||||||
}
|
|
||||||
#endif /* PR_KLC */
|
|
||||||
|
|
||||||
/* Set inherit_on_fork flag. If the process forks a child while we
|
|
||||||
are registered for events in the parent, then we will also recieve
|
|
||||||
events from the child. Returns non-zero for success, zero for
|
|
||||||
failure. */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_set_inherit_on_fork (procinfo *pi)
|
|
||||||
{
|
|
||||||
return proc_modify_flag (pi, PR_FORK, FLAG_SET);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Reset inherit_on_fork flag. If the process forks a child while we
|
/* Reset inherit_on_fork flag. If the process forks a child while we
|
||||||
are registered for events in the parent, then we will NOT recieve
|
are registered for events in the parent, then we will NOT recieve
|
||||||
events from the child. Returns non-zero for success, zero for
|
events from the child. Returns non-zero for success, zero for
|
||||||
failure. */
|
failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_unset_inherit_on_fork (procinfo *pi)
|
proc_unset_inherit_on_fork (procinfo *pi)
|
||||||
{
|
{
|
||||||
return proc_modify_flag (pi, PR_FORK, FLAG_RESET);
|
return proc_modify_flag (pi, PR_FORK, FLAG_RESET);
|
||||||
|
@ -1533,7 +1440,7 @@ proc_unset_inherit_on_fork (procinfo *pi)
|
||||||
(signal etc.), the remaining LWPs will continue to run. Returns
|
(signal etc.), the remaining LWPs will continue to run. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_async (procinfo *pi)
|
proc_set_async (procinfo *pi)
|
||||||
{
|
{
|
||||||
return proc_modify_flag (pi, PR_ASYNC, FLAG_SET);
|
return proc_modify_flag (pi, PR_ASYNC, FLAG_SET);
|
||||||
|
@ -1543,7 +1450,7 @@ proc_set_async (procinfo *pi)
|
||||||
(signal etc.), then all other LWPs will stop as well. Returns
|
(signal etc.), then all other LWPs will stop as well. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_unset_async (procinfo *pi)
|
proc_unset_async (procinfo *pi)
|
||||||
{
|
{
|
||||||
return proc_modify_flag (pi, PR_ASYNC, FLAG_RESET);
|
return proc_modify_flag (pi, PR_ASYNC, FLAG_RESET);
|
||||||
|
@ -1553,7 +1460,7 @@ proc_unset_async (procinfo *pi)
|
||||||
/* Request the process/LWP to stop. Does not wait. Returns non-zero
|
/* Request the process/LWP to stop. Does not wait. Returns non-zero
|
||||||
for success, zero for failure. */
|
for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_stop_process (procinfo *pi)
|
proc_stop_process (procinfo *pi)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1590,7 +1497,7 @@ proc_stop_process (procinfo *pi)
|
||||||
/* Wait for the process or LWP to stop (block until it does). Returns
|
/* Wait for the process or LWP to stop (block until it does). Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_wait_for_stop (procinfo *pi)
|
proc_wait_for_stop (procinfo *pi)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1646,7 +1553,7 @@ proc_wait_for_stop (procinfo *pi)
|
||||||
any; if non-zero, set the current signal to this one. Returns
|
any; if non-zero, set the current signal to this one. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_run_process (procinfo *pi, int step, int signo)
|
proc_run_process (procinfo *pi, int step, int signo)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1693,7 +1600,7 @@ proc_run_process (procinfo *pi, int step, int signo)
|
||||||
/* Register to trace signals in the process or LWP. Returns non-zero
|
/* Register to trace signals in the process or LWP. Returns non-zero
|
||||||
for success, zero for failure. */
|
for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_traced_signals (procinfo *pi, gdb_sigset_t *sigset)
|
proc_set_traced_signals (procinfo *pi, gdb_sigset_t *sigset)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1733,7 +1640,7 @@ proc_set_traced_signals (procinfo *pi, gdb_sigset_t *sigset)
|
||||||
/* Register to trace hardware faults in the process or LWP. Returns
|
/* Register to trace hardware faults in the process or LWP. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_traced_faults (procinfo *pi, fltset_t *fltset)
|
proc_set_traced_faults (procinfo *pi, fltset_t *fltset)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1771,7 +1678,7 @@ proc_set_traced_faults (procinfo *pi, fltset_t *fltset)
|
||||||
/* Register to trace entry to system calls in the process or LWP.
|
/* Register to trace entry to system calls in the process or LWP.
|
||||||
Returns non-zero for success, zero for failure. */
|
Returns non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_traced_sysentry (procinfo *pi, sysset_t *sysset)
|
proc_set_traced_sysentry (procinfo *pi, sysset_t *sysset)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1816,7 +1723,7 @@ proc_set_traced_sysentry (procinfo *pi, sysset_t *sysset)
|
||||||
/* Register to trace exit from system calls in the process or LWP.
|
/* Register to trace exit from system calls in the process or LWP.
|
||||||
Returns non-zero for success, zero for failure. */
|
Returns non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_traced_sysexit (procinfo *pi, sysset_t *sysset)
|
proc_set_traced_sysexit (procinfo *pi, sysset_t *sysset)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1861,7 +1768,7 @@ proc_set_traced_sysexit (procinfo *pi, sysset_t *sysset)
|
||||||
/* Specify the set of blocked / held signals in the process or LWP.
|
/* Specify the set of blocked / held signals in the process or LWP.
|
||||||
Returns non-zero for success, zero for failure. */
|
Returns non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_held_signals (procinfo *pi, gdb_sigset_t *sighold)
|
proc_set_held_signals (procinfo *pi, gdb_sigset_t *sighold)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -1896,72 +1803,10 @@ proc_set_held_signals (procinfo *pi, gdb_sigset_t *sighold)
|
||||||
return win;
|
return win;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns the set of signals that are pending in the process or LWP.
|
|
||||||
Will also copy the sigset if SAVE is non-zero. */
|
|
||||||
|
|
||||||
gdb_sigset_t *
|
|
||||||
proc_get_pending_signals (procinfo *pi, gdb_sigset_t *save)
|
|
||||||
{
|
|
||||||
gdb_sigset_t *ret = NULL;
|
|
||||||
|
|
||||||
/* We should never have to apply this operation to any procinfo
|
|
||||||
except the one for the main process. If that ever changes for
|
|
||||||
any reason, then take out the following clause and replace it
|
|
||||||
with one that makes sure the ctl_fd is open. */
|
|
||||||
|
|
||||||
if (pi->tid != 0)
|
|
||||||
pi = find_procinfo_or_die (pi->pid, 0);
|
|
||||||
|
|
||||||
if (!pi->status_valid)
|
|
||||||
if (!proc_get_status (pi))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
#ifdef NEW_PROC_API
|
|
||||||
ret = &pi->prstatus.pr_lwp.pr_lwppend;
|
|
||||||
#else
|
|
||||||
ret = &pi->prstatus.pr_sigpend;
|
|
||||||
#endif
|
|
||||||
if (save && ret)
|
|
||||||
memcpy (save, ret, sizeof (gdb_sigset_t));
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns the set of signal actions. Will also copy the sigactionset
|
|
||||||
if SAVE is non-zero. */
|
|
||||||
|
|
||||||
gdb_sigaction_t *
|
|
||||||
proc_get_signal_actions (procinfo *pi, gdb_sigaction_t *save)
|
|
||||||
{
|
|
||||||
gdb_sigaction_t *ret = NULL;
|
|
||||||
|
|
||||||
/* We should never have to apply this operation to any procinfo
|
|
||||||
except the one for the main process. If that ever changes for
|
|
||||||
any reason, then take out the following clause and replace it
|
|
||||||
with one that makes sure the ctl_fd is open. */
|
|
||||||
|
|
||||||
if (pi->tid != 0)
|
|
||||||
pi = find_procinfo_or_die (pi->pid, 0);
|
|
||||||
|
|
||||||
if (!pi->status_valid)
|
|
||||||
if (!proc_get_status (pi))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
#ifdef NEW_PROC_API
|
|
||||||
ret = &pi->prstatus.pr_lwp.pr_action;
|
|
||||||
#else
|
|
||||||
ret = &pi->prstatus.pr_action;
|
|
||||||
#endif
|
|
||||||
if (save && ret)
|
|
||||||
memcpy (save, ret, sizeof (gdb_sigaction_t));
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns the set of signals that are held / blocked. Will also copy
|
/* Returns the set of signals that are held / blocked. Will also copy
|
||||||
the sigset if SAVE is non-zero. */
|
the sigset if SAVE is non-zero. */
|
||||||
|
|
||||||
gdb_sigset_t *
|
static gdb_sigset_t *
|
||||||
proc_get_held_signals (procinfo *pi, gdb_sigset_t *save)
|
proc_get_held_signals (procinfo *pi, gdb_sigset_t *save)
|
||||||
{
|
{
|
||||||
gdb_sigset_t *ret = NULL;
|
gdb_sigset_t *ret = NULL;
|
||||||
|
@ -2001,7 +1846,7 @@ proc_get_held_signals (procinfo *pi, gdb_sigset_t *save)
|
||||||
/* Returns the set of signals that are traced / debugged. Will also
|
/* Returns the set of signals that are traced / debugged. Will also
|
||||||
copy the sigset if SAVE is non-zero. */
|
copy the sigset if SAVE is non-zero. */
|
||||||
|
|
||||||
gdb_sigset_t *
|
static gdb_sigset_t *
|
||||||
proc_get_traced_signals (procinfo *pi, gdb_sigset_t *save)
|
proc_get_traced_signals (procinfo *pi, gdb_sigset_t *save)
|
||||||
{
|
{
|
||||||
gdb_sigset_t *ret = NULL;
|
gdb_sigset_t *ret = NULL;
|
||||||
|
@ -2034,66 +1879,10 @@ proc_get_traced_signals (procinfo *pi, gdb_sigset_t *save)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add SIGNO to the set of signals that are traced. Returns non-zero
|
|
||||||
for success, zero for failure. */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_trace_signal (procinfo *pi, int signo)
|
|
||||||
{
|
|
||||||
gdb_sigset_t temp;
|
|
||||||
|
|
||||||
/* We should never have to apply this operation to any procinfo
|
|
||||||
except the one for the main process. If that ever changes for
|
|
||||||
any reason, then take out the following clause and replace it
|
|
||||||
with one that makes sure the ctl_fd is open. */
|
|
||||||
|
|
||||||
if (pi->tid != 0)
|
|
||||||
pi = find_procinfo_or_die (pi->pid, 0);
|
|
||||||
|
|
||||||
if (pi)
|
|
||||||
{
|
|
||||||
if (proc_get_traced_signals (pi, &temp))
|
|
||||||
{
|
|
||||||
gdb_praddset (&temp, signo);
|
|
||||||
return proc_set_traced_signals (pi, &temp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0; /* failure */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Remove SIGNO from the set of signals that are traced. Returns
|
|
||||||
non-zero for success, zero for failure. */
|
|
||||||
|
|
||||||
int
|
|
||||||
proc_ignore_signal (procinfo *pi, int signo)
|
|
||||||
{
|
|
||||||
gdb_sigset_t temp;
|
|
||||||
|
|
||||||
/* We should never have to apply this operation to any procinfo
|
|
||||||
except the one for the main process. If that ever changes for
|
|
||||||
any reason, then take out the following clause and replace it
|
|
||||||
with one that makes sure the ctl_fd is open. */
|
|
||||||
|
|
||||||
if (pi->tid != 0)
|
|
||||||
pi = find_procinfo_or_die (pi->pid, 0);
|
|
||||||
|
|
||||||
if (pi)
|
|
||||||
{
|
|
||||||
if (proc_get_traced_signals (pi, &temp))
|
|
||||||
{
|
|
||||||
gdb_prdelset (&temp, signo);
|
|
||||||
return proc_set_traced_signals (pi, &temp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0; /* failure */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns the set of hardware faults that are traced /debugged. Will
|
/* Returns the set of hardware faults that are traced /debugged. Will
|
||||||
also copy the faultset if SAVE is non-zero. */
|
also copy the faultset if SAVE is non-zero. */
|
||||||
|
|
||||||
fltset_t *
|
static fltset_t *
|
||||||
proc_get_traced_faults (procinfo *pi, fltset_t *save)
|
proc_get_traced_faults (procinfo *pi, fltset_t *save)
|
||||||
{
|
{
|
||||||
fltset_t *ret = NULL;
|
fltset_t *ret = NULL;
|
||||||
|
@ -2129,7 +1918,7 @@ proc_get_traced_faults (procinfo *pi, fltset_t *save)
|
||||||
/* Returns the set of syscalls that are traced /debugged on entry.
|
/* Returns the set of syscalls that are traced /debugged on entry.
|
||||||
Will also copy the syscall set if SAVE is non-zero. */
|
Will also copy the syscall set if SAVE is non-zero. */
|
||||||
|
|
||||||
sysset_t *
|
static sysset_t *
|
||||||
proc_get_traced_sysentry (procinfo *pi, sysset_t *save)
|
proc_get_traced_sysentry (procinfo *pi, sysset_t *save)
|
||||||
{
|
{
|
||||||
sysset_t *ret = NULL;
|
sysset_t *ret = NULL;
|
||||||
|
@ -2196,7 +1985,7 @@ proc_get_traced_sysentry (procinfo *pi, sysset_t *save)
|
||||||
/* Returns the set of syscalls that are traced /debugged on exit.
|
/* Returns the set of syscalls that are traced /debugged on exit.
|
||||||
Will also copy the syscall set if SAVE is non-zero. */
|
Will also copy the syscall set if SAVE is non-zero. */
|
||||||
|
|
||||||
sysset_t *
|
static sysset_t *
|
||||||
proc_get_traced_sysexit (procinfo *pi, sysset_t *save)
|
proc_get_traced_sysexit (procinfo *pi, sysset_t *save)
|
||||||
{
|
{
|
||||||
sysset_t * ret = NULL;
|
sysset_t * ret = NULL;
|
||||||
|
@ -2264,7 +2053,7 @@ proc_get_traced_sysexit (procinfo *pi, sysset_t *save)
|
||||||
not be sent to the process or LWP when it resumes. Returns
|
not be sent to the process or LWP when it resumes. Returns
|
||||||
non-zero for success, zero for failure. */
|
non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_clear_current_fault (procinfo *pi)
|
proc_clear_current_fault (procinfo *pi)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -2298,7 +2087,7 @@ proc_clear_current_fault (procinfo *pi)
|
||||||
trap back to the debugger. Returns non-zero for success, zero for
|
trap back to the debugger. Returns non-zero for success, zero for
|
||||||
failure. */
|
failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_current_signal (procinfo *pi, int signo)
|
proc_set_current_signal (procinfo *pi, int signo)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -2371,7 +2160,7 @@ proc_set_current_signal (procinfo *pi, int signo)
|
||||||
process or LWP when it resumes. Returns non-zero for success, zero
|
process or LWP when it resumes. Returns non-zero for success, zero
|
||||||
for failure. */
|
for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_clear_current_signal (procinfo *pi)
|
proc_clear_current_signal (procinfo *pi)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -2414,7 +2203,7 @@ proc_clear_current_signal (procinfo *pi)
|
||||||
/* Return the general-purpose registers for the process or LWP
|
/* Return the general-purpose registers for the process or LWP
|
||||||
corresponding to PI. Upon failure, return NULL. */
|
corresponding to PI. Upon failure, return NULL. */
|
||||||
|
|
||||||
gdb_gregset_t *
|
static gdb_gregset_t *
|
||||||
proc_get_gregs (procinfo *pi)
|
proc_get_gregs (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid || !pi->gregs_valid)
|
if (!pi->status_valid || !pi->gregs_valid)
|
||||||
|
@ -2438,7 +2227,7 @@ proc_get_gregs (procinfo *pi)
|
||||||
/* Return the general-purpose registers for the process or LWP
|
/* Return the general-purpose registers for the process or LWP
|
||||||
corresponding to PI. Upon failure, return NULL. */
|
corresponding to PI. Upon failure, return NULL. */
|
||||||
|
|
||||||
gdb_fpregset_t *
|
static gdb_fpregset_t *
|
||||||
proc_get_fpregs (procinfo *pi)
|
proc_get_fpregs (procinfo *pi)
|
||||||
{
|
{
|
||||||
#ifdef NEW_PROC_API
|
#ifdef NEW_PROC_API
|
||||||
|
@ -2511,7 +2300,7 @@ proc_get_fpregs (procinfo *pi)
|
||||||
corresponding to PI. Return non-zero for success, zero for
|
corresponding to PI. Return non-zero for success, zero for
|
||||||
failure. */
|
failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_gregs (procinfo *pi)
|
proc_set_gregs (procinfo *pi)
|
||||||
{
|
{
|
||||||
gdb_gregset_t *gregs;
|
gdb_gregset_t *gregs;
|
||||||
|
@ -2551,7 +2340,7 @@ proc_set_gregs (procinfo *pi)
|
||||||
corresponding to PI. Return non-zero for success, zero for
|
corresponding to PI. Return non-zero for success, zero for
|
||||||
failure. */
|
failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_set_fpregs (procinfo *pi)
|
proc_set_fpregs (procinfo *pi)
|
||||||
{
|
{
|
||||||
gdb_fpregset_t *fpregs;
|
gdb_fpregset_t *fpregs;
|
||||||
|
@ -2609,7 +2398,7 @@ proc_set_fpregs (procinfo *pi)
|
||||||
/* Send a signal to the proc or lwp with the semantics of "kill()".
|
/* Send a signal to the proc or lwp with the semantics of "kill()".
|
||||||
Returns non-zero for success, zero for failure. */
|
Returns non-zero for success, zero for failure. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_kill (procinfo *pi, int signo)
|
proc_kill (procinfo *pi, int signo)
|
||||||
{
|
{
|
||||||
int win;
|
int win;
|
||||||
|
@ -2643,7 +2432,7 @@ proc_kill (procinfo *pi, int signo)
|
||||||
/* Find the pid of the process that started this one. Returns the
|
/* Find the pid of the process that started this one. Returns the
|
||||||
parent process pid, or zero. */
|
parent process pid, or zero. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_parent_pid (procinfo *pi)
|
proc_parent_pid (procinfo *pi)
|
||||||
{
|
{
|
||||||
/* We should never have to apply this operation to any procinfo
|
/* We should never have to apply this operation to any procinfo
|
||||||
|
@ -2849,7 +2638,7 @@ procfs_find_LDT_entry (ptid_t ptid)
|
||||||
|
|
||||||
#if defined (PIOCNTHR) && defined (PIOCTLIST)
|
#if defined (PIOCNTHR) && defined (PIOCTLIST)
|
||||||
/* OSF version */
|
/* OSF version */
|
||||||
int
|
static int
|
||||||
proc_get_nthreads (procinfo *pi)
|
proc_get_nthreads (procinfo *pi)
|
||||||
{
|
{
|
||||||
int nthreads = 0;
|
int nthreads = 0;
|
||||||
|
@ -2863,7 +2652,7 @@ proc_get_nthreads (procinfo *pi)
|
||||||
#else
|
#else
|
||||||
#if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */
|
#if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */
|
||||||
/* Solaris and Unixware version */
|
/* Solaris and Unixware version */
|
||||||
int
|
static int
|
||||||
proc_get_nthreads (procinfo *pi)
|
proc_get_nthreads (procinfo *pi)
|
||||||
{
|
{
|
||||||
if (!pi->status_valid)
|
if (!pi->status_valid)
|
||||||
|
@ -2881,7 +2670,7 @@ proc_get_nthreads (procinfo *pi)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Default version */
|
/* Default version */
|
||||||
int
|
static int
|
||||||
proc_get_nthreads (procinfo *pi)
|
proc_get_nthreads (procinfo *pi)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2898,7 +2687,7 @@ proc_get_nthreads (procinfo *pi)
|
||||||
|
|
||||||
#if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */
|
#if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */
|
||||||
/* Solaris and Unixware version */
|
/* Solaris and Unixware version */
|
||||||
int
|
static int
|
||||||
proc_get_current_thread (procinfo *pi)
|
proc_get_current_thread (procinfo *pi)
|
||||||
{
|
{
|
||||||
/* Note: this should be applied to the root procinfo for the
|
/* Note: this should be applied to the root procinfo for the
|
||||||
|
@ -2923,7 +2712,7 @@ proc_get_current_thread (procinfo *pi)
|
||||||
#else
|
#else
|
||||||
#if defined (PIOCNTHR) && defined (PIOCTLIST)
|
#if defined (PIOCNTHR) && defined (PIOCTLIST)
|
||||||
/* OSF version */
|
/* OSF version */
|
||||||
int
|
static int
|
||||||
proc_get_current_thread (procinfo *pi)
|
proc_get_current_thread (procinfo *pi)
|
||||||
{
|
{
|
||||||
#if 0 /* FIXME: not ready for prime time? */
|
#if 0 /* FIXME: not ready for prime time? */
|
||||||
|
@ -2935,7 +2724,7 @@ proc_get_current_thread (procinfo *pi)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Default version */
|
/* Default version */
|
||||||
int
|
static int
|
||||||
proc_get_current_thread (procinfo *pi)
|
proc_get_current_thread (procinfo *pi)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2963,7 +2752,7 @@ proc_delete_dead_threads (procinfo *parent, procinfo *thread, void *ignore)
|
||||||
|
|
||||||
#if defined (PIOCLSTATUS)
|
#if defined (PIOCLSTATUS)
|
||||||
/* Solaris 2.5 (ioctl) version */
|
/* Solaris 2.5 (ioctl) version */
|
||||||
int
|
static int
|
||||||
proc_update_threads (procinfo *pi)
|
proc_update_threads (procinfo *pi)
|
||||||
{
|
{
|
||||||
gdb_prstatus_t *prstatus;
|
gdb_prstatus_t *prstatus;
|
||||||
|
@ -3012,7 +2801,7 @@ do_closedir_cleanup (void *dir)
|
||||||
closedir (dir);
|
closedir (dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_update_threads (procinfo *pi)
|
proc_update_threads (procinfo *pi)
|
||||||
{
|
{
|
||||||
char pathname[MAX_PROC_NAME_SIZE + 16];
|
char pathname[MAX_PROC_NAME_SIZE + 16];
|
||||||
|
@ -3060,7 +2849,7 @@ proc_update_threads (procinfo *pi)
|
||||||
#else
|
#else
|
||||||
#ifdef PIOCTLIST
|
#ifdef PIOCTLIST
|
||||||
/* OSF version */
|
/* OSF version */
|
||||||
int
|
static int
|
||||||
proc_update_threads (procinfo *pi)
|
proc_update_threads (procinfo *pi)
|
||||||
{
|
{
|
||||||
int nthreads, i;
|
int nthreads, i;
|
||||||
|
@ -3096,7 +2885,7 @@ proc_update_threads (procinfo *pi)
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/* Default version */
|
/* Default version */
|
||||||
int
|
static int
|
||||||
proc_update_threads (procinfo *pi)
|
proc_update_threads (procinfo *pi)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3118,7 +2907,7 @@ proc_update_threads (procinfo *pi)
|
||||||
function. PTR is an opaque parameter for function. Returns the
|
function. PTR is an opaque parameter for function. Returns the
|
||||||
first non-zero return value from the callee, or zero. */
|
first non-zero return value from the callee, or zero. */
|
||||||
|
|
||||||
int
|
static int
|
||||||
proc_iterate_over_threads (procinfo *pi,
|
proc_iterate_over_threads (procinfo *pi,
|
||||||
int (*func) (procinfo *, procinfo *, void *),
|
int (*func) (procinfo *, procinfo *, void *),
|
||||||
void *ptr)
|
void *ptr)
|
||||||
|
@ -4968,7 +4757,7 @@ procfs_notice_thread (procinfo *pi, procinfo *thread, void *ptr)
|
||||||
/* Query all the threads that the target knows about, and give them
|
/* Query all the threads that the target knows about, and give them
|
||||||
back to GDB to add to its list. */
|
back to GDB to add to its list. */
|
||||||
|
|
||||||
void
|
static void
|
||||||
procfs_find_new_threads (struct target_ops *ops)
|
procfs_find_new_threads (struct target_ops *ops)
|
||||||
{
|
{
|
||||||
procinfo *pi;
|
procinfo *pi;
|
||||||
|
@ -5010,7 +4799,7 @@ procfs_thread_alive (struct target_ops *ops, ptid_t ptid)
|
||||||
/* Convert PTID to a string. Returns the string in a static
|
/* Convert PTID to a string. Returns the string in a static
|
||||||
buffer. */
|
buffer. */
|
||||||
|
|
||||||
char *
|
static char *
|
||||||
procfs_pid_to_str (struct target_ops *ops, ptid_t ptid)
|
procfs_pid_to_str (struct target_ops *ops, ptid_t ptid)
|
||||||
{
|
{
|
||||||
static char buf[80];
|
static char buf[80];
|
||||||
|
|
Loading…
Reference in New Issue