Fetch the NT_ARM_TLS register set for native FreeBSD/arm processes.
[binutils-gdb.git] / gdb / x86-bsd-nat.h
index a13ff48de5fddd4d33bfe238162ee6c7e6ceea4c..8b6760e716937165fa07b9ca9b2fed15a21ed4e7 100644 (file)
@@ -1,6 +1,6 @@
 /* Native-dependent code for x86 BSD's.
 
-   Copyright (C) 2011-2016 Free Software Foundation, Inc.
+   Copyright (C) 2011-2022 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef X86_BSD_NAT_H
 #define X86_BSD_NAT_H
 
-/* Low level x86 XSAVE info.  */
-extern size_t x86bsd_xsave_len;
-
-/* Create a prototype *BSD/x86 target.  The client can override it
-   with local methods.  */
-
-extern struct target_ops *x86bsd_target (void);
+#include "x86-nat.h"
+
+/* A prototype *BSD/x86 target.  */
+
+#ifdef HAVE_PT_GETDBREGS
+template<typename BaseTarget>
+class x86bsd_nat_target : public x86_nat_target<BaseTarget>
+{
+  using base_class = x86_nat_target<BaseTarget>;
+public:
+  void mourn_inferior () override
+  {
+    x86_cleanup_dregs ();
+    base_class::mourn_inferior ();
+  }
+};
+#else /* !HAVE_PT_GETDBREGS */
+template<typename BaseTarget>
+class x86bsd_nat_target : public BaseTarget
+{
+};
+#endif /* HAVE_PT_GETDBREGS */
 
 #endif /* x86-bsd-nat.h */