From: Jonah Graham <jonah@kichwacoders.com>
To: Luis Machado <lgustavo@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] bound_registers.py: Add support for Python 3
Date: Sat, 26 Nov 2016 16:28:00 -0000 [thread overview]
Message-ID: <CAPmGMvjAAz8TeoiDJ5Fx2Cq8hyG8A+5zdWDYMprrbzQct=H1aw@mail.gmail.com> (raw)
In-Reply-To: <CAPmGMvid2z7rShFCTz8nHPrEJCAFXrfbHS+JTv4ATg8uNEoAPg@mail.gmail.com>
On 23 November 2016 at 23:09, Jonah Graham <jonah@kichwacoders.com> wrote:
> On 23 November 2016 at 23:04, Luis Machado <lgustavo@codesourcery.com> wrote:
>> On 11/23/2016 04:39 PM, Jonah Graham wrote:
>>>
>>> On 23 November 2016 at 16:59, Luis Machado <lgustavo@codesourcery.com>
>>> wrote:
>>>>
>>>> On 11/20/2016 02:45 PM, Jonah Graham wrote:
>>>>>
>>>>>
>>>>> gdb/Changelog:
>>>>>
>>>>> * python/lib/gdb/printer/bound_registers.py: Add support
>>>>> for Python 3.
>>>>> ---
>>>>> gdb/ChangeLog | 5 +++++
>>>>> gdb/python/lib/gdb/printer/bound_registers.py | 5 +++++
>>>>> 2 files changed, 10 insertions(+)
>>>>>
>>>>> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
>>>>> index 3797e8b..1923888 100644
>>>>> --- a/gdb/ChangeLog
>>>>> +++ b/gdb/ChangeLog
>>>>> @@ -1,3 +1,8 @@
>>>>> +2016-11-20 Jonah Graham <jonah@kichwacoders.com>
>>>>> +
>>>>> + * python/lib/gdb/printer/bound_registers.py: Add support
>>>>> + for Python 3.
>>>>> +
>>>>> 2016-11-19 Joel Brobecker <brobecker@adacore.com>
>>>>>
>>>>> * contrib/ari/gdb_ari.sh: Add detection of printf_vma and
>>>>> diff --git a/gdb/python/lib/gdb/printer/bound_registers.py
>>>>> b/gdb/python/lib/gdb/printer/bound_registers.py
>>>>> index 9ff94aa..e91cc19 100644
>>>>> --- a/gdb/python/lib/gdb/printer/bound_registers.py
>>>>> +++ b/gdb/python/lib/gdb/printer/bound_registers.py
>>>>> @@ -16,6 +16,11 @@
>>>>>
>>>>> import gdb.printing
>>>>>
>>>>> +if sys.version_info[0] > 2:
>>>>> + # Python 3 removed basestring and long
>>>>> + basestring = str
>>>>> + long = int
>>>>> +
>>>>> class MpxBound128Printer:
>>>>> """Adds size field to a mpx __gdb_builtin_type_bound128 type."""
>>>>>
>>>>>
>>>>
>>>> Since this should apply to every python module, maybe this should be
>>>> defined
>>>> inside gdb/python/lib/gdb/__init__.py?
>>>>
>>>> I'm assuming it gets included by module "gdb" and therefore "long" is
>>>> defined to be "int" for Python versions > 3.
>>>>
>>>> Then we can remove that code from gdb/python/lib/gdb/printing.py (and
>>>> from
>>>> other places setting this type of version-specific adjustment).
>>>>
>>>> Does that make sense?
>>>
>>>
>>> Hi Luis,
>>>
>>> I am not sure I understand how to do it in __init__.py as the modules
>>> that wanted to be both Python 2 and Python 3 compatible would still
>>> have to have special code. AFAIK an __init__.py cannot change the
>>> value of long in other py files. So python/lib/gdb/printing.py and
>>> python/lib/gdb/printer/bound_registers.py would still need special
>>> case code locally, even if that special case was an import for a
>>> definition of long.
>>
>>
>> That was the point i wasn't sure about (not a Python expert). I see
>> conditional code executing if the version is > 3, but i wasn't sure if it
>> would take effect globally when a module is included.
>>
>> In that case, i suppose there is not much that can be done other than
>> duplicate the code.
>>
>
> There is no way I know of, as a reference
> http://python3porting.com/differences.html#long recommends doing it
> (roughly) the way already done in python/lib/gdb/printing.py and
> copied to python/lib/gdb/printer/bound_registers.py
>
> Thanks for the review,
> Jonah
Hi,
Is there more I am supposed to do to get this patch into GDB? If so,
please advise and I would be happy to.
Thanks
Jonah
next prev parent reply other threads:[~2016-11-26 16:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-20 20:47 Jonah Graham
2016-11-20 20:51 ` Jonah Graham
2016-11-23 16:59 ` Luis Machado
2016-11-23 22:40 ` Jonah Graham
2016-11-23 23:04 ` Luis Machado
2016-11-23 23:10 ` Jonah Graham
2016-11-26 16:28 ` Jonah Graham [this message]
2016-11-26 18:55 ` Jonah Graham
2016-11-26 18:55 ` Jonah Graham
2016-11-26 21:27 ` Luis Machado
2017-03-08 8:35 ` Jonah Graham
2017-03-17 15:00 ` Pedro Alves
2017-03-22 9:16 ` Yao Qi
2017-03-22 9:38 ` Jonah Graham
2017-03-22 11:26 ` Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAPmGMvjAAz8TeoiDJ5Fx2Cq8hyG8A+5zdWDYMprrbzQct=H1aw@mail.gmail.com' \
--to=jonah@kichwacoders.com \
--cc=gdb-patches@sourceware.org \
--cc=lgustavo@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox