I'm working on an update to gdb-15.2, but the changes below are
already legit.

0. add some missing files to ALLDEPFILES for consistency, update
  comment
1. add ppc64-obsd-tdep.o to ALL_64_TARGET_OBS, so that it is built on
  all architectures and not only on powerpc64.  This makes it possible
  to read powerpc64 core files on other architectures.  However...
2. hooking up this file results in a runtime assertion because of a
  conflict between powerpc and powerpc64 (see the patch for the error
  message).  This error is probably already breaking gdb-13.2 runtime
  on powerpc64 since Makefile rev 1.90 where I actually activated
  --enable-targets=all.
3. drop patches/patch-gdb_doc_gdb_texinfo: it's not needed since we
  patch the existing .info file, and it breaks with gdb-15.2 where the
  build system tries to regenerate the .info

gkoehler & kettenis: if you could please check the current egdb
runtime on powerpc64 (point 2 above), and whether the diff below fixes
it.  ... are C++ exceptions still broken on that arch? :-/

ok?


Index: patches/patch-gdb_Makefile_in
===================================================================
RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_Makefile_in,v
diff -u -p -r1.6 patch-gdb_Makefile_in
--- patches/patch-gdb_Makefile_in       9 Nov 2024 13:33:19 -0000       1.6
+++ patches/patch-gdb_Makefile_in       26 Dec 2024 09:17:58 -0000
@@ -1,11 +1,10 @@
-
 Add support for aarch64, powerpc64 and riscv64.
-TODO Use OpenBSD-specific files for arm.
+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 \
@@ -13,7 +12,11 @@ Index: gdb/Makefile.in
        aarch64-ravenscar-thread.o \
        aarch64-tdep.o \
        alpha-bsd-tdep.o \
-@@ -737,6 +738,7 @@ ALL_64_TARGET_OBS = \
+@@ -762,9 +763,11 @@ ALL_64_TARGET_OBS = \
+       mips-sde-tdep.o \
+       mips-tdep.o \
+       mips64-obsd-tdep.o \
++      ppc64-obsd-tdep.o \
        riscv-fbsd-tdep.o \
        riscv-linux-tdep.o \
        riscv-none-tdep.o \
@@ -21,7 +24,7 @@ Index: gdb/Makefile.in
        riscv-ravenscar-thread.o \
        riscv-tdep.o \
        sparc64-fbsd-tdep.o \
-@@ -1436,6 +1438,7 @@ HFILES_NO_SRCDIR = \
+@@ -1477,6 +1480,7 @@ HFILES_NO_SRCDIR = \
        riscv-fbsd-tdep.h \
        riscv-ravenscar-thread.h \
        riscv-tdep.h \
@@ -29,7 +32,7 @@ Index: gdb/Makefile.in
        rs6000-aix-tdep.h \
        run-on-main-thread.h \
        s390-linux-tdep.h \
-@@ -1627,6 +1630,8 @@ ALLDEPFILES = \
+@@ -1671,6 +1675,8 @@ ALLDEPFILES = \
        aarch64-linux-nat.c \
        aarch64-linux-tdep.c \
        aarch64-newlib-tdep.c \
@@ -38,7 +41,24 @@ Index: gdb/Makefile.in
        aarch64-ravenscar-thread.c \
        aarch64-tdep.c \
        aix-thread.c \
-@@ -1776,6 +1781,8 @@ ALLDEPFILES = \
+@@ -1709,6 +1715,7 @@ ALLDEPFILES = \
+       arm-netbsd-nat.c \
+       arm-netbsd-tdep.c \
+       arm-none-tdep.c \
++      arm-obsd-nat.c \
+       arm-obsd-tdep.c \
+       arm-tdep.c \
+       avr-tdep.c \
+@@ -1812,6 +1819,8 @@ ALLDEPFILES = \
+       ppc-ravenscar-thread.c \
+       ppc-sysv-tdep.c \
+       ppc64-tdep.c \
++      ppc64-obsd-nat.c \
++      ppc64-obsd-tdep.c \
+       procfs.c \
+       ravenscar-thread.c \
+       remote-sim.c \
+@@ -1822,6 +1831,8 @@ ALLDEPFILES = \
        riscv-none-tdep.c \
        riscv-ravenscar-thread.c \
        riscv-tdep.c \
Index: patches/patch-gdb_ppc-obsd-tdep_c
===================================================================
RCS file: patches/patch-gdb_ppc-obsd-tdep_c
diff -N patches/patch-gdb_ppc-obsd-tdep_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-gdb_ppc-obsd-tdep_c   26 Dec 2024 12:04:50 -0000
@@ -0,0 +1,17 @@
+Avoid clash with ppc64-obsd-tdep.c:
+  /usr/ports/pobj/gdb-15.2/gdb-15.2/gdb/osabi.c:178: internal-error: 
gdbarch_register_osabi: A handler for OS ABI "OpenBSD" has already been 
registered for architecture powerpc:common64
+  A problem internal to GDB has been detected,
+  ...
+
+Index: gdb/ppc-obsd-tdep.c
+--- gdb/ppc-obsd-tdep.c.orig
++++ gdb/ppc-obsd-tdep.c
+@@ -268,7 +268,7 @@ _initialize_ppcobsd_tdep ()
+ {
+   gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_OPENBSD,
+                         ppcobsd_init_abi);
+-  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_OPENBSD,
++  gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, GDB_OSABI_OPENBSD,
+                         ppcobsd_init_abi);
+ 
+   /* Avoid initializing the register offsets again if they were
Index: patches/patch-gdb_doc_gdb_texinfo
===================================================================
RCS file: /cvs/ports/devel/gdb/patches/patch-gdb_doc_gdb_texinfo,v
diff -u -p -r1.1 patch-gdb_doc_gdb_texinfo
--- patches/patch-gdb_doc_gdb_texinfo   1 Oct 2024 07:41:42 -0000       1.1
+++ patches/patch-gdb_doc_gdb_texinfo   26 Dec 2024 09:17:58 -0000
@@ -1,12 +0,0 @@
-Index: gdb/doc/gdb.texinfo
---- gdb/doc/gdb.texinfo.orig
-+++ gdb/doc/gdb.texinfo
-@@ -36,7 +36,7 @@
- @set EDITION Tenth
- 
- @c !!set GDB edit command default editor
--@set EDITOR /bin/ex
-+@set EDITOR /usr/bin/ex
- 
- @c THIS MANUAL REQUIRES TEXINFO 4.0 OR LATER.
- 

-- 
jca

Reply via email to