/* <proc_service.h> implementation.
- Copyright 1999, 2000 Free Software Foundation, Inc.
+
+ Copyright (C) 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "defs.h"
#include "inferior.h"
#include "symtab.h"
#include "target.h"
+#include "regcache.h"
/* Prototypes for supply_gregset etc. */
#include "gregset.h"
static ps_err_e
ps_xfer_memory (const struct ps_prochandle *ph, paddr_t addr,
- char *buf, size_t len, int write)
+ gdb_byte *buf, size_t len, int write)
{
struct cleanup *old_chain = save_inferior_ptid ();
int ret;
ps_pdwrite (gdb_ps_prochandle_t ph, paddr_t addr,
gdb_ps_write_buf_t buf, gdb_ps_size_t size)
{
- return ps_xfer_memory (ph, addr, (char *) buf, size, 1);
+ return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
}
/* Read SIZE bytes from the target process PH at address ADDR and copy
ps_ptread (gdb_ps_prochandle_t ph, paddr_t addr,
gdb_ps_read_buf_t buf, gdb_ps_size_t size)
{
- return ps_xfer_memory (ph, addr, buf, size, 0);
+ return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 0);
}
/* Write SIZE bytes from BUF into the target process PH at address ADDR. */
ps_ptwrite (gdb_ps_prochandle_t ph, paddr_t addr,
gdb_ps_write_buf_t buf, gdb_ps_size_t size)
{
- return ps_xfer_memory (ph, addr, (char *) buf, size, 1);
+ return ps_xfer_memory (ph, addr, (gdb_byte *) buf, size, 1);
}
/* Get the general registers of LWP LWPID within the target process PH
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
- target_fetch_registers (-1);
- fill_gregset ((gdb_gregset_t *) gregset, -1);
+ target_fetch_registers (current_regcache, -1);
+ fill_gregset (current_regcache, (gdb_gregset_t *) gregset, -1);
do_cleanups (old_chain);
return PS_OK;
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
- /* FIXME: We should really make supply_gregset const-correct. */
- supply_gregset ((gdb_gregset_t *) gregset);
- target_store_registers (-1);
+ supply_gregset (current_regcache, (const gdb_gregset_t *) gregset);
+ target_store_registers (current_regcache, -1);
do_cleanups (old_chain);
return PS_OK;
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
- target_fetch_registers (-1);
- fill_fpregset ((gdb_fpregset_t *) fpregset, -1);
+ target_fetch_registers (current_regcache, -1);
+ fill_fpregset (current_regcache, (gdb_fpregset_t *) fpregset, -1);
do_cleanups (old_chain);
return PS_OK;
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
- /* FIXME: We should really make supply_fpregset const-correct. */
- supply_fpregset ((gdb_fpregset_t *) fpregset);
- target_store_registers (-1);
+ supply_fpregset (current_regcache, (const gdb_fpregset_t *) fpregset);
+ target_store_registers (current_regcache, -1);
do_cleanups (old_chain);
return PS_OK;
}
-/* Return overall process id of the target PH.
- Special for Linux -- not used on Solaris. */
+/* Return overall process id of the target PH. Special for GNU/Linux
+ -- not used on Solaris. */
pid_t
ps_getpid (gdb_ps_prochandle_t ph)