[binutils-gdb/binutils-2_46-branch] Fix even more -Wdiscarded-qualifers issues

Sam James via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=66bf5c4dd9a88bd6450554d7d72dca1fdd91e029

commit 66bf5c4dd9a88bd6450554d7d72dca1fdd91e029
Author: Keith Seitz <[email protected]>
Date:   Wed Feb 25 06:24:53 2026 -0800

    Fix even more -Wdiscarded-qualifers issues
    
    Fedora Rawhide is failing to build due to new glibc header changes
    enforcing const-correctness in functions like strchr and memchr.
    For example:
    
    ../../opcodes/aarch64-dis.c: In function ‘remove_dot_suffix’:
    ../../opcodes/aarch64-dis.c:4027:7: error: assignment discards ‘const’ qualifier from po
    inter target type [-Werror=discarded-qualifiers]
     4027 |   ptr = strchr (inst->opcode->name, '.');
          |       ^
    cc1: all warnings being treated as errors
    
    This patch addresses all the discovered issues with --enable-targets=all
    and regenerates a few cgen files along the way.
    
    (cherry picked from commit 36974d77e95efb1b640e8005a6bea6a6bed64aa7)

Diff:
---
 cpu/ip2k.opc          | 2 +-
 opcodes/aarch64-dis.c | 2 +-
 opcodes/ia64-opc.c    | 2 +-
 opcodes/ip2k-asm.c    | 2 +-
 opcodes/riscv-dis.c   | 4 ++--
 opcodes/tilegx-opc.c  | 2 +-
 opcodes/tilepro-opc.c | 4 ++--
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/cpu/ip2k.opc b/cpu/ip2k.opc
index 512c3f3aea8..c89f61d8942 100644
--- a/cpu/ip2k.opc
+++ b/cpu/ip2k.opc
@@ -94,7 +94,7 @@ parse_fr (CGEN_CPU_DESC cd,
 {
   const char *errmsg;
   const char *old_strp;
-  char *afteroffset; 
+  const char *afteroffset;
   enum cgen_parse_operand_result result_type;
   bfd_vma value;
   extern CGEN_KEYWORD ip2k_cgen_opval_register_names;
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index 8cc2eb3f3c2..f09307847e6 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -4087,7 +4087,7 @@ print_operands (bfd_vma pc, const aarch64_opcode *opcode,
 static void
 remove_dot_suffix (char *name, const aarch64_inst *inst)
 {
-  char *ptr;
+  const char *ptr;
   size_t len;
 
   ptr = strchr (inst->opcode->name, '.');
diff --git a/opcodes/ia64-opc.c b/opcodes/ia64-opc.c
index 5d79cf3d041..79c12a840a7 100644
--- a/opcodes/ia64-opc.c
+++ b/opcodes/ia64-opc.c
@@ -66,7 +66,7 @@ const struct ia64_templ_desc ia64_templ_desc[16] =
 static void
 get_opc_prefix (const char **ptr, char *dest)
 {
-  char *c = strchr (*ptr, '.');
+  const char *c = strchr (*ptr, '.');
   if (c != NULL)
     {
       memcpy (dest, *ptr, c - *ptr);
diff --git a/opcodes/ip2k-asm.c b/opcodes/ip2k-asm.c
index 18bd98a2846..3adbd1546a3 100644
--- a/opcodes/ip2k-asm.c
+++ b/opcodes/ip2k-asm.c
@@ -59,7 +59,7 @@ parse_fr (CGEN_CPU_DESC cd,
 {
   const char *errmsg;
   const char *old_strp;
-  char *afteroffset;
+  const char *afteroffset;
   enum cgen_parse_operand_result result_type;
   bfd_vma value;
   extern CGEN_KEYWORD ip2k_cgen_opval_register_names;
diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
index 03c8cf1e344..eda802ff420 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -110,7 +110,7 @@ parse_riscv_dis_option_without_args (const char *option,
 /* Parse RISC-V disassembler option (possibly with arguments).  */
 
 static void
-parse_riscv_dis_option (const char *option, struct disassemble_info *info)
+parse_riscv_dis_option (char *option, struct disassemble_info *info)
 {
   char *equal, *value;
 
@@ -1140,7 +1140,7 @@ riscv_update_map_state (int n,
 
       /* ISA mapping string may be numbered, suffixed with '.n'. Do not
 	 consider this as part of the ISA string.  */
-      char *suffix = strchr (name, '.');
+      const char *suffix = strchr (name, '.');
       if (suffix)
 	{
 	  int suffix_index = (int)(suffix - name);
diff --git a/opcodes/tilegx-opc.c b/opcodes/tilegx-opc.c
index db762e22493..a1d42d6e18d 100644
--- a/opcodes/tilegx-opc.c
+++ b/opcodes/tilegx-opc.c
@@ -8003,7 +8003,7 @@ tilegx_spr_compare (const void *a_ptr, const void *b_ptr)
 const char *
 get_tilegx_spr_name (int num)
 {
-  void *result;
+  const void *result;
   struct tilegx_spr key;
 
   key.number = num;
diff --git a/opcodes/tilepro-opc.c b/opcodes/tilepro-opc.c
index 664122b05d5..d3d580fae9d 100644
--- a/opcodes/tilepro-opc.c
+++ b/opcodes/tilepro-opc.c
@@ -10119,7 +10119,7 @@ tilepro_spr_compare (const void *a_ptr, const void *b_ptr)
 const char *
 get_tilepro_spr_name (int num)
 {
-  void *result;
+  const void *result;
   struct tilepro_spr key;
 
   key.number = num;
@@ -10131,7 +10131,7 @@ get_tilepro_spr_name (int num)
     return NULL;
 
   {
-    struct tilepro_spr *result_ptr = (struct tilepro_spr *) result;
+    const struct tilepro_spr *result_ptr = (const struct tilepro_spr *) result;
 
     return result_ptr->name;
   }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.