diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 4 | ||||
-rw-r--r-- | bfd/section.c | 6 | ||||
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/exec.c | 22 |
5 files changed, 31 insertions, 11 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9307eb9..23a6049 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2003-11-03 Andrew Cagney <cagney@redhat.com> + + * section.c (bfd_set_section_contents): Make the "location" buffer + constant. + * bfd-in2.h: Re-generate. + 2003-10-30 Andrew Cagney <cagney@redhat.com> * syms.c: Replace "struct symbol_cache_entry" with "struct diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 27dbca9..1d01116 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1483,8 +1483,8 @@ bfd_boolean bfd_set_section_size (bfd *abfd, asection *sec, bfd_size_type val); bfd_boolean bfd_set_section_contents - (bfd *abfd, asection *section, void *data, file_ptr offset, - bfd_size_type count); + (bfd *abfd, asection *section, const void *data, + file_ptr offset, bfd_size_type count); bfd_boolean bfd_get_section_contents (bfd *abfd, asection *section, void *location, file_ptr offset, diff --git a/bfd/section.c b/bfd/section.c index 360d117..e99062a 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -1132,8 +1132,8 @@ FUNCTION SYNOPSIS bfd_boolean bfd_set_section_contents - (bfd *abfd, asection *section, void *data, file_ptr offset, - bfd_size_type count); + (bfd *abfd, asection *section, const void *data, + file_ptr offset, bfd_size_type count); DESCRIPTION Sets the contents of the section @var{section} in BFD @@ -1161,7 +1161,7 @@ DESCRIPTION bfd_boolean bfd_set_section_contents (bfd *abfd, sec_ptr section, - void *location, + const void *location, file_ptr offset, bfd_size_type count) { diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a580602..9b2eb40 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2003-11-03 Andrew Cagney <cagney@redhat.com> + + * exec.c (xfer_memory): Eliminate xfer_fn. + 2003-10-31 Kevin Buettner <kevinb@redhat.com> * frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h) @@ -457,7 +457,6 @@ xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, int res; struct section_table *p; CORE_ADDR nextsectaddr, memend; - int (*xfer_fn) (bfd *, sec_ptr, void *, file_ptr, bfd_size_type); asection *section = NULL; if (len <= 0) @@ -471,7 +470,6 @@ xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, } memend = memaddr + len; - xfer_fn = write ? bfd_set_section_contents : bfd_get_section_contents; nextsectaddr = memend; for (p = target->to_sections; p < target->to_sections_end; p++) @@ -484,8 +482,14 @@ xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, if (memend <= p->endaddr) { /* Entire transfer is within this section. */ - res = xfer_fn (p->bfd, p->the_bfd_section, myaddr, - memaddr - p->addr, len); + if (write) + res = bfd_set_section_contents (p->bfd, p->the_bfd_section, + myaddr, memaddr - p->addr, + len); + else + res = bfd_get_section_contents (p->bfd, p->the_bfd_section, + myaddr, memaddr - p->addr, + len); return (res != 0) ? len : 0; } else if (memaddr >= p->endaddr) @@ -497,8 +501,14 @@ xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, { /* This section overlaps the transfer. Just do half. */ len = p->endaddr - memaddr; - res = xfer_fn (p->bfd, p->the_bfd_section, myaddr, - memaddr - p->addr, len); + if (write) + res = bfd_set_section_contents (p->bfd, p->the_bfd_section, + myaddr, memaddr - p->addr, + len); + else + res = bfd_get_section_contents (p->bfd, p->the_bfd_section, + myaddr, memaddr - p->addr, + len); return (res != 0) ? len : 0; } } |