fix build failure with Python 3.7
Commit Message
Ok, here is the patch in its current state. Ok to commit?
paul
gdb/ChangeLog:
2018-06-01 Paul Koning <paul_koning@dell.com>
* python/python.c (do_start_initialization):
Avoid call to internal Python API.
(init__gdb_module): New function.
Comments
On 06/01/2018 02:22 PM, Paul.Koning@dell.com wrote:
> Ok, here is the patch in its current state. Ok to commit?
Yes, but recall to include the rationale in the git commit log, and
to include the link to the original Python issue in there.
Thanks,
Pedro Alves
On 06/01/2018 02:36 PM, Pedro Alves wrote:
> On 06/01/2018 02:22 PM, Paul.Koning@dell.com wrote:
>> Ok, here is the patch in its current state. Ok to commit?
>
> Yes, but recall to include the rationale in the git commit log, and
> to include the link to the original Python issue in there.
Actually, should this go to the 8.1 branch too? If so, then per
standard procedure we will indeed need a GDB bugzilla bug filed
(and then a reference added to the ChangeLog).
Thanks,
Pedro Alves
> On Jun 1, 2018, at 9:37 AM, Pedro Alves <palves@redhat.com> wrote:
>
> On 06/01/2018 02:36 PM, Pedro Alves wrote:
>> On 06/01/2018 02:22 PM, Paul.Koning@dell.com wrote:
>>> Ok, here is the patch in its current state. Ok to commit?
>>
>> Yes, but recall to include the rationale in the git commit log, and
>> to include the link to the original Python issue in there.
>
> Actually, should this go to the 8.1 branch too? If so, then per
> standard procedure we will indeed need a GDB bugzilla bug filed
> (and then a reference added to the ChangeLog).
I opened the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23252
paul
Hi Paul,
On 06/01/2018 02:47 PM, Paul.Koning@dell.com wrote:
>
>
>> On Jun 1, 2018, at 9:37 AM, Pedro Alves <palves@redhat.com> wrote:
>>
>> On 06/01/2018 02:36 PM, Pedro Alves wrote:
>>> On 06/01/2018 02:22 PM, Paul.Koning@dell.com wrote:
>>>> Ok, here is the patch in its current state. Ok to commit?
>>>
>>> Yes, but recall to include the rationale in the git commit log, and
>>> to include the link to the original Python issue in there.
>>
>> Actually, should this go to the 8.1 branch too? If so, then per
>> standard procedure we will indeed need a GDB bugzilla bug filed
>> (and then a reference added to the ChangeLog).
>
> I opened the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23252
Thanks. AFAICT, everything's sorted out. Anything holding this back?
Thanks,
Pedro Alves
> On Jun 8, 2018, at 10:35 AM, Pedro Alves <palves@redhat.com> wrote:
>
> Hi Paul,
> On 06/01/2018 02:47 PM, Paul.Koning@dell.com wrote:
>>
>>
>>> On Jun 1, 2018, at 9:37 AM, Pedro Alves <palves@redhat.com> wrote:
>>>
>>> On 06/01/2018 02:36 PM, Pedro Alves wrote:
>>>> On 06/01/2018 02:22 PM, Paul.Koning@dell.com wrote:
>>>>> Ok, here is the patch in its current state. Ok to commit?
>>>>
>>>> Yes, but recall to include the rationale in the git commit log, and
>>>> to include the link to the original Python issue in there.
>>>
>>> Actually, should this go to the 8.1 branch too? If so, then per
>>> standard procedure we will indeed need a GDB bugzilla bug filed
>>> (and then a reference added to the ChangeLog).
>>
>> I opened the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23252
> Thanks. AFAICT, everything's sorted out. Anything holding this back?
Just waiting for approval to commit.
paul
On 06/08/2018 03:37 PM, Paul.Koning@dell.com wrote:
>> Thanks. AFAICT, everything's sorted out. Anything holding this back?
>
> Just waiting for approval to commit.
>
Ah, but you already have it:
https://sourceware.org/ml/gdb-patches/2018-06/msg00015.html
Sorry if that wasn't clear.
Thanks,
Pedro Alves
> On Jun 8, 2018, at 10:55 AM, Pedro Alves <palves@redhat.com> wrote:
>
> On 06/08/2018 03:37 PM, Paul.Koning@dell.com wrote:
>
>>> Thanks. AFAICT, everything's sorted out. Anything holding this back?
>>
>> Just waiting for approval to commit.
>>
>
> Ah, but you already have it:
>
> https://sourceware.org/ml/gdb-patches/2018-06/msg00015.html
>
> Sorry if that wasn't clear.
>
> Thanks,
> Pedro Alves
It was clear, but I managed to overlook the original message.
I committed the patch with a commit message that references the original (Red Hat) bug.
paul
On Friday, June 08 2018, Paul Koning wrote:
>> On Jun 8, 2018, at 10:55 AM, Pedro Alves <palves@redhat.com> wrote:
>>
>> On 06/08/2018 03:37 PM, Paul.Koning@dell.com wrote:
>>
>>>> Thanks. AFAICT, everything's sorted out. Anything holding this back?
>>>
>>> Just waiting for approval to commit.
>>>
>>
>> Ah, but you already have it:
>>
>> https://sourceware.org/ml/gdb-patches/2018-06/msg00015.html
>>
>> Sorry if that wasn't clear.
>>
>> Thanks,
>> Pedro Alves
>
> It was clear, but I managed to overlook the original message.
>
> I committed the patch with a commit message that references the original (Red Hat) bug.
Thanks, Paul. I've made a Fedora GDB release containing the patch now.
@@ -1667,6 +1667,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 ()
{
@@ -1707,6 +1718,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
@@ -1716,9 +1730,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