From ddce17585c7a87be5432bd4c6a5725e05e88d9dc Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Mon, 27 Jul 2020 08:58:48 -0700 Subject: [PATCH] Use SIGTRAP si_code values for all FreeBSD architectures on 11.3 and later. Fixes to set correct si_code values (such as TRAP_BRKPT) were made to the remaining FreeBSD architectures (MIPS and sparc64) in the head branch leading up to 12.0 and were merged back between the 11.2 and 11.3 releases. gdb/ChangeLog: * fbsd-nat.h: Include . Define USE_SIGTRAP_SIGINFO for all architectures on FreeBSD 11.3 and later. --- gdb/ChangeLog | 5 +++++ gdb/fbsd-nat.h | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc6e6e5af21..fc2d0b130c5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-07-27 John Baldwin + + * fbsd-nat.h: Include . Define USE_SIGTRAP_SIGINFO + for all architectures on FreeBSD 11.3 and later. + 2020-07-27 Tom Tromey * gcore.h (load_corefile): Don't declare. diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h index b5a62b9212e..1b1e043dae7 100644 --- a/gdb/fbsd-nat.h +++ b/gdb/fbsd-nat.h @@ -21,11 +21,17 @@ #define FBSD_NAT_H #include "inf-ptrace.h" +#include #include -#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 -- 2.30.2