From: Tom Tromey Date: Tue, 15 Sep 2020 14:38:22 +0000 (-0600) Subject: Use arrays rather than pointers for global string constants X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=db92ac4568f1d4cc1a3409098d033afbe8b555f5;p=binutils-gdb.git 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 * 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 * linux-x86-low.cc (xmltarget_i386_linux_no_xml) (xmltarget_amd64_linux_no_xml): Now arrays. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7ed944aa976..fe19f19d47b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-09-15 Tom Tromey + + * 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 * debuginfod-support.c (debuginfod_client_deleter): New. diff --git a/gdb/jit.c b/gdb/jit.c index 024c66e7add..5634c9e2b5d 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -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. */ diff --git a/gdb/linespec.c b/gdb/linespec.c index 9c80864c34e..686992ea8ae 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -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. */ diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y index 4e7878f67e1..db888098c4a 100644 --- a/gdb/rust-exp.y +++ b/gdb/rust-exp.y @@ -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. */ diff --git a/gdb/ui-style.c b/gdb/ui-style.c index 2d6640bc700..4ed08dadc32 100644 --- a/gdb/ui-style.c +++ b/gdb/ui-style.c @@ -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 diff --git a/gdb/unittests/memory-map-selftests.c b/gdb/unittests/memory-map-selftests.c index 42b5db6974a..0be5cb573e5 100644 --- a/gdb/unittests/memory-map-selftests.c +++ b/gdb/unittests/memory-map-selftests.c @@ -28,7 +28,7 @@ namespace memory_map_tests { /* A simple valid test input for parse_memory_map. */ -static const char *valid_mem_map = R"( +static const char valid_mem_map[] = R"( diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index 3b08ef393bc..576c96e93b8 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2020-09-15 Tom Tromey + + * linux-x86-low.cc (xmltarget_i386_linux_no_xml) + (xmltarget_amd64_linux_no_xml): Now arrays. + 2020-09-14 Tom Tromey * tracepoint.cc (eval_result_names): Now const. diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 37d3626e1f7..eeaced8c8d5 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -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 = "@\ +static const char xmltarget_i386_linux_no_xml[] = "@\ i386\ GNU/Linux\ "; #ifdef __x86_64__ -static const char *xmltarget_amd64_linux_no_xml = "@\ +static const char xmltarget_amd64_linux_no_xml[] = "@\ i386:x86-64\ GNU/Linux\ ";