aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-04-05 19:21:33 +0100
committerPedro Alves <palves@redhat.com>2017-04-05 19:21:33 +0100
commitf995bbe8e62fdb5607acb1ee127240cfe50d2b8f (patch)
treea4655a0335b4f97405a4cd3316e954cda2fdd421
parent0ad9d8c73486e60c5a4963c1b7a0ea7063d69cd2 (diff)
downloadgdb-f995bbe8e62fdb5607acb1ee127240cfe50d2b8f.zip
gdb-f995bbe8e62fdb5607acb1ee127240cfe50d2b8f.tar.gz
gdb-f995bbe8e62fdb5607acb1ee127240cfe50d2b8f.tar.bz2
-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.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/arm-tdep.c2
-rw-r--r--gdb/disasm.c2
-rw-r--r--gdb/i386-tdep.c4
-rw-r--r--include/ChangeLog6
-rw-r--r--include/dis-asm.h8
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/arc-dis.c4
-rw-r--r--opcodes/arm-dis.c4
-rw-r--r--opcodes/ppc-dis.c2
-rw-r--r--opcodes/vax-dis.c2
11 files changed, 32 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4141beb..1d0270c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
PR gdb/21352
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index b3c3705..ade770e 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -8562,7 +8562,7 @@ show_disassembly_style_sfunc (struct ui_file *file, int from_tty,
char *options = get_disassembler_options (gdbarch);
const char *style = "";
int len = 0;
- char *opt;
+ const char *opt;
FOR_EACH_DISASSEMBLER_OPTION (opt, options)
if (CONST_STRNEQ (opt, "reg-names-"))
diff --git a/gdb/disasm.c b/gdb/disasm.c
index ab080e2..734db2b 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -930,7 +930,7 @@ set_disassembler_options (char *prospective_options)
char **disassembler_options = gdbarch_disassembler_options (gdbarch);
const disasm_options_t *valid_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',
to reset their disassembler options to NULL. */
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index ec8b5d3..70bd47c 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -4009,9 +4009,7 @@ i386_print_insn (bfd_vma pc, struct disassemble_info *info)
gdb_assert (disassembly_flavor == att_flavor
|| disassembly_flavor == intel_flavor);
- /* FIXME: kettenis/20020915: Until disassembler_options is properly
- constified, cast to prevent a compiler warning. */
- info->disassembler_options = (char *) disassembly_flavor;
+ info->disassembler_options = disassembly_flavor;
return print_insn_i386 (pc, info);
}
diff --git a/include/ChangeLog b/include/ChangeLog
index fa0f3de..956e252 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -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>
* elf/common.h (PT_GNU_MBIND_NUM): New.
diff --git a/include/dis-asm.h b/include/dis-asm.h
index f054450..2ed3d7e 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -210,7 +210,7 @@ typedef struct disassemble_info
bfd_vma target2; /* Second target address for dref2 */
/* 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
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 *);
/* A helper function for FOR_EACH_DISASSEMBLER_OPTION. */
-static inline char *
-next_disassembler_option (char *options)
+static inline const char *
+next_disassembler_option (const char *options)
{
- char *opt = strchr (options, ',');
+ const char *opt = strchr (options, ',');
if (opt != NULL)
opt++;
return opt;
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index ce6ee40..2889f53 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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>
* riscv-dis.c (riscv_disassemble_insn): Change "_gp" to
diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c
index 3afd253..4beca68 100644
--- a/opcodes/arc-dis.c
+++ b/opcodes/arc-dis.c
@@ -733,7 +733,7 @@ operand_iterator_next (struct arc_operand_iterator *iter,
/* Helper for parsing the options. */
static void
-parse_option (char *option)
+parse_option (const char *option)
{
if (CONST_STRNEQ (option, "dsp"))
add_to_decodelist (DSP, NONE);
@@ -772,7 +772,7 @@ parse_option (char *option)
/* Go over the options list and parse it. */
static void
-parse_disassembler_options (char *options)
+parse_disassembler_options (const char *options)
{
if (options == NULL)
return;
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index e4f99b8..a3e53db 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -6101,9 +6101,9 @@ arm_symbol_is_valid (asymbol * sym,
/* Parse the string of disassembler options. */
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)
{
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index ee8016a..188e90a 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -344,7 +344,7 @@ powerpc_init_dialect (struct disassemble_info *info)
break;
}
- char *opt;
+ const char *opt;
FOR_EACH_DISASSEMBLER_OPTION (opt, info->disassembler_options)
{
ppc_cpu_t new_cpu = 0;
diff --git a/opcodes/vax-dis.c b/opcodes/vax-dis.c
index ff240e4..4642702 100644
--- a/opcodes/vax-dis.c
+++ b/opcodes/vax-dis.c
@@ -117,7 +117,7 @@ static bfd_vma * entry_addr = NULL;
there's no symbol table. Returns TRUE upon success, FALSE otherwise. */
static bfd_boolean
-parse_disassembler_options (char * options)
+parse_disassembler_options (const char *options)
{
const char * entry_switch = "entry:";