During the last hackathon in Valencia I did not check whether gdb-13.2 was the latest available; actually gdb-15.2 was already available upstream. Since some remaining warts are now fixed, hopefully this update should be more straightforward. There's not much to say besides that mpfr is now required. Also the gdb 16 branch has been created upstream recently.
Successfully tested by Pascal and I on: arm64 (w/PAC) armv7 amd64 i386 powerpc mips64 riscv64 sparc64. Among the recently tested archs, that leaves powerpc64. Test reports on powerpc64 would be much appreciated. Test reports on any arch and oks welcome too. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/gdb/Makefile,v diff -u -p -r1.95 Makefile --- Makefile 4 Jan 2025 15:05:50 -0000 1.95 +++ Makefile 4 Jan 2025 15:41:40 -0000 @@ -1,8 +1,7 @@ COMMENT= GNU debugger CATEGORIES= devel -DISTNAME= gdb-13.2 -REVISION= 8 +DISTNAME= gdb-15.2 HOMEPAGE= https://www.gnu.org/software/gdb/ @@ -19,7 +18,7 @@ EXTRACT_SUFX= .tar.xz MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} ${WRKSRC}/gdb WANTLIB += ${MODPY_WANTLIB} ${COMPILER_LIBCXX} -WANTLIB += c curses expat gmp kvm iconv intl m pthread util z zstd +WANTLIB += c curses expat gmp kvm iconv intl m mpfr pthread util z zstd DEBUG_PACKAGES= ${BUILD_PACKAGES} @@ -35,16 +34,16 @@ CONFIGURE_ARGS= --program-prefix=e \ --without-guile \ --without-isl \ --without-lzma \ - --without-mpc \ - --without-mpfr \ --with-libgmp-type=shared \ --with-auto-load-dir=${TRUEPREFIX}/share/gdb/auto-load \ --enable-targets=all \ --with-python=${MODPY_BIN} \ --with-system-zlib +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}" USE_GMAKE= Yes -MAKE_FLAGS= V=1 LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}" +MAKE_FLAGS= V=1 # Avoid using malloc replacement for no good reason MAKE_ENV= gl_cv_malloc_ptrdiff=yes @@ -53,7 +52,8 @@ MODULES += lang/python BUILD_DEPENDS = sysutils/xxhash LIB_DEPENDS += ${MODPY_LIB_DEPENDS} \ archivers/zstd \ - devel/gmp,-main + devel/gmp,-main \ + devel/mpfr TEST_DEPENDS += devel/dejagnu post-install: Index: distinfo =================================================================== RCS file: /cvs/ports/devel/gdb/distinfo,v diff -u -p -r1.24 distinfo --- distinfo 9 Nov 2024 13:33:19 -0000 1.24 +++ distinfo 4 Jan 2025 15:41:40 -0000 @@ -1,2 +1,2 @@ -SHA256 (gdb/gdb-13.2.tar.xz) = /Vvrt74YM6vbbgI8L0mKNUSYKB350FUj2JFbq+uJPwo= -SIZE (gdb/gdb-13.2.tar.xz) = 23664644 +SHA256 (gdb/gdb-15.2.tar.xz) = gzUMzTW1taDLprM0xBKU6paBWMVzlAkE8AuS92NFMU0= +SIZE (gdb/gdb-15.2.tar.xz) = 24332820 Index: patches/patch-bfd_elf_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-bfd_elf_c,v diff -u -p -r1.13 patch-bfd_elf_c --- patches/patch-bfd_elf_c 9 Nov 2024 13:33:19 -0000 1.13 +++ patches/patch-bfd_elf_c 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: bfd/elf.c --- bfd/elf.c.orig +++ bfd/elf.c -@@ -11438,6 +11438,11 @@ elfcore_grok_solaris_note (bfd *abfd, Elf_Internal_Not +@@ -12168,6 +12168,11 @@ elfcore_grok_solaris_note (bfd *abfd, Elf_Internal_Not static bool elfcore_grok_openbsd_note (bfd *abfd, Elf_Internal_Note *note) { @@ -13,7 +13,7 @@ Index: bfd/elf.c if (note->type == NT_OPENBSD_PROCINFO) return elfcore_grok_openbsd_procinfo (abfd, note); -@@ -11466,6 +11471,9 @@ elfcore_grok_openbsd_note (bfd *abfd, Elf_Internal_Not +@@ -12196,6 +12201,9 @@ elfcore_grok_openbsd_note (bfd *abfd, Elf_Internal_Not return true; } Index: patches/patch-gdb_Makefile_in =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_Makefile_in,v diff -u -p -r1.8 patch-gdb_Makefile_in --- patches/patch-gdb_Makefile_in 4 Jan 2025 14:56:37 -0000 1.8 +++ patches/patch-gdb_Makefile_in 4 Jan 2025 15:41:40 -0000 @@ -4,7 +4,7 @@ Add native support for arm. Index: gdb/Makefile.in --- gdb/Makefile.in.orig +++ gdb/Makefile.in -@@ -699,6 +699,7 @@ ALL_64_TARGET_OBS = \ +@@ -726,6 +726,7 @@ ALL_64_TARGET_OBS = \ aarch64-fbsd-tdep.o \ aarch64-linux-tdep.o \ aarch64-newlib-tdep.o \ @@ -12,7 +12,7 @@ Index: gdb/Makefile.in aarch64-ravenscar-thread.o \ aarch64-tdep.o \ alpha-bsd-tdep.o \ -@@ -734,9 +735,11 @@ ALL_64_TARGET_OBS = \ +@@ -762,9 +763,11 @@ ALL_64_TARGET_OBS = \ mips-sde-tdep.o \ mips-tdep.o \ mips64-obsd-tdep.o \ @@ -24,7 +24,7 @@ Index: gdb/Makefile.in riscv-ravenscar-thread.o \ riscv-tdep.o \ sparc64-fbsd-tdep.o \ -@@ -1436,6 +1439,7 @@ HFILES_NO_SRCDIR = \ +@@ -1477,6 +1480,7 @@ HFILES_NO_SRCDIR = \ riscv-fbsd-tdep.h \ riscv-ravenscar-thread.h \ riscv-tdep.h \ @@ -32,7 +32,7 @@ Index: gdb/Makefile.in rs6000-aix-tdep.h \ run-on-main-thread.h \ s390-linux-tdep.h \ -@@ -1627,6 +1631,8 @@ ALLDEPFILES = \ +@@ -1671,6 +1675,8 @@ ALLDEPFILES = \ aarch64-linux-nat.c \ aarch64-linux-tdep.c \ aarch64-newlib-tdep.c \ @@ -41,7 +41,7 @@ Index: gdb/Makefile.in aarch64-ravenscar-thread.c \ aarch64-tdep.c \ aix-thread.c \ -@@ -1663,6 +1669,7 @@ ALLDEPFILES = \ +@@ -1709,6 +1715,7 @@ ALLDEPFILES = \ arm-netbsd-nat.c \ arm-netbsd-tdep.c \ arm-none-tdep.c \ @@ -49,7 +49,7 @@ Index: gdb/Makefile.in arm-obsd-tdep.c \ arm-tdep.c \ avr-tdep.c \ -@@ -1766,6 +1773,8 @@ ALLDEPFILES = \ +@@ -1812,6 +1819,8 @@ ALLDEPFILES = \ ppc-ravenscar-thread.c \ ppc-sysv-tdep.c \ ppc64-tdep.c \ @@ -58,7 +58,7 @@ Index: gdb/Makefile.in procfs.c \ ravenscar-thread.c \ remote-sim.c \ -@@ -1776,6 +1785,8 @@ ALLDEPFILES = \ +@@ -1822,6 +1831,8 @@ ALLDEPFILES = \ riscv-none-tdep.c \ riscv-ravenscar-thread.c \ riscv-tdep.c \ Index: patches/patch-gdb_aarch64-obsd-tdep_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_aarch64-obsd-tdep_c,v diff -u -p -r1.5 patch-gdb_aarch64-obsd-tdep_c --- patches/patch-gdb_aarch64-obsd-tdep_c 10 Nov 2024 10:05:19 -0000 1.5 +++ patches/patch-gdb_aarch64-obsd-tdep_c 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/aarch64-obsd-tdep.c --- gdb/aarch64-obsd-tdep.c.orig +++ gdb/aarch64-obsd-tdep.c -@@ -0,0 +1,338 @@ +@@ -0,0 +1,339 @@ +/* Target-dependent code for OpenBSD/aarch64. + + Copyright (C) 2006-2017 Free Software Foundation, Inc. @@ -22,6 +22,7 @@ Index: gdb/aarch64-obsd-tdep.c + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "defs.h" ++#include "extract-store-integer.h" +#include "gdbarch.h" +#include "frame-unwind.h" +#include "osabi.h" @@ -59,7 +60,7 @@ Index: gdb/aarch64-obsd-tdep.c + +static int +aarch64obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, -+ frame_info_ptr this_frame, ++ const frame_info_ptr &this_frame, + void **this_cache) +{ + struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -187,7 +188,7 @@ Index: gdb/aarch64-obsd-tdep.c +} + +static void -+aarch64obsd_sigtramp_frame_this_id (frame_info_ptr this_frame, ++aarch64obsd_sigtramp_frame_this_id (const frame_info_ptr &this_frame, + void **this_cache, + struct frame_id *this_id) +{ @@ -198,7 +199,7 @@ Index: gdb/aarch64-obsd-tdep.c +} + +static struct value * -+aarch64obsd_sigtramp_frame_prev_register (frame_info_ptr this_frame, ++aarch64obsd_sigtramp_frame_prev_register (const frame_info_ptr &this_frame, + void **this_cache, int regnum) +{ + struct trad_frame_cache *cache = Index: patches/patch-gdb_amd64-obsd-tdep_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_amd64-obsd-tdep_c,v diff -u -p -r1.4 patch-gdb_amd64-obsd-tdep_c --- patches/patch-gdb_amd64-obsd-tdep_c 9 Nov 2024 13:33:19 -0000 1.4 +++ patches/patch-gdb_amd64-obsd-tdep_c 4 Jan 2025 15:41:40 -0000 @@ -47,7 +47,7 @@ Index: gdb/amd64-obsd-tdep.c /* Return whether THIS_FRAME corresponds to an OpenBSD sigtramp routine. */ -@@ -49,20 +85,8 @@ amd64obsd_sigtramp_p (frame_info_ptr this_frame) +@@ -49,20 +85,8 @@ amd64obsd_sigtramp_p (const frame_info_ptr &this_frame { CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1)); @@ -70,7 +70,7 @@ Index: gdb/amd64-obsd-tdep.c const char *name; /* If the function has a valid symbol name, it isn't a -@@ -76,22 +100,21 @@ amd64obsd_sigtramp_p (frame_info_ptr this_frame) +@@ -76,22 +100,21 @@ amd64obsd_sigtramp_p (const frame_info_ptr &this_frame if (find_pc_section (pc) != NULL) return 0; @@ -107,7 +107,7 @@ Index: gdb/amd64-obsd-tdep.c /* Assuming THIS_FRAME is for a BSD sigtramp routine, return the @@ -101,7 +124,10 @@ static CORE_ADDR - amd64obsd_sigcontext_addr (frame_info_ptr this_frame) + amd64obsd_sigcontext_addr (const frame_info_ptr &this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); + CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1)); @@ -117,7 +117,7 @@ Index: gdb/amd64-obsd-tdep.c /* The %rsp register points at `struct sigcontext' upon entry of a signal trampoline. The relevant part of the trampoline is -@@ -115,10 +141,22 @@ amd64obsd_sigcontext_addr (frame_info_ptr this_frame) +@@ -115,10 +141,22 @@ amd64obsd_sigcontext_addr (const frame_info_ptr &this_ (see /usr/src/sys/arch/amd64/amd64/locore.S). The `pushq' instruction clobbers %rsp, but its value is saved in `%rdi'. */ Index: patches/patch-gdb_arm-bsd-tdep_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_arm-bsd-tdep_c,v diff -u -p -r1.2 patch-gdb_arm-bsd-tdep_c --- patches/patch-gdb_arm-bsd-tdep_c 11 Mar 2022 18:50:04 -0000 1.2 +++ patches/patch-gdb_arm-bsd-tdep_c 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/arm-bsd-tdep.c --- gdb/arm-bsd-tdep.c.orig +++ gdb/arm-bsd-tdep.c -@@ -30,15 +30,12 @@ +@@ -29,15 +29,12 @@ #define ARMBSD_SIZEOF_GREGS (17 * 4) /* Sizeof `struct fpreg' in <machine/reg.h. */ @@ -19,7 +19,7 @@ Index: gdb/arm-bsd-tdep.c } /* Supply register REGNUM from the buffer specified by FPREGS and LEN -@@ -55,7 +52,7 @@ armbsd_supply_fpregset (const struct regset *regset, +@@ -54,7 +51,7 @@ armbsd_supply_fpregset (const struct regset *regset, gdb_assert (len >= ARMBSD_SIZEOF_FPREGS); @@ -28,7 +28,7 @@ Index: gdb/arm-bsd-tdep.c { if (regnum == i || regnum == -1) regcache->raw_supply (i, regs + armbsd_fpreg_offset (i)); -@@ -83,7 +80,7 @@ armbsd_supply_gregset (const struct regset *regset, +@@ -82,7 +79,7 @@ armbsd_supply_gregset (const struct regset *regset, } if (regnum == ARM_PS_REGNUM || regnum == -1) Index: patches/patch-gdb_cli_cli-cmds_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_cli_cli-cmds_c,v diff -u -p -r1.2 patch-gdb_cli_cli-cmds_c --- patches/patch-gdb_cli_cli-cmds_c 9 Nov 2024 13:33:19 -0000 1.2 +++ patches/patch-gdb_cli_cli-cmds_c 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/cli/cli-cmds.c --- gdb/cli/cli-cmds.c.orig +++ gdb/cli/cli-cmds.c -@@ -1043,7 +1043,7 @@ edit_command (const char *arg, int from_tty) +@@ -1060,7 +1060,7 @@ edit_command (const char *arg, int from_tty) } if ((editor = getenv ("EDITOR")) == NULL) Index: patches/patch-gdb_configure_nat =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_configure_nat,v diff -u -p -r1.4 patch-gdb_configure_nat --- patches/patch-gdb_configure_nat 15 Nov 2024 16:53:42 -0000 1.4 +++ patches/patch-gdb_configure_nat 4 Jan 2025 15:41:40 -0000 @@ -23,7 +23,7 @@ Index: gdb/configure.nat ;; cygwin*) NATDEPFILES='x86-nat.o nat/x86-dregs.o windows-nat.o nat/windows-nat.o' -@@ -430,50 +430,60 @@ case ${gdb_host} in +@@ -432,50 +432,60 @@ case ${gdb_host} in ;; obsd) case ${gdb_host_cpu} in Index: patches/patch-gdb_configure_tgt =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_configure_tgt,v diff -u -p -r1.5 patch-gdb_configure_tgt --- patches/patch-gdb_configure_tgt 9 Nov 2024 13:33:19 -0000 1.5 +++ patches/patch-gdb_configure_tgt 4 Jan 2025 15:41:40 -0000 @@ -3,7 +3,7 @@ Add support for aarch64, powerpc64 and r Index: gdb/configure.tgt --- gdb/configure.tgt.orig +++ gdb/configure.tgt -@@ -145,6 +145,13 @@ aarch64*-*-linux*) +@@ -153,6 +153,13 @@ aarch64*-*-linux*) symfile-mem.o linux-record.o" ;; @@ -17,7 +17,7 @@ Index: gdb/configure.tgt alpha*-*-linux*) # Target: Little-endian Alpha running Linux gdb_target_obs="alpha-mdebug-tdep.o alpha-linux-tdep.o \ -@@ -492,6 +499,12 @@ powerpc-*-openbsd*) +@@ -506,6 +513,12 @@ powerpc-*-openbsd*) gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-obsd-tdep.o \ ravenscar-thread.o ppc-ravenscar-thread.o" ;; @@ -30,7 +30,7 @@ Index: gdb/configure.tgt powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*) # Target: PowerPC running AIX gdb_target_obs="rs6000-tdep.o rs6000-aix-tdep.o xcoffread.o \ -@@ -534,6 +547,12 @@ riscv*-*-linux*) +@@ -548,6 +561,12 @@ riscv*-*-linux*) # Target: Linux/RISC-V gdb_target_obs="riscv-linux-tdep.o glibc-tdep.o \ linux-tdep.o solib-svr4.o symfile-mem.o linux-record.o" Index: patches/patch-gdb_data-directory_Makefile_in =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_data-directory_Makefile_in,v diff -u -p -r1.12 patch-gdb_data-directory_Makefile_in --- patches/patch-gdb_data-directory_Makefile_in 9 Nov 2024 13:33:19 -0000 1.12 +++ patches/patch-gdb_data-directory_Makefile_in 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/data-directory/Makefile.in --- gdb/data-directory/Makefile.in.orig +++ gdb/data-directory/Makefile.in -@@ -200,7 +200,7 @@ stamp-syscalls: Makefile $(SYSCALLS_FILES) +@@ -228,7 +228,7 @@ stamp-syscalls: Makefile $(SYSCALLS_FILES) for file in $$files ; do \ f=$(SYSCALLS_SRCDIR)/$$file ; \ if test -f $$f ; then \ @@ -9,8 +9,8 @@ Index: gdb/data-directory/Makefile.in + cp $$f ./$(SYSCALLS_DIR) ; \ fi ; \ done - touch $@ -@@ -242,8 +242,8 @@ stamp-python: Makefile $(PYTHON_FILES) + $(SILENCE) touch $@ +@@ -271,8 +271,8 @@ stamp-python: Makefile $(PYTHON_FILES) if test "x$$files" != x ; then \ for file in $$files ; do \ dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \ @@ -20,8 +20,8 @@ Index: gdb/data-directory/Makefile.in + cp $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \ done ; \ fi - touch $@ -@@ -336,7 +336,7 @@ stamp-system-gdbinit: Makefile $(SYSTEM_GDBINIT_FILES) + $(SILENCE) touch $@ +@@ -367,7 +367,7 @@ stamp-system-gdbinit: Makefile $(SYSTEM_GDBINIT_FILES) for file in $$files ; do \ f=$(SYSTEM_GDBINIT_SRCDIR)/$$file ; \ if test -f $$f ; then \ @@ -29,4 +29,4 @@ Index: gdb/data-directory/Makefile.in + cp $$f ./$(SYSTEM_GDBINIT_DIR) ; \ fi ; \ done - touch $@ + $(SILENCE) touch $@ Index: patches/patch-gdb_doc_gdb_info-2 =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_doc_gdb_info-2,v diff -u -p -r1.2 patch-gdb_doc_gdb_info-2 --- patches/patch-gdb_doc_gdb_info-2 9 Nov 2024 13:33:19 -0000 1.2 +++ patches/patch-gdb_doc_gdb_info-2 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/doc/gdb.info-2 --- gdb/doc/gdb.info-2.orig +++ gdb/doc/gdb.info-2 -@@ -1156,7 +1156,7 @@ parts of the program: +@@ -1249,7 +1249,7 @@ parts of the program: -------------------------- You can customize GDB to use any editor you want (1). By default, it is Index: patches/patch-gdb_hppa-obsd-nat_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_hppa-obsd-nat_c,v diff -u -p -r1.1 patch-gdb_hppa-obsd-nat_c --- patches/patch-gdb_hppa-obsd-nat_c 15 Nov 2024 16:53:04 -0000 1.1 +++ patches/patch-gdb_hppa-obsd-nat_c 4 Jan 2025 15:41:40 -0000 @@ -4,7 +4,7 @@ Fix build (undefined variable). Index: gdb/hppa-obsd-nat.c --- gdb/hppa-obsd-nat.c.orig +++ gdb/hppa-obsd-nat.c -@@ -196,7 +196,7 @@ hppaobsd_collect_fpregset (struct regcache *regcache, +@@ -195,7 +195,7 @@ hppaobsd_collect_fpregset (struct regcache *regcache, void hppa_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum) { @@ -13,7 +13,7 @@ Index: gdb/hppa-obsd-nat.c if (regnum == -1 || hppaobsd_gregset_supplies_p (regnum)) { -@@ -225,6 +225,8 @@ hppa_obsd_nat_target::fetch_registers (struct regcache +@@ -224,6 +224,8 @@ hppa_obsd_nat_target::fetch_registers (struct regcache void hppa_obsd_nat_target::store_registers (struct regcache *regcache, int regnum) { Index: patches/patch-gdb_i386-obsd-nat_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_i386-obsd-nat_c,v diff -u -p -r1.3 patch-gdb_i386-obsd-nat_c --- patches/patch-gdb_i386-obsd-nat_c 9 Nov 2024 13:33:19 -0000 1.3 +++ patches/patch-gdb_i386-obsd-nat_c 4 Jan 2025 15:41:40 -0000 @@ -3,7 +3,7 @@ Bogus variable name. Index: gdb/i386-obsd-nat.c --- gdb/i386-obsd-nat.c.orig +++ gdb/i386-obsd-nat.c -@@ -94,7 +94,7 @@ void _initialize_i386obsd_nat (); +@@ -93,7 +93,7 @@ void _initialize_i386obsd_nat (); void _initialize_i386obsd_nat () { Index: patches/patch-gdb_mips64-obsd-nat_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_mips64-obsd-nat_c,v diff -u -p -r1.3 patch-gdb_mips64-obsd-nat_c --- patches/patch-gdb_mips64-obsd-nat_c 15 Nov 2024 16:53:04 -0000 1.3 +++ patches/patch-gdb_mips64-obsd-nat_c 4 Jan 2025 15:41:40 -0000 @@ -4,7 +4,7 @@ Add support for threads. Index: gdb/mips64-obsd-nat.c --- gdb/mips64-obsd-nat.c.orig +++ gdb/mips64-obsd-nat.c -@@ -48,7 +48,7 @@ static mips64_obsd_nat_target the_mips64_obsd_nat_targ +@@ -47,7 +47,7 @@ static mips64_obsd_nat_target the_mips64_obsd_nat_targ static void mips64obsd_supply_gregset (struct regcache *regcache, const void *gregs) { @@ -13,7 +13,7 @@ Index: gdb/mips64-obsd-nat.c int regnum; for (regnum = MIPS_ZERO_REGNUM; regnum <= MIPS_PC_REGNUM; regnum++) -@@ -65,7 +65,7 @@ static void +@@ -64,7 +64,7 @@ static void mips64obsd_collect_gregset (const struct regcache *regcache, void *gregs, int regnum) { @@ -22,7 +22,7 @@ Index: gdb/mips64-obsd-nat.c int i; for (i = MIPS_ZERO_REGNUM; i <= MIPS_PC_REGNUM; i++) -@@ -89,7 +89,7 @@ void +@@ -88,7 +88,7 @@ void mips64_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum) { struct reg regs; @@ -31,7 +31,7 @@ Index: gdb/mips64-obsd-nat.c if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); -@@ -100,11 +100,11 @@ mips64_obsd_nat_target::fetch_registers (struct regcac +@@ -99,11 +99,11 @@ mips64_obsd_nat_target::fetch_registers (struct regcac /* Store register REGNUM back into the inferior. If REGNUM is -1, do this for all registers. */ Index: patches/patch-gdb_ppc-obsd-nat_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_ppc-obsd-nat_c,v diff -u -p -r1.1 patch-gdb_ppc-obsd-nat_c --- patches/patch-gdb_ppc-obsd-nat_c 11 Nov 2024 00:15:33 -0000 1.1 +++ patches/patch-gdb_ppc-obsd-nat_c 4 Jan 2025 15:41:40 -0000 @@ -3,7 +3,7 @@ When switching threads, use the correct Index: gdb/ppc-obsd-nat.c --- gdb/ppc-obsd-nat.c.orig +++ gdb/ppc-obsd-nat.c -@@ -82,7 +82,7 @@ void +@@ -81,7 +81,7 @@ void ppc_obsd_nat_target::fetch_registers (struct regcache *regcache, int regnum) { struct reg regs; @@ -12,7 +12,7 @@ Index: gdb/ppc-obsd-nat.c if (ptrace (PT_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); -@@ -116,7 +116,7 @@ void +@@ -115,7 +115,7 @@ void ppc_obsd_nat_target::store_registers (struct regcache *regcache, int regnum) { struct reg regs; Index: patches/patch-gdb_ppc64-obsd-tdep_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_ppc64-obsd-tdep_c,v diff -u -p -r1.4 patch-gdb_ppc64-obsd-tdep_c --- patches/patch-gdb_ppc64-obsd-tdep_c 11 Nov 2024 00:15:33 -0000 1.4 +++ patches/patch-gdb_ppc64-obsd-tdep_c 4 Jan 2025 15:41:40 -0000 @@ -1,7 +1,7 @@ Index: gdb/ppc64-obsd-tdep.c --- gdb/ppc64-obsd-tdep.c.orig +++ gdb/ppc64-obsd-tdep.c -@@ -0,0 +1,407 @@ +@@ -0,0 +1,408 @@ +/* Target-dependent code for OpenBSD/powerpc64. + + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. @@ -24,6 +24,7 @@ Index: gdb/ppc64-obsd-tdep.c + Boston, MA 02110-1301, USA. */ + +#include "defs.h" ++#include "extract-store-integer.h" +#include "gdbarch.h" +#include "arch-utils.h" +#include "floatformat.h" @@ -230,7 +231,7 @@ Index: gdb/ppc64-obsd-tdep.c + +static int +ppc64obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, -+ frame_info_ptr this_frame, ++ const frame_info_ptr &this_frame, + void **this_cache) +{ + struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -270,7 +271,7 @@ Index: gdb/ppc64-obsd-tdep.c +} + +static struct trad_frame_cache * -+ppc64obsd_sigtramp_frame_cache (frame_info_ptr this_frame, ++ppc64obsd_sigtramp_frame_cache (const frame_info_ptr &this_frame, + void **this_cache) +{ + struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -325,7 +326,7 @@ Index: gdb/ppc64-obsd-tdep.c +} + +static void -+ppc64obsd_sigtramp_frame_this_id (frame_info_ptr this_frame, ++ppc64obsd_sigtramp_frame_this_id (const frame_info_ptr &this_frame, + void **this_cache, struct frame_id *this_id) +{ + struct trad_frame_cache *cache = @@ -335,7 +336,7 @@ Index: gdb/ppc64-obsd-tdep.c +} + +static struct value * -+ppc64obsd_sigtramp_frame_prev_register (frame_info_ptr this_frame, ++ppc64obsd_sigtramp_frame_prev_register (const frame_info_ptr &this_frame, + void **this_cache, int regnum) +{ + struct trad_frame_cache *cache = Index: patches/patch-gdb_riscv-obsd-tdep_c =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_riscv-obsd-tdep_c,v diff -u -p -r1.3 patch-gdb_riscv-obsd-tdep_c --- patches/patch-gdb_riscv-obsd-tdep_c 9 Nov 2024 13:33:19 -0000 1.3 +++ patches/patch-gdb_riscv-obsd-tdep_c 4 Jan 2025 15:41:41 -0000 @@ -1,7 +1,7 @@ Index: gdb/riscv-obsd-tdep.c --- gdb/riscv-obsd-tdep.c.orig +++ gdb/riscv-obsd-tdep.c -@@ -0,0 +1,219 @@ +@@ -0,0 +1,220 @@ +/* Target-dependent code for OpenBSD on RISC-V processors. + Copyright (C) 2018-2021 Free Software Foundation, Inc. + @@ -21,6 +21,7 @@ Index: gdb/riscv-obsd-tdep.c + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "defs.h" ++#include "extract-store-integer.h" +#include "obsd-tdep.h" +#include "osabi.h" +#include "riscv-tdep.h" @@ -112,7 +113,7 @@ Index: gdb/riscv-obsd-tdep.c + +static void +riscv_obsd_sigframe_init (const struct tramp_frame *self, -+ frame_info_ptr this_frame, ++ const frame_info_ptr &this_frame, + struct trad_frame_cache *this_cache, + CORE_ADDR func) +{ Index: patches/patch-include_diagnostics_h =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-include_diagnostics_h,v diff -u -p -r1.2 patch-include_diagnostics_h --- patches/patch-include_diagnostics_h 9 Nov 2024 13:33:19 -0000 1.2 +++ patches/patch-include_diagnostics_h 4 Jan 2025 15:41:41 -0000 @@ -19,7 +19,7 @@ Index: include/diagnostics.h #elif defined (__GNUC__) /* GCC */ # define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS \ -@@ -146,6 +151,10 @@ +@@ -145,6 +150,10 @@ #ifndef DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL Index: patches/patch-include_elf_common_h =================================================================== RCS file: /cvs/ports/devel/gdb/patches/patch-include_elf_common_h,v diff -u -p -r1.2 patch-include_elf_common_h --- patches/patch-include_elf_common_h 9 Nov 2024 13:33:19 -0000 1.2 +++ patches/patch-include_elf_common_h 4 Jan 2025 15:41:41 -0000 @@ -1,11 +1,11 @@ Index: include/elf/common.h --- include/elf/common.h.orig +++ include/elf/common.h -@@ -763,6 +763,7 @@ +@@ -775,6 +775,7 @@ #define NT_OPENBSD_FPREGS 21 #define NT_OPENBSD_XFPREGS 22 #define NT_OPENBSD_WCOOKIE 23 +#define NT_OPENBSD_PACMASK 24 - - /* Note segments for core files on Solaris systems. Note name + /* Note segments for core files on QNX systems. Note name + must start with "QNX". */ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/gdb/pkg/PLIST,v diff -u -p -r1.28 PLIST --- pkg/PLIST 24 Dec 2024 17:19:16 -0000 1.28 +++ pkg/PLIST 4 Jan 2025 15:41:41 -0000 @@ -29,6 +29,8 @@ share/gdb/python/gdb/${MODPY_PYCACHE}dis share/gdb/python/gdb/${MODPY_PYCACHE}disassembler.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/${MODPY_PYCACHE}frames.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} share/gdb/python/gdb/${MODPY_PYCACHE}frames.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/${MODPY_PYCACHE}missing_debug.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/${MODPY_PYCACHE}missing_debug.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/${MODPY_PYCACHE}printing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} share/gdb/python/gdb/${MODPY_PYCACHE}printing.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/${MODPY_PYCACHE}prompt.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -50,6 +52,8 @@ share/gdb/python/gdb/command/${MODPY_PYC share/gdb/python/gdb/command/${MODPY_PYCACHE}explore.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/command/${MODPY_PYCACHE}frame_filters.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} share/gdb/python/gdb/command/${MODPY_PYCACHE}frame_filters.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/command/${MODPY_PYCACHE}missing_debug.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/command/${MODPY_PYCACHE}missing_debug.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/command/${MODPY_PYCACHE}pretty_printers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} share/gdb/python/gdb/command/${MODPY_PYCACHE}pretty_printers.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/command/${MODPY_PYCACHE}prompt.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} @@ -62,11 +66,80 @@ share/gdb/python/gdb/command/${MODPY_PYC share/gdb/python/gdb/command/${MODPY_PYCACHE}xmethods.${MODPY_PYC_MAGIC_TAG}pyc share/gdb/python/gdb/command/explore.py share/gdb/python/gdb/command/frame_filters.py +share/gdb/python/gdb/command/missing_debug.py share/gdb/python/gdb/command/pretty_printers.py share/gdb/python/gdb/command/prompt.py share/gdb/python/gdb/command/type_printers.py share/gdb/python/gdb/command/unwinders.py share/gdb/python/gdb/command/xmethods.py +share/gdb/python/gdb/dap/ +share/gdb/python/gdb/dap/__init__.py +${MODPY_COMMENT}share/gdb/python/gdb/dap/${MODPY_PYCACHE}/ +share/gdb/python/gdb/dap/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}breakpoint.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}breakpoint.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}bt.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}bt.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}disassemble.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}disassemble.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}evaluate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}evaluate.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}events.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}events.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}frames.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}frames.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}io.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}io.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}launch.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}launch.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}locations.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}locations.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}memory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}memory.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}modules.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}modules.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}next.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}next.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}pause.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}pause.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}scopes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}scopes.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}server.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}server.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}sources.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}sources.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}startup.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}startup.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}state.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}state.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}threads.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}threads.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}typecheck.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}typecheck.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/${MODPY_PYCACHE}varref.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +share/gdb/python/gdb/dap/${MODPY_PYCACHE}varref.${MODPY_PYC_MAGIC_TAG}pyc +share/gdb/python/gdb/dap/breakpoint.py +share/gdb/python/gdb/dap/bt.py +share/gdb/python/gdb/dap/disassemble.py +share/gdb/python/gdb/dap/evaluate.py +share/gdb/python/gdb/dap/events.py +share/gdb/python/gdb/dap/frames.py +share/gdb/python/gdb/dap/io.py +share/gdb/python/gdb/dap/launch.py +share/gdb/python/gdb/dap/locations.py +share/gdb/python/gdb/dap/memory.py +share/gdb/python/gdb/dap/modules.py +share/gdb/python/gdb/dap/next.py +share/gdb/python/gdb/dap/pause.py +share/gdb/python/gdb/dap/scopes.py +share/gdb/python/gdb/dap/server.py +share/gdb/python/gdb/dap/sources.py +share/gdb/python/gdb/dap/startup.py +share/gdb/python/gdb/dap/state.py +share/gdb/python/gdb/dap/threads.py +share/gdb/python/gdb/dap/typecheck.py +share/gdb/python/gdb/dap/varref.py share/gdb/python/gdb/disassembler.py share/gdb/python/gdb/frames.py share/gdb/python/gdb/function/ @@ -83,6 +156,7 @@ share/gdb/python/gdb/function/${MODPY_PY share/gdb/python/gdb/function/as_string.py share/gdb/python/gdb/function/caller_is.py share/gdb/python/gdb/function/strfns.py +share/gdb/python/gdb/missing_debug.py share/gdb/python/gdb/printer/ share/gdb/python/gdb/printer/__init__.py ${MODPY_COMMENT}share/gdb/python/gdb/printer/${MODPY_PYCACHE}/ @@ -104,6 +178,7 @@ share/gdb/syscalls/arm-linux.xml share/gdb/syscalls/freebsd.xml share/gdb/syscalls/gdb-syscalls.dtd share/gdb/syscalls/i386-linux.xml +share/gdb/syscalls/loongarch-linux.xml share/gdb/syscalls/mips-n32-linux.xml share/gdb/syscalls/mips-n64-linux.xml share/gdb/syscalls/mips-o32-linux.xml -- jca