gdb/gdbserver/
[deliverable/binutils-gdb.git] / gdb / gdbserver / proc-service.c
index 79ae1d55a62240f8e77af9346390535e6de92af9..67839167b22d0d88951fd3d1d0e8ab03e4bbbb01 100644 (file)
@@ -1,5 +1,5 @@
 /* libthread_db helper functions for the remote server for GDB.
-   Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009
+   Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
 
    Contributed by MontaVista Software.
@@ -65,7 +65,7 @@ ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *obj,
 {
   CORE_ADDR addr;
 
-  if (look_up_one_symbol (name, &addr) == 0)
+  if (thread_db_look_up_one_symbol (name, &addr) == 0)
     return PS_NOSYM;
 
   *sym_addr = (psaddr_t) (unsigned long) addr;
@@ -99,20 +99,19 @@ ps_err_e
 ps_lgetregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prgregset_t gregset)
 {
 #ifdef HAVE_REGSETS
-  struct process_info *process;
+  struct lwp_info *lwp;
   struct thread_info *reg_inferior, *save_inferior;
+  struct regcache *regcache;
 
-  process = (struct process_info *) find_inferior_id (&all_processes,
-                                                     lwpid);
-  if (process == NULL)
+  lwp = find_lwp_pid (pid_to_ptid (lwpid));
+  if (lwp == NULL)
     return PS_ERR;
 
-  reg_inferior = get_process_thread (process);
+  reg_inferior = get_lwp_thread (lwp);
   save_inferior = current_inferior;
   current_inferior = reg_inferior;
-
-  the_target->fetch_registers (0);
-  gregset_info()->fill_function (gregset);
+  regcache = get_thread_regcache (current_inferior, 1);
+  gregset_info ()->fill_function (regcache, gregset);
 
   current_inferior = save_inferior;
   return PS_OK;
@@ -157,7 +156,5 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, void *fpregset)
 pid_t
 ps_getpid (gdb_ps_prochandle_t ph)
 {
-  return ph->pid;
+  return pid_of (get_thread_lwp (current_inferior));
 }
-
-
This page took 0.024886 seconds and 4 git commands to generate.