change delegation for to_read_description
[deliverable/binutils-gdb.git] / gdb / sparc64nbsd-tdep.c
index 9073abb1fd11efe46b8bdb71bebbd44ce2281667..744a5f2894837ed93eb83123a87ee59b2bc1d45d 100644 (file)
@@ -1,7 +1,6 @@
 /* Target-dependent code for NetBSD/sparc64.
 
 /* Target-dependent code for NetBSD/sparc64.
 
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 2002-2014 Free Software Foundation, Inc.
    Based on code contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
    Based on code contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
@@ -32,7 +31,7 @@
 #include "trad-frame.h"
 
 #include "gdb_assert.h"
 #include "trad-frame.h"
 
 #include "gdb_assert.h"
-#include "gdb_string.h"
+#include <string.h>
 
 #include "sparc64-tdep.h"
 #include "nbsd-tdep.h"
 
 #include "sparc64-tdep.h"
 #include "nbsd-tdep.h"
@@ -65,7 +64,7 @@ sparc64nbsd_supply_fpregset (const struct regset *regset,
                             struct regcache *regcache,
                             int regnum, const void *fpregs, size_t len)
 {
                             struct regcache *regcache,
                             int regnum, const void *fpregs, size_t len)
 {
-  sparc64_supply_fpregset (regcache, regnum, fpregs);
+  sparc64_supply_fpregset (&sparc64_bsd_fpregset, regcache, regnum, fpregs);
 }
 \f
 
 }
 \f
 
@@ -80,7 +79,7 @@ static const CORE_ADDR sparc64nbsd_sigtramp_start = 0xffffffffffffdee4ULL;
 static const CORE_ADDR sparc64nbsd_sigtramp_end = 0xffffffffffffe000ULL;
 
 static int
 static const CORE_ADDR sparc64nbsd_sigtramp_end = 0xffffffffffffe000ULL;
 
 static int
-sparc64nbsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+sparc64nbsd_pc_in_sigtramp (CORE_ADDR pc, const char *name)
 {
   if (pc >= sparc64nbsd_sigtramp_start && pc < sparc64nbsd_sigtramp_end)
     return 1;
 {
   if (pc >= sparc64nbsd_sigtramp_start && pc < sparc64nbsd_sigtramp_end)
     return 1;
@@ -92,6 +91,7 @@ struct trad_frame_saved_reg *
 sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr,
                                   struct frame_info *this_frame)
 {
 sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr,
                                   struct frame_info *this_frame)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct trad_frame_saved_reg *saved_regs;
   CORE_ADDR addr, sp;
   int regnum, delta;
   struct trad_frame_saved_reg *saved_regs;
   CORE_ADDR addr, sp;
   int regnum, delta;
@@ -134,7 +134,7 @@ sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr,
 
   /* Handle StackGhost.  */
   {
 
   /* Handle StackGhost.  */
   {
-    ULONGEST wcookie = sparc_fetch_wcookie ();
+    ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
 
     if (wcookie != 0)
       {
 
     if (wcookie != 0)
       {
@@ -172,7 +172,7 @@ sparc64nbsd_sigcontext_frame_cache (struct frame_info *this_frame,
 
       /* Since we couldn't find the frame's function, the cache was
          initialized under the assumption that we're frameless.  */
 
       /* Since we couldn't find the frame's function, the cache was
          initialized under the assumption that we're frameless.  */
-      cache->frameless_p = 0;
+      sparc_record_save_insn (cache);
       addr = get_frame_register_unsigned (this_frame, SPARC_FP_REGNUM);
       if (addr & 1)
        addr += BIAS;
       addr = get_frame_register_unsigned (this_frame, SPARC_FP_REGNUM);
       if (addr & 1)
        addr += BIAS;
@@ -214,7 +214,7 @@ sparc64nbsd_sigtramp_frame_sniffer (const struct frame_unwind *self,
                                    void **this_cache)
 {
   CORE_ADDR pc = get_frame_pc (this_frame);
                                    void **this_cache)
 {
   CORE_ADDR pc = get_frame_pc (this_frame);
-  char *name;
+  const char *name;
 
   find_pc_partial_function (pc, &name, NULL, NULL);
   if (sparc64nbsd_pc_in_sigtramp (pc, name))
 
   find_pc_partial_function (pc, &name, NULL, NULL);
   if (sparc64nbsd_pc_in_sigtramp (pc, name))
@@ -229,6 +229,7 @@ sparc64nbsd_sigtramp_frame_sniffer (const struct frame_unwind *self,
 static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind =
 {
   SIGTRAMP_FRAME,
 static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind =
 {
   SIGTRAMP_FRAME,
+  default_frame_unwind_stop_reason,
   sparc64nbsd_sigcontext_frame_this_id,
   sparc64nbsd_sigcontext_frame_prev_register,
   NULL,
   sparc64nbsd_sigcontext_frame_this_id,
   sparc64nbsd_sigcontext_frame_prev_register,
   NULL,
This page took 0.026522 seconds and 4 git commands to generate.