2012-07-20 Pedro Alves <palves@redhat.com>

* i386-tdep.c (i386_record_modrm, i386_record_lea_modrm_addr)
	(i386_process_record): Use record_read_memory.
	* record.c (record_read_memory): New function.
	(record_arch_list_add_mem, record_exec_insn): Use
	record_read_memory.
	* record.h (record_read_memory): Declare.
This commit is contained in:
Pedro Alves
2012-07-20 11:22:32 +00:00
parent c24343e289
commit 4ffa4fc748
4 changed files with 68 additions and 149 deletions

View File

@ -485,6 +485,20 @@ record_arch_list_add_reg (struct regcache *regcache, int regnum)
return 0;
}
int
record_read_memory (struct gdbarch *gdbarch,
CORE_ADDR memaddr, gdb_byte *myaddr,
ssize_t len)
{
int ret = target_read_memory (memaddr, myaddr, len);
if (ret && record_debug)
printf_unfiltered (_("Process record: error reading memory "
"at addr %s len = %ld.\n"),
paddress (gdbarch, memaddr), (long) len);
return ret;
}
/* Record the value of a region of memory whose address is ADDR and
length is LEN to record_arch_list. */
@ -504,13 +518,8 @@ record_arch_list_add_mem (CORE_ADDR addr, int len)
rec = record_mem_alloc (addr, len);
if (target_read_memory (addr, record_get_loc (rec), len))
if (record_read_memory (target_gdbarch, addr, record_get_loc (rec), len))
{
if (record_debug)
fprintf_unfiltered (gdb_stdlog,
"Process record: error reading memory at "
"addr = %s len = %d.\n",
paddress (target_gdbarch, addr), len);
record_mem_release (rec);
return -1;
}
@ -739,15 +748,9 @@ record_exec_insn (struct regcache *regcache, struct gdbarch *gdbarch,
paddress (gdbarch, entry->u.mem.addr),
entry->u.mem.len);
if (target_read_memory (entry->u.mem.addr, mem, entry->u.mem.len))
{
entry->u.mem.mem_entry_not_accessible = 1;
if (record_debug)
warning (_("Process record: error reading memory at "
"addr = %s len = %d."),
paddress (gdbarch, entry->u.mem.addr),
entry->u.mem.len);
}
if (record_read_memory (gdbarch,
entry->u.mem.addr, mem, entry->u.mem.len))
entry->u.mem.mem_entry_not_accessible = 1;
else
{
if (target_write_memory (entry->u.mem.addr,