gdb: Move la_language into the language_defn class
[deliverable/binutils-gdb.git] / gdb / fbsd-nat.h
index 5dec9825393aa1ce911edb8a28b909f24d045214..1b1e043dae72abb80563098ab1695f5a59d1e5cd 100644 (file)
@@ -1,6 +1,6 @@
 /* Native-dependent code for FreeBSD.
 
-   Copyright (C) 2004-2019 Free Software Foundation, Inc.
+   Copyright (C) 2004-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef FBSD_NAT_H
 #define FBSD_NAT_H
 
-#include <sys/proc.h>
-
-/* Local non-gdb includes.  */
 #include "inf-ptrace.h"
+#include <osreldate.h>
+#include <sys/proc.h>
 
-#ifdef TRAP_BRKPT
-/* MIPS does not set si_code for SIGTRAP.  sparc64 reports
-   non-standard values in si_code for SIGTRAP.  */
+/* FreeBSD kernels 11.3 and later report valid si_code values for
+   SIGTRAP on all architectures.  Older FreeBSD kernels that supported
+   TRAP_BRKPT did not report valid values for MIPS and sparc64.  Even
+   older kernels without TRAP_BRKPT support did not report valid
+   values on any architecture.  */
+#if (__FreeBSD_kernel_version >= 1102502) || (__FreeBSD_version >= 1102502)
+# define USE_SIGTRAP_SIGINFO
+#elif defined(TRAP_BRKPT)
 # if !defined(__mips__) && !defined(__sparc64__)
 #  define USE_SIGTRAP_SIGINFO
 # endif
@@ -77,7 +81,7 @@ public:
 #endif
 
 #ifdef TDP_RFPPWAIT
-  int follow_fork (int, int) override;
+  bool follow_fork (bool, bool) override;
 
   int insert_fork_catchpoint (int) override;
   int remove_fork_catchpoint (int) override;
@@ -96,6 +100,8 @@ public:
     override;
 #endif
 #endif /* PT_LWPINFO */
+
+  bool supports_multi_process () override;
 };
 
 #endif /* fbsd-nat.h */
This page took 0.024685 seconds and 4 git commands to generate.