| Index: opcodes/s390-mkopc.c
|
| diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c
|
| index b3f13ab5368590a559b705a4814bf8e951122d1b..872cf8cd730e60455a159fbffbd6a96692c51ca1 100644
|
| --- a/opcodes/s390-mkopc.c
|
| +++ b/opcodes/s390-mkopc.c
|
| @@ -1,5 +1,5 @@
|
| /* s390-mkopc.c -- Generates opcode table out of s390-opc.txt
|
| - Copyright 2000, 2001, 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
|
| + Copyright 2000-2013 Free Software Foundation, Inc.
|
| Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
|
|
| This file is part of the GNU opcodes library.
|
| @@ -39,7 +39,8 @@ enum s390_opcode_cpu_val
|
| S390_OPCODE_Z9_109,
|
| S390_OPCODE_Z9_EC,
|
| S390_OPCODE_Z10,
|
| - S390_OPCODE_Z196
|
| + S390_OPCODE_Z196,
|
| + S390_OPCODE_ZEC12
|
| };
|
|
|
| struct op_struct
|
| @@ -49,7 +50,7 @@ struct op_struct
|
| char format[16];
|
| int mode_bits;
|
| int min_cpu;
|
| -
|
| +
|
| unsigned long long sort_value;
|
| int no_nibbles;
|
| };
|
| @@ -275,7 +276,7 @@ insertExpandedMnemonic (char *opcode, char *mnemonic, char *format,
|
| fprintf (stderr, "Malformed mnemonic: %s\n", mnemonic);
|
| }
|
|
|
| -static char file_header[] =
|
| +static const char file_header[] =
|
| "/* The opcode table. This file was generated by s390-mkopc.\n\n"
|
| " The format of the opcode table is:\n\n"
|
| " NAME OPCODE MASK OPERANDS\n\n"
|
| @@ -297,7 +298,7 @@ dumpTable (void)
|
| int ix;
|
|
|
| /* Write hash table entries (slots). */
|
| - printf (file_header);
|
| + printf ("%s", file_header);
|
|
|
| for (ix = 0; ix < no_ops; ix++)
|
| {
|
| @@ -305,7 +306,7 @@ dumpTable (void)
|
| for (str = op_array[ix].opcode; *str != 0; str++)
|
| if (*str == '?')
|
| *str = '0';
|
| - printf ("OP%i(0x%sLL), ",
|
| + printf ("OP%i(0x%sLL), ",
|
| op_array[ix].no_nibbles*4, op_array[ix].opcode);
|
| printf ("MASK_%s, INSTR_%s, ",
|
| op_array[ix].format, op_array[ix].format);
|
| @@ -325,7 +326,7 @@ int
|
| main (void)
|
| {
|
| char currentLine[256];
|
| -
|
| +
|
| createTable ();
|
|
|
| /* Read opcode descriptions from `stdin'. For each mnemonic,
|
| @@ -342,7 +343,7 @@ main (void)
|
| int mode_bits;
|
| char *str;
|
|
|
| - if (currentLine[0] == '#')
|
| + if (currentLine[0] == '#' || currentLine[0] == '\n')
|
| continue;
|
| memset (opcode, 0, 8);
|
| if (sscanf (currentLine, "%15s %15s %15s \"%79[^\"]\" %15s %15s",
|
| @@ -365,6 +366,8 @@ main (void)
|
| min_cpu = S390_OPCODE_Z10;
|
| else if (strcmp (cpu_string, "z196") == 0)
|
| min_cpu = S390_OPCODE_Z196;
|
| + else if (strcmp (cpu_string, "zEC12") == 0)
|
| + min_cpu = S390_OPCODE_ZEC12;
|
| else {
|
| fprintf (stderr, "Couldn't parse cpu string %s\n", cpu_string);
|
| exit (1);
|
|
|