[binutils-gdb] Regen cris files

Alan Modra amodra@sourceware.org
Tue May 25 10:12:28 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bc30a119f3e32321a3116ab4b0d415a3c332e9a3

commit bc30a119f3e32321a3116ab4b0d415a3c332e9a3
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 25 17:15:46 2021 +0930

    Regen cris files
    
            * cris-desc.c: Regenerate.
            * cris-desc.h: Regenerate.
            * cris-opc.h: Regenerate.
            * po/POTFILES.in: Regenerate.

Diff:
---
 opcodes/ChangeLog      |  7 ++++++
 opcodes/cris-desc.c    | 61 +++++++++++++++++++++++++++++---------------------
 opcodes/cris-desc.h    | 13 +++++++++--
 opcodes/cris-opc.h     | 13 +++++++++--
 opcodes/po/POTFILES.in |  3 +++
 5 files changed, 67 insertions(+), 30 deletions(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 263529ebcfb..fcb30c34701 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,10 @@
+2021-05-25  Alan Modra  <amodra@gmail.com>
+
+	* cris-desc.c: Regenerate.
+	* cris-desc.h: Regenerate.
+	* cris-opc.h: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
 2021-05-24  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.am (HFILES): Add cris-desc.h & cris-opc.h.
diff --git a/opcodes/cris-desc.c b/opcodes/cris-desc.c
index 78302e11bbd..af81a9ad4de 100644
--- a/opcodes/cris-desc.c
+++ b/opcodes/cris-desc.c
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2021 Free Software Foundation, Inc.
+Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -17,7 +17,8 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
    License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
+   with this program; if not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
 
 */
 
@@ -2450,6 +2451,11 @@ init_tables (void)
 {
 }
 
+#ifndef opcodes_error_handler
+#define opcodes_error_handler(...) \
+  fprintf (stderr, __VA_ARGS__); fputc ('\n', stderr)
+#endif
+
 static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
 static void build_hw_table      (CGEN_CPU_TABLE *);
 static void build_ifield_table  (CGEN_CPU_TABLE *);
@@ -2468,7 +2474,7 @@ lookup_mach_via_bfd_name (const CGEN_MACH *table, const char *name)
 	return table;
       ++table;
     }
-  abort ();
+  return NULL;
 }
 
 /* Subroutine of cris_cgen_cpu_open to build the hardware table.  */
@@ -2610,8 +2616,11 @@ cris_cgen_rebuild_tables (CGEN_CPU_TABLE *cd)
 	{
 	  if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
 	    {
-	      fprintf (stderr, "cris_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-		       cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
+	      opcodes_error_handler
+		(/* xgettext:c-format */
+		 _("internal error: cris_cgen_rebuild_tables: "
+		   "conflicting insn-chunk-bitsize values: `%d' vs. `%d'"),
+		 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
 	      abort ();
 	    }
 
@@ -2642,6 +2651,7 @@ cris_cgen_rebuild_tables (CGEN_CPU_TABLE *cd)
    CGEN_CPU_OPEN_MACHS:   bitmap of values in enum mach_attr
    CGEN_CPU_OPEN_BFDMACH: specify 1 mach using bfd name
    CGEN_CPU_OPEN_ENDIAN:  specify endian choice
+   CGEN_CPU_OPEN_INSN_ENDIAN: specify instruction endian choice
    CGEN_CPU_OPEN_END:     terminates arguments
 
    ??? Simultaneous multiple isas might not make sense, but it's not (yet)
@@ -2655,6 +2665,7 @@ cris_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
   CGEN_BITSET *isas = 0;  /* 0 = "unspecified" */
   unsigned int machs = 0; /* 0 = "unspecified" */
   enum cgen_endian endian = CGEN_ENDIAN_UNKNOWN;
+  enum cgen_endian insn_endian = CGEN_ENDIAN_UNKNOWN;
   va_list ap;
 
   if (! init_p)
@@ -2682,15 +2693,22 @@ cris_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
 	    const CGEN_MACH *mach =
 	      lookup_mach_via_bfd_name (cris_cgen_mach_table, name);
 
-	    machs |= 1 << mach->num;
+	    if (mach != NULL)
+	      machs |= 1 << mach->num;
 	    break;
 	  }
 	case CGEN_CPU_OPEN_ENDIAN :
 	  endian = va_arg (ap, enum cgen_endian);
 	  break;
+	case CGEN_CPU_OPEN_INSN_ENDIAN :
+	  insn_endian = va_arg (ap, enum cgen_endian);
+	  break;
 	default :
-	  fprintf (stderr, "cris_cgen_cpu_open: unsupported argument `%d'\n",
-		   arg_type);
+	  opcodes_error_handler
+	    (/* xgettext:c-format */
+	     _("internal error: cris_cgen_cpu_open: "
+	       "unsupported argument `%d'"),
+	     arg_type);
 	  abort (); /* ??? return NULL? */
 	}
       arg_type = va_arg (ap, enum cgen_cpu_open_arg);
@@ -2705,18 +2723,17 @@ cris_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
   if (endian == CGEN_ENDIAN_UNKNOWN)
     {
       /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "cris_cgen_cpu_open: no endianness specified\n");
+      opcodes_error_handler
+	(/* xgettext:c-format */
+	 _("internal error: cris_cgen_cpu_open: no endianness specified"));
       abort ();
     }
 
   cd->isas = cgen_bitset_copy (isas);
   cd->machs = machs;
   cd->endian = endian;
