Blob Blame History Raw
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@adacore.com>
Date: Wed, 15 Nov 2023 06:48:55 -0700
Subject: gdb-handle-no-python-gdb-module.patch

;; Backport upstream commit 7d21600b31fe.

Check gdb_python_module in gdbpy_handle_missing_debuginfo

If you run gdb in the build tree without --data-directory, on a
program that does not have debug info, it will crash, because
gdbpy_handle_missing_debuginfo unconditionally uses gdb_python_module.

Other code in gdb using gdb_python_module checks it first and it
seemes harmless to do the same thing here.  (gdb_python_initialized
does not cover this case so that python can be partially initialized
and still somewhat work.)

diff --git a/gdb/python/python.c b/gdb/python/python.c
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -1676,7 +1676,7 @@ gdbpy_handle_missing_debuginfo (const struct extension_language_defn *extlang,
 				struct objfile *objfile)
 {
   /* Early exit if Python is not initialised.  */
-  if (!gdb_python_initialized)
+  if (!gdb_python_initialized || gdb_python_module == nullptr)
     return {};
 
   struct gdbarch *gdbarch = objfile->arch ();