/* Target-dependent code for NetBSD/mips.
- Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
#include "value.h"
#include "osabi.h"
-#include "gdb_assert.h"
-#include "gdb_string.h"
-
#include "nbsd-tdep.h"
#include "mipsnbsd-tdep.h"
#include "mips-tdep.h"
/* NetBSD/mips register sets. */
-static struct regset mipsnbsd_gregset =
+static const struct regset mipsnbsd_gregset =
{
NULL,
mipsnbsd_supply_gregset
};
-static struct regset mipsnbsd_fpregset =
+static const struct regset mipsnbsd_fpregset =
{
NULL,
mipsnbsd_supply_fpregset
}
void
-mipsnbsd_supply_fpreg (struct regcache *regcache, const char *fpregs, int regno)
+mipsnbsd_supply_fpreg (struct regcache *regcache,
+ const char *fpregs, int regno)
{
struct gdbarch *gdbarch = get_regcache_arch (regcache);
int i;
* mips_isa_regsize (gdbarch)));
}
+#if 0
+
/* Under NetBSD/mips, signal handler invocations can be identified by the
designated code sequence that is used to return from a signal handler.
In particular, the return address of a signal handler points to the
0x00, 0x00, 0x00, 0x0c, /* syscall */
};
-static LONGEST
-mipsnbsd_sigtramp_offset (struct frame_info *this_frame)
-{
- CORE_ADDR pc = get_frame_pc (this_frame);
- const char *retcode = gdbarch_byte_order (get_frame_arch (this_frame))
- == BFD_ENDIAN_BIG ? sigtramp_retcode_mipseb :
- sigtramp_retcode_mipsel;
- unsigned char ret[RETCODE_SIZE], w[4];
- LONGEST off;
- int i;
-
- if (!safe_frame_unwind_memory (this_frame, pc, w, sizeof (w)))
- return -1;
-
- for (i = 0; i < RETCODE_NWORDS; i++)
- {
- if (memcmp (w, retcode + (i * 4), 4) == 0)
- break;
- }
- if (i == RETCODE_NWORDS)
- return -1;
-
- off = i * 4;
- pc -= off;
-
- if (!safe_frame_unwind_memory (this_frame, pc, ret, sizeof (ret)))
- return -1;
-
- if (memcmp (ret, retcode, RETCODE_SIZE) == 0)
- return off;
-
- return -1;
-}
+#endif
/* Figure out where the longjmp will land. We expect that we have
just entered longjmp and haven't yet setup the stack frame, so the
struct gdbarch *gdbarch = get_frame_arch (frame);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR jb_addr;
- char *buf;
+ gdb_byte *buf;
buf = alloca (NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch));
}
\f
-static enum gdb_osabi
-mipsnbsd_core_osabi_sniffer (bfd *abfd)
-{
- if (strcmp (bfd_get_target (abfd), "netbsd-core") == 0)
- return GDB_OSABI_NETBSD_ELF;
-
- return GDB_OSABI_UNKNOWN;
-}
-
/* Provide a prototype to silence -Wmissing-prototypes. */
extern initialize_file_ftype _initialize_mipsnbsd_tdep;