From 961cb7b5ccf3306779af52da20094a2bac8030c6 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Mon, 16 May 2005 16:36:24 +0000 Subject: [PATCH] * 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 *'. --- gdb/ChangeLog | 23 +++++++++++++++++++++++ gdb/bfd-target.c | 7 ++++--- gdb/bsd-kvm.c | 38 +++++++++++++++++++++++++++----------- gdb/corelow.c | 8 ++++---- gdb/inf-ptrace.c | 5 +++-- gdb/remote.c | 11 +++-------- gdb/sparc-nat.c | 12 ++++++------ gdb/target.c | 6 +----- 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 + * 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) { -- 2.7.4