This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: PyInt_Type undeclared
Seems to be compiling fine. For reference:
simeon % gdb --version
GNU gdb (GDB) 7.5.50.20130228
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
simeon % python --version
Python 3.3.0
Simeon
On 28 February 2013 19:41, Tom Tromey <tromey@redhat.com> wrote:
>>>>>> "Simeon" == Simeon S <simeon.simeonov.s@gmail.com> writes:
>
> Simeon> While building gdb-7.5.50.20130228 against Python 3.3.0 I
> Simeon> encountered the error (build log attached):
>
> Could you try this patch?
>
> Tom
>
> 2013-02-28 Tom Tromey <tromey@redhat.com>
>
> * python/py-arch.c (archpy_disassemble): Use PyInt_Check and
> PyLong_Check.
>
> diff --git a/gdb/python/py-arch.c b/gdb/python/py-arch.c
> index b41de06..ddfebdb 100644
> --- a/gdb/python/py-arch.c
> +++ b/gdb/python/py-arch.c
> @@ -111,12 +111,12 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw)
> start = start_temp;
> if (end_obj)
> {
> - if (PyObject_TypeCheck (end_obj, &PyInt_Type))
> + if (PyLong_Check (end_obj))
> + end = PyLong_AsUnsignedLongLong (end_obj);
> + else if (PyInt_Check (end_obj))
> /* If the end_pc value is specified without a trailing 'L', end_obj will
> be an integer and not a long integer. */
> end = PyInt_AsLong (end_obj);
> - else if (PyObject_TypeCheck (end_obj, &PyLong_Type))
> - end = PyLong_AsUnsignedLongLong (end_obj);
> else
> {
> Py_DECREF (end_obj);