gdbsupport: constify some return values in print-utils.{h, cc}

Message ID 20240417205530.2033347-1-simon.marchi@polymtl.ca
State New
Headers
Series gdbsupport: constify some return values in print-utils.{h, cc} |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed

Commit Message

Simon Marchi April 17, 2024, 8:55 p.m. UTC
  There is no reason the callers of these functions need to change the
returned string, so change the `char *` return types to `const char *`.

Update a few callers to also use `const char *`.

Change-Id: I94adff574d5e1b326e8cc688cf1817a15b408b96
---
 gdb/dwarf2/types.h        |  2 +-
 gdb/symtab.c              |  2 +-
 gdbserver/utils.cc        |  2 +-
 gdbserver/utils.h         |  2 +-
 gdbsupport/print-utils.cc | 20 ++++++++++----------
 gdbsupport/print-utils.h  | 16 ++++++++--------
 6 files changed, 22 insertions(+), 22 deletions(-)


base-commit: 56f4dea207d690fff70a3ccb6fe10ebe1e4697c0
  

Comments

Tom Tromey April 18, 2024, 2:10 p.m. UTC | #1
>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:

Simon> There is no reason the callers of these functions need to change the
Simon> returned string, so change the `char *` return types to `const char *`.

Simon> Update a few callers to also use `const char *`.

Seems reasonable to me.

Approved-By: Tom Tromey <tom@tromey.com>

Tom
  
Simon Marchi April 18, 2024, 2:32 p.m. UTC | #2
On 2024-04-18 10:10, Tom Tromey wrote:
>>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:
> 
> Simon> There is no reason the callers of these functions need to change the
> Simon> returned string, so change the `char *` return types to `const char *`.
> 
> Simon> Update a few callers to also use `const char *`.
> 
> Seems reasonable to me.
> 
> Approved-By: Tom Tromey <tom@tromey.com>
> 
> Tom

Thanks, pushed.

Simon
  

Patch

diff --git a/gdb/dwarf2/types.h b/gdb/dwarf2/types.h
index 9db5c6357046..f0b9febba151 100644
--- a/gdb/dwarf2/types.h
+++ b/gdb/dwarf2/types.h
@@ -31,7 +31,7 @@  DEFINE_OFFSET_TYPE (cu_offset, unsigned int);
    section.  */
 DEFINE_OFFSET_TYPE (sect_offset, uint64_t);
 
