diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/fbsd-nat.h | 12 |
2 files changed, 14 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc6e6e5..fc2d0b1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-07-27 John Baldwin <jhb@FreeBSD.org> + + * fbsd-nat.h: Include <osreldate.h>. Define USE_SIGTRAP_SIGINFO + for all architectures on FreeBSD 11.3 and later. + 2020-07-27 Tom Tromey <tromey@adacore.com> * gcore.h (load_corefile): Don't declare. diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h index b5a62b9..1b1e043 100644 --- a/gdb/fbsd-nat.h +++ b/gdb/fbsd-nat.h @@ -21,11 +21,17 @@ #define FBSD_NAT_H #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 |