/* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of GDB.
#include "defs.h"
#include "gdbcore.h"
-#include "gdb_string.h"
#include "regcache.h"
#include "mn10300-tdep.h"
-#include "gdb_assert.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "osabi.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
-#include <stdlib.h>
-
/* Transliterated from <asm-mn10300/elf.h>... */
#define MN10300_ELF_NGREG 28
#define MN10300_ELF_NFPREG 32
Given a section name and size, create a struct reg object
with a supply_register and a collect_register method. */
-/* Copy register value of REGNUM from regset to regcache.
+/* Copy register value of REGNUM from regset to regcache.
If REGNUM is -1, do this for all gp registers in regset. */
static void
return;
}
-/* Copy fp register value of REGNUM from regset to regcache.
- If REGNUM is -1, do this for all fp registers in regset. */
+/* Copy fp register value of REGNUM from regset to regcache.
+ If REGNUM is -1, do this for all fp registers in regset. */
static void
am33_supply_fpregset_method (const struct regset *regset,
else if (regnum == E_FPCR_REGNUM)
regcache_raw_supply (regcache, E_FPCR_REGNUM,
&fpregset->fpcr);
- else if (E_FS0_REGNUM <= regnum && regnum < E_FS0_REGNUM + MN10300_ELF_NFPREG)
+ else if (E_FS0_REGNUM <= regnum
+ && regnum < E_FS0_REGNUM + MN10300_ELF_NFPREG)
regcache_raw_supply (regcache, regnum,
&fpregset->fpregs[regnum - E_FS0_REGNUM]);
return;
}
+static const struct regset am33_gregset =
+ {
+ NULL, am33_supply_gregset_method, am33_collect_gregset_method
+ };
+
+static const struct regset am33_fpregset =
+ {
+ NULL, am33_supply_fpregset_method, am33_collect_fpregset_method
+ };
+
/* Create a struct regset from a corefile register section. */
static const struct regset *
const char *sect_name,
size_t sect_size)
{
- /* We will call regset_alloc, and pass the names of the supply and
- collect methods. */
-
if (sect_size == sizeof (mn10300_elf_fpregset_t))
- return regset_alloc (gdbarch,
- am33_supply_fpregset_method,
- am33_collect_fpregset_method);
+ return &am33_fpregset;
else
- return regset_alloc (gdbarch,
- am33_supply_gregset_method,
- am33_collect_gregset_method);
+ return &am33_gregset;
}
\f
static void
sc_base + AM33_SIGCONTEXT_PC);
fpubase = get_frame_memory_unsigned (this_frame,
- sc_base + AM33_SIGCONTEXT_FPUCONTEXT, 4);
+ sc_base + AM33_SIGCONTEXT_FPUCONTEXT,
+ 4);
if (fpubase)
{
for (i = 0; i < 32; i++)