From: Simon Marchi <simon.marchi@polymtl.ca>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@polymtl.ca>
Subject: [PATCH] gdbsupport: constify some return values in print-utils.{h,cc}
Date: Wed, 17 Apr 2024 16:55:28 -0400 [thread overview]
Message-ID: <20240417205530.2033347-1-simon.marchi@polymtl.ca> (raw)
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(-)
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. */
base-commit: 56f4dea207d690fff70a3ccb6fe10ebe1e4697c0
--
2.44.0
next reply other threads:[~2024-04-17 20:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-17 20:55 Simon Marchi [this message]
2024-04-18 14:10 ` [PATCH] gdbsupport: constify some return values in print-utils.{h, cc} Tom Tromey
2024-04-18 14:32 ` Simon Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240417205530.2033347-1-simon.marchi@polymtl.ca \
--to=simon.marchi@polymtl.ca \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).