-  /* FIXME: for the sparc case we can determine insn-endianness statically.
-     The worry here is where both data and insn endian can be independently
-     chosen, in which case this function will need another argument.
-     Actually, will want to allow for more arguments in the future anyway.  */
-  cd->insn_endian = endian;
+  cd->insn_endian
+    = (insn_endian == CGEN_ENDIAN_UNKNOWN ? endian : insn_endian);
 
   /* Table (re)builder.  */
   cd->rebuild_tables = cris_cgen_rebuild_tables;
@@ -2766,18 +2783,10 @@ cris_cgen_cpu_close (CGEN_CPU_DESC cd)
 	  regfree (CGEN_INSN_RX (insns));
     }  
 
-  if (cd->macro_insn_table.init_entries)
-    free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
-
-  if (cd->insn_table.init_entries)
-    free ((CGEN_INSN *) cd->insn_table.init_entries);
-
-  if (cd->hw_table.entries)
-    free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
-
-  if (cd->operand_table.entries)
-    free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
-
+  free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
+  free ((CGEN_INSN *) cd->insn_table.init_entries);
+  free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
+  free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
   free (cd);
 }
 
diff --git a/opcodes/cris-desc.h b/opcodes/cris-desc.h
index 0a75b24e806..2b608ed6502 100644
--- a/opcodes/cris-desc.h
+++ b/opcodes/cris-desc.h
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2021 Free Software Foundation, Inc.
+Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -17,13 +17,18 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
    License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
+   with this program; if not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
 
 */
 
 #ifndef CRIS_CPU_H
 #define CRIS_CPU_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define CGEN_ARCH cris
 
 /* Given symbol S, return cris_cgen_<S>.  */
@@ -387,4 +392,8 @@ extern const CGEN_HW_ENTRY cris_cgen_hw_table[];
 
 
 
+   #ifdef __cplusplus
+   }
+   #endif
+
 #endif /* CRIS_CPU_H */
diff --git a/opcodes/cris-opc.h b/opcodes/cris-opc.h
index 4e297a672ae..d7ed8dc1aa1 100644
--- a/opcodes/cris-opc.h
+++ b/opcodes/cris-opc.h
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2021 Free Software Foundation, Inc.
+Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
 
@@ -17,13 +17,18 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
    License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
+   with this program; if not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
 
 */
 
 #ifndef CRIS_OPC_H
 #define CRIS_OPC_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Enum declaration for cris instruction types.  */
 typedef enum cgen_insn_type {
   CRIS_INSN_INVALID, CRIS_INSN_NOP, CRIS_INSN_MOVE_B_R, CRIS_INSN_MOVE_W_R
@@ -151,4 +156,8 @@ struct cgen_fields
 }
 
 
+   #ifdef __cplusplus
+   }
+   #endif
+
 #endif /* CRIS_OPC_H */
diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in
index 757220476e5..0659b99b39b 100644
--- a/opcodes/po/POTFILES.in
+++ b/opcodes/po/POTFILES.in
@@ -30,8 +30,11 @@ cgen-dis.c
 cgen-opc.c
 cr16-dis.c
 cr16-opc.c
+cris-desc.c
+cris-desc.h
 cris-dis.c
 cris-opc.c
+cris-opc.h
 crx-dis.c
 crx-opc.c
 csky-dis.c


More information about the Binutils-cvs mailing list