* bfd-target.c: Don't include gdb_assert.h or gdb_string.h.

Include exec.h.
	(struct section_closure): Delete.
	(add_to_section_table): Delete.
	(build_target_sections_from_bfd): Delete.
	(target_bfd_xfer_partial): Use section_table_xfer_memory_partial.
	(target_bfd_reopen): Use build_section_table.
	* exec.c (xfer_memory): Move most code except for overlay
	debugging support from here...
	(section_table_xfer_memory): ... to this new function.
	(section_table_xfer_memory_partial): New.
	* exec.h (section_table_xfer_memory_partial): Declare.
	* bfd-target.h (build_target_sections_from_bfd): Delete
	declaration.
This commit is contained in:
Pedro Alves
2009-05-22 03:01:45 +00:00
parent 415756309f
commit 348f8c02f4
5 changed files with 121 additions and 100 deletions

View File

@ -34,6 +34,24 @@ extern struct target_ops exec_ops;
extern int build_section_table (struct bfd *, struct section_table **,
struct section_table **);
/* Request to transfer up to LEN 8-bit bytes of the target sections
defined by SECTIONS and SECTIONS_END. The OFFSET specifies the
starting address.
Return the number of bytes actually transfered, or non-positive
when no data is available for the requested range.
This function is intended to be used from target_xfer_partial
implementations. See target_read and target_write for more
information.
One, and only one, of readbuf or writebuf must be non-NULL. */
extern int section_table_xfer_memory_partial (gdb_byte *, const gdb_byte *,
ULONGEST, LONGEST,
struct section_table *,
struct section_table *);
/* Set the loaded address of a section. */
extern void exec_set_section_address (const char *, int, CORE_ADDR);