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):