This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Un-constify tc_regname_to_dw2regnum argument


Hello All,

this patch removes the const specifier from the *_regname_to_dw2regnum
functions. The pointer passed in points to variable data (the input
line) anyway, and for some architectures it is simpler to alter the
string for parsing by temporarily placing a \0 terminator in it. The
alternative would involve copying parts of the string.

ARM currently alters the string and simply casts the pointer back to
non-const. MIPS currently doesn't use the function, I'm preparing a
followup patch which will also alter the input string.


Thiemo


2006-05-18  Thiemo Seufer  <ths@mips.com>

	* config/tc-arm.c, config/tc-arm.h (tc_arm_regname_to_dw2regnum):
	Un-constify string argument.
	* config/tc-i386.c, config/tc-i386.h (tc_x86_regname_to_dw2regnum):
	Likewise.
	* config/tc-m68k.c, config/tc-m68k.h (tc_m68k_regname_to_dw2regnum):
	Likewise.
	* config/tc-ppc.c, config/tc-ppc.h (tc_ppc_regname_to_dw2regnum):
	Likewise.
	* config/tc-s390.c, config/tc-s390.h (tc_s390_regname_to_dw2regnum):
	Likewise.
	* config/tc-sh.c, config/tc-sh.h (sh_regname_to_dw2regnum):
	Likewise.
	* config/tc-sparc.c, config/tc-sparc.h (sparc_regname_to_dw2regnum):
	Likewise.


Index: gas/config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.271
diff -u -p -r1.271 tc-arm.c
--- gas/config/tc-arm.c	15 May 2006 19:57:35 -0000	1.271
+++ gas/config/tc-arm.c	18 May 2006 11:24:17 -0000
@@ -15601,9 +15601,9 @@ create_unwind_entry (int have_data)
 /* Convert REGNAME to a DWARF-2 register number.  */
 
 int
