From 062534d44f3eeb81903cc01ef0230cee5b3e4eb2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 15 Sep 2020 11:08:56 -0600 Subject: [PATCH] Don't use PyLong_FromLong This changes gdb to avoid PyLong_FromLong, preferring to gdb_py_object_from_longest instead. gdb/ChangeLog 2020-09-15 Tom Tromey * python/python.c (gdbpy_parameter_value): Use gdb_py_object_from_longest. * python/py-type.c (convert_field, typy_range): Use gdb_py_object_from_longest. * python/py-tui.c (gdbpy_tui_width, gdbpy_tui_height): Use gdb_py_object_from_longest. * python/py-lazy-string.c (stpy_get_length): Use gdb_py_object_from_longest. * python/py-infthread.c (thpy_get_num, thpy_get_global_num): Use gdb_py_object_from_longest. * python/py-infevents.c (create_memory_changed_event_object): Use gdb_py_object_from_longest. * python/py-inferior.c (infpy_get_num): Use gdb_py_object_from_longest. (infpy_get_pid): Likewise. --- gdb/ChangeLog | 18 ++++++++++++++++++ gdb/python/py-inferior.c | 4 ++-- gdb/python/py-infevents.c | 2 +- gdb/python/py-infthread.c | 8 ++++++-- gdb/python/py-lazy-string.c | 2 +- gdb/python/py-tui.c | 8 ++++++-- gdb/python/py-type.c | 6 +++--- gdb/python/python.c | 2 +- 8 files changed, 38 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 504a916314f..eed367a49ac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,21 @@ +2020-09-15 Tom Tromey + + * python/python.c (gdbpy_parameter_value): Use + gdb_py_object_from_longest. + * python/py-type.c (convert_field, typy_range): Use + gdb_py_object_from_longest. + * python/py-tui.c (gdbpy_tui_width, gdbpy_tui_height): Use + gdb_py_object_from_longest. + * python/py-lazy-string.c (stpy_get_length): Use + gdb_py_object_from_longest. + * python/py-infthread.c (thpy_get_num, thpy_get_global_num): Use + gdb_py_object_from_longest. + * python/py-infevents.c (create_memory_changed_event_object): Use + gdb_py_object_from_longest. + * python/py-inferior.c (infpy_get_num): Use + gdb_py_object_from_longest. + (infpy_get_pid): Likewise. + 2020-09-15 Tom Tromey * python/python-internal.h (gdb_py_long_from_ulongest): Remove diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index a7699510db7..7204356ac73 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -423,7 +423,7 @@ infpy_get_num (PyObject *self, void *closure) INFPY_REQUIRE_VALID (inf); - return PyLong_FromLong (inf->inferior->num); + return gdb_py_object_from_longest (inf->inferior->num).release (); } static PyObject * @@ -433,7 +433,7 @@ infpy_get_pid (PyObject *self, void *closure) INFPY_REQUIRE_VALID (inf); - return PyLong_FromLong (inf->inferior->pid); + return gdb_py_object_from_longest (inf->inferior->pid).release (); } static PyObject * diff --git a/gdb/python/py-infevents.c b/gdb/python/py-infevents.c index 3cf746103c7..f303c395c13 100644 --- a/gdb/python/py-infevents.c +++ b/gdb/python/py-infevents.c @@ -104,7 +104,7 @@ create_memory_changed_event_object (CORE_ADDR addr, ssize_t len) if (evpy_add_attribute (event.get (), "address", addr_obj.get ()) < 0) return NULL; - gdbpy_ref<> len_obj (PyLong_FromLong (len)); + gdbpy_ref<> len_obj = gdb_py_object_from_longest (len); if (len_obj == NULL) return NULL; diff --git a/gdb/python/py-infthread.c b/gdb/python/py-infthread.c index f350e367d5e..669b6d8b074 100644 --- a/gdb/python/py-infthread.c +++ b/gdb/python/py-infthread.c @@ -130,7 +130,9 @@ thpy_get_num (PyObject *self, void *closure) THPY_REQUIRE_VALID (thread_obj); - return PyLong_FromLong (thread_obj->thread->per_inf_num); + gdbpy_ref<> result + = gdb_py_object_from_longest (thread_obj->thread->per_inf_num); + return result.release (); } /* Getter for InferiorThread.global_num. */ @@ -142,7 +144,9 @@ thpy_get_global_num (PyObject *self, void *closure) THPY_REQUIRE_VALID (thread_obj); - return PyLong_FromLong (thread_obj->thread->global_num); + gdbpy_ref<> result + = gdb_py_object_from_longest (thread_obj->thread->global_num); + return result.release (); } /* Getter for InferiorThread.ptid -> (pid, lwp, tid). diff --git a/gdb/python/py-lazy-string.c b/gdb/python/py-lazy-string.c index 401c0a6fdf5..aaee94f5e1f 100644 --- a/gdb/python/py-lazy-string.c +++ b/gdb/python/py-lazy-string.c @@ -88,7 +88,7 @@ stpy_get_length (PyObject *self, void *closure) { lazy_string_object *self_string = (lazy_string_object *) self; - return PyLong_FromLong (self_string->length); + return gdb_py_object_from_longest (self_string->length).release (); } static PyObject * diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c index 95c71f1d2dd..8a24f2f3af4 100644 --- a/gdb/python/py-tui.c +++ b/gdb/python/py-tui.c @@ -392,7 +392,9 @@ gdbpy_tui_width (PyObject *self, void *closure) { gdbpy_tui_window *win = (gdbpy_tui_window *) self; REQUIRE_WINDOW (win); - return PyLong_FromLong (win->window->viewport_width ()); + gdbpy_ref<> result + = gdb_py_object_from_longest (win->window->viewport_width ()); + return result.release (); } /* Return the height of the TUI window. */ @@ -401,7 +403,9 @@ gdbpy_tui_height (PyObject *self, void *closure) { gdbpy_tui_window *win = (gdbpy_tui_window *) self; REQUIRE_WINDOW (win); - return PyLong_FromLong (win->window->viewport_height ()); + gdbpy_ref<> result + = gdb_py_object_from_longest (win->window->viewport_height ()); + return result.release (); } /* Return the title of the TUI window. */ diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c index 229fde37efe..d487a392b11 100644 --- a/gdb/python/py-type.c +++ b/gdb/python/py-type.c @@ -233,7 +233,7 @@ convert_field (struct type *type, int field) if (PyObject_SetAttrString (result.get (), "is_base_class", arg.get ()) < 0) return NULL; - arg.reset (PyLong_FromLong (TYPE_FIELD_BITSIZE (type, field))); + arg = gdb_py_object_from_longest (TYPE_FIELD_BITSIZE (type, field)); if (arg == NULL) return NULL; if (PyObject_SetAttrString (result.get (), "bitsize", arg.get ()) < 0) @@ -596,11 +596,11 @@ typy_range (PyObject *self, PyObject *args) break; } - gdbpy_ref<> low_bound (PyLong_FromLong (low)); + gdbpy_ref<> low_bound = gdb_py_object_from_longest (low); if (low_bound == NULL) return NULL; - gdbpy_ref<> high_bound (PyLong_FromLong (high)); + gdbpy_ref<> high_bound = gdb_py_object_from_longest (high); if (high_bound == NULL) return NULL; diff --git a/gdb/python/python.c b/gdb/python/python.c index 7787dce4b4c..9cc8af63338 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -496,7 +496,7 @@ gdbpy_parameter_value (enum var_types type, void *var) /* Fall through. */ case var_zinteger: case var_zuinteger_unlimited: - return PyLong_FromLong (* (int *) var); + return gdb_py_object_from_longest (* (int *) var).release (); case var_uinteger: { -- 2.30.2