2005-01-27 Andrew Cagney <cagney@gnu.org>

* symfile-mem.c (do_target_read_memory): New function.
	(symbol_file_add_from_memory): Pass do_target_read_memory to
	bfd_elf_bfd_from_remote_memory.
	* corefile.c (write_memory): Update, make a copy of the read-only
	buffer.
	* target.c (target_read_memory): Update.
	(target_write_memory): Update, make a copy of the read-only
	buffer.
	* gdbcore.h (write_memory): Change buffer type to bfd_byte, make
	const.
	* target.h (target_read_memory, target_write_memory): Change
	buffer type to bfd_byte; for write_memory, make it const.
This commit is contained in:
Andrew Cagney 2005-01-27 20:09:10 +00:00
parent 89f5065b88
commit 10e2d419a3
6 changed files with 38 additions and 11 deletions

View file

@ -58,6 +58,15 @@
#include "elf/common.h"
/* FIXME: cagney/2005-01-27: Should be a function with the signature:
int (void *object, const bfd_byte *myaddr, int len). */
static int
do_target_read_memory (bfd_vma vma, char *myaddr, int len)
{
return target_read_memory (vma, myaddr, len);
}
/* Read inferior memory at ADDR to find the header of a loaded object file
and read its in-core symbols out of inferior memory. TEMPL is a bfd
representing the target's format. NAME is the name to use for this
@ -78,7 +87,7 @@ symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr, char *name,
error ("add-symbol-file-from-memory not supported for this target");
nbfd = bfd_elf_bfd_from_remote_memory (templ, addr, &loadbase,
target_read_memory);
do_target_read_memory);
if (nbfd == NULL)
error ("Failed to read a valid object file image from memory.");