2003-11-03 Andrew Cagney <cagney@redhat.com>
* section.c (bfd_set_section_contents): Make the "location" buffer constant. * bfd-in2.h: Re-generate. Index: gdb/ChangeLog 2003-11-03 Andrew Cagney <cagney@redhat.com> * exec.c (xfer_memory): Eliminate xfer_fn.
This commit is contained in:
parent
794cd17b28
commit
8530209598
5 changed files with 31 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
22
gdb/exec.c
22
gdb/exec.c
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue