/* libthread_db helper functions for the remote server for GDB.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by MontaVista Software.
ps_pdread (gdb_ps_prochandle_t ph, psaddr_t addr,
gdb_ps_read_buf_t buf, gdb_ps_size_t size)
{
- read_inferior_memory ((unsigned long) addr, buf, size);
+ read_inferior_memory ((uintptr_t) addr, (gdb_byte *) buf, size);
return PS_OK;
}
ps_pdwrite (gdb_ps_prochandle_t ph, psaddr_t addr,
gdb_ps_write_buf_t buf, gdb_ps_size_t size)
{
- return write_inferior_memory ((unsigned long) addr, buf, size);
+ if (write_inferior_memory ((uintptr_t) addr, (const gdb_byte *) buf, size)
+ != 0)
+ return PS_ERR;
+ return PS_OK;
}
/* Get the general registers of LWP LWPID within the target process PH
{
#ifdef HAVE_REGSETS
struct lwp_info *lwp;
- struct thread_info *reg_inferior, *save_inferior;
+ struct thread_info *reg_thread, *saved_thread;
struct regcache *regcache;
lwp = find_lwp_pid (pid_to_ptid (lwpid));
if (lwp == NULL)
return PS_ERR;
- reg_inferior = get_lwp_thread (lwp);
- save_inferior = current_inferior;
- current_inferior = reg_inferior;
- regcache = get_thread_regcache (current_inferior, 1);
+ reg_thread = get_lwp_thread (lwp);
+ saved_thread = current_thread;
+ current_thread = reg_thread;
+ regcache = get_thread_regcache (current_thread, 1);
gregset_info ()->fill_function (regcache, gregset);
- current_inferior = save_inferior;
+ current_thread = saved_thread;
return PS_OK;
#else
return PS_ERR;
process PH and store them in FPREGSET. */
ps_err_e
-ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, void *fpregset)
+ps_lgetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, prfpregset_t *fpregset)
{
/* Unneeded. */
return PS_ERR;
process PH from FPREGSET. */
ps_err_e
-ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, void *fpregset)
+ps_lsetfpregs (gdb_ps_prochandle_t ph, lwpid_t lwpid, const prfpregset_t *fpregset)
{
/* Unneeded. */
return PS_ERR;
pid_t
ps_getpid (gdb_ps_prochandle_t ph)
{
- return pid_of (current_inferior);
+ return pid_of (current_thread);
}