diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2019-04-18 22:15:09 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2019-04-18 22:18:24 +0200 |
commit | d721a23a686ef274975053221e6ab1323bc7669a (patch) | |
tree | d522412c26e8a4ec972d6416900465ef4346de84 | |
parent | f414be1128f2dd68fe9e9b2c2e4bdeb57f036319 (diff) | |
download | OSELAS.Toolchain-d721a23a686ef274975053221e6ab1323bc7669a.tar.gz OSELAS.Toolchain-d721a23a686ef274975053221e6ab1323bc7669a.tar.xz |
cross-gdb: fix building with python3.7
Add upstream fix that fixes the build issue.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | patches/gdb-8.1/0001-Fix-build-issue-with-Python-3.7.patch | 64 | ||||
-rw-r--r-- | patches/gdb-8.1/series | 4 |
2 files changed, 68 insertions, 0 deletions
diff --git a/patches/gdb-8.1/0001-Fix-build-issue-with-Python-3.7.patch b/patches/gdb-8.1/0001-Fix-build-issue-with-Python-3.7.patch new file mode 100644 index 0000000..00aae72 --- /dev/null +++ b/patches/gdb-8.1/0001-Fix-build-issue-with-Python-3.7.patch @@ -0,0 +1,64 @@ +From: Paul Koning <paul_koning@dell.com> +Date: Sat, 9 Jun 2018 13:24:34 -0400 +Subject: [PATCH] Fix build issue with Python 3.7 + +Originally reported in +https://bugzilla.redhat.com/show_bug.cgi?id=1577396 -- gdb build fails +with Python 3.7 due to references to a Python internal function whose +declaration changed in 3.7. + +gdb/ChangeLog +2018-06-09 Paul Koning <paul_koning@dell.com> + + PR gdb/23252 + + * python/python.c (do_start_initialization): + Avoid call to internal Python API. + (init__gdb_module): New function. +--- + gdb/python/python.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/gdb/python/python.c b/gdb/python/python.c +index 4844c86c5433..bb0a46d8580a 100644 +--- a/gdb/python/python.c ++++ b/gdb/python/python.c +@@ -1656,6 +1656,17 @@ finalize_python (void *ignore) + restore_active_ext_lang (previous_active); + } + ++#ifdef IS_PY3K ++/* This is called via the PyImport_AppendInittab mechanism called ++ during initialization, to make the built-in _gdb module known to ++ Python. */ ++PyMODINIT_FUNC ++init__gdb_module (void) ++{ ++ return PyModule_Create (&python_GdbModuleDef); ++} ++#endif ++ + static bool + do_start_initialization () + { +@@ -1696,6 +1707,9 @@ do_start_initialization () + remain alive for the duration of the program's execution, so + it is not freed after this call. */ + Py_SetProgramName (progname_copy); ++ ++ /* Define _gdb as a built-in module. */ ++ PyImport_AppendInittab ("_gdb", init__gdb_module); + #else + Py_SetProgramName (progname.release ()); + #endif +@@ -1705,9 +1719,7 @@ do_start_initialization () + PyEval_InitThreads (); + + #ifdef IS_PY3K +- gdb_module = PyModule_Create (&python_GdbModuleDef); +- /* Add _gdb module to the list of known built-in modules. */ +- _PyImport_FixupBuiltin (gdb_module, "_gdb"); ++ gdb_module = PyImport_ImportModule ("_gdb"); + #else + gdb_module = Py_InitModule ("_gdb", python_GdbMethods); + #endif diff --git a/patches/gdb-8.1/series b/patches/gdb-8.1/series new file mode 100644 index 0000000..308a4fc --- /dev/null +++ b/patches/gdb-8.1/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Fix-build-issue-with-Python-3.7.patch +# fce236c2f6a3766d3296426b4b3223b7 - git-ptx-patches magic |