closes bpo-16637: libpython: construct integer object directly from gdbvalue (GH-15232)
This fixes the exception '`ValueError: invalid literal for int() with base 10`
if `str(gdbval)` returns a hexadecimal value (e.g. '0xa0'). This is the case if
the output-radix is set to 16 in gdb. See
https://sourceware.org/gdb/onlinedocs/gdb/Numbers.html for more information.
(cherry picked from commit 6f53d34fb0f944a8c0ee530334c353559ac40f72)
Co-authored-by: Marc Hartmayer <marc1006@users.noreply.github.com>
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index e40f79b..93f997c 100755
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -1392,7 +1392,7 @@
def int_from_int(gdbval):
- return int(str(gdbval))
+ return int(gdbval)
def stringify(val):