-Wwrite-strings: Constify struct disassemble_info's disassembler_options field

The memory disassemble_info::disassembler_options points to is always
owned by the client.  I.e., that field is an non-owning, observing
pointer.  Thus const makes sense.

Are the include/ and opcodes/ bits OK?

Tested on x86_64 Fedora 23, built with --enable-targets=all.

include/ChangeLog:
2017-04-05  Pedro Alves  <palves@redhat.com>

	* dis-asm.h (disassemble_info) <disassembler_options>: Now a
	"const char *".
	(next_disassembler_option): Constify.

opcodes/ChangeLog:
2017-04-05  Pedro Alves  <palves@redhat.com>

	* arc-dis.c (parse_option, parse_disassembler_options): Constify.
	* arm-dis.c (parse_arm_disassembler_options): Constify.
	* ppc-dis.c (powerpc_init_dialect): Constify local.
	* vax-dis.c (parse_disassembler_options): Constify.

gdb/ChangeLog:
2017-04-05  Pedro Alves  <palves@redhat.com>

	* arm-tdep.c (show_disassembly_style_sfunc): Constify local.
	* disasm.c (set_disassembler_options): Constify local.
	* i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
This commit is contained in:
Pedro Alves 2017-04-05 19:21:33 +01:00
parent 0ad9d8c734
commit f995bbe8e6
11 changed files with 32 additions and 15 deletions

View File

@ -1,3 +1,9 @@
2017-04-05 Pedro Alves <palves@redhat.com>
* arm-tdep.c (show_disassembly_style_sfunc): Constify local.
* disasm.c (set_disassembler_options): Constify local.
* i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
2017-04-05 Sergio Durigan Junior <sergiodj@redhat.com> 2017-04-05 Sergio Durigan Junior <sergiodj@redhat.com>
PR gdb/21352 PR gdb/21352

View File

@ -8562,7 +8562,7 @@ show_disassembly_style_sfunc (struct ui_file *file, int from_tty,
char *options = get_disassembler_options (gdbarch); char *options = get_disassembler_options (gdbarch);
const char *style = ""; const char *style = "";
int len = 0; int len = 0;
char *opt; const char *opt;
FOR_EACH_DISASSEMBLER_OPTION (opt, options) FOR_EACH_DISASSEMBLER_OPTION (opt, options)
if (CONST_STRNEQ (opt, "reg-names-")) if (CONST_STRNEQ (opt, "reg-names-"))

View File

@ -930,7 +930,7 @@ set_disassembler_options (char *prospective_options)
char **disassembler_options = gdbarch_disassembler_options (gdbarch); char **disassembler_options = gdbarch_disassembler_options (gdbarch);
const disasm_options_t *valid_options; const disasm_options_t *valid_options;
char *options = remove_whitespace_and_extra_commas (prospective_options); char *options = remove_whitespace_and_extra_commas (prospective_options);
char *opt; const char *opt;
/* Allow all architectures, even ones that do not support 'set disassembler', /* Allow all architectures, even ones that do not support 'set disassembler',
to reset their disassembler options to NULL. */ to reset their disassembler options to NULL. */

View File

@ -4009,9 +4009,7 @@ i386_print_insn (bfd_vma pc, struct disassemble_info *info)
gdb_assert (disassembly_flavor == att_flavor gdb_assert (disassembly_flavor == att_flavor
|| disassembly_flavor == intel_flavor); || disassembly_flavor == intel_flavor);
/* FIXME: kettenis/20020915: Until disassembler_options is properly info->disassembler_options = disassembly_flavor;
constified, cast to prevent a compiler warning. */
info->disassembler_options = (char *) disassembly_flavor;
return print_insn_i386 (pc, info); return print_insn_i386 (pc, info);
} }

View File

@ -1,3 +1,9 @@
2017-04-05 Pedro Alves <palves@redhat.com>
* dis-asm.h (disassemble_info) <disassembler_options>: Now a
"const char *".
(next_disassembler_option): Constify.
2017-04-04 H.J. Lu <hongjiu.lu@intel.com> 2017-04-04 H.J. Lu <hongjiu.lu@intel.com>
* elf/common.h (PT_GNU_MBIND_NUM): New. * elf/common.h (PT_GNU_MBIND_NUM): New.

