From ffa5352c0c0f735541e69fe6d9a192d82e7d418c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 7 Jul 2021 10:25:41 +0100 Subject: [PATCH] Fix problems translating messages when a percentage sign appears at the end of a string. PR 28051 gas * config/tc-i386.c (offset_in_range): Reformat error messages in order to fix problems when translating. (md_assemble): Likewise. * messages.c (as_internal_value_out_of_range): Likewise. * read.c (emit_expr_with_reloc): Likewise. * testsuite/gas/all/overflow.l Change expected output format. * po/gas.pot: Regenerate. bfd * coff-rs6000.c (xcoff_reloc_type_tls): Reformat error messages in order to fix problems when translating. * cofflink.c (_bfd_coff_write_global_sym): Likewise. * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub): Likewise. * po/bfd.pot: Regenerate. --- bfd/ChangeLog | 10 + bfd/coff-rs6000.c | 38 +- bfd/cofflink.c | 12 +- bfd/elfnn-aarch64.c | 7 +- bfd/po/bfd.pot | 109 +++--- gas/ChangeLog | 11 + gas/config/tc-i386.c | 19 +- gas/messages.c | 57 +-- gas/po/gas.pot | 596 ++++++++++++++++--------------- gas/read.c | 9 +- gas/testsuite/gas/all/overflow.l | 8 +- 11 files changed, 476 insertions(+), 400 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 75914696810..96bd8ff29d0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +2021-07-07 Nick Clifton + + PR 28051 + * coff-rs6000.c (xcoff_reloc_type_tls): Reformat error messages in + order to fix problems when translating. + * cofflink.c (_bfd_coff_write_global_sym): Likewise. + * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub): + Likewise. + * po/bfd.pot: Regenerate. + 2021-07-06 Michael Matz PR ld/28021 diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 9d7571908dd..a1c62d4e679 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -3205,10 +3205,12 @@ xcoff_reloc_type_tls (bfd *input_bfd ATTRIBUTE_UNUSED, /* FIXME: h is sometimes null, if the TLS symbol is not exported. */ if (!h) { + char vaddr_buf[128]; + + sprintf_vma (vaddr_buf, rel->r_vaddr); _bfd_error_handler - (_("%pB: TLS relocation at (0x%" BFD_VMA_FMT "x) over " - "internal symbols (C_HIDEXT) not yet possible\n"), - input_bfd, rel->r_vaddr); + (_("%pB: TLS relocation at 0x%s over internal symbols (C_HIDEXT) not yet possible\n"), + input_bfd, vaddr_buf); return false; } @@ -3216,10 +3218,12 @@ xcoff_reloc_type_tls (bfd *input_bfd ATTRIBUTE_UNUSED, /* TLS relocations must target a TLS symbol. */ if (h->smclas != XMC_TL && h->smclas != XMC_UL) { + char vaddr_buf[128]; + + sprintf_vma (vaddr_buf, rel->r_vaddr); _bfd_error_handler - (_("%pB: TLS relocation at (0x%" BFD_VMA_FMT "x) over " - "non-TLS symbol %s (0x%x)\n"), - input_bfd, rel->r_vaddr, h->root.root.string, h->smclas); + (_("%pB: TLS relocation at 0x%s over non-TLS symbol %s (0x%x)\n"), + input_bfd, vaddr_buf, h->root.root.string, h->smclas); return false; } @@ -3230,10 +3234,12 @@ xcoff_reloc_type_tls (bfd *input_bfd ATTRIBUTE_UNUSED, && (h->flags & XCOFF_DEF_DYNAMIC) != 0) || (h->flags & XCOFF_IMPORT) != 0)) { + char vaddr_buf[128]; + + sprintf_vma (vaddr_buf, rel->r_vaddr); _bfd_error_handler - (_("%pB: TLS local relocation at (0x%" BFD_VMA_FMT "x) over " - "imported symbol %s\n"), - input_bfd, rel->r_vaddr, h->root.root.string); + (_("%pB: TLS local relocation at 0x%s over imported symbol %s\n"), + input_bfd, vaddr_buf, h->root.root.string); return false; } @@ -3638,11 +3644,15 @@ xcoff_ppc_relocate_section (bfd *output_bfd, break; default: - _bfd_error_handler - (_("%pB: relocation (%d) at (0x%" BFD_VMA_FMT "x) has wrong" - " r_rsize (0x%x)\n"), - input_bfd, rel->r_type, rel->r_vaddr, rel->r_size); - return false; + { + char vaddr_buf[128]; + + sprintf_vma (vaddr_buf, rel->r_vaddr); + _bfd_error_handler + (_("%pB: relocation (%d) at 0x%s has wrong r_rsize (0x%x)\n"), + input_bfd, rel->r_type, vaddr_buf, rel->r_size); + return false; + } } } diff --git a/bfd/cofflink.c b/bfd/cofflink.c index dd3e8dd4bf6..b8a370933be 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -2606,10 +2606,14 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data) if (isym.n_value > (bfd_vma) 0xffffffff) { if (! h->root.linker_def) - _bfd_error_handler - (_("%pB: stripping non-representable symbol '%s' (value " - "%" BFD_VMA_FMT "x)"), - output_bfd, h->root.root.string, isym.n_value); + { + char value_buf[128]; + + sprintf_vma (value_buf, isym.n_value); + _bfd_error_handler + (_("%pB: stripping non-representable symbol '%s' (value 0x%s)"), + output_bfd, h->root.root.string, value_buf); + } return true; } #endif diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index b6f083e430b..4885f417a2a 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -5345,12 +5345,15 @@ _bfd_aarch64_erratum_843419_branch_to_stub (struct bfd_hash_entry *gen_entry, } else { + char imm_buf[128]; + + sprintf (imm_buf, "%" BFD_VMA_FMT "x", imm); abfd = stub_entry->target_section->owner; _bfd_error_handler - (_("%pB: error: erratum 843419 immediate 0x%" BFD_VMA_FMT "x " + (_("%pB: error: erratum 843419 immediate 0x%s " "out of range for ADR (input file too large) and " "--fix-cortex-a53-843419=adr used. Run the linker with " - "--fix-cortex-a53-843419=full instead"), abfd, imm); + "--fix-cortex-a53-843419=full instead"), abfd, imm_buf); bfd_set_error (bfd_error_bad_value); /* This function is called inside a hashtable traversal and the error handlers called above turn into non-fatal errors. Which means this diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index 5c6311d8d07..12a93faa047 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: 2021-07-03 15:01+0100\n" +"POT-Creation-Date: 2021-07-07 09:00+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -130,115 +130,115 @@ msgstr "" msgid "Writing updated armap timestamp" msgstr "" -#: bfd.c:681 +#: bfd.c:687 msgid "no error" msgstr "" -#: bfd.c:682 +#: bfd.c:688 msgid "system call error" msgstr "" -#: bfd.c:683 +#: bfd.c:689 msgid "invalid bfd target" msgstr "" -#: bfd.c:684 +#: bfd.c:690 msgid "file in wrong format" msgstr "" -#: bfd.c:685 +#: bfd.c:691 msgid "archive object file in wrong format" msgstr "" -#: bfd.c:686 +#: bfd.c:692 msgid "invalid operation" msgstr "" -#: bfd.c:687 +#: bfd.c:693 msgid "memory exhausted" msgstr "" -#: bfd.c:688 +#: bfd.c:694 msgid "no symbols" msgstr "" -#: bfd.c:689 +#: bfd.c:695 msgid "archive has no index; run ranlib to add one" msgstr "" -#: bfd.c:690 +#: bfd.c:696 msgid "no more archived files" msgstr "" -#: bfd.c:691 +#: bfd.c:697 msgid "malformed archive" msgstr "" -#: bfd.c:692 +#: bfd.c:698 msgid "DSO missing from command line" msgstr "" -#: bfd.c:693 +#: bfd.c:699 msgid "file format not recognized" msgstr "" -#: bfd.c:694 +#: bfd.c:700 msgid "file format is ambiguous" msgstr "" -#: bfd.c:695 +#: bfd.c:701 msgid "section has no contents" msgstr "" -#: bfd.c:696 +#: bfd.c:702 msgid "nonrepresentable section on output" msgstr "" -#: bfd.c:697 +#: bfd.c:703 msgid "symbol needs debug section which does not exist" msgstr "" -#: bfd.c:698 +#: bfd.c:704 msgid "bad value" msgstr "" -#: bfd.c:699 +#: bfd.c:705 msgid "file truncated" msgstr "" -#: bfd.c:700 +#: bfd.c:706 msgid "file too big" msgstr "" -#: bfd.c:701 +#: bfd.c:707 msgid "sorry, cannot handle this file" msgstr "" -#: bfd.c:702 +#: bfd.c:708 #, c-format msgid "error reading %s: %s" msgstr "" -#: bfd.c:703 +#: bfd.c:709 msgid "#" msgstr "" -#: bfd.c:1640 +#: bfd.c:1646 #, c-format msgid "BFD %s assertion fail %s:%d" msgstr "" -#: bfd.c:1653 +#: bfd.c:1659 #, c-format msgid "BFD %s internal error, aborting at %s:%d in %s\n" msgstr "" -#: bfd.c:1658 +#: bfd.c:1664 #, c-format msgid "BFD %s internal error, aborting at %s:%d\n" msgstr "" -#: bfd.c:1660 +#: bfd.c:1666 msgid "Please report this bug.\n" msgstr "" @@ -308,19 +308,29 @@ msgstr "" msgid "%pB: TOC reloc at %# to symbol `%s' with no TOC entry" msgstr "" -#: coff-rs6000.c:3209 coff-rs6000.c:3220 -msgid "%pB: TLS relocation at (0x%" +#: coff-rs6000.c:3212 +#, c-format +msgid "" +"%pB: TLS relocation at 0x%s over internal symbols (C_HIDEXT) not yet " +"possible\n" msgstr "" -#: coff-rs6000.c:3234 -msgid "%pB: TLS local relocation at (0x%" +#: coff-rs6000.c:3225 +#, c-format +msgid "%pB: TLS relocation at 0x%s over non-TLS symbol %s (0x%x)\n" msgstr "" -#: coff-rs6000.c:3642 coff64-rs6000.c:1573 -msgid "%pB: relocatation (%d) at (0x%" +#: coff-rs6000.c:3241 +#, c-format +msgid "%pB: TLS local relocation at 0x%s over imported symbol %s\n" msgstr "" -#: coff-rs6000.c:3905 coff64-rs6000.c:2023 +#: coff-rs6000.c:3652 +#, c-format +msgid "%pB: relocation (%d) at 0x%s has wrong r_rsize (0x%x)\n" +msgstr "" + +#: coff-rs6000.c:3915 coff64-rs6000.c:2023 #, c-format msgid "%pB: symbol `%s' has unrecognized smclas %d" msgstr "" @@ -370,7 +380,7 @@ msgstr "" msgid "%pB: fatal: generic symbols retrieved before relaxing" msgstr "" -#: coff-sh.c:2781 cofflink.c:2959 +#: coff-sh.c:2781 cofflink.c:2963 #, c-format msgid "%pB: illegal symbol index %ld in relocs" msgstr "" @@ -390,6 +400,10 @@ msgstr "" msgid "%pB: wrong auxtype %#x for storage class %#x" msgstr "" +#: coff64-rs6000.c:1573 +msgid "%pB: relocation (%d) at (0x%" +msgstr "" + #: coffcode.h:986 #, c-format msgid "%pB: unable to load COMDAT section name" @@ -560,21 +574,22 @@ msgid "" "%pA' of %pB\n" msgstr "" -#: cofflink.c:2610 -msgid "%pB: stripping non-representable symbol '%s' (value %" +#: cofflink.c:2614 +#, c-format +msgid "%pB: stripping non-representable symbol '%s' (value 0x%s)" msgstr "" -#: cofflink.c:2728 +#: cofflink.c:2732 #, c-format msgid "%pB: %pA: reloc overflow: %#x > 0xffff" msgstr "" -#: cofflink.c:2736 +#: cofflink.c:2740 #, c-format msgid "%pB: warning: %pA: line number overflow: %#x > 0xffff" msgstr "" -#: cofflink.c:3127 +#: cofflink.c:3131 #, c-format msgid "%pB: bad reloc address %# in section `%pA'" msgstr "" @@ -1364,7 +1379,7 @@ msgstr "" msgid "GNU_RETAIN section is supported only by GNU and FreeBSD targets" msgstr "" -#: elf.c:12850 elf64-sparc.c:123 elfcode.h:1504 +#: elf.c:12850 elf64-sparc.c:123 elfcode.h:1505 #, c-format msgid "%pB(%pA): relocation %d has invalid symbol index %ld" msgstr "" @@ -4911,22 +4926,22 @@ msgstr "" msgid "%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n" msgstr "" -#: elfcode.h:329 +#: elfcode.h:330 #, c-format msgid "warning: %pB has a section extending past end of file" msgstr "" -#: elfcode.h:775 +#: elfcode.h:776 #, c-format msgid "warning: %pB has a corrupt string table index - ignoring" msgstr "" -#: elfcode.h:819 +#: elfcode.h:820 #, c-format msgid "warning: %pB has a program header with invalid alignment" msgstr "" -#: elfcode.h:1244 +#: elfcode.h:1245 #, c-format msgid "%pB: version count (%) does not match symbol count (%ld)" msgstr "" @@ -6384,7 +6399,7 @@ msgstr "" msgid "%pB: error: debug data ends beyond end of debug directory" msgstr "" -#: plugin.c:236 +#: plugin.c:246 msgid "" "plugin framework: out of file descriptors. Try using fewer objects/archives\n" msgstr "" diff --git a/gas/ChangeLog b/gas/ChangeLog index 9d6b14bb628..777dfa1eadc 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2021-07-07 Nick Clifton + + PR 28051 + * config/tc-i386.c (offset_in_range): Reformat error messages in + order to fix problems when translating. + (md_assemble): Likewise. + * messages.c (as_internal_value_out_of_range): Likewise. + * read.c (emit_expr_with_reloc): Likewise. + * testsuite/gas/all/overflow.l Change expected output format. + * po/gas.pot: Regenerate. + 2021-07-03 Nick Clifton * configure: Regenerate. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 168f7d5ba75..d98c6c4e949 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2561,8 +2561,15 @@ offset_in_range (offsetT val, int size) } if ((val & ~mask) != 0 && (-val & ~mask) != 0) - as_warn (_("%"BFD_VMA_FMT"x shortened to %"BFD_VMA_FMT"x"), - val, val & mask); + { + char val_buf[128]; + char masked_buf[128]; + + /* Coded this way in order to ease translation. */ + sprintf_vma (val_buf, val); + sprintf_vma (masked_buf, val & mask); + as_warn (_("0x%s shortened to 0x%s"), val_buf, masked_buf); + } return val & mask; } @@ -4916,8 +4923,12 @@ md_assemble (char *line) i.types[j].bitfield.disp32s = 0; if (i.types[j].bitfield.baseindex) { - as_bad (_("0x%" BFD_VMA_FMT "x out of range of signed 32bit displacement"), - exp->X_add_number); + char number_buf[128]; + + /* Coded this way in order to allow for ease of translation. */ + sprintf_vma (number_buf, exp->X_add_number); + as_bad (_("0x%s out of range of signed 32bit displacement"), + number_buf); return; } } diff --git a/gas/messages.c b/gas/messages.c index 62f93128157..fbd4581601b 100644 --- a/gas/messages.c +++ b/gas/messages.c @@ -366,9 +366,15 @@ as_internal_value_out_of_range (const char *prefix, offsetT max, const char *file, unsigned line, - int bad) + bool bad) { const char * err; + /* These buffer sizes are excessive, but better to be safe than sorry. + Note - these buffers are used in order to make the error message + string translateable. */ + char val_buf [128]; + char min_buf [128]; + char max_buf [128]; if (prefix == NULL) prefix = ""; @@ -380,41 +386,38 @@ as_internal_value_out_of_range (const char *prefix, if (max <= 1) abort (); + sprintf (val_buf, "%" BFD_VMA_FMT "d", val); + sprintf (min_buf, "%" BFD_VMA_FMT "d", right); + /* xgettext:c-format */ - err = _("%s out of domain (%" BFD_VMA_FMT "d is not a multiple of %" \ - BFD_VMA_FMT "d)"); + err = _("%s out of domain (%s is not a multiple of %s)"); + if (bad) - as_bad_where (file, line, err, prefix, val, right); + as_bad_where (file, line, err, prefix, val_buf, min_buf); else - as_warn_where (file, line, err, prefix, val, right); - return; + as_warn_where (file, line, err, prefix, val_buf, min_buf); } - - if ( val < HEX_MAX_THRESHOLD - && min < HEX_MAX_THRESHOLD - && max < HEX_MAX_THRESHOLD - && val > HEX_MIN_THRESHOLD - && min > HEX_MIN_THRESHOLD - && max > HEX_MIN_THRESHOLD) + else if ( val < HEX_MAX_THRESHOLD + && min < HEX_MAX_THRESHOLD + && max < HEX_MAX_THRESHOLD + && val > HEX_MIN_THRESHOLD + && min > HEX_MIN_THRESHOLD + && max > HEX_MIN_THRESHOLD) { - /* xgettext:c-format */ - err = _("%s out of range (%" BFD_VMA_FMT "d is not between %" \ - BFD_VMA_FMT "d and %" BFD_VMA_FMT "d)"); + sprintf (val_buf, "%" BFD_VMA_FMT "d", val); + sprintf (min_buf, "%" BFD_VMA_FMT "d", min); + sprintf (max_buf, "%" BFD_VMA_FMT "d", max); + + /* xgettext:c-format. */ + err = _("%s out of range (%s is not between %s and %s)"); if (bad) - as_bad_where (file, line, err, prefix, val, min, max); + as_bad_where (file, line, err, prefix, val_buf, min_buf, max_buf); else - as_warn_where (file, line, err, prefix, val, min, max); + as_warn_where (file, line, err, prefix, val_buf, min_buf, max_buf); } else { - char val_buf [sizeof (val) * 3 + 2]; - char min_buf [sizeof (val) * 3 + 2]; - char max_buf [sizeof (val) * 3 + 2]; - - if (sizeof (val) > sizeof (bfd_vma)) - abort (); - sprintf_vma (val_buf, (bfd_vma) val); sprintf_vma (min_buf, (bfd_vma) min); sprintf_vma (max_buf, (bfd_vma) max); @@ -437,7 +440,7 @@ as_warn_value_out_of_range (const char *prefix, const char *file, unsigned line) { - as_internal_value_out_of_range (prefix, value, min, max, file, line, 0); + as_internal_value_out_of_range (prefix, value, min, max, file, line, false); } void @@ -448,5 +451,5 @@ as_bad_value_out_of_range (const char *prefix, const char *file, unsigned line) { - as_internal_value_out_of_range (prefix, value, min, max, file, line, 1); + as_internal_value_out_of_range (prefix, value, min, max, file, line, true); } diff --git a/gas/po/gas.pot b/gas/po/gas.pot index 29e20a51f39..7b895add7fc 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: 2021-07-03 15:03+0100\n" +"POT-Creation-Date: 2021-07-07 09:03+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -171,12 +171,12 @@ msgstr "" msgid " --elf-stt-common=[no|yes] " msgstr "" -#: as.c:317 as.c:328 config/tc-i386.c:13799 config/tc-i386.c:13819 +#: as.c:317 as.c:328 config/tc-i386.c:13810 config/tc-i386.c:13830 #, c-format msgid "(default: yes)\n" msgstr "" -#: as.c:319 as.c:330 config/tc-i386.c:13801 config/tc-i386.c:13821 +#: as.c:319 as.c:330 config/tc-i386.c:13812 config/tc-i386.c:13832 #, c-format msgid "(default: no)\n" msgstr "" @@ -2617,8 +2617,8 @@ msgstr "" #: config/tc-arc.c:2552 config/tc-arc.c:2584 config/tc-arc.c:2689 #: config/tc-cr16.c:813 config/tc-cr16.c:832 config/tc-cris.c:1223 #: config/tc-crx.c:516 config/tc-crx.c:538 config/tc-crx.c:549 -#: config/tc-dlx.c:289 config/tc-hppa.c:8246 config/tc-i386.c:3071 -#: config/tc-i386.c:3123 config/tc-ia64.c:5380 config/tc-ia64.c:7418 +#: config/tc-dlx.c:289 config/tc-hppa.c:8246 config/tc-i386.c:3078 +#: config/tc-i386.c:3130 config/tc-ia64.c:5380 config/tc-ia64.c:7418 #: config/tc-ia64.c:7477 config/tc-m68k.c:4574 config/tc-m68k.c:4586 #: config/tc-mips.c:3700 config/tc-mips.c:3733 config/tc-mips.c:3759 #: config/tc-nds32.c:3439 config/tc-nios2.c:3624 config/tc-nios2.c:3629 @@ -2965,7 +2965,7 @@ msgid "Insn %s has an instruction %s with limm in its delay slot." msgstr "" #: config/tc-arc.c:4276 config/tc-microblaze.c:2567 config/tc-mn10300.c:1069 -#: config/tc-sh.c:418 config/tc-z80.c:1119 read.c:4701 +#: config/tc-sh.c:418 config/tc-z80.c:1119 read.c:4706 #, c-format msgid "unsupported BFD relocation size %u" msgstr "" @@ -5847,7 +5847,7 @@ msgstr "" msgid "internal error: reloc %d (`%s') not supported by object file format" msgstr "" -#: config/tc-cr16.c:700 config/tc-i386.c:14007 config/tc-s390.c:2113 +#: config/tc-cr16.c:700 config/tc-i386.c:14018 config/tc-s390.c:2113 msgid "GOT already in symbol table" msgstr "" @@ -7912,860 +7912,862 @@ msgstr "" msgid "jump over nop padding out of range" msgstr "" -#: config/tc-i386.c:2564 -msgid "%" +#: config/tc-i386.c:2571 +#, c-format +msgid "0x%s shortened to 0x%s" msgstr "" -#: config/tc-i386.c:2656 config/tc-i386.c:7983 +#: config/tc-i386.c:2663 config/tc-i386.c:7994 msgid "same type of prefix used twice" msgstr "" -#: config/tc-i386.c:2683 +#: config/tc-i386.c:2690 #, c-format msgid "64bit mode not supported on `%s'." msgstr "" -#: config/tc-i386.c:2692 +#: config/tc-i386.c:2699 #, c-format msgid "32bit mode not supported on `%s'." msgstr "" -#: config/tc-i386.c:2732 +#: config/tc-i386.c:2739 msgid "bad argument to syntax directive." msgstr "" -#: config/tc-i386.c:2795 +#: config/tc-i386.c:2802 #, c-format msgid "bad argument to %s_check directive." msgstr "" -#: config/tc-i386.c:2799 +#: config/tc-i386.c:2806 #, c-format msgid "missing argument for %s_check directive" msgstr "" -#: config/tc-i386.c:2839 +#: config/tc-i386.c:2846 #, c-format msgid "`%s' is not supported on `%s'" msgstr "" -#: config/tc-i386.c:2945 +#: config/tc-i386.c:2952 #, c-format msgid "no such architecture: `%s'" msgstr "" -#: config/tc-i386.c:2950 +#: config/tc-i386.c:2957 msgid "missing cpu architecture" msgstr "" -#: config/tc-i386.c:2967 +#: config/tc-i386.c:2974 #, c-format msgid "no such architecture modifier: `%s'" msgstr "" -#: config/tc-i386.c:2982 config/tc-i386.c:3012 +#: config/tc-i386.c:2989 config/tc-i386.c:3019 msgid "Intel L1OM is 64bit ELF only" msgstr "" -#: config/tc-i386.c:2989 config/tc-i386.c:3019 +#: config/tc-i386.c:2996 config/tc-i386.c:3026 msgid "Intel K1OM is 64bit ELF only" msgstr "" -#: config/tc-i386.c:2996 config/tc-i386.c:3033 +#: config/tc-i386.c:3003 config/tc-i386.c:3040 msgid "Intel MCU is 32bit ELF only" msgstr "" -#: config/tc-i386.c:3040 config/tc-i386.c:13894 +#: config/tc-i386.c:3047 config/tc-i386.c:13905 msgid "unknown architecture" msgstr "" -#: config/tc-i386.c:3427 +#: config/tc-i386.c:3434 msgid "there are no pc-relative size relocations" msgstr "" -#: config/tc-i386.c:3439 +#: config/tc-i386.c:3446 #, c-format msgid "unknown relocation (%u)" msgstr "" -#: config/tc-i386.c:3441 +#: config/tc-i386.c:3448 #, c-format msgid "%u-byte relocation cannot be applied to %u-byte field" msgstr "" -#: config/tc-i386.c:3445 +#: config/tc-i386.c:3452 msgid "non-pc-relative relocation for pc-relative field" msgstr "" -#: config/tc-i386.c:3450 +#: config/tc-i386.c:3457 msgid "relocated field and relocation type differ in signedness" msgstr "" -#: config/tc-i386.c:3459 +#: config/tc-i386.c:3466 msgid "there are no unsigned pc-relative relocations" msgstr "" -#: config/tc-i386.c:3467 +#: config/tc-i386.c:3474 #, c-format msgid "cannot do %u byte pc-relative relocation" msgstr "" -#: config/tc-i386.c:3484 +#: config/tc-i386.c:3491 #, c-format msgid "cannot do %s %u byte relocation" msgstr "" -#: config/tc-i386.c:4035 config/tc-i386.c:4968 +#: config/tc-i386.c:4042 config/tc-i386.c:4979 #, c-format msgid "invalid instruction `%s' after `%s'" msgstr "" -#: config/tc-i386.c:4041 +#: config/tc-i386.c:4048 #, c-format msgid "missing `lock' with `%s'" msgstr "" -#: config/tc-i386.c:4048 +#: config/tc-i386.c:4055 #, c-format msgid "instruction `%s' after `xacquire' not allowed" msgstr "" -#: config/tc-i386.c:4054 +#: config/tc-i386.c:4061 #, c-format msgid "memory destination needed for instruction `%s' after `xrelease'" msgstr "" -#: config/tc-i386.c:4700 +#: config/tc-i386.c:4707 #, c-format msgid "`%s` changes flags which would affect control flow behavior" msgstr "" -#: config/tc-i386.c:4742 +#: config/tc-i386.c:4749 #, c-format msgid "indirect `%s` with memory operand should be avoided" msgstr "" -#: config/tc-i386.c:4753 +#: config/tc-i386.c:4760 #, c-format msgid "`%s` skips -mlfence-before-indirect-branch on `%s`" msgstr "" -#: config/tc-i386.c:4774 +#: config/tc-i386.c:4781 #, c-format msgid "`%s` skips -mlfence-before-ret on `%s`" msgstr "" -#: config/tc-i386.c:4919 -msgid "0x%" +#: config/tc-i386.c:4930 +#, c-format +msgid "0x%s out of range of signed 32bit displacement" msgstr "" -#: config/tc-i386.c:4958 +#: config/tc-i386.c:4969 #, c-format msgid "SSE instruction `%s' is used" msgstr "" -#: config/tc-i386.c:4981 +#: config/tc-i386.c:4992 msgid "expecting lockable instruction after `lock'" msgstr "" -#: config/tc-i386.c:4991 +#: config/tc-i386.c:5002 #, c-format msgid "data size prefix invalid with `%s'" msgstr "" -#: config/tc-i386.c:5001 +#: config/tc-i386.c:5012 msgid "expecting valid branch instruction after `bnd'" msgstr "" -#: config/tc-i386.c:5005 +#: config/tc-i386.c:5016 msgid "expecting indirect branch instruction after `notrack'" msgstr "" -#: config/tc-i386.c:5010 +#: config/tc-i386.c:5021 msgid "32-bit address isn't allowed in 64-bit MPX instructions." msgstr "" -#: config/tc-i386.c:5014 +#: config/tc-i386.c:5025 msgid "16-bit address isn't allowed in MPX instructions" msgstr "" -#: config/tc-i386.c:5024 +#: config/tc-i386.c:5035 msgid "replacing `rep'/`repe' prefix by `bnd'" msgstr "" #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc. -#: config/tc-i386.c:5096 +#: config/tc-i386.c:5107 #, c-format msgid "translating to `%sp'" msgstr "" -#: config/tc-i386.c:5103 +#: config/tc-i386.c:5114 #, c-format msgid "instruction `%s' isn't supported outside of protected mode." msgstr "" -#: config/tc-i386.c:5111 +#: config/tc-i386.c:5122 #, c-format msgid "REX prefix invalid with `%s'" msgstr "" -#: config/tc-i386.c:5172 +#: config/tc-i386.c:5183 #, c-format msgid "can't encode register '%s%s' in an instruction requiring REX prefix." msgstr "" -#: config/tc-i386.c:5248 config/tc-i386.c:5452 +#: config/tc-i386.c:5259 config/tc-i386.c:5463 #, c-format msgid "no such instruction: `%s'" msgstr "" -#: config/tc-i386.c:5259 config/tc-i386.c:5485 +#: config/tc-i386.c:5270 config/tc-i386.c:5496 #, c-format msgid "invalid character %s in mnemonic" msgstr "" -#: config/tc-i386.c:5266 +#: config/tc-i386.c:5277 msgid "expecting prefix; got nothing" msgstr "" -#: config/tc-i386.c:5268 +#: config/tc-i386.c:5279 msgid "expecting mnemonic; got nothing" msgstr "" -#: config/tc-i386.c:5283 config/tc-i386.c:5507 +#: config/tc-i386.c:5294 config/tc-i386.c:5518 #, c-format msgid "`%s' is only supported in 64-bit mode" msgstr "" -#: config/tc-i386.c:5284 config/tc-i386.c:5506 +#: config/tc-i386.c:5295 config/tc-i386.c:5517 #, c-format msgid "`%s' is not supported in 64-bit mode" msgstr "" -#: config/tc-i386.c:5296 +#: config/tc-i386.c:5307 #, c-format msgid "redundant %s prefix" msgstr "" -#: config/tc-i386.c:5498 +#: config/tc-i386.c:5509 msgid "use .code16 to ensure correct addressing mode" msgstr "" -#: config/tc-i386.c:5510 +#: config/tc-i386.c:5521 #, c-format msgid "`%s' is not supported on `%s%s'" msgstr "" -#: config/tc-i386.c:5538 +#: config/tc-i386.c:5549 #, c-format msgid "invalid character %s before operand %d" msgstr "" -#: config/tc-i386.c:5550 +#: config/tc-i386.c:5561 #, c-format msgid "unbalanced double quotes in operand %d." msgstr "" -#: config/tc-i386.c:5557 +#: config/tc-i386.c:5568 #, c-format msgid "unbalanced parenthesis in operand %d." msgstr "" -#: config/tc-i386.c:5570 +#: config/tc-i386.c:5581 #, c-format msgid "invalid character %s in operand %d" msgstr "" -#: config/tc-i386.c:5590 +#: config/tc-i386.c:5601 #, c-format msgid "spurious operands; (%d operands/instruction max)" msgstr "" -#: config/tc-i386.c:5600 config/tc-i386.c:11480 +#: config/tc-i386.c:5611 config/tc-i386.c:11491 #, c-format msgid "too many memory references for `%s'" msgstr "" -#: config/tc-i386.c:5621 +#: config/tc-i386.c:5632 msgid "expecting operand after ','; got nothing" msgstr "" -#: config/tc-i386.c:5626 +#: config/tc-i386.c:5637 msgid "expecting operand before ','; got nothing" msgstr "" -#: config/tc-i386.c:6046 +#: config/tc-i386.c:6057 msgid "mask, index, and destination registers should be distinct" msgstr "" -#: config/tc-i386.c:6063 +#: config/tc-i386.c:6074 msgid "index and destination registers should be distinct" msgstr "" -#: config/tc-i386.c:6806 +#: config/tc-i386.c:6817 msgid "operand size mismatch" msgstr "" -#: config/tc-i386.c:6809 +#: config/tc-i386.c:6820 msgid "operand type mismatch" msgstr "" -#: config/tc-i386.c:6812 +#: config/tc-i386.c:6823 msgid "register type mismatch" msgstr "" -#: config/tc-i386.c:6815 +#: config/tc-i386.c:6826 msgid "number of operands mismatch" msgstr "" -#: config/tc-i386.c:6818 +#: config/tc-i386.c:6829 msgid "invalid instruction suffix" msgstr "" -#: config/tc-i386.c:6821 +#: config/tc-i386.c:6832 msgid "constant doesn't fit in 4 bits" msgstr "" -#: config/tc-i386.c:6824 +#: config/tc-i386.c:6835 msgid "unsupported with Intel mnemonic" msgstr "" -#: config/tc-i386.c:6827 +#: config/tc-i386.c:6838 msgid "unsupported syntax" msgstr "" -#: config/tc-i386.c:6830 +#: config/tc-i386.c:6841 #, c-format msgid "unsupported instruction `%s'" msgstr "" -#: config/tc-i386.c:6834 +#: config/tc-i386.c:6845 msgid "invalid SIB address" msgstr "" -#: config/tc-i386.c:6837 +#: config/tc-i386.c:6848 msgid "invalid VSIB address" msgstr "" -#: config/tc-i386.c:6840 +#: config/tc-i386.c:6851 msgid "mask, index, and destination registers must be distinct" msgstr "" -#: config/tc-i386.c:6843 +#: config/tc-i386.c:6854 msgid "all tmm registers must be distinct" msgstr "" -#: config/tc-i386.c:6846 +#: config/tc-i386.c:6857 msgid "unsupported vector index register" msgstr "" -#: config/tc-i386.c:6849 +#: config/tc-i386.c:6860 msgid "unsupported broadcast" msgstr "" -#: config/tc-i386.c:6852 +#: config/tc-i386.c:6863 msgid "broadcast is needed for operand of such type" msgstr "" -#: config/tc-i386.c:6855 +#: config/tc-i386.c:6866 msgid "unsupported masking" msgstr "" -#: config/tc-i386.c:6858 +#: config/tc-i386.c:6869 msgid "mask not on destination operand" msgstr "" -#: config/tc-i386.c:6861 +#: config/tc-i386.c:6872 msgid "default mask isn't allowed" msgstr "" -#: config/tc-i386.c:6864 +#: config/tc-i386.c:6875 msgid "unsupported static rounding/sae" msgstr "" -#: config/tc-i386.c:6868 +#: config/tc-i386.c:6879 msgid "RC/SAE operand must precede immediate operands" msgstr "" -#: config/tc-i386.c:6870 +#: config/tc-i386.c:6881 msgid "RC/SAE operand must follow immediate operands" msgstr "" -#: config/tc-i386.c:6873 config/tc-metag.c:4787 config/tc-metag.c:5528 +#: config/tc-i386.c:6884 config/tc-metag.c:4787 config/tc-metag.c:5528 #: config/tc-metag.c:5550 msgid "invalid register operand" msgstr "" -#: config/tc-i386.c:6876 +#: config/tc-i386.c:6887 #, c-format msgid "%s for `%s'" msgstr "" -#: config/tc-i386.c:6885 +#: config/tc-i386.c:6896 #, 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:6892 +#: config/tc-i386.c:6903 #, c-format msgid "stand-alone `%s' prefix" msgstr "" -#: config/tc-i386.c:6934 +#: config/tc-i386.c:6945 #, c-format msgid "`%s' operand %u must use `%ses' segment" msgstr "" -#: config/tc-i386.c:7089 +#: config/tc-i386.c:7100 msgid "generating 16-bit `iret' for .code16gcc directive" msgstr "" -#: config/tc-i386.c:7093 +#: config/tc-i386.c:7104 #, c-format msgid "generating 32-bit `%s', unlike earlier gas versions" msgstr "" -#: config/tc-i386.c:7211 +#: config/tc-i386.c:7222 #, c-format msgid "ambiguous operand size for `%s'" msgstr "" -#: config/tc-i386.c:7216 +#: config/tc-i386.c:7227 #, c-format msgid "" "no instruction mnemonic suffix given and no register operands; can't size `" "%s'" msgstr "" -#: config/tc-i386.c:7221 +#: config/tc-i386.c:7232 #, c-format msgid "%s; using default for `%s'" msgstr "" -#: config/tc-i386.c:7223 +#: config/tc-i386.c:7234 msgid "ambiguous operand size" msgstr "" -#: config/tc-i386.c:7224 +#: config/tc-i386.c:7235 msgid "no instruction mnemonic suffix given and no register operands" msgstr "" -#: config/tc-i386.c:7364 +#: config/tc-i386.c:7375 #, c-format msgid "16-bit addressing unavailable for `%s'" msgstr "" -#: config/tc-i386.c:7432 +#: config/tc-i386.c:7443 #, c-format msgid "invalid register operand size for `%s'" msgstr "" #. Any other register is bad. -#: config/tc-i386.c:7472 config/tc-i386.c:7497 config/tc-i386.c:7556 -#: config/tc-i386.c:7606 +#: config/tc-i386.c:7483 config/tc-i386.c:7508 config/tc-i386.c:7567 +#: config/tc-i386.c:7617 #, c-format msgid "`%s%s' not allowed with `%s%c'" msgstr "" -#: config/tc-i386.c:7510 config/tc-i386.c:7530 config/tc-i386.c:7581 -#: config/tc-i386.c:7620 +#: config/tc-i386.c:7521 config/tc-i386.c:7541 config/tc-i386.c:7592 +#: config/tc-i386.c:7631 #, c-format msgid "incorrect register `%s%s' used with `%c' suffix" msgstr "" -#: config/tc-i386.c:7687 +#: config/tc-i386.c:7698 msgid "no instruction mnemonic suffix given; can't determine immediate size" msgstr "" -#: config/tc-i386.c:7851 +#: config/tc-i386.c:7862 #, c-format msgid "" "source register `%s%s' implicitly denotes `%s%.3s%u' to `%s%.3s%u' source " "group in `%s'" msgstr "" -#: config/tc-i386.c:7895 +#: config/tc-i386.c:7906 #, c-format msgid "you can't `%s %s%s'" msgstr "" #. Reversed arguments on faddp, fsubp, etc. -#: config/tc-i386.c:7935 +#: config/tc-i386.c:7946 #, c-format msgid "translating to `%s %s%s,%s%s'" msgstr "" #. Extraneous `l' suffix on fp insn. -#: config/tc-i386.c:7942 +#: config/tc-i386.c:7953 #, c-format msgid "translating to `%s %s%s'" msgstr "" -#: config/tc-i386.c:7954 +#: config/tc-i386.c:7965 #, c-format msgid "segment override on `%s' is ineffectual" msgstr "" -#: config/tc-i386.c:8693 config/tc-riscv.c:1296 +#: config/tc-i386.c:8704 config/tc-riscv.c:1296 msgid "relaxable branches not supported in absolute section" msgstr "" -#: config/tc-i386.c:8728 config/tc-i386.c:8874 config/tc-i386.c:8956 +#: config/tc-i386.c:8739 config/tc-i386.c:8885 config/tc-i386.c:8967 #, c-format msgid "skipping prefixes on `%s'" msgstr "" -#: config/tc-i386.c:8982 +#: config/tc-i386.c:8993 msgid "16-bit jump out of range" msgstr "" -#: config/tc-i386.c:9236 config/tc-i386.c:9268 config/tc-i386.c:9357 +#: config/tc-i386.c:9247 config/tc-i386.c:9279 config/tc-i386.c:9368 #, c-format msgid "`%s` skips -malign-branch-boundary on `%s`" msgstr "" -#: config/tc-i386.c:9633 +#: config/tc-i386.c:9644 msgid "pseudo prefix without instruction" msgstr "" -#: config/tc-i386.c:9779 +#: config/tc-i386.c:9790 #, c-format msgid "instruction length of %u bytes exceeds the limit of 15" msgstr "" -#: config/tc-i386.c:10365 +#: config/tc-i386.c:10376 #, c-format msgid "@%s reloc is not supported with %d-bit output format" msgstr "" -#: config/tc-i386.c:10418 +#: config/tc-i386.c:10429 #, c-format msgid "missing or invalid expression `%s'" msgstr "" -#: config/tc-i386.c:10427 +#: config/tc-i386.c:10438 #, c-format msgid "invalid PLT expression `%s'" msgstr "" -#: config/tc-i386.c:10519 +#: config/tc-i386.c:10530 #, c-format msgid "Unsupported broadcast: `%s'" msgstr "" -#: config/tc-i386.c:10536 +#: config/tc-i386.c:10547 #, c-format msgid "`%s%s' can't be used for write mask" msgstr "" -#: config/tc-i386.c:10556 +#: config/tc-i386.c:10567 #, c-format msgid "invalid write mask `%s'" msgstr "" -#: config/tc-i386.c:10577 config/tc-i386.c:11271 +#: config/tc-i386.c:10588 config/tc-i386.c:11282 #, c-format msgid "duplicated `%s'" msgstr "" -#: config/tc-i386.c:10587 +#: config/tc-i386.c:10598 #, c-format msgid "invalid zeroing-masking `%s'" msgstr "" -#: config/tc-i386.c:10600 +#: config/tc-i386.c:10611 #, c-format msgid "missing `}' in `%s'" msgstr "" #. We don't know this one. -#: config/tc-i386.c:10614 +#: config/tc-i386.c:10625 #, c-format msgid "unknown vector operation: `%s'" msgstr "" -#: config/tc-i386.c:10620 +#: config/tc-i386.c:10631 msgid "zeroing-masking only allowed with write mask" msgstr "" -#: config/tc-i386.c:10640 +#: config/tc-i386.c:10651 #, c-format msgid "at most %d immediate operands are allowed" msgstr "" -#: config/tc-i386.c:10662 config/tc-i386.c:10930 +#: config/tc-i386.c:10673 config/tc-i386.c:10941 #, c-format msgid "junk `%s' after expression" msgstr "" -#: config/tc-i386.c:10675 +#: config/tc-i386.c:10686 #, c-format msgid "illegal immediate register operand %s" msgstr "" -#: config/tc-i386.c:10689 +#: config/tc-i386.c:10700 #, c-format msgid "missing or invalid immediate expression `%s'" msgstr "" -#: config/tc-i386.c:10712 config/tc-i386.c:11010 +#: config/tc-i386.c:10723 config/tc-i386.c:11021 #, c-format msgid "unimplemented segment %s in operand" msgstr "" -#: config/tc-i386.c:10761 +#: config/tc-i386.c:10772 #, c-format msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'" msgstr "" -#: config/tc-i386.c:10770 +#: config/tc-i386.c:10781 #, c-format msgid "scale factor of %d without an index register" msgstr "" -#: config/tc-i386.c:10792 +#: config/tc-i386.c:10803 #, c-format msgid "at most %d displacement operands are allowed" msgstr "" -#: config/tc-i386.c:10986 +#: config/tc-i386.c:10997 #, c-format msgid "missing or invalid displacement expression `%s'" msgstr "" -#: config/tc-i386.c:11160 +#: config/tc-i386.c:11171 #, c-format msgid "`%s' is not valid here (expected `%c%s%s%c')" msgstr "" -#: config/tc-i386.c:11172 +#: config/tc-i386.c:11183 #, c-format msgid "`%s' is not a valid %s expression" msgstr "" -#: config/tc-i386.c:11184 +#: config/tc-i386.c:11195 #, c-format msgid "invalid `%s' prefix" msgstr "" -#: config/tc-i386.c:11217 +#: config/tc-i386.c:11228 #, c-format msgid "`%s' cannot be used here" msgstr "" -#: config/tc-i386.c:11226 +#: config/tc-i386.c:11237 msgid "register scaling is being ignored here" msgstr "" -#: config/tc-i386.c:11288 +#: config/tc-i386.c:11299 #, c-format msgid "Missing '}': '%s'" msgstr "" -#: config/tc-i386.c:11294 +#: config/tc-i386.c:11305 #, c-format msgid "Junk after '}': '%s'" msgstr "" -#: config/tc-i386.c:11416 +#: config/tc-i386.c:11427 #, c-format msgid "bad memory operand `%s'" msgstr "" -#: config/tc-i386.c:11432 +#: config/tc-i386.c:11443 #, c-format msgid "junk `%s' after register" msgstr "" -#: config/tc-i386.c:11445 config/tc-i386.c:11609 config/tc-i386.c:11653 +#: config/tc-i386.c:11456 config/tc-i386.c:11620 config/tc-i386.c:11664 #, c-format msgid "bad register name `%s'" msgstr "" -#: config/tc-i386.c:11453 +#: config/tc-i386.c:11464 msgid "immediate operand illegal with absolute jump" msgstr "" -#: config/tc-i386.c:11521 +#: config/tc-i386.c:11532 msgid "unbalanced figure braces" msgstr "" -#: config/tc-i386.c:11598 +#: config/tc-i386.c:11609 #, c-format msgid "expecting `,' or `)' after index register in `%s'" msgstr "" -#: config/tc-i386.c:11626 +#: config/tc-i386.c:11637 #, c-format msgid "expecting `)' after scale factor in `%s'" msgstr "" -#: config/tc-i386.c:11634 +#: config/tc-i386.c:11645 #, c-format msgid "expecting index register or scale factor after `,'; got '%c'" msgstr "" -#: config/tc-i386.c:11642 +#: config/tc-i386.c:11653 #, c-format msgid "expecting `,' or `)' after base register in `%s'" msgstr "" #. It's not a memory operand; argh! -#: config/tc-i386.c:11691 +#: config/tc-i386.c:11702 #, c-format msgid "invalid char %s beginning operand %d `%s'" msgstr "" -#: config/tc-i386.c:12350 +#: config/tc-i386.c:12361 #, c-format msgid "%s:%u: add %d%s at 0x%llx to align %s within %d-byte boundary\n" msgstr "" -#: config/tc-i386.c:12353 +#: config/tc-i386.c:12364 #, c-format msgid "" "%s:%u: add additional %d%s at 0x%llx to align %s within %d-byte boundary\n" msgstr "" -#: config/tc-i386.c:12359 +#: config/tc-i386.c:12370 #, c-format msgid "" "%s:%u: add %d%s-byte nop at 0x%llx to align %s within %d-byte boundary\n" msgstr "" -#: config/tc-i386.c:12426 +#: config/tc-i386.c:12437 msgid "long jump required" msgstr "" -#: config/tc-i386.c:12481 +#: config/tc-i386.c:12492 msgid "jump target out of range" msgstr "" -#: config/tc-i386.c:12897 +#: config/tc-i386.c:12908 #, c-format msgid "register '%s%s' cannot be used here" msgstr "" -#: config/tc-i386.c:13112 +#: config/tc-i386.c:13123 #, c-format msgid "invalid -mx86-used-note= option: `%s'" msgstr "" -#: config/tc-i386.c:13135 +#: config/tc-i386.c:13146 msgid "no compiled in support for x86_64" msgstr "" -#: config/tc-i386.c:13155 +#: config/tc-i386.c:13166 msgid "no compiled in support for 32bit x86_64" msgstr "" -#: config/tc-i386.c:13159 +#: config/tc-i386.c:13170 msgid "32bit x86_64 is only supported for ELF" msgstr "" -#: config/tc-i386.c:13193 config/tc-i386.c:13281 +#: config/tc-i386.c:13204 config/tc-i386.c:13292 #, c-format msgid "invalid -march= option: `%s'" msgstr "" -#: config/tc-i386.c:13291 config/tc-i386.c:13303 +#: config/tc-i386.c:13302 config/tc-i386.c:13314 #, c-format msgid "invalid -mtune= option: `%s'" msgstr "" -#: config/tc-i386.c:13312 +#: config/tc-i386.c:13323 #, c-format msgid "invalid -mmnemonic= option: `%s'" msgstr "" -#: config/tc-i386.c:13321 +#: config/tc-i386.c:13332 #, c-format msgid "invalid -msyntax= option: `%s'" msgstr "" -#: config/tc-i386.c:13344 +#: config/tc-i386.c:13355 #, c-format msgid "invalid -msse-check= option: `%s'" msgstr "" -#: config/tc-i386.c:13355 +#: config/tc-i386.c:13366 #, c-format msgid "invalid -moperand-check= option: `%s'" msgstr "" -#: config/tc-i386.c:13364 +#: config/tc-i386.c:13375 #, c-format msgid "invalid -mavxscalar= option: `%s'" msgstr "" -#: config/tc-i386.c:13373 +#: config/tc-i386.c:13384 #, c-format msgid "invalid -mvexwig= option: `%s'" msgstr "" -#: config/tc-i386.c:13388 +#: config/tc-i386.c:13399 #, c-format msgid "invalid -mevexlig= option: `%s'" msgstr "" -#: config/tc-i386.c:13401 +#: config/tc-i386.c:13412 #, c-format msgid "invalid -mevexrcig= option: `%s'" msgstr "" -#: config/tc-i386.c:13410 +#: config/tc-i386.c:13421 #, c-format msgid "invalid -mevexwig= option: `%s'" msgstr "" -#: config/tc-i386.c:13425 +#: config/tc-i386.c:13436 #, c-format msgid "invalid -momit-lock-prefix= option: `%s'" msgstr "" -#: config/tc-i386.c:13434 +#: config/tc-i386.c:13445 #, c-format msgid "invalid -mfence-as-lock-add= option: `%s'" msgstr "" -#: config/tc-i386.c:13443 +#: config/tc-i386.c:13454 #, c-format msgid "invalid -mlfence-after-load= option: `%s'" msgstr "" -#: config/tc-i386.c:13460 +#: config/tc-i386.c:13471 #, c-format msgid "invalid -mlfence-before-indirect-branch= option: `%s'" msgstr "" -#: config/tc-i386.c:13474 +#: config/tc-i386.c:13485 #, c-format msgid "invalid -mlfence-before-ret= option: `%s'" msgstr "" -#: config/tc-i386.c:13484 +#: config/tc-i386.c:13495 #, c-format msgid "invalid -mrelax-relocations= option: `%s'" msgstr "" -#: config/tc-i386.c:13513 +#: config/tc-i386.c:13524 #, c-format msgid "invalid -malign-branch-boundary= value: %s" msgstr "" -#: config/tc-i386.c:13527 +#: config/tc-i386.c:13538 #, c-format msgid "invalid -malign-branch-prefix-size= value: %s" msgstr "" -#: config/tc-i386.c:13554 +#: config/tc-i386.c:13565 #, c-format msgid "invalid -malign-branch= option: `%s'" msgstr "" -#: config/tc-i386.c:13710 +#: config/tc-i386.c:13721 #, c-format msgid "" " -Qy, -Qn ignored\n" @@ -8773,39 +8775,39 @@ msgid "" " -k ignored\n" msgstr "" -#: config/tc-i386.c:13715 +#: config/tc-i386.c:13726 #, c-format msgid "" " -n Do not optimize code alignment\n" " -q quieten some warnings\n" msgstr "" -#: config/tc-i386.c:13719 +#: config/tc-i386.c:13730 #, c-format msgid " -s ignored\n" msgstr "" -#: config/tc-i386.c:13724 +#: config/tc-i386.c:13735 #, c-format msgid " --32/--64/--x32 generate 32bit/64bit/x32 object\n" msgstr "" -#: config/tc-i386.c:13727 +#: config/tc-i386.c:13738 #, c-format msgid " --32/--64 generate 32bit/64bit object\n" msgstr "" -#: config/tc-i386.c:13732 +#: config/tc-i386.c:13743 #, c-format msgid " --divide do not treat `/' as a comment character\n" msgstr "" -#: config/tc-i386.c:13735 +#: config/tc-i386.c:13746 #, c-format msgid " --divide ignored\n" msgstr "" -#: config/tc-i386.c:13738 +#: config/tc-i386.c:13749 #, c-format msgid "" " -march=CPU[,+EXTENSION...]\n" @@ -8813,36 +8815,36 @@ msgid "" "of:\n" msgstr "" -#: config/tc-i386.c:13742 +#: config/tc-i386.c:13753 #, c-format msgid " EXTENSION is combination of:\n" msgstr "" -#: config/tc-i386.c:13745 +#: config/tc-i386.c:13756 #, c-format msgid " -mtune=CPU optimize for CPU, CPU is one of:\n" msgstr "" -#: config/tc-i386.c:13748 +#: config/tc-i386.c:13759 #, c-format msgid " -msse2avx encode SSE instructions with VEX prefix\n" msgstr "" -#: config/tc-i386.c:13750 +#: config/tc-i386.c:13761 #, c-format msgid "" " -msse-check=[none|error|warning] (default: warning)\n" " check SSE instructions\n" msgstr "" -#: config/tc-i386.c:13753 +#: config/tc-i386.c:13764 #, c-format msgid "" " -moperand-check=[none|error|warning] (default: warning)\n" " check operand combinations for validity\n" msgstr "" -#: config/tc-i386.c:13756 +#: config/tc-i386.c:13767 #, c-format msgid "" " -mavxscalar=[128|256] (default: 128)\n" @@ -8851,7 +8853,7 @@ msgid "" " length\n" msgstr "" -#: config/tc-i386.c:13760 +#: config/tc-i386.c:13771 #, c-format msgid "" " -mvexwig=[0|1] (default: 0)\n" @@ -8859,7 +8861,7 @@ msgid "" " for VEX.W bit ignored instructions\n" msgstr "" -#: config/tc-i386.c:13764 +#: config/tc-i386.c:13775 #, c-format msgid "" " -mevexlig=[128|256|512] (default: 128)\n" @@ -8868,7 +8870,7 @@ msgid "" " length\n" msgstr "" -#: config/tc-i386.c:13768 +#: config/tc-i386.c:13779 #, c-format msgid "" " -mevexwig=[0|1] (default: 0)\n" @@ -8877,7 +8879,7 @@ msgid "" " for EVEX.W bit ignored instructions\n" msgstr "" -#: config/tc-i386.c:13772 +#: config/tc-i386.c:13783 #, c-format msgid "" " -mevexrcig=[rne|rd|ru|rz] (default: rne)\n" @@ -8886,77 +8888,77 @@ msgid "" " for SAE-only ignored instructions\n" msgstr "" -#: config/tc-i386.c:13776 +#: config/tc-i386.c:13787 #, c-format msgid " -mmnemonic=[att|intel] " msgstr "" -#: config/tc-i386.c:13779 +#: config/tc-i386.c:13790 #, c-format msgid "(default: att)\n" msgstr "" -#: config/tc-i386.c:13781 +#: config/tc-i386.c:13792 #, c-format msgid "(default: intel)\n" msgstr "" -#: config/tc-i386.c:13782 +#: config/tc-i386.c:13793 #, c-format msgid " use AT&T/Intel mnemonic\n" msgstr "" -#: config/tc-i386.c:13784 +#: config/tc-i386.c:13795 #, c-format msgid "" " -msyntax=[att|intel] (default: att)\n" " use AT&T/Intel syntax\n" msgstr "" -#: config/tc-i386.c:13787 +#: config/tc-i386.c:13798 #, c-format msgid " -mindex-reg support pseudo index registers\n" msgstr "" -#: config/tc-i386.c:13789 +#: config/tc-i386.c:13800 #, c-format msgid " -mnaked-reg don't require `%%' prefix for registers\n" msgstr "" -#: config/tc-i386.c:13791 +#: config/tc-i386.c:13802 #, c-format msgid " -madd-bnd-prefix add BND prefix for all valid branches\n" msgstr "" -#: config/tc-i386.c:13794 +#: config/tc-i386.c:13805 #, c-format msgid " -mshared disable branch optimization for shared code\n" msgstr "" -#: config/tc-i386.c:13796 +#: config/tc-i386.c:13807 #, c-format msgid " -mx86-used-note=[no|yes] " msgstr "" -#: config/tc-i386.c:13802 +#: config/tc-i386.c:13813 #, c-format msgid "" " generate x86 used ISA and feature properties\n" msgstr "" -#: config/tc-i386.c:13806 +#: config/tc-i386.c:13817 #, c-format msgid " -mbig-obj generate big object files\n" msgstr "" -#: config/tc-i386.c:13809 +#: config/tc-i386.c:13820 #, c-format msgid "" " -momit-lock-prefix=[no|yes] (default: no)\n" " strip all lock prefixes\n" msgstr "" -#: config/tc-i386.c:13812 +#: config/tc-i386.c:13823 #, c-format msgid "" " -mfence-as-lock-add=[no|yes] (default: no)\n" @@ -8964,24 +8966,24 @@ msgid "" " lock addl $0x0, (%%{re}sp)\n" msgstr "" -#: config/tc-i386.c:13816 +#: config/tc-i386.c:13827 #, c-format msgid " -mrelax-relocations=[no|yes] " msgstr "" -#: config/tc-i386.c:13822 +#: config/tc-i386.c:13833 #, c-format msgid " generate relax relocations\n" msgstr "" -#: config/tc-i386.c:13824 +#: config/tc-i386.c:13835 #, c-format msgid "" " -malign-branch-boundary=NUM (default: 0)\n" " align branches within NUM byte boundary\n" msgstr "" -#: config/tc-i386.c:13827 +#: config/tc-i386.c:13838 #, c-format msgid "" " -malign-branch=TYPE[+TYPE...] (default: jcc+fused+jmp)\n" @@ -8991,28 +8993,28 @@ msgid "" " specify types of branches to align\n" msgstr "" -#: config/tc-i386.c:13832 +#: config/tc-i386.c:13843 #, c-format msgid "" " -malign-branch-prefix-size=NUM (default: 5)\n" " align branches with NUM prefixes per instruction\n" msgstr "" -#: config/tc-i386.c:13835 +#: config/tc-i386.c:13846 #, c-format msgid "" " -mbranches-within-32B-boundaries\n" " align branches within 32 byte boundary\n" msgstr "" -#: config/tc-i386.c:13838 +#: config/tc-i386.c:13849 #, c-format msgid "" " -mlfence-after-load=[no|yes] (default: no)\n" " generate lfence after load\n" msgstr "" -#: config/tc-i386.c:13841 +#: config/tc-i386.c:13852 #, c-format msgid "" " -mlfence-before-indirect-branch=[none|all|register|memory] (default: " @@ -9020,87 +9022,87 @@ msgid "" " generate lfence before indirect near branch\n" msgstr "" -#: config/tc-i386.c:13844 +#: config/tc-i386.c:13855 #, c-format msgid "" " -mlfence-before-ret=[none|or|not|shl|yes] (default: none)\n" " generate lfence before ret\n" msgstr "" -#: config/tc-i386.c:13847 +#: config/tc-i386.c:13858 #, c-format msgid " -mamd64 accept only AMD64 ISA [default]\n" msgstr "" -#: config/tc-i386.c:13849 +#: config/tc-i386.c:13860 #, c-format msgid " -mintel64 accept only Intel64 ISA\n" msgstr "" -#: config/tc-i386.c:13890 +#: config/tc-i386.c:13901 #, c-format msgid "Intel MCU doesn't support `%s' architecture" msgstr "" -#: config/tc-i386.c:13958 +#: config/tc-i386.c:13969 msgid "Intel L1OM is 64bit only" msgstr "" -#: config/tc-i386.c:13964 +#: config/tc-i386.c:13975 msgid "Intel K1OM is 64bit only" msgstr "" -#: config/tc-i386.c:13970 +#: config/tc-i386.c:13981 msgid "Intel MCU is 32bit only" msgstr "" -#: config/tc-i386.c:14082 +#: config/tc-i386.c:14093 msgid "" "constant directive skips -mlfence-before-ret and -mlfence-before-indirect-" "branch" msgstr "" -#: config/tc-i386.c:14085 +#: config/tc-i386.c:14096 msgid "constant directive skips -mlfence-before-ret" msgstr "" -#: config/tc-i386.c:14088 +#: config/tc-i386.c:14099 msgid "constant directive skips -mlfence-before-indirect-branch" msgstr "" -#: config/tc-i386.c:14199 +#: config/tc-i386.c:14210 msgid "symbol size computation overflow" msgstr "" -#: config/tc-i386.c:14273 config/tc-sparc.c:3852 +#: config/tc-i386.c:14284 config/tc-sparc.c:3852 #, c-format msgid "can not do %d byte pc-relative relocation" msgstr "" -#: config/tc-i386.c:14291 +#: config/tc-i386.c:14302 #, c-format msgid "can not do %d byte relocation" msgstr "" -#: config/tc-i386.c:14359 +#: config/tc-i386.c:14370 #, c-format msgid "cannot represent relocation type %s in x32 mode" msgstr "" -#: config/tc-i386.c:14396 config/tc-s390.c:2605 +#: config/tc-i386.c:14407 config/tc-s390.c:2605 #, c-format msgid "cannot represent relocation type %s" msgstr "" -#: config/tc-i386.c:14513 +#: config/tc-i386.c:14524 msgid "bad .section directive: want a,l,w,x,M,S,G,T in string" msgstr "" -#: config/tc-i386.c:14516 +#: config/tc-i386.c:14527 msgid "bad .section directive: want a,w,x,M,S,G,T in string" msgstr "" -#: config/tc-i386.c:14535 +#: config/tc-i386.c:14546 msgid ".largecomm supported only in 64bit mode, producing .comm" msgstr "" @@ -11098,7 +11100,7 @@ msgstr "" msgid "Not a defined coldfire architecture" msgstr "" -#: config/tc-m68k.c:7923 read.c:4673 +#: config/tc-m68k.c:7923 read.c:4678 #, c-format msgid "%s relocations do not fit in %u byte" msgid_plural "%s relocations do not fit in %u bytes" @@ -12115,7 +12117,7 @@ msgstr "" msgid "operand %d must be constant" msgstr "" -#: config/tc-mips.c:4970 read.c:4458 read.c:5254 write.c:263 write.c:1031 +#: config/tc-mips.c:4970 read.c:4458 read.c:5259 write.c:263 write.c:1031 msgid "register value used as expression" msgstr "" @@ -15458,7 +15460,7 @@ msgstr "" #: config/tc-riscv.c:1310 #, c-format -msgid "internal: usupported RISC-V relocation number %d" +msgid "internal: unsupported RISC-V relocation number %d" msgstr "" #: config/tc-riscv.c:1392 @@ -20891,7 +20893,7 @@ msgstr "" msgid "bignum invalid" msgstr "" -#: expr.c:75 read.c:3946 read.c:4452 read.c:5248 +#: expr.c:75 read.c:3946 read.c:4452 read.c:5253 msgid "floating point number invalid" msgstr "" @@ -20935,7 +20937,7 @@ msgstr "" msgid "missing '%c'" msgstr "" -#: expr.c:1007 read.c:4732 +#: expr.c:1007 read.c:4737 msgid "EBCDIC constants are not supported" msgstr "" @@ -21270,18 +21272,19 @@ msgstr "" msgid "Please report this bug.\n" msgstr "" -#: messages.c:384 +#: messages.c:393 #, c-format -msgid "%s out of domain (%" +msgid "%s out of domain (%s is not a multiple of %s)" msgstr "" -#: messages.c:401 +#. xgettext:c-format. +#: messages.c:412 #, c-format -msgid "%s out of range (%" +msgid "%s out of range (%s is not between %s and %s)" msgstr "" #. xgettext:c-format. -#: messages.c:423 +#: messages.c:426 #, c-format msgid "%s out of range (0x%s is not between 0x%s and 0x%s)" msgstr "" @@ -21574,167 +21577,168 @@ msgstr "" msgid "bad reloc expression" msgstr "" -#: read.c:4446 read.c:5242 +#: read.c:4446 read.c:5247 msgid "zero assumed for missing expression" msgstr "" -#: read.c:4466 read.c:5271 +#: read.c:4466 read.c:5276 msgid "attempt to store value in absolute section" msgstr "" -#: read.c:4473 read.c:5277 +#: read.c:4473 read.c:5282 #, c-format msgid "attempt to store non-zero value in section `%s'" msgstr "" #. Leading bits contain both 0s & 1s. -#: read.c:4550 -msgid "value 0x%" +#: read.c:4556 +#, c-format +msgid "value 0x%s truncated to 0x%s" msgstr "" -#: read.c:4594 +#: read.c:4599 #, c-format msgid "bignum truncated to %d byte" msgid_plural "bignum truncated to %d bytes" msgstr[0] "" msgstr[1] "" -#: read.c:4803 read.c:4980 +#: read.c:4808 read.c:4985 msgid "unresolvable or nonpositive repeat count; using 1" msgstr "" -#: read.c:4852 +#: read.c:4857 #, c-format msgid "unknown floating type type '%c'" msgstr "" -#: read.c:4874 +#: read.c:4879 msgid "floating point constant too large" msgstr "" -#: read.c:4937 +#: read.c:4942 msgid "attempt to store float in absolute section" msgstr "" -#: read.c:4944 +#: read.c:4949 #, c-format msgid "attempt to store float in section `%s'" msgstr "" -#: read.c:5360 +#: read.c:5365 #, c-format msgid "attempt to store non-empty string in section `%s'" msgstr "" -#: read.c:5422 +#: read.c:5427 msgid "strings must be placed into a section" msgstr "" -#: read.c:5489 +#: read.c:5494 msgid "expected " msgstr "" #. To be compatible with BSD 4.2 as: give the luser a linefeed!! -#: read.c:5530 read.c:5617 +#: read.c:5535 read.c:5622 msgid "unterminated string; newline inserted" msgstr "" -#: read.c:5631 +#: read.c:5636 msgid "bad escaped character in string" msgstr "" -#: read.c:5655 +#: read.c:5660 msgid "expected address expression" msgstr "" -#: read.c:5674 +#: read.c:5679 #, c-format msgid "symbol \"%s\" undefined; zero assumed" msgstr "" -#: read.c:5677 +#: read.c:5682 msgid "some symbol undefined; zero assumed" msgstr "" -#: read.c:5711 +#: read.c:5716 msgid "this string may not contain '\\0'" msgstr "" -#: read.c:5748 +#: read.c:5753 msgid "missing string" msgstr "" -#: read.c:5839 +#: read.c:5844 #, c-format msgid ".incbin count zero, ignoring `%s'" msgstr "" -#: read.c:5865 +#: read.c:5870 #, c-format msgid "file not found: %s" msgstr "" -#: read.c:5879 +#: read.c:5884 #, c-format msgid "unable to include `%s'" msgstr "" -#: read.c:5888 +#: read.c:5893 #, c-format msgid "seek to end of .incbin file failed `%s'" msgstr "" -#: read.c:5899 +#: read.c:5904 #, c-format msgid "skip (%ld) or count (%ld) invalid for file size (%ld)" msgstr "" -#: read.c:5906 +#: read.c:5911 #, c-format msgid "could not skip to %ld in file `%s'" msgstr "" -#: read.c:5915 +#: read.c:5920 #, c-format msgid "truncated file `%s', %ld of %ld bytes read" msgstr "" -#: read.c:6072 +#: read.c:6077 msgid "missing .func" msgstr "" -#: read.c:6089 +#: read.c:6094 msgid ".endfunc missing for previous .func" msgstr "" -#: read.c:6148 +#: read.c:6153 #, c-format msgid ".bundle_align_mode alignment too large (maximum %u)" msgstr "" -#: read.c:6153 +#: read.c:6158 msgid "cannot change .bundle_align_mode inside .bundle_lock" msgstr "" -#: read.c:6167 +#: read.c:6172 msgid ".bundle_lock is meaningless without .bundle_align_mode" msgstr "" -#: read.c:6188 +#: read.c:6193 msgid ".bundle_unlock without preceding .bundle_lock" msgstr "" -#: read.c:6201 +#: read.c:6206 #, c-format msgid ".bundle_lock sequence is %u bytes, but bundle size is only %u bytes" msgstr "" -#: read.c:6300 +#: read.c:6305 #, c-format msgid "missing closing `%c'" msgstr "" -#: read.c:6302 +#: read.c:6307 msgid "stray `\\'" msgstr "" diff --git a/gas/read.c b/gas/read.c index 935b1fa7bde..ea9261e639b 100644 --- a/gas/read.c +++ b/gas/read.c @@ -4546,9 +4546,14 @@ emit_expr_with_reloc (expressionS *exp, use = get & unmask; if ((get & mask) != 0 && (-get & mask) != 0) { + char get_buf[128]; + char use_buf[128]; + + /* These buffers help to ease the translation of the warning message. */ + sprintf_vma (get_buf, get); + sprintf_vma (use_buf, use); /* Leading bits contain both 0s & 1s. */ - as_warn (_("value 0x%" BFD_VMA_FMT "x truncated to 0x%" BFD_VMA_FMT "x"), - get, use); + as_warn (_("value 0x%s truncated to 0x%s"), get_buf, use_buf); } /* Put bytes in right order. */ md_number_to_chars (p, use, (int) nbytes); diff --git a/gas/testsuite/gas/all/overflow.l b/gas/testsuite/gas/all/overflow.l index 96309570ef0..7f98e852f62 100644 --- a/gas/testsuite/gas/all/overflow.l +++ b/gas/testsuite/gas/all/overflow.l @@ -1,8 +1,8 @@ .*: Assembler messages: -.*:5: Warning: .* (0x)?100 truncated to (0x)?0 -.*:6: Warning: .* (0x)?101 truncated to (0x)?1 -.*:11: Warning: .* (0x)?f+00 truncated to (0x)?0 -.*:12: Warning: .* (0x)?f+eff truncated to (0x)?ff +.*:5: Warning: .* 0x0+100 truncated to 0x0+0 +.*:6: Warning: .* 0x0+101 truncated to 0x0+1 +.*:11: Warning: .* 0xf+00 truncated to 0x0+0 +.*:12: Warning: .* 0xf+eff truncated to 0x0+ff .*:17: Error: .* (256|(0x)?100) too large .* .*:18: Error: .* (257|(0x)?101) too large .* .*:23: Error: .* (0x)?f+00 too large .* -- 2.30.2