From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29971 invoked by alias); 18 May 2006 14:46:47 -0000 Received: (qmail 29951 invoked by uid 22791); 18 May 2006 14:46:44 -0000 X-Spam-Check-By: sourceware.org Received: from bender.bawue.de (HELO bender.bawue.de) (193.7.176.20) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 18 May 2006 14:46:39 +0000 Received: from lagash (unknown [194.74.144.146]) by bender.bawue.de (Postfix) with ESMTP id 3800744494 for ; Thu, 18 May 2006 16:46:36 +0200 (MEST) Received: from ths by lagash with local (Exim 4.62) (envelope-from ) id 1FgjlK-0008QG-1s for binutils@sourceware.org; Thu, 18 May 2006 15:46:02 +0100 Date: Fri, 19 May 2006 00:11:00 -0000 To: binutils@sourceware.org Subject: [PATCH] Un-constify tc_regname_to_dw2regnum argument Message-ID: <20060518144601.GA32035@networkno.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.11+cvs20060403 From: Thiemo Seufer X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-05/txt/msg00315.txt.bz2 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 * 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 **) ®name, REG_TYPE_RN); + int reg = arm_reg_parse (®name, 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));