/* Native-dependent code for x86 BSD's.
- Copyright (C) 2011-2018 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 */