Use arrays rather than pointers for global string constants

My understanding is that it's mildly better to use a static const
array, as opposed to a "const char *", for a global string constant,
when possible.  This makes sense to me because the pointer requires a
load from an address, whereas the array is just the address.

So, I searched for these in gdb and gdbserver.  This patch fixes the
ones I found.

gdb/ChangeLog
2020-09-15  Tom Tromey  <tromey@adacore.com>

	* unittests/memory-map-selftests.c (valid_mem_map): Now array.
	* ui-style.c (ansi_regex_text): Now array.
	* rust-exp.y (number_regex_text): Now array.
	* linespec.c (linespec_quote_characters): Now array.
	* jit.c (jit_break_name, jit_descriptor_name, reader_init_fn_sym):
	Now arrays.

gdbserver/ChangeLog
2020-09-15  Tom Tromey  <tromey@adacore.com>

	* linux-x86-low.cc (xmltarget_i386_linux_no_xml)
	(xmltarget_amd64_linux_no_xml): Now arrays.
This commit is contained in:
Tom Tromey 2020-09-15 08:38:22 -06:00
parent 7e30b1ebbf
commit db92ac4568
8 changed files with 23 additions and 9 deletions

View File

@ -1,3 +1,12 @@
2020-09-15 Tom Tromey <tromey@adacore.com>
* unittests/memory-map-selftests.c (valid_mem_map): Now array.
* ui-style.c (ansi_regex_text): Now array.
* rust-exp.y (number_regex_text): Now array.
* linespec.c (linespec_quote_characters): Now array.
* jit.c (jit_break_name, jit_descriptor_name, reader_init_fn_sym):
Now arrays.
2020-09-14 Simon Marchi <simon.marchi@polymtl.ca>
* debuginfod-support.c (debuginfod_client_deleter): New.

View File

@ -45,9 +45,9 @@
static std::string jit_reader_dir;
static const char *const jit_break_name = "__jit_debug_register_code";
static const char jit_break_name[] = "__jit_debug_register_code";
static const char *const jit_descriptor_name = "__jit_debug_descriptor";
static const char jit_descriptor_name[] = "__jit_debug_descriptor";
static void jit_inferior_init (struct gdbarch *gdbarch);
static void jit_inferior_exit_hook (struct inferior *inf);
@ -173,7 +173,7 @@ struct jit_reader
static struct jit_reader *loaded_jit_reader = NULL;
typedef struct gdb_reader_funcs * (reader_init_fn_type) (void);
static const char *reader_init_fn_sym = "gdb_init_reader";
static const char reader_init_fn_sym[] = "gdb_init_reader";
/* Try to load FILE_NAME as a JIT debug info reader. */

View File

@ -421,7 +421,7 @@ static bool compare_msymbols (const bound_minimal_symbol &a,
/* Permitted quote characters for the parser. This is different from the
completer's quote characters to allow backward compatibility with the
previous parser. */
static const char *const linespec_quote_characters = "\"\'";
static const char linespec_quote_characters[] = "\"\'";
/* Lexer functions. */

View File

@ -123,7 +123,7 @@ static struct stoken make_stoken (const char *);
since it is very long and this gives us a way to comment the
sections. */
static const char *number_regex_text =
static const char number_regex_text[] =
/* subexpression 1: allows use of alternation, otherwise uninteresting */
"^("
/* First comes floating point. */

View File

@ -23,7 +23,7 @@
/* A regular expression that is used for matching ANSI terminal escape
sequences. */
static const char *ansi_regex_text =
static const char ansi_regex_text[] =
/* Introduction. */
"^\033\\["
#define DATA_SUBEXP 1

View File

@ -28,7 +28,7 @@ namespace memory_map_tests {
/* A simple valid test input for parse_memory_map. */
static const char *valid_mem_map = R"(<?xml version="1.0"?>
static const char valid_mem_map[] = R"(<?xml version="1.0"?>
<!DOCTYPE memory-map
PUBLIC "+//IDN gnu.org//DTD GDB Memory Map V1.0//EN"
"http://sourceware.org/gdb/gdb-memory-map.dtd">

View File

@ -1,3 +1,8 @@
2020-09-15 Tom Tromey <tromey@adacore.com>
* linux-x86-low.cc (xmltarget_i386_linux_no_xml)
(xmltarget_amd64_linux_no_xml): Now arrays.
2020-09-14 Tom Tromey <tromey@adacore.com>
* tracepoint.cc (eval_result_names): Now const.

View File

@ -58,13 +58,13 @@ static unsigned char small_jump_insn[] = { 0x66, 0xe9, 0, 0 };
/* Backward compatibility for gdb without XML support. */
static const char *xmltarget_i386_linux_no_xml = "@<target>\
static const char xmltarget_i386_linux_no_xml[] = "@<target>\
<architecture>i386</architecture>\
<osabi>GNU/Linux</osabi>\
</target>";
#ifdef __x86_64__
static const char *xmltarget_amd64_linux_no_xml = "@<target>\
static const char xmltarget_amd64_linux_no_xml[] = "@<target>\
<architecture>i386:x86-64</architecture>\
<osabi>GNU/Linux</osabi>\
</target>";