View File

@ -210,7 +210,7 @@ typedef struct disassemble_info
bfd_vma target2; /* Second target address for dref2 */ bfd_vma target2; /* Second target address for dref2 */
/* Command line options specific to the target disassembler. */ /* Command line options specific to the target disassembler. */
char * disassembler_options; const char *disassembler_options;
/* If non-zero then try not disassemble beyond this address, even if /* If non-zero then try not disassemble beyond this address, even if
there are values left in the buffer. This address is the address there are values left in the buffer. This address is the address
@ -369,10 +369,10 @@ extern char *remove_whitespace_and_extra_commas (char *);
extern int disassembler_options_cmp (const char *, const char *); extern int disassembler_options_cmp (const char *, const char *);
/* A helper function for FOR_EACH_DISASSEMBLER_OPTION. */ /* A helper function for FOR_EACH_DISASSEMBLER_OPTION. */
static inline char * static inline const char *
next_disassembler_option (char *options) next_disassembler_option (const char *options)
{ {
char *opt = strchr (options, ','); const char *opt = strchr (options, ',');
if (opt != NULL) if (opt != NULL)
opt++; opt++;
return opt; return opt;

View File

@ -1,3 +1,10 @@
2017-04-05 Pedro Alves <palves@redhat.com>
* arc-dis.c (parse_option, parse_disassembler_options): Constify.
* arm-dis.c (parse_arm_disassembler_options): Constify.
* ppc-dis.c (powerpc_init_dialect): Constify local.
* vax-dis.c (parse_disassembler_options): Constify.
2017-04-03 Palmer Dabbelt <palmer@dabbelt.com> 2017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
* riscv-dis.c (riscv_disassemble_insn): Change "_gp" to * riscv-dis.c (riscv_disassemble_insn): Change "_gp" to

View File

@ -733,7 +733,7 @@ operand_iterator_next (struct arc_operand_iterator *iter,
/* Helper for parsing the options. */ /* Helper for parsing the options. */
static void static void
parse_option (char *option) parse_option (const char *option)
{ {
if (CONST_STRNEQ (option, "dsp")) if (CONST_STRNEQ (option, "dsp"))
add_to_decodelist (DSP, NONE); add_to_decodelist (DSP, NONE);
@ -772,7 +772,7 @@ parse_option (char *option)
/* Go over the options list and parse it. */ /* Go over the options list and parse it. */
static void static void
parse_disassembler_options (char *options) parse_disassembler_options (const char *options)
{ {
if (options == NULL) if (options == NULL)
return; return;

View File

@ -6101,9 +6101,9 @@ arm_symbol_is_valid (asymbol * sym,
/* Parse the string of disassembler options. */ /* Parse the string of disassembler options. */
static void static void
parse_arm_disassembler_options (char *options) parse_arm_disassembler_options (const char *options)
{ {
char *opt; const char *opt;
FOR_EACH_DISASSEMBLER_OPTION (opt, options) FOR_EACH_DISASSEMBLER_OPTION (opt, options)
{ {

View File

@ -344,7 +344,7 @@ powerpc_init_dialect (struct disassemble_info *info)
break; break;
} }
char *opt; const char *opt;
FOR_EACH_DISASSEMBLER_OPTION (opt, info->disassembler_options) FOR_EACH_DISASSEMBLER_OPTION (opt, info->disassembler_options)
{ {
ppc_cpu_t new_cpu = 0; ppc_cpu_t new_cpu = 0;

View File

@ -117,7 +117,7 @@ static bfd_vma * entry_addr = NULL;
there's no symbol table. Returns TRUE upon success, FALSE otherwise. */ there's no symbol table. Returns TRUE upon success, FALSE otherwise. */
static bfd_boolean static bfd_boolean
parse_disassembler_options (char * options) parse_disassembler_options (const char *options)
{ {
const char * entry_switch = "entry:"; const char * entry_switch = "entry:";