-static inline char *
+static inline const char *
 sect_offset_str (sect_offset offset)
 {
   return hex_string (to_underlying (offset));
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 86603dfebc31..d931b3a694b3 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -5177,7 +5177,7 @@  static void
 print_msymbol_info (struct bound_minimal_symbol msymbol)
 {
   struct gdbarch *gdbarch = msymbol.objfile->arch ();
-  char *tmp;
+  const char *tmp;
 
   if (gdbarch_addr_bit (gdbarch) <= 32)
     tmp = hex_string_custom (msymbol.value_address ()
diff --git a/gdbserver/utils.cc b/gdbserver/utils.cc
index 3d3144e33da3..302300770e84 100644
--- a/gdbserver/utils.cc
+++ b/gdbserver/utils.cc
@@ -99,7 +99,7 @@  internal_vwarning (const char *file, int line, const char *fmt, va_list args)
 /* Convert a CORE_ADDR into a HEX string, like %lx.
    The result is stored in a circular static buffer, NUMCELLS deep.  */
 
-char *
+const char *
 paddress (CORE_ADDR addr)
 {
   return phex_nz (addr, sizeof (CORE_ADDR));
diff --git a/gdbserver/utils.h b/gdbserver/utils.h
index 7a6d0fd1d37b..ad1f82ccb9f6 100644
--- a/gdbserver/utils.h
+++ b/gdbserver/utils.h
@@ -19,6 +19,6 @@ 
 #ifndef GDBSERVER_UTILS_H
 #define GDBSERVER_UTILS_H
 
-char *paddress (CORE_ADDR addr);
+const char *paddress (CORE_ADDR addr);
 
 #endif /* GDBSERVER_UTILS_H */
diff --git a/gdbsupport/print-utils.cc b/gdbsupport/print-utils.cc
index 565a4791675f..a2e43576a7cd 100644
--- a/gdbsupport/print-utils.cc
+++ b/gdbsupport/print-utils.cc
@@ -122,7 +122,7 @@  octal2str (ULONGEST addr, int width)
 
 /* See print-utils.h.  */
 
-char *
+const char *
 pulongest (ULONGEST u)
 {
   return decimal2str ("", u, 0);
@@ -130,7 +130,7 @@  pulongest (ULONGEST u)
 
 /* See print-utils.h.  */
 
-char *
+const char *
 plongest (LONGEST l)
 {
   if (l < 0)
@@ -144,7 +144,7 @@  static int thirty_two = 32;
 
 /* See print-utils.h.  */
 
-char *
+const char *
 phex (ULONGEST l, int sizeof_l)
 {
   char *str;
@@ -170,7 +170,7 @@  phex (ULONGEST l, int sizeof_l)
       xsnprintf (str, PRINT_CELL_SIZE, "%02x", (unsigned short) (l & 0xff));
       break;
     default:
-      str = phex (l, sizeof (l));
+      return phex (l, sizeof (l));
       break;
     }
 
@@ -179,7 +179,7 @@  phex (ULONGEST l, int sizeof_l)
 
 /* See print-utils.h.  */
 
-char *
+const char *
 phex_nz (ULONGEST l, int sizeof_l)
 {
   char *str;
@@ -212,7 +212,7 @@  phex_nz (ULONGEST l, int sizeof_l)
       xsnprintf (str, PRINT_CELL_SIZE, "%x", (unsigned short) (l & 0xff));
       break;
     default:
-      str = phex_nz (l, sizeof (l));
+      return phex_nz (l, sizeof (l));
       break;
     }
 
@@ -221,7 +221,7 @@  phex_nz (ULONGEST l, int sizeof_l)
 
 /* See print-utils.h.  */
 
-char *
+const char *
 hex_string (LONGEST num)
 {
   char *result = get_print_cell ();
@@ -232,7 +232,7 @@  hex_string (LONGEST num)
 
 /* See print-utils.h.  */
 
-char *
+const char *
 hex_string_custom (LONGEST num, int width)
 {
   char *result = get_print_cell ();
@@ -254,7 +254,7 @@  hex_string_custom: insufficient space to store result"));
 
 /* See print-utils.h.  */
 
-char *
+const char *
 int_string (LONGEST val, int radix, int is_signed, int width,
 	    int use_c_format)
 {
@@ -262,7 +262,7 @@  int_string (LONGEST val, int radix, int is_signed, int width,
     {
     case 16:
       {
-	char *result;
+	const char *result;
 
 	if (width == 0)
 	  result = hex_string (val);
diff --git a/gdbsupport/print-utils.h b/gdbsupport/print-utils.h
index 510cc63bc895..5c5869ec1ae6 100644
--- a/gdbsupport/print-utils.h
+++ b/gdbsupport/print-utils.h
@@ -27,34 +27,34 @@ 
 /* %u for ULONGEST.  The result is stored in a circular static buffer,
    NUMCELLS deep.  */
 
-extern char *pulongest (ULONGEST u);
+extern const char *pulongest (ULONGEST u);
 
 /* %d for LONGEST.  The result is stored in a circular static buffer,
    NUMCELLS deep.  */
 
-extern char *plongest (LONGEST l);
+extern const char *plongest (LONGEST l);
 
 /* Convert a ULONGEST into a HEX string, like %lx, with leading zeros.
    The result is stored in a circular static buffer, NUMCELLS deep.  */
 
-extern char *phex (ULONGEST l, int sizeof_l);
+extern const char *phex (ULONGEST l, int sizeof_l);
 
 /* Convert a ULONGEST into a HEX string, like %lx, without leading zeros.
    The result is  stored in a circular static buffer, NUMCELLS deep.  */
 
-extern char *phex_nz (ULONGEST l, int sizeof_l);
+extern const char *phex_nz (ULONGEST l, int sizeof_l);
 
 /* Converts a LONGEST to a C-format hexadecimal literal and stores it
    in a static string.  Returns a pointer to this string.  */
 
-extern char *hex_string (LONGEST num);
+extern const char *hex_string (LONGEST num);
 
 /* Converts a LONGEST number to a C-format hexadecimal literal and
    stores it in a static string.  Returns a pointer to this string
    that is valid until the next call.  The number is padded on the
    left with 0s to at least WIDTH characters.  */
 
-extern char *hex_string_custom (LONGEST num, int width);
+extern const char *hex_string_custom (LONGEST num, int width);
 
 /* Convert VAL to a numeral in the given radix.  For
  * radix 10, IS_SIGNED may be true, indicating a signed quantity;
@@ -63,8 +63,8 @@  extern char *hex_string_custom (LONGEST num, int width);
  * to use C format in all cases.  If it is false, then 'x' 
  * and 'o' formats do not include a prefix (0x or leading 0).  */
 
-extern char *int_string (LONGEST val, int radix, int is_signed, int width, 
-			 int use_c_format);	
+extern const char *int_string (LONGEST val, int radix, int is_signed, int width,
+			       int use_c_format);
 
 /* Convert a CORE_ADDR into a string.  */