gnulib: define the path to gnulib's parent dir
[binutils-gdb.git] / gdb / sparc64-fbsd-tdep.c
index 29d2f959270978fcc96b840489c2590b94fe2635..6f906d53173bf7da60332dcee37f3fe64f877cbb 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for FreeBSD/sparc64.
 
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,6 +30,7 @@
 #include "sparc64-tdep.h"
 #include "fbsd-tdep.h"
 #include "solib-svr4.h"
+#include "gdbarch.h"
 
 /* From <machine/reg.h>.  */
 const struct sparc_gregmap sparc64fbsd_gregmap =
@@ -113,48 +114,48 @@ sparc64fbsd_sigtramp_frame_cache (struct frame_info *this_frame,
   /* The following registers travel in the `mc_local' slots of
      `mcontext_t'.  */
   addr = mcontext_addr + 16 * 8;
-  cache->saved_regs[SPARC64_FPRS_REGNUM].addr = addr + 0 * 8;
-  cache->saved_regs[SPARC64_FSR_REGNUM].addr = addr + 1 * 8;
+  cache->saved_regs[SPARC64_FPRS_REGNUM].set_addr (addr + 0 * 8);
+  cache->saved_regs[SPARC64_FSR_REGNUM].set_addr (addr + 1 * 8);
 
   /* The following registers travel in the `mc_in' slots of
      `mcontext_t'.  */
   addr = mcontext_addr + 24 * 8;
-  cache->saved_regs[SPARC64_NPC_REGNUM].addr = addr + 0 * 8;
-  cache->saved_regs[SPARC64_PC_REGNUM].addr = addr + 1 * 8;
-  cache->saved_regs[SPARC64_STATE_REGNUM].addr = addr + 2 * 8;
-  cache->saved_regs[SPARC64_Y_REGNUM].addr = addr + 4 * 8;
+  cache->saved_regs[SPARC64_NPC_REGNUM].set_addr (addr + 0 * 8);
+  cache->saved_regs[SPARC64_PC_REGNUM].set_addr (addr + 1 * 8);
+  cache->saved_regs[SPARC64_STATE_REGNUM].set_addr (addr + 2 * 8);
+  cache->saved_regs[SPARC64_Y_REGNUM].set_addr (addr + 4 * 8);
 
   /* The `global' and `out' registers travel in the `mc_global' and
      `mc_out' slots of `mcontext_t', except for %g0.  Since %g0 is
      always zero, keep the identity encoding.  */
   for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 8;
        regnum <= SPARC_O7_REGNUM; regnum++, addr += 8)
-    cache->saved_regs[regnum].addr = addr;
+    cache->saved_regs[regnum].set_addr (addr);
 
   /* The `local' and `in' registers have been saved in the register
      save area.  */
-  addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+  addr = cache->saved_regs[SPARC_SP_REGNUM].addr ();
   sp = get_frame_memory_unsigned (this_frame, addr, 8);
   for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
        regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
-    cache->saved_regs[regnum].addr = addr;
+    cache->saved_regs[regnum].set_addr (addr);
 
   /* The floating-point registers are only saved if the FEF bit in
      %fprs has been set.  */
 
 #define FPRS_FEF       (1 << 2)
 
-  addr = cache->saved_regs[SPARC64_FPRS_REGNUM].addr;
+  addr = cache->saved_regs[SPARC64_FPRS_REGNUM].addr ();
   fprs = get_frame_memory_unsigned (this_frame, addr, 8);
   if (fprs & FPRS_FEF)
     {
       for (regnum = SPARC_F0_REGNUM, addr = mcontext_addr + 32 * 8;
           regnum <= SPARC_F31_REGNUM; regnum++, addr += 4)
-       cache->saved_regs[regnum].addr = addr;
+       cache->saved_regs[regnum].set_addr (addr);
 
       for (regnum = SPARC64_F32_REGNUM;
           regnum <= SPARC64_F62_REGNUM; regnum++, addr += 8)
-       cache->saved_regs[regnum].addr = addr;
+       cache->saved_regs[regnum].set_addr (addr);
     }
 
   return cache;
@@ -241,11 +242,9 @@ sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     (gdbarch, svr4_lp64_fetch_link_map_offsets);
 }
 
-/* Provide a prototype to silence -Wmissing-prototypes.  */
-void _initialize_sparc64fbsd_tdep (void);
-
+void _initialize_sparc64fbsd_tdep ();
 void
-_initialize_sparc64fbsd_tdep (void)
+_initialize_sparc64fbsd_tdep ()
 {
   gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
                          GDB_OSABI_FREEBSD, sparc64fbsd_init_abi);