Remove dwarf2_per_cu_data::text_offset
[deliverable/binutils-gdb.git] / gdb / alpha-linux-nat.c
index 8d46af41769b06e4ea180e362866646b59aae30f..5fd7a932ce134d688ef8bd8b5a0aae810b839162 100644 (file)
@@ -1,5 +1,5 @@
 /* Low level Alpha GNU/Linux interface, for GDB when running native.
-   Copyright (C) 2005-2018 Free Software Foundation, Inc.
+   Copyright (C) 2005-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -22,6 +22,7 @@
 #include "linux-nat-trad.h"
 
 #include "alpha-tdep.h"
+#include "gdbarch.h"
 
 #include "nat/gdb_ptrace.h"
 #include <alpha/ptrace.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.  */
@@ -77,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;
@@ -91,8 +101,10 @@ alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
     return FPR_BASE + regno - gdbarch_fp0_regnum (gdbarch);
 }
 
+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.035064 seconds and 4 git commands to generate.