Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: gdb/gdbserver/linux-crisv32-low.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/gdbserver/linux-cris-low.c ('k') | gdb/gdbserver/linux-ia64-low.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/gdbserver/linux-crisv32-low.c
diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c
index e0e5504bccea35c918803d0618c5225124f8be51..d0e2f5621f28fff775a85ca28ca41ffde4871d26 100644
--- a/gdb/gdbserver/linux-crisv32-low.c
+++ b/gdb/gdbserver/linux-crisv32-low.c
@@ -231,6 +231,7 @@ cris_remove_point (char type, CORE_ADDR addr, int len)
unsigned long bp_ctrl;
unsigned long start, end;
struct regcache *regcache;
+ unsigned long bp_d_regs[12];
/* Breakpoint/watchpoint types:
0 = memory breakpoint for instructions
@@ -259,8 +260,6 @@ cris_remove_point (char type, CORE_ADDR addr, int len)
single switch (addr) as there may be several watchpoints with
the same start address for example. */
- unsigned long bp_d_regs[12];
-
/* Get all range registers to simplify search. */
collect_register_by_name (regcache, "s3", &bp_d_regs[0]);
collect_register_by_name (regcache, "s4", &bp_d_regs[1]);
@@ -321,8 +320,9 @@ static int
cris_stopped_by_watchpoint (void)
{
unsigned long exs;
+ struct regcache *regcache = get_thread_regcache (current_inferior, 1);
- collect_register_by_name ("exs", &exs);
+ collect_register_by_name (regcache, "exs", &exs);
return (((exs & 0xff00) >> 8) == 0xc);
}
@@ -331,51 +331,52 @@ static CORE_ADDR
cris_stopped_data_address (void)
{
unsigned long eda;
+ struct regcache *regcache = get_thread_regcache (current_inferior, 1);
- collect_register_by_name ("eda", &eda);
+ collect_register_by_name (regcache, "eda", &eda);
/* FIXME: Possibly adjust to match watched range. */
return eda;
}
static void
-cris_fill_gregset (void *buf)
+cris_fill_gregset (struct regcache *regcache, void *buf)
{
int i;
for (i = 0; i < cris_num_regs; i++)
{
if (cris_regmap[i] != -1)
- collect_register (i, ((char *) buf) + cris_regmap[i]);
+ collect_register (regcache, i, ((char *) buf) + cris_regmap[i]);
}
}
static void
-cris_store_gregset (const void *buf)
+cris_store_gregset (struct regcache *regcache, const void *buf)
{
int i;
for (i = 0; i < cris_num_regs; i++)
{
if (cris_regmap[i] != -1)
- supply_register (i, ((char *) buf) + cris_regmap[i]);
+ supply_register (regcache, i, ((char *) buf) + cris_regmap[i]);
}
}
-typedef unsigned long elf_gregset_t[cris_num_regs];
-
struct regset_info target_regsets[] = {
- { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t),
+ { PTRACE_GETREGS, PTRACE_SETREGS, 0, cris_num_regs * 4,
GENERAL_REGS, cris_fill_gregset, cris_store_gregset },
{ 0, 0, 0, -1, -1, NULL, NULL }
};
struct linux_target_ops the_low_target = {
- init_register_crisv32,
+ init_registers_crisv32,
-1,
NULL,
NULL,
NULL,
+ NULL,
+ NULL, /* fetch_register */
cris_get_pc,
cris_set_pc,
(const unsigned char *) &cris_breakpoint,
« no previous file with comments | « gdb/gdbserver/linux-cris-low.c ('k') | gdb/gdbserver/linux-ia64-low.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698