Build two gdb.cp testcases with -Wno-unused-comparison
[deliverable/binutils-gdb.git] / gdb / alpha-linux-nat.c
index 4037788c76caba92e6cdd32aec7ef9f223fb50b4..5fd7a932ce134d688ef8bd8b5a0aae810b839162 100644 (file)
@@ -1,5 +1,5 @@
 /* Low level Alpha GNU/Linux interface, for GDB when running native.
-   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2005-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #include "defs.h"
 #include "target.h"
 #include "regcache.h"
-#include "linux-nat.h"
+#include "linux-nat-trad.h"
 
 #include "alpha-tdep.h"
+#include "gdbarch.h"
 
-#include <sys/ptrace.h>
+#include "nat/gdb_ptrace.h"
 #include <alpha/ptrace.h>
 
 #include <sys/procfs.h>
 /* The address of UNIQUE for ptrace.  */
 #define ALPHA_UNIQUE_PTRACE_ADDR 65
 
+class alpha_linux_nat_target final : public linux_nat_trad_target
+{
+protected:
+  /* Override linux_nat_trad_target methods.  */
+  CORE_ADDR register_u_offset (struct gdbarch *gdbarch,
+                              int regno, int store_p) override;
+};
+
+static alpha_linux_nat_target the_alpha_linux_nat_target;
 
-/*
- * See the comment in m68k-tdep.c regarding the utility of these functions.
- */
+/* See the comment in m68k-tdep.c regarding the utility of these
+   functions.  */
 
 void
 supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
@@ -56,10 +65,8 @@ fill_gregset (const struct regcache *regcache,
   alpha_fill_int_regs (regcache, regno, regp, regp + 31, regp + 32);
 }
 
-/*
- * Now we do the same thing for floating-point registers.
- * Again, see the comments in m68k-tdep.c.
- */
+/* Now we do the same thing for floating-point registers.
+   Again, see the comments in m68k-tdep.c.  */
 
 void
 supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
@@ -80,9 +87,9 @@ fill_fpregset (const struct regcache *regcache,
   alpha_fill_fp_regs (regcache, regno, regp, regp + 31);
 }
 
-
-static CORE_ADDR
-alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
+CORE_ADDR
+alpha_linux_nat_target::register_u_offset (struct gdbarch *gdbarch,
+                                          int regno, int store_p)
 {
   if (regno == gdbarch_pc_regnum (gdbarch))
     return PC;
@@ -94,10 +101,10 @@ alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
     return FPR_BASE + regno - gdbarch_fp0_regnum (gdbarch);
 }
 
-void _initialialize_alpha_linux_nat (void);
-
+void _initialize_alpha_linux_nat ();
 void
-_initialize_alpha_linux_nat (void)
+_initialize_alpha_linux_nat ()
 {
-  linux_nat_add_target (linux_trad_target (alpha_linux_register_u_offset));
+  linux_target = &the_alpha_linux_nat_target;
+  add_inf_child_target (&the_alpha_linux_nat_target);
 }
This page took 0.028143 seconds and 4 git commands to generate.