> Date: Fri, 27 Dec 2024 18:01:44 +0100 > From: Jeremie Courreges-Anglas <j...@wxcvbn.org> > > 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?
Well, the current port doesn't even build on powerpc64 because of undefined references. Probably this is what point 1 is fixing. I think exceptions are still broken. At least gdb segfaults. Anyway, I see no reason not to commit this. > 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 >