-tc_arm_regname_to_dw2regnum (const char *regname)
+tc_arm_regname_to_dw2regnum (char *regname)
 {
-  int reg = arm_reg_parse ((char **) &regname, REG_TYPE_RN);
+  int reg = arm_reg_parse (&regname, REG_TYPE_RN);
 
   if (reg == FAIL)
     return -1;
Index: gas/config/tc-arm.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.h,v
retrieving revision 1.37
diff -u -p -r1.37 tc-arm.h
--- gas/config/tc-arm.h	2 May 2006 13:09:17 -0000	1.37
+++ gas/config/tc-arm.h	18 May 2006 11:24:17 -0000
@@ -244,5 +244,5 @@ extern void arm_init_frag (struct frag *
 extern void arm_handle_align (struct frag *);
 extern bfd_boolean arm_fix_adjustable (struct fix *);
 extern int arm_elf_section_type (const char *, size_t);
-extern int tc_arm_regname_to_dw2regnum (const char *regname);
+extern int tc_arm_regname_to_dw2regnum (char *regname);
 extern void tc_arm_frame_initial_instructions (void);
Index: gas/config/tc-i386.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-i386.c,v
retrieving revision 1.214
diff -u -p -r1.214 tc-i386.c
--- gas/config/tc-i386.c	2 May 2006 14:24:03 -0000	1.214
+++ gas/config/tc-i386.c	18 May 2006 11:24:17 -0000
@@ -7173,7 +7173,7 @@ intel_putback_token ()
 }
 
 int
-tc_x86_regname_to_dw2regnum (const char *regname)
+tc_x86_regname_to_dw2regnum (char *regname)
 {
   unsigned int regnum;
   unsigned int regnames_count;
Index: gas/config/tc-i386.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-i386.h,v
retrieving revision 1.66
diff -u -p -r1.66 tc-i386.h
--- gas/config/tc-i386.h	27 Feb 2006 15:35:37 -0000	1.66
+++ gas/config/tc-i386.h	18 May 2006 11:24:17 -0000
@@ -488,7 +488,7 @@ extern int x86_cie_data_alignment;
 #define DWARF2_CIE_DATA_ALIGNMENT x86_cie_data_alignment
 
 #define tc_regname_to_dw2regnum tc_x86_regname_to_dw2regnum
-extern int tc_x86_regname_to_dw2regnum PARAMS ((const char *regname));
+extern int tc_x86_regname_to_dw2regnum PARAMS ((char *regname));
 
 #define tc_cfi_frame_initial_instructions tc_x86_frame_initial_instructions
 extern void tc_x86_frame_initial_instructions PARAMS ((void));
Index: gas/config/tc-m68k.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-m68k.c,v
retrieving revision 1.75
diff -u -p -r1.75 tc-m68k.c
--- gas/config/tc-m68k.c	28 Mar 2006 07:21:49 -0000	1.75
+++ gas/config/tc-m68k.c	18 May 2006 11:24:18 -0000
@@ -7562,7 +7562,7 @@ m68k_elf_final_processing (void)
 #endif
 
 int
-tc_m68k_regname_to_dw2regnum (const char *regname)
+tc_m68k_regname_to_dw2regnum (char *regname)
 {
   unsigned int regnum;
   static const char *const regnames[] =
Index: gas/config/tc-m68k.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-m68k.h,v
retrieving revision 1.23
diff -u -p -r1.23 tc-m68k.h
--- gas/config/tc-m68k.h	7 Feb 2006 19:01:09 -0000	1.23
+++ gas/config/tc-m68k.h	18 May 2006 11:24:18 -0000
@@ -174,7 +174,7 @@ extern struct relax_type md_relax_table[
 #define DWARF2_CIE_DATA_ALIGNMENT (-4)
 
 #define tc_regname_to_dw2regnum tc_m68k_regname_to_dw2regnum
-extern int tc_m68k_regname_to_dw2regnum (const char *regname);
+extern int tc_m68k_regname_to_dw2regnum (char *regname);
 
 #define tc_cfi_frame_initial_instructions tc_m68k_frame_initial_instructions
 extern void tc_m68k_frame_initial_instructions (void);
Index: gas/config/tc-ppc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.c,v
retrieving revision 1.109
diff -u -p -r1.109 tc-ppc.c
--- gas/config/tc-ppc.c	17 Nov 2005 13:32:27 -0000	1.109
+++ gas/config/tc-ppc.c	18 May 2006 11:24:19 -0000
@@ -6078,7 +6078,7 @@ ppc_cfi_frame_initial_instructions ()
 }
 
 int
-tc_ppc_regname_to_dw2regnum (const char *regname)
+tc_ppc_regname_to_dw2regnum (char *regname)
 {
   unsigned int regnum = -1;
   unsigned int i;
Index: gas/config/tc-ppc.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.h,v
retrieving revision 1.31
diff -u -p -r1.31 tc-ppc.h
--- gas/config/tc-ppc.h	11 Oct 2005 11:16:16 -0000	1.31
+++ gas/config/tc-ppc.h	18 May 2006 11:24:19 -0000
@@ -259,7 +259,7 @@ extern int ppc_parse_name PARAMS ((const
 extern void ppc_cfi_frame_initial_instructions PARAMS ((void));
 
 #define tc_regname_to_dw2regnum tc_ppc_regname_to_dw2regnum
-extern int tc_ppc_regname_to_dw2regnum PARAMS ((const char *regname));
+extern int tc_ppc_regname_to_dw2regnum PARAMS ((char *regname));
 
 extern int ppc_cie_data_alignment;
 
Index: gas/config/tc-s390.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-s390.c,v
retrieving revision 1.47
diff -u -p -r1.47 tc-s390.c
--- gas/config/tc-s390.c	12 Aug 2005 18:00:56 -0000	1.47
+++ gas/config/tc-s390.c	18 May 2006 11:24:19 -0000
@@ -2322,7 +2322,7 @@ s390_cfi_frame_initial_instructions ()
 }
 
 int
-tc_s390_regname_to_dw2regnum (const char *regname)
+tc_s390_regname_to_dw2regnum (char *regname)
 {
   int regnum = -1;
 
Index: gas/config/tc-s390.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-s390.h,v
retrieving revision 1.17
diff -u -p -r1.17 tc-s390.h
--- gas/config/tc-s390.h	11 Aug 2005 01:25:28 -0000	1.17
+++ gas/config/tc-s390.h	18 May 2006 11:24:19 -0000
@@ -88,7 +88,7 @@ extern void s390_md_end PARAMS ((void));
 extern void s390_cfi_frame_initial_instructions PARAMS ((void));
 
 #define tc_regname_to_dw2regnum tc_s390_regname_to_dw2regnum
-extern int tc_s390_regname_to_dw2regnum PARAMS ((const char *regname));
+extern int tc_s390_regname_to_dw2regnum PARAMS ((char *regname));
 
 extern int s390_cie_data_alignment;
 
Index: gas/config/tc-sh.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-sh.c,v
retrieving revision 1.115
diff -u -p -r1.115 tc-sh.c
--- gas/config/tc-sh.c	23 Apr 2006 22:12:43 -0000	1.115
+++ gas/config/tc-sh.c	18 May 2006 11:24:19 -0000
@@ -4382,7 +4382,7 @@ sh_cfi_frame_initial_instructions (void)
 }
 
 int
-sh_regname_to_dw2regnum (const char *regname)
+sh_regname_to_dw2regnum (char *regname)
 {
   unsigned int regnum = -1;
   unsigned int i;
Index: gas/config/tc-sh.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-sh.h,v
retrieving revision 1.41
diff -u -p -r1.41 tc-sh.h
--- gas/config/tc-sh.h	11 Oct 2005 11:16:16 -0000	1.41
+++ gas/config/tc-sh.h	18 May 2006 11:24:19 -0000
@@ -225,7 +225,7 @@ void sh_cons_fix_new (fragS *, int, int,
 extern void sh_cfi_frame_initial_instructions (void);
 
 #define tc_regname_to_dw2regnum sh_regname_to_dw2regnum
-extern int sh_regname_to_dw2regnum (const char *regname);
+extern int sh_regname_to_dw2regnum (char *regname);
 
 /* All SH instructions are multiples of 16 bits.  */
 #define DWARF2_LINE_MIN_INSN_LENGTH 2
Index: gas/config/tc-sparc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-sparc.c,v
retrieving revision 1.61
diff -u -p -r1.61 tc-sparc.c
--- gas/config/tc-sparc.c	5 Apr 2006 12:41:57 -0000	1.61
+++ gas/config/tc-sparc.c	18 May 2006 11:24:19 -0000
@@ -4602,7 +4602,7 @@ sparc_cfi_frame_initial_instructions ()
 }
 
 int
-sparc_regname_to_dw2regnum (const char *regname)
+sparc_regname_to_dw2regnum (char *regname)
 {
   char *p, *q;
 
Index: gas/config/tc-sparc.h
===================================================================
RCS file: /cvs/src/src/gas/config/tc-sparc.h,v
retrieving revision 1.24
diff -u -p -r1.24 tc-sparc.h
--- gas/config/tc-sparc.h	8 Jul 2005 05:57:21 -0000	1.24
+++ gas/config/tc-sparc.h	18 May 2006 11:24:19 -0000
@@ -171,7 +171,7 @@ extern void cons_fix_new_sparc
 extern void sparc_cfi_frame_initial_instructions PARAMS ((void));
 
 #define tc_regname_to_dw2regnum sparc_regname_to_dw2regnum
-extern int sparc_regname_to_dw2regnum PARAMS ((const char *regname));
+extern int sparc_regname_to_dw2regnum PARAMS ((char *regname));
 
 #define tc_cfi_emit_pcrel_expr sparc_cfi_emit_pcrel_expr
 extern void sparc_cfi_emit_pcrel_expr PARAMS ((expressionS *, unsigned int));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]