aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Tools/gdb/libpython.py
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2024-08-21 15:52:04 +0100
committerGitHub <noreply@github.com>2024-08-21 15:52:04 +0100
commita4fd7aa4a6420cef1c22ec64eab54d8aea41cc57 (patch)
tree026af8576d2d3e05b56c475574606f13f69cf040 /Tools/gdb/libpython.py
parent4b7c4880a0b264373e65235701bb78cbf19266b5 (diff)
downloadcpython-a4fd7aa4a6420cef1c22ec64eab54d8aea41cc57.tar.gz
cpython-a4fd7aa4a6420cef1c22ec64eab54d8aea41cc57.zip
GH-115776: Allow any fixed sized object to have inline values (GH-123192)
Diffstat (limited to 'Tools/gdb/libpython.py')
-rwxr-xr-xTools/gdb/libpython.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index 8aa74635aed..cf03788d037 100755
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -69,9 +69,6 @@ def _type_unsigned_int_ptr():
def _sizeof_void_p():
return gdb.lookup_type('void').pointer().sizeof
-def _sizeof_pyobject():
- return gdb.lookup_type('PyObject').sizeof
-
def _managed_dict_offset():
# See pycore_object.h
pyobj = gdb.lookup_type("PyObject")
@@ -505,7 +502,7 @@ class HeapTypeObjectPtr(PyObjectPtr):
dict_ptr = dict_ptr_ptr.cast(_type_char_ptr().pointer()).dereference()
if int(dict_ptr):
return None
- char_ptr = obj_ptr + _sizeof_pyobject()
+ char_ptr = obj_ptr + typeobj.field('tp_basicsize')
values_ptr = char_ptr.cast(gdb.lookup_type("PyDictValues").pointer())
values = values_ptr['values']
return PyKeysValuesPair(self.get_cached_keys(), values)