diff options
Diffstat (limited to 'gdb/x86-bsd-nat.h')
-rw-r--r-- | gdb/x86-bsd-nat.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gdb/x86-bsd-nat.h b/gdb/x86-bsd-nat.h index ced33ac..1aee5fb 100644 --- a/gdb/x86-bsd-nat.h +++ b/gdb/x86-bsd-nat.h @@ -20,12 +20,25 @@ #ifndef X86_BSD_NAT_H #define X86_BSD_NAT_H +#include "x86-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); +/* A prototype *BSD/x86 target. */ + +template<typename BaseTarget> +class x86bsd_nat_target : public x86_nat_target<BaseTarget> +{ + using base_class = x86_nat_target<BaseTarget>; +public: +#ifdef HAVE_PT_GETDBREGS + void mourn_inferior () override + { + x86_cleanup_dregs (); + base_class::mourn_inferior (); + } +#endif /* HAVE_PT_GETDBREGS */ +}; #endif /* x86-bsd-nat.h */ |