mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
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:
33
gdb/record.c
33
gdb/record.c
@ -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,
|
||||
|
Reference in New Issue
Block a user