From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57587 invoked by alias); 8 Mar 2017 08:35:39 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 57563 invoked by uid 89); 8 Mar 2017 08:35:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-23.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,MISSING_HEADERS,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,URIBL_RED autolearn=ham version=3.3.2 spammy=sk:python3 X-HELO: sasl.smtp.pobox.com Received: from pb-smtp2.pobox.com (HELO sasl.smtp.pobox.com) (64.147.108.71) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 08 Mar 2017 08:35:35 +0000 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 5157884D36 for ; Wed, 8 Mar 2017 03:35:34 -0500 (EST) Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 4B4BD84D35 for ; Wed, 8 Mar 2017 03:35:34 -0500 (EST) Received: from mail-it0-f53.google.com (unknown [209.85.214.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id D19E884D34 for ; Wed, 8 Mar 2017 03:35:33 -0500 (EST) Received: by mail-it0-f53.google.com with SMTP id g138so25950876itb.0 for ; Wed, 08 Mar 2017 00:35:33 -0800 (PST) X-Gm-Message-State: AMke39n54DZO8VfNLHujzPu9l/LBt9gJ2oFG2DeHZqbO5vSm5CBo4mEJqQbQOgwzBbYkGCbFTkFIRumMSU8vnw== X-Received: by 10.107.183.20 with SMTP id h20mr5154400iof.18.1488962133232; Wed, 08 Mar 2017 00:35:33 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.132.228 with HTTP; Wed, 8 Mar 2017 00:34:52 -0800 (PST) In-Reply-To: <3d3a1226-dbb2-04ef-c922-3462e6f318b3@codesourcery.com> References: <20161120204526.7203-1-jonah@kichwacoders.com> <9c9ac6f4-1f6c-3ebe-b23d-3611f4f52192@codesourcery.com> <3d3a1226-dbb2-04ef-c922-3462e6f318b3@codesourcery.com> From: Jonah Graham Date: Wed, 08 Mar 2017 08:35:00 -0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] bound_registers.py: Add support for Python 3 Cc: gdb-patches@sourceware.org Content-Type: text/plain; charset=UTF-8 X-Pobox-Relay-ID: 323CDDE2-03DA-11E7-A74E-FC50AE2156B6-18936988!pb-smtp2.pobox.com X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg00091.txt.bz2 On 26 November 2016 at 21:26, Luis Machado wrote: > On 11/26/2016 10:27 AM, Jonah Graham wrote: >> >> On 23 November 2016 at 23:09, Jonah Graham wrote: >>> >>> On 23 November 2016 at 23:04, Luis Machado >>> wrote: >>>> >>>> On 11/23/2016 04:39 PM, Jonah Graham wrote: >>>>> >>>>> >>>>> On 23 November 2016 at 16:59, Luis Machado >>>>> 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 >>>>>>> + >>>>>>> + * python/lib/gdb/printer/bound_registers.py: Add support >>>>>>> + for Python 3. >>>>>>> + >>>>>>> 2016-11-19 Joel Brobecker >>>>>>> >>>>>>> * 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. > > > One of the maintainers needs to OK it, which shouldn't that that long. Given > the size of the patch, i don't there's anything else that should be done > code-wise. > Ping on this patch. Please let me know if there is anything else I can do to get it in.