aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog23
-rw-r--r--gdb/bfd-target.c7
-rw-r--r--gdb/bsd-kvm.c38
-rw-r--r--gdb/corelow.c8
-rw-r--r--gdb/inf-ptrace.c5
-rw-r--r--gdb/remote.c11
-rw-r--r--gdb/sparc-nat.c12
-rw-r--r--gdb/target.c6
8 files changed, 71 insertions, 39 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 497e17c..00e5396 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,28 @@
2005-05-16 Mark Kettenis <kettenis@gnu.org>
+ * corelow.c (core_xfer_partial): Change type of readbuf and
+ writebuf to `gdb_byte *'.
+ * sparc-nat.c (sparc_xfer_wcookie, sparc_xfer_partial): Change
+ type of readbuf and writebuf to `gdb_byte *'.
+ * bsd-uthread.c (bsd_uthread_xfer_partial): Change type of readbuf
+ and writebuf to `gdb_byte *'.
+ * inf-ptrace.c (inf_ptrace_xfer_partial): Change type of readbuf
+ and writebuf to `gdb_byte *'.
+ * bsd-kvm.c (bsd_kvm_xfer_memory): Replace.
+ (bsd_kvm_xfer_partial): New function.
+ (bsd_kvm_add_target): Set to_xfer_partial instead of
+ to_xfer_memory.
+ * bfd-target.c (target_bfd_xfer_partial): Change type of readbuf
+ and writebuf to `gdb_byte *'.
+ * target.c (deprecated_debug_xfer_memory): Remove prototype.
+ (deprecated_debug_xfer_memory): Change type of second argument to
+ `gdb_byte *'.
+ * remote.c (remote_xfer_memory): Remove prototype.
+ (remote_xfer_memory): Change type of second argument to `gdb_byte
+ *'.
+ (remote_xfer_partial): Change type of readbuf and writebuf to
+ `gdb_byte *'.
+
* config/sparc/fbsd.mt (TDEPFILES): Add solib.o and solib-svr4.o.
* config/sparc/fbsd.mh (NATDEPFILES): Remove solib.o, solib-svr4.o
and solib-legacy.o.
diff --git a/gdb/bfd-target.c b/gdb/bfd-target.c
index e7aa75b..04ecbd8 100644
--- a/gdb/bfd-target.c
+++ b/gdb/bfd-target.c
@@ -1,6 +1,6 @@
/* Very simple "bfd" target, for GDB, the GNU debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@@ -71,8 +71,9 @@ build_target_sections_from_bfd (struct target_ops *targ, struct bfd *abfd)
LONGEST
target_bfd_xfer_partial (struct target_ops *ops,
enum target_object object,
- const char *annex, void *readbuf,
- const void *writebuf, ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf,
+ ULONGEST offset, LONGEST len)
{
switch (object)
{
diff --git a/gdb/bsd-kvm.c b/gdb/bsd-kvm.c
index e9636a5..db60052e 100644
--- a/gdb/bsd-kvm.c
+++ b/gdb/bsd-kvm.c
@@ -1,6 +1,6 @@
/* BSD Kernel Data Access Library (libkvm) interface.
- Copyright 2004 Free Software Foundation, Inc.
+ Copyright 2004, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@@ -103,17 +103,33 @@ bsd_kvm_close (int quitting)
}
}
-static int
-bsd_kvm_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len,
- int write, struct mem_attrib *attrib,
- struct target_ops *ops)
+static LONGEST
+bsd_kvm_xfer_memory (CORE_ADDR addr, ULONGEST len,
+ gdb_byte *readbuf, const gdb_byte *writebuf)
{
- if (write)
- return kvm_write (core_kd, memaddr, myaddr, len);
- else
- return kvm_read (core_kd, memaddr, myaddr, len);
+ ssize_t nbytes = len;
+
+ if (readbuf)
+ nbytes = kvm_read (core_kd, addr, readbuf, nbytes);
+ if (writebuf && nbytes > 0)
+ nbytes = kvm_write (core_kd, addr, writebuf, nbytes);
+ return nbytes;
+}
- return -1;
+static LONGEST
+bsd_kvm_xfer_partial (struct target_ops *ops, enum target_object object,
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf,
+ ULONGEST offset, LONGEST len)
+{
+ switch (object)
+ {
+ case TARGET_OBJECT_MEMORY:
+ return bsd_kvm_xfer_memory (offset, len, readbuf, writebuf);
+
+ default:
+ return -1;
+ }
}
/* Fetch process control block at address PADDR. */
@@ -287,7 +303,7 @@ Optionally specify the filename of a core dump.");
bsd_kvm_ops.to_open = bsd_kvm_open;
bsd_kvm_ops.to_close = bsd_kvm_close;
bsd_kvm_ops.to_fetch_registers = bsd_kvm_fetch_registers;
- bsd_kvm_ops.deprecated_xfer_memory = bsd_kvm_xfer_memory;
+ bsd_kvm_ops.to_xfer_partial = bsd_kvm_xfer_partial;
bsd_kvm_ops.to_stratum = process_stratum;
bsd_kvm_ops.to_has_memory = 1;
bsd_kvm_ops.to_has_stack = 1;
diff --git a/gdb/corelow.c b/gdb/corelow.c
index ea37df5..3e70ed4 100644
--- a/gdb/corelow.c
+++ b/gdb/corelow.c
@@ -1,8 +1,8 @@
/* Core dump and executable file functions below target vector, for GDB.
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation,
- Inc.
+ 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+ Free Software Foundation, Inc.
This file is part of GDB.
@@ -532,8 +532,8 @@ core_files_info (struct target_ops *t)
static LONGEST
core_xfer_partial (struct target_ops *ops, enum target_object object,
- const char *annex, void *readbuf,
- const void *writebuf, ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
{
switch (object)
{
diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
index b63b455..a0ceeab 100644
--- a/gdb/inf-ptrace.c
+++ b/gdb/inf-ptrace.c
@@ -400,8 +400,9 @@ inf_ptrace_stop (void)
static LONGEST
inf_ptrace_xfer_partial (struct target_ops *ops, enum target_object object,
- const char *annex, void *readbuf,
- const void *writebuf, ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf,
+ ULONGEST offset, LONGEST len)
{
switch (object)
{
diff --git a/gdb/remote.c b/gdb/remote.c
index 5b345b5..1c1f4f6 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -72,11 +72,6 @@ static void build_remote_gdbarch_data (void);
static void remote_files_info (struct target_ops *ignore);
-static int remote_xfer_memory (CORE_ADDR memaddr, char *myaddr,
- int len, int should_write,
- struct mem_attrib *attrib,
- struct target_ops *target);
-
static void remote_prepare_to_store (void);
static void remote_fetch_registers (int regno);
@@ -3871,7 +3866,7 @@ remote_read_bytes (CORE_ADDR memaddr, char *myaddr, int len)
read; 0 for error. TARGET is unused. */
static int
-remote_xfer_memory (CORE_ADDR mem_addr, char *buffer, int mem_len,
+remote_xfer_memory (CORE_ADDR mem_addr, gdb_byte *buffer, int mem_len,
int should_write, struct mem_attrib *attrib,
struct target_ops *target)
{
@@ -4954,8 +4949,8 @@ the loaded file\n"));
static LONGEST
remote_xfer_partial (struct target_ops *ops, enum target_object object,
- const char *annex, void *readbuf, const void *writebuf,
- ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
{
struct remote_state *rs = get_remote_state ();
int i;
diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c
index f2d73c0..9ce15b5 100644
--- a/gdb/sparc-nat.c
+++ b/gdb/sparc-nat.c
@@ -1,6 +1,6 @@
/* Native-dependent code for SPARC.
- Copyright 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@@ -255,8 +255,8 @@ store_inferior_registers (int regnum)
LONGEST
sparc_xfer_wcookie (struct target_ops *ops, enum target_object object,
- const char *annex, void *readbuf, const void *writebuf,
- ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
{
unsigned long wcookie = 0;
char *buf = (char *)&wcookie;
@@ -307,13 +307,13 @@ sparc_xfer_wcookie (struct target_ops *ops, enum target_object object,
}
LONGEST (*inf_ptrace_xfer_partial) (struct target_ops *, enum target_object,
- const char *, void *, const void *,
+ const char *, gdb_byte *, const gdb_byte *,
ULONGEST, LONGEST);
static LONGEST
sparc_xfer_partial (struct target_ops *ops, enum target_object object,
- const char *annex, void *readbuf, const void *writebuf,
- ULONGEST offset, LONGEST len)
+ const char *annex, gdb_byte *readbuf,
+ const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
{
if (object == TARGET_OBJECT_WCOOKIE)
return sparc_xfer_wcookie (ops, object, annex, readbuf, writebuf,
diff --git a/gdb/target.c b/gdb/target.c
index a905cc7..0838a3b 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -108,10 +108,6 @@ static void debug_to_store_registers (int);
static void debug_to_prepare_to_store (void);
-static int deprecated_debug_xfer_memory (CORE_ADDR, char *, int, int,
- struct mem_attrib *,
- struct target_ops *);
-
static void debug_to_files_info (struct target_ops *);
static int debug_to_insert_breakpoint (CORE_ADDR, gdb_byte *);
@@ -2006,7 +2002,7 @@ debug_to_prepare_to_store (void)
}
static int
-deprecated_debug_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len,
+deprecated_debug_xfer_memory (CORE_ADDR memaddr, bfd_byte *myaddr, int len,
int write, struct mem_attrib *attrib,
struct target_ops *target)
{