All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Romain Naour <romain.naour@gmail.com>,
	Buildroot List <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH 2/4] package/gdb: remove support for 9.2
Date: Sun, 14 Aug 2022 17:59:18 +0200	[thread overview]
Message-ID: <20220814155918.GM2775145@scaer> (raw)
In-Reply-To: <20220813083521.1382565-2-thomas.petazzoni@bootlin.com>

Thomas, All,

On 2022-08-13 10:35 +0200, Thomas Petazzoni via buildroot spake thusly:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  Config.in.legacy                              |   8 +
>  ...e-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |  55 -----
>  ...-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch |  43 ----
>  package/gdb/9.2/0003-use-asm-sgidefs.h.patch  |  40 ---
>  .../0004-gdbserver-fix-build-for-m68k.patch   |  62 -----
>  ...fork-inferior-include-linux-ptrace.h.patch |  53 ----
>  ...ppc-Fix-linker-error-with-fno-common.patch | 101 --------
>  ...x-Python3.9-related-runtime-problems.patch | 227 ------------------
>  ...t-build-gdbserver-with-m68k-and-ucli.patch |  41 ----
>  package/gdb/Config.in.host                    |   6 -
>  package/gdb/gdb.hash                          |   1 -
>  11 files changed, 8 insertions(+), 629 deletions(-)
>  delete mode 100644 package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
>  delete mode 100644 package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
>  delete mode 100644 package/gdb/9.2/0003-use-asm-sgidefs.h.patch
>  delete mode 100644 package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch
>  delete mode 100644 package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch
>  delete mode 100644 package/gdb/9.2/0006-sim-ppc-Fix-linker-error-with-fno-common.patch
>  delete mode 100644 package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch
>  delete mode 100644 package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch
> 
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 80c443d9fb..3b6e875c0c 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -144,6 +144,14 @@ endif
>  
>  ###############################################################################
>  
> +comment "Legacy options removed in 2022.11"
> +
> +config BR2_GDB_VERSION_9_2
> +	bool "gdb 9.2 removed"
> +	help
> +	  Support for GDB 9.2 has been removed. A new version has
> +	  automatically been selected.
> +
>  comment "Legacy options removed in 2022.08"
>  
>  config BR2_ECLIPSE_REGISTER
> diff --git a/package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> deleted file mode 100644
> index ab8dc626f0..0000000000
> --- a/package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -From 72ee19f54fd35595465b2e35eccf1f3d65fe21c6 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Sat, 6 Aug 2016 17:32:50 -0700
> -Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -[Rebase on gdb 8.3]
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ----
> - gdb/gdbserver/linux-ppc-low.c | 6 ++++++
> - gdb/nat/ppc-linux.h           | 6 ++++++
> - 2 files changed, 12 insertions(+)
> -
> -diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
> -index 1b695e53fe9..1978347c02c 100644
> ---- a/gdb/gdbserver/linux-ppc-low.c
> -+++ b/gdb/gdbserver/linux-ppc-low.c
> -@@ -23,7 +23,13 @@
> - #include "elf/common.h"
> - #include <sys/uio.h>
> - #include <elf.h>
> -+#if !defined(__GLIBC__)
> -+# define pt_regs uapi_pt_regs
> -+#endif
> - #include <asm/ptrace.h>
> -+#if !defined(__GLIBC__)
> -+# undef pt_regs
> -+#endif
> - 
> - #include "arch/ppc-linux-common.h"
> - #include "arch/ppc-linux-tdesc.h"
> -diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
> -index f1561b3b357..40399361c09 100644
> ---- a/gdb/nat/ppc-linux.h
> -+++ b/gdb/nat/ppc-linux.h
> -@@ -18,7 +18,13 @@
> - #ifndef NAT_PPC_LINUX_H
> - #define NAT_PPC_LINUX_H
> - 
> -+#if !defined(__GLIBC__)
> -+# define pt_regs uapi_pt_regs
> -+#endif
> - #include <asm/ptrace.h>
> -+#if !defined(__GLIBC__)
> -+# undef pt_regs
> -+#endif
> - #include <asm/cputable.h>
> - 
> - /* This sometimes isn't defined.  */
> --- 
> -2.21.0
> -
> diff --git a/package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
> deleted file mode 100644
> index 9d508fbf1e..0000000000
> --- a/package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -From ef630288fdc2d4d22651702672f9d5c9cd767e5b Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Sat, 3 Jun 2017 21:23:52 +0200
> -Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC
> - systems
> -
> -Fixes a pt_{dsp,}regs redefinition when building with the musl C library
> -on SuperH.
> -
> -Inspired by
> -http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch,
> -adapted for SuperH.
> -
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -[Rebase	on gdb 8.0]
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ----
> - gdb/gdbserver/linux-sh-low.c | 8 ++++++++
> - 1 file changed, 8 insertions(+)
> -
> -diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c
> -index 0953721a190..c331c1382f7 100644
> ---- a/gdb/gdbserver/linux-sh-low.c
> -+++ b/gdb/gdbserver/linux-sh-low.c
> -@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh;
> - #include <sys/reg.h>
> - #endif
> - 
> -+#if !defined(__GLIBC__)
> -+# define pt_regs uapi_pt_regs
> -+# define pt_dspregs uapi_pt_dspregs
> -+#endif
> - #include <asm/ptrace.h>
> -+#if !defined(__GLIBC__)
> -+# undef pt_regs
> -+# undef pt_dspregs
> -+#endif
> - 
> - #define sh_num_regs 41
> - 
> --- 
> -2.21.0
> -
> diff --git a/package/gdb/9.2/0003-use-asm-sgidefs.h.patch b/package/gdb/9.2/0003-use-asm-sgidefs.h.patch
> deleted file mode 100644
> index 2909f62c68..0000000000
> --- a/package/gdb/9.2/0003-use-asm-sgidefs.h.patch
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -From 19a0f664809b6858e69aa98188eb739415de044c Mon Sep 17 00:00:00 2001
> -From: Andre McCurdy <amccurdy@gmail.com>
> -Date: Sat, 30 Apr 2016 15:29:06 -0700
> -Subject: [PATCH] use <asm/sgidefs.h>
> -
> -Build fix for MIPS with musl libc
> -
> -The MIPS specific header <sgidefs.h> is provided by glibc and uclibc
> -but not by musl. Regardless of the libc, the kernel headers provide
> -<asm/sgidefs.h> which provides the same definitions, so use that
> -instead.
> -
> -Upstream-Status: Pending
> -
> -[Vincent:
> -Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070]
> -
> -Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ----
> - gdb/mips-linux-nat.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
> -index e68ed1e4da9..bc42aa59685 100644
> ---- a/gdb/mips-linux-nat.c
> -+++ b/gdb/mips-linux-nat.c
> -@@ -31,7 +31,7 @@
> - #include "gdb_proc_service.h"
> - #include "gregset.h"
> - 
> --#include <sgidefs.h>
> -+#include <asm/sgidefs.h>
> - #include "nat/gdb_ptrace.h"
> - #include <asm/ptrace.h>
> - #include "inf-ptrace.h"
> --- 
> -2.21.0
> -
> diff --git a/package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch
> deleted file mode 100644
> index d718293899..0000000000
> --- a/package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -From 448e481aab86c823d908530038e20a14213db0a2 Mon Sep 17 00:00:00 2001
> -From: Romain Naour <romain.naour@gmail.com>
> -Date: Fri, 22 Jun 2018 22:40:26 +0200
> -Subject: [PATCH] gdbserver: fix build for m68k
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -As for strace [1], when <sys/reg.h> is included after <linux/ptrace.h>,
> -the build fails on m68k with the following diagnostics:
> -
> -In file included from ./../nat/linux-ptrace.h:28:0,
> -                 from linux-low.h:27,
> -                 from linux-m68k-low.c:20:
> -[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant
> -   PT_D1 = 0,
> -   ^
> -[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant
> -[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant
> -In file included from linux-m68k-low.c:27:0:
> -[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token
> - };
> - ^
> -
> -Fix this by moving <sys/reg.h> on top of "linux-low.h".
> -
> -[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92
> -
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ----
> - gdb/gdbserver/linux-m68k-low.c | 9 +++++----
> - 1 file changed, 5 insertions(+), 4 deletions(-)
> -
> -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c
> -index 16f639d02fc..969d9973737 100644
> ---- a/gdb/gdbserver/linux-m68k-low.c
> -+++ b/gdb/gdbserver/linux-m68k-low.c
> -@@ -17,16 +17,17 @@
> -    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
> - 
> - #include "server.h"
> -+
> -+#ifdef HAVE_SYS_REG_H
> -+#include <sys/reg.h>
> -+#endif
> -+
> - #include "linux-low.h"
> - 
> - /* Defined in auto-generated file reg-m68k.c.  */
> - void init_registers_m68k (void);
> - extern const struct target_desc *tdesc_m68k;
> - 
> --#ifdef HAVE_SYS_REG_H
> --#include <sys/reg.h>
> --#endif
> --
> - #define m68k_num_regs 29
> - #define m68k_num_gregs 18
> - 
> --- 
> -2.21.0
> -
> diff --git a/package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch
> deleted file mode 100644
> index 1df5452682..0000000000
> --- a/package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -From d84ecfa3a8c8fbade89229ac66c09f2a97ab00fb Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> -Date: Sun, 24 Jun 2018 23:33:55 +0200
> -Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h
> -
> -To decide whether fork() or vfork() should be used, fork-inferior.c
> -uses the following test:
> -
> -  #if !(defined(__UCLIBC__) && defined(HAS_NOMMU))
> -
> -However, HAS_NOMMU is never defined, because it gets defined in
> -linux-ptrace.h, which is not included by fork-inferior.c. Due to this,
> -gdbserver fails to build on noMMU architectures. This commit fixes
> -that by simply including linux-ptrace.h.
> -
> -This bug was introduced by commit
> -2090129c36c7e582943b7d300968d19b46160d84 ("Share fork_inferior et al
> -with gdbserver"). Indeed, the same fork()/vfork() selection was done,
> -but in another file where linux-ptrace.h was included.
> -
> -Fixes the following build issue:
> -
> -../nat/fork-inferior.c: In function 'pid_t fork_inferior(const char*, const string&, char**, void (*)(), void (*)(int), void (*)(), const char*, void (*)(const char*, char* const*, char* const*))':
> -../nat/fork-inferior.c:376:11: error: 'fork' was not declared in this scope
> -     pid = fork ();
> -           ^~~~
> -../nat/fork-inferior.c:376:11: note: suggested alternative: 'vfork'
> -     pid = fork ();
> -           ^~~~
> -           vfork
> -
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> -[Romain: rebase on gdb 8.3]
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ----
> - gdb/nat/fork-inferior.c | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c
> -index fe9360a5039..626fe7c1fbf 100644
> ---- a/gdb/nat/fork-inferior.c
> -+++ b/gdb/nat/fork-inferior.c
> -@@ -27,6 +27,7 @@
> - #include "gdbsupport/pathstuff.h"
> - #include "gdbsupport/signals-state-save-restore.h"
> - #include "gdbsupport/gdb_tilde_expand.h"
> -+#include "linux-ptrace.h"
> - #include <vector>
> - 
> - extern char **environ;
> --- 
> -2.21.0
> -
> diff --git a/package/gdb/9.2/0006-sim-ppc-Fix-linker-error-with-fno-common.patch b/package/gdb/9.2/0006-sim-ppc-Fix-linker-error-with-fno-common.patch
> deleted file mode 100644
> index 813a1054a5..0000000000
> --- a/package/gdb/9.2/0006-sim-ppc-Fix-linker-error-with-fno-common.patch
> +++ /dev/null
> @@ -1,101 +0,0 @@
> -From ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0 Mon Sep 17 00:00:00 2001
> -From: Sebastian Huber <sebastian.huber@embedded-brains.de>
> -Date: Wed, 1 Jul 2020 19:29:55 +0200
> -Subject: [PATCH] sim/ppc: Fix linker error with -fno-common
> -
> -GCC 10 enables -fno-common by default.  This resulted in a multiple
> -definition linker error since global variables were declared and defined
> -in a header file:
> -
> -  ld: ld-insn.o:sim/ppc/ld-insn.h:221: multiple definition of
> -  `max_model_fields_len'; igen.o:sim/ppc/ld-insn.h:221: first defined here
> -
> -sim/ppc
> -
> -	* ld-insn.h (last_model, last_model_data, last_model_function,
> -	last_model_internal, last_model_macro, last_model_static):
> -	Delete.
> -	(max_model_fields_len, model_data, model_functions,
> -	model_internal, model_macros, model_static, models): Declare, but do not
> -	define.
> -	* ld-insn.c (last_model, last_model_data, last_model_function,
> -	last_model_internal, last_model_macro, last_model_static,
> -	max_model_fields_len, model_data, model_functions,
> -	model_internal, model_macros, model_static, models): Define.
> -
> -Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
> -Fetch from: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0
> ----
> - sim/ppc/ld-insn.c | 18 ++++++++++++++++++
> - sim/ppc/ld-insn.h | 24 +++++++-----------------
> - 2 files changed, 25 insertions(+), 17 deletions(-)
> -
> -diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c
> -index e39131ca133..585071a861f 100644
> ---- a/sim/ppc/ld-insn.c
> -+++ b/sim/ppc/ld-insn.c
> -@@ -28,6 +28,24 @@
> - 
> - #include "igen.h"
> - 
> -+static model *last_model;
> -+
> -+static insn *last_model_macro;
> -+static insn *last_model_function;
> -+static insn *last_model_internal;
> -+static insn *last_model_static;
> -+static insn *last_model_data;
> -+
> -+model *models;
> -+
> -+insn *model_macros;
> -+insn *model_functions;
> -+insn *model_internal;
> -+insn *model_static;
> -+insn *model_data;
> -+
> -+int max_model_fields_len;
> -+
> - static void
> - update_depth(insn_table *entry,
> - 	     lf *file,
> -diff --git a/sim/ppc/ld-insn.h b/sim/ppc/ld-insn.h
> -index 88318ffa2b3..52baeaa2d84 100644
> ---- a/sim/ppc/ld-insn.h
> -+++ b/sim/ppc/ld-insn.h
> -@@ -200,25 +200,15 @@ extern insn_table *load_insn_table
> -  table_include *includes,
> -  cache_table **cache_rules);
> - 
> --model *models;
> --model *last_model;
> -+extern model *models;
> - 
> --insn *model_macros;
> --insn *last_model_macro;
> -+extern insn *model_macros;
> -+extern insn *model_functions;
> -+extern insn *model_internal;
> -+extern insn *model_static;
> -+extern insn *model_data;
> - 
> --insn *model_functions;
> --insn *last_model_function;
> --
> --insn *model_internal;
> --insn *last_model_internal;
> --
> --insn *model_static;
> --insn *last_model_static;
> --
> --insn *model_data;
> --insn *last_model_data;
> --
> --int max_model_fields_len;
> -+extern int max_model_fields_len;
> - 
> - extern void insn_table_insert_insn
> - (insn_table *table,
> --- 
> -2.18.4
> -
> diff --git a/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch b/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch
> deleted file mode 100644
> index 89b0cdc4a0..0000000000
> --- a/package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch
> +++ /dev/null
> @@ -1,227 +0,0 @@
> -From c47bae859a5af0d95224d90000df0e529f7c5aa0 Mon Sep 17 00:00:00 2001
> -From: Kevin Buettner <kevinb@redhat.com>
> -Date: Wed, 27 May 2020 20:05:40 -0700
> -Subject: [PATCH] Fix Python3.9 related runtime problems
> -
> -Python3.9b1 is now available on Rawhide.  GDB w/ Python 3.9 support
> -can be built using the configure switch -with-python=/usr/bin/python3.9.
> -
> -Attempting to run gdb/Python3.9 segfaults on startup:
> -
> -    #0  0x00007ffff7b0582c in PyEval_ReleaseLock () from /lib64/libpython3.9.so.1.0
> -    #1  0x000000000069ccbf in do_start_initialization ()
> -	at worktree-test1/gdb/python/python.c:1789
> -    #2  _initialize_python ()
> -	at worktree-test1/gdb/python/python.c:1877
> -    #3  0x00000000007afb0a in initialize_all_files () at init.c:237
> -    ...
> -
> -Consulting the the documentation...
> -
> -https://docs.python.org/3/c-api/init.html
> -
> -...we find that PyEval_ReleaseLock() has been deprecated since version
> -3.2.  It recommends using PyEval_SaveThread or PyEval_ReleaseThread()
> -instead.  In do_start_initialization, in gdb/python/python.c, we
> -can replace the calls to PyThreadState_Swap() and PyEval_ReleaseLock()
> -with a single call to PyEval_SaveThread.   (Thanks to Keith Seitz
> -for working this out.)
> -
> -With that in place, GDB gets a little bit further.  It still dies
> -on startup, but the backtrace is different:
> -
> -    #0  0x00007ffff7b04306 in PyOS_InterruptOccurred ()
> -       from /lib64/libpython3.9.so.1.0
> -    #1  0x0000000000576e86 in check_quit_flag ()
> -	at worktree-test1/gdb/extension.c:776
> -    #2  0x0000000000576f8a in set_active_ext_lang (now_active=now_active@entry=0x983c00 <extension_language_python>)
> -	at worktree-test1/gdb/extension.c:705
> -    #3  0x000000000069d399 in gdbpy_enter::gdbpy_enter (this=0x7fffffffd2d0,
> -	gdbarch=0x0, language=0x0)
> -	at worktree-test1/gdb/python/python.c:211
> -    #4  0x0000000000686e00 in python_new_inferior (inf=0xddeb10)
> -	at worktree-test1/gdb/python/py-inferior.c:251
> -    #5  0x00000000005d9fb9 in std::function<void (inferior*)>::operator()(inferior*) const (__args#0=<optimized out>, this=0xccad20)
> -	at /usr/include/c++/10/bits/std_function.h:617
> -    #6  gdb::observers::observable<inferior*>::notify (args#0=0xddeb10,
> -	this=<optimized out>)
> -	at worktree-test1/gdb/../gdbsupport/observable.h:106
> -    #7  add_inferior_silent (pid=0)
> -	at worktree-test1/gdb/inferior.c:113
> -    #8  0x00000000005dbcb8 in initialize_inferiors ()
> -	at worktree-test1/gdb/inferior.c:947
> -    ...
> -
> -We checked with some Python Developers and were told that we should
> -acquire the GIL prior to calling any Python C API function.  We
> -definitely don't have the GIL for calls of PyOS_InterruptOccurred().
> -
> -I moved class_gdbpy_gil earlier in the file and use it in
> -gdbpy_check_quit_flag() to acquire (and automatically release) the
> -GIL.
> -
> -With those changes in place, I was able to run to a GDB prompt.  But,
> -when trying to quit, it segfaulted again due to due to some other
> -problems with gdbpy_check_quit_flag():
> -
> -    Thread 1 "gdb" received signal SIGSEGV, Segmentation fault.
> -    0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0
> -    (top-gdb) bt 8
> -    #0  0x00007ffff7bbab0c in new_threadstate () from /lib64/libpython3.9.so.1.0
> -    #1  0x00007ffff7afa5ea in PyGILState_Ensure.cold ()
> -       from /lib64/libpython3.9.so.1.0
> -    #2  0x000000000069b58c in gdbpy_gil::gdbpy_gil (this=<synthetic pointer>)
> -	at worktree-test1/gdb/python/python.c:278
> -    #3  gdbpy_check_quit_flag (extlang=<optimized out>)
> -	at worktree-test1/gdb/python/python.c:278
> -    #4  0x0000000000576e96 in check_quit_flag ()
> -	at worktree-test1/gdb/extension.c:776
> -    #5  0x000000000057700c in restore_active_ext_lang (previous=0xe9c050)
> -	at worktree-test1/gdb/extension.c:729
> -    #6  0x000000000088913a in do_my_cleanups (
> -	pmy_chain=0xc31870 <final_cleanup_chain>,
> -	old_chain=0xae5720 <sentinel_cleanup>)
> -	at worktree-test1/gdbsupport/cleanups.cc:131
> -    #7  do_final_cleanups ()
> -	at worktree-test1/gdbsupport/cleanups.cc:143
> -
> -In this case, we're trying to call a Python C API function after
> -Py_Finalize() has been called from finalize_python().  I made
> -finalize_python set gdb_python_initialized to false and then cause
> -check_quit_flag() to return early when it's false.
> -
> -With these changes in place, GDB seems to be working again with
> -Python3.9b1.  I think it likely that there are other problems lurking.
> -I wouldn't be surprised to find that there are other calls into Python
> -where we don't first make sure that we have the GIL.  Further changes
> -may well be needed.
> -
> -I see no regressions testing on Rawhide using a GDB built with the
> -default Python version (3.8.3) versus one built using Python 3.9b1.
> -
> -I've also tested on Fedora 28, 29, 30, 31, and 32 (all x86_64) using
> -the default (though updated) system installed versions of Python on
> -those OSes.  This means that I've tested against Python versions
> -2.7.15, 2.7.17, 2.7.18, 3.7.7, 3.8.2, and 3.8.3.  In each case GDB
> -still builds without problem and shows no regressions after applying
> -this patch.
> -
> -gdb/ChangeLog:
> -
> -2020-MM-DD  Kevin Buettner  <kevinb@redhat.com>
> -	    Keith Seitz  <keiths@redhat.com>
> -
> -	* python/python.c (do_start_initialization): For Python 3.9 and
> -	later, call PyEval_SaveThread instead of PyEval_ReleaseLock.
> -	(class gdbpy_gil): Move to earlier in file.
> -	(finalize_python): Set gdb_python_initialized.
> -	(gdbpy_check_quit_flag): Acquire GIL via gdbpy_gil.  Return early
> -	when not initialized.
> -
> -
> -[import into Buildroot, removing ChangeLog change to avoid conflict]
> -Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> -
> ----
> - gdb/ChangeLog       | 10 ++++++++
> - gdb/python/python.c | 56 ++++++++++++++++++++++++---------------------
> - 2 files changed, 40 insertions(+), 26 deletions(-)
> -
> -diff --git a/gdb/python/python.c b/gdb/python/python.c
> -index 67f362b852d..4bdd2201abc 100644
> ---- a/gdb/python/python.c
> -+++ b/gdb/python/python.c
> -@@ -238,6 +238,30 @@ gdbpy_enter::~gdbpy_enter ()
> -   PyGILState_Release (m_state);
> - }
> - 
> -+/* A helper class to save and restore the GIL, but without touching
> -+   the other globals that are handled by gdbpy_enter.  */
> -+
> -+class gdbpy_gil
> -+{
> -+public:
> -+
> -+  gdbpy_gil ()
> -+    : m_state (PyGILState_Ensure ())
> -+  {
> -+  }
> -+
> -+  ~gdbpy_gil ()
> -+  {
> -+    PyGILState_Release (m_state);
> -+  }
> -+
> -+  DISABLE_COPY_AND_ASSIGN (gdbpy_gil);
> -+
> -+private:
> -+
> -+  PyGILState_STATE m_state;
> -+};
> -+
> - /* Set the quit flag.  */
> - 
> - static void
> -@@ -251,6 +275,10 @@ gdbpy_set_quit_flag (const struct extension_language_defn *extlang)
> - static int
> - gdbpy_check_quit_flag (const struct extension_language_defn *extlang)
> - {
> -+  if (!gdb_python_initialized)
> -+    return 0;
> -+
> -+  gdbpy_gil gil;
> -   return PyOS_InterruptOccurred ();
> - }
> - 
> -@@ -943,30 +971,6 @@ gdbpy_source_script (const struct extension_language_defn *extlang,
> - 
> - /* Posting and handling events.  */
> - 
> --/* A helper class to save and restore the GIL, but without touching
> --   the other globals that are handled by gdbpy_enter.  */
> --
> --class gdbpy_gil
> --{
> --public:
> --
> --  gdbpy_gil ()
> --    : m_state (PyGILState_Ensure ())
> --  {
> --  }
> --
> --  ~gdbpy_gil ()
> --  {
> --    PyGILState_Release (m_state);
> --  }
> --
> --  DISABLE_COPY_AND_ASSIGN (gdbpy_gil);
> --
> --private:
> --
> --  PyGILState_STATE m_state;
> --};
> --
> - /* A single event.  */
> - struct gdbpy_event
> - {
> -@@ -1616,6 +1620,7 @@ finalize_python (void *ignore)
> - 
> -   Py_Finalize ();
> - 
> -+  gdb_python_initialized = false;
> -   restore_active_ext_lang (previous_active);
> - }
> - 
> -@@ -1785,8 +1790,7 @@ do_start_initialization ()
> -     return false;
> - 
> -   /* Release the GIL while gdb runs.  */
> --  PyThreadState_Swap (NULL);
> --  PyEval_ReleaseLock ();
> -+  PyEval_SaveThread ();
> - 
> -   make_final_cleanup (finalize_python, NULL);
> - 
> --- 
> -2.26.3
> -
> diff --git a/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch b/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch
> deleted file mode 100644
> index 5cdafae7a8..0000000000
> --- a/package/gdb/9.2/0007-gdb-configure.tgt-build-gdbserver-with-m68k-and-ucli.patch
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -From 808601f075fe3dd8ca101e31c9121a4e87f0bfc7 Mon Sep 17 00:00:00 2001
> -From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> -Date: Thu, 6 May 2021 07:45:00 +0200
> -Subject: [PATCH] gdb/configure.tgt: build gdbserver with m68k and
> - uclibc
> -
> -Allow to build gdbserver with m68k and uclibc:
> -
> -checking whether gdbserver is supported on this host... no
> -configure: error: Automatic gdbserver build is not supported for this configuration
> -
> -Fixes:
> - - http://autobuild.buildroot.org/results/f4d6d9d8418c0da48a3db4ad5a82e19bd16eae34
> -
> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ----
> - gdb/configure.tgt | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/gdb/configure.tgt b/gdb/configure.tgt
> -index caa42be1c01..8666bc5d0bf 100644
> ---- a/gdb/configure.tgt
> -+++ b/gdb/configure.tgt
> -@@ -372,12 +372,12 @@ m68hc11*-*-*|m6811*-*-*)
> - 	gdb_sim=../sim/m68hc11/libsim.a
> - 	;;
> - 
> --m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | m68*-*-uclinux* | \
> -+m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | \
> - fido-*-elf*)
> - 	# Target: Motorola m68k embedded
> - 	gdb_target_obs="m68k-tdep.o"
> - 	;;
> --m68*-*-linux*)
> -+m68*-*-*linux*)
> - 	# Target: Motorola m68k with a.out and ELF
> - 	gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \
> - 			linux-tdep.o glibc-tdep.o symfile-mem.o"
> --- 
> -2.30.2
> -
> diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host
> index 9ee0b3f913..9876c4e8bc 100644
> --- a/package/gdb/Config.in.host
> +++ b/package/gdb/Config.in.host
> @@ -46,11 +46,6 @@ choice
>  	help
>  	  Select the version of gdb you wish to use.
>  
> -config BR2_GDB_VERSION_9_2
> -	bool "gdb 9.2.x"
> -	# gdbserver support missing
> -	depends on !BR2_riscv
> -
>  config BR2_GDB_VERSION_10
>  	bool "gdb 10.x"
>  
> @@ -68,7 +63,6 @@ endif
>  config BR2_GDB_VERSION
>  	string
>  	default "arc-2020.09-release-gdb" if BR2_arc
> -	default "9.2"      if BR2_GDB_VERSION_9_2
>  	default "10.2"	   if BR2_GDB_VERSION_10 || !BR2_PACKAGE_HOST_GDB
>  	default "11.2"     if BR2_GDB_VERSION_11
>  	default "12.1"     if BR2_GDB_VERSION_12
> diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash
> index 3a1027dbb5..04c7d02d2f 100644
> --- a/package/gdb/gdb.hash
> +++ b/package/gdb/gdb.hash
> @@ -1,5 +1,4 @@
>  # From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum
> -sha512  73635f00f343117aa5e2436f1e1597099e2bfb31ef7bb162b273fa1ea282c3fa9b0f52762e70bfc7ad0334addb8d159e9ac7cbe5998ca4f755ea8cf90714d274  gdb-9.2.tar.xz
>  sha512  3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa  gdb-10.2.tar.xz
>  sha512  07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127  gdb-11.2.tar.xz
>  sha512  425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d  gdb-12.1.tar.xz
> -- 
> 2.37.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-08-14 15:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-13  8:35 [Buildroot] [PATCH 1/4] package/gdb: add support for version 12.1 Thomas Petazzoni via buildroot
2022-08-13  8:35 ` [Buildroot] [PATCH 2/4] package/gdb: remove support for 9.2 Thomas Petazzoni via buildroot
2022-08-14 15:59   ` Yann E. MORIN [this message]
2022-08-13  8:35 ` [Buildroot] [PATCH 3/4] package/gdb: switch to GDB 11.x as the default version Thomas Petazzoni via buildroot
2022-08-14 15:58   ` Yann E. MORIN
2022-08-13  8:35 ` [Buildroot] [PATCH 4/4] package/gdb: remove BR2_PACKAGE_GDB_TOPLEVEL Thomas Petazzoni via buildroot
2022-08-14 16:08   ` Yann E. MORIN
2022-08-14 15:59 ` [Buildroot] [PATCH 1/4] package/gdb: add support for version 12.1 Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220814155918.GM2775145@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=romain.naour@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.