mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-26 13:30:30 +00:00
* target.c (debug_print_register): New function. Handle oversize
registers. (debug_to_fetch_registers): Call. (debug_to_store_registers): Call.
This commit is contained in:
parent
f46c2da63e
commit
bf0c5130d2
@ -1,3 +1,10 @@
|
||||
2002-05-04 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* target.c (debug_print_register): New function. Handle oversize
|
||||
registers.
|
||||
(debug_to_fetch_registers): Call.
|
||||
(debug_to_store_registers): Call.
|
||||
|
||||
2002-05-03 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* stabsread.c (cleanup_undefined_types): Use replace_type, not memcpy.
|
||||
|
48
gdb/target.c
48
gdb/target.c
@ -1652,32 +1652,48 @@ debug_to_post_wait (ptid_t ptid, int status)
|
||||
PIDGET (ptid), status);
|
||||
}
|
||||
|
||||
static void
|
||||
debug_print_register (const char * func, int regno)
|
||||
{
|
||||
fprintf_unfiltered (gdb_stdlog, "%s ", func);
|
||||
if (regno >= 0 && regno < NUM_REGS + NUM_PSEUDO_REGS
|
||||
&& REGISTER_NAME (regno) != NULL && REGISTER_NAME (regno)[0] != '\0')
|
||||
fprintf_unfiltered (gdb_stdlog, "(%s)", REGISTER_NAME (regno));
|
||||
else
|
||||
fprintf_unfiltered (gdb_stdlog, "(%d)", regno);
|
||||
if (regno >= 0)
|
||||
{
|
||||
int i;
|
||||
unsigned char *buf = alloca (MAX_REGISTER_RAW_SIZE);
|
||||
read_register_gen (regno, buf);
|
||||
fprintf_unfiltered (gdb_stdlog, " = ");
|
||||
for (i = 0; i < REGISTER_RAW_SIZE (regno); i++)
|
||||
{
|
||||
fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]);
|
||||
}
|
||||
if (REGISTER_RAW_SIZE (regno) <= sizeof (LONGEST))
|
||||
{
|
||||
fprintf_unfiltered (gdb_stdlog, " 0x%s %s",
|
||||
paddr_nz (read_register (regno)),
|
||||
paddr_d (read_register (regno)));
|
||||
}
|
||||
}
|
||||
fprintf_unfiltered (gdb_stdlog, "\n");
|
||||
}
|
||||
|
||||
static void
|
||||
debug_to_fetch_registers (int regno)
|
||||
{
|
||||
debug_target.to_fetch_registers (regno);
|
||||
|
||||
fprintf_unfiltered (gdb_stdlog, "target_fetch_registers (%s)",
|
||||
regno != -1 ? REGISTER_NAME (regno) : "-1");
|
||||
if (regno != -1)
|
||||
fprintf_unfiltered (gdb_stdlog, " = 0x%lx %ld",
|
||||
(unsigned long) read_register (regno),
|
||||
(unsigned long) read_register (regno));
|
||||
fprintf_unfiltered (gdb_stdlog, "\n");
|
||||
debug_print_register ("target_fetch_registers", regno);
|
||||
}
|
||||
|
||||
static void
|
||||
debug_to_store_registers (int regno)
|
||||
{
|
||||
debug_target.to_store_registers (regno);
|
||||
|
||||
if (regno >= 0 && regno < NUM_REGS)
|
||||
fprintf_unfiltered (gdb_stdlog, "target_store_registers (%s) = 0x%lx %ld\n",
|
||||
REGISTER_NAME (regno),
|
||||
(unsigned long) read_register (regno),
|
||||
(unsigned long) read_register (regno));
|
||||
else
|
||||
fprintf_unfiltered (gdb_stdlog, "target_store_registers (%d)\n", regno);
|
||||
debug_print_register ("target_store_registers", regno);
|
||||
fprintf_unfiltered (gdb_stdlog, "\n");
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user