Remove dwarf2_per_cu_data::text_offset
[deliverable/binutils-gdb.git] / gdb / alpha-linux-nat.c
index d181bdd4ba37acafef8d5f7106dbc700ea796c26..5fd7a932ce134d688ef8bd8b5a0aae810b839162 100644 (file)
@@ -1,6 +1,5 @@
 /* Low level Alpha GNU/Linux interface, for GDB when running native.
-   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
-   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.  */
@@ -78,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;
@@ -92,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.025317 seconds and 4 git commands to generate.