aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/bfd-in2.h12
-rw-r--r--bfd/elf32-wasm32.c107
-rw-r--r--bfd/libbfd.h10
-rw-r--r--bfd/po/bfd.pot57
-rw-r--r--bfd/reloc.c23
-rw-r--r--binutils/ChangeLog29
-rw-r--r--binutils/NEWS2
-rw-r--r--binutils/readelf.c9
-rw-r--r--binutils/testsuite/binutils-all/nm.exp3
-rw-r--r--binutils/testsuite/binutils-all/wasm32/create-wasm.d10
-rw-r--r--binutils/testsuite/binutils-all/wasm32/create-wasm.s6
-rw-r--r--binutils/testsuite/binutils-all/wasm32/custom-section.d11
-rw-r--r--binutils/testsuite/binutils-all/wasm32/custom-section.s4
-rw-r--r--binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.d6
-rw-r--r--binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.s7
-rw-r--r--binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.d6
-rw-r--r--binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.s7
-rw-r--r--binutils/testsuite/binutils-all/wasm32/long-sections.d13
-rw-r--r--binutils/testsuite/binutils-all/wasm32/long-sections.s9
-rw-r--r--binutils/testsuite/binutils-all/wasm32/parse-wasm-2.d15
-rw-r--r--binutils/testsuite/binutils-all/wasm32/parse-wasm-2.s43
-rw-r--r--binutils/testsuite/binutils-all/wasm32/parse-wasm.d8
-rw-r--r--binutils/testsuite/binutils-all/wasm32/parse-wasm.s7
-rw-r--r--binutils/testsuite/binutils-all/wasm32/prepared-section.d10
-rw-r--r--binutils/testsuite/binutils-all/wasm32/prepared-section.s6
-rw-r--r--binutils/testsuite/binutils-all/wasm32/wasm32.exp30
-rw-r--r--binutils/testsuite/lib/binutils-common.exp4
-rw-r--r--gas/ChangeLog70
-rw-r--r--gas/Makefile.am2
-rw-r--r--gas/Makefile.in17
-rw-r--r--gas/NEWS2
-rw-r--r--gas/config/tc-wasm32.c821
-rw-r--r--gas/config/tc-wasm32.h89
-rw-r--r--gas/configure.tgt3
-rw-r--r--gas/doc/all.texi1
-rw-r--r--gas/doc/as.texinfo9
-rw-r--r--gas/doc/c-wasm32.texi119
-rw-r--r--gas/po/POTFILES.in2
-rw-r--r--gas/po/gas.pot3486
-rw-r--r--gas/testsuite/gas/wasm32/allinsn.d198
-rw-r--r--gas/testsuite/gas/wasm32/allinsn.s171
-rw-r--r--gas/testsuite/gas/wasm32/illegal-10.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-10.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-11.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-11.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-12.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-12.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-13.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-13.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-14.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-14.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-15.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-15.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-16.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-16.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-17.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-17.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-18.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-18.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-19.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-19.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-2.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-2.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-20.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-20.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-21.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-21.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-22.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-24.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-24.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-25.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-25.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-3.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-3.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-4.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-4.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-5.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-5.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-6.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-6.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-7.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-7.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-8.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-8.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal-9.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal-9.s1
-rw-r--r--gas/testsuite/gas/wasm32/illegal.l3
-rw-r--r--gas/testsuite/gas/wasm32/illegal.s1
-rw-r--r--gas/testsuite/gas/wasm32/reloc.d18
-rw-r--r--gas/testsuite/gas/wasm32/reloc.s3
-rw-r--r--gas/testsuite/gas/wasm32/wasm32.exp58
-rw-r--r--include/ChangeLog5
-rw-r--r--include/elf/wasm32.h2
-rw-r--r--include/opcode/wasm.h226
-rw-r--r--opcodes/ChangeLog6
-rwxr-xr-xopcodes/configure1
-rw-r--r--opcodes/configure.ac1
-rw-r--r--opcodes/po/opcodes.pot339
99 files changed, 4355 insertions, 1851 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 42ffd4d..bb851c7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2017-03-30 Pip Cet <pipcet@gmail.com>
+
+ * elf32-wasm32.c: Add relocation code, two relocs.
+ * reloc.c: Add wasm32 relocations.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * bfd/po/bfd.pot: Regenerate.
+
2017-03-29 Nick Clifton <nickc@redhat.com>
PR binutils/18025
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index adfcefd..fbd379f 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -6464,6 +6464,18 @@ assembler and not (currently) written to any object files. */
BFD_RELOC_VISIUM_HI16_PCREL,
BFD_RELOC_VISIUM_LO16_PCREL,
BFD_RELOC_VISIUM_IM16_PCREL,
+
+/* WebAssembly relocations. */
+ BFD_RELOC_WASM32_LEB128,
+ BFD_RELOC_WASM32_LEB128_GOT,
+ BFD_RELOC_WASM32_LEB128_GOT_CODE,
+ BFD_RELOC_WASM32_LEB128_PLT,
+ BFD_RELOC_WASM32_PLT_INDEX,
+ BFD_RELOC_WASM32_ABS32_CODE,
+ BFD_RELOC_WASM32_COPY,
+ BFD_RELOC_WASM32_CODE_POINTER,
+ BFD_RELOC_WASM32_INDEX,
+ BFD_RELOC_WASM32_PLT_SIG,
BFD_RELOC_UNUSED };
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
diff --git a/bfd/elf32-wasm32.c b/bfd/elf32-wasm32.c
index 9b38272..6d2e04ec 100644
--- a/bfd/elf32-wasm32.c
+++ b/bfd/elf32-wasm32.c
@@ -23,8 +23,108 @@
#include "libbfd.h"
#include "elf-bfd.h"
#include "bfd_stdint.h"
+#include "libiberty.h"
#include "elf/wasm32.h"
+static reloc_howto_type elf32_wasm32_howto_table[] =
+{
+ HOWTO (R_WASM32_NONE, /* type */
+ 0, /* rightshift */
+ 3, /* size (0 = byte, 1 = short, 2 = long) */
+ 0, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_WASM32_NONE", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* 32 bit absolute */
+ HOWTO (R_WASM32_32, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_WASM32_32", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+};
+
+/* Look up the relocation CODE. */
+
+static reloc_howto_type *
+elf32_wasm32_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+ bfd_reloc_code_real_type code)
+{
+ switch (code)
+ {
+ case BFD_RELOC_NONE:
+ return &elf32_wasm32_howto_table[R_WASM32_NONE];
+ case BFD_RELOC_32:
+ return &elf32_wasm32_howto_table[R_WASM32_32];
+ default:
+ break;
+ }
+
+ return NULL;
+}
+
+/* Look up the relocation R_NAME. */
+
+static reloc_howto_type *
+elf32_wasm32_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+ const char *r_name)
+{
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE (elf32_wasm32_howto_table); i++)
+ if (elf32_wasm32_howto_table[i].name != NULL
+ && strcasecmp (elf32_wasm32_howto_table[i].name, r_name) == 0)
+ return &elf32_wasm32_howto_table[i];
+
+ return NULL;
+}
+
+/* Look up the relocation R_TYPE. */
+
+static reloc_howto_type *
+elf32_wasm32_rtype_to_howto (bfd *abfd, unsigned r_type)
+{
+ unsigned int i = r_type;
+
+ if (i >= ARRAY_SIZE (elf32_wasm32_howto_table))
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%B: invalid relocation type %d"),
+ abfd, (int) r_type);
+ i = R_WASM32_NONE;
+ }
+
+ if (elf32_wasm32_howto_table[i].type != r_type)
+ return NULL;
+
+ return &elf32_wasm32_howto_table[i];
+}
+
+/* Translate the ELF-internal relocation RELA into CACHE_PTR. */
+
+static void
+elf32_wasm32_info_to_howto_rela (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *cache_ptr,
+ Elf_Internal_Rela *dst)
+{
+ unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+ cache_ptr->howto = elf32_wasm32_rtype_to_howto (abfd, r_type);
+}
+
#define ELF_ARCH bfd_arch_wasm32
#define ELF_TARGET_ID EM_WEBASSEMBLY
#define ELF_MACHINE_CODE EM_WEBASSEMBLY
@@ -40,8 +140,11 @@
/* For testing. */
#define elf_backend_want_dynrelro 1
-#define bfd_elf32_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
+#define elf_info_to_howto elf32_wasm32_info_to_howto_rela
+#define elf_info_to_howto_rel NULL
+
+#define bfd_elf32_bfd_reloc_type_lookup elf32_wasm32_reloc_type_lookup
+#define bfd_elf32_bfd_reloc_name_lookup elf32_wasm32_reloc_name_lookup
#define ELF_DYNAMIC_INTERPRETER "/sbin/elf-dynamic-interpreter.so"
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 1b6ca52..8bac650 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -3166,6 +3166,16 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_VISIUM_HI16_PCREL",
"BFD_RELOC_VISIUM_LO16_PCREL",
"BFD_RELOC_VISIUM_IM16_PCREL",
+ "BFD_RELOC_WASM32_LEB128",
+ "BFD_RELOC_WASM32_LEB128_GOT",
+ "BFD_RELOC_WASM32_LEB128_GOT_CODE",
+ "BFD_RELOC_WASM32_LEB128_PLT",
+ "BFD_RELOC_WASM32_PLT_INDEX",
+ "BFD_RELOC_WASM32_ABS32_CODE",
+ "BFD_RELOC_WASM32_COPY",
+ "BFD_RELOC_WASM32_CODE_POINTER",
+ "BFD_RELOC_WASM32_INDEX",
+ "BFD_RELOC_WASM32_PLT_SIG",
"@@overflow: BFD_RELOC_UNUSED@@",
};
#endif
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index 70249f8..2b2bec5 100644
--- a/bfd/po/bfd.pot
+++ b/bfd/po/bfd.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-03-27 11:46+0100\n"
+"POT-Creation-Date: 2017-03-29 17:07+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -206,7 +206,7 @@ msgid "Warning: Writing section `%s' at huge (ie negative) file offset 0x%lx."
msgstr ""
#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2452 elf32-frv.c:5633
-#: elf64-ia64-vms.c:353 elfxx-sparc.c:2876 reloc.c:7981 reloc16.c:156
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2876 reloc.c:8004 reloc16.c:156
#: elf32-ia64.c:351 elf64-ia64.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
@@ -617,16 +617,16 @@ msgstr ""
msgid "<corrupt info> %s"
msgstr ""
-#: coffgen.c:2638 elflink.c:13940 linker.c:2931
+#: coffgen.c:2666 elflink.c:13940 linker.c:2931
msgid "%F%P: already_linked_table: %E\n"
msgstr ""
-#: coffgen.c:2965 elflink.c:12981
+#: coffgen.c:2993 elflink.c:12981
#, c-format
msgid "Removing unused section '%s' in file '%B'"
msgstr ""
-#: coffgen.c:3041 elflink.c:13219
+#: coffgen.c:3069 elflink.c:13219
msgid "Warning: gc-sections option ignored"
msgstr ""
@@ -736,26 +736,26 @@ msgstr ""
msgid "Dwarf Error: Unable to read alt ref %u."
msgstr ""
-#: dwarf2.c:2600 dwarf2.c:2745 dwarf2.c:3063
+#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr ""
-#: dwarf2.c:3015
+#: dwarf2.c:3023
#, c-format
msgid ""
"Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 "
"and 4 information."
msgstr ""
-#: dwarf2.c:3026
+#: dwarf2.c:3034
#, c-format
msgid ""
"Dwarf Error: found address size '%u', this reader can not handle sizes "
"greater than '%u'."
msgstr ""
-#: dwarf2.c:3129
+#: dwarf2.c:3137
msgid ""
"Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
#. Ignore init flag - it may not be set, despite the flags field containing valid data.
#. Ignore init flag - it may not be set, despite the flags field
#. containing valid data.
-#: elf32-arm.c:14101 elf32-bfin.c:4919 elf32-cris.c:4084 elf32-m68hc1x.c:1413
+#: elf32-arm.c:14101 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
#: elf32-m68k.c:1200 elf32-score.c:4009 elf32-score7.c:3818 elf32-vax.c:536
#: elf32-xgate.c:669 elfxx-mips.c:15782
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6695
@@ -2072,14 +2072,14 @@ msgid ""
"-mno-small-tls)"
msgstr ""
-#: elf32-cris.c:3231
+#: elf32-cris.c:3233
#, c-format
msgid ""
"%B, section %A:\n"
" v10/v32 compatible object %s must not contain a PIC relocation"
msgstr ""
-#: elf32-cris.c:3285
+#: elf32-cris.c:3287
#, c-format
msgid ""
"%B, section %A:\n"
@@ -2087,52 +2087,52 @@ msgid ""
"recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:3500
+#: elf32-cris.c:3505
#, c-format
msgid ""
"%B, section %A:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:3924
+#: elf32-cris.c:3929
#, c-format
msgid ""
"%B, section `%A', to symbol `%s':\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:4036
+#: elf32-cris.c:4041
msgid "Unexpected machine number"
msgstr ""
-#: elf32-cris.c:4087
+#: elf32-cris.c:4092
#, c-format
msgid " [symbols have a _ prefix]"
msgstr ""
-#: elf32-cris.c:4090
+#: elf32-cris.c:4095
#, c-format
msgid " [v10 and v32]"
msgstr ""
-#: elf32-cris.c:4093
+#: elf32-cris.c:4098
#, c-format
msgid " [v32]"
msgstr ""
-#: elf32-cris.c:4137
+#: elf32-cris.c:4142
msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr ""
-#: elf32-cris.c:4138
+#: elf32-cris.c:4143
msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr ""
-#: elf32-cris.c:4157
+#: elf32-cris.c:4162
msgid "%B contains CRIS v32 code, incompatible with previous objects"
msgstr ""
-#: elf32-cris.c:4159
+#: elf32-cris.c:4164
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr ""
@@ -2356,7 +2356,8 @@ msgstr ""
#. Unknown relocation.
#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
-#: elf32-tic6x.c:2674 elf64-ppc.c:2515 elf64-s390.c:372 elf64-x86-64.c:289
+#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2515 elf64-s390.c:372
+#: elf64-x86-64.c:289
#, c-format
msgid "%B: invalid relocation type %d"
msgstr ""
@@ -2947,7 +2948,7 @@ msgstr ""
msgid "%B: Unmatched OMIT_FP in %A."
msgstr ""
-#: elf32-nds32.c:13026 reloc.c:8192
+#: elf32-nds32.c:13026 reloc.c:8215
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
msgstr ""
@@ -5841,21 +5842,21 @@ msgstr ""
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
-#: reloc.c:8028
+#: reloc.c:8051
msgid "INPUT_SECTION_FLAGS are not supported.\n"
msgstr ""
-#: reloc.c:8126
+#: reloc.c:8149
#, c-format
msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
msgstr ""
-#: reloc.c:8202
+#: reloc.c:8225
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
msgstr ""
-#: reloc.c:8211
+#: reloc.c:8234
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
msgstr ""
diff --git a/bfd/reloc.c b/bfd/reloc.c
index d4229a4..2791458 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -7853,6 +7853,29 @@ ENUMX
ENUMDOC
Visium Relocations.
+ENUM
+ BFD_RELOC_WASM32_LEB128
+ENUMX
+ BFD_RELOC_WASM32_LEB128_GOT
+ENUMX
+ BFD_RELOC_WASM32_LEB128_GOT_CODE
+ENUMX
+ BFD_RELOC_WASM32_LEB128_PLT
+ENUMX
+ BFD_RELOC_WASM32_PLT_INDEX
+ENUMX
+ BFD_RELOC_WASM32_ABS32_CODE
+ENUMX
+ BFD_RELOC_WASM32_COPY
+ENUMX
+ BFD_RELOC_WASM32_CODE_POINTER
+ENUMX
+ BFD_RELOC_WASM32_INDEX
+ENUMX
+ BFD_RELOC_WASM32_PLT_SIG
+ENUMDOC
+ WebAssembly relocations.
+
ENDSENUM
BFD_RELOC_UNUSED
CODE_FRAGMENT
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 9559587..767e315 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,32 @@
+2017-03-30 Pip Cet <pipcet@gmail.com>
+
+ * readelf.c: Add support for wasm32 ELF format WebAssembly files.
+ (guess_is_rela): Likewise.
+ (dump_relocations): Likewise.
+ (is_32bit_abs_reloc): Likewise.
+ (is_none_reloc_): Likewise.
+ * NEWS: Mention the new support.
+ * testsuite/lib/binutils-common.exp (is_elf_format): Mark wasm32
+ as ELF target.
+ (supports_gnu_unique): Mark wasm32 as supporting STB_GNU_UNIQUE.
+ * testsuite/binutils-all/nm.exp: Mark wasm32 as requiring .size annotations.
+ * testsuite/binutils-all/wasm32: New directory.
+ * testsuite/binutils-all/wasm32/create-wasm.d: New file.
+ * testsuite/binutils-all/wasm32/create-wasm.s: Likewise.
+ * testsuite/binutils-all/wasm32/custom-section.d: Likewise.
+ * testsuite/binutils-all/wasm32/custom-section.s: Likewise.
+ * testsuite/binutils-all/wasm32/invalid-wasm-1.d: Likewise.
+ * testsuite/binutils-all/wasm32/invalid-wasm-1.s: Likewise.
+ * testsuite/binutils-all/wasm32/long-sections.d: Likewise.
+ * testsuite/binutils-all/wasm32/long-sections.s: Likewise.
+ * testsuite/binutils-all/wasm32/parse-wasm.d: Likewise.
+ * testsuite/binutils-all/wasm32/parse-wasm.s: Likewise.
+ * testsuite/binutils-all/wasm32/parse-wasm-2.d: Likewise.
+ * testsuite/binutils-all/wasm32/parse-wasm-2.s: Likewise.
+ * testsuite/binutils-all/wasm32/prepared-section.d: Likewise.
+ * testsuite/binutils-all/wasm32/prepared-section.s: Likewise.
+ * testsuite/binutils-all/wasm32/wasm32.exp: New file, run tests.
+
2017-03-29 Alan Modra <amodra@gmail.com>
* doc/binutils.texi (objdump): Document PowerPC -M options.
diff --git a/binutils/NEWS b/binutils/NEWS
index c98908a..1b824fa 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,5 +1,7 @@
-*- text -*-
+* Add support for the wasm32 ELF conversion of the Web Assembly file format.
+
* Add --inlines option to objdump, which extends the --line-numbers option
so that inlined functions will display their nesting information.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 6ede239..31a519b 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -151,6 +151,7 @@
#include "elf/v850.h"
#include "elf/vax.h"
#include "elf/visium.h"
+#include "elf/wasm32.h"
#include "elf/x86-64.h"
#include "elf/xc16x.h"
#include "elf/xgate.h"
@@ -809,6 +810,7 @@ guess_is_rela (unsigned int e_machine)
case EM_XTENSA_OLD:
case EM_MICROBLAZE:
case EM_MICROBLAZE_OLD:
+ case EM_WEBASSEMBLY:
return TRUE;
case EM_68HC05:
@@ -1498,6 +1500,10 @@ dump_relocations (FILE * file,
rtype = elf_tilepro_reloc_type (type);
break;
+ case EM_WEBASSEMBLY:
+ rtype = elf_wasm32_reloc_type (type);
+ break;
+
case EM_XGATE:
rtype = elf_xgate_reloc_type (type);
break;
@@ -12091,6 +12097,8 @@ is_32bit_abs_reloc (unsigned int reloc_type)
return reloc_type == 1; /* R_VAX_32. */
case EM_VISIUM:
return reloc_type == 3; /* R_VISIUM_32. */
+ case EM_WEBASSEMBLY:
+ return reloc_type == 1; /* R_WASM32_32. */
case EM_X86_64:
case EM_L1OM:
case EM_K1OM:
@@ -12396,6 +12404,7 @@ is_none_reloc (unsigned int reloc_type)
case EM_TI_C6000:/* R_C6000_NONE. */
case EM_X86_64: /* R_X86_64_NONE. */
case EM_XC16X:
+ case EM_WEBASSEMBLY: /* R_WASM32_NONE. */
return reloc_type == 0;
case EM_AARCH64:
diff --git a/binutils/testsuite/binutils-all/nm.exp b/binutils/testsuite/binutils-all/nm.exp
index 13eafa6..fdcf194 100644
--- a/binutils/testsuite/binutils-all/nm.exp
+++ b/binutils/testsuite/binutils-all/nm.exp
@@ -175,7 +175,8 @@ if { [is_elf_format]
|| [istarget *-*-tpf*]
|| [istarget *-*-uclinux*]
|| [istarget ia64-*-*vms*]
- || [istarget *-*-vxworks*] } {
+ || [istarget *-*-vxworks*]
+ || [istarget wasm32-*-*] } {
set nm_1_src "nm-elf-1.s"
} else {
set nm_1_src "nm-1.s"
diff --git a/binutils/testsuite/binutils-all/wasm32/create-wasm.d b/binutils/testsuite/binutils-all/wasm32/create-wasm.d
new file mode 100644
index 0000000..3a1c18a
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/create-wasm.d
@@ -0,0 +1,10 @@
+#PROG: objcopy
+#source: create-wasm.s
+#as:
+#objcopy: -Ielf32-wasm32 -Owasm
+#objdump: -bbinary -s
+
+.*:.*file format binary
+
+Contents of section .data:
+ 0000 0061736d 01000000 01030100 00030100 .asm............
diff --git a/binutils/testsuite/binutils-all/wasm32/create-wasm.s b/binutils/testsuite/binutils-all/wasm32/create-wasm.s
new file mode 100644
index 0000000..5c360cc
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/create-wasm.s
@@ -0,0 +1,6 @@
+ .section .wasm.function
+ .byte 0
+ .section .wasm.type
+ .byte 1
+ .byte 0
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/custom-section.d b/binutils/testsuite/binutils-all/wasm32/custom-section.d
new file mode 100644
index 0000000..3a39e77
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/custom-section.d
@@ -0,0 +1,11 @@
+#PROG: objcopy
+#source: custom-section.s
+#as:
+#objcopy: -Ielf32-wasm32 -Owasm
+#objdump: -bbinary -s
+
+.*:.*file format binary
+
+Contents of section .data:
+ 0000 0061736d 01000000 0008046e 616d6502 .asm.......name.
+ 0010 0100 .. *$
diff --git a/binutils/testsuite/binutils-all/wasm32/custom-section.s b/binutils/testsuite/binutils-all/wasm32/custom-section.s
new file mode 100644
index 0000000..81fa671
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/custom-section.s
@@ -0,0 +1,4 @@
+ .section .wasm.name
+ .byte 2
+ .byte 1
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.d b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.d
new file mode 100644
index 0000000..e916fad
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.d
@@ -0,0 +1,6 @@
+#PROG: objcopy
+#source: invalid-wasm-1.s
+#as:
+#objcopy: -Ielf32-wasm32 -Obinary
+#objdump: -bwasm -sD
+#error: : File format not recognized \ No newline at end of file
diff --git a/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.s b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.s
new file mode 100644
index 0000000..50d6690
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-1.s
@@ -0,0 +1,7 @@
+ .data
+ .byte 0
+ .ascii "ASM"
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.d b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.d
new file mode 100644
index 0000000..da28775
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.d
@@ -0,0 +1,6 @@
+#PROG: objcopy
+#source: invalid-wasm-2.s
+#as:
+#objcopy: -Ielf32-wasm32 -Obinary
+#objdump: -bwasm -sD
+#exit: 1 \ No newline at end of file
diff --git a/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.s b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.s
new file mode 100644
index 0000000..4270e9d
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/invalid-wasm-2.s
@@ -0,0 +1,7 @@
+ .data
+ .byte 0
+ .ascii "asm"
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/long-sections.d b/binutils/testsuite/binutils-all/wasm32/long-sections.d
new file mode 100644
index 0000000..edf9058
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/long-sections.d
@@ -0,0 +1,13 @@
+#PROG: objcopy
+#source: long-sections.s
+#as:
+#objcopy: -Ielf32-wasm32 -Owasm
+#objdump: -bbinary -s
+
+.*:.*file format binary
+
+Contents of section .data:
+ 00000 0061736d 01000000 01800200 00000000 .asm............
+#...
+ 00100 00000000 00000000 0000000a 80800400 ................
+#pass
diff --git a/binutils/testsuite/binutils-all/wasm32/long-sections.s b/binutils/testsuite/binutils-all/wasm32/long-sections.s
new file mode 100644
index 0000000..a8642d2
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/long-sections.s
@@ -0,0 +1,9 @@
+ .section .wasm.type
+ .rept 256
+ .byte 0
+ .endr
+
+ .section .wasm.code
+ .rept 65536
+ .byte 0
+ .endr
diff --git a/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.d b/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.d
new file mode 100644
index 0000000..8b59c74
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.d
@@ -0,0 +1,15 @@
+#PROG: objcopy
+#source: parse-wasm-2.s
+#as:
+#objcopy: -Ielf32-wasm32 -Obinary
+#objdump: -bwasm -s
+
+.*:.*file format wasm
+
+Contents of section .wasm.type:
+ 80000000 01600001 7f .`...
+Contents of section .wasm.function:
+ 80000005 0100 ..
+Contents of section .wasm.code:
+ 80000007 01858080 80000041 2a0f0b .......A\*..
+#pass
diff --git a/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.s b/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.s
new file mode 100644
index 0000000..bc918b7
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/parse-wasm-2.s
@@ -0,0 +1,43 @@
+ .data
+ .byte 0
+ .ascii "asm"
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0x85
+ .byte 0x80
+ .byte 0x80
+ .byte 0x80
+ .byte 0
+ .byte 1
+ .byte 0x60
+ .byte 0
+ .byte 1
+ .byte 0x7f
+ .byte 3
+ .byte 0x82
+ .byte 0x80
+ .byte 0x80
+ .byte 0x80
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0x0a
+ .byte 0x8b
+ .byte 0x80
+ .byte 0x80
+ .byte 0x80
+ .byte 0
+ .byte 1
+ .byte 0x85
+ .byte 0x80
+ .byte 0x80
+ .byte 0x80
+ .byte 0
+ .byte 0
+ .byte 0x41
+ .byte 0x2a
+ .byte 0x0f
+ .byte 0x0b
diff --git a/binutils/testsuite/binutils-all/wasm32/parse-wasm.d b/binutils/testsuite/binutils-all/wasm32/parse-wasm.d
new file mode 100644
index 0000000..fd8bc70
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/parse-wasm.d
@@ -0,0 +1,8 @@
+#PROG: objcopy
+#source: parse-wasm.s
+#as:
+#objcopy: -Ielf32-wasm32 -Obinary
+#objdump: -bwasm -s
+
+.*:.*file format wasm
+
diff --git a/binutils/testsuite/binutils-all/wasm32/parse-wasm.s b/binutils/testsuite/binutils-all/wasm32/parse-wasm.s
new file mode 100644
index 0000000..d495ea1
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/parse-wasm.s
@@ -0,0 +1,7 @@
+ .data
+ .byte 0
+ .ascii "asm"
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/prepared-section.d b/binutils/testsuite/binutils-all/wasm32/prepared-section.d
new file mode 100644
index 0000000..c5bfafa
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/prepared-section.d
@@ -0,0 +1,10 @@
+#PROG: objcopy
+#source: prepared-section.s
+#as:
+#objcopy: -Ielf32-wasm32 -Owasm
+#objdump: -bbinary -s
+
+.*:.*file format binary
+
+Contents of section .data:
+ 0000 0061736d 01000000 0006046e 616d6500 .asm.......name.
diff --git a/binutils/testsuite/binutils-all/wasm32/prepared-section.s b/binutils/testsuite/binutils-all/wasm32/prepared-section.s
new file mode 100644
index 0000000..574f6e0
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/prepared-section.s
@@ -0,0 +1,6 @@
+ .section .prepared
+ .byte 0
+ .byte 0x6
+ .byte 4
+ .ascii "name"
+ .byte 0
diff --git a/binutils/testsuite/binutils-all/wasm32/wasm32.exp b/binutils/testsuite/binutils-all/wasm32/wasm32.exp
new file mode 100644
index 0000000..b95569a
--- /dev/null
+++ b/binutils/testsuite/binutils-all/wasm32/wasm32.exp
@@ -0,0 +1,30 @@
+# Copyright (C) 2010-2017 Free Software Foundation, Inc.
+# Copyright (C) 2017 Pip Cet <pipcet@gmail.com>
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+if { ![istarget "wasm32-*-*"] } then {
+ return
+}
+
+run_dump_test "create-wasm"
+run_dump_test "custom-section"
+run_dump_test "long-sections"
+run_dump_test "parse-wasm"
+run_dump_test "parse-wasm-2"
+run_dump_test "prepared-section"
+
+#run_dump_test "invalid-wasm-1"
+#run_dump_test "invalid-wasm-2"
diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 327db46..70b6773 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -41,6 +41,7 @@ proc is_elf_format {} {
&& ![istarget *-*-solaris2*]
&& ![istarget *-*-sysv4*]
&& ![istarget *-*-unixware*]
+ && ![istarget *-*-wasm32*]
&& ![istarget avr-*-*]
&& ![istarget bfin-*-uclinux]
&& ![istarget frv-*-uclinux*]
@@ -183,6 +184,9 @@ proc supports_gnu_unique {} {
if { [istarget "arm*-*-*eabi*"] } {
return 1
}
+ if { [istarget "wasm32*-*-*"] } {
+ return 1
+ }
if { ![istarget "*-*-elf*"] } {
return 0
}
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f24e821..a5c1d08 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,73 @@
+2017-03-30 Pip Cet <pipcet@gmail.com>
+
+ * config/tc-wasm32.h: New file: Add WebAssembly assembler target.
+ * config/tc-wasm32.c: New file: Add WebAssembly assembler target.
+ * Makefile.am: Add WebAssembly assembler target.
+ * configure.tgt: Add WebAssembly assembler target.
+ * doc/c-wasm32.texi: New file: Start documenting WebAssembly
+ assembler.
+ * doc/all.texi: Define WASM32.
+ * doc/as.texinfo: Add WebAssembly entries.
+ * NEWS: Mention the new support.
+ * Makefile.in: Regenerate.
+ * po/gas.pot: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * testsuite/gas/wasm32: New directory.
+ * testsuite/gas/wasm32/allinsn.d: New file.
+ * testsuite/gas/wasm32/allinsn.s: New file.
+ * testsuite/gas/wasm32/illegal.l: New file.
+ * testsuite/gas/wasm32/illegal.s: New file.
+ * testsuite/gas/wasm32/illegal-2.l: New file.
+ * testsuite/gas/wasm32/illegal-2.s: New file.
+ * testsuite/gas/wasm32/illegal-3.l: New file.
+ * testsuite/gas/wasm32/illegal-3.s: New file.
+ * testsuite/gas/wasm32/illegal-4.l: New file.
+ * testsuite/gas/wasm32/illegal-4.s: New file.
+ * testsuite/gas/wasm32/illegal-5.l: New file.
+ * testsuite/gas/wasm32/illegal-5.s: New file.
+ * testsuite/gas/wasm32/illegal-6.l: New file.
+ * testsuite/gas/wasm32/illegal-6.s: New file.
+ * testsuite/gas/wasm32/illegal-7.l: New file.
+ * testsuite/gas/wasm32/illegal-7.s: New file.
+ * testsuite/gas/wasm32/illegal-8.l: New file.
+ * testsuite/gas/wasm32/illegal-8.s: New file.
+ * testsuite/gas/wasm32/illegal-9.l: New file.
+ * testsuite/gas/wasm32/illegal-9.s: New file.
+ * testsuite/gas/wasm32/illegal-10.l: New file.
+ * testsuite/gas/wasm32/illegal-10.s: New file.
+ * testsuite/gas/wasm32/illegal-11.l: New file.
+ * testsuite/gas/wasm32/illegal-11.s: New file.
+ * testsuite/gas/wasm32/illegal-12.l: New file.
+ * testsuite/gas/wasm32/illegal-12.s: New file.
+ * testsuite/gas/wasm32/illegal-13.l: New file.
+ * testsuite/gas/wasm32/illegal-13.s: New file.
+ * testsuite/gas/wasm32/illegal-14.l: New file.
+ * testsuite/gas/wasm32/illegal-14.s: New file.
+ * testsuite/gas/wasm32/illegal-15.l: New file.
+ * testsuite/gas/wasm32/illegal-15.s: New file.
+ * testsuite/gas/wasm32/illegal-16.l: New file.
+ * testsuite/gas/wasm32/illegal-16.s: New file.
+ * testsuite/gas/wasm32/illegal-17.l: New file.
+ * testsuite/gas/wasm32/illegal-17.s: New file.
+ * testsuite/gas/wasm32/illegal-18.l: New file.
+ * testsuite/gas/wasm32/illegal-18.s: New file.
+ * testsuite/gas/wasm32/illegal-19.l: New file.
+ * testsuite/gas/wasm32/illegal-19.s: New file.
+ * testsuite/gas/wasm32/illegal-20.l: New file.
+ * testsuite/gas/wasm32/illegal-20.s: New file.
+ * testsuite/gas/wasm32/illegal-21.l: New file.
+ * testsuite/gas/wasm32/illegal-21.s: New file.
+ * testsuite/gas/wasm32/illegal-22.l: New file.
+ * testsuite/gas/wasm32/illegal-22.s: New file.
+ * testsuite/gas/wasm32/illegal-24.l: New file.
+ * testsuite/gas/wasm32/illegal-24.s: New file.
+ * testsuite/gas/wasm32/illegal-25.l: New file.
+ * testsuite/gas/wasm32/illegal-25.s: New file.
+ * testsuite/gas/wasm32/reloc.d: New file.
+ * testsuite/gas/wasm32/reloc.s: New file.
+ * testsuite/gas/wasm32/wasm32.exp: New tests for WebAssembly
+ architecture.
+
2017-03-29 Alan Modra <amodra@gmail.com>
* config/tc-ppc.c (md_parse_option): Reject -mraw.
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 851532c..c9f9de0 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -196,6 +196,7 @@ TARGET_CPU_CFILES = \
config/tc-v850.c \
config/tc-vax.c \
config/tc-visium.c \
+ config/tc-wasm32.c \
config/tc-xstormy16.c \
config/tc-xc16x.c \
config/tc-xgate.c \
@@ -271,6 +272,7 @@ TARGET_CPU_HFILES = \
config/tc-v850.h \
config/tc-vax.h \
config/tc-visium.h \
+ config/tc-wasm32.h \
config/tc-xstormy16.h \
config/tc-xc16x.h \
config/tc-xgate.h \
diff --git a/gas/Makefile.in b/gas/Makefile.in
index f995c02..1927de5 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -492,6 +492,7 @@ TARGET_CPU_CFILES = \
config/tc-v850.c \
config/tc-vax.c \
config/tc-visium.c \
+ config/tc-wasm32.c \
config/tc-xstormy16.c \
config/tc-xc16x.c \
config/tc-xgate.c \
@@ -567,6 +568,7 @@ TARGET_CPU_HFILES = \
config/tc-v850.h \
config/tc-vax.h \
config/tc-visium.h \
+ config/tc-wasm32.h \
config/tc-xstormy16.h \
config/tc-xc16x.h \
config/tc-xgate.h \
@@ -927,6 +929,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-v850.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-vax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-visium.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-wasm32.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xc16x.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xgate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xstormy16.Po@am__quote@
@@ -1896,6 +1899,20 @@ tc-visium.obj: config/tc-visium.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-visium.obj `if test -f 'config/tc-visium.c'; then $(CYGPATH_W) 'config/tc-visium.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-visium.c'; fi`
+tc-wasm32.o: config/tc-wasm32.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-wasm32.o -MD -MP -MF $(DEPDIR)/tc-wasm32.Tpo -c -o tc-wasm32.o `test -f 'config/tc-wasm32.c' || echo '$(srcdir)/'`config/tc-wasm32.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-wasm32.Tpo $(DEPDIR)/tc-wasm32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-wasm32.c' object='tc-wasm32.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-wasm32.o `test -f 'config/tc-wasm32.c' || echo '$(srcdir)/'`config/tc-wasm32.c
+
+tc-wasm32.obj: config/tc-wasm32.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-wasm32.obj -MD -MP -MF $(DEPDIR)/tc-wasm32.Tpo -c -o tc-wasm32.obj `if test -f 'config/tc-wasm32.c'; then $(CYGPATH_W) 'config/tc-wasm32.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-wasm32.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-wasm32.Tpo $(DEPDIR)/tc-wasm32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-wasm32.c' object='tc-wasm32.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-wasm32.obj `if test -f 'config/tc-wasm32.c'; then $(CYGPATH_W) 'config/tc-wasm32.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-wasm32.c'; fi`
+
tc-xstormy16.o: config/tc-xstormy16.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-xstormy16.o -MD -MP -MF $(DEPDIR)/tc-xstormy16.Tpo -c -o tc-xstormy16.o `test -f 'config/tc-xstormy16.c' || echo '$(srcdir)/'`config/tc-xstormy16.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-xstormy16.Tpo $(DEPDIR)/tc-xstormy16.Po
diff --git a/gas/NEWS b/gas/NEWS
index aee3852..46eaff3 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,7 @@
-*- text -*-
+* Add support for the WebAssembly file format and wasm32 ELF conversion.
+
* PowerPC gas now checks that the correct register class is used in
instructions. For instance, "addi %f4,%cr3,%r31" warns three times
that the registers are invalid.
diff --git a/gas/config/tc-wasm32.c b/gas/config/tc-wasm32.c
new file mode 100644
index 0000000..0b05ef1
--- /dev/null
+++ b/gas/config/tc-wasm32.c
@@ -0,0 +1,821 @@
+/* tc-wasm32.c -- Assembler code for the wasm32 target.
+
+ Copyright (C) 2017 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GAS is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to the Free
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#include "as.h"
+#include "safe-ctype.h"
+#include "subsegs.h"
+#include "dwarf2dbg.h"
+#include "dw2gencfi.h"
+#include "elf/wasm32.h"
+#include <float.h>
+
+enum wasm_class
+{
+ wasm_typed, /* a typed opcode: block, loop, or if */
+ wasm_special, /* a special opcode: unreachable, nop, else,
+ or end */
+ wasm_break, /* "br" */
+ wasm_break_if, /* "br_if" opcode */
+ wasm_break_table, /* "br_table" opcode */
+ wasm_return, /* "return" opcode */
+ wasm_call, /* "call" opcode */
+ wasm_call_indirect, /* "call_indirect" opcode */
+ wasm_get_local, /* "get_local" and "get_global" */
+ wasm_set_local, /* "set_local" and "set_global" */
+ wasm_tee_local, /* "tee_local" */
+ wasm_drop, /* "drop" */
+ wasm_constant_i32, /* "i32.const" */
+ wasm_constant_i64, /* "i64.const" */
+ wasm_constant_f32, /* "f32.const" */
+ wasm_constant_f64, /* "f64.const" */
+ wasm_unary, /* unary operators */
+ wasm_binary, /* binary operators */
+ wasm_conv, /* conversion operators */
+ wasm_load, /* load operators */
+ wasm_store, /* store operators */
+ wasm_select, /* "select" */
+ wasm_relational, /* comparison operators, except for "eqz" */
+ wasm_eqz, /* "eqz" */
+ wasm_current_memory, /* "current_memory" */
+ wasm_grow_memory, /* "grow_memory" */
+ wasm_signature /* "signature", which isn't an opcode */
+};
+
+#define WASM_OPCODE(opcode, name, intype, outtype, class, signedness) \
+ { name, wasm_ ## class, opcode },
+
+struct wasm32_opcode_s
+{
+ const char *name;
+ enum wasm_class clas;
+ unsigned char opcode;
+} wasm32_opcodes[] =
+{
+#include "opcode/wasm.h"
+ {
+ NULL, 0, 0}
+};
+
+const char comment_chars[] = ";#";
+const char line_comment_chars[] = ";#";
+const char line_separator_chars[] = "";
+
+const char *md_shortopts = "m:";
+
+const char EXP_CHARS[] = "eE";
+const char FLT_CHARS[] = "dD";
+
+/* The target specific pseudo-ops which we support. */
+
+const pseudo_typeS md_pseudo_table[] =
+{
+ {NULL, NULL, 0}
+};
+
+/* Opcode hash table. */
+
+static struct hash_control *wasm32_hash;
+
+struct option md_longopts[] =
+{
+ {NULL, no_argument, NULL, 0}
+};
+
+size_t md_longopts_size = sizeof (md_longopts);
+
+/* No relaxation/no machine-dependent frags. */
+
+int
+md_estimate_size_before_relax (fragS * fragp ATTRIBUTE_UNUSED,
+ asection * seg ATTRIBUTE_UNUSED)
+{
+ abort ();
+ return 0;
+}
+
+void
+md_show_usage (FILE * stream)
+{
+ fprintf (stream, _("wasm32 assembler options:\n"));
+}
+
+/* No machine-dependent options. */
+
+int
+md_parse_option (int c ATTRIBUTE_UNUSED, const char *arg ATTRIBUTE_UNUSED)
+{
+ return 0;
+}
+
+/* No machine-dependent symbols. */
+
+symbolS *
+md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}
+
+/* IEEE little-endian floats. */
+
+const char *
+md_atof (int type, char *litP, int *sizeP)
+{
+ return ieee_md_atof (type, litP, sizeP, FALSE);
+}
+
+/* No machine-dependent frags. */
+
+void
+md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
+ asection * sec ATTRIBUTE_UNUSED,
+ fragS * fragP ATTRIBUTE_UNUSED)
+{
+ abort ();
+}
+
+/* Build opcode hash table, set some flags. */
+
+void
+md_begin (void)
+{
+ struct wasm32_opcode_s *opcode;
+
+ wasm32_hash = hash_new ();
+
+ /* Insert unique names into hash table. This hash table then
+ provides a quick index to the first opcode with a particular name
+ in the opcode table. */
+ for (opcode = wasm32_opcodes; opcode->name; opcode++)
+ hash_insert (wasm32_hash, opcode->name, (char *) opcode);
+
+ linkrelax = 0;
+ flag_sectname_subst = 1;
+ flag_no_comments = 0;
+ flag_keep_locals = 1;
+}
+
+/* Do the normal thing for md_section_align. */
+
+valueT
+md_section_align (asection * seg, valueT addr)
+{
+ int align = bfd_get_section_alignment (stdoutput, seg);
+ return ((addr + (1 << align) - 1) & -(1 << align));
+}
+
+/* Apply a fixup, return TRUE if done (and no relocation is
+ needed). */
+
+static bfd_boolean
+apply_full_field_fix (fixS * fixP, char *buf, bfd_vma val, int size)
+{
+ if (fixP->fx_addsy != NULL || fixP->fx_pcrel)
+ {
+ fixP->fx_addnumber = val;
+ return FALSE;
+ }
+
+ number_to_chars_littleendian (buf, val, size);
+ return TRUE;
+}
+
+/* Apply a fixup (potentially PC-relative), set the fx_done flag if
+ done. */
+
+void
+md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
+{
+ char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
+ long val = (long) *valP;
+
+ if (fixP->fx_pcrel)
+ {
+ switch (fixP->fx_r_type)
+ {
+ default:
+ bfd_set_error (bfd_error_bad_value);
+ return;
+
+ case BFD_RELOC_32:
+ fixP->fx_r_type = BFD_RELOC_32_PCREL;
+ return;
+ }
+ }
+
+ if (apply_full_field_fix (fixP, buf, val, fixP->fx_size))
+ fixP->fx_done = 1;
+}
+
+/* Skip whitespace. */
+
+static inline char *
+skip_space (char *s)
+{
+ while (*s == ' ' || *s == '\t')
+ ++s;
+ return s;
+}
+
+/* Allow '/' in opcodes. */
+
+static inline bfd_boolean
+is_part_of_opcode (char c)
+{
+ return is_part_of_name (c) || (c == '/');
+}
+
+/* Extract an opcode. */
+
+static char *
+extract_opcode (char *from, char *to, int limit)
+{
+ char *op_end;
+ int size = 0;
+
+ /* Drop leading whitespace. */
+ from = skip_space (from);
+ *to = 0;
+
+ /* Find the op code end. */
+ for (op_end = from; *op_end != 0 && is_part_of_opcode (*op_end);)
+ {
+ to[size++] = *op_end++;
+ if (size + 1 >= limit)
+ break;
+ }
+
+ to[size] = 0;
+ return op_end;
+}
+
+/* Produce an unsigned LEB128 integer padded to the right number of
+ bytes to store BITS bits, of value VALUE. Uses FRAG_APPEND_1_CHAR
+ to write. */
+
+static void
+wasm32_put_long_uleb128 (int bits, unsigned long value)
+{
+ unsigned char c;
+ int i = 0;
+
+ do
+ {
+ c = value & 0x7f;
+ value >>= 7;
+ if (i < (bits - 1) / 7)
+ c |= 0x80;
+ FRAG_APPEND_1_CHAR (c);
+ }
+ while (++i < (bits + 6) / 7);
+}
+
+/* Produce a signed LEB128 integer, using FRAG_APPEND_1_CHAR to
+ write. */
+
+static void
+wasm32_put_sleb128 (long value)
+{
+ unsigned char c;
+ int more;
+
+ do
+ {
+ c = (value & 0x7f);
+ value >>= 7;
+ more = !((((value == 0) && ((c & 0x40) == 0))
+ || ((value == -1) && ((c & 0x40) != 0))));
+ if (more)
+ c |= 0x80;
+ FRAG_APPEND_1_CHAR (c);
+ }
+ while (more);
+}
+
+/* Produce an unsigned LEB128 integer, using FRAG_APPEND_1_CHAR to
+ write. */
+
+static void
+wasm32_put_uleb128 (unsigned long value)
+{
+ unsigned char c;
+
+ do
+ {
+ c = value & 0x7f;
+ value >>= 7;
+ if (value)
+ c |= 0x80;
+ FRAG_APPEND_1_CHAR (c);
+ }
+ while (value);
+}
+
+/* Read an integer expression. Produce an LEB128-encoded integer if
+ it's a constant, a padded LEB128 plus a relocation if it's a
+ symbol, or a special relocation for <expr>@got, <expr>@gotcode, and
+ <expr>@plt{__sigchar_<signature>}. */
+
+static bfd_boolean
+wasm32_leb128 (char **line, int bits, int sign)
+{
+ char *t = input_line_pointer;
+ char *str = *line;
+ char *str0 = str;
+ struct reloc_list *reloc;
+ expressionS ex;
+ int gotrel = 0;
+ int pltrel = 0;
+ int code = 0;
+ const char *relname;
+
+ input_line_pointer = str;
+ expression (&ex);
+
+ if (ex.X_op == O_constant && *input_line_pointer != '@')
+ {
+ long value = ex.X_add_number;
+
+ str = input_line_pointer;
+ str = skip_space (str);
+ *line = str;
+ if (sign)
+ wasm32_put_sleb128 (value);
+ else
+ {
+ if (value < 0)
+ as_bad (_("unexpected negative constant"));
+ wasm32_put_uleb128 (value);
+ }
+ input_line_pointer = t;
+ return str != str0;
+ }
+
+ reloc = XNEW (struct reloc_list);
+ reloc->u.a.offset_sym = expr_build_dot ();
+ if (ex.X_op == O_symbol)
+ {
+ reloc->u.a.sym = ex.X_add_symbol;
+ reloc->u.a.addend = ex.X_add_number;
+ }
+ else
+ {
+ reloc->u.a.sym = make_expr_symbol (&ex);
+ reloc->u.a.addend = 0;
+ }
+ /* i32.const fpointer@gotcode */
+ if (strncmp (input_line_pointer, "@gotcode", 8) == 0)
+ {
+ gotrel = 1;
+ code = 1;
+ input_line_pointer += 8;
+ }
+ /* i32.const data@got */
+ else if (strncmp (input_line_pointer, "@got", 4) == 0)
+ {
+ gotrel = 1;
+ input_line_pointer += 4;
+ }
+ /* call f@plt{__sigchar_FiiiiE} */
+ else if (strncmp (input_line_pointer, "@plt", 4) == 0)
+ {
+ char *end_of_sig;
+
+ pltrel = 1;
+ code = 1;
+ input_line_pointer += 4;
+
+ if (strncmp (input_line_pointer, "{", 1) == 0
+ && (end_of_sig = strchr (input_line_pointer, '}')))
+ {
+ char *signature;
+ struct reloc_list *reloc2;
+ size_t siglength = end_of_sig - (input_line_pointer + 1);
+
+ signature = strndup (input_line_pointer + 1, siglength);
+
+ reloc2 = XNEW (struct reloc_list);
+ reloc2->u.a.offset_sym = expr_build_dot ();
+ reloc2->u.a.sym = symbol_find_or_make (signature);
+ reloc2->u.a.addend = 0;
+ reloc2->u.a.howto = bfd_reloc_name_lookup
+ (stdoutput, "R_WASM32_PLT_SIG");
+ reloc2->next = reloc_list;
+ reloc_list = reloc2;
+ input_line_pointer = end_of_sig + 1;
+ }
+ else
+ {
+ as_bad (_("no function type on PLT reloc"));
+ }
+ }
+
+ if (gotrel && code)
+ relname = "R_WASM32_LEB128_GOT_CODE";
+ else if (gotrel)
+ relname = "R_WASM32_LEB128_GOT";
+ else if (pltrel)
+ relname = "R_WASM32_LEB128_PLT";
+ else
+ relname = "R_WASM32_LEB128";
+
+ reloc->u.a.howto = bfd_reloc_name_lookup (stdoutput, relname);
+ if (!reloc->u.a.howto)
+ as_bad (_("couldn't find relocation to use"));
+ reloc->file = as_where (&reloc->line);
+ reloc->next = reloc_list;
+ reloc_list = reloc;
+
+ str = input_line_pointer;
+ str = skip_space (str);
+ *line = str;
+ wasm32_put_long_uleb128 (bits, 0);
+ input_line_pointer = t;
+
+ return str != str0;
+}
+
+/* Read an integer expression and produce an unsigned LEB128 integer,
+ or a relocation for it. */
+
+static bfd_boolean
+wasm32_uleb128 (char **line, int bits)
+{
+ return wasm32_leb128 (line, bits, 0);
+}
+
+/* Read an integer expression and produce a signed LEB128 integer, or
+ a relocation for it. */
+
+static bfd_boolean
+wasm32_sleb128 (char **line, int bits)
+{
+ return wasm32_leb128 (line, bits, 1);
+}
+
+/* Read an f32. (Like float_cons ('f')). */
+
+static void
+wasm32_f32 (char **line)
+{
+ char *t = input_line_pointer;
+
+ input_line_pointer = *line;
+ float_cons ('f');
+ *line = input_line_pointer;
+ input_line_pointer = t;
+}
+
+/* Read an f64. (Like float_cons ('d')). */
+
+static void
+wasm32_f64 (char **line)
+{
+ char *t = input_line_pointer;
+
+ input_line_pointer = *line;
+ float_cons ('d');
+ *line = input_line_pointer;
+ input_line_pointer = t;
+}
+
+/* Assemble a signature from LINE, replacing it with the new input
+ pointer. Signatures are simple expressions matching the regexp
+ F[ilfd]*v?E, and interpreted as though they were C++-mangled
+ function types on a 64-bit machine. */
+
+static void
+wasm32_signature (char **line)
+{
+ unsigned long count = 0;
+ char *str = *line;
+ char *ostr;
+ char *result;
+
+ if (*str++ != 'F')
+ as_bad (_("Not a function type"));
+ result = str;
+ ostr = str + 1;
+ str++;
+
+ while (*str != 'E')
+ {
+ switch (*str++)
+ {
+ case 'i':
+ case 'l':
+ case 'f':
+ case 'd':
+ count++;
+ break;
+ default:
+ as_bad (_("Unknown type %c\n"), str[-1]);
+ }
+ }
+ wasm32_put_uleb128 (count);
+ str = ostr;
+ while (*str != 'E')
+ {
+ switch (*str++)
+ {
+ case 'i':
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_I32);
+ break;
+ case 'l':
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_I64);
+ break;
+ case 'f':
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_F32);
+ break;
+ case 'd':
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_F64);
+ break;
+ default:
+ as_bad (_("Unknown type"));
+ }
+ }
+ str++;
+ switch (*result)
+ {
+ case 'v':
+ FRAG_APPEND_1_CHAR (0x00); /* no return value */
+ break;
+ case 'i':
+ FRAG_APPEND_1_CHAR (0x01); /* one return value */
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_I32);
+ break;
+ case 'l':
+ FRAG_APPEND_1_CHAR (0x01); /* one return value */
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_I64);
+ break;
+ case 'f':
+ FRAG_APPEND_1_CHAR (0x01); /* one return value */
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_F32);
+ break;
+ case 'd':
+ FRAG_APPEND_1_CHAR (0x01); /* one return value */
+ FRAG_APPEND_1_CHAR (BLOCK_TYPE_F64);
+ break;
+ default:
+ as_bad (_("Unknown type"));
+ }
+ *line = str;
+}
+
+/* Main operands function. Read the operands for OPCODE from LINE,
+ replacing it with the new input pointer. */
+
+static void
+wasm32_operands (struct wasm32_opcode_s *opcode, char **line)
+{
+ char *str = *line;
+ unsigned long block_type = 0;
+
+ FRAG_APPEND_1_CHAR (opcode->opcode);
+ str = skip_space (str);
+ if (str[0] == '[')
+ {
+ if (opcode->clas == wasm_typed)
+ {
+ str++;
+ block_type = BLOCK_TYPE_NONE;
+ if (str[0] != ']')
+ {
+ str = skip_space (str);
+ switch (str[0])
+ {
+ case 'i':
+ block_type = BLOCK_TYPE_I32;
+ str++;
+ break;
+ case 'l':
+ block_type = BLOCK_TYPE_I64;
+ str++;
+ break;
+ case 'f':
+ block_type = BLOCK_TYPE_F32;
+ str++;
+ break;
+ case 'd':
+ block_type = BLOCK_TYPE_F64;
+ str++;
+ break;
+ }
+ str = skip_space (str);
+ if (str[0] == ']')
+ str++;
+ else
+ as_bad (_("only single block types allowed"));
+ str = skip_space (str);
+ }
+ else
+ {
+ str++;
+ str = skip_space (str);
+ }
+ }
+ else
+ as_bad (_("instruction does not take a block type"));
+ }
+
+ switch (opcode->clas)
+ {
+ case wasm_drop:
+ case wasm_special:
+ case wasm_binary:
+ case wasm_unary:
+ case wasm_relational:
+ case wasm_select:
+ case wasm_eqz:
+ case wasm_conv:
+ case wasm_return:
+ break;
+ case wasm_typed:
+ if (block_type == 0)
+ as_bad (_("missing block type"));
+ FRAG_APPEND_1_CHAR (block_type);
+ break;
+ case wasm_store:
+ case wasm_load:
+ if (str[0] == 'a' && str[1] == '=')
+ {
+ str += 2;
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing alignment hint"));
+ }
+ else
+ {
+ as_bad (_("missing alignment hint"));
+ }
+ str = skip_space (str);
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing offset"));
+ break;
+ case wasm_set_local:
+ case wasm_get_local:
+ case wasm_tee_local:
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing local index"));
+ break;
+ case wasm_break:
+ case wasm_break_if:
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing break count"));
+ break;
+ case wasm_current_memory:
+ case wasm_grow_memory:
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing reserved current_memory/grow_memory argument"));
+ break;
+ case wasm_call:
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing call argument"));
+ break;
+ case wasm_call_indirect:
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing call signature"));
+ if (!wasm32_uleb128 (&str, 32))
+ as_bad (_("missing table index"));
+ break;
+ case wasm_constant_i32:
+ wasm32_sleb128 (&str, 32);
+ break;
+ case wasm_constant_i64:
+ wasm32_sleb128 (&str, 64);
+ break;
+ case wasm_constant_f32:
+ wasm32_f32 (&str);
+ return;
+ case wasm_constant_f64:
+ wasm32_f64 (&str);
+ return;
+ case wasm_break_table:
+ {
+ do
+ {
+ wasm32_uleb128 (&str, 32);
+ str = skip_space (str);
+ }
+ while (str[0]);
+
+ break;
+ }
+ case wasm_signature:
+ wasm32_signature (&str);
+ }
+ str = skip_space (str);
+
+ if (*str)
+ as_bad (_("junk at end of line, first unrecognized character is `%c'"),
+ *str);
+
+ *line = str;
+
+ return;
+}
+
+/* Main assembly function. Find the opcode and call
+ wasm32_operands(). */
+
+void
+md_assemble (char *str)
+{
+ char op[32];
+ char *t;
+ struct wasm32_opcode_s *opcode;
+
+ str = skip_space (extract_opcode (str, op, sizeof (op)));
+
+ if (!op[0])
+ as_bad (_("can't find opcode "));
+
+ opcode = (struct wasm32_opcode_s *) hash_find (wasm32_hash, op);
+
+ if (opcode == NULL)
+ {
+ as_bad (_("unknown opcode `%s'"), op);
+ return;
+ }
+
+ dwarf2_emit_insn (0);
+
+ t = input_line_pointer;
+ wasm32_operands (opcode, &str);
+ input_line_pointer = t;
+}
+
+/* Don't replace PLT/GOT relocations with section symbols, so they
+ don't get an addend. */
+
+int
+wasm32_force_relocation (fixS * f)
+{
+ if (f->fx_r_type == BFD_RELOC_WASM32_LEB128_PLT
+ || f->fx_r_type == BFD_RELOC_WASM32_LEB128_GOT)
+ return 1;
+
+ return 0;
+}
+
+/* Don't replace PLT/GOT relocations with section symbols, so they
+ don't get an addend. */
+
+bfd_boolean
+wasm32_fix_adjustable (fixS * fixP)
+{
+ if (fixP->fx_addsy == NULL)
+ return TRUE;
+
+ if (fixP->fx_r_type == BFD_RELOC_WASM32_LEB128_PLT
+ || fixP->fx_r_type == BFD_RELOC_WASM32_LEB128_GOT)
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Generate a reloc for FIXP. */
+
+arelent *
+tc_gen_reloc (asection * sec ATTRIBUTE_UNUSED, fixS * fixp)
+{
+ arelent *reloc;
+
+ reloc = (arelent *) xmalloc (sizeof (*reloc));
+ reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
+ reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
+
+ /* Make sure none of our internal relocations make it this far.
+ They'd better have been fully resolved by this point. */
+ gas_assert ((int) fixp->fx_r_type > 0);
+
+ reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
+ if (reloc->howto == NULL)
+ {
+ as_bad_where (fixp->fx_file, fixp->fx_line,
+ _("cannot represent `%s' relocation in object file"),
+ bfd_get_reloc_code_name (fixp->fx_r_type));
+ return NULL;
+ }
+
+ reloc->addend = fixp->fx_offset;
+
+ return reloc;
+}
diff --git a/gas/config/tc-wasm32.h b/gas/config/tc-wasm32.h
new file mode 100644
index 0000000..220ad56
--- /dev/null
+++ b/gas/config/tc-wasm32.h
@@ -0,0 +1,89 @@
+/* This file is tc-wasm32.h.
+ Copyright (C) 2017 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GAS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to the Free
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#define TC_WASM32
+#define TARGET_FORMAT "elf32-wasm32"
+#define TARGET_ARCH bfd_arch_wasm32
+#define TARGET_MACH 1
+
+/* WebAssembly is strictly little-endian. */
+#define TARGET_BYTES_BIG_ENDIAN 0
+#define md_number_to_chars number_to_chars_littleendian
+
+#define DIFF_EXPR_OK
+
+/* No machine-dependent operand expressions. */
+#define md_operand(x)
+
+/* No broken word processing. */
+#define WORKING_DOT_WORD
+
+/* Force some relocations. */
+#define EXTERN_FORCE_RELOC 1
+extern int wasm32_force_relocation (struct fix *);
+#define TC_FORCE_RELOCATION(fix) wasm32_force_relocation (fix)
+#define TC_FORCE_RELOCATION_LOCAL(fix) 1
+#define TC_FORCE_RELOCATION_SUB_SAME(fix,seg) wasm32_force_relocation (fix)
+#define TC_FORCE_RELOCATION_SUB_ABS(fix,seg) wasm32_force_relocation (fix)
+#define TC_FORCE_RELOCATION_SUB_LOCAL(fix,seg) wasm32_force_relocation (fix)
+#define TC_VALIDATE_FIX_SUB(fix,seg) wasm32_force_relocation (fix)
+
+/* This is ELF, values passed to md_apply_fix don't include the symbol
+ value. */
+#define MD_APPLY_SYM_VALUE(FIX) 0
+
+/* PC-relative relocations are relative to the relocation offset. */
+#define MD_PCREL_FROM_SECTION(FIX, SEC) 0
+
+#define DWARF2_LINE_MIN_INSN_LENGTH 1
+
+/* WebAssembly uses 32-bit addresses. */
+#define TC_ADDRESS_BYTES() 4
+#define DWARF2_ADDR_SIZE(bfd) 4
+
+/* Enable cfi directives. */
+#define TARGET_USE_CFIPOP 1
+
+/* The stack grows down, and there is no harm in claiming it is only
+ byte aligned. */
+#define DWARF2_CIE_DATA_ALIGNMENT -1
+
+/* Define the column that represents the PC. FIXME: this depends on
+ the ABI. */
+#define DWARF2_DEFAULT_RETURN_COLUMN 36
+
+/* Define a hook to setup initial CFI state. */
+#define tc_cfi_frame_initial_instructions() do { } while (0)
+
+#define elf_tc_final_processing()
+#define md_post_relax_hook
+#define md_start_line_hook()
+#define HANDLE_ALIGN(fragP)
+
+
+extern bfd_boolean wasm32_fix_adjustable (struct fix *);
+#define tc_fix_adjustable(FIX) wasm32_fix_adjustable (FIX)
+
+/* Type names for blocks and signatures. */
+#define BLOCK_TYPE_NONE 0x40
+#define BLOCK_TYPE_I32 0x7f
+#define BLOCK_TYPE_I64 0x7e
+#define BLOCK_TYPE_F32 0x7d
+#define BLOCK_TYPE_F64 0x7c
diff --git a/gas/configure.tgt b/gas/configure.tgt
index acc3cf0..6000c7c 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -111,6 +111,7 @@ case ${cpu} in
tilegx*) cpu_type=tilegx endian=little ;;
v850*) cpu_type=v850 ;;
visium) cpu_type=visium endian=big ;;
+ wasm32) cpu_type=wasm32 endian=little ;;
x86_64*) cpu_type=i386 arch=x86_64;;
xgate) cpu_type=xgate ;;
xtensa*) cpu_type=xtensa arch=xtensa ;;
@@ -462,6 +463,8 @@ case ${generic_target} in
visium-*-elf) fmt=elf ;;
+ wasm32-*-*) fmt=elf ;;
+
xstormy16-*-*) fmt=elf ;;
xgate-*-*) fmt=elf ;;
diff --git a/gas/doc/all.texi b/gas/doc/all.texi
index 5a2dd4a..d0a1a9a 100644
--- a/gas/doc/all.texi
+++ b/gas/doc/all.texi
@@ -77,6 +77,7 @@
@set V850
@set VAX
@set VISIUM
+@set WASM32
@set XGATE
@set XSTORMY16
@set XTENSA
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 56a38bf..d03d0b6 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -7728,8 +7728,11 @@ subject, see the hardware manufacturer's manual.
@ifset VISIUM
* Visium-Dependent:: Visium Dependent Features
@end ifset
+@ifset WASM32
+* WebAssembly-Dependent:: WebAssembly Dependent Features
+@end ifset
@ifset XGATE
-* XGATE-Dependent:: XGATE Features
+* XGATE-Dependent:: XGATE Dependent Features
@end ifset
@ifset XSTORMY16
* XSTORMY16-Dependent:: XStormy16 Dependent Features
@@ -7975,6 +7978,10 @@ family.
@include c-visium.texi
@end ifset
+@ifset WASM32
+@include c-wasm32.texi
+@end ifset
+
@ifset XGATE
@include c-xgate.texi
@end ifset
diff --git a/gas/doc/c-wasm32.texi b/gas/doc/c-wasm32.texi
new file mode 100644
index 0000000..8eac7a4
--- /dev/null
+++ b/gas/doc/c-wasm32.texi
@@ -0,0 +1,119 @@
+@c Copyright (C) 2017 Free Software Foundation, Inc.
+@c This is part of the GAS manual.
+@c For copying conditions, see the file as.texinfo.
+@c man end
+
+@ifset GENERIC
+@page
+@node WebAssembly-Dependent
+@chapter WebAssembly Dependent Features
+@end ifset
+
+@ifclear GENERIC
+@node Machine Dependencies
+@chapter WebAssembly Dependent Features
+@end ifclear
+
+@cindex WebAssembly support
+@menu
+* WebAssembly-Notes:: Notes
+* WebAssembly-Syntax:: Syntax
+* WebAssembly-Floating-Point:: Floating Point
+* WebAssembly-Opcodes:: Opcodes
+* WebAssembly-module-layout:: Module Layout
+@end menu
+
+@node WebAssembly-Notes
+@section Notes
+@cindex WebAssembly notes
+@cindex notes for WebAssembly
+
+While WebAssembly provides its own module format for executables, this
+documentation describes how to use @code{@value{AS}} to produce
+intermediate ELF object format files.
+
+@node WebAssembly-Syntax
+@section Syntax
+@cindex WebAssembly Syntax
+The assembler syntax directly encodes sequences of opcodes as defined
+in the WebAssembly binary encoding specification at
+https://github.com/webassembly/spec/BinaryEncoding.md. Structured
+sexp-style expressions are not supported as input.
+
+@menu
+* WebAssembly-Chars:: Special Characters
+* WebAssembly-Relocs:: Relocations
+* WebAssembly-Signatures:: Signatures
+@end menu
+
+@node WebAssembly-Chars
+@subsection Special Characters
+
+@cindex line comment character, WebAssembly
+@cindex WebAssembly line comment character
+@samp{#} and @samp{;} are the line comment characters. Note that if
+@samp{#} is the first character on a line then it can also be a
+logical line number directive (@pxref{Comments}) or a preprocessor
+control command (@pxref{Preprocessing}).
+
+@node WebAssembly-Relocs
+@subsection Relocations
+@cindex WebAssembly relocations
+@cindex relocations, WebAssembly
+
+Special relocations are available by using the @samp{@@@var{plt}},
+@samp{@@@var{got}}, or @samp{@@@var{got}} suffixes after a constant
+expression, which correspond to the R_ASMJS_LEB128_PLT,
+R_ASMJS_LEB128_GOT, and R_ASMJS_LEB128_GOT_CODE relocations,
+respectively.
+
+The @samp{@@@var{plt}} suffix is followed by a symbol name in braces;
+the symbol value is used to determine the function signature for which
+a PLT stub is generated. Currently, the symbol @emph{name} is parsed
+from its last @samp{F} character to determine the argument count of
+the function, which is also necessary for generating a PLT stub.
+
+@node WebAssembly-Signatures
+@subsection Signatures
+@cindex WebAssembly signatures
+@cindex signatures, WebAssembly
+
+Function signatures are specified with the @code{signature}
+pseudo-opcode, followed by a simple function signature imitating a
+C++-mangled function type: @code{F} followed by an optional @code{v},
+then a sequence of @code{i}, @code{l}, @code{f}, and @code{d}
+characters to mark i32, i64, f32, and f64 parameters, respectively;
+followed by a final @code{E} to mark the end of the function
+signature.
+
+@node WebAssembly-Floating-Point
+@section Floating Point
+@cindex floating point, WebAssembly (@sc{ieee})
+@cindex WebAssembly floating point (@sc{ieee})
+WebAssembly uses little-endian @sc{ieee} floating-point numbers.
+
+@node WebAssembly-Opcodes
+@section Regular Opcodes
+@cindex opcodes, WebAssembly
+@cindex WebAssembly opcodes
+Ordinary instructions are encoded with the WebAssembly mnemonics as
+listed at:
+@url{https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md}.
+
+Opcodes are written directly in the order in which they are encoded,
+without going through an intermediate sexp-style expression as in the
+@code{was} format.
+
+For ``typed'' opcodes (block, if, etc.), the type of the block is
+specified in square brackets following the opcode: @code{if[i]},
+@code{if[]}.
+
+@node WebAssembly-module-layout
+@section WebAssembly Module Layout
+@cindex module layout, WebAssembly
+@cindex WebAssembly module layout
+@code{@value{AS}} will only produce ELF output, not a valid
+WebAssembly module. It is possible to make @code{@value{AS}} produce
+output in a single ELF section which becomes a valid WebAssembly
+module, but a linker script to do so may be preferrable, as it doesn't
+require running the entire module through the assembler at once.
diff --git a/gas/po/POTFILES.in b/gas/po/POTFILES.in
index 98861f7..51bbb5b 100644
--- a/gas/po/POTFILES.in
+++ b/gas/po/POTFILES.in
@@ -169,6 +169,8 @@ config/tc-vax.c
config/tc-vax.h
config/tc-visium.c
config/tc-visium.h
+config/tc-wasm32.c
+config/tc-wasm32.h
config/tc-xc16x.c
config/tc-xc16x.h
config/tc-xgate.c
diff --git a/gas/po/gas.pot b/gas/po/gas.pot
index 36a2f81..e971173 100644
--- a/gas/po/gas.pot
+++ b/gas/po/gas.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2016-12-23 09:23+0100\n"
+"POT-Creation-Date: 2017-03-29 17:08+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -406,7 +406,7 @@ msgstr ""
#: as.c:663
#, c-format
-msgid "Copyright (C) 2016 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2017 Free Software Foundation, Inc.\n"
msgstr ""
#: as.c:664
@@ -514,37 +514,37 @@ msgstr ""
msgid "%s: data size %ld\n"
msgstr ""
-#: as.c:1338
+#: as.c:1339
#, c-format
msgid "%d warning"
msgstr ""
-#: as.c:1340
+#: as.c:1341
#, c-format
msgid "%d warnings"
msgstr ""
-#: as.c:1342
+#: as.c:1343
#, c-format
msgid "%d error"
msgstr ""
-#: as.c:1344
+#: as.c:1345
#, c-format
msgid "%d errors"
msgstr ""
-#: as.c:1349
+#: as.c:1350
#, c-format
msgid "%s, treating warnings as errors"
msgstr ""
-#: as.c:1360
+#: as.c:1361
#, c-format
msgid "%s, %s, generating bad object file\n"
msgstr ""
-#: as.h:174
+#: as.h:173
#, c-format
msgid "Case value %ld unexpected at line %d of file \"%s\"\n"
msgstr ""
@@ -558,10 +558,10 @@ msgid "failed sanity check"
msgstr ""
#: cgen.c:107 config/tc-alpha.c:2099 config/tc-alpha.c:2123
-#: config/tc-arc.c:3968 config/tc-arc.c:4026 config/tc-d10v.c:550
+#: config/tc-arc.c:3982 config/tc-arc.c:4056 config/tc-d10v.c:550
#: config/tc-d30v.c:537 config/tc-mn10200.c:1098 config/tc-mn10300.c:1752
-#: config/tc-ppc.c:2872 config/tc-ppc.c:3049 config/tc-ppc.c:3314
-#: config/tc-s390.c:1331 config/tc-s390.c:1454 config/tc-s390.c:1587
+#: config/tc-ppc.c:2925 config/tc-ppc.c:3111 config/tc-ppc.c:3376
+#: config/tc-s390.c:1333 config/tc-s390.c:1456 config/tc-s390.c:1589
#: config/tc-v850.c:2538 config/tc-v850.c:2609 config/tc-v850.c:2656
#: config/tc-v850.c:2693 config/tc-v850.c:2730 config/tc-v850.c:2993
msgid "too many fixups"
@@ -569,7 +569,7 @@ msgstr ""
#: cgen.c:372 cgen.c:392 config/tc-d10v.c:461 config/tc-d30v.c:453
#: config/tc-i370.c:2125 config/tc-mn10200.c:1040 config/tc-mn10300.c:1677
-#: config/tc-ppc.c:2914 config/tc-s390.c:1302 config/tc-v850.c:2647
+#: config/tc-ppc.c:2967 config/tc-s390.c:1304 config/tc-v850.c:2647
#: config/tc-v850.c:2681 config/tc-v850.c:2721 config/tc-v850.c:2966
#: config/tc-z80.c:446
msgid "illegal operand"
@@ -578,8 +578,8 @@ msgstr ""
#: cgen.c:396 config/tc-avr.c:716 config/tc-d10v.c:463 config/tc-d30v.c:455
#: config/tc-h8300.c:502 config/tc-i370.c:2127 config/tc-mcore.c:661
#: config/tc-microblaze.c:603 config/tc-mmix.c:495 config/tc-mn10200.c:1043
-#: config/tc-mn10300.c:1680 config/tc-msp430.c:417 config/tc-ppc.c:2916
-#: config/tc-s390.c:1320 config/tc-sh.c:1385 config/tc-sh64.c:2214
+#: config/tc-mn10300.c:1680 config/tc-msp430.c:417 config/tc-ppc.c:2969
+#: config/tc-s390.c:1322 config/tc-sh.c:1385 config/tc-sh64.c:2214
#: config/tc-v850.c:2651 config/tc-v850.c:2685 config/tc-v850.c:2725
#: config/tc-v850.c:2969 config/tc-xgate.c:895 config/tc-z80.c:557
#: config/tc-z8k.c:349
@@ -595,22 +595,22 @@ msgid "operand mask overflow"
msgstr ""
#. We can't actually support subtracting a symbol.
-#: cgen.c:851 config/tc-arm.c:1753 config/tc-arm.c:10261 config/tc-arm.c:10313
-#: config/tc-arm.c:10570 config/tc-arm.c:11395 config/tc-arm.c:12531
-#: config/tc-arm.c:12571 config/tc-arm.c:12914 config/tc-arm.c:12955
-#: config/tc-arm.c:17288 config/tc-arm.c:17329 config/tc-avr.c:1339
+#: cgen.c:851 config/tc-arm.c:1753 config/tc-arm.c:10265 config/tc-arm.c:10317
+#: config/tc-arm.c:10574 config/tc-arm.c:11399 config/tc-arm.c:12535
+#: config/tc-arm.c:12575 config/tc-arm.c:12918 config/tc-arm.c:12959
+#: config/tc-arm.c:17292 config/tc-arm.c:17333 config/tc-avr.c:1339
#: config/tc-avr.c:1351 config/tc-avr.c:1615 config/tc-cris.c:4067
-#: config/tc-d10v.c:1507 config/tc-d30v.c:1912 config/tc-mips.c:9256
-#: config/tc-mips.c:10561 config/tc-mips.c:11817 config/tc-mips.c:12476
-#: config/tc-nds32.c:6587 config/tc-ppc.c:6511 config/tc-spu.c:957
-#: config/tc-spu.c:981 config/tc-tilegx.c:1485 config/tc-tilepro.c:1346
-#: config/tc-v850.c:3452 config/tc-vax.c:282 config/tc-xstormy16.c:482
-#: config/tc-xtensa.c:5932 config/tc-xtensa.c:12955
+#: config/tc-d10v.c:1507 config/tc-d30v.c:1912 config/tc-mips.c:9265
+#: config/tc-mips.c:10570 config/tc-mips.c:11826 config/tc-mips.c:12485
+#: config/tc-nds32.c:6587 config/tc-pru.c:746 config/tc-pru.c:756
+#: config/tc-spu.c:957 config/tc-spu.c:981 config/tc-tilegx.c:1485
+#: config/tc-tilepro.c:1346 config/tc-v850.c:3452 config/tc-vax.c:282
+#: config/tc-xstormy16.c:482 config/tc-xtensa.c:5932 config/tc-xtensa.c:12967
msgid "expression too complex"
msgstr ""
-#: cgen.c:950 config/tc-ppc.c:6852 config/tc-ppc.c:7080 config/tc-s390.c:2364
-#: config/tc-v850.c:3504 config/tc-xstormy16.c:539
+#: cgen.c:950 config/tc-ppc.c:6955 config/tc-s390.c:2366 config/tc-v850.c:3504
+#: config/tc-xstormy16.c:539
msgid "unresolved expression that must be resolved"
msgstr ""
@@ -619,7 +619,7 @@ msgstr ""
msgid "internal error: can't install fix for reloc type %d (`%s')"
msgstr ""
-#: cgen.c:1026 config/tc-nios2.c:1360
+#: cgen.c:1026 config/tc-nios2.c:1360 config/tc-pru.c:787
msgid "relocation is not supported"
msgstr ""
@@ -719,12 +719,12 @@ msgstr ""
msgid "Symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-coff.c:135 dw2gencfi.c:333
+#: config/obj-coff.c:135 dw2gencfi.c:334
#, c-format
msgid "Inserting \"%s\" into structure table failed: %s"
msgstr ""
-#: config/obj-coff.c:214 config/obj-coff.c:1681 config/tc-ppc.c:5513
+#: config/obj-coff.c:214 config/obj-coff.c:1681 config/tc-ppc.c:5575
#: config/tc-tic54x.c:3980 read.c:2959
#, c-format
msgid "error setting flags for \"%s\": %s"
@@ -739,7 +739,7 @@ msgstr ""
msgid ".ln pseudo-op inside .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:509 ecoff.c:3237
+#: config/obj-coff.c:509 ecoff.c:3245
msgid ".loc outside of .text"
msgstr ""
@@ -774,15 +774,15 @@ msgid "badly formed .dim directive ignored"
msgstr ""
#: config/obj-coff.c:932
-msgid ".size pseudo-op used outside of .def/.endef ignored."
+msgid ".size pseudo-op used outside of .def/.endef: ignored."
msgstr ""
#: config/obj-coff.c:947
-msgid ".scl pseudo-op used outside of .def/.endef ignored."
+msgid ".scl pseudo-op used outside of .def/.endef: ignored."
msgstr ""
#: config/obj-coff.c:964
-msgid ".tag pseudo-op used outside of .def/.endef ignored."
+msgid ".tag pseudo-op used outside of .def/.endef: ignored."
msgstr ""
#: config/obj-coff.c:981
@@ -791,11 +791,11 @@ msgid "tag not found for .tag %s"
msgstr ""
#: config/obj-coff.c:994
-msgid ".type pseudo-op used outside of .def/.endef ignored."
+msgid ".type pseudo-op used outside of .def/.endef: ignored."
msgstr ""
#: config/obj-coff.c:1013
-msgid ".val pseudo-op used outside of .def/.endef ignored."
+msgid ".val pseudo-op used outside of .def/.endef: ignored."
msgstr ""
#: config/obj-coff.c:1160
@@ -824,7 +824,7 @@ msgstr ""
msgid "unsupported section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1650 config/tc-ppc.c:5495
+#: config/obj-coff.c:1650 config/tc-ppc.c:5557
#, c-format
msgid "unknown section attribute '%c'"
msgstr ""
@@ -847,211 +847,211 @@ msgstr ""
msgid "Can't set register masks"
msgstr ""
-#: config/obj-elf.c:343 config/tc-sparc.c:4422 config/tc-v850.c:511
+#: config/obj-elf.c:348 config/tc-sparc.c:4461 config/tc-v850.c:511
#, c-format
msgid "bad .common segment %s"
msgstr ""
-#: config/obj-elf.c:419
+#: config/obj-elf.c:424
msgid "Missing symbol name in directive"
msgstr ""
-#: config/obj-elf.c:627
+#: config/obj-elf.c:632
#, c-format
msgid "setting incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:632
+#: config/obj-elf.c:637
#, c-format
msgid "ignoring incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:683
+#: config/obj-elf.c:688
#, c-format
msgid "setting incorrect section attributes for %s"
msgstr ""
-#: config/obj-elf.c:739
+#: config/obj-elf.c:744
#, c-format
msgid "ignoring changed section type for %s"
msgstr ""
-#: config/obj-elf.c:751
+#: config/obj-elf.c:756
#, c-format
msgid "ignoring changed section attributes for %s"
msgstr ""
-#: config/obj-elf.c:758
+#: config/obj-elf.c:763
#, c-format
msgid "ignoring changed section entity size for %s"
msgstr ""
-#: config/obj-elf.c:819
+#: config/obj-elf.c:824
msgid "unrecognized .section attribute: want a,e,w,x,M,S,G,T or number"
msgstr ""
-#: config/obj-elf.c:879
+#: config/obj-elf.c:884
msgid "extraneous characters at end of numeric section type"
msgstr ""
-#: config/obj-elf.c:885 read.c:2943
+#: config/obj-elf.c:890 read.c:2943
msgid "unrecognized section type"
msgstr ""
-#: config/obj-elf.c:917
+#: config/obj-elf.c:922
msgid "unrecognized section attribute"
msgstr ""
-#: config/obj-elf.c:948 config/tc-alpha.c:4208
+#: config/obj-elf.c:953 config/tc-alpha.c:4208
msgid "missing name"
msgstr ""
-#: config/obj-elf.c:1107
+#: config/obj-elf.c:1112
msgid "invalid merge entity size"
msgstr ""
-#: config/obj-elf.c:1114
+#: config/obj-elf.c:1119
msgid "entity size for SHF_MERGE not specified"
msgstr ""
-#: config/obj-elf.c:1120
+#: config/obj-elf.c:1125
msgid "? section flag ignored with G present"
msgstr ""
-#: config/obj-elf.c:1144
+#: config/obj-elf.c:1149
msgid "group name for SHF_GROUP not specified"
msgstr ""
-#: config/obj-elf.c:1167
+#: config/obj-elf.c:1172
msgid "character following name is not '#'"
msgstr ""
-#: config/obj-elf.c:1286
+#: config/obj-elf.c:1291
msgid ".previous without corresponding .section; ignored"
msgstr ""
-#: config/obj-elf.c:1312
+#: config/obj-elf.c:1317
msgid ".popsection without corresponding .pushsection; ignored"
msgstr ""
-#: config/obj-elf.c:1358
+#: config/obj-elf.c:1363
msgid "expected comma after name in .symver"
msgstr ""
-#: config/obj-elf.c:1381
+#: config/obj-elf.c:1386
#, c-format
msgid "missing version name in `%s' for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1392
+#: config/obj-elf.c:1397
#, c-format
msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1428
+#: config/obj-elf.c:1433
#, c-format
msgid "expected `%s' to have already been set for .vtable_inherit"
msgstr ""
-#: config/obj-elf.c:1438
+#: config/obj-elf.c:1443
msgid "expected comma after name in .vtable_inherit"
msgstr ""
-#: config/obj-elf.c:1490
+#: config/obj-elf.c:1495
msgid "expected comma after name in .vtable_entry"
msgstr ""
-#: config/obj-elf.c:1620
+#: config/obj-elf.c:1625
#, c-format
msgid "Attribute name not recognised: %s"
msgstr ""
-#: config/obj-elf.c:1637
+#: config/obj-elf.c:1642
msgid "expected numeric constant"
msgstr ""
-#: config/obj-elf.c:1646 config/tc-arm.c:6441
+#: config/obj-elf.c:1651 config/tc-arm.c:6445
msgid "expected comma"
msgstr ""
-#: config/obj-elf.c:1679
+#: config/obj-elf.c:1684
msgid "bad string constant"
msgstr ""
-#: config/obj-elf.c:1683
+#: config/obj-elf.c:1688
msgid "expected <tag> , <value>"
msgstr ""
-#: config/obj-elf.c:1802
+#: config/obj-elf.c:1807
msgid "expected quoted string"
msgstr ""
-#: config/obj-elf.c:1822
+#: config/obj-elf.c:1827
#, c-format
msgid "expected comma after name `%s' in .size directive"
msgstr ""
-#: config/obj-elf.c:1831
+#: config/obj-elf.c:1836
msgid "missing expression in .size directive"
msgstr ""
-#: config/obj-elf.c:1954
+#: config/obj-elf.c:1959
#, c-format
msgid "symbol '%s' is already defined"
msgstr ""
-#: config/obj-elf.c:1975
+#: config/obj-elf.c:1980
#, c-format
msgid "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
msgstr ""
-#: config/obj-elf.c:1987
+#: config/obj-elf.c:1992
#, c-format
msgid "symbol type \"%s\" is supported only by GNU targets"
msgstr ""
-#: config/obj-elf.c:1998
+#: config/obj-elf.c:2003
#, c-format
msgid "unrecognized symbol type \"%s\""
msgstr ""
-#: config/obj-elf.c:2165 config/obj-elf.c:2168
+#: config/obj-elf.c:2170 config/obj-elf.c:2173
#, c-format
msgid ".size expression for %s does not evaluate to a constant"
msgstr ""
-#: config/obj-elf.c:2202
+#: config/obj-elf.c:2207
#, c-format
msgid ""
"invalid attempt to declare external version name as default in symbol `%s'"
msgstr ""
-#: config/obj-elf.c:2264 ecoff.c:3592
+#: config/obj-elf.c:2269 ecoff.c:3600
#, c-format
msgid "symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-elf.c:2379
+#: config/obj-elf.c:2384
#, c-format
msgid "assuming all members of group `%s' are COMDAT"
msgstr ""
-#: config/obj-elf.c:2391
+#: config/obj-elf.c:2396
#, c-format
msgid "can't create group: %s"
msgstr ""
-#: config/obj-elf.c:2529
+#: config/obj-elf.c:2534
#, c-format
msgid "failed to set up debugging information: %s"
msgstr ""
-#: config/obj-elf.c:2549
+#: config/obj-elf.c:2554
#, c-format
msgid "can't start writing .mdebug section: %s"
msgstr ""
-#: config/obj-elf.c:2557
+#: config/obj-elf.c:2562
#, c-format
msgid "could not write .mdebug section: %s"
msgstr ""
@@ -1074,7 +1074,7 @@ msgstr ""
#: config/obj-macho.c:195
#, c-format
-msgid "cannot overide zerofill section type for `%s,%s'"
+msgid "cannot override zerofill section type for `%s,%s'"
msgstr ""
#: config/obj-macho.c:249
@@ -1101,7 +1101,7 @@ msgid "missing sizeof_stub expression"
msgstr ""
#: config/obj-macho.c:476 config/tc-ia64.c:1083 config/tc-ia64.c:11770
-#: config/tc-score.c:6103 read.c:1714
+#: config/tc-score.c:6103 expr.c:1172 expr.c:1325 read.c:1714
msgid "expected symbol name"
msgstr ""
@@ -1118,7 +1118,7 @@ msgstr ""
msgid "size (%ld) out of range, ignored"
msgstr ""
-#: config/obj-macho.c:514 config/tc-score.c:6264 ecoff.c:3351 read.c:1770
+#: config/obj-macho.c:514 config/tc-score.c:6264 ecoff.c:3359 read.c:1770
#: read.c:1875 read.c:2626 read.c:3257 read.c:3636 symbols.c:339 symbols.c:435
#, c-format
msgid "symbol `%s' is already defined"
@@ -1359,12 +1359,12 @@ msgid "invalid register type %d"
msgstr ""
#: config/tc-aarch64.c:586 config/tc-aarch64.c:588 config/tc-arm.c:1048
-#: config/tc-score.c:6514 expr.c:1363 read.c:2608
+#: config/tc-score.c:6514 expr.c:1385 read.c:2608
msgid "bad expression"
msgstr ""
#: config/tc-aarch64.c:598 config/tc-arm.c:1059 config/tc-i860.c:1003
-#: config/tc-sparc.c:3327
+#: config/tc-sparc.c:3366
msgid "bad segment"
msgstr ""
@@ -1496,8 +1496,8 @@ msgstr ""
msgid "literal pool overflow"
msgstr ""
-#: config/tc-aarch64.c:1902 config/tc-aarch64.c:5887 config/tc-arm.c:3531
-#: config/tc-arm.c:6949
+#: config/tc-aarch64.c:1902 config/tc-aarch64.c:5892 config/tc-arm.c:3531
+#: config/tc-arm.c:6953
msgid "unrecognized relocation suffix"
msgstr ""
@@ -1513,11 +1513,11 @@ msgstr ""
msgid "missing immediate expression"
msgstr ""
-#: config/tc-aarch64.c:2343 config/tc-aarch64.c:5711 config/tc-aarch64.c:5731
+#: config/tc-aarch64.c:2343 config/tc-aarch64.c:5716 config/tc-aarch64.c:5736
msgid "invalid floating-point constant"
msgstr ""
-#: config/tc-aarch64.c:2973 config/tc-arm.c:5107 config/tc-arm.c:5116
+#: config/tc-aarch64.c:2973 config/tc-arm.c:5111 config/tc-arm.c:5120
msgid "shift expression expected"
msgstr ""
@@ -1620,7 +1620,7 @@ msgstr ""
msgid "invalid expression in the address"
msgstr ""
-#: config/tc-aarch64.c:3566 config/tc-arm.c:5642 config/tc-arm.c:6219
+#: config/tc-aarch64.c:3566 config/tc-arm.c:5646 config/tc-arm.c:6223
msgid "']' expected"
msgstr ""
@@ -1628,7 +1628,7 @@ msgstr ""
msgid "register offset not allowed in pre-indexed addressing mode"
msgstr ""
-#: config/tc-aarch64.c:3589 config/tc-arm.c:5678
+#: config/tc-aarch64.c:3589 config/tc-arm.c:5682
msgid "cannot combine pre- and post-indexing"
msgstr ""
@@ -1715,7 +1715,7 @@ msgstr ""
msgid "%s out of range %d to %d at operand %d -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:4652 config/tc-aarch64.c:4656 config/tc-aarch64.c:6416
+#: config/tc-aarch64.c:4652 config/tc-aarch64.c:4656 config/tc-aarch64.c:6422
msgid "immediate value"
msgstr ""
@@ -1763,328 +1763,328 @@ msgstr ""
msgid "the top half of a 128-bit FP/SIMD register is expected"
msgstr ""
-#: config/tc-aarch64.c:5490 config/tc-arm.c:1883 config/tc-arm.c:1928
+#: config/tc-aarch64.c:5493 config/tc-arm.c:1883 config/tc-arm.c:1928
#: config/tc-h8300.c:1048
msgid "invalid register list"
msgstr ""
-#: config/tc-aarch64.c:5510
+#: config/tc-aarch64.c:5513
msgid "missing type suffix"
msgstr ""
-#: config/tc-aarch64.c:5529
+#: config/tc-aarch64.c:5532
msgid "C0 - C15 expected"
msgstr ""
-#: config/tc-aarch64.c:5626 config/tc-aarch64.c:5650
+#: config/tc-aarch64.c:5631 config/tc-aarch64.c:5655
msgid "immediate zero expected"
msgstr ""
-#: config/tc-aarch64.c:5746
+#: config/tc-aarch64.c:5751
msgid "shift not allowed for bitmask immediate"
msgstr ""
-#: config/tc-aarch64.c:5800
+#: config/tc-aarch64.c:5805
msgid "can't mix relocation modifier with explicit shift"
msgstr ""
-#: config/tc-aarch64.c:5848
+#: config/tc-aarch64.c:5853
msgid "invalid condition"
msgstr ""
-#: config/tc-aarch64.c:5874
+#: config/tc-aarch64.c:5879
msgid "invalid pc-relative address"
msgstr ""
#. Only permit "=value" in the literal load instructions.
#. The literal will be generated by programmer_friendly_fixup.
-#: config/tc-aarch64.c:5882
+#: config/tc-aarch64.c:5887
msgid "invalid use of \"=immediate\""
msgstr ""
-#: config/tc-aarch64.c:5947 config/tc-aarch64.c:5979 config/tc-aarch64.c:5997
-#: config/tc-aarch64.c:6019 config/tc-aarch64.c:6038 config/tc-aarch64.c:6057
-#: config/tc-aarch64.c:6076 config/tc-aarch64.c:6110 config/tc-aarch64.c:6117
-#: config/tc-aarch64.c:6146 config/tc-aarch64.c:6171 config/tc-aarch64.c:6187
-#: config/tc-aarch64.c:6211
+#: config/tc-aarch64.c:5952 config/tc-aarch64.c:5984 config/tc-aarch64.c:6002
+#: config/tc-aarch64.c:6024 config/tc-aarch64.c:6043 config/tc-aarch64.c:6062
+#: config/tc-aarch64.c:6081 config/tc-aarch64.c:6116 config/tc-aarch64.c:6123
+#: config/tc-aarch64.c:6152 config/tc-aarch64.c:6177 config/tc-aarch64.c:6193
+#: config/tc-aarch64.c:6217
msgid "invalid addressing mode"
msgstr ""
-#: config/tc-aarch64.c:5963
+#: config/tc-aarch64.c:5968
msgid "the optional immediate offset can only be 0"
msgstr ""
-#: config/tc-aarch64.c:6002 config/tc-aarch64.c:6024 config/tc-aarch64.c:6043
+#: config/tc-aarch64.c:6007 config/tc-aarch64.c:6029 config/tc-aarch64.c:6048
msgid "relocation not allowed"
msgstr ""
-#: config/tc-aarch64.c:6086
+#: config/tc-aarch64.c:6091
msgid "writeback value must be an immediate constant"
msgstr ""
#. Make sure this has priority over
#. "invalid addressing mode".
-#: config/tc-aarch64.c:6125
+#: config/tc-aarch64.c:6131
msgid "constant offset required"
msgstr ""
-#: config/tc-aarch64.c:6221
+#: config/tc-aarch64.c:6227
msgid "unknown or missing system register name"
msgstr ""
-#: config/tc-aarch64.c:6231
+#: config/tc-aarch64.c:6237
msgid "unknown or missing PSTATE field name"
msgstr ""
-#: config/tc-aarch64.c:6255
+#: config/tc-aarch64.c:6261
msgid "unknown or missing operation name"
msgstr ""
-#: config/tc-aarch64.c:6268
+#: config/tc-aarch64.c:6274
msgid "the specified option is not accepted in ISB"
msgstr ""
-#: config/tc-aarch64.c:6294 config/tc-aarch64.c:7416 config/tc-arm.c:7164
+#: config/tc-aarch64.c:6300 config/tc-aarch64.c:7422 config/tc-arm.c:7168
#, c-format
msgid "unhandled operand code %d"
msgstr ""
-#: config/tc-aarch64.c:6336
+#: config/tc-aarch64.c:6342
msgid "unexpected comma before the omitted optional operand"
msgstr ""
-#: config/tc-aarch64.c:6364
+#: config/tc-aarch64.c:6370
msgid "unexpected characters following instruction"
msgstr ""
-#: config/tc-aarch64.c:6442 config/tc-arm.c:5218 config/tc-arm.c:5777
-#: config/tc-arm.c:7911
+#: config/tc-aarch64.c:6448 config/tc-arm.c:5222 config/tc-arm.c:5781
+#: config/tc-arm.c:7915
msgid "constant expression expected"
msgstr ""
-#: config/tc-aarch64.c:6449
+#: config/tc-aarch64.c:6455
msgid "literal pool insertion failed"
msgstr ""
-#: config/tc-aarch64.c:6518 config/tc-aarch64.c:6530
+#: config/tc-aarch64.c:6524 config/tc-aarch64.c:6536
#, c-format
msgid "unpredictable transfer with writeback -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6534
+#: config/tc-aarch64.c:6540
#, c-format
msgid "unpredictable load of register pair -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6611
+#: config/tc-aarch64.c:6617
#, c-format
msgid "unknown mnemonic `%s' -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6619
+#: config/tc-aarch64.c:6625
#, c-format
msgid "unexpected comma after the mnemonic name `%s' -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6677
+#: config/tc-aarch64.c:6683
#, c-format
msgid "selected processor does not support `%s'"
msgstr ""
-#: config/tc-aarch64.c:7079 config/tc-arm.c:22521
+#: config/tc-aarch64.c:7085 config/tc-arm.c:22525
msgid "GOT already in the symbol table"
msgstr ""
-#: config/tc-aarch64.c:7241
+#: config/tc-aarch64.c:7247
msgid "immediate cannot be moved by a single instruction"
msgstr ""
-#: config/tc-aarch64.c:7284 config/tc-aarch64.c:7329 config/tc-aarch64.c:7355
-#: config/tc-arm.c:15313 config/tc-arm.c:15340 config/tc-arm.c:15982
-#: config/tc-arm.c:16469 config/tc-arm.c:17291 config/tc-arm.c:17331
+#: config/tc-aarch64.c:7290 config/tc-aarch64.c:7335 config/tc-aarch64.c:7361
+#: config/tc-arm.c:15317 config/tc-arm.c:15344 config/tc-arm.c:15986
+#: config/tc-arm.c:16473 config/tc-arm.c:17295 config/tc-arm.c:17335
#: config/tc-metag.c:2444 config/tc-metag.c:2453 config/tc-metag.c:2492
#: config/tc-metag.c:2501 config/tc-metag.c:3021 config/tc-metag.c:3030
msgid "immediate out of range"
msgstr ""
-#: config/tc-aarch64.c:7348 config/tc-metag.c:4656 config/tc-xtensa.c:4184
+#: config/tc-aarch64.c:7354 config/tc-metag.c:4656 config/tc-xtensa.c:4184
msgid "invalid immediate"
msgstr ""
-#: config/tc-aarch64.c:7411 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
+#: config/tc-aarch64.c:7417 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
#: config/tc-tic6x.c:3953 config/tc-tic6x.c:3981
msgid "immediate offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7485 config/tc-arm.c:22859 config/tc-arm.c:22927
-#: config/tc-arm.c:23209
+#: config/tc-aarch64.c:7491 config/tc-arm.c:22863 config/tc-arm.c:22931
+#: config/tc-arm.c:23213
#, c-format
msgid "undefined symbol %s used as an immediate value"
msgstr ""
-#: config/tc-aarch64.c:7497
+#: config/tc-aarch64.c:7503
msgid "pc-relative load offset not word aligned"
msgstr ""
-#: config/tc-aarch64.c:7500
+#: config/tc-aarch64.c:7506
msgid "pc-relative load offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7512
+#: config/tc-aarch64.c:7518
msgid "pc-relative address offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7524 config/tc-aarch64.c:7539
+#: config/tc-aarch64.c:7530 config/tc-aarch64.c:7545
msgid "conditional branch target not word aligned"
msgstr ""
-#: config/tc-aarch64.c:7527 config/tc-aarch64.c:7542 config/tc-arm.c:23500
+#: config/tc-aarch64.c:7533 config/tc-aarch64.c:7548 config/tc-arm.c:23504
msgid "conditional branch out of range"
msgstr ""
-#: config/tc-aarch64.c:7555
+#: config/tc-aarch64.c:7561
msgid "branch target not word aligned"
msgstr ""
-#: config/tc-aarch64.c:7558 config/tc-arm.c:810 config/tc-mips.c:15482
-#: config/tc-mips.c:15498 config/tc-mips.c:15588
+#: config/tc-aarch64.c:7564 config/tc-arm.c:810 config/tc-mips.c:15507
+#: config/tc-mips.c:15523 config/tc-mips.c:15613
msgid "branch out of range"
msgstr ""
-#: config/tc-aarch64.c:7610 config/tc-arm.c:23100 config/tc-arm.c:23115
-#: config/tc-arm.c:23130 config/tc-arm.c:23141 config/tc-arm.c:23164
-#: config/tc-arm.c:23962 config/tc-moxie.c:716 config/tc-pj.c:452
+#: config/tc-aarch64.c:7616 config/tc-arm.c:23104 config/tc-arm.c:23119
+#: config/tc-arm.c:23134 config/tc-arm.c:23145 config/tc-arm.c:23168
+#: config/tc-arm.c:23966 config/tc-moxie.c:716 config/tc-pj.c:452
#: config/tc-sh.c:4293
msgid "offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7625
+#: config/tc-aarch64.c:7631
msgid "unsigned value out of range"
msgstr ""
-#: config/tc-aarch64.c:7633
+#: config/tc-aarch64.c:7639
msgid "signed value out of range"
msgstr ""
-#: config/tc-aarch64.c:7775
+#: config/tc-aarch64.c:7781
#, c-format
msgid "unexpected %s fixup"
msgstr ""
-#: config/tc-aarch64.c:7841 config/tc-arm.c:24471 config/tc-arm.c:24492
-#: config/tc-mips.c:17772 config/tc-or1k.c:348 config/tc-score.c:7480
+#: config/tc-aarch64.c:7847 config/tc-arm.c:24475 config/tc-arm.c:24496
+#: config/tc-mips.c:17796 config/tc-or1k.c:348 config/tc-score.c:7480
#, c-format
msgid "cannot represent %s relocation in this object file format"
msgstr ""
-#: config/tc-aarch64.c:7874
+#: config/tc-aarch64.c:7880
#, c-format
msgid "cannot do %u-byte relocation"
msgstr ""
-#: config/tc-aarch64.c:8169 config/tc-arm.c:24952 config/tc-score.c:6297
+#: config/tc-aarch64.c:8175 config/tc-arm.c:24956 config/tc-score.c:6297
#: config/tc-score.c:6527 config/tc-score.c:6532
msgid "virtual memory exhausted"
msgstr ""
-#: config/tc-aarch64.c:8327 config/tc-arm.c:25281
+#: config/tc-aarch64.c:8333 config/tc-arm.c:25285
msgid "assemble for big-endian"
msgstr ""
-#: config/tc-aarch64.c:8328 config/tc-arm.c:25282
+#: config/tc-aarch64.c:8334 config/tc-arm.c:25286
msgid "assemble for little-endian"
msgstr ""
-#: config/tc-aarch64.c:8331
+#: config/tc-aarch64.c:8337
msgid "temporary switch for dumping"
msgstr ""
-#: config/tc-aarch64.c:8333
+#: config/tc-aarch64.c:8339
msgid "output verbose error messages"
msgstr ""
-#: config/tc-aarch64.c:8335
+#: config/tc-aarch64.c:8341
msgid "do not output verbose error messages"
msgstr ""
-#: config/tc-aarch64.c:8509 config/tc-arm.c:25873
+#: config/tc-aarch64.c:8521 config/tc-arm.c:25878
msgid "invalid architectural extension"
msgstr ""
-#: config/tc-aarch64.c:8534 config/tc-arm.c:25905
+#: config/tc-aarch64.c:8546 config/tc-arm.c:25910
msgid "must specify extensions to add before specifying those to remove"
msgstr ""
-#: config/tc-aarch64.c:8542 config/tc-arm.c:25913
+#: config/tc-aarch64.c:8554 config/tc-arm.c:25918
msgid "missing architectural extension"
msgstr ""
-#: config/tc-aarch64.c:8569 config/tc-arm.c:25960
+#: config/tc-aarch64.c:8581 config/tc-arm.c:25965
#, c-format
msgid "unknown architectural extension `%s'"
msgstr ""
-#: config/tc-aarch64.c:8593 config/tc-arm.c:25994 config/tc-metag.c:5834
+#: config/tc-aarch64.c:8605 config/tc-arm.c:25999 config/tc-metag.c:5834
#, c-format
msgid "missing cpu name `%s'"
msgstr ""
-#: config/tc-aarch64.c:8607 config/tc-aarch64.c:8824 config/tc-arm.c:26026
-#: config/tc-arm.c:26637 config/tc-metag.c:5845
+#: config/tc-aarch64.c:8619 config/tc-aarch64.c:8836 config/tc-arm.c:26031
+#: config/tc-arm.c:26642 config/tc-metag.c:5845
#, c-format
msgid "unknown cpu `%s'"
msgstr ""
-#: config/tc-aarch64.c:8625 config/tc-arm.c:26044
+#: config/tc-aarch64.c:8637 config/tc-arm.c:26049
#, c-format
msgid "missing architecture name `%s'"
msgstr ""
-#: config/tc-aarch64.c:8639 config/tc-aarch64.c:8871 config/tc-arm.c:26061
-#: config/tc-arm.c:26671 config/tc-arm.c:26702 config/tc-score.c:7715
+#: config/tc-aarch64.c:8651 config/tc-aarch64.c:8883 config/tc-arm.c:26066
+#: config/tc-arm.c:26676 config/tc-arm.c:26707 config/tc-score.c:7715
#, c-format
msgid "unknown architecture `%s'\n"
msgstr ""
-#: config/tc-aarch64.c:8662
+#: config/tc-aarch64.c:8674
#, c-format
msgid "missing abi name `%s'"
msgstr ""
-#: config/tc-aarch64.c:8673
+#: config/tc-aarch64.c:8685
#, c-format
msgid "unknown abi `%s'\n"
msgstr ""
-#: config/tc-aarch64.c:8679
+#: config/tc-aarch64.c:8691
msgid "<abi name>\t specify for ABI <abi name>"
msgstr ""
-#: config/tc-aarch64.c:8682 config/tc-arm.c:26148 config/tc-metag.c:5911
+#: config/tc-aarch64.c:8694 config/tc-arm.c:26153 config/tc-metag.c:5911
msgid "<cpu name>\t assemble for CPU <cpu name>"
msgstr ""
-#: config/tc-aarch64.c:8684 config/tc-arm.c:26150
+#: config/tc-aarch64.c:8696 config/tc-arm.c:26155
msgid "<arch name>\t assemble for architecture <arch name>"
msgstr ""
-#: config/tc-aarch64.c:8723 config/tc-aarch64.c:8743 config/tc-arm.c:26206
-#: config/tc-arm.c:26224 config/tc-arm.c:26244 config/tc-metag.c:5936
+#: config/tc-aarch64.c:8735 config/tc-aarch64.c:8755 config/tc-arm.c:26211
+#: config/tc-arm.c:26229 config/tc-arm.c:26249 config/tc-metag.c:5936
#, c-format
msgid "option `-%c%s' is deprecated: %s"
msgstr ""
-#: config/tc-aarch64.c:8763
+#: config/tc-aarch64.c:8775
#, c-format
msgid " AArch64-specific assembler options:\n"
msgstr ""
-#: config/tc-aarch64.c:8774 config/tc-arc.c:3499 config/tc-arm.c:26275
+#: config/tc-aarch64.c:8786 config/tc-arc.c:3503 config/tc-arm.c:26280
#, c-format
msgid " -EB assemble code for a big-endian cpu\n"
msgstr ""
-#: config/tc-aarch64.c:8779 config/tc-arc.c:3501 config/tc-arm.c:26280
+#: config/tc-aarch64.c:8791 config/tc-arc.c:3505 config/tc-arm.c:26285
#, c-format
msgid " -EL assemble code for a little-endian cpu\n"
msgstr ""
@@ -2159,7 +2159,7 @@ msgid "opcode `%s' not supported for target %s"
msgstr ""
#: config/tc-alpha.c:1192 config/tc-alpha.c:3366 config/tc-avr.c:1693
-#: config/tc-msp430.c:3914
+#: config/tc-msp430.c:3913 config/tc-wasm32.c:753
#, c-format
msgid "unknown opcode `%s'"
msgstr ""
@@ -2239,8 +2239,8 @@ msgstr ""
msgid "sequence number in use for !tlsgd!%ld"
msgstr ""
-#: config/tc-alpha.c:1996 config/tc-arc.c:2768 config/tc-mn10200.c:854
-#: config/tc-mn10300.c:1150 config/tc-ppc.c:1838 config/tc-s390.c:673
+#: config/tc-alpha.c:1996 config/tc-arc.c:2772 config/tc-mn10200.c:854
+#: config/tc-mn10300.c:1150 config/tc-ppc.c:1891 config/tc-s390.c:675
#: config/tc-tilegx.c:427 config/tc-tilegx.c:477 config/tc-tilepro.c:383
msgid "operand"
msgstr ""
@@ -2258,22 +2258,22 @@ msgid "can not resolve expression"
msgstr ""
#: config/tc-alpha.c:3514 config/tc-i370.c:1054 config/tc-microblaze.c:198
-#: config/tc-ppc.c:2160 config/tc-ppc.c:5260
+#: config/tc-ppc.c:2213 config/tc-ppc.c:5322
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-alpha.c:3525 config/tc-ia64.c:1094 config/tc-sparc.c:4293
+#: config/tc-alpha.c:3525 config/tc-ia64.c:1094 config/tc-sparc.c:4332
#: config/tc-v850.c:306
msgid "Ignoring attempt to re-define symbol"
msgstr ""
-#: config/tc-alpha.c:3617 config/tc-sparc.c:4301
+#: config/tc-alpha.c:3617 config/tc-sparc.c:4340
#, c-format
msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-alpha.c:3724 ecoff.c:3052
+#: config/tc-alpha.c:3724
msgid ".ent directive has no name"
msgstr ""
@@ -2281,7 +2281,7 @@ msgstr ""
msgid "nested .ent directives"
msgstr ""
-#: config/tc-alpha.c:3776 ecoff.c:3004
+#: config/tc-alpha.c:3776 ecoff.c:3008
msgid ".end directive has no name"
msgstr ""
@@ -2293,28 +2293,28 @@ msgstr ""
msgid ".end directive names different symbol than .ent"
msgstr ""
-#: config/tc-alpha.c:3829 ecoff.c:3137
+#: config/tc-alpha.c:3829 ecoff.c:3145
msgid ".fmask outside of .ent"
msgstr ""
-#: config/tc-alpha.c:3831 config/tc-score.c:5598 ecoff.c:3201
+#: config/tc-alpha.c:3831 config/tc-score.c:5598 ecoff.c:3209
msgid ".mask outside of .ent"
msgstr ""
-#: config/tc-alpha.c:3839 ecoff.c:3144
+#: config/tc-alpha.c:3839 ecoff.c:3152
msgid "bad .fmask directive"
msgstr ""
-#: config/tc-alpha.c:3841 ecoff.c:3208
+#: config/tc-alpha.c:3841 ecoff.c:3216
msgid "bad .mask directive"
msgstr ""
-#: config/tc-alpha.c:3874 config/tc-mips.c:19157 config/tc-score.c:5739
-#: ecoff.c:3165
+#: config/tc-alpha.c:3874 config/tc-mips.c:19181 config/tc-score.c:5739
+#: ecoff.c:3173
msgid ".frame outside of .ent"
msgstr ""
-#: config/tc-alpha.c:3885 config/tc-mips.c:19168 ecoff.c:3176
+#: config/tc-alpha.c:3885 config/tc-mips.c:19192 ecoff.c:3184
msgid "bad .frame directive"
msgstr ""
@@ -2451,7 +2451,7 @@ msgid "Alignment too large: %d. assumed"
msgstr ""
#: config/tc-alpha.c:5042 config/tc-d30v.c:2057 config/tc-nios2.c:355
-#: config/tc-nios2.c:480
+#: config/tc-nios2.c:480 config/tc-pru.c:220 config/tc-pru.c:335
msgid "Alignment negative: 0 assumed"
msgstr ""
@@ -2479,8 +2479,8 @@ msgstr ""
msgid "internal error: can't hash macro `%s': %s"
msgstr ""
-#: config/tc-alpha.c:5551 config/tc-arc.c:2421 config/tc-arc.c:2435
-#: config/tc-arm.c:7235 config/tc-arm.c:7247 config/tc-i960.c:706
+#: config/tc-alpha.c:5551 config/tc-arc.c:2425 config/tc-arc.c:2439
+#: config/tc-arm.c:7239 config/tc-arm.c:7251 config/tc-i960.c:706
#: config/tc-xtensa.c:5415 config/tc-xtensa.c:5491 config/tc-xtensa.c:5608
#: config/tc-z80.c:1935
msgid "syntax error"
@@ -2506,12 +2506,12 @@ msgid ""
"-replace/-noreplace\tenable or disable the optimization of procedure calls\n"
msgstr ""
-#: config/tc-alpha.c:5942 config/tc-arc.c:3046
+#: config/tc-alpha.c:5942 config/tc-arc.c:3050
#, c-format
msgid "unhandled relocation type %s"
msgstr ""
-#: config/tc-alpha.c:5955 config/tc-arc.c:3054
+#: config/tc-alpha.c:5955 config/tc-arc.c:3058
msgid "non-absolute expression in constant field"
msgstr ""
@@ -2529,13 +2529,13 @@ msgstr ""
msgid "!samegp reloc against symbol without .prologue: %s"
msgstr ""
-#: config/tc-alpha.c:6236 config/tc-arc.c:3177 config/tc-tilegx.c:1751
-#: config/tc-tilepro.c:1531 config/tc-xtensa.c:6101
+#: config/tc-alpha.c:6236 config/tc-arc.c:3181 config/tc-tilegx.c:1751
+#: config/tc-tilepro.c:1531 config/tc-wasm32.c:813 config/tc-xtensa.c:6101
#, c-format
msgid "cannot represent `%s' relocation in object file"
msgstr ""
-#: config/tc-alpha.c:6242 config/tc-arc.c:3183
+#: config/tc-alpha.c:6242 config/tc-arc.c:3187
#, c-format
msgid "internal error? cannot generate `%s' relocation"
msgstr ""
@@ -2550,8 +2550,8 @@ msgstr ""
msgid "internal error: can't hash opcode '%s': %s"
msgstr ""
-#: config/tc-arc.c:789 config/tc-arc.c:2518 config/tc-arc.c:2536
-#: config/tc-arc.c:2589 config/tc-arc.c:2613 config/tc-arc.c:4778
+#: config/tc-arc.c:789 config/tc-arc.c:2522 config/tc-arc.c:2540
+#: config/tc-arc.c:2593 config/tc-arc.c:2617 config/tc-arc.c:4813
#: config/tc-cr16.c:800 config/tc-cr16.c:823 config/tc-cris.c:1195
#: config/tc-crx.c:535 config/tc-crx.c:562 config/tc-crx.c:580
#: config/tc-pdp11.c:193
@@ -2576,12 +2576,12 @@ msgstr ""
msgid "unknown architecture: %s\n"
msgstr ""
-#: config/tc-arc.c:1030 config/tc-arc.c:2510 config/tc-h8300.c:81
+#: config/tc-arc.c:1030 config/tc-arc.c:2514 config/tc-h8300.c:81
#: config/tc-h8300.c:90 config/tc-h8300.c:100 config/tc-h8300.c:110
#: config/tc-h8300.c:120 config/tc-h8300.c:131 config/tc-h8300.c:248
#: config/tc-hppa.c:6823 config/tc-hppa.c:6829 config/tc-hppa.c:6835
#: config/tc-hppa.c:6841 config/tc-hppa.c:8230 config/tc-lm32.c:197
-#: config/tc-mips.c:3500 config/tc-mips.c:4009 config/tc-mn10300.c:935
+#: config/tc-mips.c:3511 config/tc-mips.c:4020 config/tc-mn10300.c:935
#: config/tc-mn10300.c:940 config/tc-mn10300.c:2440 config/tc-xc16x.c:79
#: config/tc-xc16x.c:86 config/tc-xc16x.c:93
msgid "could not set architecture and machine"
@@ -2619,7 +2619,8 @@ msgstr ""
msgid "extra comma"
msgstr ""
-#: config/tc-arc.c:1333 config/tc-xtensa.c:2047
+#: config/tc-arc.c:1333 config/tc-pru.c:1442 config/tc-pru.c:1707
+#: config/tc-xtensa.c:2047
msgid "missing argument"
msgstr ""
@@ -2643,61 +2644,61 @@ msgstr ""
msgid "Unhandled reloc type"
msgstr ""
-#: config/tc-arc.c:2389
+#: config/tc-arc.c:2393
#, c-format
msgid "%s for instruction '%s'"
msgstr ""
-#: config/tc-arc.c:2391
+#: config/tc-arc.c:2395
#, c-format
msgid "inappropriate arguments for opcode '%s'"
msgstr ""
-#: config/tc-arc.c:2393
+#: config/tc-arc.c:2397
#, c-format
msgid "opcode '%s' not supported for target %s"
msgstr ""
-#: config/tc-arc.c:2397 config/tc-tic6x.c:3195
+#: config/tc-arc.c:2401 config/tc-tic6x.c:3195
#, c-format
msgid "unknown opcode '%s'"
msgstr ""
-#: config/tc-arc.c:2455
+#: config/tc-arc.c:2459
#, c-format
msgid "Inserting \"%s\" into register table failed: %s"
msgstr ""
-#: config/tc-arc.c:2491
+#: config/tc-arc.c:2495
#, c-format
msgid "Inserting \"%s\" into address type table failed: %s"
msgstr ""
-#: config/tc-arc.c:2606 config/tc-arc.c:4765
+#: config/tc-arc.c:2610 config/tc-arc.c:4800
#, c-format
msgid "internal error: can't hash aux register '%s': %s"
msgstr ""
-#: config/tc-arc.c:2713
+#: config/tc-arc.c:2717
#, c-format
msgid "unhandled reloc %s in md_pcrel_from_section"
msgstr ""
-#: config/tc-arc.c:2778
+#: config/tc-arc.c:2782
msgid "Unaligned operand. Needs to be 32bit aligned"
msgstr ""
-#: config/tc-arc.c:2783
+#: config/tc-arc.c:2787
msgid "Unaligned operand. Needs to be 16bit aligned"
msgstr ""
-#: config/tc-arc.c:2860 config/tc-cr16.c:568 config/tc-crx.c:345
+#: config/tc-arc.c:2864 config/tc-cr16.c:568 config/tc-crx.c:345
#: config/tc-mn10200.c:766 write.c:1015
#, c-format
msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
msgstr ""
-#: config/tc-arc.c:2918
+#: config/tc-arc.c:2922
#, c-format
msgid "PC relative relocation not allowed for (internal) type %d"
msgstr ""
@@ -2706,35 +2707,35 @@ msgstr ""
#. the insn.
#. FIXME! Check for the conditionality of
#. the insn.
-#: config/tc-arc.c:2962 config/tc-arc.c:3935
+#: config/tc-arc.c:2966 config/tc-arc.c:3949
msgid "TLS_*_S9 relocs are not supported yet"
msgstr ""
#. I cannot fix an GOTPC relocation because I need to relax it
#. from ld rx,[pcl,@sym@gotpc] to add rx,pcl,@sym@gotpc.
-#: config/tc-arc.c:2998
+#: config/tc-arc.c:3002
msgid "Unsupported operation on reloc"
msgstr ""
-#: config/tc-arc.c:3074 config/tc-arc.c:3090
+#: config/tc-arc.c:3078 config/tc-arc.c:3094
msgid "unknown fixup size"
msgstr ""
-#: config/tc-arc.c:3224
+#: config/tc-arc.c:3228
msgid "no relaxation found for this instruction."
msgstr ""
-#: config/tc-arc.c:3477
+#: config/tc-arc.c:3481
#, c-format
msgid "ARC-specific assembler options:\n"
msgstr ""
-#: config/tc-arc.c:3503
+#: config/tc-arc.c:3507
#, c-format
msgid " -mrelax enable relaxation\n"
msgstr ""
-#: config/tc-arc.c:3506
+#: config/tc-arc.c:3510
#, c-format
msgid ""
"The following ARC-specific assembler options are deprecated and are "
@@ -2742,7 +2743,7 @@ msgid ""
"for compatibility only:\n"
msgstr ""
-#: config/tc-arc.c:3509
+#: config/tc-arc.c:3513
#, c-format
msgid ""
" -mEA\n"
@@ -2772,128 +2773,128 @@ msgid ""
" -mxy\n"
msgstr ""
-#: config/tc-arc.c:3599
+#: config/tc-arc.c:3603
#, c-format
msgid "Unable to find %s relocation for instruction %s"
msgstr ""
-#: config/tc-arc.c:3895
+#: config/tc-arc.c:3899
#, c-format
-msgid "Unable to use @plt relocatio for insn %s"
+msgid "Unable to use @plt relocation for insn %s"
msgstr ""
-#: config/tc-arc.c:3913
+#: config/tc-arc.c:3919
#, c-format
msgid "Unable to use @pcl relocation for insn %s"
msgstr ""
-#: config/tc-arc.c:3961
+#: config/tc-arc.c:3975
#, c-format
msgid "invalid relocation %s for field"
msgstr ""
-#: config/tc-arc.c:4057
+#: config/tc-arc.c:4087
msgid "A jump/branch instruction in delay slot."
msgstr ""
-#: config/tc-arc.c:4165 config/tc-microblaze.c:2525 config/tc-mn10300.c:1069
+#: config/tc-arc.c:4195 config/tc-microblaze.c:2525 config/tc-mn10300.c:1069
#: config/tc-sh.c:801 config/tc-z80.c:700 read.c:4582
#, c-format
msgid "unsupported BFD relocation size %u"
msgstr ""
-#: config/tc-arc.c:4185
+#: config/tc-arc.c:4215
#, c-format
msgid "Jump/Branch instruction detected at the end of the ZOL label @%s"
msgstr ""
-#: config/tc-arc.c:4192
+#: config/tc-arc.c:4222
#, c-format
msgid "Kernel instruction detected at the end of the ZOL label @%s"
msgstr ""
-#: config/tc-arc.c:4197
+#: config/tc-arc.c:4227
#, c-format
msgid ""
"A jump instruction with long immediate detected at the end of the ZOL label @"
"%s"
msgstr ""
-#: config/tc-arc.c:4203
+#: config/tc-arc.c:4233
#, c-format
msgid "An illegal use of delay slot detected at the end of the ZOL label @%s"
msgstr ""
-#: config/tc-arc.c:4303
+#: config/tc-arc.c:4338
msgid "expected comma after instruction name"
msgstr ""
-#: config/tc-arc.c:4315
+#: config/tc-arc.c:4350
msgid "expected comma after major opcode"
msgstr ""
-#: config/tc-arc.c:4501
+#: config/tc-arc.c:4536
#, c-format
msgid "Pseudocode already used %s"
msgstr ""
-#: config/tc-arc.c:4509
+#: config/tc-arc.c:4544
#, c-format
msgid "major opcode not in range [0x%02x - 0x%02x]"
msgstr ""
-#: config/tc-arc.c:4513
+#: config/tc-arc.c:4548
msgid "minor opcode not in range [0x00 - 0x3f]"
msgstr ""
-#: config/tc-arc.c:4519
+#: config/tc-arc.c:4554
msgid "Improper use of OP1_IMM_IMPLIED"
msgstr ""
-#: config/tc-arc.c:4525
+#: config/tc-arc.c:4560
msgid "Improper use of OP1_MUST_BE_IMM"
msgstr ""
-#: config/tc-arc.c:4537
+#: config/tc-arc.c:4572
msgid "Couldn't generate extension instruction opcodes"
msgstr ""
-#: config/tc-arc.c:4573
+#: config/tc-arc.c:4608
msgid "expected comma after name"
msgstr ""
-#: config/tc-arc.c:4584
+#: config/tc-arc.c:4619
#, c-format
msgid "%s second argument cannot be a negative number %d"
msgstr ""
-#: config/tc-arc.c:4599
+#: config/tc-arc.c:4634
msgid "expected comma after register number"
msgstr ""
-#: config/tc-arc.c:4620
+#: config/tc-arc.c:4655
msgid "invalid mode"
msgstr ""
-#: config/tc-arc.c:4638
+#: config/tc-arc.c:4673
msgid "expected comma after register mode"
msgstr ""
-#: config/tc-arc.c:4653
+#: config/tc-arc.c:4688
msgid "shortcut designator invalid"
msgstr ""
-#: config/tc-arc.c:4752
+#: config/tc-arc.c:4787
#, c-format
msgid "core register %s value (%d) too large"
msgstr ""
-#: config/tc-arc.c:4771
+#: config/tc-arc.c:4806
#, c-format
msgid "condition code %s value (%d) too large"
msgstr ""
-#: config/tc-arc.c:4790
+#: config/tc-arc.c:4825
msgid "Unknown extension"
msgstr ""
@@ -2969,7 +2970,7 @@ msgstr ""
msgid "iWMMXt data register expected"
msgstr ""
-#: config/tc-arm.c:628 config/tc-arm.c:7014
+#: config/tc-arm.c:628 config/tc-arm.c:7018
msgid "iWMMXt control register expected"
msgstr ""
@@ -3070,7 +3071,7 @@ msgstr ""
msgid "missing expression"
msgstr ""
-#: config/tc-arm.c:1078 config/tc-arm.c:5230 config/tc-i960.c:1298
+#: config/tc-arm.c:1078 config/tc-arm.c:5234 config/tc-i960.c:1298
#: config/tc-score.c:1210
msgid "invalid constant"
msgstr ""
@@ -3117,8 +3118,8 @@ msgstr ""
msgid "scalar must have an index"
msgstr ""
-#: config/tc-arm.c:1635 config/tc-arm.c:16358 config/tc-arm.c:16418
-#: config/tc-arm.c:16872
+#: config/tc-arm.c:1635 config/tc-arm.c:16362 config/tc-arm.c:16422
+#: config/tc-arm.c:16876
msgid "scalar index out of range"
msgstr ""
@@ -3307,7 +3308,7 @@ msgstr ""
msgid "(plt) is only valid on branch targets"
msgstr ""
-#: config/tc-arm.c:3552 config/tc-s390.c:1207 config/tc-s390.c:1868
+#: config/tc-arm.c:3552 config/tc-s390.c:1209 config/tc-s390.c:1870
#: config/tc-xtensa.c:1671
#, c-format
msgid "%s relocations do not fit in %d bytes"
@@ -3417,9 +3418,9 @@ msgstr ""
msgid "invalid unwind opcode"
msgstr ""
-#: config/tc-arm.c:4778 config/tc-arm.c:5783 config/tc-arm.c:10573
-#: config/tc-arm.c:11100 config/tc-arm.c:13130 config/tc-arm.c:14710
-#: config/tc-arm.c:23839 config/tc-arm.c:23903 config/tc-arm.c:23911
+#: config/tc-arm.c:4778 config/tc-arm.c:5787 config/tc-arm.c:10577
+#: config/tc-arm.c:11104 config/tc-arm.c:13134 config/tc-arm.c:14714
+#: config/tc-arm.c:23843 config/tc-arm.c:23907 config/tc-arm.c:23915
#: config/tc-metag.c:5176 config/tc-z8k.c:1151 config/tc-z8k.c:1161
msgid "immediate value out of range"
msgstr ""
@@ -3428,259 +3429,259 @@ msgstr ""
msgid "invalid FPA immediate expression"
msgstr ""
-#: config/tc-arm.c:5130
+#: config/tc-arm.c:5134
msgid "'LSL' or 'ASR' required"
msgstr ""
-#: config/tc-arm.c:5138
+#: config/tc-arm.c:5142
msgid "'LSL' required"
msgstr ""
-#: config/tc-arm.c:5146
+#: config/tc-arm.c:5150
msgid "'ASR' required"
msgstr ""
-#: config/tc-arm.c:5225
+#: config/tc-arm.c:5229
msgid "invalid rotation"
msgstr ""
-#: config/tc-arm.c:5405 config/tc-arm.c:5574
+#: config/tc-arm.c:5409 config/tc-arm.c:5578
msgid "unknown group relocation"
msgstr ""
-#: config/tc-arm.c:5441
+#: config/tc-arm.c:5445
msgid "alignment must be constant"
msgstr ""
-#: config/tc-arm.c:5605
+#: config/tc-arm.c:5609
msgid "this group relocation is not allowed on this instruction"
msgstr ""
-#: config/tc-arm.c:5660
+#: config/tc-arm.c:5664
msgid "'}' expected at end of 'option' field"
msgstr ""
-#: config/tc-arm.c:5665
+#: config/tc-arm.c:5669
msgid "cannot combine index with option"
msgstr ""
-#: config/tc-arm.c:5921
+#: config/tc-arm.c:5925
msgid "unexpected bit specified after APSR"
msgstr ""
-#: config/tc-arm.c:5933
+#: config/tc-arm.c:5937
msgid "selected processor does not support DSP extension"
msgstr ""
-#: config/tc-arm.c:5945
+#: config/tc-arm.c:5949
msgid "bad bitmask specified after APSR"
msgstr ""
-#: config/tc-arm.c:5969
+#: config/tc-arm.c:5973
msgid "writing to APSR without specifying a bitmask is deprecated"
msgstr ""
-#: config/tc-arm.c:5981 config/tc-arm.c:12254 config/tc-arm.c:12299
-#: config/tc-arm.c:12303
+#: config/tc-arm.c:5985 config/tc-arm.c:12258 config/tc-arm.c:12303
+#: config/tc-arm.c:12307
msgid "selected processor does not support requested special purpose register"
msgstr ""
-#: config/tc-arm.c:5986
+#: config/tc-arm.c:5990
msgid "flag for {c}psr instruction expected"
msgstr ""
-#: config/tc-arm.c:6011
+#: config/tc-arm.c:6015
msgid "unrecognized CPS flag"
msgstr ""
-#: config/tc-arm.c:6018
+#: config/tc-arm.c:6022
msgid "missing CPS flags"
msgstr ""
-#: config/tc-arm.c:6041 config/tc-arm.c:6047
+#: config/tc-arm.c:6045 config/tc-arm.c:6051
msgid "valid endian specifiers are be or le"
msgstr ""
-#: config/tc-arm.c:6069
+#: config/tc-arm.c:6073
msgid "missing rotation field after comma"
msgstr ""
-#: config/tc-arm.c:6084
+#: config/tc-arm.c:6088
msgid "rotation can only be 0, 8, 16, or 24"
msgstr ""
-#: config/tc-arm.c:6113
+#: config/tc-arm.c:6117
msgid "condition required"
msgstr ""
-#: config/tc-arm.c:6181 config/tc-arm.c:8868
+#: config/tc-arm.c:6185 config/tc-arm.c:8872
msgid "'[' expected"
msgstr ""
-#: config/tc-arm.c:6194
+#: config/tc-arm.c:6198
msgid "',' expected"
msgstr ""
-#: config/tc-arm.c:6211
+#: config/tc-arm.c:6215
msgid "invalid shift"
msgstr ""
-#: config/tc-arm.c:6284
+#: config/tc-arm.c:6288
msgid "can't use Neon quad register here"
msgstr ""
-#: config/tc-arm.c:6351
+#: config/tc-arm.c:6355
msgid "expected <Rm> or <Dm> or <Qm> operand"
msgstr ""
-#: config/tc-arm.c:6431
+#: config/tc-arm.c:6435
msgid "parse error"
msgstr ""
#. ISB can only take SY as an option.
-#: config/tc-arm.c:6698
+#: config/tc-arm.c:6702
msgid "invalid barrier type"
msgstr ""
-#: config/tc-arm.c:6794
+#: config/tc-arm.c:6798
msgid "only floating point zero is allowed as immediate value"
msgstr ""
-#: config/tc-arm.c:6852
+#: config/tc-arm.c:6856
msgid "immediate value is out of range"
msgstr ""
-#: config/tc-arm.c:6999
+#: config/tc-arm.c:7003
msgid "iWMMXt data or control register expected"
msgstr ""
-#: config/tc-arm.c:7039
+#: config/tc-arm.c:7043
msgid "Banked registers are not available with this architecture."
msgstr ""
-#: config/tc-arm.c:7261 config/tc-score.c:264
+#: config/tc-arm.c:7265 config/tc-score.c:264
msgid "garbage following instruction"
msgstr ""
#. If REG is R13 (the stack pointer), warn that its use is
#. deprecated.
-#: config/tc-arm.c:7302
+#: config/tc-arm.c:7306
msgid "use of r13 is deprecated"
msgstr ""
-#: config/tc-arm.c:7320
+#: config/tc-arm.c:7324
msgid ""
"ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:7395
+#: config/tc-arm.c:7399
msgid "D register out of range for selected VFP version"
msgstr ""
-#: config/tc-arm.c:7492 config/tc-arm.c:10293
+#: config/tc-arm.c:7496 config/tc-arm.c:10297
msgid "Instruction does not support =N addresses"
msgstr ""
-#: config/tc-arm.c:7500
+#: config/tc-arm.c:7504
msgid "instruction does not accept preindexed addressing"
msgstr ""
#. unindexed - only for coprocessor
-#: config/tc-arm.c:7516 config/tc-arm.c:10356
+#: config/tc-arm.c:7520 config/tc-arm.c:10360
msgid "instruction does not accept unindexed addressing"
msgstr ""
-#: config/tc-arm.c:7524
+#: config/tc-arm.c:7528
msgid "destination register same as write-back base"
msgstr ""
-#: config/tc-arm.c:7525
+#: config/tc-arm.c:7529
msgid "source register same as write-back base"
msgstr ""
-#: config/tc-arm.c:7575
+#: config/tc-arm.c:7579
msgid "use of PC in this instruction is deprecated"
msgstr ""
-#: config/tc-arm.c:7598
+#: config/tc-arm.c:7602
msgid "instruction does not accept scaled register index"
msgstr ""
-#: config/tc-arm.c:7903
+#: config/tc-arm.c:7907
msgid "invalid pseudo operation"
msgstr ""
-#: config/tc-arm.c:8145
+#: config/tc-arm.c:8149
msgid "invalid co-processor operand"
msgstr ""
-#: config/tc-arm.c:8161
+#: config/tc-arm.c:8165
msgid "instruction does not support unindexed addressing"
msgstr ""
-#: config/tc-arm.c:8176
+#: config/tc-arm.c:8180
msgid "pc may not be used with write-back"
msgstr ""
-#: config/tc-arm.c:8181
+#: config/tc-arm.c:8185
msgid "instruction does not support writeback"
msgstr ""
-#: config/tc-arm.c:8287
+#: config/tc-arm.c:8291
msgid "Rn must not overlap other operands"
msgstr ""
-#: config/tc-arm.c:8292
+#: config/tc-arm.c:8296
msgid "swp{b} use is obsoleted for ARMv8 and later"
msgstr ""
-#: config/tc-arm.c:8295
+#: config/tc-arm.c:8299
msgid "swp{b} use is deprecated for ARMv6 and ARMv7"
msgstr ""
-#: config/tc-arm.c:8400 config/tc-arm.c:8419 config/tc-arm.c:8432
-#: config/tc-arm.c:10937 config/tc-arm.c:10968 config/tc-arm.c:10990
+#: config/tc-arm.c:8404 config/tc-arm.c:8423 config/tc-arm.c:8436
+#: config/tc-arm.c:10941 config/tc-arm.c:10972 config/tc-arm.c:10994
msgid "bit-field extends past end of register"
msgstr ""
-#: config/tc-arm.c:8462
+#: config/tc-arm.c:8466
msgid "the only valid suffixes here are '(plt)' and '(tlscall)'"
msgstr ""
-#: config/tc-arm.c:8515
+#: config/tc-arm.c:8519
msgid "use of r15 in blx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:8537
+#: config/tc-arm.c:8541
msgid "use of r15 in bx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:8562
+#: config/tc-arm.c:8566
msgid "use of r15 in bxj is not really useful"
msgstr ""
-#: config/tc-arm.c:8610
+#: config/tc-arm.c:8614
msgid "This coprocessor register access is deprecated in ARMv8"
msgstr ""
-#: config/tc-arm.c:8818 config/tc-arm.c:8827
+#: config/tc-arm.c:8822 config/tc-arm.c:8831
msgid "writeback of base register is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:8821
+#: config/tc-arm.c:8825
msgid "writeback of base register when in register list is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:8831
+#: config/tc-arm.c:8835
msgid "if writeback register is in list, it must be the lowest reg in the list"
msgstr ""
-#: config/tc-arm.c:8863
+#: config/tc-arm.c:8867
msgid "first transfer register must be even"
msgstr ""
-#: config/tc-arm.c:8866
+#: config/tc-arm.c:8870
msgid "can only transfer two consecutive registers"
msgstr ""
@@ -3688,1218 +3689,1214 @@ msgstr ""
#. have been called in the first place.
#. If op 2 were present and equal to PC, this function wouldn't
#. have been called in the first place.
-#: config/tc-arm.c:8867 config/tc-arm.c:8937 config/tc-arm.c:9591
-#: config/tc-arm.c:11746
+#: config/tc-arm.c:8871 config/tc-arm.c:8941 config/tc-arm.c:9595
+#: config/tc-arm.c:11750
msgid "r14 not allowed here"
msgstr ""
-#: config/tc-arm.c:8879
+#: config/tc-arm.c:8883
msgid "base register written back, and overlaps second transfer register"
msgstr ""
-#: config/tc-arm.c:8889
+#: config/tc-arm.c:8893
msgid "index register overlaps transfer register"
msgstr ""
-#: config/tc-arm.c:8918 config/tc-arm.c:9558
+#: config/tc-arm.c:8922 config/tc-arm.c:9562
msgid "offset must be zero in ARM encoding"
msgstr ""
-#: config/tc-arm.c:8931 config/tc-arm.c:9585
+#: config/tc-arm.c:8935 config/tc-arm.c:9589
msgid "even register required"
msgstr ""
-#: config/tc-arm.c:8934
+#: config/tc-arm.c:8938
msgid "can only load two consecutive registers"
msgstr ""
-#: config/tc-arm.c:8952
+#: config/tc-arm.c:8956
msgid "ldr to register 15 must be 4-byte alligned"
msgstr ""
-#: config/tc-arm.c:8975 config/tc-arm.c:9007
+#: config/tc-arm.c:8979 config/tc-arm.c:9011
msgid "this instruction requires a post-indexed address"
msgstr ""
-#: config/tc-arm.c:9034
+#: config/tc-arm.c:9038
msgid "Rd and Rm should be different in mla"
msgstr ""
-#: config/tc-arm.c:9061 config/tc-arm.c:12118
-msgid ":lower16: not allowed this instruction"
+#: config/tc-arm.c:9065 config/tc-arm.c:12122
+msgid ":lower16: not allowed in this instruction"
msgstr ""
-#: config/tc-arm.c:9063
-msgid ":upper16: not allowed instruction"
+#: config/tc-arm.c:9067 config/tc-arm.c:12127
+msgid ":upper16: not allowed in this instruction"
msgstr ""
-#: config/tc-arm.c:9080
+#: config/tc-arm.c:9084
msgid "operand 1 must be FPSCR"
msgstr ""
-#: config/tc-arm.c:9162 config/tc-arm.c:12237
+#: config/tc-arm.c:9166 config/tc-arm.c:12241
msgid "bad register for mrs"
msgstr ""
-#: config/tc-arm.c:9169 config/tc-arm.c:12261
+#: config/tc-arm.c:9173 config/tc-arm.c:12265
msgid "'APSR', 'CPSR' or 'SPSR' expected"
msgstr ""
-#: config/tc-arm.c:9210
+#: config/tc-arm.c:9214
msgid "Rd and Rm should be different in mul"
msgstr ""
-#: config/tc-arm.c:9229 config/tc-arm.c:9503 config/tc-arm.c:12400
+#: config/tc-arm.c:9233 config/tc-arm.c:9507 config/tc-arm.c:12404
msgid "rdhi and rdlo must be different"
msgstr ""
-#: config/tc-arm.c:9235
+#: config/tc-arm.c:9239
msgid "rdhi, rdlo and rm must all be different"
msgstr ""
-#: config/tc-arm.c:9301
+#: config/tc-arm.c:9305
msgid "'[' expected after PLD mnemonic"
msgstr ""
-#: config/tc-arm.c:9303 config/tc-arm.c:9318
+#: config/tc-arm.c:9307 config/tc-arm.c:9322
msgid "post-indexed expression used in preload instruction"
msgstr ""
-#: config/tc-arm.c:9305 config/tc-arm.c:9320
+#: config/tc-arm.c:9309 config/tc-arm.c:9324
msgid "writeback used in preload instruction"
msgstr ""
-#: config/tc-arm.c:9307 config/tc-arm.c:9322
+#: config/tc-arm.c:9311 config/tc-arm.c:9326
msgid "unindexed addressing used in preload instruction"
msgstr ""
-#: config/tc-arm.c:9316
+#: config/tc-arm.c:9320
msgid "'[' expected after PLI mnemonic"
msgstr ""
-#: config/tc-arm.c:9331 config/tc-arm.c:12569
+#: config/tc-arm.c:9335 config/tc-arm.c:12573
msgid "push/pop do not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:9409 config/tc-arm.c:12716
+#: config/tc-arm.c:9413 config/tc-arm.c:12720
msgid "setend use is deprecated for ARMv8"
msgstr ""
-#: config/tc-arm.c:9430 config/tc-arm.c:12777 config/tc-arm.c:12809
-#: config/tc-arm.c:12852
+#: config/tc-arm.c:9434 config/tc-arm.c:12781 config/tc-arm.c:12813
+#: config/tc-arm.c:12856
msgid "extraneous shift as part of operand to shift insn"
msgstr ""
-#: config/tc-arm.c:9461 config/tc-arm.c:9470
+#: config/tc-arm.c:9465 config/tc-arm.c:9474
msgid "selected processor does not support SETPAN instruction"
msgstr ""
-#: config/tc-arm.c:9529
+#: config/tc-arm.c:9533
msgid "SRS base register must be r13"
msgstr ""
-#: config/tc-arm.c:9588
+#: config/tc-arm.c:9592
msgid "can only store two consecutive registers"
msgstr ""
-#: config/tc-arm.c:9702 config/tc-arm.c:9719
+#: config/tc-arm.c:9706 config/tc-arm.c:9723
msgid "only two consecutive VFP SP registers allowed here"
msgstr ""
-#: config/tc-arm.c:9747 config/tc-arm.c:9762
+#: config/tc-arm.c:9751 config/tc-arm.c:9766
msgid "this addressing mode requires base-register writeback"
msgstr ""
#. If srcsize is 16, inst.operands[1].imm must be in the range 0-16.
#. i.e. immbits must be in range 0 - 16.
-#: config/tc-arm.c:9879
+#: config/tc-arm.c:9883
msgid "immediate value out of range, expected range [0, 16]"
msgstr ""
#. If srcsize is 32, inst.operands[1].imm must be in the range 1-32.
#. i.e. immbits must be in range 0 - 31.
-#: config/tc-arm.c:9886
+#: config/tc-arm.c:9890
msgid "immediate value out of range, expected range [1, 32]"
msgstr ""
-#: config/tc-arm.c:9952
+#: config/tc-arm.c:9956
msgid "this instruction does not support indexing"
msgstr ""
-#: config/tc-arm.c:9975
+#: config/tc-arm.c:9979
msgid "only r15 allowed here"
msgstr ""
-#: config/tc-arm.c:10110
+#: config/tc-arm.c:10114
msgid "immediate operand requires iWMMXt2"
msgstr ""
-#: config/tc-arm.c:10254
+#: config/tc-arm.c:10258
msgid "shift by register not allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:10266 config/tc-arm.c:12960 config/tc-arm.c:23182
+#: config/tc-arm.c:10270 config/tc-arm.c:12964 config/tc-arm.c:23186
msgid "shift expression is too large"
msgstr ""
-#: config/tc-arm.c:10299
+#: config/tc-arm.c:10303
msgid "cannot use register index with this instruction"
msgstr ""
-#: config/tc-arm.c:10301
+#: config/tc-arm.c:10305
msgid "Thumb does not support negative register indexing"
msgstr ""
-#: config/tc-arm.c:10303
+#: config/tc-arm.c:10307
msgid "Thumb does not support register post-indexing"
msgstr ""
-#: config/tc-arm.c:10305
+#: config/tc-arm.c:10309
msgid "Thumb does not support register indexing with writeback"
msgstr ""
-#: config/tc-arm.c:10307
+#: config/tc-arm.c:10311
msgid "Thumb supports only LSL in shifted register indexing"
msgstr ""
-#: config/tc-arm.c:10316 config/tc-arm.c:16149
+#: config/tc-arm.c:10320 config/tc-arm.c:16153
msgid "shift out of range"
msgstr ""
-#: config/tc-arm.c:10325
+#: config/tc-arm.c:10329
msgid "cannot use writeback with this instruction"
msgstr ""
-#: config/tc-arm.c:10346
+#: config/tc-arm.c:10350
msgid "cannot use post-indexing with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:10347
+#: config/tc-arm.c:10351
msgid "cannot use post-indexing with this instruction"
msgstr ""
-#: config/tc-arm.c:10568
+#: config/tc-arm.c:10572
msgid "only SUBS PC, LR, #const allowed"
msgstr ""
-#: config/tc-arm.c:10650 config/tc-arm.c:10805 config/tc-arm.c:10902
-#: config/tc-arm.c:12198 config/tc-arm.c:12506
+#: config/tc-arm.c:10654 config/tc-arm.c:10809 config/tc-arm.c:10906
+#: config/tc-arm.c:12202 config/tc-arm.c:12510
msgid "shift must be constant"
msgstr ""
-#: config/tc-arm.c:10655
+#: config/tc-arm.c:10659
msgid "shift value over 3 not allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:10657
+#: config/tc-arm.c:10661
msgid "only LSL shift allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:10681 config/tc-arm.c:10820 config/tc-arm.c:10917
-#: config/tc-arm.c:12211
+#: config/tc-arm.c:10685 config/tc-arm.c:10824 config/tc-arm.c:10921
+#: config/tc-arm.c:12215
msgid "unshifted register required"
msgstr ""
-#: config/tc-arm.c:10696 config/tc-arm.c:10928 config/tc-arm.c:12361
+#: config/tc-arm.c:10700 config/tc-arm.c:10932 config/tc-arm.c:12365
msgid "dest must overlap one source register"
msgstr ""
-#: config/tc-arm.c:10823
+#: config/tc-arm.c:10827
msgid "dest and source1 must be the same register"
msgstr ""
-#: config/tc-arm.c:11063
+#: config/tc-arm.c:11067
msgid ""
"selected architecture does not support wide conditional branch instruction"
msgstr ""
-#: config/tc-arm.c:11096
+#: config/tc-arm.c:11100
msgid "instruction is always unconditional"
msgstr ""
-#: config/tc-arm.c:11211
+#: config/tc-arm.c:11215
msgid "selected processor does not support 'A' form of this instruction"
msgstr ""
-#: config/tc-arm.c:11214
+#: config/tc-arm.c:11218
msgid "Thumb does not support the 2-argument form of this instruction"
msgstr ""
-#: config/tc-arm.c:11335
+#: config/tc-arm.c:11339
msgid "SP not allowed in register list"
msgstr ""
-#: config/tc-arm.c:11339 config/tc-arm.c:11445
+#: config/tc-arm.c:11343 config/tc-arm.c:11449
msgid ""
"having the base register in the register list when using write back is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:11347
+#: config/tc-arm.c:11351
msgid "LR and PC should not both be in register list"
msgstr ""
-#: config/tc-arm.c:11355
+#: config/tc-arm.c:11359
msgid "PC not allowed in register list"
msgstr ""
-#: config/tc-arm.c:11397
+#: config/tc-arm.c:11401
msgid "Thumb load/store multiple does not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:11422 config/tc-arm.c:11499
+#: config/tc-arm.c:11426 config/tc-arm.c:11503
#, c-format
msgid "value stored for r%d is UNKNOWN"
msgstr ""
-#: config/tc-arm.c:11492
+#: config/tc-arm.c:11496
msgid "Thumb-2 instruction only valid in unified syntax"
msgstr ""
-#: config/tc-arm.c:11496 config/tc-arm.c:11506
+#: config/tc-arm.c:11500 config/tc-arm.c:11510
msgid "this instruction will write back the base register"
msgstr ""
-#: config/tc-arm.c:11509
+#: config/tc-arm.c:11513
msgid "this instruction will not write back the base register"
msgstr ""
-#: config/tc-arm.c:11540
+#: config/tc-arm.c:11544
msgid "r14 not allowed as first register when second register is omitted"
msgstr ""
-#: config/tc-arm.c:11640
+#: config/tc-arm.c:11644
msgid ""
"This instruction may be unpredictable if executed on M-profile cores with "
"interrupts enabled."
msgstr ""
-#: config/tc-arm.c:11669 config/tc-arm.c:11682 config/tc-arm.c:11718
+#: config/tc-arm.c:11673 config/tc-arm.c:11686 config/tc-arm.c:11722
msgid "Thumb does not support this addressing mode"
msgstr ""
-#: config/tc-arm.c:11686
+#: config/tc-arm.c:11690
msgid "byte or halfword not valid for base register"
msgstr ""
-#: config/tc-arm.c:11689
+#: config/tc-arm.c:11693
msgid "r15 based store not allowed"
msgstr ""
-#: config/tc-arm.c:11691
+#: config/tc-arm.c:11695
msgid "invalid base register for register offset"
msgstr ""
-#: config/tc-arm.c:11748
+#: config/tc-arm.c:11752
msgid "r12 not allowed here"
msgstr ""
-#: config/tc-arm.c:11754
+#: config/tc-arm.c:11758
msgid "base register written back, and overlaps one of transfer registers"
msgstr ""
-#: config/tc-arm.c:11882
+#: config/tc-arm.c:11886
#, c-format
msgid ""
"Use of r%u as a source register is deprecated when r%u is the destination "
"register."
msgstr ""
-#: config/tc-arm.c:12074
+#: config/tc-arm.c:12078
msgid "shifts in CMP/MOV instructions are only supported in unified syntax"
msgstr ""
-#: config/tc-arm.c:12102
+#: config/tc-arm.c:12106
msgid "only lo regs allowed with immediate"
msgstr ""
-#: config/tc-arm.c:12123
-msgid ":upper16: not allowed this instruction"
-msgstr ""
-
-#: config/tc-arm.c:12279
+#: config/tc-arm.c:12283
msgid "Thumb encoding does not support an immediate here"
msgstr ""
-#: config/tc-arm.c:12366
+#: config/tc-arm.c:12370
msgid "Thumb-2 MUL must not set flags"
msgstr ""
-#: config/tc-arm.c:12431
+#: config/tc-arm.c:12435
msgid "Thumb does not support NOP with hints"
msgstr ""
-#: config/tc-arm.c:12591
+#: config/tc-arm.c:12595
msgid "invalid register list to push/pop instruction"
msgstr ""
-#: config/tc-arm.c:12836
+#: config/tc-arm.c:12840
msgid "source1 and dest must be same register"
msgstr ""
-#: config/tc-arm.c:12861
+#: config/tc-arm.c:12865
msgid "ror #imm not supported"
msgstr ""
-#: config/tc-arm.c:12912
+#: config/tc-arm.c:12916
msgid "SMC is not permitted on this architecture"
msgstr ""
-#: config/tc-arm.c:13077
+#: config/tc-arm.c:13081
msgid "Thumb encoding does not support rotation"
msgstr ""
-#: config/tc-arm.c:13092
+#: config/tc-arm.c:13096
msgid "SVC is not permitted on this architecture"
msgstr ""
-#: config/tc-arm.c:13108
+#: config/tc-arm.c:13112
msgid "instruction requires register index"
msgstr ""
-#: config/tc-arm.c:13117
+#: config/tc-arm.c:13121
msgid "instruction does not allow shifted index"
msgstr ""
-#: config/tc-arm.c:13303
+#: config/tc-arm.c:13307
msgid "invalid neon suffix for non neon instruction"
msgstr ""
-#: config/tc-arm.c:13663 config/tc-arm.c:14009 config/tc-arm.c:15619
-#: config/tc-arm.c:17117
+#: config/tc-arm.c:13667 config/tc-arm.c:14013 config/tc-arm.c:15623
+#: config/tc-arm.c:17121
msgid "invalid instruction shape"
msgstr ""
-#: config/tc-arm.c:13908
+#: config/tc-arm.c:13912
msgid "types specified in both the mnemonic and operands"
msgstr ""
-#: config/tc-arm.c:13945
+#: config/tc-arm.c:13949
msgid "operand types can't be inferred"
msgstr ""
-#: config/tc-arm.c:13951
+#: config/tc-arm.c:13955
msgid "type specifier has the wrong number of parts"
msgstr ""
-#: config/tc-arm.c:14037 config/tc-arm.c:15807 config/tc-arm.c:15814
+#: config/tc-arm.c:14041 config/tc-arm.c:15811 config/tc-arm.c:15818
msgid "operand size must match register width"
msgstr ""
-#: config/tc-arm.c:14048
+#: config/tc-arm.c:14052
msgid "bad type in Neon instruction"
msgstr ""
-#: config/tc-arm.c:14059
+#: config/tc-arm.c:14063
msgid "inconsistent types in Neon instruction"
msgstr ""
-#: config/tc-arm.c:14430 config/tc-arm.c:14445 config/tc-arm.c:16696
+#: config/tc-arm.c:14434 config/tc-arm.c:14449 config/tc-arm.c:16700
msgid "register list must contain at least 1 and at most 16 registers"
msgstr ""
-#: config/tc-arm.c:14588 config/tc-arm.c:14624 config/tc-arm.c:15256
-#: config/tc-arm.c:16536
+#: config/tc-arm.c:14592 config/tc-arm.c:14628 config/tc-arm.c:15260
+#: config/tc-arm.c:16540
msgid "immediate out of range for shift"
msgstr ""
-#: config/tc-arm.c:14744
+#: config/tc-arm.c:14748
msgid "first and second operands shall be the same register"
msgstr ""
-#: config/tc-arm.c:15022
+#: config/tc-arm.c:15026
msgid "scalar out of range for multiply instruction"
msgstr ""
-#: config/tc-arm.c:15146
+#: config/tc-arm.c:15150
msgid "instruction form not available on this architecture."
msgstr ""
-#: config/tc-arm.c:15149
+#: config/tc-arm.c:15153
msgid "this instruction implies use of ARMv8.1 AdvSIMD."
msgstr ""
-#: config/tc-arm.c:15232 config/tc-arm.c:15244
+#: config/tc-arm.c:15236 config/tc-arm.c:15248
msgid "immediate out of range for insert"
msgstr ""
-#: config/tc-arm.c:15377
+#: config/tc-arm.c:15381
msgid "immediate out of range for narrowing operation"
msgstr ""
-#: config/tc-arm.c:15523
+#: config/tc-arm.c:15527
msgid "operands 0 and 1 must be the same register"
msgstr ""
-#: config/tc-arm.c:15629 config/tc-arm.c:17215
+#: config/tc-arm.c:15633 config/tc-arm.c:17219
msgid "invalid rounding mode"
msgstr ""
-#: config/tc-arm.c:15956
+#: config/tc-arm.c:15960
msgid "operand size must be specified for immediate VMOV"
msgstr ""
-#: config/tc-arm.c:15966
+#: config/tc-arm.c:15970
msgid "immediate has bits set outside the operand size"
msgstr ""
-#: config/tc-arm.c:16131
+#: config/tc-arm.c:16135
msgid "Instruction form not available on this architecture."
msgstr ""
-#: config/tc-arm.c:16175
+#: config/tc-arm.c:16179
msgid "elements must be smaller than reversal region"
msgstr ""
-#: config/tc-arm.c:16357 config/tc-arm.c:16417
+#: config/tc-arm.c:16361 config/tc-arm.c:16421
msgid "bad type for scalar"
msgstr ""
-#: config/tc-arm.c:16494 config/tc-arm.c:16502
+#: config/tc-arm.c:16498 config/tc-arm.c:16506
msgid "VFP registers must be adjacent"
msgstr ""
-#: config/tc-arm.c:16545
+#: config/tc-arm.c:16549
msgid "invalid suffix"
msgstr ""
-#: config/tc-arm.c:16663
+#: config/tc-arm.c:16667
msgid "bad list length for table lookup"
msgstr ""
-#: config/tc-arm.c:16693
+#: config/tc-arm.c:16697
msgid "writeback (!) must be used for VLDMDB and VSTMDB"
msgstr ""
-#: config/tc-arm.c:16721
+#: config/tc-arm.c:16725
msgid "Use of PC here is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:16723
+#: config/tc-arm.c:16727
msgid "Use of PC here is deprecated"
msgstr ""
-#: config/tc-arm.c:16790
+#: config/tc-arm.c:16794
msgid "bad alignment"
msgstr ""
-#: config/tc-arm.c:16807
+#: config/tc-arm.c:16811
msgid "bad list type for instruction"
msgstr ""
-#: config/tc-arm.c:16809
+#: config/tc-arm.c:16813
msgid "bad element type for instruction"
msgstr ""
-#: config/tc-arm.c:16851
+#: config/tc-arm.c:16855
msgid "unsupported alignment for instruction"
msgstr ""
-#: config/tc-arm.c:16870 config/tc-arm.c:16964 config/tc-arm.c:16976
-#: config/tc-arm.c:16986 config/tc-arm.c:17000
+#: config/tc-arm.c:16874 config/tc-arm.c:16968 config/tc-arm.c:16980
+#: config/tc-arm.c:16990 config/tc-arm.c:17004
msgid "bad list length"
msgstr ""
-#: config/tc-arm.c:16875
+#: config/tc-arm.c:16879
msgid "stride of 2 unavailable when element size is 8"
msgstr ""
-#: config/tc-arm.c:16908 config/tc-arm.c:16984
+#: config/tc-arm.c:16912 config/tc-arm.c:16988
msgid "can't use alignment with this instruction"
msgstr ""
-#: config/tc-arm.c:17056
+#: config/tc-arm.c:17060
msgid "post-index must be a register"
msgstr ""
-#: config/tc-arm.c:17058
+#: config/tc-arm.c:17062
msgid "bad register for post-index"
msgstr ""
-#: config/tc-arm.c:17279
+#: config/tc-arm.c:17283
msgid "scalar out of range"
msgstr ""
-#: config/tc-arm.c:17854 config/tc-arm.c:17940
+#: config/tc-arm.c:17858 config/tc-arm.c:17944
msgid "conditional infixes are deprecated in unified syntax"
msgstr ""
-#: config/tc-arm.c:18091
+#: config/tc-arm.c:18095
msgid "Warning: conditional outside an IT block for Thumb."
msgstr ""
-#: config/tc-arm.c:18243
+#: config/tc-arm.c:18247
msgid "Short branches, Undefined, SVC, LDM/STM"
msgstr ""
-#: config/tc-arm.c:18244
+#: config/tc-arm.c:18248
msgid "Miscellaneous 16-bit instructions"
msgstr ""
-#: config/tc-arm.c:18245
+#: config/tc-arm.c:18249
msgid "ADR"
msgstr ""
-#: config/tc-arm.c:18246
+#: config/tc-arm.c:18250
msgid "Literal loads"
msgstr ""
-#: config/tc-arm.c:18247
+#: config/tc-arm.c:18251
msgid "Hi-register ADD, MOV, CMP, BX, BLX using pc"
msgstr ""
-#: config/tc-arm.c:18248
+#: config/tc-arm.c:18252
msgid "Hi-register ADD, MOV, CMP using pc"
msgstr ""
#. NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue'
#. field in asm_opcode. 'tvalue' is used at the stage this check happen.
-#: config/tc-arm.c:18251
+#: config/tc-arm.c:18255
msgid "ADD/SUB sp, sp #imm"
msgstr ""
-#: config/tc-arm.c:18270
+#: config/tc-arm.c:18274
msgid "IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8"
msgstr ""
-#: config/tc-arm.c:18282
+#: config/tc-arm.c:18286
#, c-format
msgid ""
"IT blocks containing 16-bit Thumb instructions of the following class are "
"deprecated in ARMv8: %s"
msgstr ""
-#: config/tc-arm.c:18295
+#: config/tc-arm.c:18299
msgid ""
"IT blocks containing more than one conditional instruction are deprecated in "
"ARMv8"
msgstr ""
-#: config/tc-arm.c:18410
+#: config/tc-arm.c:18414
#, c-format
msgid "bad instruction `%s'"
msgstr ""
-#: config/tc-arm.c:18416
+#: config/tc-arm.c:18420
msgid "s suffix on comparison instruction is deprecated"
msgstr ""
-#: config/tc-arm.c:18435
+#: config/tc-arm.c:18439
#, c-format
msgid "selected processor does not support `%s' in Thumb mode"
msgstr ""
-#: config/tc-arm.c:18441
+#: config/tc-arm.c:18445
msgid "Thumb does not support conditional execution"
msgstr ""
-#: config/tc-arm.c:18461
+#: config/tc-arm.c:18465
#, c-format
msgid ""
"selected processor does not support 32bit wide variant of instruction `%s'"
msgstr ""
-#: config/tc-arm.c:18464
+#: config/tc-arm.c:18468
#, c-format
msgid "selected processor does not support `%s' in Thumb-2 mode"
msgstr ""
-#: config/tc-arm.c:18489
+#: config/tc-arm.c:18493
#, c-format
msgid "cannot honor width suffix -- `%s'"
msgstr ""
-#: config/tc-arm.c:18531
+#: config/tc-arm.c:18535
#, c-format
msgid "selected processor does not support `%s' in ARM mode"
msgstr ""
-#: config/tc-arm.c:18536
+#: config/tc-arm.c:18540
#, c-format
msgid "width suffixes are invalid in ARM mode -- `%s'"
msgstr ""
-#: config/tc-arm.c:18569
+#: config/tc-arm.c:18573
#, c-format
msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
msgstr ""
-#: config/tc-arm.c:18586
+#: config/tc-arm.c:18590
#, c-format
msgid "section '%s' finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:18591
+#: config/tc-arm.c:18595
msgid "file finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:21842
+#: config/tc-arm.c:21846
#, c-format
msgid "alignments greater than %d bytes not supported in .text sections."
msgstr ""
-#: config/tc-arm.c:22103 config/tc-ia64.c:3594
+#: config/tc-arm.c:22107 config/tc-ia64.c:3594
#, c-format
msgid "Group section `%s' has no group signature"
msgstr ""
-#: config/tc-arm.c:22148
+#: config/tc-arm.c:22152
msgid "handlerdata in cantunwind frame"
msgstr ""
-#: config/tc-arm.c:22165
+#: config/tc-arm.c:22169
msgid "too many unwind opcodes for personality routine 0"
msgstr ""
-#: config/tc-arm.c:22196
+#: config/tc-arm.c:22200
msgid "attempt to recreate an unwind entry"
msgstr ""
-#: config/tc-arm.c:22206
+#: config/tc-arm.c:22210
msgid "too many unwind opcodes"
msgstr ""
-#: config/tc-arm.c:22499
+#: config/tc-arm.c:22503
#, c-format
msgid "[-mwarn-syms]: Assignment makes a symbol match an ARM instruction: %s"
msgstr ""
-#: config/tc-arm.c:22861 config/tc-arm.c:22929
+#: config/tc-arm.c:22865 config/tc-arm.c:22933
#, c-format
msgid "symbol %s is in a different section"
msgstr ""
-#: config/tc-arm.c:22863 config/tc-arm.c:22931
+#: config/tc-arm.c:22867 config/tc-arm.c:22935
#, c-format
msgid "symbol %s is weak and may be overridden later"
msgstr ""
-#: config/tc-arm.c:22908 config/tc-arm.c:23278
+#: config/tc-arm.c:22912 config/tc-arm.c:23282
#, c-format
msgid "invalid constant (%lx) after fixup"
msgstr ""
-#: config/tc-arm.c:22964
+#: config/tc-arm.c:22968
#, c-format
msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
msgstr ""
-#: config/tc-arm.c:23000 config/tc-arm.c:23030
+#: config/tc-arm.c:23004 config/tc-arm.c:23034
msgid "invalid literal constant: pool needs to be closer"
msgstr ""
-#: config/tc-arm.c:23003 config/tc-arm.c:23052
+#: config/tc-arm.c:23007 config/tc-arm.c:23056
#, c-format
msgid "bad immediate value for offset (%ld)"
msgstr ""
-#: config/tc-arm.c:23033
+#: config/tc-arm.c:23037
#, c-format
msgid "bad immediate value for 8-bit offset (%ld)"
msgstr ""
-#: config/tc-arm.c:23093
+#: config/tc-arm.c:23097
msgid "offset not a multiple of 4"
msgstr ""
-#: config/tc-arm.c:23294
+#: config/tc-arm.c:23298
msgid "invalid smc expression"
msgstr ""
-#: config/tc-arm.c:23303
+#: config/tc-arm.c:23307
msgid "invalid hvc expression"
msgstr ""
-#: config/tc-arm.c:23314 config/tc-arm.c:23323
+#: config/tc-arm.c:23318 config/tc-arm.c:23327
msgid "invalid swi expression"
msgstr ""
-#: config/tc-arm.c:23333
+#: config/tc-arm.c:23337
msgid "invalid expression in load/store multiple"
msgstr ""
-#: config/tc-arm.c:23395
+#: config/tc-arm.c:23399
#, c-format
msgid "blx to '%s' an ARM ISA state function changed to bl"
msgstr ""
-#: config/tc-arm.c:23414
+#: config/tc-arm.c:23418
msgid "misaligned branch destination"
msgstr ""
-#: config/tc-arm.c:23534
+#: config/tc-arm.c:23538
#, c-format
msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl"
msgstr ""
-#: config/tc-arm.c:23584
+#: config/tc-arm.c:23588
msgid "Thumb2 branch out of range"
msgstr ""
-#: config/tc-arm.c:23668
+#: config/tc-arm.c:23672
msgid "rel31 relocation overflow"
msgstr ""
-#: config/tc-arm.c:23689 config/tc-arm.c:23693 config/tc-arm.c:23732
+#: config/tc-arm.c:23693 config/tc-arm.c:23697 config/tc-arm.c:23736
msgid "co-processor offset out of range"
msgstr ""
-#: config/tc-arm.c:23749
+#: config/tc-arm.c:23753
#, c-format
msgid "invalid offset, target not word aligned (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:23756 config/tc-arm.c:23765 config/tc-arm.c:23773
-#: config/tc-arm.c:23781 config/tc-arm.c:23789
+#: config/tc-arm.c:23760 config/tc-arm.c:23769 config/tc-arm.c:23777
+#: config/tc-arm.c:23785 config/tc-arm.c:23793
#, c-format
msgid "invalid offset, value too big (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:23830
+#: config/tc-arm.c:23834
msgid "invalid Hi register with immediate"
msgstr ""
-#: config/tc-arm.c:23846
+#: config/tc-arm.c:23850
msgid "invalid immediate for stack address calculation"
msgstr ""
-#: config/tc-arm.c:23865
+#: config/tc-arm.c:23869
msgid "address calculation needs a strongly defined nearby symbol"
msgstr ""
-#: config/tc-arm.c:23881
+#: config/tc-arm.c:23885
msgid "symbol too far away"
msgstr ""
-#: config/tc-arm.c:23893
+#: config/tc-arm.c:23897
#, c-format
msgid "invalid immediate for address calculation (value = 0x%08lX)"
msgstr ""
-#: config/tc-arm.c:23923
+#: config/tc-arm.c:23927
#, c-format
msgid "invalid immediate: %ld is out of range"
msgstr ""
-#: config/tc-arm.c:23935
+#: config/tc-arm.c:23939
#, c-format
msgid "invalid shift value: %ld"
msgstr ""
-#: config/tc-arm.c:24005 config/tc-arm.c:24076
+#: config/tc-arm.c:24009 config/tc-arm.c:24080
#, c-format
msgid "the offset 0x%08lX is not representable"
msgstr ""
-#: config/tc-arm.c:24037
+#: config/tc-arm.c:24041
#, c-format
msgid "Unable to process relocation for thumb opcode: %lx"
msgstr ""
-#: config/tc-arm.c:24116
+#: config/tc-arm.c:24120
#, c-format
msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:24155
+#: config/tc-arm.c:24159
#, c-format
msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:24195
+#: config/tc-arm.c:24199
#, c-format
msgid "bad offset 0x%08lX (must be word-aligned)"
msgstr ""
-#: config/tc-arm.c:24200
+#: config/tc-arm.c:24204
#, c-format
msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
msgstr ""
-#: config/tc-arm.c:24231 config/tc-score.c:7391
+#: config/tc-arm.c:24235 config/tc-score.c:7391
#, c-format
msgid "bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-arm.c:24349
+#: config/tc-arm.c:24353
msgid "literal referenced across section boundary"
msgstr ""
-#: config/tc-arm.c:24420
+#: config/tc-arm.c:24424
msgid "internal relocation (type: IMMEDIATE) not fixed up"
msgstr ""
-#: config/tc-arm.c:24425
+#: config/tc-arm.c:24429
msgid "ADRL used for a symbol not defined in the same file"
msgstr ""
-#: config/tc-arm.c:24440
+#: config/tc-arm.c:24444
#, c-format
msgid "undefined local label `%s'"
msgstr ""
-#: config/tc-arm.c:24446
+#: config/tc-arm.c:24450
msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
msgstr ""
-#: config/tc-arm.c:24468 config/tc-cris.c:4006 config/tc-ft32.c:602
+#: config/tc-arm.c:24472 config/tc-cris.c:4006 config/tc-ft32.c:602
#: config/tc-mcore.c:1928 config/tc-microblaze.c:1972 config/tc-mmix.c:2895
#: config/tc-moxie.c:825 config/tc-ns32k.c:2248 config/tc-score.c:7478
msgid "<unknown>"
msgstr ""
-#: config/tc-arm.c:24857
+#: config/tc-arm.c:24861
#, c-format
msgid "%s: unexpected function type: %d"
msgstr ""
-#: config/tc-arm.c:24994
+#: config/tc-arm.c:24998
msgid "use of old and new-style options to set CPU type"
msgstr ""
-#: config/tc-arm.c:25004
+#: config/tc-arm.c:25008
msgid "use of old and new-style options to set FPU type"
msgstr ""
-#: config/tc-arm.c:25082
+#: config/tc-arm.c:25086
msgid "hard-float conflicts with specified fpu"
msgstr ""
-#: config/tc-arm.c:25271
+#: config/tc-arm.c:25275
msgid "generate PIC code"
msgstr ""
-#: config/tc-arm.c:25272
+#: config/tc-arm.c:25276
msgid "assemble Thumb code"
msgstr ""
-#: config/tc-arm.c:25273
+#: config/tc-arm.c:25277
msgid "support ARM/Thumb interworking"
msgstr ""
-#: config/tc-arm.c:25275
+#: config/tc-arm.c:25279
msgid "code uses 32-bit program counter"
msgstr ""
-#: config/tc-arm.c:25276
+#: config/tc-arm.c:25280
msgid "code uses 26-bit program counter"
msgstr ""
-#: config/tc-arm.c:25277
+#: config/tc-arm.c:25281
msgid "floating point args are in fp regs"
msgstr ""
-#: config/tc-arm.c:25279
+#: config/tc-arm.c:25283
msgid "re-entrant code"
msgstr ""
-#: config/tc-arm.c:25280
+#: config/tc-arm.c:25284
msgid "code is ATPCS conformant"
msgstr ""
#. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:25286
+#: config/tc-arm.c:25290
msgid "use frame pointer"
msgstr ""
-#: config/tc-arm.c:25287
+#: config/tc-arm.c:25291
msgid "use stack size checking"
msgstr ""
-#: config/tc-arm.c:25290
+#: config/tc-arm.c:25294
msgid "do not warn on use of deprecated feature"
msgstr ""
-#: config/tc-arm.c:25292
+#: config/tc-arm.c:25296
msgid "warn about symbols that match instruction names [default]"
msgstr ""
-#: config/tc-arm.c:25293
+#: config/tc-arm.c:25297
msgid "disable warnings about symobls that match instructions"
msgstr ""
#. DON'T add any new processors to this list -- we want the whole list
#. to go away... Add them to the processors table instead.
-#: config/tc-arm.c:25309 config/tc-arm.c:25310
+#: config/tc-arm.c:25313 config/tc-arm.c:25314
msgid "use -mcpu=arm1"
msgstr ""
-#: config/tc-arm.c:25311 config/tc-arm.c:25312
+#: config/tc-arm.c:25315 config/tc-arm.c:25316
msgid "use -mcpu=arm2"
msgstr ""
-#: config/tc-arm.c:25313 config/tc-arm.c:25314
+#: config/tc-arm.c:25317 config/tc-arm.c:25318
msgid "use -mcpu=arm250"
msgstr ""
-#: config/tc-arm.c:25315 config/tc-arm.c:25316
+#: config/tc-arm.c:25319 config/tc-arm.c:25320
msgid "use -mcpu=arm3"
msgstr ""
-#: config/tc-arm.c:25317 config/tc-arm.c:25318
+#: config/tc-arm.c:25321 config/tc-arm.c:25322
msgid "use -mcpu=arm6"
msgstr ""
-#: config/tc-arm.c:25319 config/tc-arm.c:25320
+#: config/tc-arm.c:25323 config/tc-arm.c:25324
msgid "use -mcpu=arm600"
msgstr ""
-#: config/tc-arm.c:25321 config/tc-arm.c:25322
+#: config/tc-arm.c:25325 config/tc-arm.c:25326
msgid "use -mcpu=arm610"
msgstr ""
-#: config/tc-arm.c:25323 config/tc-arm.c:25324
+#: config/tc-arm.c:25327 config/tc-arm.c:25328
msgid "use -mcpu=arm620"
msgstr ""
-#: config/tc-arm.c:25325 config/tc-arm.c:25326
+#: config/tc-arm.c:25329 config/tc-arm.c:25330
msgid "use -mcpu=arm7"
msgstr ""
-#: config/tc-arm.c:25327 config/tc-arm.c:25328
+#: config/tc-arm.c:25331 config/tc-arm.c:25332
msgid "use -mcpu=arm70"
msgstr ""
-#: config/tc-arm.c:25329 config/tc-arm.c:25330
+#: config/tc-arm.c:25333 config/tc-arm.c:25334
msgid "use -mcpu=arm700"
msgstr ""
-#: config/tc-arm.c:25331 config/tc-arm.c:25332
+#: config/tc-arm.c:25335 config/tc-arm.c:25336
msgid "use -mcpu=arm700i"
msgstr ""
-#: config/tc-arm.c:25333 config/tc-arm.c:25334
+#: config/tc-arm.c:25337 config/tc-arm.c:25338
msgid "use -mcpu=arm710"
msgstr ""
-#: config/tc-arm.c:25335 config/tc-arm.c:25336
+#: config/tc-arm.c:25339 config/tc-arm.c:25340
msgid "use -mcpu=arm710c"
msgstr ""
-#: config/tc-arm.c:25337 config/tc-arm.c:25338
+#: config/tc-arm.c:25341 config/tc-arm.c:25342
msgid "use -mcpu=arm720"
msgstr ""
-#: config/tc-arm.c:25339 config/tc-arm.c:25340
+#: config/tc-arm.c:25343 config/tc-arm.c:25344
msgid "use -mcpu=arm7d"
msgstr ""
-#: config/tc-arm.c:25341 config/tc-arm.c:25342
+#: config/tc-arm.c:25345 config/tc-arm.c:25346
msgid "use -mcpu=arm7di"
msgstr ""
-#: config/tc-arm.c:25343 config/tc-arm.c:25344
+#: config/tc-arm.c:25347 config/tc-arm.c:25348
msgid "use -mcpu=arm7m"
msgstr ""
-#: config/tc-arm.c:25345 config/tc-arm.c:25346
+#: config/tc-arm.c:25349 config/tc-arm.c:25350
msgid "use -mcpu=arm7dm"
msgstr ""
-#: config/tc-arm.c:25347 config/tc-arm.c:25348
+#: config/tc-arm.c:25351 config/tc-arm.c:25352
msgid "use -mcpu=arm7dmi"
msgstr ""
-#: config/tc-arm.c:25349 config/tc-arm.c:25350
+#: config/tc-arm.c:25353 config/tc-arm.c:25354
msgid "use -mcpu=arm7100"
msgstr ""
-#: config/tc-arm.c:25351 config/tc-arm.c:25352
+#: config/tc-arm.c:25355 config/tc-arm.c:25356
msgid "use -mcpu=arm7500"
msgstr ""
-#: config/tc-arm.c:25353 config/tc-arm.c:25354
+#: config/tc-arm.c:25357 config/tc-arm.c:25358
msgid "use -mcpu=arm7500fe"
msgstr ""
-#: config/tc-arm.c:25355 config/tc-arm.c:25356 config/tc-arm.c:25357
-#: config/tc-arm.c:25358
+#: config/tc-arm.c:25359 config/tc-arm.c:25360 config/tc-arm.c:25361
+#: config/tc-arm.c:25362
msgid "use -mcpu=arm7tdmi"
msgstr ""
-#: config/tc-arm.c:25359 config/tc-arm.c:25360
+#: config/tc-arm.c:25363 config/tc-arm.c:25364
msgid "use -mcpu=arm710t"
msgstr ""
-#: config/tc-arm.c:25361 config/tc-arm.c:25362
+#: config/tc-arm.c:25365 config/tc-arm.c:25366
msgid "use -mcpu=arm720t"
msgstr ""
-#: config/tc-arm.c:25363 config/tc-arm.c:25364
+#: config/tc-arm.c:25367 config/tc-arm.c:25368
msgid "use -mcpu=arm740t"
msgstr ""
-#: config/tc-arm.c:25365 config/tc-arm.c:25366
+#: config/tc-arm.c:25369 config/tc-arm.c:25370
msgid "use -mcpu=arm8"
msgstr ""
-#: config/tc-arm.c:25367 config/tc-arm.c:25368
+#: config/tc-arm.c:25371 config/tc-arm.c:25372
msgid "use -mcpu=arm810"
msgstr ""
-#: config/tc-arm.c:25369 config/tc-arm.c:25370
+#: config/tc-arm.c:25373 config/tc-arm.c:25374
msgid "use -mcpu=arm9"
msgstr ""
-#: config/tc-arm.c:25371 config/tc-arm.c:25372
+#: config/tc-arm.c:25375 config/tc-arm.c:25376
msgid "use -mcpu=arm9tdmi"
msgstr ""
-#: config/tc-arm.c:25373 config/tc-arm.c:25374
+#: config/tc-arm.c:25377 config/tc-arm.c:25378
msgid "use -mcpu=arm920"
msgstr ""
-#: config/tc-arm.c:25375 config/tc-arm.c:25376
+#: config/tc-arm.c:25379 config/tc-arm.c:25380
msgid "use -mcpu=arm940"
msgstr ""
-#: config/tc-arm.c:25377
+#: config/tc-arm.c:25381
msgid "use -mcpu=strongarm"
msgstr ""
-#: config/tc-arm.c:25379
+#: config/tc-arm.c:25383
msgid "use -mcpu=strongarm110"
msgstr ""
-#: config/tc-arm.c:25381
+#: config/tc-arm.c:25385
msgid "use -mcpu=strongarm1100"
msgstr ""
-#: config/tc-arm.c:25383
+#: config/tc-arm.c:25387
msgid "use -mcpu=strongarm1110"
msgstr ""
-#: config/tc-arm.c:25384
+#: config/tc-arm.c:25388
msgid "use -mcpu=xscale"
msgstr ""
-#: config/tc-arm.c:25385
+#: config/tc-arm.c:25389
msgid "use -mcpu=iwmmxt"
msgstr ""
-#: config/tc-arm.c:25386
+#: config/tc-arm.c:25390
msgid "use -mcpu=all"
msgstr ""
#. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:25389 config/tc-arm.c:25390
+#: config/tc-arm.c:25393 config/tc-arm.c:25394
msgid "use -march=armv2"
msgstr ""
-#: config/tc-arm.c:25391 config/tc-arm.c:25392
+#: config/tc-arm.c:25395 config/tc-arm.c:25396
msgid "use -march=armv2a"
msgstr ""
-#: config/tc-arm.c:25393 config/tc-arm.c:25394
+#: config/tc-arm.c:25397 config/tc-arm.c:25398
msgid "use -march=armv3"
msgstr ""
-#: config/tc-arm.c:25395 config/tc-arm.c:25396
+#: config/tc-arm.c:25399 config/tc-arm.c:25400
msgid "use -march=armv3m"
msgstr ""
-#: config/tc-arm.c:25397 config/tc-arm.c:25398
+#: config/tc-arm.c:25401 config/tc-arm.c:25402
msgid "use -march=armv4"
msgstr ""
-#: config/tc-arm.c:25399 config/tc-arm.c:25400
+#: config/tc-arm.c:25403 config/tc-arm.c:25404
msgid "use -march=armv4t"
msgstr ""
-#: config/tc-arm.c:25401 config/tc-arm.c:25402
+#: config/tc-arm.c:25405 config/tc-arm.c:25406
msgid "use -march=armv5"
msgstr ""
-#: config/tc-arm.c:25403 config/tc-arm.c:25404
+#: config/tc-arm.c:25407 config/tc-arm.c:25408
msgid "use -march=armv5t"
msgstr ""
-#: config/tc-arm.c:25405 config/tc-arm.c:25406
+#: config/tc-arm.c:25409 config/tc-arm.c:25410
msgid "use -march=armv5te"
msgstr ""
#. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:25409
+#: config/tc-arm.c:25413
msgid "use -mfpu=fpe"
msgstr ""
-#: config/tc-arm.c:25410
+#: config/tc-arm.c:25414
msgid "use -mfpu=fpa10"
msgstr ""
-#: config/tc-arm.c:25411
+#: config/tc-arm.c:25415
msgid "use -mfpu=fpa11"
msgstr ""
-#: config/tc-arm.c:25413
+#: config/tc-arm.c:25417
msgid "use either -mfpu=softfpa or -mfpu=softvfp"
msgstr ""
-#: config/tc-arm.c:25937
+#: config/tc-arm.c:25942
msgid "extension does not apply to the base architecture"
msgstr ""
-#: config/tc-arm.c:25962
+#: config/tc-arm.c:25967
msgid "architectural extensions must be specified in alphabetical order"
msgstr ""
-#: config/tc-arm.c:26077 config/tc-arm.c:26797
+#: config/tc-arm.c:26082 config/tc-arm.c:26802
#, c-format
msgid "unknown floating point format `%s'\n"
msgstr ""
-#: config/tc-arm.c:26093
+#: config/tc-arm.c:26098
#, c-format
msgid "unknown floating point abi `%s'\n"
msgstr ""
-#: config/tc-arm.c:26109
+#: config/tc-arm.c:26114
#, c-format
msgid "unknown EABI `%s'\n"
msgstr ""
-#: config/tc-arm.c:26129
+#: config/tc-arm.c:26134
#, c-format
msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never."
msgstr ""
-#: config/tc-arm.c:26152 config/tc-metag.c:5913
+#: config/tc-arm.c:26157 config/tc-metag.c:5913
msgid "<fpu name>\t assemble for FPU architecture <fpu name>"
msgstr ""
-#: config/tc-arm.c:26154
+#: config/tc-arm.c:26159
msgid "<abi>\t assemble for floating point ABI <abi>"
msgstr ""
-#: config/tc-arm.c:26157
+#: config/tc-arm.c:26162
msgid "<ver>\t\t assemble for eabi version <ver>"
msgstr ""
-#: config/tc-arm.c:26160
+#: config/tc-arm.c:26165
msgid "<mode>\t controls implicit insertion of IT instructions"
msgstr ""
-#: config/tc-arm.c:26162
+#: config/tc-arm.c:26167
msgid "\t\t\t TI CodeComposer Studio syntax compatibility mode"
msgstr ""
-#: config/tc-arm.c:26264
+#: config/tc-arm.c:26269
#, c-format
msgid " ARM-specific assembler options:\n"
msgstr ""
-#: config/tc-arm.c:26284
+#: config/tc-arm.c:26289
#, c-format
msgid " --fix-v4bx Allow BX in ARMv4 code\n"
msgstr ""
-#: config/tc-arm.c:26747
+#: config/tc-arm.c:26752
#, c-format
msgid ""
"architectural extension `%s' is not allowed for the current base architecture"
msgstr ""
-#: config/tc-arm.c:26766
+#: config/tc-arm.c:26771
#, c-format
msgid "unknown architecture extension `%s'\n"
msgstr ""
@@ -4977,7 +4974,7 @@ msgstr ""
msgid "illegal expression"
msgstr ""
-#: config/tc-avr.c:801 config/tc-avr.c:1773
+#: config/tc-avr.c:801 config/tc-avr.c:1773 config/tc-pru.c:1871
msgid "`)' required"
msgstr ""
@@ -5051,7 +5048,7 @@ msgid "skipping two-word instruction"
msgstr ""
#: config/tc-avr.c:1392 config/tc-avr.c:1408 config/tc-avr.c:1539
-#: config/tc-msp430.c:4052 config/tc-msp430.c:4071
+#: config/tc-msp430.c:4051 config/tc-msp430.c:4070
#, c-format
msgid "odd address operand: %ld"
msgstr ""
@@ -5059,7 +5056,7 @@ msgstr ""
#: config/tc-avr.c:1400 config/tc-avr.c:1419 config/tc-avr.c:1437
#: config/tc-avr.c:1448 config/tc-avr.c:1464 config/tc-avr.c:1472
#: config/tc-avr.c:1567 config/tc-avr.c:1574 config/tc-d10v.c:503
-#: config/tc-d30v.c:553 config/tc-msp430.c:4060 config/tc-msp430.c:4078
+#: config/tc-d30v.c:553 config/tc-msp430.c:4059 config/tc-msp430.c:4077
#, c-format
msgid "operand out of range: %ld"
msgstr ""
@@ -5070,7 +5067,7 @@ msgid "operand out of range: 0x%lx"
msgstr ""
#: config/tc-avr.c:1560 config/tc-d10v.c:1590 config/tc-d30v.c:2034
-#: config/tc-msp430.c:4149
+#: config/tc-msp430.c:4148
#, c-format
msgid "line %d: unknown relocation type: 0x%x"
msgstr ""
@@ -5082,7 +5079,7 @@ msgstr ""
#. xgettext:c-format.
#: config/tc-avr.c:1643 config/tc-bfin.c:825 config/tc-d10v.c:1462
#: config/tc-d30v.c:1771 config/tc-metag.c:7022 config/tc-mn10200.c:779
-#: config/tc-mn10300.c:2177 config/tc-msp430.c:4197 config/tc-ppc.c:7153
+#: config/tc-mn10300.c:2177 config/tc-msp430.c:4196 config/tc-ppc.c:7179
#: config/tc-spu.c:879 config/tc-spu.c:1090 config/tc-v850.c:3368
#: config/tc-z80.c:2059
#, c-format
@@ -5091,7 +5088,7 @@ msgstr ""
#: config/tc-avr.c:1665 config/tc-ft32.c:222 config/tc-h8300.c:1960
#: config/tc-mcore.c:880 config/tc-microblaze.c:927 config/tc-moxie.c:182
-#: config/tc-msp430.c:3906 config/tc-pj.c:253 config/tc-sh.c:2591
+#: config/tc-pj.c:253 config/tc-sh.c:2591 config/tc-wasm32.c:747
#: config/tc-z8k.c:1223
msgid "can't find opcode "
msgstr ""
@@ -5105,9 +5102,9 @@ msgstr ""
msgid "garbage at end of line"
msgstr ""
-#: config/tc-avr.c:1822
+#: config/tc-avr.c:1822 config/tc-pru.c:1903
#, c-format
-msgid "illegal %srelocation size: %d"
+msgid "illegal %s relocation size: %d"
msgstr ""
#: config/tc-avr.c:1935 config/tc-avr.c:1990
@@ -5209,12 +5206,12 @@ msgstr ""
msgid "internal error: reloc %d (`%s') not supported by object file format"
msgstr ""
-#: config/tc-cr16.c:691 config/tc-i386.c:10626 config/tc-s390.c:2107
+#: config/tc-cr16.c:691 config/tc-i386.c:10701 config/tc-s390.c:2109
msgid "GOT already in symbol table"
msgstr ""
-#: config/tc-cr16.c:808 config/tc-crx.c:572 config/tc-crx.c:591
-#: config/tc-m68k.c:4657 config/tc-tilegx.c:319 config/tc-tilepro.c:256
+#: config/tc-cr16.c:808 config/tc-m68k.c:4657 config/tc-tilegx.c:319
+#: config/tc-tilepro.c:256
#, c-format
msgid "Internal Error: Can't hash %s: %s"
msgstr ""
@@ -5250,13 +5247,12 @@ msgid "Unknown register: `%d'"
msgstr ""
#. Issue a error message when register is illegal.
-#: config/tc-cr16.c:1121 config/tc-crx.c:1137
+#: config/tc-cr16.c:1121
#, c-format
msgid "Illegal register (`%s') in Instruction: `%s'"
msgstr ""
-#: config/tc-cr16.c:1194 config/tc-cr16.c:1269 config/tc-crx.c:759
-#: config/tc-crx.c:779 config/tc-crx.c:794
+#: config/tc-cr16.c:1194 config/tc-cr16.c:1269
#, c-format
msgid "Illegal register `%s' in Instruction `%s'"
msgstr ""
@@ -5397,14 +5393,14 @@ msgstr ""
#. Give an error if a frag containing code is not aligned to a 2-byte
#. boundary.
#: config/tc-cr16.c:2482 config/tc-cr16.h:74 config/tc-crx.c:1956
-#: config/tc-crx.h:77 config/tc-ppc.c:3418 config/tc-ppc.c:6366
+#: config/tc-crx.h:77 config/tc-ppc.c:3480 config/tc-ppc.c:6428
msgid "instruction address is not a multiple of 2"
msgstr ""
#: config/tc-cr16.c:2505 config/tc-cris.c:1556 config/tc-cris.c:1564
#: config/tc-crx.c:1992 config/tc-dlx.c:692 config/tc-hppa.c:3212
#: config/tc-hppa.c:3219 config/tc-i860.c:490 config/tc-i860.c:507
-#: config/tc-i860.c:987 config/tc-sparc.c:1790 config/tc-sparc.c:1798
+#: config/tc-i860.c:987 config/tc-sparc.c:1792 config/tc-sparc.c:1800
#, c-format
msgid "Unknown opcode: `%s'"
msgstr ""
@@ -5414,7 +5410,7 @@ msgstr ""
msgid "internal inconsistency problem in %s: fr_symbol %lx"
msgstr ""
-#: config/tc-cris.c:554 config/tc-m68hc11.c:3897 config/tc-msp430.c:4547
+#: config/tc-cris.c:554 config/tc-m68hc11.c:3897 config/tc-msp430.c:4546
#, c-format
msgid "internal inconsistency problem in %s: resolved symbol"
msgstr ""
@@ -5726,19 +5722,35 @@ msgstr ""
msgid ".arch <arch> requires a matching --march=... option"
msgstr ""
+#: config/tc-crx.c:572 config/tc-crx.c:591
+#, c-format
+msgid "Internal error: Can't hash %s: %s"
+msgstr ""
+
+#: config/tc-crx.c:759 config/tc-crx.c:779 config/tc-crx.c:794
+#, c-format
+msgid "Illegal register `%s' in instruction `%s'"
+msgstr ""
+
#: config/tc-crx.c:822
#, c-format
msgid "Illegal Scale - `%d'"
msgstr ""
+#. Issue a error message when register is illegal.
+#: config/tc-crx.c:1137
+#, c-format
+msgid "Illegal register (`%s') in instruction: `%s'"
+msgstr ""
+
#: config/tc-crx.c:1264
#, c-format
-msgid "Illegal Co-processor register in Instruction `%s' "
+msgid "Illegal co-processor register in instruction `%s'"
msgstr ""
#: config/tc-crx.c:1271
#, c-format
-msgid "Illegal Co-processor special register in Instruction `%s' "
+msgid "Illegal co-processor special register in instruction `%s'"
msgstr ""
#: config/tc-crx.c:1593
@@ -5757,7 +5769,7 @@ msgid "Operand value is not within upper 64 KB (arg %d)"
msgstr ""
#: config/tc-crx.c:1736
-msgid "Invalid Register in Register List"
+msgid "Invalid register in register list"
msgstr ""
#: config/tc-crx.c:1790
@@ -5954,7 +5966,7 @@ msgid ""
"-O Make adjacent short instructions parallel if "
"possible.\n"
"-n Warn about all NOPs inserted by the assembler.\n"
-"-N\t\t\tWarn about NOPs inserted after word multiplies.\n"
+"-N Warn about NOPs inserted after word multiplies.\n"
"-c Warn about symbols whose names match register "
"names.\n"
"-C Opposite of -C. -c is the default.\n"
@@ -6084,7 +6096,7 @@ msgstr ""
msgid "line %d: unable to place address of symbol '%s' into a quad"
msgstr ""
-#: config/tc-d30v.c:2053
+#: config/tc-d30v.c:2053 config/tc-pru.c:216 config/tc-pru.c:331
#, c-format
msgid "Alignment too large: %d assumed"
msgstr ""
@@ -6097,9 +6109,9 @@ msgstr ""
msgid ".endfunc missing for previous .proc"
msgstr ""
-#: config/tc-dlx.c:295 config/tc-i860.c:226 config/tc-mips.c:3512
+#: config/tc-dlx.c:295 config/tc-i860.c:226 config/tc-mips.c:3523
#: config/tc-nios2.c:3626 config/tc-nios2.c:3640 config/tc-nios2.c:3655
-#: config/tc-riscv.c:603
+#: config/tc-pru.c:1564 config/tc-pru.c:1578 config/tc-riscv.c:611
#, c-format
msgid "internal error: can't hash `%s': %s\n"
msgstr ""
@@ -6107,7 +6119,8 @@ msgstr ""
#. Probably a memory allocation problem? Give up now.
#: config/tc-dlx.c:302 config/tc-hppa.c:8272 config/tc-nios2.c:1440
#: config/tc-nios2.c:3629 config/tc-nios2.c:3643 config/tc-nios2.c:3658
-#: config/tc-riscv.c:606 config/tc-riscv.c:614 config/tc-sparc.c:1060
+#: config/tc-pru.c:1567 config/tc-pru.c:1581 config/tc-riscv.c:614
+#: config/tc-riscv.c:622 config/tc-sparc.c:1061
msgid "Broken assembler. No assembly attempted."
msgstr ""
@@ -6178,7 +6191,7 @@ msgid "Invalid expression after # number\n"
msgstr ""
#: config/tc-dlx.c:1199 config/tc-i960.c:2637 config/tc-m32r.c:2276
-#: config/tc-nds32.c:6639 config/tc-sparc.c:3982
+#: config/tc-nds32.c:6639 config/tc-sparc.c:4021
#, c-format
msgid "internal error: can't export reloc type %d (`%s')"
msgstr ""
@@ -6321,7 +6334,7 @@ msgstr ""
#: config/tc-frv.c:472
#, c-format
msgid ""
-"-mlibrary-pic Mark generated file as using position indepedent code for "
+"-mlibrary-pic Mark generated file as using position independent code for "
"libraries\n"
msgstr ""
@@ -6548,7 +6561,7 @@ msgstr ""
#. This seems more sane than saying "too many operands". We'll
#. get here only if the trailing trash starts with a comma.
-#: config/tc-h8300.c:1846 config/tc-mips.c:13845 config/tc-mips.c:13910
+#: config/tc-h8300.c:1846 config/tc-mips.c:13854 config/tc-mips.c:13924
#: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2533
#: config/tc-mmix.c:2557 config/tc-mmix.c:2830
msgid "invalid operands"
@@ -7030,7 +7043,7 @@ msgstr ""
msgid "-R option not supported on this target."
msgstr ""
-#: config/tc-hppa.c:8253 config/tc-sparc.c:1015 config/tc-sparc.c:1052
+#: config/tc-hppa.c:8253 config/tc-sparc.c:1016 config/tc-sparc.c:1053
#, c-format
msgid "Internal error: can't hash `%s': %s\n"
msgstr ""
@@ -7040,13 +7053,13 @@ msgstr ""
msgid "internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-i370.c:418 config/tc-ppc.c:1211 config/tc-s390.c:430
-#: config/tc-s390.c:437
+#: config/tc-i370.c:418 config/tc-ppc.c:1264 config/tc-s390.c:432
+#: config/tc-s390.c:439
#, c-format
msgid "invalid switch -m%s"
msgstr ""
-#: config/tc-i370.c:515 config/tc-s390.c:536
+#: config/tc-i370.c:515 config/tc-s390.c:538
#, c-format
msgid "Internal assembler error for instruction %s"
msgstr ""
@@ -7056,7 +7069,7 @@ msgstr ""
msgid "Internal assembler error for macro %s"
msgstr ""
-#: config/tc-i370.c:629 config/tc-ppc.c:2014
+#: config/tc-i370.c:629 config/tc-ppc.c:2067
msgid "identifier+constant@got means identifier@got+constant"
msgstr ""
@@ -7087,8 +7100,8 @@ msgid "Expected comma after symbol-name: rest of line ignored."
msgstr ""
#: config/tc-i370.c:1068 config/tc-m32r.c:1512 config/tc-microblaze.c:212
-#: config/tc-ppc.c:2174 config/tc-ppc.c:3674 config/tc-ppc.c:3716
-#: config/tc-ppc.c:5276
+#: config/tc-ppc.c:2227 config/tc-ppc.c:3736 config/tc-ppc.c:3778
+#: config/tc-ppc.c:5338
msgid "ignoring bad alignment"
msgstr ""
@@ -7148,20 +7161,20 @@ msgstr ""
#: config/tc-i370.c:1777 config/tc-i370.c:1786
#, c-format
-msgid "droping register %d in section %s does not match using register %d"
+msgid "dropping register %d in section %s does not match using register %d"
msgstr ""
#: config/tc-i370.c:1790
#, c-format
-msgid "droping register %d in section %s previously used in section %s"
+msgid "dropping register %d in section %s previously used in section %s"
msgstr ""
-#: config/tc-i370.c:1846 config/tc-ppc.c:3506
+#: config/tc-i370.c:1846 config/tc-ppc.c:3568
msgid "wrong number of operands"
msgstr ""
#: config/tc-i370.c:1928 config/tc-mn10200.c:896 config/tc-mn10300.c:1253
-#: config/tc-s390.c:1687 config/tc-v850.c:2328
+#: config/tc-s390.c:1689 config/tc-v850.c:2328
#, c-format
msgid "Unrecognized opcode: `%s'"
msgstr ""
@@ -7177,7 +7190,7 @@ msgstr ""
#. xgettext:c-format.
#: config/tc-i370.c:2207 config/tc-mn10200.c:1139 config/tc-mn10300.c:1821
-#: config/tc-ppc.c:3362 config/tc-s390.c:1600 config/tc-v850.c:3043
+#: config/tc-ppc.c:3424 config/tc-s390.c:1602 config/tc-v850.c:3043
#, c-format
msgid "junk at end of line: `%s'"
msgstr ""
@@ -7187,727 +7200,727 @@ msgstr ""
msgid "Internal Error: bad instruction length"
msgstr ""
-#: config/tc-i386.c:2121
+#: config/tc-i386.c:2137
#, c-format
msgid "%s shortened to %s"
msgstr ""
-#: config/tc-i386.c:2207
+#: config/tc-i386.c:2223
msgid "same type of prefix used twice"
msgstr ""
-#: config/tc-i386.c:2234
+#: config/tc-i386.c:2250
#, c-format
msgid "64bit mode not supported on `%s'."
msgstr ""
-#: config/tc-i386.c:2243
+#: config/tc-i386.c:2259
#, c-format
msgid "32bit mode not supported on `%s'."
msgstr ""
-#: config/tc-i386.c:2283
+#: config/tc-i386.c:2299
msgid "bad argument to syntax directive."
msgstr ""
-#: config/tc-i386.c:2346
+#: config/tc-i386.c:2362
#, c-format
msgid "bad argument to %s_check directive."
msgstr ""
-#: config/tc-i386.c:2350
+#: config/tc-i386.c:2366
#, c-format
msgid "missing argument for %s_check directive"
msgstr ""
-#: config/tc-i386.c:2390
+#: config/tc-i386.c:2406
#, c-format
msgid "`%s' is not supported on `%s'"
msgstr ""
-#: config/tc-i386.c:2492
+#: config/tc-i386.c:2508
#, c-format
msgid "no such architecture: `%s'"
msgstr ""
-#: config/tc-i386.c:2497
+#: config/tc-i386.c:2513
msgid "missing cpu architecture"
msgstr ""
-#: config/tc-i386.c:2514
+#: config/tc-i386.c:2530
#, c-format
msgid "no such architecture modifier: `%s'"
msgstr ""
-#: config/tc-i386.c:2529 config/tc-i386.c:2559
+#: config/tc-i386.c:2545 config/tc-i386.c:2575
msgid "Intel L1OM is 64bit ELF only"
msgstr ""
-#: config/tc-i386.c:2536 config/tc-i386.c:2566
+#: config/tc-i386.c:2552 config/tc-i386.c:2582
msgid "Intel K1OM is 64bit ELF only"
msgstr ""
-#: config/tc-i386.c:2543 config/tc-i386.c:2580
+#: config/tc-i386.c:2559 config/tc-i386.c:2596
msgid "Intel MCU is 32bit ELF only"
msgstr ""
-#: config/tc-i386.c:2587 config/tc-i386.c:10524
+#: config/tc-i386.c:2603 config/tc-i386.c:10599
msgid "unknown architecture"
msgstr ""
-#: config/tc-i386.c:2621 config/tc-i386.c:2643
+#: config/tc-i386.c:2640 config/tc-i386.c:2662
#, c-format
msgid "can't hash %s: %s"
msgstr ""
-#: config/tc-i386.c:2939
+#: config/tc-i386.c:2961
msgid "there are no pc-relative size relocations"
msgstr ""
-#: config/tc-i386.c:2951
+#: config/tc-i386.c:2973
#, c-format
msgid "unknown relocation (%u)"
msgstr ""
-#: config/tc-i386.c:2953
+#: config/tc-i386.c:2975
#, c-format
msgid "%u-byte relocation cannot be applied to %u-byte field"
msgstr ""
-#: config/tc-i386.c:2957
+#: config/tc-i386.c:2979
msgid "non-pc-relative relocation for pc-relative field"
msgstr ""
-#: config/tc-i386.c:2962
+#: config/tc-i386.c:2984
msgid "relocated field and relocation type differ in signedness"
msgstr ""
-#: config/tc-i386.c:2971
+#: config/tc-i386.c:2993
msgid "there are no unsigned pc-relative relocations"
msgstr ""
-#: config/tc-i386.c:2979
+#: config/tc-i386.c:3001
#, c-format
msgid "cannot do %u byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:2996
+#: config/tc-i386.c:3018
#, c-format
msgid "cannot do %s %u byte relocation"
msgstr ""
-#: config/tc-i386.c:3449 config/tc-i386.c:3476
+#: config/tc-i386.c:3473 config/tc-i386.c:3500
#, c-format
msgid "can't use register '%s%s' as operand %d in '%s'."
msgstr ""
-#: config/tc-i386.c:3516 config/tc-i386.c:3656
+#: config/tc-i386.c:3540 config/tc-i386.c:3680
#, c-format
msgid "invalid instruction `%s' after `%s'"
msgstr ""
-#: config/tc-i386.c:3522
+#: config/tc-i386.c:3546
#, c-format
msgid "missing `lock' with `%s'"
msgstr ""
-#: config/tc-i386.c:3529
+#: config/tc-i386.c:3553
#, c-format
msgid "instruction `%s' after `xacquire' not allowed"
msgstr ""
-#: config/tc-i386.c:3536
+#: config/tc-i386.c:3560
#, c-format
msgid "memory destination needed for instruction `%s' after `xrelease'"
msgstr ""
-#: config/tc-i386.c:3630
+#: config/tc-i386.c:3654
#, c-format
msgid "SSE instruction `%s' is used"
msgstr ""
-#: config/tc-i386.c:3644 config/tc-i386.c:5453
+#: config/tc-i386.c:3668 config/tc-i386.c:5526
#, c-format
msgid "ambiguous operand size for `%s'"
msgstr ""
-#: config/tc-i386.c:3669
+#: config/tc-i386.c:3693
msgid "expecting lockable instruction after `lock'"
msgstr ""
-#: config/tc-i386.c:3679
+#: config/tc-i386.c:3703
msgid "expecting valid branch instruction after `bnd'"
msgstr ""
-#: config/tc-i386.c:3684
+#: config/tc-i386.c:3708
msgid "32-bit address isn't allowed in 64-bit MPX instructions."
msgstr ""
-#: config/tc-i386.c:3688
+#: config/tc-i386.c:3712
msgid "16-bit address isn't allowed in MPX instructions"
msgstr ""
#. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
-#: config/tc-i386.c:3744
+#: config/tc-i386.c:3768
#, c-format
msgid "translating to `%sp'"
msgstr ""
-#: config/tc-i386.c:3751
+#: config/tc-i386.c:3775
#, c-format
msgid "instruction `%s' isn't supported in 16-bit mode."
msgstr ""
-#: config/tc-i386.c:3811
+#: config/tc-i386.c:3835
#, c-format
msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
msgstr ""
-#: config/tc-i386.c:3851 config/tc-i386.c:3993
+#: config/tc-i386.c:3875 config/tc-i386.c:4057
#, c-format
msgid "no such instruction: `%s'"
msgstr ""
-#: config/tc-i386.c:3862 config/tc-i386.c:4026
+#: config/tc-i386.c:3886 config/tc-i386.c:4090
#, c-format
msgid "invalid character %s in mnemonic"
msgstr ""
-#: config/tc-i386.c:3869
+#: config/tc-i386.c:3893
msgid "expecting prefix; got nothing"
msgstr ""
-#: config/tc-i386.c:3871
+#: config/tc-i386.c:3895
msgid "expecting mnemonic; got nothing"
msgstr ""
-#: config/tc-i386.c:3886 config/tc-i386.c:4044
+#: config/tc-i386.c:3910 config/tc-i386.c:4108
#, c-format
msgid "`%s' is only supported in 64-bit mode"
msgstr ""
-#: config/tc-i386.c:3887 config/tc-i386.c:4043
+#: config/tc-i386.c:3911 config/tc-i386.c:4107
#, c-format
msgid "`%s' is not supported in 64-bit mode"
msgstr ""
-#: config/tc-i386.c:3899
+#: config/tc-i386.c:3923
#, c-format
msgid "redundant %s prefix"
msgstr ""
-#: config/tc-i386.c:4050
+#: config/tc-i386.c:4114
#, c-format
msgid "`%s' is not supported on `%s%s'"
msgstr ""
-#: config/tc-i386.c:4061
+#: config/tc-i386.c:4125
msgid "use .code16 to ensure correct addressing mode"
msgstr ""
-#: config/tc-i386.c:4085
+#: config/tc-i386.c:4149
#, c-format
msgid "invalid character %s before operand %d"
msgstr ""
-#: config/tc-i386.c:4099
+#: config/tc-i386.c:4163
#, c-format
msgid "unbalanced parenthesis in operand %d."
msgstr ""
-#: config/tc-i386.c:4102
+#: config/tc-i386.c:4166
#, c-format
msgid "unbalanced brackets in operand %d."
msgstr ""
-#: config/tc-i386.c:4111
+#: config/tc-i386.c:4175
#, c-format
msgid "invalid character %s in operand %d"
msgstr ""
-#: config/tc-i386.c:4139
+#: config/tc-i386.c:4202
#, c-format
msgid "spurious operands; (%d operands/instruction max)"
msgstr ""
-#: config/tc-i386.c:4162
+#: config/tc-i386.c:4226
msgid "expecting operand after ','; got nothing"
msgstr ""
-#: config/tc-i386.c:4167
+#: config/tc-i386.c:4231
msgid "expecting operand before ','; got nothing"
msgstr ""
-#: config/tc-i386.c:4544
+#: config/tc-i386.c:4608
msgid "mask, index, and destination registers should be distinct"
msgstr ""
-#: config/tc-i386.c:4559
+#: config/tc-i386.c:4623
msgid "index and destination registers should be distinct"
msgstr ""
-#: config/tc-i386.c:5112
+#: config/tc-i386.c:5185
msgid "operand size mismatch"
msgstr ""
-#: config/tc-i386.c:5115
+#: config/tc-i386.c:5188
msgid "operand type mismatch"
msgstr ""
-#: config/tc-i386.c:5118
+#: config/tc-i386.c:5191
msgid "register type mismatch"
msgstr ""
-#: config/tc-i386.c:5121
+#: config/tc-i386.c:5194
msgid "number of operands mismatch"
msgstr ""
-#: config/tc-i386.c:5124
+#: config/tc-i386.c:5197
msgid "invalid instruction suffix"
msgstr ""
-#: config/tc-i386.c:5127
+#: config/tc-i386.c:5200
msgid "constant doesn't fit in 4 bits"
msgstr ""
-#: config/tc-i386.c:5130
+#: config/tc-i386.c:5203
msgid "only supported with old gcc"
msgstr ""
-#: config/tc-i386.c:5133
+#: config/tc-i386.c:5206
msgid "unsupported with Intel mnemonic"
msgstr ""
-#: config/tc-i386.c:5136
+#: config/tc-i386.c:5209
msgid "unsupported syntax"
msgstr ""
-#: config/tc-i386.c:5139
+#: config/tc-i386.c:5212
#, c-format
msgid "unsupported instruction `%s'"
msgstr ""
-#: config/tc-i386.c:5143
+#: config/tc-i386.c:5216
msgid "invalid VSIB address"
msgstr ""
-#: config/tc-i386.c:5146
+#: config/tc-i386.c:5219
msgid "mask, index, and destination registers must be distinct"
msgstr ""
-#: config/tc-i386.c:5149
+#: config/tc-i386.c:5222
msgid "unsupported vector index register"
msgstr ""
-#: config/tc-i386.c:5152
+#: config/tc-i386.c:5225
msgid "unsupported broadcast"
msgstr ""
-#: config/tc-i386.c:5155
+#: config/tc-i386.c:5228
msgid "broadcast not on source memory operand"
msgstr ""
-#: config/tc-i386.c:5158
+#: config/tc-i386.c:5231
msgid "broadcast is needed for operand of such type"
msgstr ""
-#: config/tc-i386.c:5161
+#: config/tc-i386.c:5234
msgid "unsupported masking"
msgstr ""
-#: config/tc-i386.c:5164
+#: config/tc-i386.c:5237
msgid "mask not on destination operand"
msgstr ""
-#: config/tc-i386.c:5167
+#: config/tc-i386.c:5240
msgid "default mask isn't allowed"
msgstr ""
-#: config/tc-i386.c:5170
+#: config/tc-i386.c:5243
msgid "unsupported static rounding/sae"
msgstr ""
-#: config/tc-i386.c:5174
+#: config/tc-i386.c:5247
msgid "RC/SAE operand must precede immediate operands"
msgstr ""
-#: config/tc-i386.c:5176
+#: config/tc-i386.c:5249
msgid "RC/SAE operand must follow immediate operands"
msgstr ""
-#: config/tc-i386.c:5179 config/tc-metag.c:4789 config/tc-metag.c:5530
+#: config/tc-i386.c:5252 config/tc-metag.c:4789 config/tc-metag.c:5530
#: config/tc-metag.c:5552
msgid "invalid register operand"
msgstr ""
-#: config/tc-i386.c:5182
+#: config/tc-i386.c:5255
#, c-format
msgid "%s for `%s'"
msgstr ""
-#: config/tc-i386.c:5193
+#: config/tc-i386.c:5266
#, c-format
msgid "indirect %s without `*'"
msgstr ""
#. Warn them that a data or address size prefix doesn't
#. affect assembly of the next line of code.
-#: config/tc-i386.c:5201
+#: config/tc-i386.c:5274
#, c-format
msgid "stand-alone `%s' prefix"
msgstr ""
-#: config/tc-i386.c:5235 config/tc-i386.c:5251
+#: config/tc-i386.c:5308 config/tc-i386.c:5324
#, c-format
msgid "`%s' operand %d must use `%ses' segment"
msgstr ""
#. We have to know the operand size for crc32.
-#: config/tc-i386.c:5305
+#: config/tc-i386.c:5378
#, c-format
msgid "ambiguous memory operand size for `%s`"
msgstr ""
-#: config/tc-i386.c:5426
+#: config/tc-i386.c:5499
msgid ""
"no instruction mnemonic suffix given and no register operands; can't size "
"instruction"
msgstr ""
-#: config/tc-i386.c:5568 config/tc-i386.c:5642 config/tc-i386.c:5753
+#: config/tc-i386.c:5641 config/tc-i386.c:5715 config/tc-i386.c:5826
#, c-format
msgid "using `%s%s' instead of `%s%s' due to `%c' suffix"
msgstr ""
-#: config/tc-i386.c:5595 config/tc-i386.c:5619 config/tc-i386.c:5684
-#: config/tc-i386.c:5729
+#: config/tc-i386.c:5668 config/tc-i386.c:5692 config/tc-i386.c:5757
+#: config/tc-i386.c:5802
#, c-format
msgid "`%s%s' not allowed with `%s%c'"
msgstr ""
-#: config/tc-i386.c:5636 config/tc-i386.c:5662 config/tc-i386.c:5708
-#: config/tc-i386.c:5747
+#: config/tc-i386.c:5709 config/tc-i386.c:5735 config/tc-i386.c:5781
+#: config/tc-i386.c:5820
#, c-format
msgid "incorrect register `%s%s' used with `%c' suffix"
msgstr ""
-#: config/tc-i386.c:5816
+#: config/tc-i386.c:5889
msgid "no instruction mnemonic suffix given; can't determine immediate size"
msgstr ""
-#: config/tc-i386.c:5852
+#: config/tc-i386.c:5925
#, c-format
msgid "the last operand of `%s' must be `%s%s'"
msgstr ""
-#: config/tc-i386.c:5855
+#: config/tc-i386.c:5928
#, c-format
msgid "the first operand of `%s' must be `%s%s'"
msgstr ""
-#: config/tc-i386.c:5986
+#: config/tc-i386.c:6059
#, c-format
msgid ""
"the second source register `%s%s' implicitly denotes `%s%.3s%d' to `%s%.3s"
"%d' source group in `%s'"
msgstr ""
-#: config/tc-i386.c:6023
+#: config/tc-i386.c:6096
#, c-format
msgid "you can't `pop %scs'"
msgstr ""
#. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:6052
+#: config/tc-i386.c:6125
#, c-format
msgid "translating to `%s %s%s,%s%s'"
msgstr ""
#. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:6059
+#: config/tc-i386.c:6132
#, c-format
msgid "translating to `%s %s%s'"
msgstr ""
-#: config/tc-i386.c:6087
+#: config/tc-i386.c:6160
#, c-format
msgid "segment override on `%s' is ineffectual"
msgstr ""
-#: config/tc-i386.c:6903 config/tc-i386.c:7004 config/tc-i386.c:7059
+#: config/tc-i386.c:6976 config/tc-i386.c:7077 config/tc-i386.c:7132
msgid "skipping prefixes on this instruction"
msgstr ""
-#: config/tc-i386.c:7079
+#: config/tc-i386.c:7152
msgid "16-bit jump out of range"
msgstr ""
-#: config/tc-i386.c:7088
+#: config/tc-i386.c:7161
#, c-format
msgid "can't handle non absolute segment in `%s'"
msgstr ""
-#: config/tc-i386.c:7775 config/tc-i386.c:7877
+#: config/tc-i386.c:7848 config/tc-i386.c:7950
#, c-format
msgid "@%s reloc is not supported with %d-bit output format"
msgstr ""
-#: config/tc-i386.c:7928
+#: config/tc-i386.c:8001
#, c-format
msgid "missing or invalid expression `%s'"
msgstr ""
-#: config/tc-i386.c:8014
+#: config/tc-i386.c:8087
#, c-format
msgid "Unsupported broadcast: `%s'"
msgstr ""
-#: config/tc-i386.c:8029
+#: config/tc-i386.c:8102
#, c-format
msgid "`%s' can't be used for write mask"
msgstr ""
-#: config/tc-i386.c:8052
+#: config/tc-i386.c:8125
#, c-format
msgid "invalid write mask `%s'"
msgstr ""
-#: config/tc-i386.c:8074 config/tc-i386.c:8719
+#: config/tc-i386.c:8147 config/tc-i386.c:8792
#, c-format
msgid "duplicated `%s'"
msgstr ""
-#: config/tc-i386.c:8084
+#: config/tc-i386.c:8157
#, c-format
msgid "invalid zeroing-masking `%s'"
msgstr ""
-#: config/tc-i386.c:8097
+#: config/tc-i386.c:8170
#, c-format
msgid "missing `}' in `%s'"
msgstr ""
#. We don't know this one.
-#: config/tc-i386.c:8105
+#: config/tc-i386.c:8178
#, c-format
msgid "unknown vector operation: `%s'"
msgstr ""
-#: config/tc-i386.c:8125
+#: config/tc-i386.c:8198
#, c-format
msgid "at most %d immediate operands are allowed"
msgstr ""
-#: config/tc-i386.c:8157 config/tc-i386.c:8404
+#: config/tc-i386.c:8230 config/tc-i386.c:8477
#, c-format
msgid "junk `%s' after expression"
msgstr ""
-#: config/tc-i386.c:8178
+#: config/tc-i386.c:8251
#, c-format
msgid "missing or invalid immediate expression `%s'"
msgstr ""
-#: config/tc-i386.c:8201 config/tc-i386.c:8494
+#: config/tc-i386.c:8274 config/tc-i386.c:8567
#, c-format
msgid "unimplemented segment %s in operand"
msgstr ""
-#: config/tc-i386.c:8208
+#: config/tc-i386.c:8281
#, c-format
msgid "illegal immediate register operand %s"
msgstr ""
-#: config/tc-i386.c:8256
+#: config/tc-i386.c:8329
#, c-format
msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
msgstr ""
-#: config/tc-i386.c:8265
+#: config/tc-i386.c:8338
#, c-format
msgid "scale factor of %d without an index register"
msgstr ""
-#: config/tc-i386.c:8287
+#: config/tc-i386.c:8360
#, c-format
msgid "at most %d displacement operands are allowed"
msgstr ""
-#: config/tc-i386.c:8460
+#: config/tc-i386.c:8533
#, c-format
msgid "missing or invalid displacement expression `%s'"
msgstr ""
-#: config/tc-i386.c:8477
+#: config/tc-i386.c:8550
#, c-format
msgid "0x%lx out range of signed 32bit displacement"
msgstr ""
-#: config/tc-i386.c:8617
+#: config/tc-i386.c:8690
#, c-format
msgid "`%s' is not valid here (expected `%c%s%s%c')"
msgstr ""
-#: config/tc-i386.c:8629
+#: config/tc-i386.c:8702
#, c-format
msgid "`%s' is not a valid %s expression"
msgstr ""
-#: config/tc-i386.c:8664
+#: config/tc-i386.c:8737
#, c-format
msgid "`%s' cannot be used here"
msgstr ""
-#: config/tc-i386.c:8671
+#: config/tc-i386.c:8744
msgid "register scaling is being ignored here"
msgstr ""
-#: config/tc-i386.c:8732
+#: config/tc-i386.c:8805
#, c-format
msgid "Missing '}': '%s'"
msgstr ""
-#: config/tc-i386.c:8738
+#: config/tc-i386.c:8811
#, c-format
msgid "Junk after '}': '%s'"
msgstr ""
-#: config/tc-i386.c:8866
+#: config/tc-i386.c:8939
#, c-format
msgid "bad memory operand `%s'"
msgstr ""
-#: config/tc-i386.c:8890
+#: config/tc-i386.c:8963
#, c-format
msgid "junk `%s' after register"
msgstr ""
-#: config/tc-i386.c:8903 config/tc-i386.c:9040 config/tc-i386.c:9084
+#: config/tc-i386.c:8976 config/tc-i386.c:9113 config/tc-i386.c:9157
#, c-format
msgid "bad register name `%s'"
msgstr ""
-#: config/tc-i386.c:8911
+#: config/tc-i386.c:8984
msgid "immediate operand illegal with absolute jump"
msgstr ""
-#: config/tc-i386.c:8942
+#: config/tc-i386.c:9015
#, c-format
msgid "too many memory references for `%s'"
msgstr ""
-#: config/tc-i386.c:9029
+#: config/tc-i386.c:9102
#, c-format
msgid "expecting `,' or `)' after index register in `%s'"
msgstr ""
-#: config/tc-i386.c:9057
+#: config/tc-i386.c:9130
#, c-format
msgid "expecting `)' after scale factor in `%s'"
msgstr ""
-#: config/tc-i386.c:9065
+#: config/tc-i386.c:9138
#, c-format
msgid "expecting index register or scale factor after `,'; got '%c'"
msgstr ""
-#: config/tc-i386.c:9073
+#: config/tc-i386.c:9146
#, c-format
msgid "expecting `,' or `)' after base register in `%s'"
msgstr ""
#. It's not a memory operand; argh!
-#: config/tc-i386.c:9122
+#: config/tc-i386.c:9195
#, c-format
msgid "invalid char %s beginning operand %d `%s'"
msgstr ""
-#: config/tc-i386.c:9344
+#: config/tc-i386.c:9417
msgid "long jump required"
msgstr ""
-#: config/tc-i386.c:9399
+#: config/tc-i386.c:9472
msgid "jump target out of range"
msgstr ""
-#: config/tc-i386.c:9972
+#: config/tc-i386.c:10047
msgid "no compiled in support for x86_64"
msgstr ""
-#: config/tc-i386.c:9992
+#: config/tc-i386.c:10067
msgid "no compiled in support for 32bit x86_64"
msgstr ""
-#: config/tc-i386.c:9996
+#: config/tc-i386.c:10071
msgid "32bit x86_64 is only supported for ELF"
msgstr ""
-#: config/tc-i386.c:10030 config/tc-i386.c:10114
+#: config/tc-i386.c:10105 config/tc-i386.c:10189
#, c-format
msgid "invalid -march= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10124 config/tc-i386.c:10136
+#: config/tc-i386.c:10199 config/tc-i386.c:10211
#, c-format
msgid "invalid -mtune= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10145
+#: config/tc-i386.c:10220
#, c-format
msgid "invalid -mmnemonic= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10154
+#: config/tc-i386.c:10229
#, c-format
msgid "invalid -msyntax= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10181
+#: config/tc-i386.c:10256
#, c-format
msgid "invalid -msse-check= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10192
+#: config/tc-i386.c:10267
#, c-format
msgid "invalid -moperand-check= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10201
+#: config/tc-i386.c:10276
#, c-format
msgid "invalid -mavxscalar= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10216
+#: config/tc-i386.c:10291
#, c-format
msgid "invalid -mevexlig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10229
+#: config/tc-i386.c:10304
#, c-format
msgid "invalid -mevexrcig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10238
+#: config/tc-i386.c:10313
#, c-format
msgid "invalid -mevexwig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10253
+#: config/tc-i386.c:10328
#, c-format
msgid "invalid -momit-lock-prefix= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10262
+#: config/tc-i386.c:10337
#, c-format
msgid "invalid -mfence-as-lock-add= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10271
+#: config/tc-i386.c:10346
#, c-format
msgid "invalid -mrelax-relocations= option: `%s'"
msgstr ""
-#: config/tc-i386.c:10394
+#: config/tc-i386.c:10469
#, c-format
msgid ""
" -Q ignored\n"
@@ -7915,34 +7928,34 @@ msgid ""
" -k ignored\n"
msgstr ""
-#: config/tc-i386.c:10399
+#: config/tc-i386.c:10474
#, c-format
msgid ""
" -n Do not optimize code alignment\n"
" -q quieten some warnings\n"
msgstr ""
-#: config/tc-i386.c:10403
+#: config/tc-i386.c:10478
#, c-format
msgid " -s ignored\n"
msgstr ""
-#: config/tc-i386.c:10408
+#: config/tc-i386.c:10483
#, c-format
msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n"
msgstr ""
-#: config/tc-i386.c:10412
+#: config/tc-i386.c:10487
#, c-format
msgid " --divide do not treat `/' as a comment character\n"
msgstr ""
-#: config/tc-i386.c:10415
+#: config/tc-i386.c:10490
#, c-format
msgid " --divide ignored\n"
msgstr ""
-#: config/tc-i386.c:10418
+#: config/tc-i386.c:10493
#, c-format
msgid ""
" -march=CPU[,+EXTENSION...]\n"
@@ -7950,36 +7963,36 @@ msgid ""
"of:\n"
msgstr ""
-#: config/tc-i386.c:10422
+#: config/tc-i386.c:10497
#, c-format
msgid " EXTENSION is combination of:\n"
msgstr ""
-#: config/tc-i386.c:10425
+#: config/tc-i386.c:10500
#, c-format
msgid " -mtune=CPU optimize for CPU, CPU is one of:\n"
msgstr ""
-#: config/tc-i386.c:10428
+#: config/tc-i386.c:10503
#, c-format
msgid " -msse2avx encode SSE instructions with VEX prefix\n"
msgstr ""
-#: config/tc-i386.c:10430
+#: config/tc-i386.c:10505
#, c-format
msgid ""
" -msse-check=[none|error|warning]\n"
" check SSE instructions\n"
msgstr ""
-#: config/tc-i386.c:10433
+#: config/tc-i386.c:10508
#, c-format
msgid ""
" -moperand-check=[none|error|warning]\n"
" check operand combinations for validity\n"
msgstr ""
-#: config/tc-i386.c:10436
+#: config/tc-i386.c:10511
#, c-format
msgid ""
" -mavxscalar=[128|256] encode scalar AVX instructions with specific "
@@ -7987,7 +8000,7 @@ msgid ""
" length\n"
msgstr ""
-#: config/tc-i386.c:10439
+#: config/tc-i386.c:10514
#, c-format
msgid ""
" -mevexlig=[128|256|512] encode scalar EVEX instructions with specific "
@@ -7995,7 +8008,7 @@ msgid ""
" length\n"
msgstr ""
-#: config/tc-i386.c:10442
+#: config/tc-i386.c:10517
#, c-format
msgid ""
" -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W "
@@ -8003,7 +8016,7 @@ msgid ""
" for EVEX.W bit ignored instructions\n"
msgstr ""
-#: config/tc-i386.c:10445
+#: config/tc-i386.c:10520
#, c-format
msgid ""
" -mevexrcig=[rne|rd|ru|rz]\n"
@@ -8012,54 +8025,54 @@ msgid ""
" for SAE-only ignored instructions\n"
msgstr ""
-#: config/tc-i386.c:10449
+#: config/tc-i386.c:10524
#, c-format
msgid " -mmnemonic=[att|intel] use AT&T/Intel mnemonic\n"
msgstr ""
-#: config/tc-i386.c:10451
+#: config/tc-i386.c:10526
#, c-format
msgid " -msyntax=[att|intel] use AT&T/Intel syntax\n"
msgstr ""
-#: config/tc-i386.c:10453
+#: config/tc-i386.c:10528
#, c-format
msgid " -mindex-reg support pseudo index registers\n"
msgstr ""
-#: config/tc-i386.c:10455
+#: config/tc-i386.c:10530
#, c-format
msgid " -mnaked-reg don't require `%%' prefix for registers\n"
msgstr ""
-#: config/tc-i386.c:10457
+#: config/tc-i386.c:10532
#, c-format
msgid " -mold-gcc support old (<= 2.8.1) versions of gcc\n"
msgstr ""
-#: config/tc-i386.c:10459
+#: config/tc-i386.c:10534
#, c-format
msgid " -madd-bnd-prefix add BND prefix for all valid branches\n"
msgstr ""
-#: config/tc-i386.c:10461
+#: config/tc-i386.c:10536
#, c-format
msgid " -mshared disable branch optimization for shared code\n"
msgstr ""
-#: config/tc-i386.c:10464
+#: config/tc-i386.c:10539
#, c-format
msgid " -mbig-obj generate big object files\n"
msgstr ""
-#: config/tc-i386.c:10467
+#: config/tc-i386.c:10542
#, c-format
msgid ""
" -momit-lock-prefix=[no|yes]\n"
" strip all lock prefixes\n"
msgstr ""
-#: config/tc-i386.c:10470
+#: config/tc-i386.c:10545
#, c-format
msgid ""
" -mfence-as-lock-add=[no|yes]\n"
@@ -8067,73 +8080,73 @@ msgid ""
" lock addl $0x0, (%%{re}sp)\n"
msgstr ""
-#: config/tc-i386.c:10474
+#: config/tc-i386.c:10549
#, c-format
msgid ""
" -mrelax-relocations=[no|yes]\n"
" generate relax relocations\n"
msgstr ""
-#: config/tc-i386.c:10477
+#: config/tc-i386.c:10552
#, c-format
msgid " -mamd64 accept only AMD64 ISA\n"
msgstr ""
-#: config/tc-i386.c:10479
+#: config/tc-i386.c:10554
#, c-format
msgid " -mintel64 accept only Intel64 ISA\n"
msgstr ""
-#: config/tc-i386.c:10520
+#: config/tc-i386.c:10595
#, c-format
msgid "Intel MCU doesn't support `%s' architecture"
msgstr ""
-#: config/tc-i386.c:10577
+#: config/tc-i386.c:10652
msgid "Intel L1OM is 64bit only"
msgstr ""
-#: config/tc-i386.c:10583
+#: config/tc-i386.c:10658
msgid "Intel K1OM is 64bit only"
msgstr ""
-#: config/tc-i386.c:10589
+#: config/tc-i386.c:10664
msgid "Intel MCU is 32bit only"
msgstr ""
-#: config/tc-i386.c:10746
+#: config/tc-i386.c:10821
msgid "symbol size computation overflow"
msgstr ""
-#: config/tc-i386.c:10814
+#: config/tc-i386.c:10889
#, c-format
msgid "can not do %d byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:10832
+#: config/tc-i386.c:10907
#, c-format
msgid "can not do %d byte relocation"
msgstr ""
-#: config/tc-i386.c:10900
+#: config/tc-i386.c:10975
#, c-format
msgid "cannot represent relocation type %s in x32 mode"
msgstr ""
-#: config/tc-i386.c:10937 config/tc-s390.c:2597
+#: config/tc-i386.c:11012 config/tc-s390.c:2599
#, c-format
msgid "cannot represent relocation type %s"
msgstr ""
-#: config/tc-i386.c:11054
+#: config/tc-i386.c:11129
msgid "bad .section directive: want a,l,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:11057
+#: config/tc-i386.c:11132
msgid "bad .section directive: want a,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:11076
+#: config/tc-i386.c:11151
msgid ".largecomm supported only in 64bit mode, producing .comm"
msgstr ""
@@ -8158,7 +8171,7 @@ msgid "Defective assembler. No assembly attempted."
msgstr ""
#: config/tc-i860.c:392 config/tc-i860.c:938 config/tc-m68k.c:3917
-#: config/tc-m68k.c:3949 config/tc-sparc.c:3122
+#: config/tc-m68k.c:3949 config/tc-sparc.c:3125
msgid "failed sanity check."
msgstr ""
@@ -8297,7 +8310,7 @@ msgstr ""
msgid "architecture of opcode conflicts with that of earlier instruction(s)"
msgstr ""
-#: config/tc-i960.c:1421 config/tc-xtensa.c:12644
+#: config/tc-i960.c:1421 config/tc-xtensa.c:12656
msgid "too many operands"
msgstr ""
@@ -8317,7 +8330,7 @@ msgstr ""
#: config/tc-i960.c:1649
#, c-format
-msgid "improper number of operands. expecting %d, got %d"
+msgid "improper number of operands. Expecting %d, got %d"
msgstr ""
#: config/tc-i960.c:1750
@@ -8486,7 +8499,7 @@ msgid "Section switching in code is not supported."
msgstr ""
#: config/tc-ia64.c:2804
-msgid " Insn slot not set in unwind record."
+msgid "Insn slot not set in unwind record."
msgstr ""
#: config/tc-ia64.c:2878
@@ -9047,7 +9060,7 @@ msgstr ""
msgid "Inserting \"%s\" into constant hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:7493 config/tc-riscv.c:591 config/tc-tilegx.c:263
+#: config/tc-ia64.c:7493 config/tc-riscv.c:599 config/tc-tilegx.c:263
msgid "Could not set architecture and machine"
msgstr ""
@@ -9304,7 +9317,7 @@ msgstr ""
msgid "Unmatched high relocation"
msgstr ""
-#: config/tc-iq2000.c:826 config/tc-mips.c:19022 config/tc-score.c:5814
+#: config/tc-iq2000.c:826 config/tc-mips.c:19046 config/tc-score.c:5814
msgid ".end not in text section"
msgstr ""
@@ -9316,7 +9329,7 @@ msgstr ""
msgid ".end symbol does not match .ent symbol."
msgstr ""
-#: config/tc-iq2000.c:842 config/tc-mips.c:19042 config/tc-score.c:5830
+#: config/tc-iq2000.c:842 config/tc-mips.c:19066 config/tc-score.c:5830
msgid ".end directive missing or unknown symbol"
msgstr ""
@@ -9324,7 +9337,7 @@ msgstr ""
msgid "Expected simple number."
msgstr ""
-#: config/tc-iq2000.c:889 config/tc-mips.c:18947 config/tc-score.c:5666
+#: config/tc-iq2000.c:889 config/tc-mips.c:18971 config/tc-score.c:5666
#, c-format
msgid " *input_line_pointer == '%c' 0x%02x\n"
msgstr ""
@@ -9351,7 +9364,7 @@ msgstr ""
msgid "Unrecognised option: -hidden"
msgstr ""
-#: config/tc-m32r.c:357 config/tc-sparc.c:647
+#: config/tc-m32r.c:357 config/tc-sparc.c:648
msgid "Unrecognized option following -K"
msgstr ""
@@ -9416,7 +9429,7 @@ msgstr ""
#: config/tc-m32r.c:395
#, c-format
-msgid " might violate contraints\n"
+msgid " might violate constraints\n"
msgstr ""
#: config/tc-m32r.c:397
@@ -9428,7 +9441,7 @@ msgstr ""
#, c-format
msgid ""
" instructions might violate "
-"contraints\n"
+"constraints\n"
msgstr ""
#: config/tc-m32r.c:401
@@ -10125,7 +10138,7 @@ msgstr ""
#: config/tc-m68k.c:4435
#, c-format
-msgid "Don't know how to figure width of %c in md_assemble()"
+msgid "Don't know how to figure out width of %c in md_assemble()"
msgstr ""
#: config/tc-m68k.c:4667 config/tc-m68k.c:4706
@@ -10349,7 +10362,7 @@ msgstr ""
#: config/tc-m68k.c:7733
#, c-format
-msgid "-m[no-]%-16s enable/disable%s architecture extension\n"
+msgid "-m[no-]%-16s enable/disable %s architecture extension\n"
msgstr ""
#: config/tc-m68k.c:7739
@@ -10442,11 +10455,10 @@ msgstr ""
msgid "operand must be a multiple of 2"
msgstr ""
-#: config/tc-mcore.c:887 config/tc-microblaze.c:934
-#: config/tc-microblaze.c:1066 config/tc-microblaze.c:1098
-#: config/tc-microblaze.c:1551 config/tc-microblaze.c:1617
-#: config/tc-microblaze.c:1690 config/tc-microblaze.c:2102
-#: config/tc-microblaze.c:2149
+#: config/tc-mcore.c:887 config/tc-microblaze.c:934 config/tc-microblaze.c:1066
+#: config/tc-microblaze.c:1098 config/tc-microblaze.c:1551
+#: config/tc-microblaze.c:1617 config/tc-microblaze.c:1690
+#: config/tc-microblaze.c:2102 config/tc-microblaze.c:2149
#, c-format
msgid "unknown opcode \"%s\""
msgstr ""
@@ -10612,8 +10624,8 @@ msgstr ""
msgid "Can not do %d byte %srelocation"
msgstr ""
-#: config/tc-mcore.c:2184 config/tc-microblaze.c:2431
-msgid "pc-relative"
+#: config/tc-mcore.c:2184 config/tc-microblaze.c:2431 config/tc-tic30.c:1387
+msgid "pc-relative "
msgstr ""
#: config/tc-mep.c:339
@@ -11242,725 +11254,725 @@ msgstr ""
msgid "Absolute value in relaxation code. Assembler error....."
msgstr ""
-#: config/tc-mips.c:2037
+#: config/tc-mips.c:2046
#, c-format
msgid "the %d-bit %s architecture does not support the `%s' extension"
msgstr ""
-#: config/tc-mips.c:2040
+#: config/tc-mips.c:2049
#, c-format
msgid "the `%s' extension requires %s%d revision %d or greater"
msgstr ""
-#: config/tc-mips.c:2049
+#: config/tc-mips.c:2058
#, c-format
msgid "the `%s' extension was removed in %s%d revision %d"
msgstr ""
-#: config/tc-mips.c:2058
+#: config/tc-mips.c:2067
#, c-format
msgid "the `%s' extension requires 64-bit FPRs"
msgstr ""
-#: config/tc-mips.c:2876 config/tc-mips.c:16044
+#: config/tc-mips.c:2885 config/tc-mips.c:16069
#, c-format
msgid "unrecognized register name `%s'"
msgstr ""
-#: config/tc-mips.c:3103
+#: config/tc-mips.c:3112
msgid "invalid register range"
msgstr ""
-#: config/tc-mips.c:3131
+#: config/tc-mips.c:3140
msgid "vector element must be constant"
msgstr ""
-#: config/tc-mips.c:3141
+#: config/tc-mips.c:3150
msgid "missing `]'"
msgstr ""
-#: config/tc-mips.c:3353
+#: config/tc-mips.c:3364
#, c-format
msgid "internal: bad mips opcode (mask error): %s %s"
msgstr ""
-#: config/tc-mips.c:3380
+#: config/tc-mips.c:3391
#, c-format
msgid "internal: unknown operand type: %s %s"
msgstr ""
-#: config/tc-mips.c:3405
+#: config/tc-mips.c:3416
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx doubly defined): %s %s"
msgstr ""
-#: config/tc-mips.c:3413
+#: config/tc-mips.c:3424
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx undefined): %s %s"
msgstr ""
-#: config/tc-mips.c:3420
+#: config/tc-mips.c:3431
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx defined): %s %s"
msgstr ""
-#: config/tc-mips.c:3455
+#: config/tc-mips.c:3466
#, c-format
msgid "internal error: bad microMIPS opcode (incorrect length: %u): %s %s"
msgstr ""
-#: config/tc-mips.c:3463
+#: config/tc-mips.c:3474
#, c-format
msgid "internal error: bad microMIPS opcode (opcode/length mismatch): %s %s"
msgstr ""
-#: config/tc-mips.c:3489
+#: config/tc-mips.c:3500
msgid "-G may not be used in position-independent code"
msgstr ""
-#: config/tc-mips.c:3495
+#: config/tc-mips.c:3506
msgid "-G may not be used with abicalls"
msgstr ""
#. Probably a memory allocation problem? Give up now.
-#: config/tc-mips.c:3515 config/tc-mips.c:3606
+#: config/tc-mips.c:3526 config/tc-mips.c:3617
msgid "broken assembler, no assembly attempted"
msgstr ""
-#: config/tc-mips.c:3545 config/tc-mips.c:3574
+#: config/tc-mips.c:3556 config/tc-mips.c:3585
#, c-format
msgid "internal: can't hash `%s': %s"
msgstr ""
-#: config/tc-mips.c:3756
+#: config/tc-mips.c:3767
#, c-format
msgid ".gnu_attribute %d,%d is incompatible with `%s'"
msgstr ""
-#: config/tc-mips.c:3763
+#: config/tc-mips.c:3774
#, c-format
msgid ".gnu_attribute %d,%d requires `%s'"
msgstr ""
-#: config/tc-mips.c:3824
+#: config/tc-mips.c:3835
#, c-format
msgid ".gnu_attribute %d,%d is no longer supported"
msgstr ""
-#: config/tc-mips.c:3833
+#: config/tc-mips.c:3844
#, c-format
msgid ".gnu_attribute %d,%d is not a recognized floating-point ABI"
msgstr ""
-#: config/tc-mips.c:3846
+#: config/tc-mips.c:3857
msgid "`gp=64' used with a 32-bit processor"
msgstr ""
-#: config/tc-mips.c:3849
+#: config/tc-mips.c:3860
msgid "`gp=32' used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:3852
+#: config/tc-mips.c:3863
msgid "`gp=64' used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:3859
+#: config/tc-mips.c:3870
msgid "`fp=xx' used with a cpu lacking ldc1/sdc1 instructions"
msgstr ""
-#: config/tc-mips.c:3861
+#: config/tc-mips.c:3872
msgid "`fp=xx' cannot be used with `singlefloat'"
msgstr ""
-#: config/tc-mips.c:3865
+#: config/tc-mips.c:3876
msgid "`fp=64' used with a 32-bit fpu"
msgstr ""
-#: config/tc-mips.c:3869
+#: config/tc-mips.c:3880
msgid "`fp=64' used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:3874
+#: config/tc-mips.c:3885
msgid "`fp=32' used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:3876
+#: config/tc-mips.c:3887
msgid "`fp=32' used with a MIPS R6 cpu"
msgstr ""
-#: config/tc-mips.c:3879
+#: config/tc-mips.c:3890
msgid "Unknown size of floating point registers"
msgstr ""
-#: config/tc-mips.c:3884
+#: config/tc-mips.c:3895
msgid "`nooddspreg` cannot be used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:3887 config/tc-mips.c:3891
+#: config/tc-mips.c:3898 config/tc-mips.c:3902
#, c-format
msgid "`%s' cannot be used with `%s'"
msgstr ""
-#: config/tc-mips.c:3896
+#: config/tc-mips.c:3907
#, c-format
msgid "branch relaxation is not supported in `%s'"
msgstr ""
-#: config/tc-mips.c:3976
+#: config/tc-mips.c:3987
msgid "trap exception not supported at ISA 1"
msgstr ""
-#: config/tc-mips.c:3989 config/tc-mips.c:16924
+#: config/tc-mips.c:4000 config/tc-mips.c:16949
#, c-format
msgid "`%s' does not support legacy NaN"
msgstr ""
-#: config/tc-mips.c:4036
+#: config/tc-mips.c:4047
#, c-format
msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
msgstr ""
-#: config/tc-mips.c:4735
+#: config/tc-mips.c:4748
#, c-format
msgid "operand %d out of range"
msgstr ""
-#: config/tc-mips.c:4743
+#: config/tc-mips.c:4756
#, c-format
msgid "operand %d must be constant"
msgstr ""
-#: config/tc-mips.c:4787 read.c:4327 read.c:5294 write.c:263 write.c:1012
+#: config/tc-mips.c:4800 read.c:4327 read.c:5294 write.c:263 write.c:1012
msgid "register value used as expression"
msgstr ""
-#: config/tc-mips.c:4800
+#: config/tc-mips.c:4813
#, c-format
msgid "operand %d must be an immediate expression"
msgstr ""
-#: config/tc-mips.c:4919 config/tc-mips.c:4921
+#: config/tc-mips.c:4932 config/tc-mips.c:4934
#, c-format
msgid "float register should be even, was %d"
msgstr ""
-#: config/tc-mips.c:4934
+#: config/tc-mips.c:4947
#, c-format
msgid "condition code register should be even for %s, was %d"
msgstr ""
-#: config/tc-mips.c:4939
+#: config/tc-mips.c:4952
#, c-format
msgid "condition code register should be 0 or 4 for %s, was %d"
msgstr ""
-#: config/tc-mips.c:5248
+#: config/tc-mips.c:5261
msgid "invalid performance register"
msgstr ""
-#: config/tc-mips.c:5344
+#: config/tc-mips.c:5357
msgid "the source register must not be $0"
msgstr ""
-#: config/tc-mips.c:5584
+#: config/tc-mips.c:5597
msgid "missing frame size"
msgstr ""
-#: config/tc-mips.c:5589
+#: config/tc-mips.c:5602
msgid "frame size specified twice"
msgstr ""
-#: config/tc-mips.c:5594
+#: config/tc-mips.c:5607
msgid "invalid frame size"
msgstr ""
-#: config/tc-mips.c:5632
+#: config/tc-mips.c:5645
#, c-format
msgid "operand %d must be an immediate"
msgstr ""
-#: config/tc-mips.c:5647
+#: config/tc-mips.c:5660
msgid "invalid element selector"
msgstr ""
-#: config/tc-mips.c:5660
+#: config/tc-mips.c:5673
#, c-format
msgid "operand %d must be scalar"
msgstr ""
-#: config/tc-mips.c:5820
+#: config/tc-mips.c:5833
msgid "floating-point expression required"
msgstr ""
-#: config/tc-mips.c:5920
+#: config/tc-mips.c:5933
#, c-format
msgid "cannot use `%s' in this section"
msgstr ""
-#: config/tc-mips.c:6064
+#: config/tc-mips.c:6077
msgid "used $at without \".set noat\""
msgstr ""
-#: config/tc-mips.c:6066
+#: config/tc-mips.c:6079
#, c-format
msgid "used $%u with \".set at=$%u\""
msgstr ""
-#: config/tc-mips.c:7095
+#: config/tc-mips.c:7108
#, c-format
msgid "wrong size instruction in a %u-bit branch delay slot"
msgstr ""
-#: config/tc-mips.c:7115 config/tc-mips.c:7125 config/tc-mips.c:15350
+#: config/tc-mips.c:7128 config/tc-mips.c:7138 config/tc-mips.c:15375
#, c-format
msgid "jump to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7140 config/tc-mips.c:7160 config/tc-mips.c:7177
-#: config/tc-mips.c:8692 config/tc-mips.c:15204 config/tc-mips.c:15211
-#: config/tc-mips.c:15605 config/tc-mips.c:18356
+#: config/tc-mips.c:7153 config/tc-mips.c:7173 config/tc-mips.c:7190
+#: config/tc-mips.c:8701 config/tc-mips.c:15229 config/tc-mips.c:15236
+#: config/tc-mips.c:15630 config/tc-mips.c:18380
#, c-format
msgid "branch to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7146 config/tc-mips.c:7164 config/tc-mips.c:7181
-#: config/tc-mips.c:8695
+#: config/tc-mips.c:7159 config/tc-mips.c:7177 config/tc-mips.c:7194
+#: config/tc-mips.c:8704
#, c-format
msgid "branch address range overflow (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7420 config/tc-mips.c:18384
+#: config/tc-mips.c:7433 config/tc-mips.c:18408
msgid "extended instruction in delay slot"
msgstr ""
-#: config/tc-mips.c:7882
+#: config/tc-mips.c:7895
msgid "source and destination must be different"
msgstr ""
-#: config/tc-mips.c:7885
+#: config/tc-mips.c:7898
msgid "a destination register must be supplied"
msgstr ""
-#: config/tc-mips.c:7890
+#: config/tc-mips.c:7903
msgid "the source register must not be $31"
msgstr ""
-#: config/tc-mips.c:8136 config/tc-mips.c:14001 config/tc-mips.c:18436
+#: config/tc-mips.c:8149 config/tc-mips.c:14015 config/tc-mips.c:18460
msgid "invalid unextended operand value"
msgstr ""
-#: config/tc-mips.c:8248
+#: config/tc-mips.c:8257
#, c-format
msgid "opcode not supported on this processor: %s (%s)"
msgstr ""
-#: config/tc-mips.c:8327
+#: config/tc-mips.c:8336
msgid "opcode not supported in the `insn32' mode"
msgstr ""
-#: config/tc-mips.c:8330
+#: config/tc-mips.c:8339
#, c-format
msgid "unrecognized %d-bit version of microMIPS opcode"
msgstr ""
-#: config/tc-mips.c:8386
+#: config/tc-mips.c:8395
msgid "unrecognized unextended version of MIPS16 opcode"
msgstr ""
-#: config/tc-mips.c:8389
+#: config/tc-mips.c:8398
msgid "unrecognized extended version of MIPS16 opcode"
msgstr ""
-#: config/tc-mips.c:8439
+#: config/tc-mips.c:8448
msgid ""
"macro instruction expanded into multiple instructions in a branch delay slot"
msgstr ""
-#: config/tc-mips.c:8442
+#: config/tc-mips.c:8451
msgid "macro instruction expanded into multiple instructions"
msgstr ""
-#: config/tc-mips.c:8446
+#: config/tc-mips.c:8455
msgid ""
"macro instruction expanded into a wrong size instruction in a 16-bit branch "
"delay slot"
msgstr ""
-#: config/tc-mips.c:8448
+#: config/tc-mips.c:8457
msgid ""
"macro instruction expanded into a wrong size instruction in a 32-bit branch "
"delay slot"
msgstr ""
-#: config/tc-mips.c:8892
+#: config/tc-mips.c:8901
msgid "operand overflow"
msgstr ""
-#: config/tc-mips.c:8911 config/tc-mips.c:9495 config/tc-mips.c:13488
+#: config/tc-mips.c:8920 config/tc-mips.c:9504 config/tc-mips.c:13497
msgid "macro used $at after \".set noat\""
msgstr ""
-#: config/tc-mips.c:9059 config/tc-mips.c:11827 config/tc-mips.c:12486
+#: config/tc-mips.c:9068 config/tc-mips.c:11836 config/tc-mips.c:12495
#, c-format
msgid "number (0x%s) larger than 32 bits"
msgstr ""
-#: config/tc-mips.c:9079
+#: config/tc-mips.c:9088
msgid "number larger than 64 bits"
msgstr ""
-#: config/tc-mips.c:9373 config/tc-mips.c:9401 config/tc-mips.c:9439
-#: config/tc-mips.c:9484 config/tc-mips.c:12062 config/tc-mips.c:12101
-#: config/tc-mips.c:12140 config/tc-mips.c:12582 config/tc-mips.c:12634
+#: config/tc-mips.c:9382 config/tc-mips.c:9410 config/tc-mips.c:9448
+#: config/tc-mips.c:9493 config/tc-mips.c:12071 config/tc-mips.c:12110
+#: config/tc-mips.c:12149 config/tc-mips.c:12591 config/tc-mips.c:12643
msgid "PIC code offset overflow (max 16 signed bits)"
msgstr ""
-#: config/tc-mips.c:10012
+#: config/tc-mips.c:10021
#, c-format
msgid "BALIGN immediate not 0, 1, 2 or 3 (%lu)"
msgstr ""
#. result is always true
-#: config/tc-mips.c:10108
+#: config/tc-mips.c:10117
#, c-format
msgid "branch %s is always true"
msgstr ""
-#: config/tc-mips.c:10336 config/tc-mips.c:10446
+#: config/tc-mips.c:10345 config/tc-mips.c:10455
msgid "divide by zero"
msgstr ""
-#: config/tc-mips.c:10536
+#: config/tc-mips.c:10545
msgid "dla used to load 32-bit register; recommend using la instead"
msgstr ""
-#: config/tc-mips.c:10540
+#: config/tc-mips.c:10549
msgid "la used to load 64-bit address; recommend using dla instead"
msgstr ""
-#: config/tc-mips.c:10649 config/tc-riscv.c:913 config/tc-z80.c:732
+#: config/tc-mips.c:10658 config/tc-riscv.c:918 config/tc-z80.c:732
msgid "offset too large"
msgstr ""
-#: config/tc-mips.c:10823 config/tc-mips.c:11101
+#: config/tc-mips.c:10832 config/tc-mips.c:11110
msgid "PIC code offset overflow (max 32 signed bits)"
msgstr ""
-#: config/tc-mips.c:11171 config/tc-mips.c:11247
+#: config/tc-mips.c:11180 config/tc-mips.c:11256
#, c-format
msgid "opcode not supported in the `insn32' mode `%s'"
msgstr ""
-#: config/tc-mips.c:11199
+#: config/tc-mips.c:11208
msgid "MIPS PIC call to register other than $25"
msgstr ""
-#: config/tc-mips.c:11215 config/tc-mips.c:11226 config/tc-mips.c:11359
-#: config/tc-mips.c:11370
+#: config/tc-mips.c:11224 config/tc-mips.c:11235 config/tc-mips.c:11368
+#: config/tc-mips.c:11379
msgid "no .cprestore pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:11220 config/tc-mips.c:11364
+#: config/tc-mips.c:11229 config/tc-mips.c:11373
msgid "no .frame pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:11385
+#: config/tc-mips.c:11394
msgid "non-PIC jump used in PIC library"
msgstr ""
-#: config/tc-mips.c:12312
+#: config/tc-mips.c:12321
#, c-format
msgid "Unable to generate `%s' compliant code without mthc1"
msgstr ""
-#: config/tc-mips.c:13046
+#: config/tc-mips.c:13055
#, c-format
msgid "instruction %s: result is always false"
msgstr ""
-#: config/tc-mips.c:13199
+#: config/tc-mips.c:13208
#, c-format
msgid "instruction %s: result is always true"
msgstr ""
#. FIXME: Check if this is one of the itbl macros, since they
#. are added dynamically.
-#: config/tc-mips.c:13484
+#: config/tc-mips.c:13493
#, c-format
msgid "macro %s not implemented yet"
msgstr ""
-#: config/tc-mips.c:13829 config/tc-mips.c:13891 config/tc-mips.c:13901
+#: config/tc-mips.c:13838 config/tc-mips.c:13904 config/tc-mips.c:13915
#: config/tc-score.c:2691 config/tc-score.c:2737
msgid "unrecognized opcode"
msgstr ""
-#: config/tc-mips.c:14011
+#: config/tc-mips.c:14025
msgid "extended operand requested but not required"
msgstr ""
-#: config/tc-mips.c:14020
+#: config/tc-mips.c:14034
msgid "operand value out of range for instruction"
msgstr ""
-#: config/tc-mips.c:14117
+#: config/tc-mips.c:14131
#, c-format
msgid "relocation %s isn't supported by the current ABI"
msgstr ""
-#: config/tc-mips.c:14173
+#: config/tc-mips.c:14187
msgid "unclosed '('"
msgstr ""
-#: config/tc-mips.c:14239
+#: config/tc-mips.c:14253
#, c-format
msgid "a different %s was already specified, is now %s"
msgstr ""
-#: config/tc-mips.c:14406
+#: config/tc-mips.c:14420
msgid "-mmicromips cannot be used with -mips16"
msgstr ""
-#: config/tc-mips.c:14421
+#: config/tc-mips.c:14435
msgid "-mips16 cannot be used with -micromips"
msgstr ""
-#: config/tc-mips.c:14564 config/tc-mips.c:14622
+#: config/tc-mips.c:14586 config/tc-mips.c:14644
msgid "no compiled in support for 64 bit object file format"
msgstr ""
-#: config/tc-mips.c:14629
+#: config/tc-mips.c:14651
#, c-format
msgid "invalid abi -mabi=%s"
msgstr ""
-#: config/tc-mips.c:14669
+#: config/tc-mips.c:14691
#, c-format
msgid "invalid NaN setting -mnan=%s"
msgstr ""
-#: config/tc-mips.c:14703
+#: config/tc-mips.c:14725
msgid "-G not supported in this configuration"
msgstr ""
-#: config/tc-mips.c:14729
+#: config/tc-mips.c:14751
#, c-format
msgid "-%s conflicts with the other architecture options, which imply -%s"
msgstr ""
-#: config/tc-mips.c:14745
+#: config/tc-mips.c:14767
#, c-format
msgid "-march=%s is not compatible with the selected ABI"
msgstr ""
-#: config/tc-mips.c:15208 config/tc-mips.c:15599 config/tc-mips.c:18353
+#: config/tc-mips.c:15233 config/tc-mips.c:15624 config/tc-mips.c:18377
msgid "branch to a symbol in another ISA mode"
msgstr ""
-#: config/tc-mips.c:15215 config/tc-mips.c:15356 config/tc-mips.c:15609
+#: config/tc-mips.c:15240 config/tc-mips.c:15381 config/tc-mips.c:15634
#, c-format
msgid "cannot encode misaligned addend in the relocatable field (0x%lx)"
msgstr ""
-#: config/tc-mips.c:15252
+#: config/tc-mips.c:15277
msgid "PC-relative reference to a different section"
msgstr ""
-#: config/tc-mips.c:15324
+#: config/tc-mips.c:15349 config/tc-riscv.c:1904
msgid "TLS relocation against a constant"
msgstr ""
-#: config/tc-mips.c:15344
+#: config/tc-mips.c:15369
msgid "jump to a symbol in another ISA mode"
msgstr ""
-#: config/tc-mips.c:15347
+#: config/tc-mips.c:15372
msgid "JALX to a symbol in the same ISA mode"
msgstr ""
-#: config/tc-mips.c:15432
+#: config/tc-mips.c:15457
msgid "unsupported constant in relocation"
msgstr ""
-#: config/tc-mips.c:15504
+#: config/tc-mips.c:15529
#, c-format
msgid "PC-relative access using misaligned symbol (%lx)"
msgstr ""
-#: config/tc-mips.c:15508
+#: config/tc-mips.c:15533
#, c-format
msgid "PC-relative access using misaligned offset (%lx)"
msgstr ""
-#: config/tc-mips.c:15521 config/tc-mips.c:15540
+#: config/tc-mips.c:15546 config/tc-mips.c:15565
msgid "PC-relative access out of range"
msgstr ""
-#: config/tc-mips.c:15527
+#: config/tc-mips.c:15552
#, c-format
msgid "PC-relative access to misaligned address (%lx)"
msgstr ""
-#: config/tc-mips.c:15694
+#: config/tc-mips.c:15719
#, c-format
msgid "alignment too large, %d assumed"
msgstr ""
-#: config/tc-mips.c:15697
+#: config/tc-mips.c:15722
msgid "alignment negative, 0 assumed"
msgstr ""
-#: config/tc-mips.c:15939
+#: config/tc-mips.c:15964
#, c-format
msgid "%s: no such section"
msgstr ""
-#: config/tc-mips.c:15980
+#: config/tc-mips.c:16005
#, c-format
msgid ".option pic%d not supported"
msgstr ""
-#: config/tc-mips.c:15982
+#: config/tc-mips.c:16007
#, c-format
msgid ".option pic%d not supported in VxWorks PIC mode"
msgstr ""
-#: config/tc-mips.c:15994 config/tc-mips.c:16331
+#: config/tc-mips.c:16019 config/tc-mips.c:16356
msgid "-G may not be used with SVR4 PIC code"
msgstr ""
-#: config/tc-mips.c:16000
+#: config/tc-mips.c:16025
#, c-format
msgid "unrecognized option \"%s\""
msgstr ""
-#: config/tc-mips.c:16106
+#: config/tc-mips.c:16131
#, c-format
msgid "unknown architecture %s"
msgstr ""
-#: config/tc-mips.c:16120 config/tc-mips.c:16282
+#: config/tc-mips.c:16145 config/tc-mips.c:16307
#, c-format
msgid "unknown ISA level %s"
msgstr ""
-#: config/tc-mips.c:16129
+#: config/tc-mips.c:16154
#, c-format
msgid "unknown ISA or architecture %s"
msgstr ""
-#: config/tc-mips.c:16188
+#: config/tc-mips.c:16213
msgid "`noreorder' must be set before `nomacro'"
msgstr ""
-#: config/tc-mips.c:16217
+#: config/tc-mips.c:16242
msgid ".set pop with no .set push"
msgstr ""
-#: config/tc-mips.c:16236
+#: config/tc-mips.c:16261
#, c-format
msgid "tried to set unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:16309
+#: config/tc-mips.c:16334
#, c-format
msgid ".module used with unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:16315
+#: config/tc-mips.c:16340
msgid ".module is not permitted after generating code"
msgstr ""
-#: config/tc-mips.c:16375 config/tc-mips.c:16454 config/tc-mips.c:16558
-#: config/tc-mips.c:16588 config/tc-mips.c:16637
+#: config/tc-mips.c:16400 config/tc-mips.c:16479 config/tc-mips.c:16583
+#: config/tc-mips.c:16613 config/tc-mips.c:16662
#, c-format
msgid "%s not supported in MIPS16 mode"
msgstr ""
-#: config/tc-mips.c:16382
+#: config/tc-mips.c:16407
msgid ".cpload not in noreorder section"
msgstr ""
-#: config/tc-mips.c:16463 config/tc-mips.c:16482
+#: config/tc-mips.c:16488 config/tc-mips.c:16507
msgid "missing argument separator ',' for .cpsetup"
msgstr ""
-#: config/tc-mips.c:16680
+#: config/tc-mips.c:16705
#, c-format
msgid "unsupported use of %s"
msgstr ""
-#: config/tc-mips.c:16771
+#: config/tc-mips.c:16796
msgid "unsupported use of .gpword"
msgstr ""
-#: config/tc-mips.c:16809
+#: config/tc-mips.c:16834
msgid "unsupported use of .gpdword"
msgstr ""
-#: config/tc-mips.c:16841
+#: config/tc-mips.c:16866
msgid "unsupported use of .ehword"
msgstr ""
-#: config/tc-mips.c:16928
+#: config/tc-mips.c:16953
msgid "bad .nan directive"
msgstr ""
-#: config/tc-mips.c:16976
+#: config/tc-mips.c:17001
#, c-format
msgid "ignoring attempt to redefine symbol %s"
msgstr ""
-#: config/tc-mips.c:16991 ecoff.c:3364
+#: config/tc-mips.c:17016 ecoff.c:3372
msgid "bad .weakext directive"
msgstr ""
-#: config/tc-mips.c:17867 config/tc-mips.c:18149
+#: config/tc-mips.c:17891 config/tc-mips.c:18173
msgid "relaxed out-of-range branch into a jump"
msgstr ""
-#: config/tc-mips.c:18413 config/tc-xtensa.c:1663 config/tc-xtensa.c:1939
+#: config/tc-mips.c:18437 config/tc-xtensa.c:1663 config/tc-xtensa.c:1939
msgid "unsupported relocation"
msgstr ""
-#: config/tc-mips.c:18921 config/tc-score.c:5640
+#: config/tc-mips.c:18945 config/tc-score.c:5640
msgid "expected simple number"
msgstr ""
-#: config/tc-mips.c:18949 config/tc-score.c:5667
+#: config/tc-mips.c:18973 config/tc-score.c:5667
msgid "invalid number"
msgstr ""
-#: config/tc-mips.c:19026 ecoff.c:2995
+#: config/tc-mips.c:19050 ecoff.c:2999
msgid ".end directive without a preceding .ent directive"
msgstr ""
-#: config/tc-mips.c:19035
+#: config/tc-mips.c:19059
msgid ".end symbol does not match .ent symbol"
msgstr ""
-#: config/tc-mips.c:19112
+#: config/tc-mips.c:19136
msgid ".ent or .aent not in text section"
msgstr ""
-#: config/tc-mips.c:19115 config/tc-score.c:5706
+#: config/tc-mips.c:19139 config/tc-score.c:5706
msgid "missing .end"
msgstr ""
-#: config/tc-mips.c:19198
+#: config/tc-mips.c:19222
msgid ".mask/.fmask outside of .ent"
msgstr ""
-#: config/tc-mips.c:19205
+#: config/tc-mips.c:19229
msgid "bad .mask/.fmask directive"
msgstr ""
-#: config/tc-mips.c:19495
+#: config/tc-mips.c:19519
#, c-format
msgid "bad value (%s) for %s"
msgstr ""
-#: config/tc-mips.c:19559
+#: config/tc-mips.c:19583
#, c-format
msgid ""
"MIPS options:\n"
@@ -11971,7 +11983,7 @@ msgid ""
"\t\t\timplicitly with the gp register [default 8]\n"
msgstr ""
-#: config/tc-mips.c:19566
+#: config/tc-mips.c:19590
#, c-format
msgid ""
"-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -11992,7 +12004,7 @@ msgid ""
"-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
msgstr ""
-#: config/tc-mips.c:19591
+#: config/tc-mips.c:19615
#, c-format
msgid ""
"-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -12000,91 +12012,91 @@ msgid ""
"\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
msgstr ""
-#: config/tc-mips.c:19604
+#: config/tc-mips.c:19628
#, c-format
msgid ""
"-mips16\t\t\tgenerate mips16 instructions\n"
"-no-mips16\t\tdo not generate mips16 instructions\n"
msgstr ""
-#: config/tc-mips.c:19607
+#: config/tc-mips.c:19631
#, c-format
msgid ""
"-mmicromips\t\tgenerate microMIPS instructions\n"
"-mno-micromips\t\tdo not generate microMIPS instructions\n"
msgstr ""
-#: config/tc-mips.c:19610
+#: config/tc-mips.c:19634
#, c-format
msgid ""
"-msmartmips\t\tgenerate smartmips instructions\n"
"-mno-smartmips\t\tdo not generate smartmips instructions\n"
msgstr ""
-#: config/tc-mips.c:19613
+#: config/tc-mips.c:19637
#, c-format
msgid ""
"-mdsp\t\t\tgenerate DSP instructions\n"
"-mno-dsp\t\tdo not generate DSP instructions\n"
msgstr ""
-#: config/tc-mips.c:19616
+#: config/tc-mips.c:19640
#, c-format
msgid ""
"-mdspr2\t\t\tgenerate DSP R2 instructions\n"
"-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
msgstr ""
-#: config/tc-mips.c:19619
+#: config/tc-mips.c:19643
#, c-format
msgid ""
"-mdspr3\t\t\tgenerate DSP R3 instructions\n"
"-mno-dspr3\t\tdo not generate DSP R3 instructions\n"
msgstr ""
-#: config/tc-mips.c:19622
+#: config/tc-mips.c:19646
#, c-format
msgid ""
"-mmt\t\t\tgenerate MT instructions\n"
"-mno-mt\t\t\tdo not generate MT instructions\n"
msgstr ""
-#: config/tc-mips.c:19625
+#: config/tc-mips.c:19649
#, c-format
msgid ""
"-mmcu\t\t\tgenerate MCU instructions\n"
"-mno-mcu\t\tdo not generate MCU instructions\n"
msgstr ""
-#: config/tc-mips.c:19628
+#: config/tc-mips.c:19652
#, c-format
msgid ""
"-mmsa\t\t\tgenerate MSA instructions\n"
"-mno-msa\t\tdo not generate MSA instructions\n"
msgstr ""
-#: config/tc-mips.c:19631
+#: config/tc-mips.c:19655
#, c-format
msgid ""
"-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n"
"-mno-xpa\t\tdo not generate eXtended Physical Address (XPA) instructions\n"
msgstr ""
-#: config/tc-mips.c:19634
+#: config/tc-mips.c:19658
#, c-format
msgid ""
"-mvirt\t\t\tgenerate Virtualization instructions\n"
"-mno-virt\t\tdo not generate Virtualization instructions\n"
msgstr ""
-#: config/tc-mips.c:19637
+#: config/tc-mips.c:19661
#, c-format
msgid ""
"-minsn32\t\tonly generate 32-bit microMIPS instructions\n"
"-mno-insn32\t\tgenerate all microMIPS instructions\n"
msgstr ""
-#: config/tc-mips.c:19640
+#: config/tc-mips.c:19664
#, c-format
msgid ""
"-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n"
@@ -12102,7 +12114,7 @@ msgid ""
"--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
msgstr ""
-#: config/tc-mips.c:19654
+#: config/tc-mips.c:19678
#, c-format
msgid ""
"-mhard-float\t\tallow floating-point instructions\n"
@@ -12111,10 +12123,13 @@ msgid ""
"-mdouble-float\t\tallow 32-bit and 64-bit floating-point operations\n"
"--[no-]construct-floats\t[dis]allow floating point values to be constructed\n"
"--[no-]relax-branch\t[dis]allow out-of-range branches to be relaxed\n"
+"-mignore-branch-isa\taccept invalid branches requiring an ISA mode switch\n"
+"-mno-ignore-branch-isa\treject invalid branches requiring an ISA mode "
+"switch\n"
"-mnan=ENCODING\t\tselect an IEEE 754 NaN encoding convention, either of:\n"
msgstr ""
-#: config/tc-mips.c:19670
+#: config/tc-mips.c:19696
#, c-format
msgid ""
"-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -12128,7 +12143,7 @@ msgid ""
"-mabi=ABI\t\tcreate ABI conformant object file for:\n"
msgstr ""
-#: config/tc-mips.c:19691
+#: config/tc-mips.c:19717
#, c-format
msgid ""
"-32\t\t\tcreate o32 ABI object file (default)\n"
@@ -12136,7 +12151,7 @@ msgid ""
"-64\t\t\tcreate 64 ABI object file\n"
msgstr ""
-#: config/tc-mips.c:19774
+#: config/tc-mips.c:19800
msgid "missing .end at end of assembly"
msgstr ""
@@ -12472,26 +12487,26 @@ msgstr ""
msgid "profiling in absolute section?"
msgstr ""
-#: config/tc-msp430.c:1366
+#: config/tc-msp430.c:1365
#, c-format
msgid "Unrecognised CPU errata name starting here: %s"
msgstr ""
-#: config/tc-msp430.c:1372
+#: config/tc-msp430.c:1371
#, c-format
msgid "Expecting comma after CPU errata name, not: %s"
msgstr ""
-#: config/tc-msp430.c:1382
+#: config/tc-msp430.c:1381
msgid "MCU option requires a name\n"
msgstr ""
-#: config/tc-msp430.c:1420
+#: config/tc-msp430.c:1419
#, c-format
msgid "unrecognised argument to -mcpu option '%s'"
msgstr ""
-#: config/tc-msp430.c:1583
+#: config/tc-msp430.c:1582
#, c-format
msgid ""
"MSP430 options:\n"
@@ -12499,7 +12514,7 @@ msgid ""
" -mcpu={430|430x|430xv2} - select microcontroller architecture\n"
msgstr ""
-#: config/tc-msp430.c:1587
+#: config/tc-msp430.c:1586
#, c-format
msgid ""
" -msilicon-errata=<name>[,<name>...] - enable fixups for silicon errata\n"
@@ -12508,363 +12523,367 @@ msgid ""
" supported errata names: cpu4, cpu8, cpu11, cpu12, cpu13, cpu19\n"
msgstr ""
-#: config/tc-msp430.c:1591
+#: config/tc-msp430.c:1590
#, c-format
msgid ""
" -mQ - enable relaxation at assembly time. DANGEROUS!\n"
" -mP - enable polymorph instructions\n"
msgstr ""
-#: config/tc-msp430.c:1594
+#: config/tc-msp430.c:1593
#, c-format
msgid " -ml - enable large code model\n"
msgstr ""
-#: config/tc-msp430.c:1596
+#: config/tc-msp430.c:1595
#, c-format
msgid " -mN - do not insert NOPs after changing interrupts (default)\n"
msgstr ""
-#: config/tc-msp430.c:1598
+#: config/tc-msp430.c:1597
#, c-format
msgid " -mn - insert a NOP after changing interrupts\n"
msgstr ""
-#: config/tc-msp430.c:1600
+#: config/tc-msp430.c:1599
#, c-format
msgid " -mY - do not warn about missing NOPs after changing interrupts\n"
msgstr ""
-#: config/tc-msp430.c:1602
+#: config/tc-msp430.c:1601
#, c-format
msgid " -my - warn about missing NOPs after changing interrupts (default)\n"
msgstr ""
-#: config/tc-msp430.c:1604
+#: config/tc-msp430.c:1603
#, c-format
msgid " -md - Force copying of data from ROM to RAM at startup\n"
msgstr ""
-#: config/tc-msp430.c:1782 config/tc-msp430.c:1960 config/tc-msp430.c:2069
+#: config/tc-msp430.c:1781 config/tc-msp430.c:1959 config/tc-msp430.c:2068
#, c-format
msgid "value 0x%x out of extended range."
msgstr ""
-#: config/tc-msp430.c:1788
+#: config/tc-msp430.c:1787
#, c-format
msgid "value %d out of range. Use #lo() or #hi()"
msgstr ""
-#: config/tc-msp430.c:1834
+#: config/tc-msp430.c:1833
msgid "cpu4: not converting PUSH #4 to shorter form"
msgstr ""
-#: config/tc-msp430.c:1851
+#: config/tc-msp430.c:1850
msgid "cpu4: not converting PUSH #8 to shorter form"
msgstr ""
-#: config/tc-msp430.c:1865
+#: config/tc-msp430.c:1864
msgid "error: unsupported #foo() directive used on symbol"
msgstr ""
-#: config/tc-msp430.c:1882
+#: config/tc-msp430.c:1881
#, c-format
-msgid "unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() "
+msgid "unknown expression in operand %s. Use #llo(), #lhi(), #hlo() or #hhi()"
msgstr ""
-#: config/tc-msp430.c:1933
+#: config/tc-msp430.c:1932
#, c-format
msgid "Registers cannot be used within immediate expression [%s]"
msgstr ""
-#: config/tc-msp430.c:1935
+#: config/tc-msp430.c:1934
#, c-format
msgid "unknown operand %s"
msgstr ""
-#: config/tc-msp430.c:1966 config/tc-msp430.c:2075
+#: config/tc-msp430.c:1965 config/tc-msp430.c:2074
#, c-format
msgid "value out of range: 0x%x"
msgstr ""
-#: config/tc-msp430.c:1977
+#: config/tc-msp430.c:1976
#, c-format
msgid "Registers cannot be used within absolute expression [%s]"
msgstr ""
-#: config/tc-msp430.c:1979 config/tc-msp430.c:2104
+#: config/tc-msp430.c:1978 config/tc-msp430.c:2103
#, c-format
msgid "unknown expression in operand %s"
msgstr ""
-#: config/tc-msp430.c:1993
+#: config/tc-msp430.c:1992
#, c-format
msgid "unknown addressing mode %s"
msgstr ""
-#: config/tc-msp430.c:2001
+#: config/tc-msp430.c:2000
#, c-format
msgid "Bad register name %s"
msgstr ""
-#: config/tc-msp430.c:2012
+#: config/tc-msp430.c:2011
msgid "cannot use indirect addressing with the PC"
msgstr ""
-#: config/tc-msp430.c:2032
+#: config/tc-msp430.c:2031
msgid "')' required"
msgstr ""
-#: config/tc-msp430.c:2044
+#: config/tc-msp430.c:2043
#, c-format
msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"
msgstr ""
-#: config/tc-msp430.c:2051
+#: config/tc-msp430.c:2050
msgid "r2 should not be used in indexed addressing mode"
msgstr ""
-#: config/tc-msp430.c:2090 config/tc-msp430.c:2092
+#: config/tc-msp430.c:2089 config/tc-msp430.c:2091
msgid "CPU8: Stack pointer accessed with an odd offset"
msgstr ""
-#: config/tc-msp430.c:2102
+#: config/tc-msp430.c:2101
#, c-format
msgid "Registers cannot be used as a prefix of indexed expression [%s]"
msgstr ""
#. Unreachable.
-#: config/tc-msp430.c:2137
+#: config/tc-msp430.c:2136
#, c-format
msgid "unknown addressing mode for operand %s"
msgstr ""
-#: config/tc-msp430.c:2169
+#: config/tc-msp430.c:2168
#, c-format
msgid "Internal bug. Try to use 0(r%d) instead of @r%d"
msgstr ""
-#: config/tc-msp430.c:2179
+#: config/tc-msp430.c:2178
msgid "this addressing mode is not applicable for destination operand"
msgstr ""
-#: config/tc-msp430.c:2210 config/tc-msp430.c:2345 config/tc-msp430.c:2382
-#: config/tc-msp430.c:2412 config/tc-msp430.c:3103 config/tc-msp430.c:3181
-#: config/tc-msp430.c:3264
+#: config/tc-msp430.c:2209 config/tc-msp430.c:2344 config/tc-msp430.c:2381
+#: config/tc-msp430.c:2411 config/tc-msp430.c:3102 config/tc-msp430.c:3180
+#: config/tc-msp430.c:3263
#, c-format
msgid "expected register as second argument of %s"
msgstr ""
-#: config/tc-msp430.c:2249 config/tc-msp430.c:2315
+#: config/tc-msp430.c:2248 config/tc-msp430.c:2314
#, c-format
msgid "index value too big for %s"
msgstr ""
-#: config/tc-msp430.c:2266 config/tc-msp430.c:2332 config/tc-msp430.c:2439
+#: config/tc-msp430.c:2265 config/tc-msp430.c:2331 config/tc-msp430.c:2438
#, c-format
msgid "unexpected addressing mode for %s"
msgstr ""
-#: config/tc-msp430.c:2352 config/tc-msp430.c:2389 config/tc-msp430.c:2419
+#: config/tc-msp430.c:2351 config/tc-msp430.c:2388 config/tc-msp430.c:2418
#, c-format
msgid "constant generator destination register found in %s"
msgstr ""
-#: config/tc-msp430.c:2396 config/tc-msp430.c:2426
+#: config/tc-msp430.c:2395 config/tc-msp430.c:2425
#, c-format
msgid "constant generator source register found in %s"
msgstr ""
-#: config/tc-msp430.c:2515
+#: config/tc-msp430.c:2514
msgid "no size modifier after period, .w assumed"
msgstr ""
-#: config/tc-msp430.c:2519
+#: config/tc-msp430.c:2518
#, c-format
msgid "unrecognised instruction size modifier .%c"
msgstr ""
-#: config/tc-msp430.c:2533
+#: config/tc-msp430.c:2532
#, c-format
msgid "junk found after instruction: %s.%s"
msgstr ""
-#: config/tc-msp430.c:2553
+#: config/tc-msp430.c:2552
#, c-format
msgid "instruction %s.a does not exist"
msgstr ""
-#: config/tc-msp430.c:2567
+#: config/tc-msp430.c:2566
#, c-format
msgid "instruction %s requires %d operand(s)"
msgstr ""
-#: config/tc-msp430.c:2583
+#: config/tc-msp430.c:2582
#, c-format
msgid "instruction %s requires MSP430X mcu"
msgstr ""
-#: config/tc-msp430.c:2603
+#: config/tc-msp430.c:2602
#, c-format
msgid "unable to repeat %s insn"
msgstr ""
-#: config/tc-msp430.c:2622
+#: config/tc-msp430.c:2621
msgid "NOP inserted between two instructions that change interrupt state"
msgstr ""
-#: config/tc-msp430.c:2624
+#: config/tc-msp430.c:2623
msgid ""
"a NOP might be needed here because of successive changes in interrupt state"
msgstr ""
-#: config/tc-msp430.c:2635
+#: config/tc-msp430.c:2634
msgid "CPU12: CMP/BIT with PC destinstion ignores next instruction"
msgstr ""
-#: config/tc-msp430.c:2643
+#: config/tc-msp430.c:2642
msgid "CPU19: Instruction setting CPUOFF must be followed by a NOP"
msgstr ""
-#: config/tc-msp430.c:2650
+#: config/tc-msp430.c:2649
msgid "internal error: unknown nop check state"
msgstr ""
-#: config/tc-msp430.c:2685
+#: config/tc-msp430.c:2684
msgid "inserting a NOP before EINT"
msgstr ""
-#: config/tc-msp430.c:2688
+#: config/tc-msp430.c:2687
msgid "a NOP might be needed before the EINT"
msgstr ""
-#: config/tc-msp430.c:2728 config/tc-msp430.c:2730 config/tc-msp430.c:3414
-#: config/tc-msp430.c:3416
+#: config/tc-msp430.c:2727 config/tc-msp430.c:2729 config/tc-msp430.c:3413
+#: config/tc-msp430.c:3415
msgid "CPU11: PC is destinstion of SR altering instruction"
msgstr ""
-#: config/tc-msp430.c:2745 config/tc-msp430.c:2747 config/tc-msp430.c:2853
-#: config/tc-msp430.c:2855 config/tc-msp430.c:3431 config/tc-msp430.c:3433
-#: config/tc-msp430.c:3609 config/tc-msp430.c:3611
+#: config/tc-msp430.c:2744 config/tc-msp430.c:2746 config/tc-msp430.c:2852
+#: config/tc-msp430.c:2854 config/tc-msp430.c:3430 config/tc-msp430.c:3432
+#: config/tc-msp430.c:3608 config/tc-msp430.c:3610
msgid "CPU13: SR is destinstion of SR altering instruction"
msgstr ""
-#: config/tc-msp430.c:2766 config/tc-msp430.c:2865 config/tc-msp430.c:3474
-#: config/tc-msp430.c:3643
+#: config/tc-msp430.c:2765 config/tc-msp430.c:2864 config/tc-msp430.c:3473
+#: config/tc-msp430.c:3642
msgid "repeat instruction used with non-register mode instruction"
msgstr ""
-#: config/tc-msp430.c:2841 config/tc-msp430.c:3188 config/tc-msp430.c:3599
+#: config/tc-msp430.c:2840 config/tc-msp430.c:3187 config/tc-msp430.c:3598
#, c-format
msgid "%s: attempt to rotate the PC register"
msgstr ""
-#: config/tc-msp430.c:3090 config/tc-msp430.c:3161
+#: config/tc-msp430.c:3089 config/tc-msp430.c:3160
#, c-format
msgid "expected #n as first argument of %s"
msgstr ""
-#: config/tc-msp430.c:3096 config/tc-msp430.c:3167
+#: config/tc-msp430.c:3095 config/tc-msp430.c:3166
#, c-format
-msgid "expected constant expression for first argument of %s"
+msgid "expected constant expression as first argument of %s"
msgstr ""
-#: config/tc-msp430.c:3122
+#: config/tc-msp430.c:3121
msgid "Too many registers popped"
msgstr ""
-#: config/tc-msp430.c:3132
+#: config/tc-msp430.c:3131
msgid "Cannot use POPM to restore the SR register"
msgstr ""
-#: config/tc-msp430.c:3152 config/tc-msp430.c:3216
+#: config/tc-msp430.c:3151 config/tc-msp430.c:3215
#, c-format
msgid "repeat count cannot be used with %s"
msgstr ""
-#: config/tc-msp430.c:3174
+#: config/tc-msp430.c:3173
#, c-format
msgid "expected first argument of %s to be in the range 1-4"
msgstr ""
-#: config/tc-msp430.c:3234
+#: config/tc-msp430.c:3233
#, c-format
msgid "expected value of first argument of %s to fit into 20-bits"
msgstr ""
-#: config/tc-msp430.c:3253
+#: config/tc-msp430.c:3252
#, c-format
msgid "expected register name or constant as first argument of %s"
msgstr ""
-#: config/tc-msp430.c:3342
+#: config/tc-msp430.c:3341
msgid "expected constant value as argument to RPT"
msgstr ""
-#: config/tc-msp430.c:3348
+#: config/tc-msp430.c:3347
msgid "expected constant in the range 2..16"
msgstr ""
-#: config/tc-msp430.c:3363
+#: config/tc-msp430.c:3362
msgid "PC used as an argument to RPT"
msgstr ""
-#: config/tc-msp430.c:3369
+#: config/tc-msp430.c:3368
msgid "expected constant or register name as argument to RPT insn"
msgstr ""
-#: config/tc-msp430.c:3376
-msgid "Illegal emulated instruction "
+#: config/tc-msp430.c:3375
+msgid "Illegal emulated instruction"
msgstr ""
-#: config/tc-msp430.c:3628
+#: config/tc-msp430.c:3627
#, c-format
msgid "%s instruction does not accept a .b suffix"
msgstr ""
-#: config/tc-msp430.c:3736
+#: config/tc-msp430.c:3735
#, c-format
msgid "Even number required. Rounded to %d"
msgstr ""
-#: config/tc-msp430.c:3747
+#: config/tc-msp430.c:3746
#, c-format
-msgid "Wrong displacement %d"
+msgid "Wrong displacement %d"
msgstr ""
-#: config/tc-msp430.c:3769
+#: config/tc-msp430.c:3768
msgid "instruction requires label sans '$'"
msgstr ""
-#: config/tc-msp430.c:3773
+#: config/tc-msp430.c:3772
msgid "instruction requires label or value in range -511:512"
msgstr ""
-#: config/tc-msp430.c:3779 config/tc-msp430.c:3828 config/tc-msp430.c:3871
+#: config/tc-msp430.c:3778 config/tc-msp430.c:3827 config/tc-msp430.c:3870
msgid "instruction requires label"
msgstr ""
-#: config/tc-msp430.c:3787 config/tc-msp430.c:3834
+#: config/tc-msp430.c:3786 config/tc-msp430.c:3833
msgid "polymorphs are not enabled. Use -mP option to enable."
msgstr ""
-#: config/tc-msp430.c:3875
+#: config/tc-msp430.c:3874
msgid "Illegal instruction or not implemented opcode."
msgstr ""
-#: config/tc-msp430.c:4424
+#: config/tc-msp430.c:3905 config/tc-sh64.c:2479
+msgid "can't find opcode"
+msgstr ""
+
+#: config/tc-msp430.c:4423
#, c-format
msgid "internal inconsistency problem in %s: insn %04lx"
msgstr ""
-#: config/tc-msp430.c:4466 config/tc-msp430.c:4498
+#: config/tc-msp430.c:4465 config/tc-msp430.c:4497
#, c-format
msgid "internal inconsistency problem in %s: ext. insn %04lx"
msgstr ""
-#: config/tc-msp430.c:4510
+#: config/tc-msp430.c:4509
#, c-format
-msgid "internal inconsistency problem in %s: %lx"
+msgid "internal inconsistency problem in %s: %lx"
msgstr ""
#: config/tc-mt.c:151
@@ -13180,7 +13199,7 @@ msgstr ""
#: config/tc-nds32.c:4819
#, c-format
-msgid "Can not find match relax hint. line : %d"
+msgid "Can not find match relax hint. Line: %d"
msgstr ""
#: config/tc-nds32.c:4999
@@ -13195,7 +13214,7 @@ msgstr ""
#: config/tc-nds32.c:5153
#, c-format
-msgid "Not support instrcution %s in the baseline."
+msgid "Instruction %s not supported in the baseline."
msgstr ""
#: config/tc-nds32.c:5208
@@ -13246,11 +13265,11 @@ msgstr ""
msgid "need PIC qualifier with symbol."
msgstr ""
-#: config/tc-nios2.c:453
+#: config/tc-nios2.c:453 config/tc-pru.c:308
msgid "expecting opcode string in self test mode"
msgstr ""
-#: config/tc-nios2.c:455
+#: config/tc-nios2.c:455 config/tc-pru.c:310
#, c-format
msgid "assembly 0x%08x, expected %s"
msgstr ""
@@ -13267,12 +13286,12 @@ msgstr ""
msgid "error checking for overflow - broken assembler"
msgstr ""
-#: config/tc-nios2.c:1161
+#: config/tc-nios2.c:1161 config/tc-pru.c:571
#, c-format
msgid "immediate value 0x%x truncated to 0x%x"
msgstr ""
-#: config/tc-nios2.c:1188
+#: config/tc-nios2.c:1188 config/tc-pru.c:597
#, c-format
msgid "call target address 0x%08x out of range 0x%08x to 0x%08x"
msgstr ""
@@ -13287,7 +13306,7 @@ msgstr ""
msgid "branch offset %d out of range"
msgstr ""
-#: config/tc-nios2.c:1204
+#: config/tc-nios2.c:1204 config/tc-pru.c:607
#, c-format
msgid "%s offset %d out of range %d to %d"
msgstr ""
@@ -13297,12 +13316,13 @@ msgstr ""
msgid "%s offset %d out of range"
msgstr ""
-#: config/tc-nios2.c:1213 config/tc-nios2.c:1228
+#: config/tc-nios2.c:1213 config/tc-nios2.c:1228 config/tc-pru.c:612
#, c-format
msgid "immediate value %d out of range %d to %d"
msgstr ""
-#: config/tc-nios2.c:1218 config/tc-nios2.c:1223
+#: config/tc-nios2.c:1218 config/tc-nios2.c:1223 config/tc-pru.c:622
+#: config/tc-pru.c:627
#, c-format
msgid "immediate value %u out of range %u to %u"
msgstr ""
@@ -13312,11 +13332,11 @@ msgstr ""
msgid "custom instruction opcode %u out of range %u to %u"
msgstr ""
-#: config/tc-nios2.c:1238
+#: config/tc-nios2.c:1238 config/tc-pru.c:632
msgid "overflow in immediate argument"
msgstr ""
-#: config/tc-nios2.c:1310
+#: config/tc-nios2.c:1310 config/tc-pru.c:668
msgid "cannot create 64-bit relocation"
msgstr ""
@@ -13325,11 +13345,12 @@ msgstr ""
msgid "internal error: broken opcode descriptor for `%s %s'\n"
msgstr ""
-#: config/tc-nios2.c:1487
+#: config/tc-nios2.c:1487 config/tc-pru.c:858
msgid "can't create relocation"
msgstr ""
-#: config/tc-nios2.c:1518
+#: config/tc-nios2.c:1518 config/tc-pru.c:992 config/tc-pru.c:1012
+#: config/tc-pru.c:1039 config/tc-pru.c:1058 config/tc-pru.c:1072
#, c-format
msgid "unknown register %s"
msgstr ""
@@ -13387,16 +13408,18 @@ msgstr ""
msgid "Invalid constant operand %s"
msgstr ""
-#: config/tc-nios2.c:2997 config/tc-nios2.c:3021
+#: config/tc-nios2.c:2997 config/tc-nios2.c:3021 config/tc-pru.c:1311
+#: config/tc-pru.c:1336 config/tc-pru.c:1356
#, c-format
msgid "badly formed expression near %s"
msgstr ""
-#: config/tc-nios2.c:3110 config/tc-nios2.c:3137 config/tc-xtensa.c:2113
+#: config/tc-nios2.c:3110 config/tc-nios2.c:3137 config/tc-pru.c:1405
+#: config/tc-pru.c:1430 config/tc-xtensa.c:2113
msgid "too many arguments"
msgstr ""
-#: config/tc-nios2.c:3126
+#: config/tc-nios2.c:3126 config/tc-pru.c:1382
#, c-format
msgid "expecting %c near %s"
msgstr ""
@@ -13417,12 +13440,12 @@ msgid "Big-endian R2 is not supported."
msgstr ""
#. Unrecognised instruction - error.
-#: config/tc-nios2.c:3765
+#: config/tc-nios2.c:3765 config/tc-pru.c:1726
#, c-format
msgid "unrecognised instruction %s"
msgstr ""
-#: config/tc-nios2.c:3885
+#: config/tc-nios2.c:3885 config/tc-pru.c:1782
#, c-format
msgid "can't represent relocation type %s"
msgstr ""
@@ -13554,7 +13577,7 @@ msgstr ""
#: config/tc-ns32k.c:1438
#, c-format
-msgid "Internal logic error. line %d, file \"%s\""
+msgid "Internal logic error. Line %d, file: \"%s\""
msgstr ""
#: config/tc-ns32k.c:1486
@@ -13728,24 +13751,28 @@ msgstr ""
msgid "pcrel too far"
msgstr ""
-#: config/tc-ppc.c:1093 config/tc-ppc.c:1150 config/tc-ppc.c:1188
+#: config/tc-ppc.c:977 config/tc-ppc.c:985 config/tc-ppc.c:2980
+msgid "invalid register expression"
+msgstr ""
+
+#: config/tc-ppc.c:1145 config/tc-ppc.c:1203 config/tc-ppc.c:1241
msgid "the use of -mvle requires big endian."
msgstr ""
-#: config/tc-ppc.c:1131 config/tc-ppc.c:1152
+#: config/tc-ppc.c:1183 config/tc-ppc.c:1205
msgid "the use of -mvle requires -a32."
msgstr ""
-#: config/tc-ppc.c:1133
+#: config/tc-ppc.c:1185
#, c-format
msgid "%s unsupported"
msgstr ""
-#: config/tc-ppc.c:1242
+#: config/tc-ppc.c:1295
msgid "--nops needs a numeric argument"
msgstr ""
-#: config/tc-ppc.c:1259
+#: config/tc-ppc.c:1312
#, c-format
msgid ""
"PowerPC options:\n"
@@ -13768,7 +13795,7 @@ msgid ""
"-m821, -m850, -m860 generate code for PowerPC 821/850/860\n"
msgstr ""
-#: config/tc-ppc.c:1278
+#: config/tc-ppc.c:1331
#, c-format
msgid ""
"-mppc64, -m620 generate code for PowerPC 620/625/630\n"
@@ -13785,11 +13812,11 @@ msgid ""
"-mpower9, -mpwr9 generate code for Power9 architecture\n"
"-mcell generate code for Cell Broadband Engine "
"architecture\n"
-"-mcom generate code Power/PowerPC common instructions\n"
+"-mcom generate code for Power/PowerPC common instructions\n"
"-many generate code for any architecture (PWR/PWRX/PPC)\n"
msgstr ""
-#: config/tc-ppc.c:1293
+#: config/tc-ppc.c:1346
#, c-format
msgid ""
"-maltivec generate code for AltiVec\n"
@@ -13808,7 +13835,7 @@ msgid ""
"-mno-regnames Do not allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1309
+#: config/tc-ppc.c:1362
#, c-format
msgid ""
"-mrelocatable support for GCC's -mrelocatble option\n"
@@ -13825,492 +13852,573 @@ msgid ""
"-Qy, -Qn ignored\n"
msgstr ""
-#: config/tc-ppc.c:1323
+#: config/tc-ppc.c:1376
#, c-format
msgid ""
"-nops=count when aligning, more than COUNT nops uses a branch\n"
"-ppc476-workaround warn if emitting data to code sections\n"
msgstr ""
-#: config/tc-ppc.c:1350
+#: config/tc-ppc.c:1403
#, c-format
msgid "unknown default cpu = %s, os = %s"
msgstr ""
-#: config/tc-ppc.c:1378
+#: config/tc-ppc.c:1431
msgid "neither Power nor PowerPC opcodes were selected."
msgstr ""
-#: config/tc-ppc.c:1438
+#: config/tc-ppc.c:1491
#, c-format
msgid "mask trims opcode bits for %s"
msgstr ""
-#: config/tc-ppc.c:1447
+#: config/tc-ppc.c:1500
#, c-format
msgid "operand index error for %s"
msgstr ""
-#: config/tc-ppc.c:1463
+#: config/tc-ppc.c:1516
#, c-format
msgid "operand %d overlap in %s"
msgstr ""
-#: config/tc-ppc.c:1515
+#: config/tc-ppc.c:1568
#, c-format
msgid "powerpc_operands[%d].bitm invalid"
msgstr ""
-#: config/tc-ppc.c:1522
+#: config/tc-ppc.c:1575
#, c-format
msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
msgstr ""
-#: config/tc-ppc.c:1551 config/tc-ppc.c:1615
+#: config/tc-ppc.c:1604 config/tc-ppc.c:1668
#, c-format
msgid "major opcode is not sorted for %s"
msgstr ""
-#: config/tc-ppc.c:1558
+#: config/tc-ppc.c:1611
#, c-format
msgid "%s is enabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1565
+#: config/tc-ppc.c:1618
#, c-format
msgid "%s not disabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1579 config/tc-ppc.c:1632
+#: config/tc-ppc.c:1632 config/tc-ppc.c:1685
#, c-format
msgid "duplicate instruction %s"
msgstr ""
-#: config/tc-ppc.c:1652
+#: config/tc-ppc.c:1705
#, c-format
msgid "duplicate macro %s"
msgstr ""
-#: config/tc-ppc.c:2034
+#: config/tc-ppc.c:2087
msgid "symbol+offset not supported for got tls"
msgstr ""
-#: config/tc-ppc.c:2111 config/tc-ppc.c:3612 config/tc-ppc.c:7017
+#: config/tc-ppc.c:2164 config/tc-ppc.c:3674 config/tc-ppc.c:7120
msgid "data in executable section"
msgstr ""
-#: config/tc-ppc.c:2152 config/tc-ppc.c:5252
+#: config/tc-ppc.c:2205 config/tc-ppc.c:5314
msgid "expected comma after symbol-name: rest of line ignored."
msgstr ""
-#: config/tc-ppc.c:2185 config/tc-ppc.c:5288
+#: config/tc-ppc.c:2238 config/tc-ppc.c:5350
#, c-format
msgid "ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-ppc.c:2193
+#: config/tc-ppc.c:2246
#, c-format
msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-ppc.c:2211
+#: config/tc-ppc.c:2264
msgid "common alignment not a power of 2"
msgstr ""
-#: config/tc-ppc.c:2253
+#: config/tc-ppc.c:2306
#, c-format
msgid "expected comma after name `%s' in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2263
+#: config/tc-ppc.c:2316
msgid "missing expression in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2277
+#: config/tc-ppc.c:2330
#, c-format
msgid ".localentry expression for `%s' is not a valid power of 2"
msgstr ""
-#: config/tc-ppc.c:2291
+#: config/tc-ppc.c:2344
#, c-format
msgid ".localentry expression for `%s' does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2306
+#: config/tc-ppc.c:2359
msgid "missing expression in .abiversion directive"
msgstr ""
-#: config/tc-ppc.c:2315
+#: config/tc-ppc.c:2368
msgid ".abiversion expression does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2337
+#: config/tc-ppc.c:2390
msgid "unknown .gnu_attribute value"
msgstr ""
-#: config/tc-ppc.c:2389
+#: config/tc-ppc.c:2442
msgid "relocation cannot be done when using -mrelocatable"
msgstr ""
-#: config/tc-ppc.c:2435
+#: config/tc-ppc.c:2488
msgid "TOC section size exceeds 64k"
msgstr ""
-#: config/tc-ppc.c:2530
+#: config/tc-ppc.c:2583
#, c-format
msgid "syntax error: invalid toc specifier `%s'"
msgstr ""
-#: config/tc-ppc.c:2544
+#: config/tc-ppc.c:2597
#, c-format
msgid "syntax error: expected `]', found `%c'"
msgstr ""
-#: config/tc-ppc.c:2653
+#: config/tc-ppc.c:2706
#, c-format
msgid "unrecognized opcode: `%s'"
msgstr ""
-#: config/tc-ppc.c:2844
+#: config/tc-ppc.c:2897
msgid "[tocv] symbol is not a toc symbol"
msgstr ""
-#: config/tc-ppc.c:2855
+#: config/tc-ppc.c:2908
msgid "unimplemented toc32 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2860
+#: config/tc-ppc.c:2913
msgid "unimplemented toc64 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2864
+#: config/tc-ppc.c:2917
#, c-format
msgid "Unexpected return value [%d] from parse_toc_entry!\n"
msgstr ""
-#: config/tc-ppc.c:3070
+#: config/tc-ppc.c:3132
#, c-format
msgid "@tls may not be used with \"%s\" operands"
msgstr ""
-#: config/tc-ppc.c:3073
+#: config/tc-ppc.c:3135
msgid "@tls may only be used in last operand"
msgstr ""
-#: config/tc-ppc.c:3203
+#: config/tc-ppc.c:3265
#, c-format
msgid "assuming %s on symbol"
msgstr ""
-#: config/tc-ppc.c:3306
+#: config/tc-ppc.c:3368
msgid "unsupported relocation for DS offset field"
msgstr ""
-#: config/tc-ppc.c:3348
+#: config/tc-ppc.c:3410
#, c-format
msgid "syntax error; end of line, expected `%c'"
msgstr ""
-#: config/tc-ppc.c:3350
+#: config/tc-ppc.c:3412
#, c-format
msgid "syntax error; found `%c', expected `%c'"
msgstr ""
-#: config/tc-ppc.c:3420 config/tc-ppc.c:6371
+#: config/tc-ppc.c:3482 config/tc-ppc.c:6433
msgid "instruction address is not a multiple of 4"
msgstr ""
-#: config/tc-ppc.c:3649
+#: config/tc-ppc.c:3711
msgid "missing size"
msgstr ""
-#: config/tc-ppc.c:3658
+#: config/tc-ppc.c:3720
msgid "negative size"
msgstr ""
-#: config/tc-ppc.c:3690
+#: config/tc-ppc.c:3752
msgid "missing real symbol name"
msgstr ""
-#: config/tc-ppc.c:3729
+#: config/tc-ppc.c:3791
msgid "attempt to redefine symbol"
msgstr ""
-#: config/tc-ppc.c:3992
+#: config/tc-ppc.c:4054
#, c-format
msgid "no known dwarf XCOFF section for flag 0x%08x\n"
msgstr ""
-#: config/tc-ppc.c:4005
+#: config/tc-ppc.c:4067
#, c-format
msgid "label %s was not defined in this dwarf section"
msgstr ""
-#: config/tc-ppc.c:4119
+#: config/tc-ppc.c:4181
msgid "the XCOFF file format does not support arbitrary sections"
msgstr ""
-#: config/tc-ppc.c:4190
+#: config/tc-ppc.c:4252
msgid ".ref outside .csect"
msgstr ""
-#: config/tc-ppc.c:4211 config/tc-ppc.c:4411
+#: config/tc-ppc.c:4273 config/tc-ppc.c:4473
msgid "missing symbol name"
msgstr ""
-#: config/tc-ppc.c:4241
+#: config/tc-ppc.c:4303
msgid "missing rename string"
msgstr ""
-#: config/tc-ppc.c:4271 config/tc-ppc.c:4810 read.c:3523
+#: config/tc-ppc.c:4333 config/tc-ppc.c:4872 read.c:3523
msgid "missing value"
msgstr ""
-#: config/tc-ppc.c:4289
+#: config/tc-ppc.c:4351
msgid "illegal .stabx expression; zero assumed"
msgstr ""
-#: config/tc-ppc.c:4321
+#: config/tc-ppc.c:4383
msgid "missing class"
msgstr ""
-#: config/tc-ppc.c:4330
+#: config/tc-ppc.c:4392
msgid "missing type"
msgstr ""
-#: config/tc-ppc.c:4357
+#: config/tc-ppc.c:4419
msgid ".stabx of storage class stsym must be within .bs/.es"
msgstr ""
-#: config/tc-ppc.c:4598
+#: config/tc-ppc.c:4660
msgid "nested .bs blocks"
msgstr ""
-#: config/tc-ppc.c:4629
+#: config/tc-ppc.c:4691
msgid ".es without preceding .bs"
msgstr ""
-#: config/tc-ppc.c:4802
+#: config/tc-ppc.c:4864
msgid "non-constant byte count"
msgstr ""
-#: config/tc-ppc.c:4876
+#: config/tc-ppc.c:4938
msgid ".tc not in .toc section"
msgstr ""
-#: config/tc-ppc.c:4894
+#: config/tc-ppc.c:4956
msgid ".tc with no label"
msgstr ""
-#: config/tc-ppc.c:4978 config/tc-s390.c:1954
+#: config/tc-ppc.c:5040 config/tc-s390.c:1956
msgid ".machine stack overflow"
msgstr ""
-#: config/tc-ppc.c:4985 config/tc-s390.c:1965
+#: config/tc-ppc.c:5047 config/tc-s390.c:1967
msgid ".machine stack underflow"
msgstr ""
-#: config/tc-ppc.c:4992 config/tc-s390.c:1977
+#: config/tc-ppc.c:5054 config/tc-s390.c:1979
#, c-format
msgid "invalid machine `%s'"
msgstr ""
-#: config/tc-ppc.c:5024
+#: config/tc-ppc.c:5086
msgid "no previous section to return to, ignored."
msgstr ""
-#: config/tc-ppc.c:5297
+#: config/tc-ppc.c:5359
#, c-format
msgid "length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
#. Section Contents
#. unknown
-#: config/tc-ppc.c:5425
+#: config/tc-ppc.c:5487
msgid "unsupported section attribute -- 'a'"
msgstr ""
-#: config/tc-ppc.c:5608
+#: config/tc-ppc.c:5670
msgid "bad symbol suffix"
msgstr ""
-#: config/tc-ppc.c:5701
+#: config/tc-ppc.c:5763
msgid "unrecognized symbol suffix"
msgstr ""
-#: config/tc-ppc.c:5788
+#: config/tc-ppc.c:5850
msgid "two .function pseudo-ops with no intervening .ef"
msgstr ""
-#: config/tc-ppc.c:5801
+#: config/tc-ppc.c:5863
msgid ".ef with no preceding .function"
msgstr ""
-#: config/tc-ppc.c:5930
+#: config/tc-ppc.c:5992
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
-#: config/tc-ppc.c:6192
+#: config/tc-ppc.c:6254
msgid "symbol in .toc does not match any .tc"
msgstr ""
-#: config/tc-ppc.c:6781
+#: config/tc-ppc.c:6884
#, c-format
msgid "%s unsupported as instruction fixup"
msgstr ""
-#: config/tc-ppc.c:6855
+#: config/tc-ppc.c:6958
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
-#: config/tc-ppc.c:7000
+#: config/tc-ppc.c:7103
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr ""
-#: config/tc-ppc.c:7084
+#: config/tc-pru.c:602
+#, c-format
+msgid "quick branch offset %d out of range %d to %d"
+msgstr ""
+
+#: config/tc-pru.c:617
+#, c-format
+msgid "immediate value %llu out of range %u to %lu"
+msgstr ""
+
+#: config/tc-pru.c:697
+msgid "unexpected PC relative expression"
+msgstr ""
+
+#: config/tc-pru.c:734 config/tc-pru.c:741
+msgid "residual low bits in pmem diff relocation"
+msgstr ""
+
+#: config/tc-pru.c:934 config/tc-pru.c:967
+#, c-format
+msgid "trailing garbage after expression: %s"
+msgstr ""
+
+#: config/tc-pru.c:939
+#, c-format
+msgid "expected expression, got %s"
+msgstr ""
+
+#: config/tc-pru.c:972
+#, c-format
+msgid "expected constant expression, got %s"
+msgstr ""
+
+#: config/tc-pru.c:1025
+msgid "data transfer register cannot be halfword"
+msgstr ""
+
+#: config/tc-pru.c:1044
+msgid "destination register must be full-word"
+msgstr ""
+
+#: config/tc-pru.c:1076
+#, c-format
+msgid "cannot use partial register %s for addressing"
+msgstr ""
+
+#: config/tc-pru.c:1109
#, c-format
-msgid "cannot emit PC relative %s relocation against %s"
+msgid "loop count constant %ld is out of range [1..%d]"
+msgstr ""
+
+#: config/tc-pru.c:1208 config/tc-pru.c:1234
+#, c-format
+msgid "byte count constant %ld is out of range [1..%d]"
+msgstr ""
+
+#: config/tc-pru.c:1215 config/tc-pru.c:1241
+msgid "only r0 can be used as byte count register"
msgstr ""
-#: config/tc-ppc.c:7091
-msgid "unable to resolve expression"
+#: config/tc-pru.c:1217 config/tc-pru.c:1243
+msgid "only r0.bX byte fields of r0 can be used as byte count"
+msgstr ""
+
+#: config/tc-pru.c:1256
+#, c-format
+msgid "invalid constant table offset %ld"
+msgstr ""
+
+#: config/tc-pru.c:1267
+#, c-format
+msgid "invalid WakeOnStatus %ld"
+msgstr ""
+
+#: config/tc-pru.c:1278
+#, c-format
+msgid "invalid XFR WideBus Address %ld"
msgstr ""
-#: config/tc-riscv.c:405
+#: config/tc-pru.c:1536
+#, c-format
+msgid ""
+"PRU options:\n"
+" -mlink-relax generate relocations for linker relaxation (default).\n"
+" -mno-link-relax don't generate relocations for linker relaxation.\n"
+msgstr ""
+
+#: config/tc-pru.c:1828
+#, c-format
+msgid "Label \"%s\" matches a CPU register name"
+msgstr ""
+
+#: config/tc-riscv.c:412
#, c-format
msgid "internal error: can't hash `%s': %s"
msgstr ""
-#: config/tc-riscv.c:486
+#: config/tc-riscv.c:493
#, c-format
msgid "internal: bad RISC-V opcode (mask error): %s %s"
msgstr ""
-#: config/tc-riscv.c:524
+#: config/tc-riscv.c:532
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `C%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:559
+#: config/tc-riscv.c:567
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:567
+#: config/tc-riscv.c:575
#, c-format
msgid "internal: bad RISC-V opcode (bits 0x%lx undefined): %s %s"
msgstr ""
-#: config/tc-riscv.c:691
+#: config/tc-riscv.c:696
#, c-format
msgid "Unsupported RISC-V relocation number %d"
msgstr ""
-#: config/tc-riscv.c:763
+#: config/tc-riscv.c:768
msgid "internal error: invalid macro"
msgstr ""
-#: config/tc-riscv.c:792 config/tc-riscv.c:859
+#: config/tc-riscv.c:797 config/tc-riscv.c:864
msgid "unsupported large constant"
msgstr ""
-#: config/tc-riscv.c:794
+#: config/tc-riscv.c:799
#, c-format
msgid "Instruction %s requires absolute expression"
msgstr ""
-#: config/tc-riscv.c:1015
+#: config/tc-riscv.c:1020
#, c-format
msgid "Macro %s not implemented"
msgstr ""
-#: config/tc-riscv.c:1399
+#: config/tc-riscv.c:1411
#, c-format
msgid "bad RVC field specifier 'C%c'\n"
msgstr ""
-#: config/tc-riscv.c:1422 config/tc-riscv.c:1433
+#: config/tc-riscv.c:1434 config/tc-riscv.c:1445
#, c-format
msgid "Improper shift amount (%lu)"
msgstr ""
-#: config/tc-riscv.c:1444
+#: config/tc-riscv.c:1456
#, c-format
msgid "Improper CSRxI immediate (%lu)"
msgstr ""
-#: config/tc-riscv.c:1459
+#: config/tc-riscv.c:1471
#, c-format
msgid "Improper CSR address (%lu)"
msgstr ""
-#: config/tc-riscv.c:1621
+#: config/tc-riscv.c:1633
msgid "lui expression not in range 0..1048575"
msgstr ""
-#: config/tc-riscv.c:1649
+#: config/tc-riscv.c:1661
#, c-format
msgid "internal error: bad argument type %c"
msgstr ""
-#: config/tc-riscv.c:1654
+#: config/tc-riscv.c:1666
msgid "illegal operands"
msgstr ""
-#: config/tc-riscv.c:1957
+#: config/tc-riscv.c:1983
#, c-format
msgid "internal error: bad CFA value #%d"
msgstr ""
-#: config/tc-riscv.c:2034
+#: config/tc-riscv.c:2060
#, c-format
msgid "internal error: bad relocation #%d"
msgstr ""
-#: config/tc-riscv.c:2133
+#: config/tc-riscv.c:2065
+msgid "unsupported symbol subtraction"
+msgstr ""
+
+#: config/tc-riscv.c:2161
msgid ".option pop with no .option push"
msgstr ""
-#: config/tc-riscv.c:2143
+#: config/tc-riscv.c:2171
#, c-format
msgid "Unrecognized .option directive: %s\n"
msgstr ""
-#: config/tc-riscv.c:2163
+#: config/tc-riscv.c:2191
#, c-format
msgid "Unsupported use of %s"
msgstr ""
-#: config/tc-riscv.c:2307
+#: config/tc-riscv.c:2335
#, c-format
msgid "cannot represent %s relocation in object file"
msgstr ""
-#: config/tc-riscv.c:2448
+#: config/tc-riscv.c:2476
#, c-format
msgid ""
"RISC-V options:\n"
-" -m32 assemble RV32 code\n"
-" -m64 assemble RV64 code (default)\n"
" -fpic generate position-independent code\n"
" -fno-pic don't generate position-independent code (default)\n"
-" -msoft-float don't use F registers for floating-point values\n"
-" -mhard-float use F registers for floating-point values (default)\n"
-" -mno-rvc disable the C extension for compressed instructions "
-"(default)\n"
-" -mrvc enable the C extension for compressed instructions\n"
-" -march=ISA set the RISC-V architecture, RV64IMAFD by default\n"
+" -march=ISA set the RISC-V architecture\n"
+" -mabi=ABI set the RISC-V ABI\n"
msgstr ""
-#: config/tc-riscv.c:2480
+#: config/tc-riscv.c:2503
#, c-format
msgid "unknown register `%s'"
msgstr ""
-#: config/tc-riscv.c:2501
+#: config/tc-riscv.c:2524
#, c-format
msgid "non-constant .%cleb128 is not supported"
msgstr ""
@@ -14546,26 +14654,26 @@ msgid ""
"string instruction support"
msgstr ""
-#: config/tc-s390.c:238 config/tc-sparc.c:314
+#: config/tc-s390.c:238 config/tc-sparc.c:315
msgid "Invalid default architecture, broken assembler."
msgstr ""
-#: config/tc-s390.c:371
+#: config/tc-s390.c:373
#, c-format
msgid "no such machine extension `%s'"
msgstr ""
-#: config/tc-s390.c:382
+#: config/tc-s390.c:384
#, c-format
msgid "junk at end of machine string, first unrecognized character is `%c'"
msgstr ""
-#: config/tc-s390.c:449 config/tc-sparc.c:527
+#: config/tc-s390.c:451 config/tc-sparc.c:528
#, c-format
msgid "invalid architecture -A%s"
msgstr ""
-#: config/tc-s390.c:472
+#: config/tc-s390.c:474
#, c-format
msgid ""
" S390 options:\n"
@@ -14576,145 +14684,145 @@ msgid ""
" -m64 Set file format to 64 bit format\n"
msgstr ""
-#: config/tc-s390.c:479
+#: config/tc-s390.c:481
#, c-format
msgid ""
" -V print assembler version number\n"
" -Qy, -Qn ignored\n"
msgstr ""
-#: config/tc-s390.c:563
+#: config/tc-s390.c:565
msgid "The 64 bit file format is used without esame instructions."
msgstr ""
-#: config/tc-s390.c:579
+#: config/tc-s390.c:581
#, c-format
msgid "Internal assembler error for instruction format %s"
msgstr ""
-#: config/tc-s390.c:625
+#: config/tc-s390.c:627
#, c-format
msgid "operand out of range (%s not between %ld and %ld)"
msgstr ""
-#: config/tc-s390.c:850
+#: config/tc-s390.c:852
#, c-format
msgid "identifier+constant@%s means identifier@%s+constant"
msgstr ""
-#: config/tc-s390.c:931
+#: config/tc-s390.c:933
msgid "Can't handle O_big in s390_exp_compare"
msgstr ""
-#: config/tc-s390.c:1013
+#: config/tc-s390.c:1015
msgid "Invalid suffix for literal pool entry"
msgstr ""
-#: config/tc-s390.c:1070
+#: config/tc-s390.c:1072
msgid "Big number is too big"
msgstr ""
-#: config/tc-s390.c:1217
+#: config/tc-s390.c:1219
msgid "relocation not applicable"
msgstr ""
-#: config/tc-s390.c:1341
+#: config/tc-s390.c:1343
msgid "invalid length field specified"
msgstr ""
-#: config/tc-s390.c:1345
+#: config/tc-s390.c:1347
msgid "index register specified but zero"
msgstr ""
-#: config/tc-s390.c:1349
+#: config/tc-s390.c:1351
msgid "base register specified but zero"
msgstr ""
-#: config/tc-s390.c:1353
+#: config/tc-s390.c:1355
msgid "odd numbered general purpose register specified as register pair"
msgstr ""
-#: config/tc-s390.c:1361
+#: config/tc-s390.c:1363
msgid ""
"invalid floating point register pair. Valid fp register pair operands are "
"0, 1, 4, 5, 8, 9, 12 or 13."
msgstr ""
-#: config/tc-s390.c:1450
+#: config/tc-s390.c:1452
msgid "invalid operand suffix"
msgstr ""
-#: config/tc-s390.c:1473
+#: config/tc-s390.c:1475
msgid "syntax error; missing '(' after displacement"
msgstr ""
-#: config/tc-s390.c:1489 config/tc-s390.c:1533 config/tc-s390.c:1567
-msgid "syntax error; expected ,"
+#: config/tc-s390.c:1491 config/tc-s390.c:1535 config/tc-s390.c:1569
+msgid "syntax error; expected ','"
msgstr ""
-#: config/tc-s390.c:1521
+#: config/tc-s390.c:1523
msgid "syntax error; missing ')' after base register"
msgstr ""
-#: config/tc-s390.c:1550
+#: config/tc-s390.c:1552
msgid "syntax error; ')' not allowed here"
msgstr ""
-#: config/tc-s390.c:1692
+#: config/tc-s390.c:1694
#, c-format
msgid "Opcode %s not available in this mode"
msgstr ""
-#: config/tc-s390.c:1747 config/tc-s390.c:1770 config/tc-s390.c:1783
+#: config/tc-s390.c:1749 config/tc-s390.c:1772 config/tc-s390.c:1785
msgid "Invalid .insn format\n"
msgstr ""
-#: config/tc-s390.c:1755
+#: config/tc-s390.c:1757
#, c-format
msgid "Unrecognized opcode format: `%s'"
msgstr ""
-#: config/tc-s390.c:1786
+#: config/tc-s390.c:1788
msgid "second operand of .insn not a constant\n"
msgstr ""
-#: config/tc-s390.c:1789
+#: config/tc-s390.c:1791
msgid "missing comma after insn constant\n"
msgstr ""
-#: config/tc-s390.c:2026
+#: config/tc-s390.c:2028
msgid ".machinemode stack overflow"
msgstr ""
-#: config/tc-s390.c:2033
+#: config/tc-s390.c:2035
msgid ".machinemode stack underflow"
msgstr ""
-#: config/tc-s390.c:2050
+#: config/tc-s390.c:2052
#, c-format
msgid "invalid machine mode `%s'"
msgstr ""
-#: config/tc-s390.c:2250
+#: config/tc-s390.c:2252
#, c-format
msgid "cannot emit relocation %s against subsy symbol %s"
msgstr ""
-#: config/tc-s390.c:2367
+#: config/tc-s390.c:2369
msgid "unsupported relocation type"
msgstr ""
-#: config/tc-s390.c:2422
+#: config/tc-s390.c:2424
#, c-format
msgid "cannot emit PC relative %s relocation%s%s"
msgstr ""
-#: config/tc-s390.c:2561
+#: config/tc-s390.c:2563
#, c-format
msgid "Gas failure, reloc type %s\n"
msgstr ""
-#: config/tc-s390.c:2563
+#: config/tc-s390.c:2565
#, c-format
msgid "Gas failure, reloc type #%i\n"
msgstr ""
@@ -14743,8 +14851,8 @@ msgstr ""
msgid "S+core co-processor register expected"
msgstr ""
-#: config/tc-score.c:1074 config/tc-score.c:2068
-msgid "Using temp register(r1)"
+#: config/tc-score.c:1074
+msgid "Using temp register (r1)"
msgstr ""
#: config/tc-score.c:1093
@@ -14772,9 +14880,13 @@ msgstr ""
msgid "invalid constant: bit expression not defined"
msgstr ""
+#: config/tc-score.c:2068
+msgid "Using temp register(r1)"
+msgstr ""
+
#: config/tc-score.c:2082
#, c-format
-msgid "low register(r0-r15)expected, not '%.100s'"
+msgid "low register (r0-r15) expected, not '%.100s'"
msgstr ""
#: config/tc-score.c:2144 config/tc-score.c:3482 config/tc-score.c:3650
@@ -14793,17 +14905,17 @@ msgstr ""
#: config/tc-score.c:2347
#, c-format
-msgid "Fix data dependency: %s %s -- %s %s (insert %d nop!/%d)"
+msgid "Fix data dependency: %s %s -- %s %s (insert %d nop!/%d)"
msgstr ""
#: config/tc-score.c:2366
#, c-format
-msgid "Fix data dependency: %s %s -- %s %s (insert 1 pflush/%d)"
+msgid "Fix data dependency: %s %s -- %s %s (insert 1 pflush/%d)"
msgstr ""
#: config/tc-score.c:2382 config/tc-score.c:2389
#, c-format
-msgid "data dependency: %s %s -- %s %s (%d/%d bubble)"
+msgid "data dependency: %s %s -- %s %s (%d/%d bubble)"
msgstr ""
#: config/tc-score.c:2838
@@ -14912,7 +15024,7 @@ msgid "invalid constant: 25 bit expression not in range [-16777216, 16777215]"
msgstr ""
#: config/tc-score.c:5231
-msgid "invalid constant: 20 bit expression not in range -2^19..2^19"
+msgid "invalid constant: 20 bit expression not in range -2^19..2^19-1"
msgstr ""
#: config/tc-score.c:5264
@@ -14924,7 +15036,7 @@ msgid "invalid constant: 10 bit expression not in range [-2^9, 2^9-1]"
msgstr ""
#: config/tc-score.c:5365
-msgid "pce instruction error (16 bit || 16 bit)'"
+msgid "pce instruction error (16 bit || 16 bit)."
msgstr ""
#: config/tc-score.c:5383 config/tc-score.c:5407 config/tc-score.c:5434
@@ -14946,7 +15058,7 @@ msgstr ""
msgid "error setting flags for \".sbss\": %s"
msgstr ""
-#: config/tc-score.c:6155 config/tc-sparc.c:4169
+#: config/tc-score.c:6155 config/tc-sparc.c:4208
msgid "missing alignment"
msgstr ""
@@ -14968,19 +15080,19 @@ msgstr ""
msgid "bad call to MD_ATOF()"
msgstr ""
-#: config/tc-score.c:7197
+#: config/tc-score.c:7197 config/tc-score.c:7263
#, c-format
-msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9]"
+msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr ""
#: config/tc-score.c:7212 config/tc-score.c:7241 config/tc-score.c:7293
#, c-format
-msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19]"
+msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19-1]"
msgstr ""
-#: config/tc-score.c:7263 config/tc-score.c:7318
+#: config/tc-score.c:7318
#, c-format
-msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9]"
+msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr ""
#: config/tc-score.c:7488
@@ -15010,48 +15122,44 @@ msgstr ""
#: config/tc-score.c:7810
#, c-format
-msgid " -FIXDD\t\tassemble code for fix data dependency\n"
+msgid " -FIXDD\t\tfix data dependencies\n"
msgstr ""
#: config/tc-score.c:7812
#, c-format
msgid ""
-" -NWARN\t\tassemble code for no warning message for fix data "
-"dependency\n"
+" -NWARN\t\tdo not print warning message when fixing data "
+"dependencies\n"
msgstr ""
#: config/tc-score.c:7814
#, c-format
-msgid " -SCORE5\t\tassemble code for target is SCORE5\n"
+msgid " -SCORE5\t\tassemble code for target SCORE5\n"
msgstr ""
#: config/tc-score.c:7816
#, c-format
-msgid " -SCORE5U\tassemble code for target is SCORE5U\n"
+msgid " -SCORE5U\tassemble code for target SCORE5U\n"
msgstr ""
#: config/tc-score.c:7818
#, c-format
-msgid ""
-" -SCORE7\t\tassemble code for target is SCORE7, this is default "
-"setting\n"
+msgid " -SCORE7\t\tassemble code for target SCORE7 [default]\n"
msgstr ""
#: config/tc-score.c:7820
#, c-format
-msgid " -SCORE3\t\tassemble code for target is SCORE3\n"
+msgid " -SCORE3\t\tassemble code for target SCORE3\n"
msgstr ""
#: config/tc-score.c:7822
#, c-format
-msgid ""
-" -march=score7\tassemble code for target is SCORE7, this is default "
-"setting\n"
+msgid " -march=score7\tassemble code for target SCORE7 [default]\n"
msgstr ""
#: config/tc-score.c:7824
#, c-format
-msgid " -march=score3\tassemble code for target is SCORE3\n"
+msgid " -march=score3\tassemble code for target SCORE3\n"
msgstr ""
#: config/tc-score.c:7826
@@ -15063,23 +15171,23 @@ msgstr ""
#: config/tc-score.c:7828
#, c-format
-msgid " -KPIC\t\tassemble code for PIC\n"
+msgid " -KPIC\t\tgenerate PIC\n"
msgstr ""
#: config/tc-score.c:7830
#, c-format
-msgid " -O0\t\tassembler will not perform any optimizations\n"
+msgid " -O0\t\tdo not perform any optimizations\n"
msgstr ""
#: config/tc-score.c:7832
#, c-format
msgid ""
-" -G gpnum\tassemble code for setting gpsize and default is 8 byte\n"
+" -G gpnum\tassemble code for setting gpsize, default is 8 bytes\n"
msgstr ""
#: config/tc-score.c:7834
#, c-format
-msgid " -V \t\tSunplus release version \n"
+msgid " -V \t\tSunplus release version\n"
msgstr ""
#: config/tc-sh.c:62
@@ -15370,8 +15478,8 @@ msgstr ""
msgid "overflow in branch to %s; converted into longer instruction sequence"
msgstr ""
-#: config/tc-sh.c:3750 config/tc-sh.c:3797 config/tc-sparc.c:4669
-#: config/tc-sparc.c:4693
+#: config/tc-sh.c:3750 config/tc-sh.c:3797 config/tc-sparc.c:4708
+#: config/tc-sparc.c:4732
msgid "misaligned data"
msgstr ""
@@ -15490,10 +15598,6 @@ msgstr ""
msgid "invalid PIC reference"
msgstr ""
-#: config/tc-sh64.c:2479
-msgid "can't find opcode"
-msgstr ""
-
#: config/tc-sh64.c:2682 config/tc-sh64.c:2722
msgid "invalid operand: expression in PT target"
msgstr ""
@@ -15573,26 +15677,26 @@ msgstr ""
msgid "Invalid DataLabel expression"
msgstr ""
-#: config/tc-sparc.c:318 config/tc-sparc.c:533
+#: config/tc-sparc.c:319 config/tc-sparc.c:534
msgid "Bad opcode table, broken assembler."
msgstr ""
-#: config/tc-sparc.c:525
+#: config/tc-sparc.c:526
#, c-format
msgid "invalid architecture -xarch=%s"
msgstr ""
-#: config/tc-sparc.c:606
+#: config/tc-sparc.c:607
#, c-format
msgid "No compiled in support for %d bit object file format"
msgstr ""
-#: config/tc-sparc.c:691
+#: config/tc-sparc.c:692
#, c-format
msgid "SPARC options:\n"
msgstr ""
-#: config/tc-sparc.c:720
+#: config/tc-sparc.c:721
#, c-format
msgid ""
"\n"
@@ -15604,24 +15708,24 @@ msgid ""
"-no-relax\t\tavoid changing any jumps and branches\n"
msgstr ""
-#: config/tc-sparc.c:728
+#: config/tc-sparc.c:729
#, c-format
msgid "-k\t\t\tgenerate PIC\n"
msgstr ""
-#: config/tc-sparc.c:732
+#: config/tc-sparc.c:733
#, c-format
msgid ""
"-32\t\t\tcreate 32 bit object file\n"
"-64\t\t\tcreate 64 bit object file\n"
msgstr ""
-#: config/tc-sparc.c:735
+#: config/tc-sparc.c:736
#, c-format
msgid "\t\t\t[default is %d]\n"
msgstr ""
-#: config/tc-sparc.c:737
+#: config/tc-sparc.c:738
#, c-format
msgid ""
"-TSO\t\t\tuse Total Store Ordering\n"
@@ -15629,12 +15733,12 @@ msgid ""
"-RMO\t\t\tuse Relaxed Memory Ordering\n"
msgstr ""
-#: config/tc-sparc.c:741
+#: config/tc-sparc.c:742
#, c-format
msgid "\t\t\t[default is %s]\n"
msgstr ""
-#: config/tc-sparc.c:743
+#: config/tc-sparc.c:744
#, c-format
msgid ""
"-KPIC\t\t\tgenerate PIC\n"
@@ -15649,7 +15753,7 @@ msgid ""
"-s\t\t\tignored\n"
msgstr ""
-#: config/tc-sparc.c:756
+#: config/tc-sparc.c:757
#, c-format
msgid ""
"-EL\t\t\tgenerate code for a little endian machine\n"
@@ -15658,340 +15762,340 @@ msgid ""
" instructions and little endian data.\n"
msgstr ""
-#: config/tc-sparc.c:1023
+#: config/tc-sparc.c:1024
#, c-format
msgid "Internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-sparc.c:1042
+#: config/tc-sparc.c:1043
#, c-format
msgid "Internal error: can't find opcode `%s' for `%s'\n"
msgstr ""
-#: config/tc-sparc.c:1258
+#: config/tc-sparc.c:1259
msgid "Support for 64-bit arithmetic not compiled in."
msgstr ""
-#: config/tc-sparc.c:1304
+#: config/tc-sparc.c:1305
msgid "set: number not in 0..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1311
+#: config/tc-sparc.c:1312
msgid "set: number not in -2147483648..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1370
+#: config/tc-sparc.c:1371
msgid "setsw: number not in -2147483648..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1418
+#: config/tc-sparc.c:1419
msgid "setx: temporary register same as destination register"
msgstr ""
-#: config/tc-sparc.c:1489
+#: config/tc-sparc.c:1490
msgid "setx: illegal temporary register g0"
msgstr ""
-#: config/tc-sparc.c:1597
+#: config/tc-sparc.c:1598
msgid "unpredictable DCTI couple"
msgstr ""
-#: config/tc-sparc.c:1607
+#: config/tc-sparc.c:1608
msgid "FP branch in delay slot"
msgstr ""
-#: config/tc-sparc.c:1623
+#: config/tc-sparc.c:1624
msgid "FP branch preceded by FP instruction; NOP inserted"
msgstr ""
-#: config/tc-sparc.c:1663
+#: config/tc-sparc.c:1664
msgid "failed special case insn sanity check"
msgstr ""
-#: config/tc-sparc.c:1834
+#: config/tc-sparc.c:1836
msgid ": invalid membar mask name"
msgstr ""
-#: config/tc-sparc.c:1850
+#: config/tc-sparc.c:1852
msgid ": invalid membar mask expression"
msgstr ""
-#: config/tc-sparc.c:1855
+#: config/tc-sparc.c:1857
msgid ": invalid membar mask number"
msgstr ""
-#: config/tc-sparc.c:1870
+#: config/tc-sparc.c:1872
msgid ": invalid siam mode expression"
msgstr ""
-#: config/tc-sparc.c:1875
+#: config/tc-sparc.c:1877
msgid ": invalid siam mode number"
msgstr ""
-#: config/tc-sparc.c:1891
+#: config/tc-sparc.c:1893
msgid ": invalid prefetch function name"
msgstr ""
-#: config/tc-sparc.c:1899
+#: config/tc-sparc.c:1901
msgid ": invalid prefetch function expression"
msgstr ""
-#: config/tc-sparc.c:1904
+#: config/tc-sparc.c:1906
msgid ": invalid prefetch function number"
msgstr ""
-#: config/tc-sparc.c:1931 config/tc-sparc.c:1937 config/tc-sparc.c:1946
+#: config/tc-sparc.c:1933 config/tc-sparc.c:1939 config/tc-sparc.c:1948
msgid ": unrecognizable privileged register"
msgstr ""
-#: config/tc-sparc.c:1969 config/tc-sparc.c:1975 config/tc-sparc.c:1984
+#: config/tc-sparc.c:1971 config/tc-sparc.c:1977 config/tc-sparc.c:1986
msgid ": unrecognizable hyperprivileged register"
msgstr ""
-#: config/tc-sparc.c:2007 config/tc-sparc.c:2013 config/tc-sparc.c:2022
+#: config/tc-sparc.c:2009 config/tc-sparc.c:2015 config/tc-sparc.c:2024
msgid ": unrecognizable ancillary state register"
msgstr ""
-#: config/tc-sparc.c:2055
+#: config/tc-sparc.c:2057
msgid ": asr number must be between 0 and 31"
msgstr ""
-#: config/tc-sparc.c:2064
+#: config/tc-sparc.c:2066
#, c-format
msgid ": expecting %asrN"
msgstr ""
-#: config/tc-sparc.c:2106
+#: config/tc-sparc.c:2108
msgid ": crypto immediate must be between 0 and 31"
msgstr ""
-#: config/tc-sparc.c:2115
+#: config/tc-sparc.c:2117
msgid ": expecting crypto immediate"
msgstr ""
-#: config/tc-sparc.c:2276 config/tc-sparc.c:2315 config/tc-sparc.c:2715
-#: config/tc-sparc.c:2751
+#: config/tc-sparc.c:2278 config/tc-sparc.c:2317 config/tc-sparc.c:2717
+#: config/tc-sparc.c:2753
#, c-format
msgid "Illegal operands: %%%s requires arguments in ()"
msgstr ""
-#: config/tc-sparc.c:2283
+#: config/tc-sparc.c:2285
#, c-format
msgid ""
"Illegal operands: %%%s cannot be used together with other relocs in the insn "
"()"
msgstr ""
-#: config/tc-sparc.c:2294
+#: config/tc-sparc.c:2296
#, c-format
msgid "Illegal operands: %%%s can be only used with call __tls_get_addr"
msgstr ""
-#: config/tc-sparc.c:2501
+#: config/tc-sparc.c:2503
msgid "detected global register use not covered by .register pseudo-op"
msgstr ""
-#: config/tc-sparc.c:2583
+#: config/tc-sparc.c:2585
msgid ": There are only 64 f registers; [0-63]"
msgstr ""
-#: config/tc-sparc.c:2585 config/tc-sparc.c:2603
+#: config/tc-sparc.c:2587 config/tc-sparc.c:2605
msgid ": There are only 32 f registers; [0-31]"
msgstr ""
-#: config/tc-sparc.c:2595
+#: config/tc-sparc.c:2597
msgid ": There are only 32 single precision f registers; [0-31]"
msgstr ""
-#: config/tc-sparc.c:2616
+#: config/tc-sparc.c:2618
msgid ": Instruction requires frs2 and frsd must be the same register"
msgstr ""
-#: config/tc-sparc.c:2760
+#: config/tc-sparc.c:2762
#, c-format
msgid "Expression inside %%%s could not be parsed"
msgstr ""
-#: config/tc-sparc.c:2768
+#: config/tc-sparc.c:2770
#, c-format
msgid ""
"Illegal operands: Can't do arithmetics other than + and - involving %%%s()"
msgstr ""
-#: config/tc-sparc.c:2885
+#: config/tc-sparc.c:2887
#, c-format
msgid "Illegal operands: Can't add non-constant expression to %%%s()"
msgstr ""
-#: config/tc-sparc.c:2895
+#: config/tc-sparc.c:2897
#, c-format
msgid ""
"Illegal operands: Can't do arithmetics involving %%%s() of a relocatable "
"symbol"
msgstr ""
-#: config/tc-sparc.c:2913
+#: config/tc-sparc.c:2915
msgid ": PC-relative operand can't be a constant"
msgstr ""
-#: config/tc-sparc.c:2920
+#: config/tc-sparc.c:2922
msgid ": TLS operand can't be a constant"
msgstr ""
-#: config/tc-sparc.c:2948
+#: config/tc-sparc.c:2950
msgid ": Immediate value in cbcond is out of range."
msgstr ""
-#: config/tc-sparc.c:2974
+#: config/tc-sparc.c:2976
msgid ": invalid ASI name"
msgstr ""
-#: config/tc-sparc.c:2982
+#: config/tc-sparc.c:2985
msgid ": invalid ASI expression"
msgstr ""
-#: config/tc-sparc.c:2987
+#: config/tc-sparc.c:2990
msgid ": invalid ASI number"
msgstr ""
-#: config/tc-sparc.c:3090
+#: config/tc-sparc.c:3093
msgid "OPF immediate operand out of range (0-0x1ff)"
msgstr ""
-#: config/tc-sparc.c:3095
+#: config/tc-sparc.c:3098
msgid "non-immediate OPF operand, ignored"
msgstr ""
-#: config/tc-sparc.c:3114
+#: config/tc-sparc.c:3117
msgid ": invalid cpreg name"
msgstr ""
-#: config/tc-sparc.c:3143
+#: config/tc-sparc.c:3146
#, c-format
msgid "Illegal operands%s"
msgstr ""
-#: config/tc-sparc.c:3183
+#: config/tc-sparc.c:3196
#, c-format
msgid "architecture bumped from \"%s\" to \"%s\" on \"%s\""
msgstr ""
-#: config/tc-sparc.c:3224
+#: config/tc-sparc.c:3237
#, c-format
msgid "Architecture mismatch on \"%s %s\"."
msgstr ""
-#: config/tc-sparc.c:3225
+#: config/tc-sparc.c:3238
#, c-format
-msgid " (Requires %s; requested architecture is %s.)"
+msgid "(Requires %s; requested architecture is %s.)"
msgstr ""
-#: config/tc-sparc.c:3237
+#: config/tc-sparc.c:3250
#, c-format
msgid "Hardware capability \"%s\" not enabled for \"%s\"."
msgstr ""
-#: config/tc-sparc.c:3635 config/tc-sparc.c:3642 config/tc-sparc.c:3649
-#: config/tc-sparc.c:3656 config/tc-sparc.c:3663 config/tc-sparc.c:3672
-#: config/tc-sparc.c:3684 config/tc-sparc.c:3695 config/tc-sparc.c:3717
-#: config/tc-sparc.c:3741 write.c:1163
+#: config/tc-sparc.c:3674 config/tc-sparc.c:3681 config/tc-sparc.c:3688
+#: config/tc-sparc.c:3695 config/tc-sparc.c:3702 config/tc-sparc.c:3711
+#: config/tc-sparc.c:3723 config/tc-sparc.c:3734 config/tc-sparc.c:3756
+#: config/tc-sparc.c:3780 write.c:1163
msgid "relocation overflow"
msgstr ""
-#: config/tc-sparc.c:3796
+#: config/tc-sparc.c:3835
#, c-format
msgid "bad or unhandled relocation type: 0x%02x"
msgstr ""
-#: config/tc-sparc.c:4131
+#: config/tc-sparc.c:4170
msgid "Expected comma after name"
msgstr ""
-#: config/tc-sparc.c:4140
+#: config/tc-sparc.c:4179
#, c-format
msgid "BSS length (%d.) <0! Ignored."
msgstr ""
-#: config/tc-sparc.c:4152
+#: config/tc-sparc.c:4191
msgid "bad .reserve segment -- expected BSS segment"
msgstr ""
-#: config/tc-sparc.c:4180
+#: config/tc-sparc.c:4219
#, c-format
msgid "alignment too large; assuming %d"
msgstr ""
-#: config/tc-sparc.c:4186 config/tc-sparc.c:4335
+#: config/tc-sparc.c:4225 config/tc-sparc.c:4374
msgid "negative alignment"
msgstr ""
-#: config/tc-sparc.c:4196 config/tc-sparc.c:4357 read.c:1521 read.c:2539
+#: config/tc-sparc.c:4235 config/tc-sparc.c:4396 read.c:1521 read.c:2539
msgid "alignment not a power of 2"
msgstr ""
-#: config/tc-sparc.c:4249
+#: config/tc-sparc.c:4288
#, c-format
msgid "Ignoring attempt to re-define symbol %s"
msgstr ""
-#: config/tc-sparc.c:4272 config/tc-v850.c:283
+#: config/tc-sparc.c:4311 config/tc-v850.c:283
msgid "Expected comma after symbol-name"
msgstr ""
-#: config/tc-sparc.c:4282
+#: config/tc-sparc.c:4321
#, c-format
msgid ".COMMon length (%lu) out of range ignored"
msgstr ""
-#: config/tc-sparc.c:4315
+#: config/tc-sparc.c:4354
msgid "Expected comma after common length"
msgstr ""
-#: config/tc-sparc.c:4329
+#: config/tc-sparc.c:4368
#, c-format
msgid "alignment too large; assuming %ld"
msgstr ""
-#: config/tc-sparc.c:4472
+#: config/tc-sparc.c:4511
msgid "Unknown segment type"
msgstr ""
-#: config/tc-sparc.c:4542 config/tc-sparc.c:4551
+#: config/tc-sparc.c:4581 config/tc-sparc.c:4590
#, c-format
msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}"
msgstr ""
-#: config/tc-sparc.c:4569
+#: config/tc-sparc.c:4608
msgid "redefinition of global register"
msgstr ""
-#: config/tc-sparc.c:4580
+#: config/tc-sparc.c:4619
#, c-format
msgid "Register symbol %s already defined."
msgstr ""
-#: config/tc-sparc.c:4784
+#: config/tc-sparc.c:4823
#, c-format
msgid "Illegal operands: %%r_plt in %d-byte data field"
msgstr ""
-#: config/tc-sparc.c:4794
+#: config/tc-sparc.c:4833
#, c-format
msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field"
msgstr ""
-#: config/tc-sparc.c:4831 config/tc-vax.c:3317
+#: config/tc-sparc.c:4870 config/tc-vax.c:3317
#, c-format
msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"
msgstr ""
-#: config/tc-sparc.c:4839 config/tc-sparc.c:4870 config/tc-sparc.c:4879
+#: config/tc-sparc.c:4878 config/tc-sparc.c:4909 config/tc-sparc.c:4918
#: config/tc-vax.c:3325 config/tc-vax.c:3356 config/tc-vax.c:3365
#, c-format
msgid "Illegal operands: %%r_%s%d requires arguments in ()"
msgstr ""
-#: config/tc-sparc.c:4888 config/tc-vax.c:3374
+#: config/tc-sparc.c:4927 config/tc-vax.c:3374
#, c-format
msgid "Illegal operands: garbage after %%r_%s%d()"
msgstr ""
@@ -16198,10 +16302,6 @@ msgstr ""
msgid "loading the same register in parallel operation"
msgstr ""
-#: config/tc-tic30.c:1387
-msgid "pc-relative "
-msgstr ""
-
#: config/tc-tic30.c:1448
#, c-format
msgid "Invalid character %s in opcode"
@@ -16531,7 +16631,7 @@ msgstr ""
#: config/tc-tic54x.c:233
#, c-format
-msgid "C54x-specific command line options:\n"
+msgid "C54x-specific command line options:\n"
msgstr ""
#: config/tc-tic54x.c:234
@@ -16685,7 +16785,7 @@ msgid "Unrecognized section '%s'"
msgstr ""
#: config/tc-tic54x.c:1841
-msgid "Current section is unitialized, section name required for .clink"
+msgid "Current section is uninitialized, section name required for .clink"
msgstr ""
#: config/tc-tic54x.c:2042
@@ -16934,7 +17034,7 @@ msgstr ""
#: config/tc-tic54x.c:4664
#, c-format
-msgid "Invalid length (use 0 to %d"
+msgid "Invalid length (use 0 to %d)"
msgstr ""
#: config/tc-tic54x.c:4674
@@ -17871,11 +17971,11 @@ msgid "condition sa cannot be used here"
msgstr ""
#: config/tc-v850.c:2831
-msgid "invalid cache oparation name"
+msgid "invalid cache operation name"
msgstr ""
#: config/tc-v850.c:2836
-msgid "invalid pref oparation name"
+msgid "invalid pref operation name"
msgstr ""
#: config/tc-v850.c:2841
@@ -17914,7 +18014,7 @@ msgstr ""
msgid "displacement is too large"
msgstr ""
-#: config/tc-v850.c:2975 config/tc-xtensa.c:12941
+#: config/tc-v850.c:2975 config/tc-xtensa.c:12953
msgid "invalid operand"
msgstr ""
@@ -18138,11 +18238,11 @@ msgid "Length specification ignored. Address mode 9F used"
msgstr ""
#: config/tc-vax.c:3132
-msgid "Invalid operand: immediate value used as base address."
+msgid "Invalid operand: immediate value used as base address."
msgstr ""
#: config/tc-vax.c:3134
-msgid "Invalid operand: immediate value used as address."
+msgid "Invalid operand: immediate value used as address."
msgstr ""
#: config/tc-vax.c:3159
@@ -18159,13 +18259,92 @@ msgstr ""
msgid "Bad call to MD_ATOF()"
msgstr ""
+#: config/tc-wasm32.c:117
+#, c-format
+msgid "wasm32 assembler options:\n"
+msgstr ""
+
+#: config/tc-wasm32.c:364
+msgid "unexpected negative constant"
+msgstr ""
+
+#: config/tc-wasm32.c:426
+msgid "no function type on PLT reloc"
+msgstr ""
+
+#: config/tc-wasm32.c:441
+msgid "couldn't find relocation to use"
+msgstr ""
+
+#: config/tc-wasm32.c:513
+msgid "Not a function type"
+msgstr ""
+
+#: config/tc-wasm32.c:529
+#, c-format
+msgid "Unknown type %c\n"
+msgstr ""
+
+#: config/tc-wasm32.c:551 config/tc-wasm32.c:577
+msgid "Unknown type"
+msgstr ""
+
+#: config/tc-wasm32.c:625
+msgid "only single block types allowed"
+msgstr ""
+
+#: config/tc-wasm32.c:635
+msgid "instruction does not take a block type"
+msgstr ""
+
+#: config/tc-wasm32.c:652
+msgid "missing block type"
+msgstr ""
+
+#: config/tc-wasm32.c:661 config/tc-wasm32.c:665
+msgid "missing alignment hint"
+msgstr ""
+
+#: config/tc-wasm32.c:669
+msgid "missing offset"
+msgstr ""
+
+#: config/tc-wasm32.c:675
+msgid "missing local index"
+msgstr ""
+
+#: config/tc-wasm32.c:680
+msgid "missing break count"
+msgstr ""
+
+#: config/tc-wasm32.c:685
+msgid "missing reserved current_memory/grow_memory argument"
+msgstr ""
+
+#: config/tc-wasm32.c:689
+msgid "missing call argument"
+msgstr ""
+
+#: config/tc-wasm32.c:693
+msgid "missing call signature"
+msgstr ""
+
+#: config/tc-wasm32.c:695
+msgid "missing table index"
+msgstr ""
+
+#: config/tc-wasm32.c:726 config/tc-z80.c:1951 read.c:3742
+#, c-format
+msgid "junk at end of line, first unrecognized character is `%c'"
+msgstr ""
+
#: config/tc-xc16x.c:218
#, c-format
msgid " XC16X specific command line options:\n"
msgstr ""
#: config/tc-xgate.c:215
-msgid " architecture variant invalid"
+msgid "architecture variant invalid"
msgstr ""
#: config/tc-xgate.c:370
@@ -18176,7 +18355,7 @@ msgid ""
" -mlong use 32-bit int ABI\n"
" -mshort-double use 32-bit double ABI\n"
" -mlong-double use 64-bit double ABI (default)\n"
-" --mxgate specify the processor variant[default %s]\n"
+" --mxgate specify the processor variant [default %s]\n"
" --print-insn-syntax print the syntax of instruction in case of error\n"
" --print-opcodes print the list of instructions with syntax\n"
" --generate-example generate an example of each instruction"
@@ -18192,7 +18371,7 @@ msgid "opcode %s not found in opcode hash table"
msgstr ""
#: config/tc-xgate.c:511
-msgid "matching operands to opcode "
+msgid "matching operands to opcode"
msgstr ""
#: config/tc-xgate.c:549
@@ -18330,7 +18509,7 @@ msgid "invalid auto-litpool-limit argument (range is 100-10000)"
msgstr ""
#: config/tc-xtensa.c:1190
-msgid "unmatched end directive"
+msgid "unmatched .end directive"
msgstr ""
#: config/tc-xtensa.c:1219
@@ -18733,103 +18912,103 @@ msgstr ""
msgid "loop target does not follow loop instruction in section"
msgstr ""
-#: config/tc-xtensa.c:9450
+#: config/tc-xtensa.c:9452
msgid "bad relaxation state"
msgstr ""
-#: config/tc-xtensa.c:9508
+#: config/tc-xtensa.c:9510
#, c-format
msgid "fr_var (%ld) < length (%d)"
msgstr ""
-#: config/tc-xtensa.c:10244
+#: config/tc-xtensa.c:10256
msgid "jump target out of range; no usable trampoline found"
msgstr ""
-#: config/tc-xtensa.c:10368
+#: config/tc-xtensa.c:10380
msgid "invalid relaxation fragment result"
msgstr ""
-#: config/tc-xtensa.c:10450
+#: config/tc-xtensa.c:10462
msgid "unable to widen instruction"
msgstr ""
-#: config/tc-xtensa.c:10589
+#: config/tc-xtensa.c:10601
msgid "multiple literals in expansion"
msgstr ""
-#: config/tc-xtensa.c:10593
+#: config/tc-xtensa.c:10605
msgid "no registered fragment for literal"
msgstr ""
-#: config/tc-xtensa.c:10595
+#: config/tc-xtensa.c:10607
msgid "number of literal tokens != 1"
msgstr ""
-#: config/tc-xtensa.c:10724 config/tc-xtensa.c:10730
+#: config/tc-xtensa.c:10736 config/tc-xtensa.c:10742
#, c-format
msgid "unresolved loop target symbol: %s"
msgstr ""
-#: config/tc-xtensa.c:10836
+#: config/tc-xtensa.c:10848
#, c-format
msgid "invalid expression evaluation type %d"
msgstr ""
-#: config/tc-xtensa.c:10853
+#: config/tc-xtensa.c:10865
msgid "loop too long for LOOP instruction"
msgstr ""
-#: config/tc-xtensa.c:11177 config/tc-xtensa.c:11419
+#: config/tc-xtensa.c:11189 config/tc-xtensa.c:11431
msgid ""
"literal pool location required for text-section-literals; specify with ."
"literal_position"
msgstr ""
-#: config/tc-xtensa.c:11286
+#: config/tc-xtensa.c:11298
#, c-format
msgid "fixes not all moved from %s"
msgstr ""
-#: config/tc-xtensa.c:12255
+#: config/tc-xtensa.c:12267
msgid "too many operands in instruction"
msgstr ""
-#: config/tc-xtensa.c:12465
+#: config/tc-xtensa.c:12477
msgid "invalid symbolic operand"
msgstr ""
-#: config/tc-xtensa.c:12526
+#: config/tc-xtensa.c:12538
msgid "operand number mismatch"
msgstr ""
-#: config/tc-xtensa.c:12530
+#: config/tc-xtensa.c:12542
#, c-format
msgid "cannot encode opcode \"%s\" in the given format \"%s\""
msgstr ""
-#: config/tc-xtensa.c:12555
+#: config/tc-xtensa.c:12567
#, c-format
msgid "xtensa-isa failure: %s"
msgstr ""
-#: config/tc-xtensa.c:12632
+#: config/tc-xtensa.c:12644
msgid "invalid opcode"
msgstr ""
-#: config/tc-xtensa.c:12638
+#: config/tc-xtensa.c:12650
msgid "too few operands"
msgstr ""
-#: config/tc-xtensa.c:12688
+#: config/tc-xtensa.c:12700
msgid "multiple writes to the same register"
msgstr ""
-#: config/tc-xtensa.c:12802 config/tc-xtensa.c:12808
+#: config/tc-xtensa.c:12814 config/tc-xtensa.c:12820
msgid "out of memory"
msgstr ""
-#: config/tc-xtensa.c:12897
+#: config/tc-xtensa.c:12909
msgid "TLS relocation not allowed in FLIX bundle"
msgstr ""
@@ -18837,33 +19016,33 @@ msgstr ""
#. relaxed in the front-end. If "record_fixup" is set, then this
#. function is being called during back-end relaxation, so flag
#. the unexpected behavior as an error.
-#: config/tc-xtensa.c:12903
+#: config/tc-xtensa.c:12915
msgid "unexpected TLS relocation"
msgstr ""
-#: config/tc-xtensa.c:12947
+#: config/tc-xtensa.c:12959
msgid "symbolic operand not allowed"
msgstr ""
-#: config/tc-xtensa.c:12984
+#: config/tc-xtensa.c:12996
msgid "cannot decode instruction format"
msgstr ""
-#: config/tc-xtensa.c:13128
+#: config/tc-xtensa.c:13140
msgid "ignoring extra '-rename-section' delimiter ':'"
msgstr ""
-#: config/tc-xtensa.c:13133
+#: config/tc-xtensa.c:13145
#, c-format
msgid "ignoring invalid '-rename-section' specification: '%s'"
msgstr ""
-#: config/tc-xtensa.c:13144
+#: config/tc-xtensa.c:13156
#, c-format
msgid "section %s renamed multiple times"
msgstr ""
-#: config/tc-xtensa.c:13146
+#: config/tc-xtensa.c:13158
#, c-format
msgid "multiple sections remapped to output section %s"
msgstr ""
@@ -18906,17 +19085,12 @@ msgstr ""
msgid "parentheses ignored"
msgstr ""
-#: config/tc-z80.c:1951 read.c:3742
-#, c-format
-msgid "junk at end of line, first unrecognized character is `%c'"
-msgstr ""
-
#: config/tc-z80.c:1977 config/tc-z8k.c:1467 config/tc-z8k.c:1530
msgid "relative jump out of range"
msgstr ""
#: config/tc-z80.c:1994
-msgid "index offset out of range"
+msgid "index offset out of range"
msgstr ""
#: config/tc-z80.c:2036 config/tc-z8k.c:1538
@@ -19063,16 +19237,11 @@ msgstr ""
msgid "invalid configuration option '%s' in transition rule '%s'"
msgstr ""
-#: config/xtensa-relax.c:1675
+#: config/xtensa-relax.c:1675 config/xtensa-relax.c:1685
#, c-format
msgid "opcode '%s': no bound opname '%s' for precondition in '%s'"
msgstr ""
-#: config/xtensa-relax.c:1685
-#, c-format
-msgid "opcode '%s': no bound opname '%s' for precondition in %s"
-msgstr ""
-
#: config/xtensa-relax.c:1692
#, c-format
msgid "opcode '%s': precondition only contains constants in '%s'"
@@ -19103,7 +19272,7 @@ msgstr ""
#: config/xtensa-relax.c:1797 config/xtensa-relax.c:1827
#, c-format
-msgid "opcode %s: unidentified operand '%s' in '%s'"
+msgid "opcode '%s': unidentified operand '%s' in '%s'"
msgstr ""
#: config/xtensa-relax.c:1822
@@ -19113,7 +19282,7 @@ msgstr ""
#: config/xtensa-relax.c:1833
#, c-format
-msgid "opcode %s: could not parse operand '%s' in '%s'"
+msgid "opcode '%s': could not parse operand '%s' in '%s'"
msgstr ""
#: config/xtensa-relax.c:1873
@@ -19141,119 +19310,119 @@ msgstr ""
msgid "can't close `%s'"
msgstr ""
-#: dw2gencfi.c:318 read.c:2440
+#: dw2gencfi.c:319 read.c:2440
#, c-format
msgid "bfd_set_section_flags: %s"
msgstr ""
-#: dw2gencfi.c:600 dw2gencfi.c:616
+#: dw2gencfi.c:601 dw2gencfi.c:617
#, c-format
msgid "register save offset not a multiple of %u"
msgstr ""
-#: dw2gencfi.c:699
+#: dw2gencfi.c:700
msgid "CFI state restore without previous remember"
msgstr ""
-#: dw2gencfi.c:757
+#: dw2gencfi.c:758
msgid "missing separator"
msgstr ""
-#: dw2gencfi.c:806
+#: dw2gencfi.c:807
msgid "bad register expression"
msgstr ""
-#: dw2gencfi.c:827 dw2gencfi.c:957 dw2gencfi.c:995 dw2gencfi.c:1066
-#: dw2gencfi.c:1139 dw2gencfi.c:1374
+#: dw2gencfi.c:828 dw2gencfi.c:958 dw2gencfi.c:996 dw2gencfi.c:1067
+#: dw2gencfi.c:1140 dw2gencfi.c:1378
msgid "CFI instruction used without previous .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:1020
+#: dw2gencfi.c:1021
msgid "invalid or unsupported encoding in .cfi_personality"
msgstr ""
-#: dw2gencfi.c:1027
+#: dw2gencfi.c:1028
msgid ".cfi_personality requires encoding and symbol arguments"
msgstr ""
-#: dw2gencfi.c:1050
+#: dw2gencfi.c:1051
msgid "wrong second argument to .cfi_personality"
msgstr ""
-#: dw2gencfi.c:1091 dw2gencfi.c:1167
+#: dw2gencfi.c:1092 dw2gencfi.c:1168
msgid "invalid or unsupported encoding in .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:1098
+#: dw2gencfi.c:1099
msgid ".cfi_lsda requires encoding and symbol arguments"
msgstr ""
-#: dw2gencfi.c:1123
+#: dw2gencfi.c:1124
msgid "wrong second argument to .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:1189
+#: dw2gencfi.c:1190
msgid "wrong third argument to .cfi_val_encoded_addr"
msgstr ""
-#: dw2gencfi.c:1276
+#: dw2gencfi.c:1280
msgid "inconsistent uses of .cfi_sections"
msgstr ""
-#: dw2gencfi.c:1287
+#: dw2gencfi.c:1291
msgid "previous CFI entry not closed (missing .cfi_endproc)"
msgstr ""
-#: dw2gencfi.c:1328
+#: dw2gencfi.c:1332
msgid ".cfi_endproc without corresponding .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:1385
+#: dw2gencfi.c:1389
msgid "wrong argument to .cfi_personality_id"
msgstr ""
-#: dw2gencfi.c:1395
+#: dw2gencfi.c:1399
msgid ".cfi_fde_data without corresponding .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:1504
+#: dw2gencfi.c:1508
msgid "unexpected .cfi_inline_lsda"
msgstr ""
-#: dw2gencfi.c:1511
+#: dw2gencfi.c:1515
msgid ".cfi_inline_lsda not valid for this frame"
msgstr ""
-#: dw2gencfi.c:1519
+#: dw2gencfi.c:1523
msgid ".cfi_inline_lsda seen for frame without .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:1532
+#: dw2gencfi.c:1536
#, c-format
msgid "Alignment too large: %d. assumed."
msgstr ""
-#: dw2gencfi.c:1536
+#: dw2gencfi.c:1540
msgid "Alignment negative: 0 assumed."
msgstr ""
-#: dw2gencfi.c:1562
+#: dw2gencfi.c:1566
msgid ".cfi_inline_lsda is not supported for this target"
msgstr ""
-#: dw2gencfi.c:1569
+#: dw2gencfi.c:1573
msgid ".cfi_fde_data is not supported for this target"
msgstr ""
-#: dw2gencfi.c:1576
+#: dw2gencfi.c:1580
msgid ".cfi_personality_id is not supported for this target"
msgstr ""
-#: dw2gencfi.c:2351 dw2gencfi.c:2506
+#: dw2gencfi.c:2356 dw2gencfi.c:2512
msgid "open CFI at the end of file; missing .cfi_endproc directive"
msgstr ""
-#: dw2gencfi.c:2532
+#: dw2gencfi.c:2539
msgid "CFI is not supported for this target"
msgstr ""
@@ -19303,7 +19472,7 @@ msgid "inserting \"%s\" into string hash table: %s"
msgstr ""
#: ecoff.c:1616 ecoff.c:1809 ecoff.c:1832 ecoff.c:1863 ecoff.c:2016
-#: ecoff.c:2127
+#: ecoff.c:2135
msgid "no current file pointer"
msgstr ""
@@ -19316,161 +19485,166 @@ msgstr ""
msgid "inserting \"%s\" into tag hash table: %s"
msgstr ""
-#: ecoff.c:2200
+#: ecoff.c:2204
msgid "fake .file after real one"
msgstr ""
-#: ecoff.c:2289
+#: ecoff.c:2293
msgid "filename goes over one page boundary"
msgstr ""
-#: ecoff.c:2422
+#: ecoff.c:2426
msgid ".begin directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:2429
+#: ecoff.c:2433
msgid ".begin directive without a preceding .ent directive"
msgstr ""
-#: ecoff.c:2459
+#: ecoff.c:2463
msgid ".bend directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:2466
+#: ecoff.c:2470
msgid ".bend directive without a preceding .ent directive"
msgstr ""
-#: ecoff.c:2478
+#: ecoff.c:2482
msgid ".bend directive names unknown symbol"
msgstr ""
-#: ecoff.c:2520
+#: ecoff.c:2524
msgid ".def pseudo-op used inside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2522
+#: ecoff.c:2526
msgid "empty symbol name in .def; ignored"
msgstr ""
-#: ecoff.c:2559
+#: ecoff.c:2563
msgid ".dim pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2574
+#: ecoff.c:2578
msgid "badly formed .dim directive"
msgstr ""
-#: ecoff.c:2587
+#: ecoff.c:2591
msgid "too many .dim entries"
msgstr ""
-#: ecoff.c:2607
+#: ecoff.c:2611
msgid ".scl pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2632
+#: ecoff.c:2636
msgid ".size pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2647
+#: ecoff.c:2651
msgid "badly formed .size directive"
msgstr ""
-#: ecoff.c:2660
+#: ecoff.c:2664
msgid "too many .size entries"
msgstr ""
-#: ecoff.c:2682
+#: ecoff.c:2686
msgid ".type pseudo-op used outside of .def/.endef; ignored"
msgstr ""
#. FIXME: We could handle this by setting the continued bit.
#. There would still be a limit: the .type argument can not
#. be infinite.
-#: ecoff.c:2700
+#: ecoff.c:2704
#, c-format
msgid "the type of %s is too complex; it will be simplified"
msgstr ""
-#: ecoff.c:2711
+#: ecoff.c:2715
msgid "Unrecognized .type argument"
msgstr ""
-#: ecoff.c:2749
+#: ecoff.c:2753
msgid ".tag pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2773
+#: ecoff.c:2777
msgid ".val pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2781
+#: ecoff.c:2785
msgid ".val expression is too complex"
msgstr ""
-#: ecoff.c:2811
+#: ecoff.c:2815
msgid ".endef pseudo-op used before .def; ignored"
msgstr ""
-#: ecoff.c:2837 ecoff.c:2918
+#: ecoff.c:2841 ecoff.c:2922
msgid "bad COFF debugging information"
msgstr ""
-#: ecoff.c:2886
+#: ecoff.c:2890
#, c-format
msgid "no tag specified for %s"
msgstr ""
-#: ecoff.c:2988
+#: ecoff.c:2992
msgid ".end directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:3016
+#: ecoff.c:3020
msgid ".end directive names unknown symbol"
msgstr ""
-#: ecoff.c:3043
+#: ecoff.c:3051
msgid "second .ent directive found before .end directive"
msgstr ""
-#: ecoff.c:3113
+#: ecoff.c:3060
+#, c-format
+msgid "%s directive has no name"
+msgstr ""
+
+#: ecoff.c:3121
msgid "no way to handle .file within .ent/.end section"
msgstr ""
-#: ecoff.c:3230
+#: ecoff.c:3238
msgid ".loc before .file"
msgstr ""
-#: ecoff.c:3432
+#: ecoff.c:3440
#, c-format
msgid ".stab%c is not supported"
msgstr ""
-#: ecoff.c:3442
+#: ecoff.c:3450
#, c-format
msgid ".stab%c: ignoring non-zero other field"
msgstr ""
-#: ecoff.c:3476
+#: ecoff.c:3484
#, c-format
msgid ""
"line number (%d) for .stab%c directive cannot fit in index field (20 bits)"
msgstr ""
-#: ecoff.c:3510
+#: ecoff.c:3518
#, c-format
msgid "illegal .stab%c directive, bad character"
msgstr ""
-#: ecoff.c:3969 ecoff.c:4158 ecoff.c:4183
+#: ecoff.c:3977 ecoff.c:4166 ecoff.c:4191
msgid ".begin/.bend in different segments"
msgstr ""
-#: ecoff.c:4679
+#: ecoff.c:4687
msgid "missing .end or .bend at end of file"
msgstr ""
-#: ecoff.c:5164
+#: ecoff.c:5172
msgid "GP prologue size exceeds field size, using 0 instead"
msgstr ""
@@ -19531,48 +19705,48 @@ msgstr ""
msgid "Unary operator %c ignored because bad operand follows"
msgstr ""
-#: expr.c:1158 expr.c:1179
+#: expr.c:1162 expr.c:1193
msgid "syntax error in .startof. or .sizeof."
msgstr ""
-#: expr.c:1260 expr.c:1618
+#: expr.c:1274 expr.c:1640
#, c-format
msgid "invalid use of operator \"%s\""
msgstr ""
-#: expr.c:1802
+#: expr.c:1824
msgid "missing operand; zero assumed"
msgstr ""
-#: expr.c:1841
+#: expr.c:1863
msgid "left operand is a bignum; integer 0 assumed"
msgstr ""
-#: expr.c:1843
+#: expr.c:1865
msgid "left operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1852
+#: expr.c:1874
msgid "right operand is a bignum; integer 0 assumed"
msgstr ""
-#: expr.c:1854
+#: expr.c:1876
msgid "right operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1925 symbols.c:1395
+#: expr.c:1947 symbols.c:1395
msgid "division by zero"
msgstr ""
-#: expr.c:1931
+#: expr.c:1953
msgid "shift count"
msgstr ""
-#: expr.c:2052
+#: expr.c:2074
msgid "operation combines symbols in different segments"
msgstr ""
-#: expr.c:2373
+#: expr.c:2395
msgid "missing closing '\"'"
msgstr ""
@@ -19629,11 +19803,11 @@ msgstr ""
msgid "Unable to allocate memory for new instructions\n"
msgstr ""
-#: listing.c:253 messages.c:154 messages.c:156 messages.c:159
+#: listing.c:253 messages.c:165 messages.c:167 messages.c:170
msgid "Warning: "
msgstr ""
-#: listing.c:259 messages.c:219 messages.c:221 messages.c:224
+#: listing.c:259 messages.c:230 messages.c:232 messages.c:235
msgid "Error: "
msgstr ""
@@ -19802,7 +19976,7 @@ msgstr ""
#: macro.c:1304
#, c-format
-msgid "Attempt to purge non-existant macro `%s'"
+msgid "Attempt to purge non-existing macro `%s'"
msgstr ""
#: macro.c:1324
@@ -19813,58 +19987,48 @@ msgstr ""
msgid "missing model parameter"
msgstr ""
-#: messages.c:80
+#: messages.c:91
#, c-format
msgid "Assembler messages:\n"
msgstr ""
-#: messages.c:278
+#: messages.c:289
#, c-format
msgid "Fatal error: "
msgstr ""
-#: messages.c:296
+#: messages.c:310
#, c-format
-msgid "Internal error!\n"
+msgid "Internal error (%s).\n"
msgstr ""
-#: messages.c:298
+#: messages.c:312
#, c-format
-msgid "Assertion failure in %s at %s:%d.\n"
-msgstr ""
-
-#: messages.c:301
-#, c-format
-msgid "Assertion failure at %s:%d.\n"
-msgstr ""
-
-#: messages.c:302 messages.c:319
-#, c-format
-msgid "Please report this bug.\n"
+msgid "Internal error in %s at %s:%d.\n"
msgstr ""
#: messages.c:314
#, c-format
-msgid "Internal error, aborting at %s:%d in %s\n"
+msgid "Internal error at %s:%d.\n"
msgstr ""
-#: messages.c:317
+#: messages.c:316
#, c-format
-msgid "Internal error, aborting at %s:%d\n"
+msgid "Please report this bug.\n"
msgstr ""
-#: messages.c:366
+#: messages.c:400
#, c-format
msgid "%s out of domain (%d is not a multiple of %d)"
msgstr ""
-#: messages.c:384
+#: messages.c:418
#, c-format
msgid "%s out of range (%d is not between %d and %d)"
msgstr ""
#. xgettext:c-format.
-#: messages.c:407
+#: messages.c:441
#, c-format
msgid "%s out of range (0x%s is not between 0x%s and 0x%s)"
msgstr ""
@@ -20216,115 +20380,115 @@ msgstr ""
msgid "attempt to store float in section `%s'"
msgstr ""
-#: read.c:5392
+#: read.c:5400
#, c-format
msgid "attempt to store non-empty string in section `%s'"
msgstr ""
-#: read.c:5454
+#: read.c:5462
msgid "strings must be placed into a section"
msgstr ""
-#: read.c:5517
+#: read.c:5525
msgid "expected <nn>"
msgstr ""
#. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:5556 read.c:5642
+#: read.c:5564 read.c:5650
msgid "unterminated string; newline inserted"
msgstr ""
-#: read.c:5656
+#: read.c:5664
msgid "bad escaped character in string"
msgstr ""
-#: read.c:5681
+#: read.c:5689
msgid "expected address expression"
msgstr ""
-#: read.c:5700
+#: read.c:5708
#, c-format
msgid "symbol \"%s\" undefined; zero assumed"
msgstr ""
-#: read.c:5703
+#: read.c:5711
msgid "some symbol undefined; zero assumed"
msgstr ""
-#: read.c:5738
+#: read.c:5746
msgid "this string may not contain '\\0'"
msgstr ""
-#: read.c:5774
+#: read.c:5782
msgid "missing string"
msgstr ""
-#: read.c:5865
+#: read.c:5873
#, c-format
msgid ".incbin count zero, ignoring `%s'"
msgstr ""
-#: read.c:5891
+#: read.c:5899
#, c-format
msgid "file not found: %s"
msgstr ""
-#: read.c:5905
+#: read.c:5913
#, c-format
msgid "seek to end of .incbin file failed `%s'"
msgstr ""
-#: read.c:5916
+#: read.c:5924
#, c-format
msgid "skip (%ld) or count (%ld) invalid for file size (%ld)"
msgstr ""
-#: read.c:5923
+#: read.c:5931
#, c-format
msgid "could not skip to %ld in file `%s'"
msgstr ""
-#: read.c:5932
+#: read.c:5940
#, c-format
msgid "truncated file `%s', %ld of %ld bytes read"
msgstr ""
-#: read.c:6090
+#: read.c:6098
msgid "missing .func"
msgstr ""
-#: read.c:6107
+#: read.c:6115
msgid ".endfunc missing for previous .func"
msgstr ""
-#: read.c:6166
+#: read.c:6174
#, c-format
msgid ".bundle_align_mode alignment too large (maximum %u)"
msgstr ""
-#: read.c:6171
+#: read.c:6179
msgid "cannot change .bundle_align_mode inside .bundle_lock"
msgstr ""
-#: read.c:6185
+#: read.c:6193
msgid ".bundle_lock is meaningless without .bundle_align_mode"
msgstr ""
-#: read.c:6206
+#: read.c:6214
msgid ".bundle_unlock without preceding .bundle_lock"
msgstr ""
-#: read.c:6219
+#: read.c:6227
#, c-format
msgid ".bundle_lock sequence is %u bytes, but bundle size only %u"
msgstr ""
-#: read.c:6317
+#: read.c:6325
#, c-format
msgid "missing closing `%c'"
msgstr ""
-#: read.c:6319
+#: read.c:6327
msgid "stray `\\'"
msgstr ""
@@ -20542,19 +20706,19 @@ msgstr ""
msgid "padding added"
msgstr ""
-#: write.c:2721
+#: write.c:2722
msgid "attempt to move .org backwards"
msgstr ""
-#: write.c:2745
+#: write.c:2746
msgid ".space specifies non-absolute value"
msgstr ""
-#: write.c:2760
+#: write.c:2761
msgid ".space or .fill with negative value, ignored"
msgstr ""
-#: write.c:2831
+#: write.c:2832
#, c-format
msgid ""
"Infinite loop encountered whilst attempting to compute the addresses of "
diff --git a/gas/testsuite/gas/wasm32/allinsn.d b/gas/testsuite/gas/wasm32/allinsn.d
new file mode 100644
index 0000000..06124be
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/allinsn.d
@@ -0,0 +1,198 @@
+#as:
+#objdump: -d
+#name: allinsn
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: 02 40 block\[\]
+ 2: 0c 00 br 0
+ 4: 0d 00 br_if 0
+ 6: 0e 01 01 01 br_table 1 1
+ a: 10 00 call 0x0
+ c: 11 00 00 call_indirect 0 0
+ f: 1a drop
+ 10: 05 else
+ 11: 0b end
+ 12: 8b f32.abs
+ 13: 92 f32.add
+ 14: 8d f32.ceil
+ 15: 43 d0 0f 49 f32.const 3.141590118408203125
+ 19: 40
+ 1a: b2 f32.convert_s_i32
+ 1b: b4 f32.convert_s_i64
+ 1c: b3 f32.convert_u_i32
+ 1d: b5 f32.convert_u_i64
+ 1e: 98 f32.copysign
+ 1f: b6 f32.demote_f64
+ 20: 95 f32.div
+ 21: 5b f32.eq
+ 22: 8e f32.floor
+ 23: 60 f32.ge
+ 24: 5e f32.gt
+ 25: 5f f32.le
+ 26: 2a 00 00 f32.load a=0 0
+ 29: 5d f32.lt
+ 2a: 97 f32.max
+ 2b: 96 f32.min
+ 2c: 94 f32.mul
+ 2d: 5c f32.ne
+ 2e: 90 f32.nearest
+ 2f: 8c f32.neg
+ 30: be f32.reinterpret_i32
+ 31: 91 f32.sqrt
+ 32: 38 00 00 f32.store a=0 0
+ 35: 93 f32.sub
+ 36: 8f f32.trunc
+ 37: 99 f64.abs
+ 38: a0 f64.add
+ 39: 9b f64.ceil
+ 3a: 44 97 5f 4f f64.const 3.14158999999999976088e\+200
+ 3e: fd bc 6a 90
+ 42: 69
+ 43: b7 f64.convert_s_i32
+ 44: b9 f64.convert_s_i64
+ 45: b8 f64.convert_u_i32
+ 46: ba f64.convert_u_i64
+ 47: a6 f64.copysign
+ 48: a3 f64.div
+ 49: 61 f64.eq
+ 4a: 9c f64.floor
+ 4b: 66 f64.ge
+ 4c: 64 f64.gt
+ 4d: 65 f64.le
+ 4e: 2b 00 00 f64.load a=0 0
+ 51: 63 f64.lt
+ 52: a5 f64.max
+ 53: a4 f64.min
+ 54: a2 f64.mul
+ 55: 62 f64.ne
+ 56: 9e f64.nearest
+ 57: 9a f64.neg
+ 58: bb f64.promote_f32
+ 59: bf f64.reinterpret_i64
+ 5a: 9f f64.sqrt
+ 5b: 39 00 00 f64.store a=0 0
+ 5e: a1 f64.sub
+ 5f: 9d f64.trunc
+ 60: 23 00 get_global 0 <\$got>
+ 62: 20 00 get_local 0 <\$dpc>
+ 64: 6a i32.add
+ 65: 71 i32.and
+ 66: 67 i32.clz
+ 67: 41 ef fd b6 i32.const 3735928559
+ 6b: f5 0d
+ 6d: 68 i32.ctz
+ 6e: 6d i32.div_s
+ 6f: 6e i32.div_u
+ 70: 46 i32.eq
+ 71: 45 i32.eqz
+ 72: 4e i32.ge_s
+ 73: 4f i32.ge_u
+ 74: 4a i32.gt_s
+ 75: 4b i32.gt_u
+ 76: 4c i32.le_s
+ 77: 4d i32.le_u
+ 78: 28 00 00 i32.load a=0 0
+ 7b: 2e 00 00 i32.load16_s a=0 0
+ 7e: 2f 00 00 i32.load16_u a=0 0
+ 81: 2c 00 00 i32.load8_s a=0 0
+ 84: 2d 00 00 i32.load8_u a=0 0
+ 87: 48 i32.lt_s
+ 88: 49 i32.lt_u
+ 89: 6c i32.mul
+ 8a: 47 i32.ne
+ 8b: 72 i32.or
+ 8c: 69 i32.popcnt
+ 8d: bc i32.reinterpret_f32
+ 8e: 6f i32.rem_s
+ 8f: 70 i32.rem_u
+ 90: 77 i32.rotl
+ 91: 78 i32.rotr
+ 92: 74 i32.shl
+ 93: 75 i32.shr_s
+ 94: 76 i32.shr_u
+ 95: 36 00 00 i32.store a=0 0
+ 98: 3b 00 00 i32.store16 a=0 0
+ 9b: 3a 00 00 i32.store8 a=0 0
+ 9e: 6b i32.sub
+ 9f: a8 i32.trunc_s_f32
+ a0: aa i32.trunc_s_f64
+ a1: a9 i32.trunc_u_f32
+ a2: ab i32.trunc_u_f64
+ a3: a7 i32.wrap_i64
+ a4: 73 i32.xor
+ a5: 7c i64.add
+ a6: 83 i64.and
+ a7: 79 i64.clz
+ a8: 42 ef fd b6 i64.const -2401053088876216593
+ ac: f5 fd dd ef
+ b0: d6 5e
+ b2: 7a i64.ctz
+ b3: 7f i64.div_s
+ b4: 80 i64.div_u
+ b5: 51 i64.eq
+ b6: 50 i64.eqz
+ b7: ac i64.extend_s_i32
+ b8: ad i64.extend_u_i32
+ b9: 59 i64.ge_s
+ ba: 5a i64.ge_u
+ bb: 55 i64.gt_s
+ bc: 56 i64.gt_u
+ bd: 57 i64.le_s
+ be: 58 i64.le_u
+ bf: 29 00 00 i64.load a=0 0
+ c2: 32 00 00 i64.load16_s a=0 0
+ c5: 33 00 00 i64.load16_u a=0 0
+ c8: 34 00 00 i64.load32_s a=0 0
+ cb: 35 00 00 i64.load32_u a=0 0
+ ce: 30 00 00 i64.load8_s a=0 0
+ d1: 31 00 00 i64.load8_u a=0 0
+ d4: 53 i64.lt_s
+ d5: 54 i64.lt_u
+ d6: 7e i64.mul
+ d7: 52 i64.ne
+ d8: 84 i64.or
+ d9: 7b i64.popcnt
+ da: bd i64.reinterpret_f64
+ db: 81 i64.rem_s
+ dc: 82 i64.rem_u
+ dd: 89 i64.rotl
+ de: 8a i64.rotr
+ df: 86 i64.shl
+ e0: 87 i64.shr_s
+ e1: 88 i64.shr_u
+ e2: 37 00 00 i64.store a=0 0
+ e5: 3d 00 00 i64.store16 a=0 0
+ e8: 3e 00 00 i64.store32 a=0 0
+ eb: 3c 00 00 i64.store8 a=0 0
+ ee: 7d i64.sub
+ ef: ae i64.trunc_s_f32
+ f0: b0 i64.trunc_s_f64
+ f1: af i64.trunc_u_f32
+ f2: b1 i64.trunc_u_f64
+ f3: 85 i64.xor
+ f4: 04 7f if\[i\]
+ f6: 03 7e loop\[l\]
+ f8: 01 nop
+ f9: 0f return
+ fa: 1b select
+ fb: 24 00 set_global 0 <\$got>
+ fd: 21 00 set_local 0 <\$dpc>
+ ff: 60 f32.ge
+ 100: 08 .byte 08
+
+ 101: 7f i64.div_s
+ 102: 7e i64.mul
+ 103: 7c i64.add
+ 104: 7d i64.sub
+ 105: 7d i64.sub
+ 106: 7c i64.add
+ 107: 7e i64.mul
+ 108: 7f i64.div_s
+ 109: 00 unreachable
+ 10a: 22 00 tee_local 0 <\$dpc>
+ ...
diff --git a/gas/testsuite/gas/wasm32/allinsn.s b/gas/testsuite/gas/wasm32/allinsn.s
new file mode 100644
index 0000000..c2714b3
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/allinsn.s
@@ -0,0 +1,171 @@
+ block[]
+ br 0
+ br_if 0
+ br_table 1 1 1
+ call 0
+ call_indirect 0 0
+ drop
+ else
+ end
+ f32.abs
+ f32.add
+ f32.ceil
+ f32.const 3.14159
+ f32.convert_s/i32
+ f32.convert_s/i64
+ f32.convert_u/i32
+ f32.convert_u/i64
+ f32.copysign
+ f32.demote/f64
+ f32.div
+ f32.eq
+ f32.floor
+ f32.ge
+ f32.gt
+ f32.le
+ f32.load a=0 0
+ f32.lt
+ f32.max
+ f32.min
+ f32.mul
+ f32.ne
+ f32.nearest
+ f32.neg
+ f32.reinterpret/i32
+ f32.sqrt
+ f32.store a=0 0
+ f32.sub
+ f32.trunc
+ f64.abs
+ f64.add
+ f64.ceil
+ f64.const 3.14159e200
+ f64.convert_s/i32
+ f64.convert_s/i64
+ f64.convert_u/i32
+ f64.convert_u/i64
+ f64.copysign
+ f64.div
+ f64.eq
+ f64.floor
+ f64.ge
+ f64.gt
+ f64.le
+ f64.load a=0 0
+ f64.lt
+ f64.max
+ f64.min
+ f64.mul
+ f64.ne
+ f64.nearest
+ f64.neg
+ f64.promote/f32
+ f64.reinterpret/i64
+ f64.sqrt
+ f64.store a=0 0
+ f64.sub
+ f64.trunc
+ get_global 0
+ get_local 0
+ i32.add
+ i32.and
+ i32.clz
+ i32.const 0xdeadbeef
+ i32.ctz
+ i32.div_s
+ i32.div_u
+ i32.eq
+ i32.eqz
+ i32.ge_s
+ i32.ge_u
+ i32.gt_s
+ i32.gt_u
+ i32.le_s
+ i32.le_u
+ i32.load a=0 0
+ i32.load16_s a=0 0
+ i32.load16_u a=0 0
+ i32.load8_s a=0 0
+ i32.load8_u a=0 0
+ i32.lt_s
+ i32.lt_u
+ i32.mul
+ i32.ne
+ i32.or
+ i32.popcnt
+ i32.reinterpret/f32
+ i32.rem_s
+ i32.rem_u
+ i32.rotl
+ i32.rotr
+ i32.shl
+ i32.shr_s
+ i32.shr_u
+ i32.store a=0 0
+ i32.store16 a=0 0
+ i32.store8 a=0 0
+ i32.sub
+ i32.trunc_s/f32
+ i32.trunc_s/f64
+ i32.trunc_u/f32
+ i32.trunc_u/f64
+ i32.wrap/i64
+ i32.xor
+ i64.add
+ i64.and
+ i64.clz
+ i64.const 0xdeadbeefdeadbeef
+ i64.ctz
+ i64.div_s
+ i64.div_u
+ i64.eq
+ i64.eqz
+ i64.extend_s/i32
+ i64.extend_u/i32
+ i64.ge_s
+ i64.ge_u
+ i64.gt_s
+ i64.gt_u
+ i64.le_s
+ i64.le_u
+ i64.load a=0 0
+ i64.load16_s a=0 0
+ i64.load16_u a=0 0
+ i64.load32_s a=0 0
+ i64.load32_u a=0 0
+ i64.load8_s a=0 0
+ i64.load8_u a=0 0
+ i64.lt_s
+ i64.lt_u
+ i64.mul
+ i64.ne
+ i64.or
+ i64.popcnt
+ i64.reinterpret/f64
+ i64.rem_s
+ i64.rem_u
+ i64.rotl
+ i64.rotr
+ i64.shl
+ i64.shr_s
+ i64.shr_u
+ i64.store a=0 0
+ i64.store16 a=0 0
+ i64.store32 a=0 0
+ i64.store8 a=0 0
+ i64.sub
+ i64.trunc_s/f32
+ i64.trunc_s/f64
+ i64.trunc_u/f32
+ i64.trunc_u/f64
+ i64.xor
+ if[i]
+ loop[l]
+ nop
+ return
+ select
+ set_global 0
+ set_local 0
+ signature FvildffdliE
+ tee_local 0
+ unreachable
diff --git a/gas/testsuite/gas/wasm32/illegal-10.l b/gas/testsuite/gas/wasm32/illegal-10.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-10.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-10.s b/gas/testsuite/gas/wasm32/illegal-10.s
new file mode 100644
index 0000000..201d3ae
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-10.s
@@ -0,0 +1 @@
+ br_if -2
diff --git a/gas/testsuite/gas/wasm32/illegal-11.l b/gas/testsuite/gas/wasm32/illegal-11.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-11.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-11.s b/gas/testsuite/gas/wasm32/illegal-11.s
new file mode 100644
index 0000000..d08f159
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-11.s
@@ -0,0 +1 @@
+ br_table 0 0 0
diff --git a/gas/testsuite/gas/wasm32/illegal-12.l b/gas/testsuite/gas/wasm32/illegal-12.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-12.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-12.s b/gas/testsuite/gas/wasm32/illegal-12.s
new file mode 100644
index 0000000..58a6a9e
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-12.s
@@ -0,0 +1 @@
+ br_table 0 1 2
diff --git a/gas/testsuite/gas/wasm32/illegal-13.l b/gas/testsuite/gas/wasm32/illegal-13.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-13.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-13.s b/gas/testsuite/gas/wasm32/illegal-13.s
new file mode 100644
index 0000000..1bfe729
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-13.s
@@ -0,0 +1 @@
+ br_table 2 0
diff --git a/gas/testsuite/gas/wasm32/illegal-14.l b/gas/testsuite/gas/wasm32/illegal-14.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-14.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-14.s b/gas/testsuite/gas/wasm32/illegal-14.s
new file mode 100644
index 0000000..ef458f1
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-14.s
@@ -0,0 +1 @@
+ br_table
diff --git a/gas/testsuite/gas/wasm32/illegal-15.l b/gas/testsuite/gas/wasm32/illegal-15.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-15.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-15.s b/gas/testsuite/gas/wasm32/illegal-15.s
new file mode 100644
index 0000000..8a79ff3
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-15.s
@@ -0,0 +1 @@
+ br_table[i]
diff --git a/gas/testsuite/gas/wasm32/illegal-16.l b/gas/testsuite/gas/wasm32/illegal-16.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-16.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-16.s b/gas/testsuite/gas/wasm32/illegal-16.s
new file mode 100644
index 0000000..d32b771
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-16.s
@@ -0,0 +1 @@
+ call 0 1
diff --git a/gas/testsuite/gas/wasm32/illegal-17.l b/gas/testsuite/gas/wasm32/illegal-17.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-17.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-17.s b/gas/testsuite/gas/wasm32/illegal-17.s
new file mode 100644
index 0000000..ec2d050
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-17.s
@@ -0,0 +1 @@
+ call[i] 0
diff --git a/gas/testsuite/gas/wasm32/illegal-18.l b/gas/testsuite/gas/wasm32/illegal-18.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-18.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-18.s b/gas/testsuite/gas/wasm32/illegal-18.s
new file mode 100644
index 0000000..32fbe67
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-18.s
@@ -0,0 +1 @@
+ drop 3
diff --git a/gas/testsuite/gas/wasm32/illegal-19.l b/gas/testsuite/gas/wasm32/illegal-19.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-19.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-19.s b/gas/testsuite/gas/wasm32/illegal-19.s
new file mode 100644
index 0000000..9a80193
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-19.s
@@ -0,0 +1 @@
+ else[i]
diff --git a/gas/testsuite/gas/wasm32/illegal-2.l b/gas/testsuite/gas/wasm32/illegal-2.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-2.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-2.s b/gas/testsuite/gas/wasm32/illegal-2.s
new file mode 100644
index 0000000..584c467
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-2.s
@@ -0,0 +1 @@
+ block[ii]
diff --git a/gas/testsuite/gas/wasm32/illegal-20.l b/gas/testsuite/gas/wasm32/illegal-20.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-20.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-20.s b/gas/testsuite/gas/wasm32/illegal-20.s
new file mode 100644
index 0000000..39d4d4c
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-20.s
@@ -0,0 +1 @@
+ end[i]
diff --git a/gas/testsuite/gas/wasm32/illegal-21.l b/gas/testsuite/gas/wasm32/illegal-21.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-21.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-21.s b/gas/testsuite/gas/wasm32/illegal-21.s
new file mode 100644
index 0000000..d51ac99
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-21.s
@@ -0,0 +1 @@
+ f32.abs 0
diff --git a/gas/testsuite/gas/wasm32/illegal-22.l b/gas/testsuite/gas/wasm32/illegal-22.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-22.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-24.l b/gas/testsuite/gas/wasm32/illegal-24.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-24.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-24.s b/gas/testsuite/gas/wasm32/illegal-24.s
new file mode 100644
index 0000000..db6d201
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-24.s
@@ -0,0 +1 @@
+ f32.demote_f32
diff --git a/gas/testsuite/gas/wasm32/illegal-25.l b/gas/testsuite/gas/wasm32/illegal-25.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-25.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-25.s b/gas/testsuite/gas/wasm32/illegal-25.s
new file mode 100644
index 0000000..b956386
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-25.s
@@ -0,0 +1 @@
+ f32.load 0 a=0
diff --git a/gas/testsuite/gas/wasm32/illegal-3.l b/gas/testsuite/gas/wasm32/illegal-3.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-3.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-3.s b/gas/testsuite/gas/wasm32/illegal-3.s
new file mode 100644
index 0000000..253bc2c
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-3.s
@@ -0,0 +1 @@
+ block[li]
diff --git a/gas/testsuite/gas/wasm32/illegal-4.l b/gas/testsuite/gas/wasm32/illegal-4.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-4.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-4.s b/gas/testsuite/gas/wasm32/illegal-4.s
new file mode 100644
index 0000000..1571475
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-4.s
@@ -0,0 +1 @@
+ block[q]
diff --git a/gas/testsuite/gas/wasm32/illegal-5.l b/gas/testsuite/gas/wasm32/illegal-5.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-5.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-5.s b/gas/testsuite/gas/wasm32/illegal-5.s
new file mode 100644
index 0000000..17cc4bb
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-5.s
@@ -0,0 +1 @@
+ block 3
diff --git a/gas/testsuite/gas/wasm32/illegal-6.l b/gas/testsuite/gas/wasm32/illegal-6.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-6.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-6.s b/gas/testsuite/gas/wasm32/illegal-6.s
new file mode 100644
index 0000000..ff7d1fc
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-6.s
@@ -0,0 +1 @@
+ block[i] 3
diff --git a/gas/testsuite/gas/wasm32/illegal-7.l b/gas/testsuite/gas/wasm32/illegal-7.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-7.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-7.s b/gas/testsuite/gas/wasm32/illegal-7.s
new file mode 100644
index 0000000..f3de667
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-7.s
@@ -0,0 +1 @@
+ br
diff --git a/gas/testsuite/gas/wasm32/illegal-8.l b/gas/testsuite/gas/wasm32/illegal-8.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-8.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-8.s b/gas/testsuite/gas/wasm32/illegal-8.s
new file mode 100644
index 0000000..9282602
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-8.s
@@ -0,0 +1 @@
+ br 0 1
diff --git a/gas/testsuite/gas/wasm32/illegal-9.l b/gas/testsuite/gas/wasm32/illegal-9.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-9.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal-9.s b/gas/testsuite/gas/wasm32/illegal-9.s
new file mode 100644
index 0000000..ef1c2d6
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal-9.s
@@ -0,0 +1 @@
+ br -1
diff --git a/gas/testsuite/gas/wasm32/illegal.l b/gas/testsuite/gas/wasm32/illegal.l
new file mode 100644
index 0000000..4eb2cd8
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal.l
@@ -0,0 +1,3 @@
+#...
+.*Error.*
+#pass
diff --git a/gas/testsuite/gas/wasm32/illegal.s b/gas/testsuite/gas/wasm32/illegal.s
new file mode 100644
index 0000000..dfbdea9
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/illegal.s
@@ -0,0 +1 @@
+ block[ii]
diff --git a/gas/testsuite/gas/wasm32/reloc.d b/gas/testsuite/gas/wasm32/reloc.d
new file mode 100644
index 0000000..9317e6e
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/reloc.d
@@ -0,0 +1,18 @@
+#as:
+#objdump: -dr
+#name: reloc
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: 41 80 80 80 i32.const 0
+ 4: 80 00
+ 1: R_ASMJS_LEB128_PLT f
+ 6: 41 80 80 80 i32.const 0
+ a: 80 00
+ 7: R_ASMJS_LEB128_GOT x
+ c: 41 80 80 80 i32.const 0
+ 10: 80 00
+ d: R_ASMJS_LEB128_GOT_CODE f
diff --git a/gas/testsuite/gas/wasm32/reloc.s b/gas/testsuite/gas/wasm32/reloc.s
new file mode 100644
index 0000000..8cdfd58
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/reloc.s
@@ -0,0 +1,3 @@
+ i32.const f@plt
+ i32.const x@got
+ i32.const f@gotcode
diff --git a/gas/testsuite/gas/wasm32/wasm32.exp b/gas/testsuite/gas/wasm32/wasm32.exp
new file mode 100644
index 0000000..e6d1819
--- /dev/null
+++ b/gas/testsuite/gas/wasm32/wasm32.exp
@@ -0,0 +1,58 @@
+# Expect script for wasm32 tests.
+# Copyright (C) 2017 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+# wasm32 assembler testsuite.
+
+if [istarget wasm32-*-*] {
+ # no disassembler support yet
+ setup_xfail "wasm32-*-*"
+ run_dump_test "allinsn"
+ # no GOT/PLT relocs yet.
+ setup_xfail "wasm32-*-*"
+ run_dump_test "reloc"
+ run_list_test "illegal"
+ run_list_test "illegal-2"
+ run_list_test "illegal-3"
+ run_list_test "illegal-4"
+ run_list_test "illegal-5"
+ run_list_test "illegal-6"
+ run_list_test "illegal-7"
+ run_list_test "illegal-8"
+ run_list_test "illegal-9"
+ run_list_test "illegal-10"
+ setup_xfail "wasm32-*-*"
+ run_list_test "illegal-11"
+ setup_xfail "wasm32-*-*"
+ run_list_test "illegal-12"
+ setup_xfail "wasm32-*-*"
+ run_list_test "illegal-13"
+ run_list_test "illegal-14"
+ run_list_test "illegal-15"
+ run_list_test "illegal-16"
+ run_list_test "illegal-17"
+ run_list_test "illegal-18"
+ run_list_test "illegal-19"
+ run_list_test "illegal-20"
+ run_list_test "illegal-21"
+ run_list_test "illegal-22"
+ # illegal-23 has become legal
+ run_list_test "illegal-24"
+ run_list_test "illegal-25"
+}
diff --git a/include/ChangeLog b/include/ChangeLog
index 7695774..7b88042 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-30 Pip Cet <pipcet@gmail.com>
+
+ * opcode/wasm.h: New file to support wasm32 architecture.
+ * elf/wasm32.h: Add R_WASM32_32 relocation.
+
2017-03-29 Alan Modra <amodra@gmail.com>
* opcode/ppc.h (PPC_OPCODE_RAW): Define.
diff --git a/include/elf/wasm32.h b/include/elf/wasm32.h
index 38e6c2e..45ea9a1 100644
--- a/include/elf/wasm32.h
+++ b/include/elf/wasm32.h
@@ -23,6 +23,8 @@
/* Relocation types. */
START_RELOC_NUMBERS (elf_wasm32_reloc_type)
+ RELOC_NUMBER (R_WASM32_NONE, 0)
+ RELOC_NUMBER (R_WASM32_32, 1)
END_RELOC_NUMBERS (R_WASM32_max = 1)
#endif /* _ELF_WASM32_H */
diff --git a/include/opcode/wasm.h b/include/opcode/wasm.h
new file mode 100644
index 0000000..5fa8a10
--- /dev/null
+++ b/include/opcode/wasm.h
@@ -0,0 +1,226 @@
+/* WebAssembly assembler/disassembler support.
+ Copyright (C) 2017 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU assembler.
+
+ GAS is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GAS is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING3. If not, write to the Free
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+/* WebAssembly opcodes. Each opcode invokes the WASM_OPCODE macro
+ with the following arguments:
+
+ 1. Code byte.
+ 2. Mnemonic.
+ 3. Input type.
+ 4. Output type.
+ 5. Opcode class.
+ 6. Signedness information.
+*/
+
+WASM_OPCODE (0x00, "unreachable", void, void, special, agnostic)
+WASM_OPCODE (0x01, "nop", void, void, special, agnostic)
+WASM_OPCODE (0x02, "block", void, void, typed, agnostic)
+WASM_OPCODE (0x03, "loop", void, void, typed, agnostic)
+WASM_OPCODE (0x04, "if", void, void, typed, agnostic)
+WASM_OPCODE (0x05, "else", void, void, special, agnostic)
+WASM_OPCODE (0x0b, "end", void, void, special, agnostic)
+WASM_OPCODE (0x0c, "br", void, void, break, agnostic)
+WASM_OPCODE (0x0d, "br_if", void, void, break_if, agnostic)
+WASM_OPCODE (0x0e, "br_table", void, void, break_table, agnostic)
+WASM_OPCODE (0x0f, "return", void, void, return, agnostic)
+
+WASM_OPCODE (0x10, "call", any, any, call, agnostic)
+WASM_OPCODE (0x11, "call_indirect", any, any, call_indirect, agnostic)
+
+WASM_OPCODE (0x1a, "drop", any, any, drop, agnostic)
+WASM_OPCODE (0x1b, "select", any, any, select, agnostic)
+
+WASM_OPCODE (0x20, "get_local", any, any, get_local, agnostic)
+WASM_OPCODE (0x21, "set_local", any, any, set_local, agnostic)
+WASM_OPCODE (0x22, "tee_local", any, any, tee_local, agnostic)
+WASM_OPCODE (0x23, "get_global", any, any, get_local, agnostic)
+WASM_OPCODE (0x24, "set_global", any, any, set_local, agnostic)
+
+WASM_OPCODE (0x28, "i32.load", i32, i32, load, agnostic)
+WASM_OPCODE (0x29, "i64.load", i32, i64, load, agnostic)
+WASM_OPCODE (0x2a, "f32.load", i32, f32, load, agnostic)
+WASM_OPCODE (0x2b, "f64.load", i32, f64, load, agnostic)
+WASM_OPCODE (0x2c, "i32.load8_s", i32, i32, load, signed)
+WASM_OPCODE (0x2d, "i32.load8_u", i32, i32, load, unsigned)
+WASM_OPCODE (0x2e, "i32.load16_s", i32, i32, load, signed)
+WASM_OPCODE (0x2f, "i32.load16_u", i32, i32, load, unsigned)
+WASM_OPCODE (0x30, "i64.load8_s", i32, i64, load, signed)
+WASM_OPCODE (0x31, "i64.load8_u", i32, i64, load, unsigned)
+WASM_OPCODE (0x32, "i64.load16_s", i32, i64, load, signed)
+WASM_OPCODE (0x33, "i64.load16_u", i32, i64, load, unsigned)
+WASM_OPCODE (0x34, "i64.load32_s", i32, i64, load, signed)
+WASM_OPCODE (0x35, "i64.load32_u", i32, i64, load, unsigned)
+WASM_OPCODE (0x36, "i32.store", i32, void, store, agnostic)
+WASM_OPCODE (0x37, "i64.store", i64, void, store, agnostic)
+WASM_OPCODE (0x38, "f32.store", f32, void, store, agnostic)
+WASM_OPCODE (0x39, "f64.store", f64, void, store, agnostic)
+WASM_OPCODE (0x3a, "i32.store8", i32, void, store, agnostic)
+WASM_OPCODE (0x3b, "i32.store16", i32, void, store, agnostic)
+WASM_OPCODE (0x3c, "i64.store8", i64, void, store, agnostic)
+WASM_OPCODE (0x3d, "i64.store16", i64, void, store, agnostic)
+WASM_OPCODE (0x3e, "i64.store32", i64, void, store, agnostic)
+
+WASM_OPCODE (0x3f, "current_memory", void, i32, current_memory, agnostic)
+WASM_OPCODE (0x40, "grow_memory", void, i32, grow_memory, agnostic)
+
+WASM_OPCODE (0x41, "i32.const", i32, i32, constant_i32, agnostic)
+WASM_OPCODE (0x42, "i64.const", i64, i64, constant_i64, agnostic)
+WASM_OPCODE (0x43, "f32.const", f32, f32, constant_f32, agnostic)
+WASM_OPCODE (0x44, "f64.const", f64, f64, constant_f64, agnostic)
+
+WASM_OPCODE (0x45, "i32.eqz", i32, i32, eqz, agnostic)
+WASM_OPCODE (0x46, "i32.eq", i32, i32, relational, agnostic)
+WASM_OPCODE (0x47, "i32.ne", i32, i32, relational, agnostic)
+WASM_OPCODE (0x48, "i32.lt_s", i32, i32, relational, signed)
+WASM_OPCODE (0x49, "i32.lt_u", i32, i32, relational, unsigned)
+WASM_OPCODE (0x4a, "i32.gt_s", i32, i32, relational, signed)
+WASM_OPCODE (0x4b, "i32.gt_u", i32, i32, relational, unsigned)
+WASM_OPCODE (0x4c, "i32.le_s", i32, i32, relational, signed)
+WASM_OPCODE (0x4d, "i32.le_u", i32, i32, relational, unsigned)
+WASM_OPCODE (0x4e, "i32.ge_s", i32, i32, relational, signed)
+WASM_OPCODE (0x4f, "i32.ge_u", i32, i32, relational, unsigned)
+
+WASM_OPCODE (0x50, "i64.eqz", i64, i32, eqz, agnostic)
+WASM_OPCODE (0x51, "i64.eq", i64, i32, relational, agnostic)
+WASM_OPCODE (0x52, "i64.ne", i64, i32, relational, agnostic)
+WASM_OPCODE (0x53, "i64.lt_s", i64, i32, relational, signed)
+WASM_OPCODE (0x54, "i64.lt_u", i64, i32, relational, unsigned)
+WASM_OPCODE (0x55, "i64.gt_s", i64, i32, relational, signed)
+WASM_OPCODE (0x56, "i64.gt_u", i64, i32, relational, unsigned)
+WASM_OPCODE (0x57, "i64.le_s", i64, i32, relational, signed)
+WASM_OPCODE (0x58, "i64.le_u", i64, i32, relational, unsigned)
+WASM_OPCODE (0x59, "i64.ge_s", i64, i32, relational, signed)
+WASM_OPCODE (0x5a, "i64.ge_u", i64, i32, relational, unsigned)
+
+WASM_OPCODE (0x5b, "f32.eq", f32, i32, relational, floating)
+WASM_OPCODE (0x5c, "f32.ne", f32, i32, relational, floating)
+WASM_OPCODE (0x5d, "f32.lt", f32, i32, relational, floating)
+WASM_OPCODE (0x5e, "f32.gt", f32, i32, relational, floating)
+WASM_OPCODE (0x5f, "f32.le", f32, i32, relational, floating)
+WASM_OPCODE (0x60, "f32.ge", f32, i32, relational, floating)
+
+WASM_OPCODE (0x61, "f64.eq", f64, i32, relational, floating)
+WASM_OPCODE (0x62, "f64.ne", f64, i32, relational, floating)
+WASM_OPCODE (0x63, "f64.lt", f64, i32, relational, floating)
+WASM_OPCODE (0x64, "f64.gt", f64, i32, relational, floating)
+WASM_OPCODE (0x65, "f64.le", f64, i32, relational, floating)
+WASM_OPCODE (0x66, "f64.ge", f64, i32, relational, floating)
+
+WASM_OPCODE (0x67, "i32.clz", i32, i32, unary, agnostic)
+WASM_OPCODE (0x68, "i32.ctz", i32, i32, unary, agnostic)
+WASM_OPCODE (0x69, "i32.popcnt", i32, i32, unary, agnostic)
+
+WASM_OPCODE (0x6a, "i32.add", i32, i32, binary, agnostic)
+WASM_OPCODE (0x6b, "i32.sub", i32, i32, binary, agnostic)
+WASM_OPCODE (0x6c, "i32.mul", i32, i32, binary, agnostic)
+WASM_OPCODE (0x6d, "i32.div_s", i32, i32, binary, signed)
+WASM_OPCODE (0x6e, "i32.div_u", i32, i32, binary, unsigned)
+WASM_OPCODE (0x6f, "i32.rem_s", i32, i32, binary, signed)
+WASM_OPCODE (0x70, "i32.rem_u", i32, i32, binary, unsigned)
+WASM_OPCODE (0x71, "i32.and", i32, i32, binary, agnostic)
+WASM_OPCODE (0x72, "i32.or", i32, i32, binary, agnostic)
+WASM_OPCODE (0x73, "i32.xor", i32, i32, binary, agnostic)
+WASM_OPCODE (0x74, "i32.shl", i32, i32, binary, agnostic)
+WASM_OPCODE (0x75, "i32.shr_s", i32, i32, binary, signed)
+WASM_OPCODE (0x76, "i32.shr_u", i32, i32, binary, unsigned)
+WASM_OPCODE (0x77, "i32.rotl", i32, i32, binary, agnostic)
+WASM_OPCODE (0x78, "i32.rotr", i32, i32, binary, agnostic)
+
+WASM_OPCODE (0x79, "i64.clz", i64, i64, unary, agnostic)
+WASM_OPCODE (0x7a, "i64.ctz", i64, i64, unary, agnostic)
+WASM_OPCODE (0x7b, "i64.popcnt", i64, i64, unary, agnostic)
+
+WASM_OPCODE (0x7c, "i64.add", i64, i64, binary, agnostic)
+WASM_OPCODE (0x7d, "i64.sub", i64, i64, binary, agnostic)
+WASM_OPCODE (0x7e, "i64.mul", i64, i64, binary, agnostic)
+WASM_OPCODE (0x7f, "i64.div_s", i64, i64, binary, signed)
+WASM_OPCODE (0x80, "i64.div_u", i64, i64, binary, unsigned)
+WASM_OPCODE (0x81, "i64.rem_s", i64, i64, binary, signed)
+WASM_OPCODE (0x82, "i64.rem_u", i64, i64, binary, unsigned)
+WASM_OPCODE (0x83, "i64.and", i64, i64, binary, agnostic)
+WASM_OPCODE (0x84, "i64.or", i64, i64, binary, agnostic)
+WASM_OPCODE (0x85, "i64.xor", i64, i64, binary, agnostic)
+WASM_OPCODE (0x86, "i64.shl", i64, i64, binary, agnostic)
+WASM_OPCODE (0x87, "i64.shr_s", i64, i64, binary, signed)
+WASM_OPCODE (0x88, "i64.shr_u", i64, i64, binary, unsigned)
+WASM_OPCODE (0x89, "i64.rotl", i64, i64, binary, agnostic)
+WASM_OPCODE (0x8a, "i64.rotr", i64, i64, binary, agnostic)
+
+WASM_OPCODE (0x8b, "f32.abs", f32, f32, unary, floating)
+WASM_OPCODE (0x8c, "f32.neg", f32, f32, unary, floating)
+WASM_OPCODE (0x8d, "f32.ceil", f32, f32, unary, floating)
+WASM_OPCODE (0x8e, "f32.floor", f32, f32, unary, floating)
+WASM_OPCODE (0x8f, "f32.trunc", f32, f32, unary, floating)
+WASM_OPCODE (0x90, "f32.nearest", f32, f32, unary, floating)
+WASM_OPCODE (0x91, "f32.sqrt", f32, f32, unary, floating)
+WASM_OPCODE (0x92, "f32.add", f32, f32, binary, floating)
+WASM_OPCODE (0x93, "f32.sub", f32, f32, binary, floating)
+WASM_OPCODE (0x94, "f32.mul", f32, f32, binary, floating)
+WASM_OPCODE (0x95, "f32.div", f32, f32, binary, floating)
+WASM_OPCODE (0x96, "f32.min", f32, f32, binary, floating)
+WASM_OPCODE (0x97, "f32.max", f32, f32, binary, floating)
+WASM_OPCODE (0x98, "f32.copysign", f32, f32, binary, floating)
+
+WASM_OPCODE (0x99, "f64.abs", f64, f64, unary, floating)
+WASM_OPCODE (0x9a, "f64.neg", f64, f64, unary, floating)
+WASM_OPCODE (0x9b, "f64.ceil", f64, f64, unary, floating)
+WASM_OPCODE (0x9c, "f64.floor", f64, f64, unary, floating)
+WASM_OPCODE (0x9d, "f64.trunc", f64, f64, unary, floating)
+WASM_OPCODE (0x9e, "f64.nearest", f64, f64, unary, floating)
+WASM_OPCODE (0x9f, "f64.sqrt", f64, f64, unary, floating)
+WASM_OPCODE (0xa0, "f64.add", f64, f64, binary, floating)
+WASM_OPCODE (0xa1, "f64.sub", f64, f64, binary, floating)
+WASM_OPCODE (0xa2, "f64.mul", f64, f64, binary, floating)
+WASM_OPCODE (0xa3, "f64.div", f64, f64, binary, floating)
+WASM_OPCODE (0xa4, "f64.min", f64, f64, binary, floating)
+WASM_OPCODE (0xa5, "f64.max", f64, f64, binary, floating)
+WASM_OPCODE (0xa6, "f64.copysign", f64, f64, binary, floating)
+
+WASM_OPCODE (0xa7, "i32.wrap/i64", i64, i32, conv, agnostic)
+WASM_OPCODE (0xa8, "i32.trunc_s/f32", f32, i32, conv, signed)
+WASM_OPCODE (0xa9, "i32.trunc_u/f32", f32, i32, conv, unsigned)
+WASM_OPCODE (0xaa, "i32.trunc_s/f64", f64, i32, conv, signed)
+WASM_OPCODE (0xab, "i32.trunc_u/f64", f64, i32, conv, unsigned)
+WASM_OPCODE (0xac, "i64.extend_s/i32", i32, i64, conv, signed)
+WASM_OPCODE (0xad, "i64.extend_u/i32", i32, i64, conv, unsigned)
+WASM_OPCODE (0xae, "i64.trunc_s/f32", f32, i64, conv, signed)
+WASM_OPCODE (0xaf, "i64.trunc_u/f32", f32, i64, conv, unsigned)
+WASM_OPCODE (0xb0, "i64.trunc_s/f64", f64, i64, conv, signed)
+WASM_OPCODE (0xb1, "i64.trunc_u/f64", f64, i64, conv, unsigned)
+
+WASM_OPCODE (0xb2, "f32.convert_s/i32", i32, f32, conv, signed)
+WASM_OPCODE (0xb3, "f32.convert_u/i32", i32, f32, conv, unsigned)
+WASM_OPCODE (0xb4, "f32.convert_s/i64", i64, f32, conv, signed)
+WASM_OPCODE (0xb5, "f32.convert_u/i64", i64, f32, conv, unsigned)
+WASM_OPCODE (0xb6, "f32.demote/f64", f64, f32, conv, floating)
+WASM_OPCODE (0xb7, "f64.convert_s/i32", i32, f64, conv, signed)
+WASM_OPCODE (0xb8, "f64.convert_u/i32", i32, f64, conv, unsigned)
+WASM_OPCODE (0xb9, "f64.convert_s/i64", i64, f64, conv, signed)
+WASM_OPCODE (0xba, "f64.convert_u/i64", i64, f64, conv, unsigned)
+WASM_OPCODE (0xbb, "f64.promote/f32", f32, f64, conv, floating)
+
+WASM_OPCODE (0xbc, "i32.reinterpret/f32", f32, i32, conv, agnostic)
+WASM_OPCODE (0xbd, "i64.reinterpret/f64", f64, i64, conv, agnostic)
+WASM_OPCODE (0xbe, "f32.reinterpret/i32", i32, f32, conv, agnostic)
+WASM_OPCODE (0xbf, "f64.reinterpret/i64", i64, f64, conv, agnostic)
+
+/* This isn't, strictly speaking, an opcode, but is treated as such by
+ the assembler. */
+WASM_OPCODE (0x60, "signature", void, void, signature, agnostic)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index c6c2cee..07262aa 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2017-03-30 Pip Cet <pipcet@gmail.com>
+
+ * configure.ac: Add (empty) bfd_wasm32_arch target.
+ * configure: Regenerate
+ * po/opcodes.pot: Regenerate.
+
2017-03-29 Sheldon Lobo <sheldon.lobo@oracle.com>
Add support for missing SPARC ASIs from UA2005, UA2007, OSA2011, &
diff --git a/opcodes/configure b/opcodes/configure
index d9e8aff..ea26b91 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -12724,6 +12724,7 @@ if test x${all_targets} = xfalse ; then
bfd_vax_arch) ta="$ta vax-dis.lo" ;;
bfd_visium_arch) ta="$ta visium-dis.lo visium-opc.lo" ;;
bfd_w65_arch) ta="$ta w65-dis.lo" ;;
+ bfd_wasm32_arch) ;;
bfd_we32k_arch) ;;
bfd_xc16x_arch) ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
bfd_xgate_arch) ta="$ta xgate-dis.lo xgate-opc.lo" ;;
diff --git a/opcodes/configure.ac b/opcodes/configure.ac
index 617a86c..ca98292 100644
--- a/opcodes/configure.ac
+++ b/opcodes/configure.ac
@@ -348,6 +348,7 @@ if test x${all_targets} = xfalse ; then
bfd_vax_arch) ta="$ta vax-dis.lo" ;;
bfd_visium_arch) ta="$ta visium-dis.lo visium-opc.lo" ;;
bfd_w65_arch) ta="$ta w65-dis.lo" ;;
+ bfd_wasm32_arch) ;;
bfd_we32k_arch) ;;
bfd_xc16x_arch) ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
bfd_xgate_arch) ta="$ta xgate-dis.lo xgate-opc.lo" ;;
diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot
index e64a678..b62fc95 100644
--- a/opcodes/po/opcodes.pot
+++ b/opcodes/po/opcodes.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2017-02-08 13:38-0600\n"
+"POT-Creation-Date: 2017-03-29 17:08+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,12 +18,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:769 arm-dis.c:6158
+#: aarch64-dis.c:81 arc-dis.c:769 arm-dis.c:6128
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr ""
-#: aarch64-dis.c:3200
+#: aarch64-dis.c:3217
#, c-format
msgid ""
"\n"
@@ -31,225 +31,233 @@ msgid ""
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
-#: aarch64-dis.c:3204
+#: aarch64-dis.c:3221
#, c-format
msgid ""
"\n"
" no-aliases Don't print instruction aliases.\n"
msgstr ""
-#: aarch64-dis.c:3207
+#: aarch64-dis.c:3224
#, c-format
msgid ""
"\n"
" aliases Do print instruction aliases.\n"
msgstr ""
-#: aarch64-dis.c:3211
+#: aarch64-dis.c:3228
#, c-format
msgid ""
"\n"
" debug_dump Temp switch for debug trace.\n"
msgstr ""
-#: aarch64-dis.c:3215 mips-dis.c:2477 mips-dis.c:2485 mips-dis.c:2487
+#: aarch64-dis.c:3232 mips-dis.c:2477 mips-dis.c:2485 mips-dis.c:2487
#: riscv-dis.c:506
#, c-format
msgid "\n"
msgstr ""
-#: aarch64-opc.c:1303
+#: aarch64-opc.c:1306
msgid "immediate value"
msgstr ""
-#: aarch64-opc.c:1313
+#: aarch64-opc.c:1316
msgid "immediate offset"
msgstr ""
-#: aarch64-opc.c:1323
+#: aarch64-opc.c:1326
msgid "register number"
msgstr ""
-#: aarch64-opc.c:1333
+#: aarch64-opc.c:1336
msgid "register element index"
msgstr ""
-#: aarch64-opc.c:1343
+#: aarch64-opc.c:1346
msgid "shift amount"
msgstr ""
-#: aarch64-opc.c:1355
+#: aarch64-opc.c:1358
msgid "multiplier"
msgstr ""
-#: aarch64-opc.c:1428
+#: aarch64-opc.c:1431
msgid "reg pair must start from even reg"
msgstr ""
-#: aarch64-opc.c:1434
+#: aarch64-opc.c:1437
msgid "reg pair must be contiguous"
msgstr ""
-#: aarch64-opc.c:1448
+#: aarch64-opc.c:1451
msgid "extraneous register"
msgstr ""
-#: aarch64-opc.c:1454
+#: aarch64-opc.c:1457
msgid "missing register"
msgstr ""
-#: aarch64-opc.c:1465
+#: aarch64-opc.c:1468
msgid "stack pointer register expected"
msgstr ""
+#: aarch64-opc.c:1491
+msgid "z0-z15 expected"
+msgstr ""
+
#: aarch64-opc.c:1492
+msgid "z0-z7 expected"
+msgstr ""
+
+#: aarch64-opc.c:1518
msgid "invalid register list"
msgstr ""
-#: aarch64-opc.c:1506
+#: aarch64-opc.c:1532
msgid "p0-p7 expected"
msgstr ""
-#: aarch64-opc.c:1532 aarch64-opc.c:1540
+#: aarch64-opc.c:1558 aarch64-opc.c:1566
msgid "unexpected address writeback"
msgstr ""
-#: aarch64-opc.c:1551
+#: aarch64-opc.c:1577
msgid "address writeback expected"
msgstr ""
-#: aarch64-opc.c:1597
+#: aarch64-opc.c:1623
msgid "negative or unaligned offset expected"
msgstr ""
-#: aarch64-opc.c:1624
+#: aarch64-opc.c:1650
msgid "invalid register offset"
msgstr ""
-#: aarch64-opc.c:1646
+#: aarch64-opc.c:1672
msgid "invalid post-increment amount"
msgstr ""
-#: aarch64-opc.c:1662 aarch64-opc.c:2132
+#: aarch64-opc.c:1688 aarch64-opc.c:2165
msgid "invalid shift amount"
msgstr ""
-#: aarch64-opc.c:1675
+#: aarch64-opc.c:1701
msgid "invalid extend/shift operator"
msgstr ""
-#: aarch64-opc.c:1721 aarch64-opc.c:1955 aarch64-opc.c:1990 aarch64-opc.c:2009
-#: aarch64-opc.c:2017 aarch64-opc.c:2088 aarch64-opc.c:2262 aarch64-opc.c:2362
-#: aarch64-opc.c:2375
+#: aarch64-opc.c:1747 aarch64-opc.c:1986 aarch64-opc.c:2021 aarch64-opc.c:2040
+#: aarch64-opc.c:2048 aarch64-opc.c:2119 aarch64-opc.c:2295 aarch64-opc.c:2395
+#: aarch64-opc.c:2408
msgid "immediate out of range"
msgstr ""
-#: aarch64-opc.c:1743 aarch64-opc.c:1785 aarch64-opc.c:1829 aarch64-opc.c:1863
+#: aarch64-opc.c:1769 aarch64-opc.c:1811 aarch64-opc.c:1860 aarch64-opc.c:1894
msgid "invalid addressing mode"
msgstr ""
-#: aarch64-opc.c:1821
+#: aarch64-opc.c:1852
msgid "index register xzr is not allowed"
msgstr ""
-#: aarch64-opc.c:1943 aarch64-opc.c:1965 aarch64-opc.c:2165 aarch64-opc.c:2173
-#: aarch64-opc.c:2239 aarch64-opc.c:2268
+#: aarch64-opc.c:1974 aarch64-opc.c:1996 aarch64-opc.c:2198 aarch64-opc.c:2206
+#: aarch64-opc.c:2272 aarch64-opc.c:2301
msgid "invalid shift operator"
msgstr ""
-#: aarch64-opc.c:1949
+#: aarch64-opc.c:1980
msgid "shift amount must be 0 or 12"
msgstr ""
-#: aarch64-opc.c:1972
+#: aarch64-opc.c:2003
msgid "shift amount must be a multiple of 16"
msgstr ""
-#: aarch64-opc.c:1984
+#: aarch64-opc.c:2015
msgid "negative immediate value not allowed"
msgstr ""
-#: aarch64-opc.c:2099
+#: aarch64-opc.c:2130
msgid "immediate zero expected"
msgstr ""
-#: aarch64-opc.c:2112
+#: aarch64-opc.c:2144
msgid "rotate expected to be 0, 90, 180 or 270"
msgstr ""
-#: aarch64-opc.c:2121
+#: aarch64-opc.c:2154
msgid "rotate expected to be 90 or 270"
msgstr ""
-#: aarch64-opc.c:2181
+#: aarch64-opc.c:2214
msgid "shift is not permitted"
msgstr ""
-#: aarch64-opc.c:2206
+#: aarch64-opc.c:2239
msgid "invalid value for immediate"
msgstr ""
-#: aarch64-opc.c:2231
+#: aarch64-opc.c:2264
msgid "shift amount must be 0 or 16"
msgstr ""
-#: aarch64-opc.c:2252
+#: aarch64-opc.c:2285
msgid "floating-point immediate expected"
msgstr ""
-#: aarch64-opc.c:2286
+#: aarch64-opc.c:2319
msgid "no shift amount allowed for 8-bit constants"
msgstr ""
-#: aarch64-opc.c:2296
+#: aarch64-opc.c:2329
msgid "shift amount must be 0 or 8"
msgstr ""
-#: aarch64-opc.c:2309
+#: aarch64-opc.c:2342
msgid "immediate too big for element size"
msgstr ""
-#: aarch64-opc.c:2316
+#: aarch64-opc.c:2349
msgid "invalid arithmetic immediate"
msgstr ""
-#: aarch64-opc.c:2330
+#: aarch64-opc.c:2363
msgid "floating-point value must be 0.5 or 1.0"
msgstr ""
-#: aarch64-opc.c:2340
+#: aarch64-opc.c:2373
msgid "floating-point value must be 0.5 or 2.0"
msgstr ""
-#: aarch64-opc.c:2350
+#: aarch64-opc.c:2383
msgid "floating-point value must be 0.0 or 1.0"
msgstr ""
-#: aarch64-opc.c:2381
+#: aarch64-opc.c:2414
msgid "invalid replicated MOV immediate"
msgstr ""
-#: aarch64-opc.c:2495
+#: aarch64-opc.c:2528
msgid "extend operator expected"
msgstr ""
-#: aarch64-opc.c:2508
+#: aarch64-opc.c:2541
msgid "missing extend operator"
msgstr ""
-#: aarch64-opc.c:2514
+#: aarch64-opc.c:2547
msgid "'LSL' operator not allowed"
msgstr ""
-#: aarch64-opc.c:2535
+#: aarch64-opc.c:2568
msgid "W register expected"
msgstr ""
-#: aarch64-opc.c:2546
+#: aarch64-opc.c:2579
msgid "shift operator expected"
msgstr ""
-#: aarch64-opc.c:2553
+#: aarch64-opc.c:2586
msgid "'ROR' operator not allowed"
msgstr ""
@@ -312,190 +320,205 @@ msgstr ""
msgid " fpud Recognize double precision FPU instructions.\n"
msgstr ""
-#: arc-opc.c:40 arc-opc.c:60 arc-opc.c:86
+#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
msgid "LP_COUNT register cannot be used as destination register"
msgstr ""
-#: arc-opc.c:84
+#: arc-opc.c:88
msgid "cannot use odd number destination register"
msgstr ""
-#: arc-opc.c:97
+#: arc-opc.c:101
msgid "cannot use odd number source register"
msgstr ""
-#: arc-opc.c:110
+#: arc-opc.c:114
msgid "operand is not zero"
msgstr ""
-#: arc-opc.c:170
+#: arc-opc.c:173
msgid "Register R30 is a limm indicator"
msgstr ""
-#: arc-opc.c:189
+#: arc-opc.c:192
msgid "Register must be R0"
msgstr ""
-#: arc-opc.c:207
+#: arc-opc.c:210
msgid "Register must be R1"
msgstr ""
-#: arc-opc.c:224
+#: arc-opc.c:227
msgid "Register must be R2"
msgstr ""
-#: arc-opc.c:241
+#: arc-opc.c:244
msgid "Register must be R3"
msgstr ""
-#: arc-opc.c:258
+#: arc-opc.c:261
msgid "Register must be SP"
msgstr ""
-#: arc-opc.c:275
+#: arc-opc.c:278
msgid "Register must be GP"
msgstr ""
-#: arc-opc.c:292
+#: arc-opc.c:295
msgid "Register must be PCL"
msgstr ""
-#: arc-opc.c:309
+#: arc-opc.c:312
msgid "Register must be BLINK"
msgstr ""
-#: arc-opc.c:326
+#: arc-opc.c:329
msgid "Register must be ILINK1"
msgstr ""
-#: arc-opc.c:343
+#: arc-opc.c:346
msgid "Register must be ILINK2"
msgstr ""
#. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:374 arc-opc.c:411 arc-opc.c:448 arc-opc.c:692
+#: arc-opc.c:377 arc-opc.c:415 arc-opc.c:453 arc-opc.c:703
msgid "Register must be either r0-r3 or r12-r15"
msgstr ""
-#: arc-opc.c:498
+#: arc-opc.c:504
msgid "Accepted values are from -1 to 6"
msgstr ""
-#: arc-opc.c:526
+#: arc-opc.c:533
msgid "First register of the range should be r13"
msgstr ""
-#: arc-opc.c:531
+#: arc-opc.c:535
msgid "Last register of the range doesn't fit"
msgstr ""
-#: arc-opc.c:552
+#: arc-opc.c:555
msgid "Invalid register number, should be fp"
msgstr ""
-#: arc-opc.c:574
+#: arc-opc.c:577
msgid "Invalid register number, should be blink"
msgstr ""
-#: arc-opc.c:596
+#: arc-opc.c:599
msgid "Invalid register number, should be pcl"
msgstr ""
-#: arc-opc.c:740
+#: arc-opc.c:751
msgid "Invalid size, should be 1, 2, 4, or 8"
msgstr ""
-#: arc-opc.c:785
+#: arc-opc.c:796
msgid "invalid immediate, must be 1, 2, or 4"
msgstr ""
-#: arc-opc.c:823
+#: arc-opc.c:835
msgid "invalid value for CMEM ld/st immediate"
msgstr ""
-#: arc-opc.c:850
+#: arc-opc.c:862
+msgid "Invalid position, should be 0, 16, 32, 48 or 64."
+msgstr ""
+
+#: arc-opc.c:896
+msgid "Invalid position, should be 16, 32, 64 or 128."
+msgstr ""
+
+#: arc-opc.c:918
+msgid "Invalid size value must be on range 1-64."
+msgstr ""
+
+#: arc-opc.c:949
msgid "Invalid position, should be 0, 8, 16, or 24"
msgstr ""
-#: arc-opc.c:875
+#: arc-opc.c:974
msgid "Invalid size, value must be "
msgstr ""
-#: arc-opc.c:949
+#: arc-opc.c:1048
msgid "value out of range 1 - 256"
msgstr ""
-#: arc-opc.c:958
+#: arc-opc.c:1057
msgid "value must be power of 2"
msgstr ""
-#: arc-opc.c:1011
+#: arc-opc.c:1110
msgid "Value must be in the range 0 to 28"
msgstr ""
-#: arc-opc.c:1032
+#: arc-opc.c:1132
msgid "Value must be in the range 1 to "
msgstr ""
-#: arc-opc.c:1062
+#: arc-opc.c:1162
msgid "Value must be in the range 0 to 240"
msgstr ""
-#: arc-opc.c:1064
+#: arc-opc.c:1164
msgid "Value must be a multiple of 16"
msgstr ""
-#: arc-opc.c:1084
+#: arc-opc.c:1184
msgid "Invalid address type for operand"
msgstr ""
-#: arc-opc.c:1118
+#: arc-opc.c:1218
msgid "Value must be in the range 0 to 31"
msgstr ""
-#: arm-dis.c:3202
+#: arc-opc.c:1243
+msgid "Invalid position, should be 0,4, 8,...124."
+msgstr ""
+
+#: arm-dis.c:3198
msgid "Select raw register names"
msgstr ""
-#: arm-dis.c:3204
+#: arm-dis.c:3200
msgid "Select register names used by GCC"
msgstr ""
-#: arm-dis.c:3206
+#: arm-dis.c:3202
msgid "Select register names used in ARM's ISA documentation"
msgstr ""
-#: arm-dis.c:3208
-msgid "Select register names used in the APCS"
+#: arm-dis.c:3204
+msgid "Assume all insns are Thumb insns"
msgstr ""
-#: arm-dis.c:3210
-msgid "Select register names used in the ATPCS"
+#: arm-dis.c:3205
+msgid "Examine preceding label to determine an insn's type"
msgstr ""
-#: arm-dis.c:3212
-msgid "Select special register names used in the ATPCS"
+#: arm-dis.c:3206
+msgid "Select register names used in the APCS"
msgstr ""
-#. All non "reg-names-* options must be listed last.
-#: arm-dis.c:3216
-msgid "Assume all insns are Thumb insns"
+#: arm-dis.c:3208
+msgid "Select register names used in the ATPCS"
msgstr ""
-#: arm-dis.c:3217
-msgid "Examine preceding label to determine an insn's type"
+#: arm-dis.c:3210
+msgid "Select special register names used in the ATPCS"
msgstr ""
-#: arm-dis.c:3638
+#: arm-dis.c:3608
msgid "<illegal precision>"
msgstr ""
-#: arm-dis.c:6151
+#: arm-dis.c:6121
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr ""
-#: arm-dis.c:6855
+#: arm-dis.c:6825
#, c-format
msgid ""
"\n"
@@ -790,11 +813,11 @@ msgstr ""
msgid "%02x\t\t*unknown*"
msgstr ""
-#: i386-dis.c:12200
+#: i386-dis.c:12276
msgid "<internal disassembler error>"
msgstr ""
-#: i386-dis.c:12492
+#: i386-dis.c:12568
#, c-format
msgid ""
"\n"
@@ -803,145 +826,145 @@ msgid ""
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
-#: i386-dis.c:12496
+#: i386-dis.c:12572
#, c-format
msgid " x86-64 Disassemble in 64bit mode\n"
msgstr ""
-#: i386-dis.c:12497
+#: i386-dis.c:12573
#, c-format
msgid " i386 Disassemble in 32bit mode\n"
msgstr ""
-#: i386-dis.c:12498
+#: i386-dis.c:12574
#, c-format
msgid " i8086 Disassemble in 16bit mode\n"
msgstr ""
-#: i386-dis.c:12499
+#: i386-dis.c:12575
#, c-format
msgid " att Display instruction in AT&T syntax\n"
msgstr ""
-#: i386-dis.c:12500
+#: i386-dis.c:12576
#, c-format
msgid " intel Display instruction in Intel syntax\n"
msgstr ""
-#: i386-dis.c:12501
+#: i386-dis.c:12577
#, c-format
msgid ""
" att-mnemonic\n"
" Display instruction in AT&T mnemonic\n"
msgstr ""
-#: i386-dis.c:12503
+#: i386-dis.c:12579
#, c-format
msgid ""
" intel-mnemonic\n"
" Display instruction in Intel mnemonic\n"
msgstr ""
-#: i386-dis.c:12505
+#: i386-dis.c:12581
#, c-format
msgid " addr64 Assume 64bit address size\n"
msgstr ""
-#: i386-dis.c:12506
+#: i386-dis.c:12582
#, c-format
msgid " addr32 Assume 32bit address size\n"
msgstr ""
-#: i386-dis.c:12507
+#: i386-dis.c:12583
#, c-format
msgid " addr16 Assume 16bit address size\n"
msgstr ""
-#: i386-dis.c:12508
+#: i386-dis.c:12584
#, c-format
msgid " data32 Assume 32bit data size\n"
msgstr ""
-#: i386-dis.c:12509
+#: i386-dis.c:12585
#, c-format
msgid " data16 Assume 16bit data size\n"
msgstr ""
-#: i386-dis.c:12510
+#: i386-dis.c:12586
#, c-format
msgid " suffix Always display instruction suffix in AT&T syntax\n"
msgstr ""
-#: i386-dis.c:12511
+#: i386-dis.c:12587
#, c-format
msgid " amd64 Display instruction in AMD64 ISA\n"
msgstr ""
-#: i386-dis.c:12512
+#: i386-dis.c:12588
#, c-format
msgid " intel64 Display instruction in Intel64 ISA\n"
msgstr ""
-#: i386-dis.c:13063
+#: i386-dis.c:13139
msgid "64-bit address is disabled"
msgstr ""
-#: i386-gen.c:679 ia64-gen.c:306
+#: i386-gen.c:682 ia64-gen.c:306
#, c-format
msgid "%s: Error: "
msgstr ""
-#: i386-gen.c:843
+#: i386-gen.c:846
#, c-format
msgid "%s: %d: Unknown bitfield: %s\n"
msgstr ""
-#: i386-gen.c:845
+#: i386-gen.c:848
#, c-format
msgid "Unknown bitfield: %s\n"
msgstr ""
-#: i386-gen.c:904
+#: i386-gen.c:907
#, c-format
msgid "%s: %d: Missing `)' in bitfield: %s\n"
msgstr ""
-#: i386-gen.c:1175
+#: i386-gen.c:1178
#, c-format
msgid "can't find i386-opc.tbl for reading, errno = %s\n"
msgstr ""
-#: i386-gen.c:1306
+#: i386-gen.c:1309
#, c-format
msgid "can't find i386-reg.tbl for reading, errno = %s\n"
msgstr ""
-#: i386-gen.c:1383
+#: i386-gen.c:1386
#, c-format
msgid "can't create i386-init.h, errno = %s\n"
msgstr ""
-#: i386-gen.c:1473 ia64-gen.c:2829
+#: i386-gen.c:1476 ia64-gen.c:2829
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr ""
-#: i386-gen.c:1485 i386-gen.c:1488
+#: i386-gen.c:1488 i386-gen.c:1491
#, c-format
msgid "CpuMax != %d!\n"
msgstr ""
-#: i386-gen.c:1492
+#: i386-gen.c:1495
#, c-format
msgid "%d unused bits in i386_cpu_flags.\n"
msgstr ""
-#: i386-gen.c:1499
+#: i386-gen.c:1502
#, c-format
msgid "%d unused bits in i386_operand_type.\n"
msgstr ""
-#: i386-gen.c:1513
+#: i386-gen.c:1516
#, c-format
msgid "can't create i386-tbl.h, errno = %s\n"
msgstr ""
@@ -1433,12 +1456,12 @@ msgstr ""
msgid "$<undefined>"
msgstr ""
-#: ppc-dis.c:347
+#: ppc-dis.c:359
#, c-format
msgid "warning: ignoring unknown -M%s option\n"
msgstr ""
-#: ppc-dis.c:793
+#: ppc-dis.c:810
#, c-format
msgid ""
"\n"
@@ -1446,71 +1469,71 @@ msgid ""
"the -M switch:\n"
msgstr ""
-#: ppc-opc.c:982 ppc-opc.c:1005 ppc-opc.c:1030 ppc-opc.c:1059
+#: ppc-opc.c:990 ppc-opc.c:1013 ppc-opc.c:1038 ppc-opc.c:1067
msgid "invalid register"
msgstr ""
-#: ppc-opc.c:1307 ppc-opc.c:1337
+#: ppc-opc.c:1315 ppc-opc.c:1345
msgid "invalid conditional option"
msgstr ""
-#: ppc-opc.c:1309 ppc-opc.c:1339
+#: ppc-opc.c:1317 ppc-opc.c:1347
msgid "invalid counter access"
msgstr ""
-#: ppc-opc.c:1341
+#: ppc-opc.c:1349
msgid "attempt to set y bit when using + or - modifier"
msgstr ""
-#: ppc-opc.c:1431
+#: ppc-opc.c:1439
msgid "invalid mask field"
msgstr ""
-#: ppc-opc.c:1454
+#: ppc-opc.c:1462
msgid "invalid mfcr mask"
msgstr ""
-#: ppc-opc.c:1528 ppc-opc.c:1552
+#: ppc-opc.c:1536 ppc-opc.c:1576
msgid "illegal L operand value"
msgstr ""
-#: ppc-opc.c:1558
+#: ppc-opc.c:1582
msgid "incompatible L operand value"
msgstr ""
-#: ppc-opc.c:1581 ppc-opc.c:1616
+#: ppc-opc.c:1626 ppc-opc.c:1661
msgid "illegal bitmask"
msgstr ""
-#: ppc-opc.c:1703
+#: ppc-opc.c:1748
msgid "address register in load range"
msgstr ""
-#: ppc-opc.c:1756
+#: ppc-opc.c:1814
msgid "index register in load range"
msgstr ""
-#: ppc-opc.c:1772 ppc-opc.c:1828
+#: ppc-opc.c:1843 ppc-opc.c:1924
msgid "source and target register operands must be different"
msgstr ""
-#: ppc-opc.c:1787
+#: ppc-opc.c:1871
msgid "invalid register operand when updating"
msgstr ""
-#: ppc-opc.c:1878
+#: ppc-opc.c:1987
msgid "illegal immediate value"
msgstr ""
-#: ppc-opc.c:2025
+#: ppc-opc.c:2134
msgid "invalid sprg number"
msgstr ""
-#: ppc-opc.c:2062
+#: ppc-opc.c:2171
msgid "invalid tbr number"
msgstr ""
-#: ppc-opc.c:2206
+#: ppc-opc.c:2315
msgid "invalid constant"
msgstr ""