2003-11-07 Andrew Cagney <cagney@redhat.com>

* inftarg.c (child_xfer_partial): New function
	(init_child_ops): Set "to_xfer_partial".
This commit is contained in:
Andrew Cagney 2003-11-07 21:33:37 +00:00
parent 05580c65ad
commit f168dd8007
2 changed files with 46 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2003-11-07 Andrew Cagney <cagney@redhat.com>
* inftarg.c (child_xfer_partial): New function
(init_child_ops): Set "to_xfer_partial".
2003-11-07 Andrew Cagney <cagney@redhat.com>
* ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,

View file

@ -551,7 +551,46 @@ child_core_file_to_sym_file (char *core)
*/
return NULL;
}
/* Perform a partial transfer to/from the specified object. For
memory transfers, fall back to the old memory xfer functions. */
static LONGEST
child_xfer_partial (struct target_ops *ops,
enum target_object object,
const char *annex, const void *writebuf,
void *readbuf, ULONGEST offset, LONGEST len)
{
switch (object)
{
case TARGET_OBJECT_MEMORY:
if (readbuf)
return child_xfer_memory (offset, readbuf, len, 0/*write*/,
NULL, ops);
if (writebuf)
return child_xfer_memory (offset, readbuf, len, 1/*write*/,
NULL, ops);
return -1;
#if 0
case TARGET_OBJECT_UNWIND_TABLE:
#ifndef NATIVE_XFER_UNWIND_TABLE
#define NATIVE_XFER_UNWIND_TABLE(OPS,OBJECT,ANNEX,WRITEBUF,READBUF,OFFSET,LEN) (-1)
#endif
return NATIVE_XFER_UNWIND_TABLE (ops, object, annex, writebuf,
readbuf, offset, len);
#endif
#if 0
case TARGET_OBJECT_AUXV:
return native_xfer_auxv (PIDGET (inferior_ptid), writebuf, readbuf,
offset, len);
#endif
default:
return -1;
}
}
#if !defined(CHILD_PID_TO_STR)
char *
@ -578,6 +617,7 @@ init_child_ops (void)
child_ops.to_store_registers = store_inferior_registers;
child_ops.to_prepare_to_store = child_prepare_to_store;
child_ops.to_xfer_memory = child_xfer_memory;
child_ops.to_xfer_partial = child_xfer_partial;
child_ops.to_files_info = child_files_info;
child_ops.to_insert_breakpoint = memory_insert_breakpoint;
child_ops.to_remove_breakpoint = memory_remove_breakpoint;