From 6d08aed3c98dd073d79365bc12a675fe0930aee7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 6 Jun 2022 09:56:30 -0600 Subject: [PATCH] Constify solib_name_from_address I noticed that solib_name_from_address returned a non-const string, but it's more appropriate to return const. This patch implements this. Tested by rebuilding. --- gdb/python/py-progspace.c | 3 +-- gdb/solib.c | 2 +- gdb/solib.h | 2 +- gdb/stack.c | 5 +++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdb/python/py-progspace.c b/gdb/python/py-progspace.c index 5657ef7756c..a9abfb4c777 100644 --- a/gdb/python/py-progspace.c +++ b/gdb/python/py-progspace.c @@ -351,7 +351,6 @@ pspy_get_objfiles (PyObject *self_, PyObject *args) static PyObject * pspy_solib_name (PyObject *o, PyObject *args) { - char *soname; gdb_py_ulongest pc; pspace_object *self = (pspace_object *) o; @@ -360,7 +359,7 @@ pspy_solib_name (PyObject *o, PyObject *args) if (!PyArg_ParseTuple (args, GDB_PY_LLU_ARG, &pc)) return NULL; - soname = solib_name_from_address (self->pspace, pc); + const char *soname = solib_name_from_address (self->pspace, pc); if (soname == nullptr) Py_RETURN_NONE; return host_string_to_python_string (soname).release (); diff --git a/gdb/solib.c b/gdb/solib.c index 0fbf5bc988d..7d4734b0012 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -1225,7 +1225,7 @@ solib_contains_address_p (const struct so_list *const solib, breakpoints which are in shared libraries that are not currently mapped in. */ -char * +const char * solib_name_from_address (struct program_space *pspace, CORE_ADDR address) { struct so_list *so = NULL; diff --git a/gdb/solib.h b/gdb/solib.h index f9b4d3566d7..251028472c0 100644 --- a/gdb/solib.h +++ b/gdb/solib.h @@ -48,7 +48,7 @@ extern void solib_create_inferior_hook (int from_tty); /* If ADDR lies in a shared library, return its name. */ -extern char *solib_name_from_address (struct program_space *, CORE_ADDR); +extern const char *solib_name_from_address (struct program_space *, CORE_ADDR); /* Return true if ADDR lies within SOLIB. */ diff --git a/gdb/stack.c b/gdb/stack.c index 71d85985d18..80801ccdb01 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1427,8 +1427,9 @@ print_frame (const frame_print_options &fp_opts, if (print_what != SHORT_LOCATION && pc_p && (funname == NULL || sal.symtab == NULL)) { - char *lib = solib_name_from_address (get_frame_program_space (frame), - get_frame_pc (frame)); + const char *lib + = solib_name_from_address (get_frame_program_space (frame), + get_frame_pc (frame)); if (lib) { -- 2.30.2