summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAugusto Hack <hack.augusto@gmail.com>2020-12-24 17:16:04 (GMT)
committerGitHub <noreply@github.com>2020-12-24 17:16:04 (GMT)
commitb57ada98da0d5b0cf1ebc2c9c5502d04aa962042 (patch)
tree7390142bbab3d39a1486a339461699f4449bef87
parenta9ef95b811296604d577e241c9adebf4d8ef99ae (diff)
downloadcpython-b57ada98da0d5b0cf1ebc2c9c5502d04aa962042.zip
cpython-b57ada98da0d5b0cf1ebc2c9c5502d04aa962042.tar.gz
cpython-b57ada98da0d5b0cf1ebc2c9c5502d04aa962042.tar.bz2
closes bpo-42726: gdb libpython: InstanceProxy support for py3 (GH-23912)
On Fedora 31 gdb is using python 3.7.9, calling `proxyval` on an instance with a dictionary fails because of the `dict.iteritems` usage. This PR changes the code to be compatible with py2 and py3. This changed seemed small enough to not need an issue and news blurb, if one is required please let me know. Automerge-Triggered-By: GH:benjaminp
-rw-r--r--Misc/NEWS.d/next/Tools-Demos/2020-12-23-19-42-11.bpo-42726.a5EkTv.rst2
-rwxr-xr-xTools/gdb/libpython.py2
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Tools-Demos/2020-12-23-19-42-11.bpo-42726.a5EkTv.rst b/Misc/NEWS.d/next/Tools-Demos/2020-12-23-19-42-11.bpo-42726.a5EkTv.rst
new file mode 100644
index 0000000..01a6e7f
--- /dev/null
+++ b/Misc/NEWS.d/next/Tools-Demos/2020-12-23-19-42-11.bpo-42726.a5EkTv.rst
@@ -0,0 +1,2 @@
+Fixed Python 3 compatibility issue with gdb/libpython.py handling of attribute
+dictionaries.
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index e6555dd9..e18ab0d 100755
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -468,7 +468,7 @@ class InstanceProxy(object):
def __repr__(self):
if isinstance(self.attrdict, dict):
kwargs = ', '.join(["%s=%r" % (arg, val)
- for arg, val in self.attrdict.iteritems()])
+ for arg, val in self.attrdict.items()])
return '<%s(%s) at remote 0x%x>' % (self.cl_name,
kwargs, self.address)
else: