* stabsread.c (get_substring): Declare second arg as int.
[deliverable/binutils-gdb.git] / gdb / procfs.c
index 7d049ff7f81b9309e8429433e94672f56413f4a1..8a2eda47fbe31515a3e1f9eb70cb1e4e14171ff0 100644 (file)
@@ -119,8 +119,6 @@ static struct pollfd *poll_list; /* pollfds used for waiting on /proc */
 
 static int num_poll_list = 0;  /* Number of entries in poll_list */
 
-static int last_resume_pid = -1; /* Last pid used with procfs_resume */
-
 /*  Much of the information used in the /proc interface, particularly for
     printing status information, is kept as tables of structures of the
     following form.  These tables can be used to map numeric values to
@@ -368,6 +366,50 @@ static char *syscall_table[MAX_SYSCALLS];
 
 /* Prototypes for local functions */
 
+static void procfs_stop PARAMS ((void));
+
+static int procfs_thread_alive PARAMS ((int));
+
+static int procfs_can_run PARAMS ((void));
+
+static void procfs_mourn_inferior PARAMS ((void));
+
+static void procfs_fetch_registers PARAMS ((int));
+
+static int procfs_wait PARAMS ((int, struct target_waitstatus *));
+
+static void procfs_open PARAMS ((char *, int));
+
+static void procfs_files_info PARAMS ((struct target_ops *));
+
+static void procfs_prepare_to_store PARAMS ((void));
+
+static void procfs_detach PARAMS ((char *, int));
+
+static void procfs_attach PARAMS ((char *, int));
+
+static void proc_set_exec_trap PARAMS ((void));
+
+static int procfs_init_inferior PARAMS ((int));
+
+static struct procinfo *create_procinfo PARAMS ((int));
+
+static void procfs_store_registers PARAMS ((int));
+
+static int procfs_xfer_memory PARAMS ((CORE_ADDR, char *, int, int, struct target_ops *));
+
+static void procfs_kill_inferior PARAMS ((void));
+
+static char *sigcodedesc PARAMS ((siginfo_t *));
+
+static char *sigcodename PARAMS ((siginfo_t *));
+
+static struct procinfo *wait_fd PARAMS ((void));
+
+static void remove_fd PARAMS ((struct procinfo *));
+
+static void add_fd PARAMS ((struct procinfo *));
+
 static void set_proc_siginfo PARAMS ((struct procinfo *, int));
 
 static void init_syscall_table PARAMS ((void));
@@ -587,8 +629,10 @@ static struct procinfo *
 wait_fd ()
 {
   struct procinfo *pi;
+#ifndef LOSING_POLL
   int num_fds;
   int i;
+#endif
 
   set_sigint_trap ();  /* Causes SIGINT to be passed on to the
                           attached process. */
@@ -2287,7 +2331,6 @@ static int
 do_attach (pid)
      int pid;
 {
-  int result;
   struct procinfo *pi;
 
   pi = (struct procinfo *) xmalloc (sizeof (struct procinfo));
@@ -2411,7 +2454,6 @@ static void
 do_detach (signal)
      int signal;
 {
-  int result;
   struct procinfo *pi;
 
   pi = current_procinfo;
@@ -3633,7 +3675,7 @@ info_proc (args, from_tty)
   int status = 0;
   int all = 0;
   int nlwp;
-  id_t *lwps;
+  int *lwps;
 
   old_chain = make_cleanup (null_cleanup, 0);
 
@@ -3745,7 +3787,7 @@ No process.  Start debugging a program or specify an explicit process ID.");
     }
 #else /* PIOCLWPIDS */
   nlwp = 1;
-  lwps = alloca ((2 * nlwp + 2) * sizeof (id_t));
+  lwps = alloca ((2 * nlwp + 2) * sizeof *lwps);
   lwps[0] = 0;
 #endif /* PIOCLWPIDS */
 
@@ -3833,7 +3875,9 @@ modify_inherit_on_fork_flag (fd, flag)
      int fd;
      int flag;
 {
+#ifdef PIOCSET
   long pr_flags;
+#endif
   int retval;
 
 #ifdef PIOCSET                 /* New method */
@@ -3884,7 +3928,9 @@ modify_run_on_last_close_flag (fd, flag)
      int fd;
      int flag;
 {
+#ifdef PIOCSET
   long pr_flags;
+#endif
   int retval;
 
 #ifdef PIOCSET                 /* New method */
@@ -4386,7 +4432,7 @@ procfs_stopped_by_watchpoint(pid)
 /* Why is this necessary?  Shouldn't dead threads just be removed from the
    thread database?  */
 
-int
+static int
 procfs_thread_alive (pid)
      int pid;
 {
@@ -4399,14 +4445,28 @@ procfs_thread_alive (pid)
    XXX - This may not be correct for all systems.  Some may want to use
    killpg() instead of kill (-pgrp). */
 
-void
+static void
 procfs_stop ()
 {
   extern pid_t inferior_process_group;
 
   kill (-inferior_process_group, SIGINT);
 }
+\f
+/* Convert a pid to printable form. */
 
+#ifdef TIDGET
+char *
+procfs_pid_to_str (pid)
+     int pid;
+{
+  static char buf[100];
+
+  sprintf (buf, "Kernel thread %d", TIDGET (pid));
+
+  return buf;
+}
+#endif /* TIDGET */
 \f
 struct target_ops procfs_ops = {
   "procfs",                    /* to_shortname */
This page took 0.024582 seconds and 4 git commands to generate.