gdb: ensure extension_language_python is always defined
authorEnze Li <lienze2010@hotmail.com>
Thu, 25 Nov 2021 18:05:46 +0000 (18:05 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Thu, 25 Nov 2021 18:05:46 +0000 (18:05 +0000)
In this commit:

  commit c6a6aad52d9e839d6a84ac31cabe2b7e1a2a31a0
  Date:   Mon Oct 25 17:25:45 2021 +0100

      gdb/python: make some global variables static

building without Python was broken.  The extension_language_python
global was moved from being always defined, to only being defined when
the HAVE_PYTHON macro was defined.  As a consequence, building without
Python support would result in errors like:

  /usr/bin/ld: extension.o:(.rodata+0x120): undefined reference to `extension_language_python'

This commit fixes the problem by moving the definition of
extension_language_python outside of the HAVE_PYTHON macro protection.

gdb/python/python.c

index d8a6a5978de464254f93c83bd4e3cf15159f5476..bfb691f0eaceee4e201c0a39e715958cb576b5a7 100644 (file)
@@ -164,6 +164,8 @@ static const struct extension_language_ops python_extension_ops =
   gdbpy_colorize,
 };
 
+#endif /* HAVE_PYTHON */
+
 /* The main struct describing GDB's interface to the Python
    extension language.  */
 const struct extension_language_defn extension_language_python =
@@ -186,6 +188,8 @@ const struct extension_language_defn extension_language_python =
 #endif
 };
 
+#ifdef HAVE_PYTHON
+
 /* Architecture and language to be used in callbacks from
    the Python interpreter.  */
 struct gdbarch *python_gdbarch;