aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog1485
-rw-r--r--bfd/Makefile.am4
-rw-r--r--bfd/Makefile.in5
-rw-r--r--bfd/archive.c13
-rw-r--r--bfd/bfd-in2.h1
-rw-r--r--bfd/bfd.c30
-rw-r--r--bfd/binary.c4
-rw-r--r--bfd/coff-arm.c6
-rw-r--r--bfd/coff-mcore.c5
-rw-r--r--bfd/coff-ppc.c14
-rw-r--r--bfd/coff-rs6000.c128
-rw-r--r--bfd/coff-sh.c38
-rw-r--r--bfd/coff-tic80.c4
-rw-r--r--bfd/coff64-rs6000.c42
-rw-r--r--bfd/coffcode.h33
-rw-r--r--bfd/coffgen.c4
-rw-r--r--bfd/cofflink.c8
-rw-r--r--bfd/compress.c6
-rwxr-xr-xbfd/configure36
-rw-r--r--bfd/configure.ac36
-rw-r--r--bfd/cpu-pdp11.c2
-rw-r--r--bfd/dwarf2.c46
-rw-r--r--bfd/ecoff.c2
-rw-r--r--bfd/ecofflink.c2
-rw-r--r--bfd/elf-attrs.c10
-rw-r--r--bfd/elf-bfd.h25
-rw-r--r--bfd/elf-eh-frame.c31
-rw-r--r--bfd/elf-ifunc.c125
-rw-r--r--bfd/elf-m10300.c6
-rw-r--r--bfd/elf-properties.c9
-rw-r--r--bfd/elf.c141
-rw-r--r--bfd/elf32-arc.c21
-rw-r--r--bfd/elf32-arm.c90
-rw-r--r--bfd/elf32-bfin.c17
-rw-r--r--bfd/elf32-cris.c10
-rw-r--r--bfd/elf32-frv.c8
-rw-r--r--bfd/elf32-ft32.c2
-rw-r--r--bfd/elf32-hppa.c83
-rw-r--r--bfd/elf32-i370.c8
-rw-r--r--bfd/elf32-i386.c2930
-rw-r--r--bfd/elf32-ip2k.c4
-rw-r--r--bfd/elf32-iq2000.c4
-rw-r--r--bfd/elf32-lm32.c4
-rw-r--r--bfd/elf32-m32c.c8
-rw-r--r--bfd/elf32-m32r.c5
-rw-r--r--bfd/elf32-m68hc1x.c4
-rw-r--r--bfd/elf32-m68k.c21
-rw-r--r--bfd/elf32-mcore.c4
-rw-r--r--bfd/elf32-mep.c2
-rw-r--r--bfd/elf32-metag.c7
-rw-r--r--bfd/elf32-microblaze.c12
-rw-r--r--bfd/elf32-msp430.c6
-rw-r--r--bfd/elf32-mt.c2
-rw-r--r--bfd/elf32-nds32.c78
-rw-r--r--bfd/elf32-nios2.c4
-rw-r--r--bfd/elf32-ppc.c174
-rw-r--r--bfd/elf32-rx.c2
-rw-r--r--bfd/elf32-s390.c21
-rw-r--r--bfd/elf32-score.c4
-rw-r--r--bfd/elf32-score7.c4
-rw-r--r--bfd/elf32-sh.c86
-rw-r--r--bfd/elf32-sh64.c6
-rw-r--r--bfd/elf32-spu.c4
-rw-r--r--bfd/elf32-tic6x.c6
-rw-r--r--bfd/elf32-tilepro.c16
-rw-r--r--bfd/elf32-v850.c36
-rw-r--r--bfd/elf32-vax.c8
-rw-r--r--bfd/elf32-xtensa.c33
-rw-r--r--bfd/elf64-alpha.c10
-rw-r--r--bfd/elf64-hppa.c6
-rw-r--r--bfd/elf64-ia64-vms.c19
-rw-r--r--bfd/elf64-mmix.c43
-rw-r--r--bfd/elf64-ppc.c428
-rw-r--r--bfd/elf64-s390.c25
-rw-r--r--bfd/elf64-sh64.c14
-rw-r--r--bfd/elf64-sparc.c4
-rw-r--r--bfd/elf64-x86-64.c3209
-rw-r--r--bfd/elfcode.h4
-rw-r--r--bfd/elfcore.h6
-rw-r--r--bfd/elflink.c315
-rw-r--r--bfd/elfnn-aarch64.c86
-rw-r--r--bfd/elfnn-ia64.c14
-rw-r--r--bfd/elfnn-riscv.c90
-rw-r--r--bfd/elfxx-mips.c39
-rw-r--r--bfd/elfxx-riscv.c76
-rw-r--r--bfd/elfxx-sparc.c6
-rw-r--r--bfd/elfxx-tilegx.c16
-rw-r--r--bfd/elfxx-x86.c2508
-rw-r--r--bfd/elfxx-x86.h531
-rw-r--r--bfd/ieee.c8
-rw-r--r--bfd/ihex.c7
-rw-r--r--bfd/libbfd.h6
-rw-r--r--bfd/mach-o-aarch64.c8
-rw-r--r--bfd/mach-o-arm.c38
-rw-r--r--bfd/mach-o-i386.c23
-rw-r--r--bfd/mach-o-x86-64.c8
-rw-r--r--bfd/mach-o.c43
-rw-r--r--bfd/mach-o.h2
-rw-r--r--bfd/merge.c4
-rw-r--r--bfd/mmo.c17
-rw-r--r--bfd/nlmcode.h4
-rw-r--r--bfd/opncls.c19
-rw-r--r--bfd/peXXigen.c9
-rw-r--r--bfd/po/SRC-POTFILES.in2
-rw-r--r--bfd/po/bfd.pot2282
-rw-r--r--bfd/po/es.po1
-rw-r--r--bfd/po/fi.po1
-rw-r--r--bfd/po/fr.po6597
-rw-r--r--bfd/po/hr.po6138
-rw-r--r--bfd/po/id.po4521
-rw-r--r--bfd/po/ja.po1
-rw-r--r--bfd/po/ro.po1
-rw-r--r--bfd/po/ru.po1
-rw-r--r--bfd/po/sr.po1
-rw-r--r--bfd/po/sv.po1
-rw-r--r--bfd/po/tr.po1
-rw-r--r--bfd/po/uk.po6348
-rw-r--r--bfd/po/vi.po509
-rw-r--r--bfd/po/zh_CN.po1
-rw-r--r--bfd/reloc.c45
-rw-r--r--bfd/section.c2
-rw-r--r--bfd/som.c2
-rw-r--r--bfd/stabs.c2
-rw-r--r--bfd/sunos.c2
-rw-r--r--bfd/tekhex.c2
-rw-r--r--bfd/version.h20
-rw-r--r--bfd/vms-alpha.c155
-rw-r--r--bfd/vms-misc.c8
-rw-r--r--bfd/xcofflink.c12
-rw-r--r--bfd/xtensa-isa.c3
130 files changed, 26870 insertions, 13469 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f7363ba..1df9691 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,1488 @@
+2017-09-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22163
+ * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Also return
+ -1 if bfd_canonicalize_dynamic_reloc returns 0.
+
+2017-09-22 Pedro Alves <palves@redhat.com>
+ Alan Modra <amodra@gmail.com>
+
+ * version.h: Add comment.
+
+2017-09-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * elf.c (elfcore_grok_note): For the cases NT_S390_GS_CB and
+ NT_S390_GS_BC, correct the previously swapped invocations of
+ elfcore_grok_s390_gs_bc and elfcore_grok_s390_gs_cb.
+
+2017-09-19 Alan Modra <amodra@gmail.com>
+
+ PR 21441
+ * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame
+ size.
+
+2017-09-19 Alan Modra <amodra@gmail.com>
+
+ PR 22150
+ * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
+ symbols before calculating verrefs. Don't renumber dynsyms
+ after gc. Exclude .gnu.version when zero or one dynsym.
+ Localize some vars and reindent.
+
+2017-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22148
+ * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Check error
+ return from bfd_canonicalize_dynamic_reloc.
+
+2017-09-15 Alan Modra <amodra@gmail.com>
+
+ PR 22116
+ * archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size
+ overflows bfd_size_type.
+
+2017-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22135
+ * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument
+ to indicate if conversion is performed.
+ (elf_i386_check_relocs): Cache section contents and relocations
+ if conversion is performed.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Cache section
+ contents and relocations if conversion is performed.
+
+2017-09-14 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/22113
+ * peXXigen.c (pe_print_idata): Extend check for HintName vector
+ entries.
+
+2017-09-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h: Fix a typo in comments.
+
+2017-09-09 Kamil Rytarowski <n54@gmx.com>
+
+ * elf32-nds32.c: Rename __BIT() to N32_BIT().
+
+2017-09-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppp.c (plt_stub_pad): Handle positive and negative
+ plt_stub_align.
+
+2017-09-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Update usage of
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_finish_dynamic_symbol): Likewise.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
+ (_bfd_x86_elf_fixup_symbol): Likewise.
+
+2017-09-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+ check has_non_got_reloc.
+
+2017-09-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22115
+ * elf32-i386.c (elf_i386_convert_load_reloc): Check linker_def.
+ Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Check
+ linker_def. Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Set local_ref
+ and linker_def on __ehdr_start if it is referenced and not
+ defined.
+ (_bfd_x86_elf_link_symbol_references_local): Also set local_ref
+ and return TRUE when building executable, if a symbol has
+ non-GOT/non-PLT relocations in text section or there is no
+ dynamic linker.
+ * elfxx-x86.h (elf_x86_link_hash_entry): Add linker_def.
+
+2017-09-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h: Update comments.
+
+2017-09-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): Replace
+ elf_x86_plt_layout_table with elf_x86_init_table.
+ * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
+ Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties):
+ Likewise.
+ * elfxx-x86.h (elf_x86_plt_layout_table): Renamed to ...
+ (elf_x86_init_table): This.
+ (_bfd_x86_elf_link_setup_gnu_properties): Replace
+ elf_x86_plt_layout_table with elf_x86_init_table.
+
+2017-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor
+ elf64.lo together with elfxx-x86.lo for 64-bit BFD.
+ * configure: Regenerated.
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info
+ and r_sym fields of plt_layout.
+ * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
+ Likewise.
+ * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check.
+ (_bfd_x86_elf_link_hash_table_create): Likewise. Don't set
+ r_info nor r_sym fields.
+ (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym
+ fields of htab.
+ * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.
+
+2017-09-07 Palmer Dabbelt <palmer@dabbelt.com>
+
+ * (_bfd_riscv_relax_align): Call bfd_set_error and
+ print an error message when unable to relax a .align directive.
+
+2017-09-07 Palmer Dabbelt <palmer@dabbelt.com>
+
+ * elfnn-riscv.c (riscv_zero_pcrel_hi_reloc): New function.
+ (riscv_record_pcrel_hi_reloc): Add absolute argument.
+ (riscv_elf_relocate_section): Call riscv_zero_pcrel_hi_reloc for
+ R_RISCV_PCREL_HI20 relocs, and pass the result to
+ riscv_record_pcrel_hi_reloc.
+
+2017-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument,
+ r_type_p. Remove the converted argument. Replace
+ SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P. Return
+ the new relocation type via r_type_p.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (need_convert_load): Removed.
+ (check_relocs_failed): Updated.
+ (elf_i386_check_relocs): Call elf_i386_convert_load_reloc,
+ instead of setting need_convert_load.
+ (_bfd_i386_elf_convert_load): Removed.
+ * elf64-x86-64.c (need_convert_load): Removed.
+ (check_relocs_failed): Updated.
+ (elf_x86_64_convert_load_reloc): Add an argument, r_type_p.
+ Replace SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P.
+ Return the new relocation type via r_type_p.
+ (elf_x86_64_check_relocs): Call elf_x86_64_convert_load_reloc,
+ instead of setting need_convert_load.
+ (elf_x86_64_check_relocs): Don't check PIC if relocation has
+ been converted.
+ (_bfd_x86_64_elf_convert_load): Removed.
+ (elf_x86_64_relocate_section): Replace SYMBOL_REFERENCES_LOCAL
+ with SYMBOL_REFERENCES_LOCAL_P.
+ (elf_x86_64_finish_dynamic_symbol): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Don't
+ set convert_load.
+ (_bfd_x86_elf_size_dynamic_sections): Don't call convert_load.
+ (_bfd_x86_elf_link_symbol_references_local): New function.
+ * elfxx-x86.h (SYMBOL_REFERENCES_LOCAL_P): New.
+ (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace elf.forced_local with
+ SYMBOL_REFERENCES_LOCAL_P.
+ (elf_x86_link_hash_entry): Add local_ref.
+ (elf_x86_link_hash_table): Remove convert_load.
+ (_bfd_i386_elf_convert_load): Removed.
+ (_bfd_x86_64_elf_convert_load): Likewise.
+ (_bfd_x86_elf_link_symbol_references_local): New.
+
+2017-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (R_X86_64_converted_reloc_bit): New.
+ (elf_x86_64_info_to_howto): Get the real relocation type by
+ masking out R_X86_64_converted_reloc_bit.
+ (elf_x86_64_check_tls_transition): Get the real relocation type
+ by masking out R_X86_64_converted_reloc_bit.
+ (elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit
+ instead of setting converted_reloc.
+ (elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit
+ instead of converted_reloc. Get the real relocation type by
+ masking out R_X86_64_converted_reloc_bit.
+ (elf_x86_64_link_setup_gnu_properties): Verify that the value of
+ R_X86_64_converted_reloc_bit is valid.
+ * elfxx-x86.h (converted_reloc): Removed.
+
+2017-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Don't change r_type
+ when calling elf_i386_tls_transition. Don't use ELF32_R_TYPE
+ to get the relocation type again.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Don't change
+ r_type when calling elf_x86_64_tls_transition. Don't use
+ ELF32_R_TYPE to get the relocation type again.
+
+2017-09-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set
+ converted_reloc.
+
+2017-09-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Remove the sec
+ argument. Don't check relocation overflow. Avoid relocation
+ overflow if --no-relax is used. Set converted_reloc on symbol
+ if a GOTPCREL relocation is converted.
+ (elf_x86_64_relocate_section): Issue a fatal error and suggest
+ --no-relax if GOTPCREL relocation conversion leads to relocation
+ overflow.
+ * elfxx-x86.h (elf_x86_link_hash_entry): Add converted_reloc.
+
+2017-09-05 Alexander Fedotov <alexander.fedotov@nxp.com>
+ Edmar Wienskoski <edmar.wienskoski@nxp.com
+
+ * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_VLE_ADDR20.
+ (ppc_elf_check_relocs): Handle it.
+ (ppc_elf_vle_split20): New function.
+ (ppc_elf_relocate_section): Handle R_PPC_VLE_ADDR20.
+
+2017-09-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22071
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Set tlsdesc_plt
+ for x86-64 if GOT_TLS_GDESC_P is true.
+
+2017-09-03 Alan Modra <amodra@gmail.com>
+
+ PR 22067
+ * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
+ tls_get_addr for x86-64 in one place.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac (bfd_backends): Add elf64-x86-64.lo together
+ with elfxx-x86.lo for 64-bit BFD.
+ * configure: Regenerated.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_convert_load): Renamed to ...
+ (_bfd_i386_elf_convert_load): This. Remove static.
+ (elf_i386_size_dynamic_sections): Removed.
+ (elf_backend_size_dynamic_sections): Likewise.
+ * elf64-x86-64.c (elf_x86_64_convert_load): Renamed to ...
+ (_bfd_x86_64_elf_convert_load): This. Remove static.
+ (elf_x86_64_size_dynamic_sections): Removed.
+ (elf_backend_size_dynamic_sections): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): Renamed to ...
+ (elf_x86_allocate_dynrelocs): This. Make it static.
+ (_bfd_x86_elf_allocate_local_dynrelocs): Renamed to ...
+ (elf_x86_allocate_local_dynreloc): This. Make it static.
+ (elf_i386_is_reloc_section): New function.
+ (elf_x86_64_is_reloc_section): Likewise.
+ (_bfd_x86_elf_link_hash_table_create): Initialize convert_load,
+ is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
+ Rearrange got_entry_size initialization.
+ (_bfd_x86_elf_size_dynamic_sections): New function.
+ * elfxx-x86.h (elf_x86_link_hash_table): Add convert_load,
+ is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
+ (_bfd_i386_elf_convert_load): New.
+ (_bfd_x86_64_elf_convert_load): Likewise.
+ (_bfd_x86_elf_size_dynamic_sections): Likewise.
+ (elf_backend_size_dynamic_sections): Likewise.
+ (_bfd_x86_elf_allocate_dynrelocs): Removed.
+ (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h (elf_x86_link_hash_table): Rearrange fields and
+ update comments.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Set
+ sgotplt_jump_table_size with elf_x86_compute_jump_table_size.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
+ PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Moved to ...
+ * elfxx-x86.h (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
+ PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Here.
+ * elf64-x86-64.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
+ PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Removed.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_allocate_dynrelocs): Removed.
+ (elf_i386_allocate_local_dynrelocs): Likewise.
+ (elf_i386_size_dynamic_sections): Replace
+ elf_i386_allocate_dynrelocs/elf_i386_allocate_local_dynrelocs
+ with _bfd_x86_elf_allocate_dynrelocs and
+ _bfd_x86_elf_allocate_local_dynrelocs.
+ * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Removed.
+ (elf_x86_64_allocate_local_dynrelocs): Likewise.
+ (elf_x86_64_size_dynamic_sections): Replace
+ elf_x86_64_allocate_dynrelocs/elf_x86_64_allocate_local_dynrelocs
+ with _bfd_x86_elf_allocate_dynrelocs and
+ _bfd_x86_elf_allocate_local_dynrelocs.
+ * elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): New function.
+ (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
+ * elfxx-x86.h (_bfd_x86_elf_allocate_dynrelocs): New prototype.
+ (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (is_i386_elf): Removed.
+ (elf_i386_check_relocs): Replace is_i386_elf with is_x86_elf.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ * elf64-x86-64.c (is_x86_64_elf): Removed.
+ (elf_x86_64_check_relocs): Replace is_x86_64_elf with
+ is_x86_elf.
+ (elf_x86_64_size_dynamic_sections): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
+ target_id.
+ * elfxx-x86.h (elf_x86_link_hash_table): Add target_id.
+ (is_x86_elf): New.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_compute_jump_table_size): Removed.
+ (elf_i386_allocate_dynrelocs): Replace
+ elf_i386_compute_jump_table_size with
+ elf_x86_compute_jump_table_size.
+ (elf_i386_size_dynamic_sections): Likewise.
+ * elf64-x86-64.c (elf_x86_64_compute_jump_table_size): Removed.
+ (elf_x86_64_allocate_dynrelocs): Replace
+ elf_x86_64_compute_jump_table_size with
+ elf_x86_compute_jump_table_size.
+ (elf_x86_64_size_dynamic_sections): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
+ got_entry_size.
+ * elfxx-x86.h (elf_x86_link_hash_table): Add got_entry_size.
+ (elf_x86_compute_jump_table_size): New.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
+ sizeof_reloc.
+ (_bfd_x86_elf_adjust_dynamic_symbol): Use sizeof_reloc.
+ * elfxx-x86.h (elf_x86_link_hash_table): Add sizeof_reloc.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_allocate_dynrelocs): Check VxWorks
+ with htab->is_vxworks.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+
+2017-09-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
+ GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
+ GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Moved to ...
+ * elfxx-x86.h (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
+ GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
+ GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Here.
+ * elf64-x86-64.c (GOT_TLS_IE, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
+ GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Removed.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22064
+ * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
+ ELF_COMMON_DEF_P for common symbols.
+
+2017-09-02 Alan Modra <amodra@gmail.com>
+
+ * elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
+ * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_gc_mark_hook): Removed.
+ (elf_backend_gc_mark_hook): Likewise.
+ * elf64-x86-64.c (elf_x86_64_gc_mark_hook): Likewise.
+ (elf_backend_gc_mark_hook): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_gc_mark_hook): New function.
+ * elfxx-x86.h (_bfd_x86_elf_gc_mark_hook): New.
+ (elf_backend_gc_mark_hook): Likewise.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Removed.
+ (elf_backend_adjust_dynamic_symbol): Likewise.
+ * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
+ (elf_backend_adjust_dynamic_symbol): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_adjust_dynamic_symbol): New function.
+ (_bfd_x86_elf_link_setup_gnu_properties): Copy is_vxworks.
+ * elfxx-x86.h (elf_x86_link_hash_table): Add is_vxworks.
+ (_bfd_x86_elf_adjust_dynamic_symbol): New.
+ (elf_backend_adjust_dynamic_symbol): Likewise.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h (elf_x86_plt_layout_table): Fix a typo in
+ comments.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_mkobject): Removed.
+ (bfd_elf32_mkobject): Likewise.
+ * elf64-x86-64.c (elf_x86_64_mkobject): Likewise.
+ (bfd_elf64_mkobject): Likewise.
+ (bfd_elf32_mkobject): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_mkobject): New function.
+ * elfxx-x86.h (_bfd_x86_elf_mkobject): New.
+ (bfd_elf64_mkobject): Likewise.
+ (bfd_elf32_mkobject): Likewise.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): Updated.
+ Call _bfd_x86_elf_link_setup_gnu_properties.
+ * elf64-x86-64.c (elf_x86_lazy_plt_layout): Initialize
+ pic_plt0_entry and pic_plt_entry fields with the non-PIC PLT
+ entries.
+ (elf_x86_64_non_lazy_plt): Likewise.
+ (elf_x86_64_lazy_bnd_plt): Likewise.
+ (elf_x86_64_non_lazy_bnd_plt): Likewise.
+ (elf_x86_64_lazy_ibt_plt): Likewise.
+ (elf_x32_lazy_ibt_plt): Likewise.
+ (elf_x86_64_non_lazy_ibt_plt): Likewise.
+ (elf_x32_non_lazy_ibt_plt): Likewise.
+ (elf_x86_64_nacl_plt): Likewise.
+ (elf_x86_64_link_setup_gnu_properties): Updated. Call
+ _bfd_x86_elf_link_setup_gnu_properties.
+ * elfxx-x86.c: Include elf-vxworks.h".
+ (_bfd_x86_elf_link_setup_gnu_properties): New function.
+ * elfxx-x86.h (elf_x86_lazy_plt_layout): Remove "for i386 only"
+ comments for pic_plt0_entry and pic_plt_entry.
+ (elf_x86_non_lazy_plt_layout): Likewise.
+ (elf_x86_plt_layout_table): New.
+ (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
+
+2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22061
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): Create
+ .eh_frame section for the second PLT.
+ * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Correct
+ alignment of .eh_frame section for the second PLT.
+
+2017-09-01 Nick Clifton <nickc@redhat.com>
+
+ PR 22059
+ * dwarf2.c (decode_line_info): Fix test for an overlong line info
+ structure.
+
+2017-09-01 Nick Clifton <nickc@redhat.com>
+
+ PR 22058
+ * elf-attrs.c (_bfd_elf_parse_attributes): Ensure that the
+ attribute buffer is NUL terminated.
+
+2017-08-31 Nick Clifton <nickc@redhat.com>
+
+ PR 22047
+ * dwarf2.c (read_section): If necessary add a terminating NUL byte
+ to dwarf string sections.
+
+2017-08-31 Alan Modra <amodra@gmail.com>
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+2017-08-31 Alan Modra <amodra@gmail.com>
+
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Don't exit early
+ for a section containing just a terminator. Allow multiple
+ terminators at end of section.
+ * elflink.c (bfd_elf_discard_info): Iterate over .eh_frame
+ sections when not adding alignment. Assert on terminator in
+ the middle of FDEs.
+
+2017-08-31 Alan Modra <amodra@gmail.com>
+
+ PR 21441
+ PR 22048
+ * elflink.c (bfd_elf_discard_info): Don't pad embedded zero
+ terminators.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac (bfd_backends): Add elf64.lo together with
+ elfxx-x86.lo for 64-bit BFD.
+ * configure: Regenerated.
+
+2017-08-31 James Bowman <james.bowman@ftdichip.com>
+
+ * elf32-ft32.c (ft32_elf_howto_table): Use complain_overflow_dont
+ for R_FT32_18.
+
+2017-08-31 Alan Modra <amodra@gmail.com>
+
+ PR binutils/22032
+ * opncls.c (bfd_close_all_done): Don't call bfd_cache_close
+ before _close_and_cleanup. Call iovec->bclose after.
+ (bfd_close): Remove code common to, and call, bfd_close_all_done.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_plt_type): Removed.
+ (elf_i386_plt): Likewise.
+ (elf_i386_get_synthetic_symtab): Updated. Call
+ _bfd_x86_elf_get_synthetic_symtab.
+ * elf64-x86-64.c (elf_x86_64_plt_type): Removed.
+ (elf_x86_64_plt): Likewise.
+ (elf_x86_64_get_synthetic_symtab): Updated. Call
+ _bfd_x86_elf_get_synthetic_symtab.
+ * elfxx-x86.c (elf_i386_get_plt_got_vma): New function.
+ (elf_x86_64_get_plt_got_vma): Likewise.
+ (elf_i386_valid_plt_reloc_p): Likewise.
+ (elf_x86_64_valid_plt_reloc_p): Likewise.
+ (_bfd_x86_elf_get_synthetic_symtab): Likewise.
+ * elfxx-x86.h (elf_x86_plt_type): New.
+ (elf_x86_plt): Likewise.
+ (_bfd_x86_elf_get_synthetic_symtab): Likewise.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
+ target_id instead of elf_machine_code.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (ELF_DYNAMIC_INTERPRETER): Removed.
+ (elf_i386_lazy_plt_layout): Likewise.
+ (elf_i386_non_lazy_plt_layout): Likewise.
+ (elf_i386_plt_layout): Likewise.
+ (elf_i386_link_hash_table): Likewise.
+ (elf_i386_next_tls_desc_index): Likewise.
+ (elf_i386_srelplt2): Likewise.
+ (elf_i386_plt): Likewise.
+ (elf_i386_lazy_plt): Likewise.
+ (elf_i386_non_lazy_plt): Likewise.
+ (elf_i386_link_hash_table_create): Likewise.
+ (bfd_elf32_bfd_link_hash_table_create): Likewise.
+ (elf_i386_lazy_plt): Updated.
+ (elf_i386_non_lazy_plt): Likewise.
+ (elf_i386_lazy_ibt_plt): Likewise.
+ (elf_i386_non_lazy_ibt_plt): Likewise.
+ (elf_i386_allocate_dynrelocs): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+ (elf_i386_get_synthetic_symtab): Likewise.
+ (elf_i386_link_setup_gnu_properties): Likewise.
+ (elf_i386_nacl_plt): Likewise.
+ * elf64-x86-64.c (ABI_64_P): Removed.
+ (ELF64_DYNAMIC_INTERPRETER): Likewise.
+ (ELF32_DYNAMIC_INTERPRETER): Likewise.
+ (elf_x86_64_lazy_plt_layout): Likewise.
+ (elf_x86_64_non_lazy_plt_layout): Likewise.
+ (elf_x86_64_plt_layout): Likewise.
+ (elf_x86_64_link_hash_table): Likewise.
+ (elf_x86_64_plt): Likewise.
+ (elf_x86_64_lazy_plt): Likewise.
+ (elf_x86_64_non_lazy_plt): Likewise.
+ (elf_x86_64_link_hash_table_create): Likewise.
+ (bfd_elf64_bfd_link_hash_table_create): Likewise.
+ (bfd_elf32_bfd_link_hash_table_create): Likewise.
+ (elf_x86_64_lazy_plt): Updated.
+ (elf_x86_64_non_lazy_plt): Likewise.
+ (elf_x86_64_lazy_bnd_plt): Likewise.
+ (elf_x86_64_non_lazy_bnd_plt): Likewise.
+ (elf_x86_64_lazy_ibt_plt): Likewise.
+ (elf_x32_lazy_ibt_plt): Likewise.
+ (elf_x86_64_non_lazy_ibt_plt): Likewise.
+ (elf_x32_non_lazy_ibt_plt): Likewise.
+ (elf_x86_64_allocate_dynrelocs): Likewise.
+ (elf_x86_64_size_dynamic_sections): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_finish_dynamic_symbol): Likewise.
+ (elf_x86_64_finish_dynamic_sections): Likewise.
+ (elf_x86_64_get_synthetic_symtab): Likewise.
+ (elf_x86_64_link_setup_gnu_properties): Likewise.
+ (elf_x86_64_nacl_plt): Likewise.
+ * elfxx-x86.c: Include "objalloc.h", "elf/i386.h" and
+ "elf/x86-64.h".
+ (ELF32_DYNAMIC_INTERPRETER): New.
+ (ELF64_DYNAMIC_INTERPRETER): Likewise.
+ (ELFX32_DYNAMIC_INTERPRETER): Likewise.
+ (_bfd_x86_elf_link_hash_table_create): Likewise.
+ (_bfd_x86_elf_link_hash_table_free): Renamed to ...
+ (elf_x86_link_hash_table_free): This. Make it static.
+ * elfxx-x86.h: Don't include "objalloc.h".
+ (ABI_64_P): New.
+ (elf_x86_lazy_plt_layout): Likewise.
+ (elf_x86_non_lazy_plt_layout): Likewise.
+ (elf_x86_plt_layout): Likewise.
+ (_bfd_x86_elf_link_hash_table_create): Likewise.
+ (bfd_elf64_bfd_link_hash_table_create): Likewise.
+ (bfd_elf32_bfd_link_hash_table_create): Likewise.
+ (elf_x86_link_hash_table): Add plt, lazy_plt, non_lazy_plt,
+ srelplt2 and next_tls_desc_index.
+ (_bfd_x86_elf_link_hash_table_free): Removed.
+
+2017-08-30 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_perform_relocation): Correct microMIPS
+ branch offset interpretation.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/22032
+ * opncls.c (bfd_close_all_done): Call _close_and_cleanup.
+
+2017-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_next_tls_desc_index): Removed.
+ (elf_x86_64_srelplt2): Likewise.
+
+2017-08-30 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add do_tls_opt.
+ (ppc64_elf_tls_optimize): Set it.
+ (ppc64_elf_relocate_section): Nop addis on TPREL16_HA, and convert
+ insn on TPREL16_LO and TPREL16_LO_DS relocs to use r13 when
+ addis would add zero.
+ * elf32-ppc.c (struct ppc_elf_link_hash_table): Add do_tls_opt.
+ (ppc_elf_tls_optimize): Set it.
+ (ppc_elf_relocate_section): Nop addis on TPREL16_HA, and convert
+ insn on TPREL16_LO relocs to use r2 when addis would add zero.
+
+2017-08-30 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing
+ __tls_get_addr call sequences to LE, don't move the addi down
+ to the nop. Replace the bl with addi and leave the nop alone.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_pie_finish_undefweak_symbol):
+ Re-indent.
+ * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol):
+ Likewise.
+ (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elfxx-x86.lo.
+ (BFD64_BACKENDS): Likewise.
+ (BFD32_BACKENDS_CFILES): Add elfxx-x86.c.
+ (BFD64_BACKENDS_CFILES): Likewise.
+ * Makefile.in: Regenerated.
+ * configure.ac (bfd_backends): Add elfxx-x86.lo together with
+ elf32-i386.lo and elf64-x86-64.lo.
+ * configure: Regenerated.
+ * elf32-i386.c: Include "elfxx-x86.h" instead of "sysdep.h",
+ "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
+ "objalloc.h" and "hashtab.h".
+ (ELIMINATE_COPY_RELOCS): Removed.
+ (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
+ (SYMBOL_NO_COPYRELOC): Likewise.
+ (elf_i386_link_hash_entry): Likewise.
+ (GOT_UNKNOWN): Likewise.
+ (GOT_NORMAL): Likewise.
+ (GOT_TLS_GD): Likewise.
+ (elf_i386_hash_entry): Likewise.
+ (elf_i386_obj_tdata): Likewise.
+ (elf_i386_tdata): Likewise.
+ (elf_i386_local_got_tls_type): Likewise.
+ (elf_i386_local_tlsdesc_gotent): Likewise.
+ (elf_i386_hash_table): Likewise.
+ (elf_i386_link_hash_newfunc): Likewise.
+ (elf_i386_local_htab_hash): Likewise.
+ (elf_i386_local_htab_eq): Likewise.
+ (elf_i386_get_local_sym_hash): Likewise.
+ (elf_i386_link_hash_table_free): Likewise.
+ (elf_i386_copy_indirect_symbol): Likewise.
+ (elf_i386_fixup_symbol): Likewise.
+ (elf_i386_readonly_dynrelocs): Likewise.
+ (elf_i386_always_size_sections): Likewise.
+ (elf_i386_set_tls_module_base): Likewise.
+ (elf_i386_dtpoff_base): Likewise.
+ (compare_relocs): Likewise.
+ (elf_i386_hash_symbol): Likewise.
+ (elf_i386_parse_gnu_properties): Likewise.
+ (elf_i386_merge_gnu_properties): Likewise.
+ (elf_i386_link_check_relocs): Likewise.
+ (elf_i386_merge_symbol_attribute): Likewise.
+ (bfd_elf32_bfd_link_check_relocs): Likewise.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ (elf_backend_always_size_sections): Likewise.
+ (elf_backend_omit_section_dynsym): Likewise.
+ (elf_backend_hash_symbol): Likewise.
+ (elf_backend_fixup_symbol): Likewise.
+ (elf_backend_parse_gnu_properties): Likewise.
+ (elf_backend_merge_gnu_properties): Likewise.
+ (elf_backend_merge_symbol_attribute): Likewise.
+ (elf_i386_mkobject): Updated.
+ (elf_i386_link_hash_table_create): Likewise.
+ (elf_i386_check_tls_transition): Likewise.
+ (elf_i386_tls_transition): Likewise.
+ (elf_i386_convert_load_reloc): Likewise.
+ (elf_i386_check_relocs): Likewise.
+ (elf_i386_adjust_dynamic_symbol): Likewise.
+ (elf_i386_allocate_dynrelocs): Likewise.
+ (elf_i386_convert_load): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol ): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+ (elf_i386_output_arch_local_syms): Likewise.
+ (elf_i386_get_synthetic_symtab): Likewise.
+ (elf_i386_link_setup_gnu_properties): Likewise.
+ (elf_i386_link_hash_table): Use elf_x86_link_hash_table, instead
+ of elf_link_hash_table, as base.
+ (elf_i386_next_tls_desc_index): New.
+ (elf_i386_srelplt2): Likewise.
+ (elf_i386_plt): Likewise.
+ (elf_i386_lazy_plt): Likewise.
+ (elf_i386_non_lazy_plt): Likewise.
+ * elf32-x86-64.c: Include "elfxx-x86.h" instead of "sysdep.h",
+ "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
+ "objalloc.h" and "hashtab.h".
+ (ELIMINATE_COPY_RELOCS): Removed.
+ (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
+ (SYMBOL_NO_COPYRELOC): Likewise.
+ (elf_x86_64_link_hash_entry): Likewise.
+ (GOT_UNKNOWN): Likewise.
+ (GOT_NORMAL): Likewise.
+ (GOT_TLS_GD): Likewise.
+ (elf_x86_64_hash_entry): Likewise.
+ (elf_x86_64_obj_tdata): Likewise.
+ (elf_x86_64_tdata): Likewise.
+ (elf_x86_64_local_got_tls_type): Likewise.
+ (elf_x86_64_local_tlsdesc_gotent): Likewise.
+ (elf_x86_64_hash_table): Likewise.
+ (elf_x86_64_link_hash_newfunc): Likewise.
+ (elf_x86_64_local_htab_hash): Likewise.
+ (elf_x86_64_local_htab_eq): Likewise.
+ (elf_x86_64_get_local_sym_hash): Likewise.
+ (elf_x86_64_link_hash_table_free): Likewise.
+ (elf_x86_64_copy_indirect_symbol): Likewise.
+ (elf_x86_64_fixup_symbol): Likewise.
+ (elf_x86_64_readonly_dynrelocs): Likewise.
+ (elf_x86_64_always_size_sections): Likewise.
+ (elf_x86_64_set_tls_module_base): Likewise.
+ (elf_x86_64_dtpoff_base): Likewise.
+ (compare_relocs): Likewise.
+ (elf_x86_64_merge_symbol_attribute): Likewise.
+ (elf_x86_64_hash_symbol): Likewise.
+ (elf_x86_64_parse_gnu_properties): Likewise.
+ (elf_x86_64_merge_gnu_properties): Likewise.
+ (elf_x86_64_link_check_relocs): Likewise.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ (elf_backend_always_size_sections): Likewise.
+ (bfd_elf64_bfd_link_check_relocs): Likewise.
+ (elf_backend_merge_symbol_attribute): Likewise.
+ (elf_backend_hash_symbol): Likewise.
+ (elf_backend_omit_section_dynsym): Likewise.
+ (elf_backend_fixup_symbol): Likewise.
+ (elf_backend_parse_gnu_properties): Likewise.
+ (elf_backend_merge_gnu_properties): Likewise.
+ (bfd_elf32_bfd_link_check_relocs): Likewise.
+ (elf_x86_64_mkobject): Updated.
+ (elf_x86_64_link_hash_table_create): Likewise.
+ (elf_x86_64_check_tls_transition): Likewise.
+ (elf_x86_64_tls_transition): Likewise.
+ (elf_x86_64_convert_load_reloc): Likewise.
+ (elf_x86_64_check_relocs): Likewise.
+ (elf_x86_64_adjust_dynamic_symbol): Likewise.
+ (elf_x86_64_allocate_dynrelocs): Likewise.
+ (elf_x86_64_convert_load): Likewise.
+ (elf_x86_64_size_dynamic_sections): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_finish_dynamic_symbol ): Likewise.
+ (elf_x86_64_finish_dynamic_sections): Likewise.
+ (elf_x86_64_output_arch_local_syms): Likewise.
+ (elf_x86_64_get_synthetic_symtab): Likewise.
+ (elf_x86_64_link_setup_gnu_properties): Likewise.
+ (elf_x86_64_link_hash_table): Use elf_x86_link_hash_table,
+ instead of elf_link_hash_table, as base.
+ (elf_x86_64_next_tls_desc_index): New.
+ (elf_x86_64_srelplt2): Likewise.
+ (elf_x86_64_plt): Likewise.
+ (elf_x86_64_lazy_plt): Likewise.
+ (elf_x86_64_non_lazy_plt): Likewise.
+ * elfxx-x86.c: New file.
+ * elfxx-x86.h: Likewise.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Simplify bad
+ return.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Check valid PLT
+ sections before checking dynamic relocations and free invalid
+ PLT section contents.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): Removed.
+ * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): Likewise.
+
+2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/22018
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid
+ PLT section size.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_hash_newfunc): Initialize
+ def_protected.
+ * elf64-x86-64.c (elf_x86_64_link_hash_newfunc): Likewise.
+
+2017-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21997
+ * elf-bfd.h (elf_obj_tdata): Use ENUM_BITFIELD on object_id,
+ dyn_lib_class and has_gnu_symbols. Change bad_symtab to bitfield.
+ Add a has_no_copy_on_protected bitfield.
+ (elf_has_no_copy_on_protected): New.
+ * elf-properties.c (_bfd_elf_parse_gnu_properties): Set
+ elf_has_no_copy_on_protected for GNU_PROPERTY_NO_COPY_ON_PROTECTED.
+ (elf_merge_gnu_property_list): Likewise.
+ (_bfd_elf_link_setup_gnu_properties): Set extern_protected_data
+ to FALSE for elf_has_no_copy_on_protected.
+ * elf32-i386.c (SYMBOL_NO_COPYRELOC): New.
+ (elf_i386_link_hash_entry): Add def_protected.
+ (elf_i386_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
+ when checking info->nocopyreloc.
+ (elf_i386_link_setup_gnu_properties): Don't set
+ extern_protected_data here.
+ (elf_i386_merge_symbol_attribute): New function.
+ (elf_backend_merge_symbol_attribute): New.
+ * elf64-x86-64.c (SYMBOL_NO_COPYRELOC): New.
+ (elf_x86_64_link_hash_entry): Add def_protected.
+ (elf_x86_64_need_pic): Report protected symbol for def_protected.
+ (elf_x86_64_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
+ when checking info->nocopyreloc.
+ (elf_x86_64_relocate_section): Also check for R_X86_64_PC32
+ relocation run-time overflow and unresolvable R_X86_64_32S
+ relocation against protected data symbol defined in shared object
+ with GNU_PROPERTY_NO_COPY_ON_PROTECTED.
+ (elf_x86_64_link_setup_gnu_properties): Don't set
+ extern_protected_data here.
+ (elf_x86_64_merge_symbol_attribute): New function.
+ (elf_backend_merge_symbol_attribute): New.
+
+2017-08-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
+ (ppc_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
+ (ppc_elf_relocate_section): Comment fix.
+ * elf64-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
+ (ppc64_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
+ Support dynamic relocs for TPREL16 when non-pic too.
+ (dec_dynrel_count): Adjust TPREL16 handling as per check_relocs.
+ (ppc64_elf_relocate_section): Support dynamic relocs for TPREL16
+ when non-pic too.
+
+2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_hash_entry): Remove redundant
+ "symbol" in comments.
+ * elf64-x86-64.c (elf_x86_64_link_hash_entry): Likewise.
+
+2017-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22001
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Check for
+ R_X86_64_PC32 relocation run-time overflow and unresolvable
+ R_X86_64_32S relocation with -z nocopyreloc.
+
+2017-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_relocs): Revert the last change.
+ Undefined symbols may not have a type.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_need_pic): Add an argument for
+ bfd_link_info. Report shared, PIE or PDE object based on
+ bfd_link_info.
+ (elf_x86_64_check_relocs): Update elf_x86_64_need_pic call.
+ (elf_x86_64_relocate_section): Likewise.
+
+2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_relocs): Increment PLT count only
+ for function symbols.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set
+ extern_protected_data to FALSE if GNU_PROPERTY_NO_COPY_ON_PROTECTED
+ is set on any input relocatable file.
+ * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
+
+2017-08-23 Alan Modra <amodra@gmail.com>
+
+ PR 21988
+ * elf64-ppc.c (ensure_undef_dynamic): Rename from
+ ensure_undefweak_dynamic. Handle undefined too.
+ * elf32-ppc.c (ensure_undef_dynamic): Likewise.
+ * elf32-hppa.c (ensure_undef_dynamic): Likewise.
+ (allocate_dynrelocs): Discard undefined non-default visibility
+ relocs first. Make undefined syms dynamic. Tidy goto.
+
+2017-08-21 Alan Modra <amodra@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21964
+ * elf-bfd.h (SYMBOLIC_BIND): Return TRUE for __start/__stop symbols.
+ * elflink.c (bfd_elf_define_start_stop): Rewrite.
+
+2017-08-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR ld/20125
+ * elf64-mmix.c (mmix_elf_relax_section): Correct handling of
+ undefined weak symbols.
+
+2017-08-18 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21962
+ * tekhex.c (getsym): Fix check for source pointer walking off the
+ end of the input buffer.
+
+2017-08-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/18808
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Skip IFUNC
+ relocations in debug sections, change abort to _bfd_error_handler.
+
+2017-08-14 Nick Clifton <nickc@redhat.com>
+
+ PR 21957
+ * elf.c (setup_group): Check for an empty or very small group
+ section.
+ * po/bfd.pot: Regenerate.
+
+2017-08-14 Alan Modra <amodra@gmail.com>
+
+ PR 21441
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't add
+ alignment padding here.
+ * elflink.c (bfd_elf_discard_info): Add .eh_frame padding here
+ in a reverse pass over sections.
+
+2017-08-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/21943
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Allocate space
+ for @plt suffixes first.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-08 Nick Clifton <nickc@redhat.com>
+
+ PR 21916
+ * elf-attrs.c (_bfd_elf_parse_attributes): Complain about very
+ small section lengths.
+ * elf.c (_bfd_elf_setup_sections): Skip empty entries in the group
+ table.
+ (elfcore_grok_freebsd_prstatus): Add checks to make sure that
+ there is enough data present in the note.
+
+2017-08-08 Alan Modra <amodra@gmail.com>
+
+ PR 21017
+ * elf32-microblaze.c (microblaze_elf_check_relocs): Don't bump
+ got.refcount for GOTOFF relocs, just create .got section.
+
+2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_add_object_symbols): Move common symbol
+ check after bed->common_definition.
+
+2017-08-07 Alan Modra <amodra@gmail.com>
+
+ PR 21910
+ * elflink.c (bfd_elf_final_link): Don't segfault when sections
+ needed to define various dynamic tags have been discarded.
+
+2017-08-07 Nick Clifton <nickc@redhat.com>
+
+ PR 21884
+ * elf32-i386.c (elf_i386_link_setup_gnu_properties): If the dynobj
+ has not been set then use the bfd returned by
+ _bfd_elf_link_setup_gnu_properties. If that is null then search
+ through all the input bfds selecting the first normal, ELF format
+ one.
+ * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
+
+2017-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_hash_entry): Change tls_get_addr
+ to 1 bit.
+ (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 0.
+ (elf_i386_check_tls_transition): Check tls_get_addr directly.
+ (elf_i386_convert_load_reloc): Update tls_get_addr check.
+ (elf_i386_link_check_relocs): New function.
+ (bfd_elf32_bfd_link_check_relocs): New.
+ * elf64-x86-64.c (elf_x86_64_link_hash_entry): Change tls_get_addr
+ to 1 bit.
+ (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 0.
+ (elf_x86_64_check_tls_transition): Check tls_get_addr directly.
+ (elf_x86_64_convert_load_reloc): Update tls_get_addr check.
+ (elf_x86_64_link_check_relocs): New function.
+ (bfd_elf64_bfd_link_check_relocs): New.
+ (bfd_elf32_bfd_link_check_relocs): Likewise.
+
+2017-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21903:
+ * elflink.c (elf_link_add_object_symbols): Treat common symbol
+ as undefined for --no-define-common.
+
+2017-08-05 Alan Modra <amodra@gmail.com>
+
+ * elf32-hppa.c (elf32_hppa_set_gp): Don't require an
+ hppa_link_hash_table.
+
+2017-08-02 Max Filippov <jcmvbkbc@gmail.com>
+
+ * xtensa-isa.c (xtensa_isa_init): Don't update lookup table
+ entries for sysregs with negative indices.
+
+2017-08-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
+ isn't the S/390 specific elf data.
+ * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+
+2017-07-31 Kuan-Lin Chen <rufus@andestech.com>
+
+ * elfxx-riscv.c (riscv_elf_add_sub_reloc): New function.
+ * (howto_table) [R_RISCV_ADD8]: Use riscv_elf_add_sub_reloc.
+ [R_RISCV_ADD16]: Likewise.
+ [R_RISCV_ADD32]: Likewise.
+ [R_RISCV_ADD64]: Likewise.
+ [R_RISCV_SUB6]: Likewise.
+ [R_RISCV_SUB8]: Likewise.
+ [R_RISCV_SUB16]: Likewise.
+ [R_RISCV_SUB32]: Likewise.
+ [R_RISCV_SUB64]: Likewise.
+
+2017-07-31 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
+ without ld.so checks.
+
+2017-07-29 Alan Modra <amodra@gmail.com>
+
+ PR 21847
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add non_zero_localentry.
+ (ppc64_elf_merge_symbol): Set non_zero_localentry.
+ (is_elfv2_localentry0): Test non_zero_localentry.
+ (ppc64_elf_tls_setup): Default to --no-plt-localentry.
+
+2017-07-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c (elf_s390_finish_dynamic_sections): Add NULL
+ pointer check for htab->elf.irelplt.
+ * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+
+2017-07-27 Nick Clifton <nickc@redhat.com>
+
+ PR 21840
+ * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
+ size is -1.
+ * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
+ with error return.
+ * section.c (bfd_make_section_with_flags): Fail if the name or bfd
+ are NULL.
+ * vms-alpha.c (bfd_make_section_with_flags): Correct computation
+ of end pointer.
+ (evax_bfd_print_emh): Check for invalid string lengths.
+
+2017-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2017-07-25 Benjamin Green <bengreen5mx@gmail.com>
+
+ PR 21824
+ * elf32-msp430.c (msp430_elf_relax_section): Allow conversion of
+ 16-bit absolute branches into 10-bit pc-relative branches on the
+ MSP430 as well as the MSP430X.
+
+2017-07-25 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct map_stub): Add tls_get_addr_opt_bctrl.
+ (stub_eh_frame_size): New function.
+ (ppc_size_one_stub): Set group tls_get_addr_opt_bctrl.
+ (group_sections): Init group tls_get_addr_opt_bctrl.
+ (ppc64_elf_size_stubs): Update sizing and initialization of
+ .eh_frame. Iteration over stubs via group list.
+ (ppc64_elf_build_stubs): Iterate over stubs via group list.
+ (ppc64_elf_finish_dynamic_sections): Update finalization of
+ .eh_frame.
+
+2017-07-24 Nick Clifton <nickc@redhat.com>
+
+ PR 21813
+ * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
+ of the relocs to the canonicalize_one_reloc routine.
+ * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
+ for the _bfd_mach_o_canonicalize_one_reloc field.
+ * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
+ res_base parameter. Use to check for corrupt pair relocs.
+ * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
+ Likewise.
+ * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
+ Likewise.
+ * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
+ Likewise.
+
+ * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
+ enough data in the record before attempting to parse it.
+ (_bfd_vms_slurp_eeom): Likewise.
+
+ (_bfd_vms_slurp_egsd): Check for an invalid section index.
+ (image_set_ptr): Likewise.
+ (alpha_vms_slurp_relocs): Likewise.
+
+ (alpha_vms_object_p): Check for a truncated record.
+
+2017-07-24 Nick Clifton <nickc@redhat.com>
+
+ PR 21803
+ * reloc.c (_bfd_unrecognized_reloc): New function. Reports
+ an unrecognized reloc and sets the bfd_error value.
+ * libbfd.h: Regenerate.
+ * elf32-arm.c (elf32_arm_final_link_relocate): Use the new
+ function.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
+
+2017-07-23 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
+ restore of LR.
+
+2017-07-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/18841
+ * elfnn-aarch64.c (elfNN_aarch64_reloc_type_class): Return
+ reloc_class_ifunc for ifunc symbols.
+
+2017-07-19 Nick Clifton <nickc@redhat.com>
+
+ PR 21787
+ * archive.c (bfd_generic_archive_p): If the bfd does not have the
+ correct magic bytes at the start, set the error to wrong format
+ and clear the format selector before returning NULL.
+
+2017-07-19 Nick Clifton <nickc@redhat.com>
+
+ PR 21786
+ * coff-rs6000.c (_bfd_strntol): New function.
+ (_bfd_strntoll): New function.
+ (GET_VALUE_IN_FIELD): New macro.
+ (EQ_VALUE_IN_FIELD): new macro.
+ (_bfd_xcoff_slurp_armap): Use new macros.
+ (_bfd_xcoff_archive_p): Likewise.
+ (_bfd_xcoff_read_ar_hdr): Likewise.
+ (_bfd_xcoff_openr_next_archived_file): Likewise.
+ (_bfd_xcoff_stat_arch_elt): Likewise.
+ * coff64-rs6000.c (_bfd_strntol): New function.
+ (_bfd_strntoll): New function.
+ (GET_VALUE_IN_FIELD): New macro.
+ (xcoff64_slurp_armap): Use new macros.
+
+2017-07-19 Claudiu Zissulescu <claziss@synopsys.com>
+ John Eric Martin <John.Martin@emmicro-us.com>
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elf32-arc.c (JLI): Define.
+ * reloc.c: Add JLI relocations.
+
+2017-07-18 Nick Clifton <nickc@redhat.com>
+
+ PR 21775
+ * coff-sh.c: Fix spelling typos.
+ * compress.c: Likewise.
+ * cpu-pdp11.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-nds32.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elflink.c: Likewise.
+ * elfnn-aarch64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * som.c: Likewise.
+ * sunos.c: Likewise.
+ * vms-alpha.c: Likewise.
+ * xcofflink.c: Likewise.
+
+2017-07-18 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21781
+ * coffcode.h (handle_COMDAT): Replace abort with an error message
+ and return.
+
+2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21782
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check
+ to shared library.
+
+2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
+
+2017-07-16 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize
+ __tls_index GOT entries when using __tls_get_addr_opt stub.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2017-07-12 Alan Modra <amodra@gmail.com>
+
+ * po/es.po: Update from translationproject.org/latest/bfd/.
+ * po/fi.po: Likewise.
+ * po/fr.po: Likewise.
+ * po/id.po: Likewise.
+ * po/ja.po: Likewise.
+ * po/ro.po: Likewise.
+ * po/ru.po: Likewise.
+ * po/sr.po: Likewise.
+ * po/sv.po: Likewise.
+ * po/tr.po: Likewise.
+ * po/uk.po: Likewise.
+ * po/vi.po: Likewise.
+ * po/zh_CN.po: Likewise.
+ * po/hr.po: New file from translationproject.org.
+ * configure.ac (ALL_LINGUAS): Add hr. Sort.
+ * configure: Regenerate.
+
+2017-07-12 Nick Clifton <nickc@redhat.com>
+
+ Fix compile time warnings using gcc 7.1.1.
+ * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
+ plt_name buffer.
+ (elf_xtensa_get_gotplt_section): Increase length of got_name
+ buffer.
+ * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
+ default return of FALSE.
+ * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
+ default return of FALSE.
+
+2017-07-12 Alan Modra <amodra@gmail.com>
+
+ * binary.c (binary_set_section_contents): Don't print filepos in
+ error message.
+ (coff_write_object_contents): Cast size_t for error message.
+ (coff_slurp_line_table): Don't use bfd_vma symndx.
+ (coff_slurp_reloc_table): Remove unneeded cast.
+ * dwarf2.c (read_section): Cast bfd_int64_t to long long for
+ error message.
+ (find_abstract_instance_name): Likewise.
+ * elf32-arm.c (arm_type_of_stub): Correct error arg order.
+ (bfd_elf32_arm_stm32l4xx_erratum_scan): Don't cast error arg.
+ (elf32_arm_check_relocs): Make r_symndx an int.
+ * elf32-cris.c (cris_elf_check_relocs): Delete extraneous %s in
+ format string.
+ * elf32-metag.c (elf_metag_relocate_section): Delete extra error
+ message arg.
+ * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Rewrite bogus
+ error message.
+ * elf32-i386.c (elf_i386_check_relocs): Make r_symndx an int.
+ * elf32-s390.c (elf_s390_check_relocs): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
+ * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
+ * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
+ * elf64-s390.c (elf_s390_check_relocs): Likewise.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
+ * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
+ * elf64-mmix.c (_bfd_mmix_after_linker_allocation): Cast size_t args
+ and use %lu for error message.
+ * elflink.c (elf_link_adjust_relocs): Delete extra error message arg.
+ * mmo.c (mmo_scan): Make stab_loc a file_ptr. Cast expression for
+ error message.
+
+ * elf32-arm.c (elf32_arm_tls_relax): Correct format string and args
+ in error message.
+ (elf32_arm_final_link_relocate): Likewise.
+ * coff-arm.c (bfd_arm_process_before_allocation): Likewise.
+ * coffcode.h (styp_to_sec_flags): Likewise.
+ * cofflink.c (_bfd_coff_write_global_sym): Likewise.
+ * ecoff.c (_bfd_ecoff_slurp_symbol_table): Likewise.
+ * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
+ * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
+ (elf32_bfin_merge_private_bfd_data): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
+ * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
+ (i370_elf_relocate_section): Likewise.
+ * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
+ * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
+ * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
+ * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
+ * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
+ (_bfd_mips_elf_merge_private_bfd_data): Likewise.
+ * ieee.c (ieee_write_id, read_id): Likewise.
+ * mach-o.c (bfd_mach_o_write_contents): Likewise.
+ (bfd_mach_o_layout_commands, bfd_mach_o_read_section_32): Likewise.
+ (bfd_mach_o_read_section_64, bfd_mach_o_read_symtab_symbol): Likewise.
+ (bfd_mach_o_read_command, bfd_mach_o_header_p): Likewise.
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Likewise.
+ * stabs.c (_bfd_link_section_stabs): Likewise.
+
+ * coff-arm.c (coff_arm_relocate_section): Use L modifier in error
+ format.
+ * coff-mcore.c (coff_mcore_relocate_section): Likewise.
+ * coff-ppc.c (coff_ppc_relocate_section): Likewise.
+ * coff-rs6000.c (xcoff_reloc_type_toc): Likewise.
+ * coff-sh.c (sh_relax_section): Likewise.
+ (sh_relax_delete_bytes, sh_swap_insns): Likewise.
+ * coff-tic80.c (coff_tic80_relocate_section): Likewise.
+ * coffcode.h (coff_slurp_reloc_table): Likewise.
+ * coffgen.c (_bfd_coff_get_external_symbols): Likewise.
+ (_bfd_coff_read_string_table): Likewise.
+ * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
+ * compress.c (bfd_get_full_section_contents): Likewise.
+ * dwarf2.c (read_formatted_entries, decode_line_info): Likewise.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf.c (bfd_elf_string_from_elf_section): Likewise.
+ * elf32-arc.c (arc_special_overflow_checks): Likewise.
+ * elf32-arm.c (elf32_arm_tls_relax): Likewise.
+ (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Likewise.
+ (elf32_arm_write_section): Likewise.
+ * elf32-bfin.c (bfin_relocate_section): Likewise.
+ (bfinfdpic_relocate_section): Likewise.
+ * elf32-hppa.c (hppa_build_one_stub): Likewise.
+ (final_link_relocate, elf32_hppa_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_tls_transition): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_final_link_relocate): Likewise.
+ * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-metag.c (elf_metag_relocate_section): Likewise.
+ * elf32-nds32.c (unrecognized_reloc_msg): Likewise.
+ (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2): Likewise.
+ (nds32_elf_relax_longcall3, nds32_elf_relax_longjump1): Likewise.
+ (nds32_elf_relax_longjump2, nds32_elf_relax_longjump3): Likewise.
+ (nds32_elf_relax_longcall4, nds32_elf_relax_longcall5): Likewise.
+ (nds32_elf_relax_longcall6, nds32_elf_relax_longjump4): Likewise.
+ (nds32_elf_relax_longjump5, nds32_elf_relax_longjump6): Likewise.
+ (nds32_elf_relax_longjump7, nds32_elf_relax_loadstore): Likewise.
+ (nds32_elf_relax_ptr, nds32_elf_ex9_build_hash_table): Likewise.
+ * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
+ * elf32-rx.c (UNSAFE_FOR_PID): Likewise.
+ * elf32-s390.c (invalid_tls_insn, elf_s390_relocate_section): Likewise.
+ * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
+ * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ (sh_elf_relax_delete_bytes, sh_elf_swap_insns): Likewise.
+ (sh_elf_relocate_section): Likewise.
+ * elf32-sh64.c (shmedia_prepare_reloc): Likewise.
+ * elf32-spu.c (spu_elf_relocate_section): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
+ * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relax_section): Likewise.
+ * elf32-vax.c (elf_vax_check_relocs): Likewise.
+ (elf_vax_relocate_section): Likewise.
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+ (extend_ebb_bounds_forward, extend_ebb_bounds_backward): Likewise.
+ (compute_text_actions, compute_ebb_proposed_actions): Likewise.
+ (do_fix_for_relocatable_link): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_got_load): Likewise.
+ (elf64_alpha_relax_with_lituse): Likewise.
+ * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Likewise.
+ (elf_hppa_final_link_relocate): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_relax_section): Likewise.
+ (elf64_ia64_choose_gp, elf64_ia64_relocate_section): Likewise.
+ (elf64_vms_link_add_object_symbols): Likewise.
+ * elf64-mmix.c (mmix_elf_perform_relocation): Likewise.
+ (mmix_final_link_relocate): Likewise.
+ * elf64-s390.c (invalid_tls_insn): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elfcore.h (elf_core_file_p): Likewise.
+ * elflink.c (elf_link_read_relocs_from_section): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
+ (elfNN_aarch64_relocate_section): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_relax_section): Likewise.
+ (elfNN_ia64_choose_gp, elfNN_ia64_relocate_section): Likewise.
+ * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+ (_bfd_mips_elf_relocate_section): Likewise.
+ (_bfd_mips_elf_finish_dynamic_symbol, mips_finish_exec_plt): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
+ * ieee.c (ieee_slurp_external_symbols): Likewise.
+ * ihex.c (ihex_write_object_content): Likewise.
+ * mach-o.c (bfd_mach_o_build_exec_seg_command): Likewise.
+ * merge.c (_bfd_merged_section_offset): Likewise.
+ * mmo.c (mmo_write_loc_chunk): Likewise.
+ (mmo_write_object_contents): Likewise.
+ * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
+ * stabs.c (_bfd_link_section_stabs): Likewise.
+ * xcofflink.c (xcoff_link_add_symbols, xcoff_find_tc0): Likewise.
+
+2017-07-11 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Fix typo.
+
+2017-07-11 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Emit "unexpected
+ instruction" error using _bfd_error_handler, not einfo.
+
+2017-07-10 Nick Clifton <nickc@redhat.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Do not include an entry
+ for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.
+
+2017-07-07 John Baldwin <jhb@FreeBSD.org>
+
+ * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PTLWPINFO.
+
+2017-07-07 Alan Modra <amodra@gmail.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
+
+2017-07-07 Alan Modra <amodra@gmail.com>
+
+ * bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
+ as long long. Move code replacing "ll" with "I64", and simplify.
+
+2017-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
+ to 1.
+
2017-07-05 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (line_info_add_include_dir_stub): Replace time with
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 97b608c..f7007a7 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -346,6 +346,7 @@ BFD32_BACKENDS = \
elf32-hppa.lo \
elf32-i370.lo \
elf32-i386.lo \
+ elfxx-x86.lo \
elf32-i860.lo \
elf32-i960.lo \
elf32-ip2k.lo \
@@ -542,6 +543,7 @@ BFD32_BACKENDS_CFILES = \
elf32-hppa.c \
elf32-i370.c \
elf32-i386.c \
+ elfxx-x86.c \
elf32-i860.c \
elf32-i960.c \
elf32-ip2k.c \
@@ -699,6 +701,7 @@ BFD64_BACKENDS = \
elf64-sparc.lo \
elf64-tilegx.lo \
elf64-x86-64.lo \
+ elfxx-x86.lo \
elf64.lo \
mach-o-aarch64.lo \
mach-o-x86-64.lo \
@@ -734,6 +737,7 @@ BFD64_BACKENDS_CFILES = \
elf64-sparc.c \
elf64-tilegx.c \
elf64-x86-64.c \
+ elfxx-x86.c \
elf64.c \
elfn32-mips.c \
elfxx-aarch64.c \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index e48abaf..86f0dc2 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -680,6 +680,7 @@ BFD32_BACKENDS = \
elf32-hppa.lo \
elf32-i370.lo \
elf32-i386.lo \
+ elfxx-x86.lo \
elf32-i860.lo \
elf32-i960.lo \
elf32-ip2k.lo \
@@ -876,6 +877,7 @@ BFD32_BACKENDS_CFILES = \
elf32-hppa.c \
elf32-i370.c \
elf32-i386.c \
+ elfxx-x86.c \
elf32-i860.c \
elf32-i960.c \
elf32-ip2k.c \
@@ -1034,6 +1036,7 @@ BFD64_BACKENDS = \
elf64-sparc.lo \
elf64-tilegx.lo \
elf64-x86-64.lo \
+ elfxx-x86.lo \
elf64.lo \
mach-o-aarch64.lo \
mach-o-x86-64.lo \
@@ -1069,6 +1072,7 @@ BFD64_BACKENDS_CFILES = \
elf64-sparc.c \
elf64-tilegx.c \
elf64-x86-64.c \
+ elfxx-x86.c \
elf64.c \
elfn32-mips.c \
elfxx-aarch64.c \
@@ -1574,6 +1578,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-riscv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-sparc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-tilegx.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfxx-x86.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pe-arm.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoc-pei-arm.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@
diff --git a/bfd/archive.c b/bfd/archive.c
index f209bab..3ce3f9e 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -834,7 +834,12 @@ bfd_generic_archive_p (bfd *abfd)
if (strncmp (armag, ARMAG, SARMAG) != 0
&& strncmp (armag, ARMAGB, SARMAG) != 0
&& ! bfd_is_thin_archive (abfd))
- return NULL;
+ {
+ bfd_set_error (bfd_error_wrong_format);
+ if (abfd->format == bfd_archive)
+ abfd->format = bfd_unknown;
+ return NULL;
+ }
tdata_hold = bfd_ardata (abfd);
@@ -1975,6 +1980,12 @@ bfd_ar_hdr_from_filesystem (bfd *abfd, const char *filename, bfd *member)
status.st_gid);
_bfd_ar_spacepad (hdr->ar_mode, sizeof (hdr->ar_mode), "%-8lo",
status.st_mode);
+ if (status.st_size - (bfd_size_type) status.st_size != 0)
+ {
+ bfd_set_error (bfd_error_file_too_big);
+ free (ared);
+ return NULL;
+ }
if (!_bfd_ar_sizepad (hdr->ar_size, sizeof (hdr->ar_size), status.st_size))
{
free (ared);
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 1343780..d126aed 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -3800,6 +3800,7 @@ pc-relative or some form of GOT-indirect relocation. */
BFD_RELOC_ARC_S25W_PCREL_PLT,
BFD_RELOC_ARC_S21H_PCREL_PLT,
BFD_RELOC_ARC_NPS_CMEM16,
+ BFD_RELOC_ARC_JLI_SECTOFF,
/* ADI Blackfin 16 bit immediate absolute reloc. */
BFD_RELOC_BFIN_16_IMM,
diff --git a/bfd/bfd.c b/bfd/bfd.c
index b6cdf3f..665f182 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -725,9 +725,18 @@ _doprnt (FILE *stream, const char *format, va_list ap)
{
/* L modifier for bfd_vma or bfd_size_type may be
either long long or long. */
- if ((BFD_ARCH_SIZE < 64 || BFD_HOST_64BIT_LONG)
- && sptr[-2] == 'L')
- wide_width = 1;
+ if (sptr[-2] == 'L')
+ {
+ sptr[-2] = 'l';
+ if (BFD_ARCH_SIZE < 64 || BFD_HOST_64BIT_LONG)
+ wide_width = 1;
+ else
+ {
+ sptr[-1] = 'l';
+ *sptr++ = ptr[-1];
+ *sptr = '\0';
+ }
+ }
switch (wide_width)
{
@@ -739,17 +748,14 @@ _doprnt (FILE *stream, const char *format, va_list ap)
break;
case 2:
default:
-#if defined (__GNUC__) || defined (HAVE_LONG_LONG)
-# if defined (__MSVCRT__)
- sptr--;
- while (sptr[-1] == 'L' || sptr[-1] == 'l')
- sptr--;
- *sptr++ = 'I';
- *sptr++ = '6';
- *sptr++ = '4';
+#if defined (__MSVCRT__)
+ sptr[-3] = 'I';
+ sptr[-2] = '6';
+ sptr[-1] = '4';
*sptr++ = ptr[-1];
*sptr = '\0';
-# endif
+#endif
+#if defined (__GNUC__) || defined (HAVE_LONG_LONG)
PRINT_TYPE (long long);
#else
/* Fake it and hope for the best. */
diff --git a/bfd/binary.c b/bfd/binary.c
index 1018d56..4145e11 100644
--- a/bfd/binary.c
+++ b/bfd/binary.c
@@ -274,8 +274,8 @@ binary_set_section_contents (bfd *abfd,
_bfd_error_handler
/* xgettext:c-format */
(_("warning: writing section `%A' at huge (ie negative) "
- "file offset 0x%lx."),
- s, (unsigned long) s->filepos);
+ "file offset"),
+ s);
}
abfd->output_has_begun = TRUE;
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index b66ebe4..8a2fe1a 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -1743,8 +1743,8 @@ coff_arm_relocate_section (bfd *output_bfd,
case bfd_reloc_outofrange:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: bad reloc address 0x%lx in section `%A'"),
- input_bfd, (unsigned long) rel->r_vaddr, input_section);
+ (_("%B: bad reloc address %#Lx in section `%A'"),
+ input_bfd, rel->r_vaddr, input_section);
return FALSE;
case bfd_reloc_overflow:
{
@@ -2068,7 +2068,7 @@ bfd_arm_process_before_allocation (bfd * abfd,
if (symndx >= obj_conv_table_size (abfd))
{
/* xgettext:c-format */
- _bfd_error_handler (_("%B: illegal symbol index in reloc: %d"),
+ _bfd_error_handler (_("%B: illegal symbol index in reloc: %ld"),
abfd, symndx);
continue;
}
diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c
index 3ede766..e770afd 100644
--- a/bfd/coff-mcore.c
+++ b/bfd/coff-mcore.c
@@ -479,10 +479,9 @@ coff_mcore_relocate_section (bfd * output_bfd,
_bfd_error_handler
/* xgettext: c-format */
(_("Warning: unsupported reloc %s <file %B, section %A>\n"
- "sym %ld (%s), r_vaddr %ld (%lx)"),
+ "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
howto->name, input_bfd, input_section,
- rel->r_symndx, my_name, (long) rel->r_vaddr,
- (unsigned long) rel->r_vaddr);
+ rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
break;
case IMAGE_REL_MCORE_PCREL_IMM8BY4:
diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c
index 9dca30c..66a78e7 100644
--- a/bfd/coff-ppc.c
+++ b/bfd/coff-ppc.c
@@ -1131,10 +1131,9 @@ coff_ppc_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: Relocation for %s of %lx exceeds "
+ (_("%B: Relocation for %s of %#Lx exceeds "
"Toc size limit"),
- input_bfd, name,
- (unsigned long) our_toc_offset);
+ input_bfd, name, our_toc_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1186,8 +1185,8 @@ coff_ppc_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: Relocation exceeds allocated TOC (%lx)"),
- input_bfd, (unsigned long) toc_section->size);
+ (_("%B: Relocation exceeds allocated TOC (%#Lx)"),
+ input_bfd, toc_section->size);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1242,10 +1241,9 @@ coff_ppc_relocate_section (bfd *output_bfd,
_bfd_error_handler
/* xgettext: c-format */
(_("Warning: unsupported reloc %s <file %B, section %A>\n"
- "sym %ld (%s), r_vaddr %ld (%lx)"),
+ "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
howto->name, input_bfd, input_section,
- rel->r_symndx, my_name, (long) rel->r_vaddr,
- (unsigned long) rel->r_vaddr);
+ rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
}
break;
case IMAGE_REL_PPC_IMGLUE:
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 3c5042f..c72d0db 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -203,7 +203,8 @@ bfd_boolean (*xcoff_complain_overflow[XCOFF_MAX_COMPLAIN_OVERFLOW])
};
/* Information about one member of an archive. */
-struct member_layout {
+struct member_layout
+{
/* The archive member that this structure describes. */
bfd *member;
@@ -237,7 +238,8 @@ struct member_layout {
};
/* A structure used for iterating over the members of an archive. */
-struct archive_iterator {
+struct archive_iterator
+{
/* The archive itself. */
bfd *archive;
@@ -654,8 +656,6 @@ _bfd_xcoff_swap_aux_out (bfd *abfd, void * inp, int type, int in_class,
end:
return bfd_coff_auxesz (abfd);
}
-
-
/* The XCOFF reloc table. Actually, XCOFF relocations specify the
bitsize and whether they are signed or not, along with a
@@ -663,7 +663,6 @@ end:
different algorithms for putting in the reloc. Many of these
relocs need special_function entries, which I have not written. */
-
reloc_howto_type xcoff_howto_table[] =
{
/* 0x00: Standard 32 bit relocation. */
@@ -1185,6 +1184,51 @@ bfd_xcoff_ar_archive_set_magic (bfd *abfd ATTRIBUTE_UNUSED,
/* bfd_xcoff_archive_set_magic (abfd, magic); */
}
+/* PR 21786: The PE/COFF standard does not require NUL termination for any of
+ the ASCII fields in the archive headers. So in order to be able to extract
+ numerical values we provide our own versions of strtol and strtoll which
+ take a maximum length as an additional parameter. Also - just to save space,
+ we omit the endptr return parameter, since we know that it is never used. */
+
+static long
+_bfd_strntol (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[24]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtol (buf, NULL, base);
+}
+
+static long long
+_bfd_strntoll (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[32]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtoll (buf, NULL, base);
+}
+
+/* Macro to read an ASCII value stored in an archive header field. */
+#define GET_VALUE_IN_FIELD(VAR, FIELD) \
+ do \
+ { \
+ (VAR) = sizeof (VAR) > sizeof (long) \
+ ? _bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : _bfd_strntol (FIELD, 10, sizeof FIELD); \
+ } \
+ while (0)
+
+#define EQ_VALUE_IN_FIELD(VAR, FIELD) \
+ (sizeof (VAR) > sizeof (long) \
+ ? (VAR) ==_bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : (VAR) == _bfd_strntol (FIELD, 10, sizeof FIELD))
+
/* Read in the armap of an XCOFF archive. */
bfd_boolean
@@ -1209,7 +1253,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
/* This is for the old format. */
struct xcoff_ar_hdr hdr;
- off = strtol (xcoff_ardata (abfd)->symoff, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (off, xcoff_ardata (abfd)->symoff);
if (off == 0)
{
bfd_has_map (abfd) = FALSE;
@@ -1225,12 +1269,12 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
off = ((namlen + 1) & ~ (size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, off, SEEK_CUR) != 0)
return FALSE;
- sz = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (sz, hdr.size);
/* Read in the entire symbol table. */
contents = (bfd_byte *) bfd_alloc (abfd, sz);
@@ -1264,7 +1308,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
/* This is for the new format. */
struct xcoff_ar_hdr_big hdr;
- off = strtol (xcoff_ardata_big (abfd)->symoff, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (off, xcoff_ardata_big (abfd)->symoff);
if (off == 0)
{
bfd_has_map (abfd) = FALSE;
@@ -1280,15 +1324,12 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
off = ((namlen + 1) & ~ (size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, off, SEEK_CUR) != 0)
return FALSE;
- /* XXX This actually has to be a call to strtoll (at least on 32-bit
- machines) since the field width is 20 and there numbers with more
- than 32 bits can be represented. */
- sz = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (sz, hdr.size);
/* Read in the entire symbol table. */
contents = (bfd_byte *) bfd_alloc (abfd, sz);
@@ -1393,8 +1434,8 @@ _bfd_xcoff_archive_p (bfd *abfd)
goto error_ret;
}
- bfd_ardata (abfd)->first_file_filepos = strtol (hdr.firstmemoff,
- (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (bfd_ardata (abfd)->first_file_filepos,
+ hdr.firstmemoff);
amt = SIZEOF_AR_FILE_HDR;
bfd_ardata (abfd)->tdata = bfd_zalloc (abfd, amt);
@@ -1469,7 +1510,7 @@ _bfd_xcoff_read_ar_hdr (bfd *abfd)
return NULL;
}
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
amt = SIZEOF_AR_HDR + namlen + 1;
hdrp = (struct xcoff_ar_hdr *) bfd_alloc (abfd, amt);
if (hdrp == NULL)
@@ -1486,7 +1527,7 @@ _bfd_xcoff_read_ar_hdr (bfd *abfd)
((char *) hdrp)[SIZEOF_AR_HDR + namlen] = '\0';
ret->arch_header = (char *) hdrp;
- ret->parsed_size = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (ret->parsed_size, hdr.size);
ret->filename = (char *) hdrp + SIZEOF_AR_HDR;
}
else
@@ -1501,7 +1542,7 @@ _bfd_xcoff_read_ar_hdr (bfd *abfd)
return NULL;
}
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
amt = SIZEOF_AR_HDR_BIG + namlen + 1;
hdrp = (struct xcoff_ar_hdr_big *) bfd_alloc (abfd, amt);
if (hdrp == NULL)
@@ -1518,10 +1559,7 @@ _bfd_xcoff_read_ar_hdr (bfd *abfd)
((char *) hdrp)[SIZEOF_AR_HDR_BIG + namlen] = '\0';
ret->arch_header = (char *) hdrp;
- /* XXX This actually has to be a call to strtoll (at least on 32-bit
- machines) since the field width is 20 and there numbers with more
- than 32 bits can be represented. */
- ret->parsed_size = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (ret->parsed_size, hdr.size);
ret->filename = (char *) hdrp + SIZEOF_AR_HDR_BIG;
}
@@ -1550,14 +1588,11 @@ _bfd_xcoff_openr_next_archived_file (bfd *archive, bfd *last_file)
if (last_file == NULL)
filestart = bfd_ardata (archive)->first_file_filepos;
else
- filestart = strtol (arch_xhdr (last_file)->nextoff, (char **) NULL,
- 10);
+ GET_VALUE_IN_FIELD (filestart, arch_xhdr (last_file)->nextoff);
if (filestart == 0
- || filestart == strtol (xcoff_ardata (archive)->memoff,
- (char **) NULL, 10)
- || filestart == strtol (xcoff_ardata (archive)->symoff,
- (char **) NULL, 10))
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata (archive)->memoff)
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata (archive)->symoff))
{
bfd_set_error (bfd_error_no_more_archived_files);
return NULL;
@@ -1568,20 +1603,11 @@ _bfd_xcoff_openr_next_archived_file (bfd *archive, bfd *last_file)
if (last_file == NULL)
filestart = bfd_ardata (archive)->first_file_filepos;
else
- /* XXX These actually have to be a calls to strtoll (at least
- on 32-bit machines) since the fields's width is 20 and
- there numbers with more than 32 bits can be represented. */
- filestart = strtol (arch_xhdr_big (last_file)->nextoff, (char **) NULL,
- 10);
-
- /* XXX These actually have to be calls to strtoll (at least on 32-bit
- machines) since the fields's width is 20 and there numbers with more
- than 32 bits can be represented. */
+ GET_VALUE_IN_FIELD (filestart, arch_xhdr_big (last_file)->nextoff);
+
if (filestart == 0
- || filestart == strtol (xcoff_ardata_big (archive)->memoff,
- (char **) NULL, 10)
- || filestart == strtol (xcoff_ardata_big (archive)->symoff,
- (char **) NULL, 10))
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata_big (archive)->memoff)
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata_big (archive)->symoff))
{
bfd_set_error (bfd_error_no_more_archived_files);
return NULL;
@@ -1606,20 +1632,20 @@ _bfd_xcoff_stat_arch_elt (bfd *abfd, struct stat *s)
{
struct xcoff_ar_hdr *hdrp = arch_xhdr (abfd);
- s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
- s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
- s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
- s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
+ GET_VALUE_IN_FIELD (s->st_mtime, hdrp->date);
+ GET_VALUE_IN_FIELD (s->st_uid, hdrp->uid);
+ GET_VALUE_IN_FIELD (s->st_gid, hdrp->gid);
+ GET_VALUE_IN_FIELD (s->st_mode, hdrp->mode);
s->st_size = arch_eltdata (abfd)->parsed_size;
}
else
{
struct xcoff_ar_hdr_big *hdrp = arch_xhdr_big (abfd);
- s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
- s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
- s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
- s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
+ GET_VALUE_IN_FIELD (s->st_mtime, hdrp->date);
+ GET_VALUE_IN_FIELD (s->st_uid, hdrp->uid);
+ GET_VALUE_IN_FIELD (s->st_gid, hdrp->gid);
+ GET_VALUE_IN_FIELD (s->st_mode, hdrp->mode);
s->st_size = arch_eltdata (abfd)->parsed_size;
}
@@ -2830,7 +2856,7 @@ xcoff_reloc_type_toc (bfd *input_bfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"),
+ (_("%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"),
input_bfd, rel->r_vaddr, h->root.root.string);
bfd_set_error (bfd_error_bad_value);
return FALSE;
diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c
index 26d296b..8170152 100644
--- a/bfd/coff-sh.c
+++ b/bfd/coff-sh.c
@@ -775,8 +775,8 @@ sh_relax_section (bfd *abfd,
if (laddr >= sec->size)
{
/* xgettext: c-format */
- _bfd_error_handler (_("%B: 0x%lx: warning: bad R_SH_USES offset"),
- abfd, (unsigned long) irel->r_vaddr);
+ _bfd_error_handler (_("%B: %#Lx: warning: bad R_SH_USES offset"),
+ abfd, irel->r_vaddr);
continue;
}
insn = bfd_get_16 (abfd, contents + laddr);
@@ -786,8 +786,8 @@ sh_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"),
- abfd, (unsigned long) irel->r_vaddr, insn);
+ (_("%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"),
+ abfd, irel->r_vaddr, insn);
continue;
}
@@ -804,8 +804,8 @@ sh_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: warning: bad R_SH_USES load offset"),
- abfd, (unsigned long) irel->r_vaddr);
+ (_("%B: %#Lx: warning: bad R_SH_USES load offset"),
+ abfd, irel->r_vaddr);
continue;
}
@@ -829,8 +829,8 @@ sh_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: warning: could not find expected reloc"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: could not find expected reloc"),
+ abfd, paddr);
continue;
}
@@ -846,8 +846,8 @@ sh_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: warning: symbol in unexpected section"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: symbol in unexpected section"),
+ abfd, paddr);
continue;
}
@@ -972,8 +972,8 @@ sh_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: warning: could not find expected COUNT reloc"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: could not find expected COUNT reloc"),
+ abfd, paddr);
continue;
}
@@ -982,8 +982,8 @@ sh_relax_section (bfd *abfd,
if (irelcount->r_offset == 0)
{
/* xgettext: c-format */
- _bfd_error_handler (_("%B: 0x%lx: warning: bad count"),
- abfd, (unsigned long) paddr);
+ _bfd_error_handler (_("%B: %#Lx: warning: bad count"),
+ abfd, paddr);
continue;
}
@@ -1083,7 +1083,7 @@ sh_relax_delete_bytes (bfd *abfd,
contents = coff_section_data (abfd, sec)->contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
+ /* The deletion must stop at the next ALIGN reloc for an alignment
power larger than the number of bytes we are deleting. */
irelalign = NULL;
@@ -1354,8 +1354,8 @@ sh_relax_delete_bytes (bfd *abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
- abfd, (unsigned long) irel->r_vaddr);
+ (_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+ abfd, irel->r_vaddr);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -2642,8 +2642,8 @@ sh_swap_insns (bfd * abfd,
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
- abfd, (unsigned long) irel->r_vaddr);
+ (_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+ abfd, irel->r_vaddr);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c
index ec1d1fd..253ea94 100644
--- a/bfd/coff-tic80.c
+++ b/bfd/coff-tic80.c
@@ -667,8 +667,8 @@ coff_tic80_relocate_section (bfd *output_bfd,
case bfd_reloc_outofrange:
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: bad reloc address 0x%lx in section `%A'"),
- input_bfd, (unsigned long) rel->r_vaddr, input_section);
+ (_("%B: bad reloc address %#Lx in section `%A'"),
+ input_bfd, rel->r_vaddr, input_section);
return FALSE;
case bfd_reloc_overflow:
{
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index 525b079..460bf49 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -1852,6 +1852,46 @@ xcoff64_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
return NULL;
}
+/* PR 21786: The PE/COFF standard does not require NUL termination for any of
+ the ASCII fields in the archive headers. So in order to be able to extract
+ numerical values we provide our own versions of strtol and strtoll which
+ take a maximum length as an additional parameter. Also - just to save space,
+ we omit the endptr return parameter, since we know that it is never used. */
+
+static long
+_bfd_strntol (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[24]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtol (buf, NULL, base);
+}
+
+static long long
+_bfd_strntoll (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[32]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtoll (buf, NULL, base);
+}
+
+/* Macro to read an ASCII value stored in an archive header field. */
+#define GET_VALUE_IN_FIELD(VAR, FIELD) \
+ do \
+ { \
+ (VAR) = sizeof (VAR) > sizeof (long) \
+ ? _bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : _bfd_strntol (FIELD, 10, sizeof FIELD); \
+ } \
+ while (0)
+
/* Read in the armap of an XCOFF archive. */
static bfd_boolean
@@ -1892,7 +1932,7 @@ xcoff64_slurp_armap (bfd *abfd)
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
pos = ((namlen + 1) & ~(size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, pos, SEEK_CUR) != 0)
return FALSE;
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index d6388d7..21308de 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -997,7 +997,13 @@ handle_COMDAT (bfd * abfd,
|| isym.n_sclass == C_EXT)
&& BTYPE (isym.n_type) == T_NULL
&& isym.n_value == 0))
- abort ();
+ {
+ /* Malformed input files can trigger this test.
+ cf PR 21781. */
+ _bfd_error_handler (_("%B: error: unexpected symbol '%s' in COMDAT section"),
+ abfd, symname);
+ goto breakloop;
+ }
/* FIXME LATER: MSVC generates section names
like .text for comdats. Gas generates
@@ -1311,7 +1317,7 @@ styp_to_sec_flags (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B (%s): Section flag %s (0x%x) ignored"),
+ (_("%B (%s): Section flag %s (%#lx) ignored"),
abfd, name, unhandled, flag);
result = FALSE;
}
@@ -3765,7 +3771,7 @@ coff_write_object_contents (bfd * abfd)
_bfd_error_handler
/* xgettext:c-format */
(_("%B: section %A: string table overflow at offset %ld"),
- abfd, current, string_size);
+ abfd, current, (unsigned long) string_size);
return FALSE;
}
@@ -4607,7 +4613,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
if (cache_ptr->line_number == 0)
{
combined_entry_type * ent;
- bfd_vma symndx;
+ unsigned long symndx;
coff_symbol_type *sym;
have_func = FALSE;
@@ -4617,7 +4623,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
_bfd_error_handler
/* xgettext:c-format */
(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
- abfd, (long) symndx, counter);
+ abfd, symndx, counter);
cache_ptr->line_number = -1;
ret = FALSE;
continue;
@@ -4631,7 +4637,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
_bfd_error_handler
/* xgettext:c-format */
(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
- abfd, (long) symndx, counter);
+ abfd, symndx, counter);
cache_ptr->line_number = -1;
ret = FALSE;
continue;
@@ -4811,6 +4817,9 @@ coff_slurp_symbol_table (bfd * abfd)
#endif
#ifdef RS6000COFF_C
case C_HIDEXT:
+#if ! defined _AIX52 && ! defined AIX_WEAK_SUPPORT
+ case C_AIX_WEAKEXT:
+#endif
#endif
#ifdef C_SYSTEM
case C_SYSTEM: /* System Wide variable. */
@@ -4883,7 +4892,11 @@ coff_slurp_symbol_table (bfd * abfd)
&& src->u.syment.n_scnum > 0)
dst->symbol.flags = BSF_LOCAL;
#endif
- if (src->u.syment.n_sclass == C_WEAKEXT)
+ if (src->u.syment.n_sclass == C_WEAKEXT
+#ifdef RS6000COFF_C
+ || src->u.syment.n_sclass == C_AIX_WEAKEXT
+#endif
+ )
dst->symbol.flags |= BSF_WEAK;
break;
@@ -5312,7 +5325,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
_bfd_error_handler
/* xgettext:c-format */
(_("%B: warning: illegal symbol index %ld in relocs"),
- abfd, (long) dst.r_symndx);
+ abfd, dst.r_symndx);
cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
ptr = NULL;
}
@@ -5351,8 +5364,8 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: illegal relocation type %d at address 0x%lx"),
- abfd, dst.r_type, (long) dst.r_vaddr);
+ (_("%B: illegal relocation type %d at address %#Lx"),
+ abfd, dst.r_type, dst.r_vaddr);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index 31c2c5a..d7cdf8f 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -1645,7 +1645,7 @@ _bfd_coff_get_external_symbols (bfd *abfd)
if (syms == NULL)
{
/* PR 21013: Provide an error message when the alloc fails. */
- _bfd_error_handler (_("%B: Not enough memory to allocate space for %lu symbols"),
+ _bfd_error_handler (_("%B: Not enough memory to allocate space for %Lu symbols"),
abfd, size);
return FALSE;
}
@@ -1713,7 +1713,7 @@ _bfd_coff_read_string_table (bfd *abfd)
{
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: bad string table size %lu"), abfd, (unsigned long) strsize);
+ (_("%B: bad string table size %Lu"), abfd, strsize);
bfd_set_error (bfd_error_bad_value);
return NULL;
}
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index aa84a35..32d62bd 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -2727,7 +2727,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
|| bfd_link_relocatable (flaginfo->info)))
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: %A: reloc overflow: 0x%lx > 0xffff"),
+ (_("%B: %A: reloc overflow: %#x > 0xffff"),
output_bfd, sec, sec->reloc_count);
if (sec->lineno_count > 0xffff
@@ -2735,7 +2735,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
|| bfd_link_relocatable (flaginfo->info)))
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: warning: %A: line number overflow: 0x%lx > 0xffff"),
+ (_("%B: warning: %A: line number overflow: %#x > 0xffff"),
output_bfd, sec, sec->lineno_count);
auxp->x_scn.x_nreloc = sec->reloc_count;
@@ -3120,8 +3120,8 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
case bfd_reloc_outofrange:
_bfd_error_handler
/* xgettext: c-format */
- (_("%B: bad reloc address 0x%lx in section `%A'"),
- input_bfd, (unsigned long) rel->r_vaddr, input_section);
+ (_("%B: bad reloc address %#Lx in section `%A'"),
+ input_bfd, rel->r_vaddr, input_section);
return FALSE;
case bfd_reloc_overflow:
{
diff --git a/bfd/compress.c b/bfd/compress.c
index ef549f9..d06f2fe 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -106,7 +106,7 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
if (orig_compression_header_size == 0)
{
/* Convert it from .zdebug* section. Get the uncompressed
- size first. We need to substract the 12-byte overhead in
+ size first. We need to subtract the 12-byte overhead in
.zdebug* section. Set orig_compression_header_size to
the 12-bye overhead. */
orig_compression_header_size = 12;
@@ -252,8 +252,8 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr)
if (bfd_get_error () == bfd_error_no_memory)
_bfd_error_handler
/* xgettext:c-format */
- (_("error: %B(%A) is too large (%#lx bytes)"),
- abfd, sec, (long) sz);
+ (_("error: %B(%A) is too large (%#Lx bytes)"),
+ abfd, sec, sz);
return FALSE;
}
}
diff --git a/bfd/configure b/bfd/configure
index f6bd2e8..32ee062 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -12495,7 +12495,7 @@ bfd_default_target_size=32
# host stuff:
-ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk sr"
+ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN"
# If we haven't got the data from the intl directory,
# assume NLS is disabled.
USE_NLS=no
@@ -14391,17 +14391,17 @@ do
i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;;
i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;;
i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;;
- i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;;
i386_msdos_vec) tb="$tb i386msdos.lo" ;;
i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;;
i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;;
- iamcu_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ iamcu_elf32_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
i860_coff_vec) tb="$tb coff-i860.lo $coff" ;;
i860_elf32_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
i860_elf32_le_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
@@ -14418,10 +14418,10 @@ do
ieee_vec) tb="$tb ieee.lo" ;;
ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
- k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ k1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ l1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
@@ -14623,13 +14623,13 @@ do
wasm32_elf32_vec) tb="$tb elf32-wasm32.lo elf32.lo $elf" ;;
we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;;
x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
- x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+ x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+ x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;;
x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
diff --git a/bfd/configure.ac b/bfd/configure.ac
index dfbe3df..0e4c669 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -143,7 +143,7 @@ bfd_default_target_size=32
# host stuff:
-ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id ru uk sr"
+ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN"
ZW_GNU_GETTEXT_SISTER_DIR
AM_PO_SUBDIRS
@@ -473,17 +473,17 @@ do
i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;;
i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;;
i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;;
- i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
- i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_sol2_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;;
i386_msdos_vec) tb="$tb i386msdos.lo" ;;
i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;;
i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;;
- iamcu_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
+ iamcu_elf32_vec) tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
i860_coff_vec) tb="$tb coff-i860.lo $coff" ;;
i860_elf32_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
i860_elf32_le_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
@@ -500,10 +500,10 @@ do
ieee_vec) tb="$tb ieee.lo" ;;
ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
- k1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ k1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ l1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
@@ -705,13 +705,13 @@ do
wasm32_elf32_vec) tb="$tb elf32-wasm32.lo elf32.lo $elf" ;;
we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;;
x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;;
- x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+ x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
+ x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
+ x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;;
x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
diff --git a/bfd/cpu-pdp11.c b/bfd/cpu-pdp11.c
index 87c6aa9..25e20bb 100644
--- a/bfd/cpu-pdp11.c
+++ b/bfd/cpu-pdp11.c
@@ -31,7 +31,7 @@ const bfd_arch_info_type bfd_pdp11_arch =
0, /* only 1 machine */
"pdp11",
"pdp11",
- 1, /* aligment = 16 bit */
+ 1, /* alignment = 16 bit */
TRUE, /* the one and only */
bfd_default_compatible,
bfd_default_scan,
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 04a2585..856c963 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -566,6 +566,29 @@ read_section (bfd * abfd,
0, *section_size))
return FALSE;
}
+
+ /* Paranoia - if we are reading in a string section, make sure that it
+ is NUL terminated. This is to prevent string functions from running
+ off the end of the buffer. Note - knowing the size of the buffer is
+ not enough as some functions, eg strchr, do not have a range limited
+ equivalent.
+
+ FIXME: We ought to use a flag in the dwarf_debug_sections[] table to
+ determine the nature of a debug section, rather than checking the
+ section name as we do here. */
+ if (*section_size > 0
+ && (*section_buffer)[*section_size - 1] != 0
+ && (strstr (section_name, "_str") || strstr (section_name, "names")))
+ {
+ bfd_byte * new_buffer = malloc (*section_size + 1);
+
+ _bfd_error_handler (_("warning: dwarf string section '%s' is not NUL terminated"),
+ section_name);
+ memcpy (new_buffer, *section_buffer, *section_size);
+ new_buffer[*section_size] = 0;
+ free (*section_buffer);
+ *section_buffer = new_buffer;
+ }
}
/* It is possible to get a bad value for the offset into the section
@@ -573,9 +596,9 @@ read_section (bfd * abfd,
if (offset != 0 && offset >= *section_size)
{
/* xgettext: c-format */
- _bfd_error_handler (_("Dwarf Error: Offset (%lu)"
- " greater than or equal to %s size (%lu)."),
- (long) offset, section_name, *section_size);
+ _bfd_error_handler (_("Dwarf Error: Offset (%llu)"
+ " greater than or equal to %s size (%Lu)."),
+ (long long) offset, section_name, *section_size);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1943,8 +1966,8 @@ read_formatted_entries (struct comp_unit *unit, bfd_byte **bufp,
break;
default:
_bfd_error_handler
- (_("Dwarf Error: Unknown format content type %lu."),
- (unsigned long) content_type);
+ (_("Dwarf Error: Unknown format content type %Lu."),
+ content_type);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -2047,8 +2070,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
if (stash->dwarf_line_size < 16)
{
_bfd_error_handler
- (_("Dwarf Error: Line info section is too small (%ld)"),
- (long) stash->dwarf_line_size);
+ (_("Dwarf Error: Line info section is too small (%Ld)"),
+ stash->dwarf_line_size);
bfd_set_error (bfd_error_bad_value);
return NULL;
}
@@ -2073,12 +2096,12 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
offset_size = 8;
}
- if (lh.total_length > stash->dwarf_line_size)
+ if (unit->line_offset + lh.total_length > stash->dwarf_line_size)
{
_bfd_error_handler
/* xgettext: c-format */
- (_("Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"),
- (long) lh.total_length, (long) stash->dwarf_line_size);
+ (_("Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#Lx)"),
+ lh.total_length, stash->dwarf_line_size - unit->line_offset);
bfd_set_error (bfd_error_bad_value);
return NULL;
}
@@ -2854,7 +2877,8 @@ find_abstract_instance_name (struct comp_unit *unit,
if (info_ptr == NULL)
{
_bfd_error_handler
- (_("Dwarf Error: Unable to read alt ref %u."), die_ref);
+ (_("Dwarf Error: Unable to read alt ref %llu."),
+ (long long) die_ref);
bfd_set_error (bfd_error_bad_value);
return NULL;
}
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index ef5dc5e..4bda9dc 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -961,7 +961,7 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd)
bfd_get_symcount (abfd) = internal_ptr - internal;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"),
+ (_("%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
abfd, ecoff_data (abfd)->debug_info.symbolic_header.isymMax,
ecoff_data (abfd)->debug_info.symbolic_header.ifdMax);
}
diff --git a/bfd/ecofflink.c b/bfd/ecofflink.c
index c3c2e94..e1f1804 100644
--- a/bfd/ecofflink.c
+++ b/bfd/ecofflink.c
@@ -898,7 +898,7 @@ bfd_ecoff_debug_accumulate (void * handle,
if (! bfd_link_relocatable (info))
{
- /* When are are hashing strings, we lie about the number of
+ /* When we are hashing strings, we lie about the number of
strings attached to each FDR. We need to set cbSs
because some versions of dbx apparently use it to decide
how much of the string table to read in. */
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
index def1345..761a4ce 100644
--- a/bfd/elf-attrs.c
+++ b/bfd/elf-attrs.c
@@ -438,7 +438,7 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
/* PR 17512: file: 2844a11d. */
if (hdr->sh_size == 0)
return;
- contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
+ contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
if (!contents)
return;
if (!bfd_get_section_contents (abfd, hdr->bfd_section, contents, 0,
@@ -447,6 +447,8 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
free (contents);
return;
}
+ /* Ensure that the buffer is NUL terminated. */
+ contents[hdr->sh_size] = 0;
p = contents;
p_end = p + hdr->sh_size;
std_sec = get_elf_backend_data (abfd)->obj_attrs_vendor;
@@ -468,6 +470,12 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
if (section_len > len)
section_len = len;
len -= section_len;
+ if (section_len <= 4)
+ {
+ _bfd_error_handler (_("%B: error: attribute section length too small: %ld"),
+ abfd, section_len);
+ break;
+ }
section_len -= 4;
namelen = strnlen ((char *) p, section_len) + 1;
if (namelen == 0 || namelen >= section_len)
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 92a8e02..fd08748 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1887,21 +1887,27 @@ struct elf_obj_tdata
/* An identifier used to distinguish different target
specific extensions to this structure. */
- enum elf_target_id object_id;
+ ENUM_BITFIELD (elf_target_id) object_id : 6;
/* Whether a dyanmic object was specified normally on the linker
command line, or was specified when --as-needed was in effect,
or was found via a DT_NEEDED entry. */
- enum dynamic_lib_link_class dyn_lib_class;
+ ENUM_BITFIELD (dynamic_lib_link_class) dyn_lib_class : 4;
+
+ /* Whether if the bfd contains symbols that have the STT_GNU_IFUNC
+ symbol type or STB_GNU_UNIQUE binding. */
+ ENUM_BITFIELD (elf_gnu_symbols) has_gnu_symbols : 3;
+
+ /* Whether if the bfd contains the GNU_PROPERTY_NO_COPY_ON_PROTECTED
+ property. */
+ unsigned int has_no_copy_on_protected : 1;
/* Irix 5 often screws up the symbol table, sorting local symbols
after global symbols. This flag is set if the symbol table in
this BFD appears to be screwed up. If it is, we ignore the
sh_info field in the symbol table header, and always read all the
symbols. */
- bfd_boolean bad_symtab;
-
- enum elf_gnu_symbols has_gnu_symbols;
+ unsigned int bad_symtab : 1;
/* Information grabbed from an elf core file. */
struct core_elf_obj_tdata *core;
@@ -1956,6 +1962,8 @@ struct elf_obj_tdata
#define elf_other_obj_attributes_proc(bfd) \
(elf_other_obj_attributes (bfd) [OBJ_ATTR_PROC])
#define elf_properties(bfd) (elf_tdata (bfd) -> properties)
+#define elf_has_no_copy_on_protected(bfd) \
+ (elf_tdata(bfd) -> has_no_copy_on_protected)
extern void _bfd_elf_swap_verdef_in
(bfd *, const Elf_External_Verdef *, Elf_Internal_Verdef *);
@@ -2651,9 +2659,6 @@ extern bfd_boolean _bfd_elf_allocate_ifunc_dyn_relocs
(struct bfd_link_info *, struct elf_link_hash_entry *,
struct elf_dyn_relocs **, bfd_boolean *, unsigned int,
unsigned int, unsigned int, bfd_boolean);
-extern long _bfd_elf_ifunc_get_synthetic_symtab
- (bfd *, long, asymbol **, long, asymbol **, asymbol **, asection *,
- bfd_vma *(*) (bfd *, asymbol **, asection *, asection *));
extern void elf_append_rela (bfd *, asection *, Elf_Internal_Rela *);
extern void elf_append_rel (bfd *, asection *, Elf_Internal_Rela *);
@@ -2802,7 +2807,9 @@ extern asection _bfd_elf_large_com_section;
library, if any. A unique symbol can never be bound locally. */
#define SYMBOLIC_BIND(INFO, H) \
(!(H)->unique_global \
- && ((INFO)->symbolic || ((INFO)->dynamic && !(H)->dynamic)))
+ && ((INFO)->symbolic \
+ || (H)->start_stop \
+ || ((INFO)->dynamic && !(H)->dynamic)))
#ifdef __cplusplus
}
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 52ba9c6..cd81b60 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -619,15 +619,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
REQUIRE (bfd_malloc_and_get_section (abfd, sec, &ehbuf));
- if (sec->size >= 4
- && bfd_get_32 (abfd, ehbuf) == 0
- && cookie->rel == cookie->relend)
- {
- /* Empty .eh_frame section. */
- free (ehbuf);
- return;
- }
-
/* If .eh_frame section size doesn't fit into int, we cannot handle
it (it would need to use 64-bit .eh_frame format anyway). */
REQUIRE (sec->size == (unsigned int) sec->size);
@@ -669,8 +660,11 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
REQUIRE (sec_info);
/* We need to have a "struct cie" for each CIE in this section. */
- local_cies = (struct cie *) bfd_zmalloc (num_cies * sizeof (*local_cies));
- REQUIRE (local_cies);
+ if (num_cies)
+ {
+ local_cies = (struct cie *) bfd_zmalloc (num_cies * sizeof (*local_cies));
+ REQUIRE (local_cies);
+ }
/* FIXME: octets_per_byte. */
#define ENSURE_NO_RELOCS(buf) \
@@ -724,7 +718,9 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
if (hdr_length == 0)
{
/* A zero-length CIE should only be found at the end of
- the section. */
+ the section, but allow multiple terminators. */
+ while (skip_bytes (&buf, ehbuf + sec->size, 4))
+ REQUIRE (bfd_get_32 (abfd, buf - 4) == 0);
REQUIRE ((bfd_size_type) (buf - ehbuf) == sec->size);
ENSURE_NO_RELOCS (buf);
sec_info->count++;
@@ -1339,7 +1335,7 @@ offset_adjust (bfd_vma offset, const asection *sec)
struct eh_frame_sec_info *sec_info
= (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
unsigned int lo, hi, mid;
- struct eh_cie_fde *ent;
+ struct eh_cie_fde *ent = NULL;
bfd_signed_vma delta;
lo = 0;
@@ -1594,16 +1590,7 @@ _bfd_elf_discard_section_eh_frame
offset += size_of_output_cie_fde (ent);
}
- /* Pad the last FDE out to the output section alignment if there are
- following sections, in order to ensure no padding between this
- section and the next. (Relies on the output section alignment
- being the maximum of all input sections alignments, which is the
- case unless someone is overriding alignment via scripts.) */
eh_alignment = 4;
- if (sec->map_head.s != NULL
- && (sec->map_head.s->size != 4
- || sec->map_head.s->map_head.s != NULL))
- eh_alignment = 1 << sec->output_section->alignment_power;
offset = (offset + eh_alignment - 1) & -eh_alignment;
sec->rawsize = sec->size;
sec->size = offset;
diff --git a/bfd/elf-ifunc.c b/bfd/elf-ifunc.c
index 8db7997..4bd64d6 100644
--- a/bfd/elf-ifunc.c
+++ b/bfd/elf-ifunc.c
@@ -355,128 +355,3 @@ keep:
return TRUE;
}
-
-/* Similar to _bfd_elf_get_synthetic_symtab, optimized for unsorted PLT
- entries. PLT is the PLT section. PLT_SYM_VAL is a function pointer
- which returns an array of PLT entry symbol values. */
-
-long
-_bfd_elf_ifunc_get_synthetic_symtab
- (bfd *abfd, long symcount ATTRIBUTE_UNUSED,
- asymbol **syms ATTRIBUTE_UNUSED, long dynsymcount, asymbol **dynsyms,
- asymbol **ret, asection *plt,
- bfd_vma *(*get_plt_sym_val) (bfd *, asymbol **, asection *, asection *))
-{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- asection *relplt;
- asymbol *s;
- const char *relplt_name;
- bfd_boolean (*slurp_relocs) (bfd *, asection *, asymbol **, bfd_boolean);
- arelent *p;
- long count, i, n;
- size_t size;
- Elf_Internal_Shdr *hdr;
- char *names;
- bfd_vma *plt_sym_val;
-
- *ret = NULL;
-
- if (plt == NULL)
- return 0;
-
- if ((abfd->flags & (DYNAMIC | EXEC_P)) == 0)
- return 0;
-
- if (dynsymcount <= 0)
- return 0;
-
- relplt_name = bed->relplt_name;
- if (relplt_name == NULL)
- relplt_name = bed->rela_plts_and_copies_p ? ".rela.plt" : ".rel.plt";
- relplt = bfd_get_section_by_name (abfd, relplt_name);
- if (relplt == NULL)
- return 0;
-
- hdr = &elf_section_data (relplt)->this_hdr;
- if (hdr->sh_link != elf_dynsymtab (abfd)
- || (hdr->sh_type != SHT_REL && hdr->sh_type != SHT_RELA))
- return 0;
-
- slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
- if (! (*slurp_relocs) (abfd, relplt, dynsyms, TRUE))
- return -1;
-
- count = relplt->size / hdr->sh_entsize;
- size = count * sizeof (asymbol);
- p = relplt->relocation;
- for (i = 0; i < count; i++, p += bed->s->int_rels_per_ext_rel)
- {
- size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt");
- if (p->addend != 0)
- {
-#ifdef BFD64
- size += sizeof ("+0x") - 1 + 8 + 8 * (bed->s->elfclass == ELFCLASS64);
-#else
- size += sizeof ("+0x") - 1 + 8;
-#endif
- }
- }
-
- plt_sym_val = get_plt_sym_val (abfd, dynsyms, plt, relplt);
- if (plt_sym_val == NULL)
- return -1;
-
- s = *ret = (asymbol *) bfd_malloc (size);
- if (s == NULL)
- {
- free (plt_sym_val);
- return -1;
- }
-
- names = (char *) (s + count);
- p = relplt->relocation;
- n = 0;
- for (i = 0; i < count; i++, p += bed->s->int_rels_per_ext_rel)
- {
- size_t len;
- bfd_vma addr;
-
- addr = plt_sym_val[i];
- if (addr == (bfd_vma) -1)
- continue;
-
- *s = **p->sym_ptr_ptr;
- /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL set. Since
- we are defining a symbol, ensure one of them is set. */
- if ((s->flags & BSF_LOCAL) == 0)
- s->flags |= BSF_GLOBAL;
- s->flags |= BSF_SYNTHETIC;
- s->section = plt;
- s->value = addr - plt->vma;
- s->name = names;
- s->udata.p = NULL;
- len = strlen ((*p->sym_ptr_ptr)->name);
- memcpy (names, (*p->sym_ptr_ptr)->name, len);
- names += len;
- if (p->addend != 0)
- {
- char buf[30], *a;
-
- memcpy (names, "+0x", sizeof ("+0x") - 1);
- names += sizeof ("+0x") - 1;
- bfd_sprintf_vma (abfd, buf, p->addend);
- for (a = buf; *a == '0'; ++a)
- ;
- len = strlen (a);
- memcpy (names, a, len);
- names += len;
- }
- memcpy (names, "@plt", sizeof ("@plt"));
- names += sizeof ("@plt");
- ++s, ++n;
- }
-
- free (plt_sym_val);
-
- return n;
-}
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index e59f083..9214a57 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -2094,10 +2094,10 @@ mn10300_elf_relocate_section (bfd *output_bfd,
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.root.string);
}
@@ -2416,7 +2416,7 @@ mn10300_elf_relax_delete_bytes (bfd *abfd,
if (ELF32_R_TYPE ((irelend - 1)->r_info) == (int) R_MN10300_ALIGN)
--irelend;
- /* The deletion must stop at the next ALIGN reloc for an aligment
+ /* The deletion must stop at the next ALIGN reloc for an alignment
power larger than, or not a multiple of, the number of bytes we
are deleting. */
for (; irel < irelend; irel++)
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
index 13d620d..f367aa6 100644
--- a/bfd/elf-properties.c
+++ b/bfd/elf-properties.c
@@ -168,6 +168,7 @@ bad_size:
return FALSE;
}
prop = _bfd_elf_get_property (abfd, type, datasz);
+ elf_has_no_copy_on_protected (abfd) = TRUE;
prop->pr_kind = property_number;
goto next;
@@ -290,6 +291,9 @@ elf_merge_gnu_property_list (struct bfd_link_info *info, bfd *abfd,
for (p = *listp; p != NULL; p = p->next)
if (elf_merge_gnu_properties (info, abfd, NULL, &p->property))
{
+ if (p->property.pr_type == GNU_PROPERTY_NO_COPY_ON_PROTECTED)
+ elf_has_no_copy_on_protected (abfd) = TRUE;
+
pr = _bfd_elf_get_property (abfd, p->property.pr_type,
p->property.pr_datasz);
/* It must be a new property. */
@@ -489,6 +493,11 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
/* Cache the section contents for elf_link_input_bfd. */
elf_section_data (sec)->this_hdr.contents = contents;
+
+ /* If GNU_PROPERTY_NO_COPY_ON_PROTECTED is set, protected data
+ symbol is defined in the shared object. */
+ if (elf_has_no_copy_on_protected (first_pbfd))
+ info->extern_protected_data = FALSE;
}
return first_pbfd;
diff --git a/bfd/elf.c b/bfd/elf.c
index 063a6e4..9b61f06 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -354,8 +354,8 @@ bfd_elf_string_from_elf_section (bfd *abfd,
unsigned int shstrndx = elf_elfheader(abfd)->e_shstrndx;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: invalid string offset %u >= %lu for section `%s'"),
- abfd, strindex, (unsigned long) hdr->sh_size,
+ (_("%B: invalid string offset %u >= %Lu for section `%s'"),
+ abfd, strindex, hdr->sh_size,
(shindex == shstrndx && strindex == hdr->sh_name
? ".shstrtab"
: bfd_elf_string_from_elf_section (abfd, shstrndx, hdr->sh_name)));
@@ -742,12 +742,22 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
{
Elf_Internal_Shdr *shdr = elf_tdata (abfd)->group_sect_ptr[i];
Elf_Internal_Group *idx;
- unsigned int n_elt;
+ bfd_size_type n_elt;
if (shdr == NULL)
continue;
idx = (Elf_Internal_Group *) shdr->contents;
+ if (idx == NULL || shdr->sh_size < 4)
+ {
+ /* See PR 21957 for a reproducer. */
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%B: group section '%A' has no contents"),
+ abfd, shdr->bfd_section);
+ elf_tdata (abfd)->group_sect_ptr[i] = NULL;
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
n_elt = shdr->sh_size / 4;
/* Look through this group's sections to see if current
@@ -801,7 +811,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
if (elf_group_name (newsect) == NULL)
{
/* xgettext:c-format */
- _bfd_error_handler (_("%B: no group info for section %A"),
+ _bfd_error_handler (_("%B: no group info for section '%A'"),
abfd, newsect);
return FALSE;
}
@@ -896,32 +906,39 @@ _bfd_elf_setup_sections (bfd *abfd)
n_elt = shdr->sh_size / 4;
while (--n_elt != 0)
- if ((++idx)->shdr->bfd_section)
- elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section;
- else if (idx->shdr->sh_type == SHT_RELA
- || idx->shdr->sh_type == SHT_REL)
- /* We won't include relocation sections in section groups in
- output object files. We adjust the group section size here
- so that relocatable link will work correctly when
- relocation sections are in section group in input object
- files. */
- shdr->bfd_section->size -= 4;
- else
- {
- /* There are some unknown sections in the group. */
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: unknown type [%#x] section `%s' in group [%A]"),
- abfd,
- idx->shdr->sh_type,
- bfd_elf_string_from_elf_section (abfd,
- (elf_elfheader (abfd)
- ->e_shstrndx),
- idx->shdr->sh_name),
- shdr->bfd_section);
- result = FALSE;
- }
+ {
+ ++ idx;
+
+ if (idx->shdr == NULL)
+ continue;
+ else if (idx->shdr->bfd_section)
+ elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section;
+ else if (idx->shdr->sh_type == SHT_RELA
+ || idx->shdr->sh_type == SHT_REL)
+ /* We won't include relocation sections in section groups in
+ output object files. We adjust the group section size here
+ so that relocatable link will work correctly when
+ relocation sections are in section group in input object
+ files. */
+ shdr->bfd_section->size -= 4;
+ else
+ {
+ /* There are some unknown sections in the group. */
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B: unknown type [%#x] section `%s' in group [%A]"),
+ abfd,
+ idx->shdr->sh_type,
+ bfd_elf_string_from_elf_section (abfd,
+ (elf_elfheader (abfd)
+ ->e_shstrndx),
+ idx->shdr->sh_name),
+ shdr->bfd_section);
+ result = FALSE;
+ }
+ }
}
+
return result;
}
@@ -5115,7 +5132,7 @@ elf_sort_sections (const void *arg1, const void *arg2)
else
adjustment = vma_offset - off_offset;
- which can can be collapsed into the expression below. */
+ which can be collapsed into the expression below. */
static file_ptr
vma_page_aligned_bias (bfd_vma vma, ufile_ptr off, bfd_vma maxpagesize)
@@ -8954,7 +8971,7 @@ elfcore_maybe_make_sect (bfd *abfd, char *name, asection *sect)
such a section already exists.
- For the multi-threaded case, a section named "NAME/PID", where
PID is elfcore_make_pid (abfd).
- Both pseudosections have identical contents. */
+ Both pseudosections have identical contents. */
bfd_boolean
_bfd_elfcore_make_pseudosection (bfd *abfd,
char *name,
@@ -9681,14 +9698,14 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
case NT_S390_GS_CB:
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
- return elfcore_grok_s390_gs_bc (abfd, note);
+ return elfcore_grok_s390_gs_cb (abfd, note);
else
return TRUE;
case NT_S390_GS_BC:
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
- return elfcore_grok_s390_gs_cb (abfd, note);
+ return elfcore_grok_s390_gs_bc (abfd, note);
else
return TRUE;
@@ -9883,58 +9900,68 @@ elfcore_grok_freebsd_prstatus (bfd *abfd, Elf_Internal_Note *note)
{
size_t offset;
size_t size;
+ size_t min_size;
- /* Check for version 1 in pr_version. */
- if (bfd_h_get_32 (abfd, (bfd_byte *) note->descdata) != 1)
- return FALSE;
- offset = 4;
-
- /* Skip over pr_statussz. */
+ /* Compute offset of pr_getregsz, skipping over pr_statussz.
+ Also compute minimum size of this note. */
switch (elf_elfheader (abfd)->e_ident[EI_CLASS])
{
case ELFCLASS32:
- offset += 4;
+ offset = 4 + 4;
+ min_size = offset + (4 * 2) + 4 + 4 + 4;
break;
case ELFCLASS64:
- offset += 4; /* Padding before pr_statussz. */
- offset += 8;
+ offset = 4 + 4 + 8; /* Includes padding before pr_statussz. */
+ min_size = offset + (8 * 2) + 4 + 4 + 4 + 4;
break;
default:
return FALSE;
}
- /* Extract size of pr_reg from pr_gregsetsz. */
- if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS32)
- size = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + offset);
- else
- size = bfd_h_get_64 (abfd, (bfd_byte *) note->descdata + offset);
+ if (note->descsz < min_size)
+ return FALSE;
- /* Skip over pr_gregsetsz and pr_fpregsetsz. */
+ /* Check for version 1 in pr_version. */
+ if (bfd_h_get_32 (abfd, (bfd_byte *) note->descdata) != 1)
+ return FALSE;
+
+ /* Extract size of pr_reg from pr_gregsetsz. */
+ /* Skip over pr_gregsetsz and pr_fpregsetsz. */
if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS32)
- offset += 4 * 2;
+ {
+ size = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + offset);
+ offset += 4 * 2;
+ }
else
- offset += 8 * 2;
+ {
+ size = bfd_h_get_64 (abfd, (bfd_byte *) note->descdata + offset);
+ offset += 8 * 2;
+ }
- /* Skip over pr_osreldate. */
+ /* Skip over pr_osreldate. */
offset += 4;
- /* Read signal from pr_cursig. */
+ /* Read signal from pr_cursig. */
if (elf_tdata (abfd)->core->signal == 0)
elf_tdata (abfd)->core->signal
= bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + offset);
offset += 4;
- /* Read TID from pr_pid. */
+ /* Read TID from pr_pid. */
elf_tdata (abfd)->core->lwpid
= bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + offset);
offset += 4;
- /* Padding before pr_reg. */
+ /* Padding before pr_reg. */
if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64)
offset += 4;
+ /* Make sure that there is enough data remaining in the note. */
+ if ((note->descsz - offset) < size)
+ return FALSE;
+
/* Make a ".reg/999" section and a ".reg" section. */
return _bfd_elfcore_make_pseudosection (abfd, ".reg",
size, note->descpos + offset);
@@ -9980,6 +10007,10 @@ elfcore_grok_freebsd_note (bfd *abfd, Elf_Internal_Note *note)
else
return TRUE;
+ case NT_FREEBSD_PTLWPINFO:
+ return elfcore_make_note_pseudosection (abfd, ".note.freebsdcore.lwpinfo",
+ note);
+
default:
return TRUE;
}
@@ -10976,7 +11007,7 @@ elf_read_notes (bfd *abfd, file_ptr offset, bfd_size_type size)
{
char *buf;
- if (size <= 0)
+ if (size == 0 || (size + 1) == 0)
return TRUE;
if (bfd_seek (abfd, offset, SEEK_SET) != 0)
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 6903ad7..cdecdb1 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -888,9 +888,9 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
/* Warn if different flags. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields than "
- "previous modules (0x%lx)"),
- ibfd, (long) in_flags, (long) out_flags);
+ (_("%B: uses different e_flags (%#x) fields than "
+ "previous modules (%#x)"),
+ ibfd, in_flags, out_flags);
if (in_flags && out_flags)
return FALSE;
/* MWDT doesnt set the eflags hence make sure we choose the
@@ -1116,26 +1116,26 @@ arc_special_overflow_checks (const struct arc_relocation_data reloc_data,
if (reloc_data.reloc_addend == 0)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): CMEM relocation to `%s' is invalid, "
- "16 MSB should be 0x%04x (value is 0x%lx)"),
+ (_("%B(%A+%#Lx): CMEM relocation to `%s' is invalid, "
+ "16 MSB should be %#x (value is %#Lx)"),
reloc_data.input_section->owner,
reloc_data.input_section,
reloc_data.reloc_offset,
reloc_data.symbol_name,
NPS_CMEM_HIGH_VALUE,
- (relocation));
+ relocation);
else
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, "
- "16 MSB should be 0x%04x (value is 0x%lx)"),
+ (_("%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, "
+ "16 MSB should be %#x (value is %#Lx)"),
reloc_data.input_section->owner,
reloc_data.input_section,
reloc_data.reloc_offset,
reloc_data.symbol_name,
reloc_data.reloc_addend,
NPS_CMEM_HIGH_VALUE,
- (relocation));
+ relocation);
return bfd_reloc_overflow;
}
break;
@@ -1182,7 +1182,7 @@ arc_special_overflow_checks (const struct arc_relocation_data reloc_data,
+ (reloc_data.reloc_offset))))
#define SECTSTART (bfd_signed_vma) (reloc_data.sym_section->output_section->vma \
+ reloc_data.sym_section->output_offset)
-
+#define JLI (bfd_signed_vma) (reloc_data.sym_section->output_section->vma)
#define _SDA_BASE_ (bfd_signed_vma) (reloc_data.sdata_begin_symbol_vma)
#define TLS_REL (bfd_signed_vma) \
((elf_hash_table (info))->tls_sec->output_section->vma)
@@ -1359,6 +1359,7 @@ arc_do_relocation (bfd_byte * contents,
#undef P
#undef SECTSTAR
#undef SECTSTART
+#undef JLI
#undef _SDA_BASE_
#undef none
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index b9f5d04..bad8540 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -4140,7 +4140,7 @@ arm_type_of_stub (struct bfd_link_info *info,
_bfd_error_handler
(_("%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: ARM call to Thumb"),
- sym_sec->owner, input_bfd, name);
+ sym_sec->owner, name, input_bfd);
}
/* We have an extra 2-bytes reach because of
@@ -8615,12 +8615,12 @@ bfd_elf32_arm_stm32l4xx_erratum_scan (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): error: multiple load detected"
+ (_("%B(%A+%#x): error: multiple load detected"
" in non-last IT block instruction :"
" STM32L4XX veneer cannot be generated.\n"
"Use gcc option -mrestrict-it to generate"
" only one instruction per IT block.\n"),
- abfd, sec, (long) i);
+ abfd, sec, i);
}
else
{
@@ -9720,8 +9720,8 @@ elf32_arm_tls_relax (struct elf32_arm_link_hash_table *globals,
| bfd_get_16 (input_bfd, contents + rel->r_offset + 2);
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"),
- input_bfd, input_sec, (unsigned long)rel->r_offset, insn);
+ (_("%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"),
+ input_bfd, input_sec, rel->r_offset, insn);
return bfd_reloc_notsupported;
}
break;
@@ -9760,8 +9760,8 @@ elf32_arm_tls_relax (struct elf32_arm_link_hash_table *globals,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"),
- input_bfd, input_sec, (unsigned long)rel->r_offset, insn);
+ (_("%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"),
+ input_bfd, input_sec, rel->r_offset, insn);
return bfd_reloc_notsupported;
}
break;
@@ -9906,6 +9906,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
return bfd_reloc_notsupported;
BFD_ASSERT (is_arm_elf (input_bfd));
+ BFD_ASSERT (howto != NULL);
/* Some relocation types map to different relocations depending on the
target. We pick the right one here. */
@@ -11524,9 +11525,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"),
- input_bfd, input_section,
- (unsigned long)rel->r_offset, insn);
+ (_("%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"),
+ input_bfd, input_section, rel->r_offset, insn);
return bfd_reloc_notsupported;
}
}
@@ -11548,9 +11548,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
default:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"),
- input_bfd, input_section,
- (unsigned long)rel->r_offset, insn);
+ (_("%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"),
+ input_bfd, input_section, rel->r_offset, insn);
return bfd_reloc_notsupported;
}
}
@@ -11578,9 +11577,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"),
- input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ (_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
+ input_bfd, input_section, rel->r_offset, howto->name);
return bfd_reloc_notsupported;
}
else
@@ -11792,9 +11790,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"),
- input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ (_("%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group relocations"),
+ input_bfd, input_section, rel->r_offset);
return bfd_reloc_overflow;
}
@@ -11833,10 +11830,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"),
- input_bfd, input_section,
- (long) rel->r_offset, signed_value < 0 ? - signed_value : signed_value,
- howto->name);
+ (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
+ input_bfd, input_section, rel->r_offset,
+ signed_value < 0 ? -signed_value : signed_value, howto->name);
return bfd_reloc_overflow;
}
@@ -11924,9 +11920,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"),
- input_bfd, input_section,
- (long) rel->r_offset, labs (signed_value), howto->name);
+ (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
+ input_bfd, input_section, rel->r_offset,
+ signed_value < 0 ? -signed_value : signed_value, howto->name);
return bfd_reloc_overflow;
}
@@ -12010,9 +12006,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"),
- input_bfd, input_section,
- (long) rel->r_offset, labs (signed_value), howto->name);
+ (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
+ input_bfd, input_section, rel->r_offset,
+ signed_value < 0 ? -signed_value : signed_value, howto->name);
return bfd_reloc_overflow;
}
@@ -12098,9 +12094,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"),
- input_bfd, input_section,
- (long) rel->r_offset, labs (signed_value), howto->name);
+ (_("%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"),
+ input_bfd, input_section, rel->r_offset,
+ signed_value < 0 ? -signed_value : signed_value, howto->name);
return bfd_reloc_overflow;
}
@@ -12294,8 +12290,10 @@ elf32_arm_relocate_section (bfd * output_bfd,
|| r_type == R_ARM_GNU_VTINHERIT)
continue;
- bfd_reloc.howto = elf32_arm_howto_from_type (r_type);
- howto = bfd_reloc.howto;
+ howto = bfd_reloc.howto = elf32_arm_howto_from_type (r_type);
+
+ if (howto == NULL)
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
h = NULL;
sym = NULL;
@@ -12362,9 +12360,9 @@ elf32_arm_relocate_section (bfd * output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"),
+ (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ rel->r_offset, howto->name);
return FALSE;
}
@@ -12474,12 +12472,12 @@ elf32_arm_relocate_section (bfd * output_bfd,
_bfd_error_handler
((sym_type == STT_TLS
/* xgettext:c-format */
- ? _("%B(%A+0x%lx): %s used with TLS symbol %s")
+ ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
/* xgettext:c-format */
- : _("%B(%A+0x%lx): %s used with non-TLS symbol %s")),
+ : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
name);
}
@@ -12529,10 +12527,10 @@ elf32_arm_relocate_section (bfd * output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
return FALSE;
@@ -14042,7 +14040,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info)
if (in_attr[Tag_MPextension_use].i != in_attr[i].i)
{
_bfd_error_handler
- (_("%B has has both the current and legacy "
+ (_("%B has both the current and legacy "
"Tag_MPextension_use attributes"),
ibfd);
result = FALSE;
@@ -14541,7 +14539,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
Elf_Internal_Sym *isym;
struct elf_link_hash_entry *h;
struct elf32_arm_link_hash_entry *eh;
- unsigned long r_symndx;
+ unsigned int r_symndx;
int r_type;
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -18593,11 +18591,11 @@ elf32_arm_write_section (bfd *output_bfd,
branch_to_veneer - (1 << 24) : 0;
_bfd_error_handler
- (_("%B(%#x): error: Cannot create STM32L4XX veneer. "
- "Jump out of range by %ld bytes. "
+ (_("%B(%#Lx): error: Cannot create STM32L4XX veneer. "
+ "Jump out of range by %Ld bytes. "
"Cannot encode branch instruction. "),
output_bfd,
- (long) (stm32l4xx_errnode->vma - 4),
+ stm32l4xx_errnode->vma - 4,
out_of_range);
continue;
}
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index b3e09bd..09e50ce 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -1578,9 +1578,9 @@ bfin_relocate_section (bfd * output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable relocation against symbol `%s'"),
input_bfd,
- input_section, (long) rel->r_offset, h->root.root.string);
+ input_section, rel->r_offset, h->root.root.string);
return FALSE;
}
@@ -1609,9 +1609,8 @@ bfin_relocate_section (bfd * output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
- input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
+ input_bfd, input_section, rel->r_offset, name, (int) r);
return FALSE;
}
}
@@ -2703,7 +2702,7 @@ bfinfdpic_relocate_section (bfd * output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"),
+ (_("%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"),
input_bfd, input_section, rel->r_offset, name);
return FALSE;
@@ -4874,8 +4873,8 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info,
bad_reloc:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: unsupported relocation type %i"),
- abfd, ELF32_R_TYPE (rel->r_info));
+ (_("%B: unsupported relocation type %d"),
+ abfd, (int) ELF32_R_TYPE (rel->r_info));
return FALSE;
}
}
@@ -4949,7 +4948,7 @@ elf32_bfin_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
if (0)
#endif
_bfd_error_handler
- ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %B",
+ ("old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s, filename = %B",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no", ibfd);
if (!elf_flags_init (obfd)) /* First call, no flags set. */
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 83c4101..2661f2b 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1301,7 +1301,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
if (h == NULL)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against local symbol"),
input_bfd,
input_section,
@@ -1310,7 +1310,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
else
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against symbol `%s'"),
input_bfd,
input_section,
@@ -1657,7 +1657,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
to pass us these kinds of things. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against symbol `%s'"),
input_bfd,
input_section,
@@ -1810,7 +1810,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
things. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against symbol `%s'"),
input_bfd,
input_section,
@@ -3230,7 +3230,7 @@ cris_elf_check_relocs (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A:\n v10/v32 compatible object %s"
+ (_("%B, section %A:\n v10/v32 compatible object"
" must not contain a PIC relocation"),
abfd, sec);
return FALSE;
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index ef609ff..971073c 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -6355,7 +6355,7 @@ frv_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
#ifdef DEBUG
_bfd_error_handler
- ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
+ ("old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s, filename = %s",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
bfd_get_filename (ibfd));
#endif
@@ -6574,9 +6574,9 @@ frv_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
error = TRUE;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different unknown e_flags (0x%lx) fields"
- " than previous modules (0x%lx)"),
- ibfd, (long) new_partial, (long) old_partial);
+ (_("%B: uses different unknown e_flags (%#x) fields"
+ " than previous modules (%#x)"),
+ ibfd, new_partial, old_partial);
}
}
diff --git a/bfd/elf32-ft32.c b/bfd/elf32-ft32.c
index 13d5d7b..233c5a1 100644
--- a/bfd/elf32-ft32.c
+++ b/bfd/elf32-ft32.c
@@ -139,7 +139,7 @@ static reloc_howto_type ft32_elf_howto_table [] =
18, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
+ complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_FT32_18", /* name */
FALSE, /* partial_inplace */
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index 0087c71..3adac6d 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -836,10 +836,10 @@ hppa_build_one_stub (struct bfd_hash_entry *bh, void *in_arg)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"),
+ (_("%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"),
hsh->target_section->owner,
stub_sec,
- (long) hsh->stub_offset,
+ hsh->stub_offset,
hsh->bh_root.string);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -1919,16 +1919,20 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info,
return _bfd_elf_adjust_dynamic_copy (info, eh, sec);
}
-/* Make an undefined weak symbol dynamic. */
+/* If EH is undefined, make it dynamic if that makes sense. */
static bfd_boolean
-ensure_undef_weak_dynamic (struct bfd_link_info *info,
- struct elf_link_hash_entry *eh)
+ensure_undef_dynamic (struct bfd_link_info *info,
+ struct elf_link_hash_entry *eh)
{
- if (eh->dynindx == -1
+ struct elf_link_hash_table *htab = elf_hash_table (info);
+
+ if (htab->dynamic_sections_created
+ && (eh->root.type == bfd_link_hash_undefweak
+ || eh->root.type == bfd_link_hash_undefined)
+ && eh->dynindx == -1
&& !eh->forced_local
&& eh->type != STT_PARISC_MILLI
- && eh->root.type == bfd_link_hash_undefweak
&& ELF_ST_VISIBILITY (eh->other) == STV_DEFAULT)
return bfd_elf_link_record_dynamic_symbol (info, eh);
return TRUE;
@@ -1957,7 +1961,7 @@ allocate_plt_static (struct elf_link_hash_entry *eh, void *inf)
if (htab->etab.dynamic_sections_created
&& eh->plt.refcount > 0)
{
- if (!ensure_undef_weak_dynamic (info, eh))
+ if (!ensure_undef_dynamic (info, eh))
return FALSE;
if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), eh))
@@ -2034,7 +2038,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *eh, void *inf)
if (eh->got.refcount > 0)
{
- if (!ensure_undef_weak_dynamic (info, eh))
+ if (!ensure_undef_dynamic (info, eh))
return FALSE;
sec = htab->etab.sgot;
@@ -2070,8 +2074,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *eh, void *inf)
changes. */
if (bfd_link_pic (info))
{
+ /* Discard relocs on undefined syms with non-default visibility. */
+ if ((eh->root.type == bfd_link_hash_undefined
+ || eh->root.type == bfd_link_hash_undefweak)
+ && ELF_ST_VISIBILITY (eh->other) != STV_DEFAULT)
+ hh->dyn_relocs = NULL;
+
#if RELATIVE_DYNRELOCS
- if (SYMBOL_CALLS_LOCAL (info, eh))
+ else if (SYMBOL_CALLS_LOCAL (info, eh))
{
struct elf32_hppa_dyn_reloc_entry **hdh_pp;
@@ -2087,15 +2097,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *eh, void *inf)
}
#endif
- /* Also discard relocs on undefined weak syms with non-default
- visibility. */
- if (hh->dyn_relocs != NULL
- && eh->root.type == bfd_link_hash_undefweak)
+ if (hh->dyn_relocs != NULL)
{
- if (ELF_ST_VISIBILITY (eh->other) != STV_DEFAULT)
- hh->dyn_relocs = NULL;
-
- else if (!ensure_undef_weak_dynamic (info, eh))
+ if (!ensure_undef_dynamic (info, eh))
return FALSE;
}
}
@@ -2113,19 +2117,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *eh, void *inf)
&& (eh->root.type == bfd_link_hash_undefweak
|| eh->root.type == bfd_link_hash_undefined))))
{
- if (!ensure_undef_weak_dynamic (info, eh))
+ if (!ensure_undef_dynamic (info, eh))
return FALSE;
- /* If that succeeded, we know we'll be keeping all the
- relocs. */
- if (eh->dynindx != -1)
- goto keep;
+ if (eh->dynindx == -1)
+ hh->dyn_relocs = NULL;
}
-
- hh->dyn_relocs = NULL;
- return TRUE;
-
- keep: ;
+ else
+ hh->dyn_relocs = NULL;
}
/* Finally, allocate space. */
@@ -3090,13 +3089,8 @@ elf32_hppa_set_gp (bfd *abfd, struct bfd_link_info *info)
struct bfd_link_hash_entry *h;
asection *sec = NULL;
bfd_vma gp_val = 0;
- struct elf32_hppa_link_hash_table *htab;
- htab = hppa_link_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- h = bfd_link_hash_lookup (&htab->etab.root, "$global$", FALSE, FALSE, FALSE);
+ h = bfd_link_hash_lookup (info->hash, "$global$", FALSE, FALSE, FALSE);
if (h != NULL
&& (h->type == bfd_link_hash_defined
@@ -3159,10 +3153,13 @@ elf32_hppa_set_gp (bfd *abfd, struct bfd_link_info *info)
}
}
- if (sec != NULL && sec->output_section != NULL)
- gp_val += sec->output_section->vma + sec->output_offset;
+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+ {
+ if (sec != NULL && sec->output_section != NULL)
+ gp_val += sec->output_section->vma + sec->output_offset;
- elf_gp (abfd) = gp_val;
+ elf_gp (abfd) = gp_val;
+ }
return TRUE;
}
@@ -3430,10 +3427,10 @@ final_link_relocate (asection *input_section,
error. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"),
+ (_("%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"),
input_bfd,
input_section,
- (long) offset,
+ offset,
howto->name,
insn);
}
@@ -3596,10 +3593,10 @@ final_link_relocate (asection *input_section,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"),
+ (_("%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"),
input_bfd,
input_section,
- (long) offset,
+ offset,
hsh->bh_root.string);
bfd_set_error (bfd_error_bad_value);
return bfd_reloc_notsupported;
@@ -4287,10 +4284,10 @@ elf32_hppa_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): cannot handle %s for %s"),
+ (_("%B(%A+%#Lx): cannot handle %s for %s"),
input_bfd,
input_section,
- (long) rela->r_offset,
+ rela->r_offset,
howto->name,
sym_name);
bfd_set_error (bfd_error_bad_value);
diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c
index 4c40b79..f305515 100644
--- a/bfd/elf32-i370.c
+++ b/bfd/elf32-i370.c
@@ -356,8 +356,8 @@ i370_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
- ibfd, (long) new_flags, (long) old_flags);
+ (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+ ibfd, new_flags, old_flags);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -1053,9 +1053,9 @@ i370_elf_relocate_section (bfd *output_bfd,
bfd_boolean ret = TRUE;
#ifdef DEBUG
- _bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %ld relocations%s",
+ _bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %u relocations%s",
input_bfd, input_section,
- (long) input_section->reloc_count,
+ input_section->reloc_count,
(bfd_link_relocatable (info)) ? " (relocatable)" : "");
#endif
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index df16775..d4adaf4 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -18,16 +18,9 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
+#include "elfxx-x86.h"
#include "elf-nacl.h"
#include "elf-vxworks.h"
-#include "bfd_stdint.h"
-#include "objalloc.h"
-#include "hashtab.h"
#include "dwarf2.h"
#include "opcode/i386.h"
@@ -529,18 +522,6 @@ elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
early in the link process, elf_i386_finish_dynamic_sections is
one of the last functions. */
-
-/* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
-#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-
-/* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
- section, and instead use a dynamic relocation to point into the
- shared lib. */
-#define ELIMINATE_COPY_RELOCS 1
-
/* The size in bytes of an entry in the lazy procedure linkage table. */
#define LAZY_PLT_ENTRY_SIZE 16
@@ -675,10 +656,6 @@ static const bfd_byte elf_i386_pic_non_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
static const bfd_byte elf_i386_eh_frame_lazy_plt[] =
{
-#define PLT_CIE_LENGTH 20
-#define PLT_FDE_LENGTH 36
-#define PLT_FDE_START_OFFSET 4 + PLT_CIE_LENGTH + 8
-#define PLT_FDE_LEN_OFFSET 4 + PLT_CIE_LENGTH + 12
PLT_CIE_LENGTH, 0, 0, 0, /* CIE length */
0, 0, 0, 0, /* CIE ID */
1, /* CIE version */
@@ -771,94 +748,21 @@ static const bfd_byte elf_i386_eh_frame_non_lazy_plt[] =
DW_CFA_nop, DW_CFA_nop, DW_CFA_nop
};
-struct elf_i386_lazy_plt_layout
-{
- /* The first entry in an absolute lazy procedure linkage table looks
- like this. */
- const bfd_byte *plt0_entry;
- unsigned int plt0_entry_size;
-
- /* Offsets into plt0_entry that are to be replaced with GOT[1] and
- GOT[2]. */
- unsigned int plt0_got1_offset;
- unsigned int plt0_got2_offset;
-
- /* Later entries in an absolute lazy procedure linkage table look
- like this. */
- const bfd_byte *plt_entry;
- unsigned int plt_entry_size;
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
- unsigned int plt_reloc_offset; /* ... offset into relocation table. */
- unsigned int plt_plt_offset; /* ... offset to start of .plt. */
-
- /* Offset into plt_entry where the initial value of the GOT entry
- points. */
- unsigned int plt_lazy_offset;
-
- /* The first entry in a PIC lazy procedure linkage table looks like
- this. */
- const bfd_byte *pic_plt0_entry;
-
- /* Subsequent entries in a PIC lazy procedure linkage table look
- like this. */
- const bfd_byte *pic_plt_entry;
-
- /* .eh_frame covering the lazy .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
-struct elf_i386_non_lazy_plt_layout
-{
- /* Entries in an absolute non-lazy procedure linkage table look like
- this. */
- const bfd_byte *plt_entry;
- /* Entries in a PIC non-lazy procedure linkage table look like this. */
- const bfd_byte *pic_plt_entry;
-
- unsigned int plt_entry_size;
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
-
- /* .eh_frame covering the non-lazy .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
-struct elf_i386_plt_layout
-{
- /* The first entry in a lazy procedure linkage table looks like this. */
- const bfd_byte *plt0_entry;
- /* Entries in a procedure linkage table look like this. */
- const bfd_byte *plt_entry;
- unsigned int plt_entry_size;
-
- /* 1 has PLT0. */
- unsigned int has_plt0;
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
-
- /* .eh_frame covering the .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
/* These are the standard parameters. */
-static const struct elf_i386_lazy_plt_layout elf_i386_lazy_plt =
+static const struct elf_x86_lazy_plt_layout elf_i386_lazy_plt =
{
elf_i386_lazy_plt0_entry, /* plt0_entry */
sizeof (elf_i386_lazy_plt0_entry), /* plt0_entry_size */
- 2, /* plt0_got1_offset */
- 8, /* plt0_got2_offset */
elf_i386_lazy_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
+ 2, /* plt0_got1_offset */
+ 8, /* plt0_got2_offset */
+ 0, /* plt0_got2_insn_end */
2, /* plt_got_offset */
7, /* plt_reloc_offset */
12, /* plt_plt_offset */
+ 0, /* plt_got_insn_size */
+ 0, /* plt_plt_insn_end */
6, /* plt_lazy_offset */
elf_i386_pic_lazy_plt0_entry, /* pic_plt0_entry */
elf_i386_pic_lazy_plt_entry, /* pic_plt_entry */
@@ -866,27 +770,31 @@ static const struct elf_i386_lazy_plt_layout elf_i386_lazy_plt =
sizeof (elf_i386_eh_frame_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_i386_non_lazy_plt_layout elf_i386_non_lazy_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_i386_non_lazy_plt =
{
elf_i386_non_lazy_plt_entry, /* plt_entry */
elf_i386_pic_non_lazy_plt_entry, /* pic_plt_entry */
NON_LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt_got_offset */
+ 0, /* plt_got_insn_size */
elf_i386_eh_frame_non_lazy_plt, /* eh_frame_plt */
sizeof (elf_i386_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_i386_lazy_plt_layout elf_i386_lazy_ibt_plt =
+static const struct elf_x86_lazy_plt_layout elf_i386_lazy_ibt_plt =
{
elf_i386_lazy_ibt_plt0_entry, /* plt0_entry */
sizeof (elf_i386_lazy_ibt_plt0_entry), /* plt0_entry_size */
- 2, /* plt0_got1_offset */
- 8, /* plt0_got2_offset */
elf_i386_lazy_ibt_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
+ 2, /* plt0_got1_offset */
+ 8, /* plt0_got2_offset */
+ 0, /* plt0_got2_insn_end */
4+2, /* plt_got_offset */
4+1, /* plt_reloc_offset */
4+6, /* plt_plt_offset */
+ 0, /* plt_got_insn_size */
+ 0, /* plt_plt_insn_end */
0, /* plt_lazy_offset */
elf_i386_pic_lazy_ibt_plt0_entry, /* pic_plt0_entry */
elf_i386_lazy_ibt_plt_entry, /* pic_plt_entry */
@@ -894,12 +802,13 @@ static const struct elf_i386_lazy_plt_layout elf_i386_lazy_ibt_plt =
sizeof (elf_i386_eh_frame_lazy_ibt_plt) /* eh_frame_plt_size */
};
-static const struct elf_i386_non_lazy_plt_layout elf_i386_non_lazy_ibt_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_i386_non_lazy_ibt_plt =
{
elf_i386_non_lazy_ibt_plt_entry, /* plt_entry */
elf_i386_pic_non_lazy_ibt_plt_entry,/* pic_plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
4+2, /* plt_got_offset */
+ 0, /* plt_got_insn_size */
elf_i386_eh_frame_non_lazy_plt, /* eh_frame_plt */
sizeof (elf_i386_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
};
@@ -940,427 +849,6 @@ static const struct elf_i386_backend_data elf_i386_arch_bed =
#define elf_backend_arch_data &elf_i386_arch_bed
-/* Is a undefined weak symbol which is resolved to 0. Reference to an
- undefined weak symbol is resolved to 0 when building executable if
- it isn't dynamic and
- 1. Has non-GOT/non-PLT relocations in text section. Or
- 2. Has no GOT/PLT relocation.
- Local undefined weak symbol is always resolved to 0.
- */
-#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, GOT_RELOC, EH) \
- ((EH)->elf.root.type == bfd_link_hash_undefweak \
- && ((EH)->elf.forced_local \
- || (bfd_link_executable (INFO) \
- && (elf_i386_hash_table (INFO)->interp == NULL \
- || !(GOT_RELOC) \
- || (EH)->has_non_got_reloc \
- || !(INFO)->dynamic_undefined_weak))))
-
-/* i386 ELF linker hash entry. */
-
-struct elf_i386_link_hash_entry
-{
- struct elf_link_hash_entry elf;
-
- /* Track dynamic relocs copied for this symbol. */
- struct elf_dyn_relocs *dyn_relocs;
-
-#define GOT_UNKNOWN 0
-#define GOT_NORMAL 1
-#define GOT_TLS_GD 2
-#define GOT_TLS_IE 4
-#define GOT_TLS_IE_POS 5
-#define GOT_TLS_IE_NEG 6
-#define GOT_TLS_IE_BOTH 7
-#define GOT_TLS_GDESC 8
-#define GOT_TLS_GD_BOTH_P(type) \
- ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
-#define GOT_TLS_GD_P(type) \
- ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GDESC_P(type) \
- ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GD_ANY_P(type) \
- (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
- unsigned char tls_type;
-
- /* Symbol is referenced by R_386_GOTOFF relocation. */
- unsigned int gotoff_ref : 1;
-
- /* Symbol has GOT or PLT relocations. */
- unsigned int has_got_reloc : 1;
-
- /* Symbol has non-GOT/non-PLT relocations in text sections. */
- unsigned int has_non_got_reloc : 1;
-
- /* Don't call finish_dynamic_symbol on this symbol. */
- unsigned int no_finish_dynamic_symbol : 1;
-
- /* 0: symbol isn't ___tls_get_addr.
- 1: symbol is ___tls_get_addr.
- 2: symbol is unknown. */
- unsigned int tls_get_addr : 2;
-
- /* Reference count of C/C++ function pointer relocations in read-write
- section which can be resolved at run-time. */
- bfd_signed_vma func_pointer_refcount;
-
- /* Information about the GOT PLT entry. Filled when there are both
- GOT and PLT relocations against the same function. */
- union gotplt_union plt_got;
-
- /* Information about the second PLT entry. */
- union gotplt_union plt_second;
-
- /* Offset of the GOTPLT entry reserved for the TLS descriptor,
- starting at the end of the jump table. */
- bfd_vma tlsdesc_got;
-};
-
-#define elf_i386_hash_entry(ent) ((struct elf_i386_link_hash_entry *)(ent))
-
-struct elf_i386_obj_tdata
-{
- struct elf_obj_tdata root;
-
- /* tls_type for each local got entry. */
- char *local_got_tls_type;
-
- /* GOTPLT entries for TLS descriptors. */
- bfd_vma *local_tlsdesc_gotent;
-};
-
-#define elf_i386_tdata(abfd) \
- ((struct elf_i386_obj_tdata *) (abfd)->tdata.any)
-
-#define elf_i386_local_got_tls_type(abfd) \
- (elf_i386_tdata (abfd)->local_got_tls_type)
-
-#define elf_i386_local_tlsdesc_gotent(abfd) \
- (elf_i386_tdata (abfd)->local_tlsdesc_gotent)
-
-#define is_i386_elf(bfd) \
- (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
- && elf_tdata (bfd) != NULL \
- && elf_object_id (bfd) == I386_ELF_DATA)
-
-static bfd_boolean
-elf_i386_mkobject (bfd *abfd)
-{
- return bfd_elf_allocate_object (abfd, sizeof (struct elf_i386_obj_tdata),
- I386_ELF_DATA);
-}
-
-/* i386 ELF linker hash table. */
-
-struct elf_i386_link_hash_table
-{
- struct elf_link_hash_table elf;
-
- /* Short-cuts to get to dynamic linker sections. */
- asection *interp;
- asection *plt_eh_frame;
- asection *plt_second;
- asection *plt_second_eh_frame;
- asection *plt_got;
- asection *plt_got_eh_frame;
-
- /* Parameters describing PLT generation. */
- struct elf_i386_plt_layout plt;
-
- /* Parameters describing lazy PLT generation. */
- const struct elf_i386_lazy_plt_layout *lazy_plt;
-
- /* Parameters describing non-lazy PLT generation. */
- const struct elf_i386_non_lazy_plt_layout *non_lazy_plt;
-
- union
- {
- bfd_signed_vma refcount;
- bfd_vma offset;
- } tls_ldm_got;
-
- /* The amount of space used by the reserved portion of the sgotplt
- section, plus whatever space is used by the jump slots. */
- bfd_vma sgotplt_jump_table_size;
-
- /* Small local sym cache. */
- struct sym_cache sym_cache;
-
- /* _TLS_MODULE_BASE_ symbol. */
- struct bfd_link_hash_entry *tls_module_base;
-
- /* Used by local STT_GNU_IFUNC symbols. */
- htab_t loc_hash_table;
- void * loc_hash_memory;
-
- /* The (unloaded but important) .rel.plt.unloaded section on VxWorks. */
- asection *srelplt2;
-
- /* The index of the next unused R_386_TLS_DESC slot in .rel.plt. */
- bfd_vma next_tls_desc_index;
-
- /* The index of the next unused R_386_JUMP_SLOT slot in .rel.plt. */
- bfd_vma next_jump_slot_index;
-
- /* The index of the next unused R_386_IRELATIVE slot in .rel.plt. */
- bfd_vma next_irelative_index;
-
- /* TRUE if there are dynamic relocs against IFUNC symbols that apply
- to read-only sections. */
- bfd_boolean readonly_dynrelocs_against_ifunc;
-};
-
-/* Get the i386 ELF linker hash table from a link_info structure. */
-
-#define elf_i386_hash_table(p) \
- (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
- == I386_ELF_DATA ? ((struct elf_i386_link_hash_table *) ((p)->hash)) : NULL)
-
-#define elf_i386_compute_jump_table_size(htab) \
- ((htab)->elf.srelplt->reloc_count * 4)
-
-/* Create an entry in an i386 ELF linker hash table. */
-
-static struct bfd_hash_entry *
-elf_i386_link_hash_newfunc (struct bfd_hash_entry *entry,
- struct bfd_hash_table *table,
- const char *string)
-{
- /* Allocate the structure if it has not already been allocated by a
- subclass. */
- if (entry == NULL)
- {
- entry = (struct bfd_hash_entry *)
- bfd_hash_allocate (table, sizeof (struct elf_i386_link_hash_entry));
- if (entry == NULL)
- return entry;
- }
-
- /* Call the allocation method of the superclass. */
- entry = _bfd_elf_link_hash_newfunc (entry, table, string);
- if (entry != NULL)
- {
- struct elf_i386_link_hash_entry *eh;
-
- eh = (struct elf_i386_link_hash_entry *) entry;
- eh->dyn_relocs = NULL;
- eh->tls_type = GOT_UNKNOWN;
- eh->gotoff_ref = 0;
- eh->has_got_reloc = 0;
- eh->has_non_got_reloc = 0;
- eh->no_finish_dynamic_symbol = 0;
- eh->tls_get_addr = 2;
- eh->func_pointer_refcount = 0;
- eh->plt_got.offset = (bfd_vma) -1;
- eh->tlsdesc_got = (bfd_vma) -1;
- }
-
- return entry;
-}
-
-/* Compute a hash of a local hash entry. We use elf_link_hash_entry
- for local symbol so that we can handle local STT_GNU_IFUNC symbols
- as global symbol. We reuse indx and dynstr_index for local symbol
- hash since they aren't used by global symbols in this backend. */
-
-static hashval_t
-elf_i386_local_htab_hash (const void *ptr)
-{
- struct elf_link_hash_entry *h
- = (struct elf_link_hash_entry *) ptr;
- return ELF_LOCAL_SYMBOL_HASH (h->indx, h->dynstr_index);
-}
-
-/* Compare local hash entries. */
-
-static int
-elf_i386_local_htab_eq (const void *ptr1, const void *ptr2)
-{
- struct elf_link_hash_entry *h1
- = (struct elf_link_hash_entry *) ptr1;
- struct elf_link_hash_entry *h2
- = (struct elf_link_hash_entry *) ptr2;
-
- return h1->indx == h2->indx && h1->dynstr_index == h2->dynstr_index;
-}
-
-/* Find and/or create a hash entry for local symbol. */
-
-static struct elf_link_hash_entry *
-elf_i386_get_local_sym_hash (struct elf_i386_link_hash_table *htab,
- bfd *abfd, const Elf_Internal_Rela *rel,
- bfd_boolean create)
-{
- struct elf_i386_link_hash_entry e, *ret;
- asection *sec = abfd->sections;
- hashval_t h = ELF_LOCAL_SYMBOL_HASH (sec->id,
- ELF32_R_SYM (rel->r_info));
- void **slot;
-
- e.elf.indx = sec->id;
- e.elf.dynstr_index = ELF32_R_SYM (rel->r_info);
- slot = htab_find_slot_with_hash (htab->loc_hash_table, &e, h,
- create ? INSERT : NO_INSERT);
-
- if (!slot)
- return NULL;
-
- if (*slot)
- {
- ret = (struct elf_i386_link_hash_entry *) *slot;
- return &ret->elf;
- }
-
- ret = (struct elf_i386_link_hash_entry *)
- objalloc_alloc ((struct objalloc *) htab->loc_hash_memory,
- sizeof (struct elf_i386_link_hash_entry));
- if (ret)
- {
- memset (ret, 0, sizeof (*ret));
- ret->elf.indx = sec->id;
- ret->elf.dynstr_index = ELF32_R_SYM (rel->r_info);
- ret->elf.dynindx = -1;
- ret->func_pointer_refcount = 0;
- ret->plt_got.offset = (bfd_vma) -1;
- *slot = ret;
- }
- return &ret->elf;
-}
-
-/* Destroy an i386 ELF linker hash table. */
-
-static void
-elf_i386_link_hash_table_free (bfd *obfd)
-{
- struct elf_i386_link_hash_table *htab
- = (struct elf_i386_link_hash_table *) obfd->link.hash;
-
- if (htab->loc_hash_table)
- htab_delete (htab->loc_hash_table);
- if (htab->loc_hash_memory)
- objalloc_free ((struct objalloc *) htab->loc_hash_memory);
- _bfd_elf_link_hash_table_free (obfd);
-}
-
-/* Create an i386 ELF linker hash table. */
-
-static struct bfd_link_hash_table *
-elf_i386_link_hash_table_create (bfd *abfd)
-{
- struct elf_i386_link_hash_table *ret;
- bfd_size_type amt = sizeof (struct elf_i386_link_hash_table);
-
- ret = (struct elf_i386_link_hash_table *) bfd_zmalloc (amt);
- if (ret == NULL)
- return NULL;
-
- if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd,
- elf_i386_link_hash_newfunc,
- sizeof (struct elf_i386_link_hash_entry),
- I386_ELF_DATA))
- {
- free (ret);
- return NULL;
- }
-
- ret->loc_hash_table = htab_try_create (1024,
- elf_i386_local_htab_hash,
- elf_i386_local_htab_eq,
- NULL);
- ret->loc_hash_memory = objalloc_create ();
- if (!ret->loc_hash_table || !ret->loc_hash_memory)
- {
- elf_i386_link_hash_table_free (abfd);
- return NULL;
- }
- ret->elf.root.hash_table_free = elf_i386_link_hash_table_free;
-
- return &ret->elf.root;
-}
-
-/* Copy the extra info we tack onto an elf_link_hash_entry. */
-
-static void
-elf_i386_copy_indirect_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *dir,
- struct elf_link_hash_entry *ind)
-{
- struct elf_i386_link_hash_entry *edir, *eind;
-
- edir = (struct elf_i386_link_hash_entry *) dir;
- eind = (struct elf_i386_link_hash_entry *) ind;
-
- if (eind->dyn_relocs != NULL)
- {
- if (edir->dyn_relocs != NULL)
- {
- struct elf_dyn_relocs **pp;
- struct elf_dyn_relocs *p;
-
- /* Add reloc counts against the indirect sym to the direct sym
- list. Merge any entries against the same section. */
- for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
- {
- struct elf_dyn_relocs *q;
-
- for (q = edir->dyn_relocs; q != NULL; q = q->next)
- if (q->sec == p->sec)
- {
- q->pc_count += p->pc_count;
- q->count += p->count;
- *pp = p->next;
- break;
- }
- if (q == NULL)
- pp = &p->next;
- }
- *pp = edir->dyn_relocs;
- }
-
- edir->dyn_relocs = eind->dyn_relocs;
- eind->dyn_relocs = NULL;
- }
-
- if (ind->root.type == bfd_link_hash_indirect
- && dir->got.refcount <= 0)
- {
- edir->tls_type = eind->tls_type;
- eind->tls_type = GOT_UNKNOWN;
- }
-
- /* Copy gotoff_ref so that elf_i386_adjust_dynamic_symbol will
- generate a R_386_COPY reloc. */
- edir->gotoff_ref |= eind->gotoff_ref;
-
- edir->has_got_reloc |= eind->has_got_reloc;
- edir->has_non_got_reloc |= eind->has_non_got_reloc;
-
- if (ELIMINATE_COPY_RELOCS
- && ind->root.type != bfd_link_hash_indirect
- && dir->dynamic_adjusted)
- {
- /* If called to transfer flags for a weakdef during processing
- of elf_adjust_dynamic_symbol, don't copy non_got_ref.
- We clear it ourselves for ELIMINATE_COPY_RELOCS. */
- if (dir->versioned != versioned_hidden)
- dir->ref_dynamic |= ind->ref_dynamic;
- dir->ref_regular |= ind->ref_regular;
- dir->ref_regular_nonweak |= ind->ref_regular_nonweak;
- dir->needs_plt |= ind->needs_plt;
- dir->pointer_equality_needed |= ind->pointer_equality_needed;
- }
- else
- {
- if (eind->func_pointer_refcount > 0)
- {
- edir->func_pointer_refcount += eind->func_pointer_refcount;
- eind->func_pointer_refcount = 0;
- }
-
- _bfd_elf_link_hash_copy_indirect (info, dir, ind);
- }
-}
-
/* Return TRUE if the TLS access code sequence support transition
from R_TYPE. */
@@ -1378,7 +866,7 @@ elf_i386_check_tls_transition (asection *sec,
struct elf_link_hash_entry *h;
bfd_vma offset;
bfd_byte *call;
- bfd_boolean indirect_call, tls_get_addr;
+ bfd_boolean indirect_call;
offset = rel->r_offset;
switch (r_type)
@@ -1483,29 +971,9 @@ elf_i386_check_tls_transition (asection *sec,
if (r_symndx < symtab_hdr->sh_info)
return FALSE;
- tls_get_addr = FALSE;
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (h != NULL && h->root.root.string != NULL)
- {
- struct elf_i386_link_hash_entry *eh
- = (struct elf_i386_link_hash_entry *) h;
- tls_get_addr = eh->tls_get_addr == 1;
- if (eh->tls_get_addr > 1)
- {
- /* Use strncmp to check ___tls_get_addr since
- ___tls_get_addr may be versioned. */
- if (strncmp (h->root.root.string, "___tls_get_addr", 15)
- == 0)
- {
- eh->tls_get_addr = 1;
- tls_get_addr = TRUE;
- }
- else
- eh->tls_get_addr = 0;
- }
- }
-
- if (!tls_get_addr)
+ if (h == NULL
+ || !((struct elf_x86_link_hash_entry *) h)->tls_get_addr)
return FALSE;
else if (indirect_call)
return (ELF32_R_TYPE (rel[1].r_info) == R_386_GOT32X);
@@ -1691,9 +1159,9 @@ elf_i386_tls_transition (struct bfd_link_info *info, bfd *abfd,
name = h->root.root.string;
else
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
- htab = elf_i386_hash_table (info);
+ htab = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
name = "*unknown*";
else
@@ -1708,10 +1176,10 @@ elf_i386_tls_transition (struct bfd_link_info *info, bfd *abfd,
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: TLS transition from %s to %s against `%s' at 0x%lx "
+ (_("%B: TLS transition from %s to %s against `%s' at %#Lx "
"in section `%A' failed"),
abfd, from->name, to->name, name,
- (unsigned long) rel->r_offset, sec);
+ rel->r_offset, sec);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1743,12 +1211,13 @@ static
bfd_boolean
elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
bfd_byte *contents,
+ unsigned int *r_type_p,
Elf_Internal_Rela *irel,
struct elf_link_hash_entry *h,
bfd_boolean *converted,
struct bfd_link_info *link_info)
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
unsigned int opcode;
unsigned int modrm;
bfd_boolean baseless;
@@ -1761,6 +1230,8 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
unsigned int r_type;
unsigned int r_symndx;
bfd_vma roff = irel->r_offset;
+ bfd_boolean local_ref;
+ struct elf_x86_link_hash_entry *eh;
if (roff < 2)
return TRUE;
@@ -1770,10 +1241,10 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
if (addend != 0)
return TRUE;
- htab = elf_i386_hash_table (link_info);
+ htab = elf_x86_hash_table (link_info, I386_ELF_DATA);
is_pic = bfd_link_pic (link_info);
- r_type = ELF32_R_TYPE (irel->r_info);
+ r_type = *r_type_p;
r_symndx = ELF32_R_SYM (irel->r_info);
modrm = bfd_get_8 (abfd, contents + roff - 1);
@@ -1808,6 +1279,8 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
register. */
to_reloc_32 = !is_pic || baseless;
+ eh = elf_x86_hash_entry (h);
+
/* Try to convert R_386_GOT32X. Get the symbol referred to by the
reloc. */
if (h == NULL)
@@ -1822,10 +1295,14 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
goto convert_load;
}
+ /* NB: Also set linker_def via SYMBOL_REFERENCES_LOCAL_P. */
+ local_ref = SYMBOL_REFERENCES_LOCAL_P (link_info, h);
+
/* Undefined weak symbol is only bound locally in executable
and its reference is resolved as 0. */
- if (UNDEFINED_WEAK_RESOLVED_TO_ZERO (link_info, TRUE,
- elf_i386_hash_entry (h)))
+ if (h->root.type == bfd_link_hash_undefweak
+ && !eh->linker_def
+ && local_ref)
{
if (opcode == 0xff)
{
@@ -1848,22 +1325,19 @@ elf_i386_convert_load_reloc (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
/* We have "call/jmp *foo@GOT[(%reg)]". */
if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
- && SYMBOL_REFERENCES_LOCAL (link_info, h))
+ && local_ref)
{
/* The function is locally defined. */
convert_branch:
/* Convert R_386_GOT32X to R_386_PC32. */
if (modrm == 0x15 || (modrm & 0xf8) == 0x90)
{
- struct elf_i386_link_hash_entry *eh
- = (struct elf_i386_link_hash_entry *) h;
-
/* Convert to "nop call foo". ADDR_PREFIX_OPCODE
is a nop prefix. */
modrm = 0xe8;
/* To support TLS optimization, always use addr32 prefix
for "call *___tls_get_addr@GOT(%reg)". */
- if (eh && eh->tls_get_addr == 1)
+ if (eh && eh->tls_get_addr)
{
nop = 0x67;
nop_offset = irel->r_offset - 2;
@@ -1895,7 +1369,7 @@ convert_branch:
need to adjust addend by -4. */
bfd_put_32 (abfd, -4, contents + irel->r_offset);
irel->r_info = ELF32_R_INFO (r_symndx, R_386_PC32);
-
+ *r_type_p = R_386_PC32;
*converted = TRUE;
}
}
@@ -1914,10 +1388,11 @@ convert_branch:
bfd_elf_record_link_assignment. start_stop is set on
__start_SECNAME/__stop_SECNAME which mark section SECNAME. */
if (h->start_stop
+ || eh->linker_def
|| ((h->def_regular
|| h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
- && SYMBOL_REFERENCES_LOCAL (link_info, h)))
+ && local_ref))
{
convert_load:
if (opcode == 0x8b)
@@ -1967,7 +1442,7 @@ convert_load:
bfd_put_8 (abfd, opcode, contents + roff - 2);
irel->r_info = ELF32_R_INFO (r_symndx, r_type);
-
+ *r_type_p = r_type;
*converted = TRUE;
}
}
@@ -1977,8 +1452,7 @@ convert_load:
/* Rename some of the generic section flags to better document how they
are used here. */
-#define need_convert_load sec_flg0
-#define check_relocs_failed sec_flg1
+#define check_relocs_failed sec_flg0
/* Look through the relocs for a section during the first phase, and
calculate needed space in the global offset table, procedure linkage
@@ -1990,13 +1464,14 @@ elf_i386_check_relocs (bfd *abfd,
asection *sec,
const Elf_Internal_Rela *relocs)
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
bfd_byte *contents;
+ bfd_boolean converted;
if (bfd_link_relocatable (info))
return TRUE;
@@ -2010,15 +1485,15 @@ elf_i386_check_relocs (bfd *abfd,
if ((sec->flags & SEC_ALLOC) == 0)
return TRUE;
- BFD_ASSERT (is_i386_elf (abfd));
-
- htab = elf_i386_hash_table (info);
+ htab = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
{
sec->check_relocs_failed = 1;
return FALSE;
}
+ BFD_ASSERT (is_x86_elf (abfd, htab));
+
/* Get the section contents. */
if (elf_section_data (sec)->this_hdr.contents != NULL)
contents = elf_section_data (sec)->this_hdr.contents;
@@ -2031,15 +1506,17 @@ elf_i386_check_relocs (bfd *abfd,
symtab_hdr = &elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd);
+ converted = FALSE;
+
sreloc = NULL;
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
- struct elf_i386_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
Elf_Internal_Sym *isym;
const char *name;
bfd_boolean size_reloc;
@@ -2066,7 +1543,7 @@ elf_i386_check_relocs (bfd *abfd,
/* Check relocation against local STT_GNU_IFUNC symbol. */
if (ELF32_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
{
- h = elf_i386_get_local_sym_hash (htab, abfd, rel, TRUE);
+ h = _bfd_elf_x86_get_local_sym_hash (htab, abfd, rel, TRUE);
if (h == NULL)
goto error_return;
@@ -2091,7 +1568,7 @@ elf_i386_check_relocs (bfd *abfd,
h = (struct elf_link_hash_entry *) h->root.u.i.link;
}
- eh = (struct elf_i386_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
if (h != NULL)
{
if (r_type == R_386_GOTOFF)
@@ -2106,6 +1583,16 @@ elf_i386_check_relocs (bfd *abfd,
|= elf_gnu_symbol_ifunc;
}
+ if (r_type == R_386_GOT32X
+ && (h == NULL || h->type != STT_GNU_IFUNC))
+ {
+ Elf_Internal_Rela *irel = (Elf_Internal_Rela *) rel;
+ if (!elf_i386_convert_load_reloc (abfd, symtab_hdr, contents,
+ &r_type, irel, h,
+ &converted, info))
+ goto error_return;
+ }
+
if (! elf_i386_tls_transition (info, abfd, sec, contents,
symtab_hdr, sym_hashes,
&r_type, GOT_UNKNOWN,
@@ -2115,7 +1602,7 @@ elf_i386_check_relocs (bfd *abfd,
switch (r_type)
{
case R_386_TLS_LDM:
- htab->tls_ldm_got.refcount += 1;
+ htab->tls_ld_or_ldm_got.refcount += 1;
goto create_got;
case R_386_PLT32:
@@ -2183,7 +1670,7 @@ elf_i386_check_relocs (bfd *abfd,
if (h != NULL)
{
h->got.refcount += 1;
- old_tls_type = elf_i386_hash_entry(h)->tls_type;
+ old_tls_type = elf_x86_hash_entry (h)->tls_type;
}
else
{
@@ -2203,13 +1690,13 @@ elf_i386_check_relocs (bfd *abfd,
if (local_got_refcounts == NULL)
goto error_return;
elf_local_got_refcounts (abfd) = local_got_refcounts;
- elf_i386_local_tlsdesc_gotent (abfd)
+ elf_x86_local_tlsdesc_gotent (abfd)
= (bfd_vma *) (local_got_refcounts + symtab_hdr->sh_info);
- elf_i386_local_got_tls_type (abfd)
+ elf_x86_local_got_tls_type (abfd)
= (char *) (local_got_refcounts + 2 * symtab_hdr->sh_info);
}
local_got_refcounts[r_symndx] += 1;
- old_tls_type = elf_i386_local_got_tls_type (abfd) [r_symndx];
+ old_tls_type = elf_x86_local_got_tls_type (abfd) [r_symndx];
}
if ((old_tls_type & GOT_TLS_IE) && (tls_type & GOT_TLS_IE))
@@ -2245,9 +1732,9 @@ elf_i386_check_relocs (bfd *abfd,
if (old_tls_type != tls_type)
{
if (h != NULL)
- elf_i386_hash_entry (h)->tls_type = tls_type;
+ elf_x86_hash_entry (h)->tls_type = tls_type;
else
- elf_i386_local_got_tls_type (abfd) [r_symndx] = tls_type;
+ elf_x86_local_got_tls_type (abfd) [r_symndx] = tls_type;
}
}
/* Fall through */
@@ -2453,23 +1940,24 @@ do_size:
default:
break;
}
-
- if (r_type == R_386_GOT32X
- && (h == NULL || h->type != STT_GNU_IFUNC))
- sec->need_convert_load = 1;
}
if (elf_section_data (sec)->this_hdr.contents != contents)
{
- if (!info->keep_memory)
+ if (!converted && !info->keep_memory)
free (contents);
else
{
- /* Cache the section contents for elf_link_input_bfd. */
+ /* Cache the section contents for elf_link_input_bfd if any
+ load is converted or --no-keep-memory isn't used. */
elf_section_data (sec)->this_hdr.contents = contents;
}
}
+ /* Cache relocations if any load is converted. */
+ if (elf_section_data (sec)->relocs != relocs && converted)
+ elf_section_data (sec)->relocs = (Elf_Internal_Rela *) relocs;
+
return TRUE;
error_return:
@@ -2479,1291 +1967,6 @@ error_return:
return FALSE;
}
-/* Return the section that should be marked against GC for a given
- relocation. */
-
-static asection *
-elf_i386_gc_mark_hook (asection *sec,
- struct bfd_link_info *info,
- Elf_Internal_Rela *rel,
- struct elf_link_hash_entry *h,
- Elf_Internal_Sym *sym)
-{
- if (h != NULL)
- switch (ELF32_R_TYPE (rel->r_info))
- {
- case R_386_GNU_VTINHERIT:
- case R_386_GNU_VTENTRY:
- return NULL;
- }
-
- return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
-}
-
-/* Remove undefined weak symbol from the dynamic symbol table if it
- is resolved to 0. */
-
-static bfd_boolean
-elf_i386_fixup_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
-{
- if (h->dynindx != -1
- && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- elf_i386_hash_entry (h)->has_got_reloc,
- elf_i386_hash_entry (h)))
- {
- h->dynindx = -1;
- _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
- h->dynstr_index);
- }
- return TRUE;
-}
-
-/* Adjust a symbol defined by a dynamic object and referenced by a
- regular object. The current definition is in some section of the
- dynamic object, but we're not including those sections. We have to
- change the definition to something the rest of the link can
- understand. */
-
-static bfd_boolean
-elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
-{
- struct elf_i386_link_hash_table *htab;
- asection *s, *srel;
- struct elf_i386_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
-
- /* STT_GNU_IFUNC symbol must go through PLT. */
- if (h->type == STT_GNU_IFUNC)
- {
- /* All local STT_GNU_IFUNC references must be treate as local
- calls via local PLT. */
- if (h->ref_regular
- && SYMBOL_CALLS_LOCAL (info, h))
- {
- bfd_size_type pc_count = 0, count = 0;
- struct elf_dyn_relocs **pp;
-
- eh = (struct elf_i386_link_hash_entry *) h;
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- pc_count += p->pc_count;
- p->count -= p->pc_count;
- p->pc_count = 0;
- count += p->count;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
-
- if (pc_count || count)
- {
- h->non_got_ref = 1;
- if (pc_count)
- {
- /* Increment PLT reference count only for PC-relative
- references. */
- h->needs_plt = 1;
- if (h->plt.refcount <= 0)
- h->plt.refcount = 1;
- else
- h->plt.refcount += 1;
- }
- }
- }
-
- if (h->plt.refcount <= 0)
- {
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
- return TRUE;
- }
-
- /* If this is a function, put it in the procedure linkage table. We
- will fill in the contents of the procedure linkage table later,
- when we know the address of the .got section. */
- if (h->type == STT_FUNC
- || h->needs_plt)
- {
- if (h->plt.refcount <= 0
- || SYMBOL_CALLS_LOCAL (info, h)
- || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
- && h->root.type == bfd_link_hash_undefweak))
- {
- /* This case can occur if we saw a PLT32 reloc in an input
- file, but the symbol was never referred to by a dynamic
- object, or if all references were garbage collected. In
- such a case, we don't actually need to build a procedure
- linkage table, and we can just do a PC32 reloc instead. */
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
-
- return TRUE;
- }
- else
- /* It's possible that we incorrectly decided a .plt reloc was
- needed for an R_386_PC32 reloc to a non-function sym in
- check_relocs. We can't decide accurately between function and
- non-function syms in check-relocs; Objects loaded later in
- the link may change h->type. So fix it now. */
- h->plt.offset = (bfd_vma) -1;
-
- /* If this is a weak symbol, and there is a real definition, the
- processor independent code will have arranged for us to see the
- real definition first, and we can just use the same value. */
- if (h->u.weakdef != NULL)
- {
- BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
- || h->u.weakdef->root.type == bfd_link_hash_defweak);
- h->root.u.def.section = h->u.weakdef->root.u.def.section;
- h->root.u.def.value = h->u.weakdef->root.u.def.value;
- if (ELIMINATE_COPY_RELOCS || info->nocopyreloc)
- h->non_got_ref = h->u.weakdef->non_got_ref;
- return TRUE;
- }
-
- /* This is a reference to a symbol defined by a dynamic object which
- is not a function. */
-
- /* If we are creating a shared library, we must presume that the
- only references to the symbol are via the global offset table.
- For such cases we need not do anything here; the relocations will
- be handled correctly by relocate_section. */
- if (!bfd_link_executable (info))
- return TRUE;
-
- /* If there are no references to this symbol that do not use the
- GOT nor R_386_GOTOFF relocation, we don't need to generate a copy
- reloc. */
- eh = (struct elf_i386_link_hash_entry *) h;
- if (!h->non_got_ref && !eh->gotoff_ref)
- return TRUE;
-
- /* If -z nocopyreloc was given, we won't generate them either. */
- if (info->nocopyreloc)
- {
- h->non_got_ref = 0;
- return TRUE;
- }
-
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- /* If there aren't any dynamic relocs in read-only sections nor
- R_386_GOTOFF relocation, then we can keep the dynamic relocs and
- avoid the copy reloc. This doesn't work on VxWorks, where we can
- not have dynamic relocations (other than copy and jump slot
- relocations) in an executable. */
- if (ELIMINATE_COPY_RELOCS
- && !eh->gotoff_ref
- && get_elf_i386_backend_data (info->output_bfd)->os != is_vxworks)
- {
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- s = p->sec->output_section;
- if (s != NULL && (s->flags & SEC_READONLY) != 0)
- break;
- }
-
- if (p == NULL)
- {
- h->non_got_ref = 0;
- return TRUE;
- }
- }
-
- /* We must allocate the symbol in our .dynbss section, which will
- become part of the .bss section of the executable. There will be
- an entry for this symbol in the .dynsym section. The dynamic
- object will contain position independent code, so all references
- from the dynamic object to this symbol will go through the global
- offset table. The dynamic linker will use the .dynsym entry to
- determine the address it must put in the global offset table, so
- both the dynamic object and the regular object will refer to the
- same memory location for the variable. */
-
- /* We must generate a R_386_COPY reloc to tell the dynamic linker to
- copy the initial value out of the dynamic object and into the
- runtime process image. */
- if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
- {
- s = htab->elf.sdynrelro;
- srel = htab->elf.sreldynrelro;
- }
- else
- {
- s = htab->elf.sdynbss;
- srel = htab->elf.srelbss;
- }
- if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
- {
- srel->size += sizeof (Elf32_External_Rel);
- h->needs_copy = 1;
- }
-
- return _bfd_elf_adjust_dynamic_copy (info, h, s);
-}
-
-/* Allocate space in .plt, .got and associated reloc sections for
- dynamic relocs. */
-
-static bfd_boolean
-elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
-{
- struct bfd_link_info *info;
- struct elf_i386_link_hash_table *htab;
- struct elf_i386_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
- unsigned plt_entry_size;
- bfd_boolean resolved_to_zero;
- const struct elf_i386_backend_data *bed;
-
- if (h->root.type == bfd_link_hash_indirect)
- return TRUE;
-
- eh = (struct elf_i386_link_hash_entry *) h;
-
- info = (struct bfd_link_info *) inf;
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- bed = get_elf_i386_backend_data (info->output_bfd);
-
- plt_entry_size = htab->plt.plt_entry_size;
-
- resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh);
-
- /* Clear the reference count of function pointer relocations if
- symbol isn't a normal function. */
- if (h->type != STT_FUNC)
- eh->func_pointer_refcount = 0;
-
- /* We can't use the GOT PLT if pointer equality is needed since
- finish_dynamic_symbol won't clear symbol value and the dynamic
- linker won't update the GOT slot. We will get into an infinite
- loop at run-time. */
- if (htab->plt_got != NULL
- && h->type != STT_GNU_IFUNC
- && !h->pointer_equality_needed
- && h->plt.refcount > 0
- && h->got.refcount > 0)
- {
- /* Don't use the regular PLT if there are both GOT and GOTPLT
- reloctions. */
- h->plt.offset = (bfd_vma) -1;
-
- /* Use the GOT PLT. */
- eh->plt_got.refcount = 1;
- }
-
- /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
- here if it is defined and referenced in a non-shared object. */
- if (h->type == STT_GNU_IFUNC
- && h->def_regular)
- {
- if (_bfd_elf_allocate_ifunc_dyn_relocs (info, h, &eh->dyn_relocs,
- &htab->readonly_dynrelocs_against_ifunc,
- plt_entry_size,
- (htab->plt.has_plt0 *
- plt_entry_size),
- 4, TRUE))
- {
- asection *s = htab->plt_second;
- if (h->plt.offset != (bfd_vma) -1 && s != NULL)
- {
- /* Use the second PLT section if it is created. */
- eh->plt_second.offset = s->size;
-
- /* Make room for this entry in the second PLT section. */
- s->size += htab->non_lazy_plt->plt_entry_size;
- }
-
- return TRUE;
- }
- else
- return FALSE;
- }
- /* Don't create the PLT entry if there are only function pointer
- relocations which can be resolved at run-time. */
- else if (htab->elf.dynamic_sections_created
- && (h->plt.refcount > eh->func_pointer_refcount
- || eh->plt_got.refcount > 0))
- {
- bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
-
- /* Clear the reference count of function pointer relocations
- if PLT is used. */
- eh->func_pointer_refcount = 0;
-
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && !h->forced_local
- && !resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
-
- if (bfd_link_pic (info)
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
- {
- asection *s = htab->elf.splt;
- asection *second_s = htab->plt_second;
- asection *got_s = htab->plt_got;
-
- /* If this is the first .plt entry, make room for the special
- first entry. The .plt section is used by prelink to undo
- prelinking for dynamic relocations. */
- if (s->size == 0)
- s->size = htab->plt.has_plt0 * plt_entry_size;
-
- if (use_plt_got)
- eh->plt_got.offset = got_s->size;
- else
- {
- h->plt.offset = s->size;
- if (second_s)
- eh->plt_second.offset = second_s->size;
- }
-
- /* If this symbol is not defined in a regular file, and we are
- not generating a shared library, then set the symbol to this
- location in the .plt. This is required to make function
- pointers compare as equal between the normal executable and
- the shared library. */
- if (! bfd_link_pic (info)
- && !h->def_regular)
- {
- if (use_plt_got)
- {
- /* We need to make a call to the entry of the GOT PLT
- instead of regular PLT entry. */
- h->root.u.def.section = got_s;
- h->root.u.def.value = eh->plt_got.offset;
- }
- else
- {
- if (second_s)
- {
- /* We need to make a call to the entry of the
- second PLT instead of regular PLT entry. */
- h->root.u.def.section = second_s;
- h->root.u.def.value = eh->plt_second.offset;
- }
- else
- {
- h->root.u.def.section = s;
- h->root.u.def.value = h->plt.offset;
- }
- }
- }
-
- /* Make room for this entry. */
- if (use_plt_got)
- got_s->size += htab->non_lazy_plt->plt_entry_size;
- else
- {
- s->size += plt_entry_size;
- if (second_s)
- second_s->size += htab->non_lazy_plt->plt_entry_size;
-
- /* We also need to make an entry in the .got.plt section,
- which will be placed in the .got section by the linker
- script. */
- htab->elf.sgotplt->size += 4;
-
- /* There should be no PLT relocation against resolved
- undefined weak symbol in executable. */
- if (!resolved_to_zero)
- {
- /* We also need to make an entry in the .rel.plt
- section. */
- htab->elf.srelplt->size += sizeof (Elf32_External_Rel);
- htab->elf.srelplt->reloc_count++;
- }
- }
-
- if (bed->os == is_vxworks && !bfd_link_pic (info))
- {
- /* VxWorks has a second set of relocations for each PLT entry
- in executables. They go in a separate relocation section,
- which is processed by the kernel loader. */
-
- /* There are two relocations for the initial PLT entry: an
- R_386_32 relocation for _GLOBAL_OFFSET_TABLE_ + 4 and an
- R_386_32 relocation for _GLOBAL_OFFSET_TABLE_ + 8. */
-
- if (h->plt.offset == plt_entry_size)
- htab->srelplt2->size += (sizeof (Elf32_External_Rel) * 2);
-
- /* There are two extra relocations for each subsequent PLT entry:
- an R_386_32 relocation for the GOT entry, and an R_386_32
- relocation for the PLT entry. */
-
- htab->srelplt2->size += (sizeof (Elf32_External_Rel) * 2);
- }
- }
- else
- {
- eh->plt_got.offset = (bfd_vma) -1;
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
- }
- else
- {
- eh->plt_got.offset = (bfd_vma) -1;
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
-
- eh->tlsdesc_got = (bfd_vma) -1;
-
- /* If R_386_TLS_{IE_32,IE,GOTIE} symbol is now local to the binary,
- make it a R_386_TLS_LE_32 requiring no TLS entry. */
- if (h->got.refcount > 0
- && bfd_link_executable (info)
- && h->dynindx == -1
- && (elf_i386_hash_entry(h)->tls_type & GOT_TLS_IE))
- h->got.offset = (bfd_vma) -1;
- else if (h->got.refcount > 0)
- {
- asection *s;
- bfd_boolean dyn;
- int tls_type = elf_i386_hash_entry(h)->tls_type;
-
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && !h->forced_local
- && !resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
-
- s = htab->elf.sgot;
- if (GOT_TLS_GDESC_P (tls_type))
- {
- eh->tlsdesc_got = htab->elf.sgotplt->size
- - elf_i386_compute_jump_table_size (htab);
- htab->elf.sgotplt->size += 8;
- h->got.offset = (bfd_vma) -2;
- }
- if (! GOT_TLS_GDESC_P (tls_type)
- || GOT_TLS_GD_P (tls_type))
- {
- h->got.offset = s->size;
- s->size += 4;
- /* R_386_TLS_GD needs 2 consecutive GOT slots. */
- if (GOT_TLS_GD_P (tls_type) || tls_type == GOT_TLS_IE_BOTH)
- s->size += 4;
- }
- dyn = htab->elf.dynamic_sections_created;
- /* R_386_TLS_IE_32 needs one dynamic relocation,
- R_386_TLS_IE resp. R_386_TLS_GOTIE needs one dynamic relocation,
- (but if both R_386_TLS_IE_32 and R_386_TLS_IE is present, we
- need two), R_386_TLS_GD needs one if local symbol and two if
- global. No dynamic relocation against resolved undefined weak
- symbol in executable. */
- if (tls_type == GOT_TLS_IE_BOTH)
- htab->elf.srelgot->size += 2 * sizeof (Elf32_External_Rel);
- else if ((GOT_TLS_GD_P (tls_type) && h->dynindx == -1)
- || (tls_type & GOT_TLS_IE))
- htab->elf.srelgot->size += sizeof (Elf32_External_Rel);
- else if (GOT_TLS_GD_P (tls_type))
- htab->elf.srelgot->size += 2 * sizeof (Elf32_External_Rel);
- else if (! GOT_TLS_GDESC_P (tls_type)
- && ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
- && !resolved_to_zero)
- || h->root.type != bfd_link_hash_undefweak)
- && (bfd_link_pic (info)
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)))
- htab->elf.srelgot->size += sizeof (Elf32_External_Rel);
- if (GOT_TLS_GDESC_P (tls_type))
- htab->elf.srelplt->size += sizeof (Elf32_External_Rel);
- }
- else
- h->got.offset = (bfd_vma) -1;
-
- if (eh->dyn_relocs == NULL)
- return TRUE;
-
- /* In the shared -Bsymbolic case, discard space allocated for
- dynamic pc-relative relocs against symbols which turn out to be
- defined in regular objects. For the normal shared case, discard
- space for pc-relative relocs that have become local due to symbol
- visibility changes. */
-
- if (bfd_link_pic (info))
- {
- /* The only reloc that uses pc_count is R_386_PC32, which will
- appear on a call or on something like ".long foo - .". We
- want calls to protected symbols to resolve directly to the
- function rather than going via the plt. If people want
- function pointer comparisons to work as expected then they
- should avoid writing assembly like ".long foo - .". */
- if (SYMBOL_CALLS_LOCAL (info, h))
- {
- struct elf_dyn_relocs **pp;
-
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
-
- if (bed->os == is_vxworks)
- {
- struct elf_dyn_relocs **pp;
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- if (strcmp (p->sec->output_section->name, ".tls_vars") == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
-
- /* Also discard relocs on undefined weak syms with non-default
- visibility or in PIE. */
- if (eh->dyn_relocs != NULL
- && h->root.type == bfd_link_hash_undefweak)
- {
- /* Undefined weak symbol is never bound locally in shared
- library. */
- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
- || resolved_to_zero)
- {
- if (h->non_got_ref)
- {
- /* Keep dynamic non-GOT/non-PLT relocation so that we
- can branch to 0 without PLT. */
- struct elf_dyn_relocs **pp;
-
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- if (p->pc_count == 0)
- *pp = p->next;
- else
- {
- /* Remove non-R_386_PC32 relocation. */
- p->count = p->pc_count;
- pp = &p->next;
- }
-
- if (eh->dyn_relocs != NULL)
- {
- /* Make sure undefined weak symbols are output
- as dynamic symbols in PIEs for dynamic non-GOT
- non-PLT reloations. */
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
- }
- else
- eh->dyn_relocs = NULL;
- }
- else if (h->dynindx == -1
- && !h->forced_local)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
- }
- }
- else if (ELIMINATE_COPY_RELOCS)
- {
- /* For the non-shared case, discard space for relocs against
- symbols which turn out to need copy relocs or are not
- dynamic. Keep dynamic relocations for run-time function
- pointer initialization. */
-
- if ((!h->non_got_ref
- || eh->func_pointer_refcount > 0
- || (h->root.type == bfd_link_hash_undefweak
- && !resolved_to_zero))
- && ((h->def_dynamic
- && !h->def_regular)
- || (htab->elf.dynamic_sections_created
- && (h->root.type == bfd_link_hash_undefweak
- || h->root.type == bfd_link_hash_undefined))))
- {
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && !h->forced_local
- && !resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
-
- /* If that succeeded, we know we'll be keeping all the
- relocs. */
- if (h->dynindx != -1)
- goto keep;
- }
-
- eh->dyn_relocs = NULL;
- eh->func_pointer_refcount = 0;
-
- keep: ;
- }
-
- /* Finally, allocate space. */
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection *sreloc;
-
- sreloc = elf_section_data (p->sec)->sreloc;
-
- BFD_ASSERT (sreloc != NULL);
- sreloc->size += p->count * sizeof (Elf32_External_Rel);
- }
-
- return TRUE;
-}
-
-/* Allocate space in .plt, .got and associated reloc sections for
- local dynamic relocs. */
-
-static bfd_boolean
-elf_i386_allocate_local_dynrelocs (void **slot, void *inf)
-{
- struct elf_link_hash_entry *h
- = (struct elf_link_hash_entry *) *slot;
-
- if (h->type != STT_GNU_IFUNC
- || !h->def_regular
- || !h->ref_regular
- || !h->forced_local
- || h->root.type != bfd_link_hash_defined)
- abort ();
-
- return elf_i386_allocate_dynrelocs (h, inf);
-}
-
-/* Find any dynamic relocs that apply to read-only sections. */
-
-static bfd_boolean
-elf_i386_readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf)
-{
- struct elf_i386_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
-
- /* Skip local IFUNC symbols. */
- if (h->forced_local && h->type == STT_GNU_IFUNC)
- return TRUE;
-
- eh = (struct elf_i386_link_hash_entry *) h;
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection *s = p->sec->output_section;
-
- if (s != NULL && (s->flags & SEC_READONLY) != 0)
- {
- struct bfd_link_info *info = (struct bfd_link_info *) inf;
-
- info->flags |= DF_TEXTREL;
-
- if ((info->warn_shared_textrel && bfd_link_pic (info))
- || info->error_textrel)
- /* xgettext:c-format */
- info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
- p->sec->owner, h->root.root.string,
- p->sec);
-
- /* Not an error, just cut short the traversal. */
- return FALSE;
- }
- }
- return TRUE;
-}
-
-/* Convert load via the GOT slot to load immediate. */
-
-static bfd_boolean
-elf_i386_convert_load (bfd *abfd, asection *sec,
- struct bfd_link_info *link_info)
-{
- struct elf_i386_link_hash_table *htab;
- Elf_Internal_Shdr *symtab_hdr;
- Elf_Internal_Rela *internal_relocs;
- Elf_Internal_Rela *irel, *irelend;
- bfd_byte *contents;
- bfd_boolean changed;
- bfd_signed_vma *local_got_refcounts;
-
- /* Don't even try to convert non-ELF outputs. */
- if (!is_elf_hash_table (link_info->hash))
- return FALSE;
-
- /* Nothing to do if there is no need or no output. */
- if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
- || sec->need_convert_load == 0
- || bfd_is_abs_section (sec->output_section))
- return TRUE;
-
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-
- /* Load the relocations for this section. */
- internal_relocs = (_bfd_elf_link_read_relocs
- (abfd, sec, NULL, (Elf_Internal_Rela *) NULL,
- link_info->keep_memory));
- if (internal_relocs == NULL)
- return FALSE;
-
- changed = FALSE;
- htab = elf_i386_hash_table (link_info);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
- /* Get the section contents. */
- if (elf_section_data (sec)->this_hdr.contents != NULL)
- contents = elf_section_data (sec)->this_hdr.contents;
- else
- {
- if (!bfd_malloc_and_get_section (abfd, sec, &contents))
- goto error_return;
- }
-
- irelend = internal_relocs + sec->reloc_count;
- for (irel = internal_relocs; irel < irelend; irel++)
- {
- unsigned int r_type = ELF32_R_TYPE (irel->r_info);
- unsigned int r_symndx;
- struct elf_link_hash_entry *h;
- bfd_boolean converted;
-
- /* Don't convert R_386_GOT32 since we can't tell if it is applied
- to "mov $foo@GOT, %reg" which isn't a load via GOT. */
- if (r_type != R_386_GOT32X)
- continue;
-
- r_symndx = ELF32_R_SYM (irel->r_info);
- if (r_symndx < symtab_hdr->sh_info)
- h = elf_i386_get_local_sym_hash (htab, sec->owner,
- (const Elf_Internal_Rela *) irel,
- FALSE);
- else
- {
- h = elf_sym_hashes (abfd)[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- }
-
- /* STT_GNU_IFUNC must keep GOT32 relocations. */
- if (h != NULL && h->type == STT_GNU_IFUNC)
- continue;
-
- converted = FALSE;
- if (!elf_i386_convert_load_reloc (abfd, symtab_hdr, contents,
- irel, h, &converted, link_info))
- goto error_return;
-
- if (converted)
- {
- changed = converted;
- if (h)
- {
- if (h->got.refcount > 0)
- h->got.refcount -= 1;
- }
- else
- {
- if (local_got_refcounts != NULL
- && local_got_refcounts[r_symndx] > 0)
- local_got_refcounts[r_symndx] -= 1;
- }
- }
- }
-
- if (contents != NULL
- && elf_section_data (sec)->this_hdr.contents != contents)
- {
- if (!changed && !link_info->keep_memory)
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd. */
- elf_section_data (sec)->this_hdr.contents = contents;
- }
- }
-
- if (elf_section_data (sec)->relocs != internal_relocs)
- {
- if (!changed)
- free (internal_relocs);
- else
- elf_section_data (sec)->relocs = internal_relocs;
- }
-
- return TRUE;
-
- error_return:
- if (contents != NULL
- && elf_section_data (sec)->this_hdr.contents != contents)
- free (contents);
- if (internal_relocs != NULL
- && elf_section_data (sec)->relocs != internal_relocs)
- free (internal_relocs);
- return FALSE;
-}
-
-/* Set the sizes of the dynamic sections. */
-
-static bfd_boolean
-elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
-{
- struct elf_i386_link_hash_table *htab;
- bfd *dynobj;
- asection *s;
- bfd_boolean relocs;
- bfd *ibfd;
-
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return FALSE;
- dynobj = htab->elf.dynobj;
- if (dynobj == NULL)
- abort ();
-
- /* Set up .got offsets for local syms, and space for local dynamic
- relocs. */
- for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
- {
- bfd_signed_vma *local_got;
- bfd_signed_vma *end_local_got;
- char *local_tls_type;
- bfd_vma *local_tlsdesc_gotent;
- bfd_size_type locsymcount;
- Elf_Internal_Shdr *symtab_hdr;
- asection *srel;
-
- if (! is_i386_elf (ibfd))
- continue;
-
- for (s = ibfd->sections; s != NULL; s = s->next)
- {
- struct elf_dyn_relocs *p;
-
- if (!elf_i386_convert_load (ibfd, s, info))
- return FALSE;
-
- for (p = ((struct elf_dyn_relocs *)
- elf_section_data (s)->local_dynrel);
- p != NULL;
- p = p->next)
- {
- if (!bfd_is_abs_section (p->sec)
- && bfd_is_abs_section (p->sec->output_section))
- {
- /* Input section has been discarded, either because
- it is a copy of a linkonce section or due to
- linker script /DISCARD/, so we'll be discarding
- the relocs too. */
- }
- else if ((get_elf_i386_backend_data (output_bfd)->os
- == is_vxworks)
- && strcmp (p->sec->output_section->name,
- ".tls_vars") == 0)
- {
- /* Relocations in vxworks .tls_vars sections are
- handled specially by the loader. */
- }
- else if (p->count != 0)
- {
- srel = elf_section_data (p->sec)->sreloc;
- srel->size += p->count * sizeof (Elf32_External_Rel);
- if ((p->sec->output_section->flags & SEC_READONLY) != 0
- && (info->flags & DF_TEXTREL) == 0)
- {
- info->flags |= DF_TEXTREL;
- if ((info->warn_shared_textrel && bfd_link_pic (info))
- || info->error_textrel)
- /* xgettext:c-format */
- info->callbacks->einfo (_("%P: %B: warning: relocation in readonly section `%A'\n"),
- p->sec->owner, p->sec);
- }
- }
- }
- }
-
- local_got = elf_local_got_refcounts (ibfd);
- if (!local_got)
- continue;
-
- symtab_hdr = &elf_symtab_hdr (ibfd);
- locsymcount = symtab_hdr->sh_info;
- end_local_got = local_got + locsymcount;
- local_tls_type = elf_i386_local_got_tls_type (ibfd);
- local_tlsdesc_gotent = elf_i386_local_tlsdesc_gotent (ibfd);
- s = htab->elf.sgot;
- srel = htab->elf.srelgot;
- for (; local_got < end_local_got;
- ++local_got, ++local_tls_type, ++local_tlsdesc_gotent)
- {
- *local_tlsdesc_gotent = (bfd_vma) -1;
- if (*local_got > 0)
- {
- if (GOT_TLS_GDESC_P (*local_tls_type))
- {
- *local_tlsdesc_gotent = htab->elf.sgotplt->size
- - elf_i386_compute_jump_table_size (htab);
- htab->elf.sgotplt->size += 8;
- *local_got = (bfd_vma) -2;
- }
- if (! GOT_TLS_GDESC_P (*local_tls_type)
- || GOT_TLS_GD_P (*local_tls_type))
- {
- *local_got = s->size;
- s->size += 4;
- if (GOT_TLS_GD_P (*local_tls_type)
- || *local_tls_type == GOT_TLS_IE_BOTH)
- s->size += 4;
- }
- if (bfd_link_pic (info)
- || GOT_TLS_GD_ANY_P (*local_tls_type)
- || (*local_tls_type & GOT_TLS_IE))
- {
- if (*local_tls_type == GOT_TLS_IE_BOTH)
- srel->size += 2 * sizeof (Elf32_External_Rel);
- else if (GOT_TLS_GD_P (*local_tls_type)
- || ! GOT_TLS_GDESC_P (*local_tls_type))
- srel->size += sizeof (Elf32_External_Rel);
- if (GOT_TLS_GDESC_P (*local_tls_type))
- htab->elf.srelplt->size += sizeof (Elf32_External_Rel);
- }
- }
- else
- *local_got = (bfd_vma) -1;
- }
- }
-
- if (htab->tls_ldm_got.refcount > 0)
- {
- /* Allocate 2 got entries and 1 dynamic reloc for R_386_TLS_LDM
- relocs. */
- htab->tls_ldm_got.offset = htab->elf.sgot->size;
- htab->elf.sgot->size += 8;
- htab->elf.srelgot->size += sizeof (Elf32_External_Rel);
- }
- else
- htab->tls_ldm_got.offset = -1;
-
- /* Allocate global sym .plt and .got entries, and space for global
- sym dynamic relocs. */
- elf_link_hash_traverse (&htab->elf, elf_i386_allocate_dynrelocs, info);
-
- /* Allocate .plt and .got entries, and space for local symbols. */
- htab_traverse (htab->loc_hash_table,
- elf_i386_allocate_local_dynrelocs,
- info);
-
- /* For every jump slot reserved in the sgotplt, reloc_count is
- incremented. However, when we reserve space for TLS descriptors,
- it's not incremented, so in order to compute the space reserved
- for them, it suffices to multiply the reloc count by the jump
- slot size.
-
- PR ld/13302: We start next_irelative_index at the end of .rela.plt
- so that R_386_IRELATIVE entries come last. */
- if (htab->elf.srelplt)
- {
- htab->next_tls_desc_index = htab->elf.srelplt->reloc_count;
- htab->sgotplt_jump_table_size = htab->next_tls_desc_index * 4;
- htab->next_irelative_index = htab->elf.srelplt->reloc_count - 1;
- }
- else if (htab->elf.irelplt)
- htab->next_irelative_index = htab->elf.irelplt->reloc_count - 1;
-
-
- if (htab->elf.sgotplt)
- {
- /* Don't allocate .got.plt section if there are no GOT nor PLT
- entries and there is no reference to _GLOBAL_OFFSET_TABLE_. */
- if ((htab->elf.hgot == NULL
- || !htab->elf.hgot->ref_regular_nonweak)
- && (htab->elf.sgotplt->size
- == get_elf_backend_data (output_bfd)->got_header_size)
- && (htab->elf.splt == NULL
- || htab->elf.splt->size == 0)
- && (htab->elf.sgot == NULL
- || htab->elf.sgot->size == 0)
- && (htab->elf.iplt == NULL
- || htab->elf.iplt->size == 0)
- && (htab->elf.igotplt == NULL
- || htab->elf.igotplt->size == 0))
- htab->elf.sgotplt->size = 0;
- }
-
- if (_bfd_elf_eh_frame_present (info))
- {
- if (htab->plt_eh_frame != NULL
- && htab->elf.splt != NULL
- && htab->elf.splt->size != 0
- && !bfd_is_abs_section (htab->elf.splt->output_section))
- htab->plt_eh_frame->size = htab->plt.eh_frame_plt_size;
-
- if (htab->plt_got_eh_frame != NULL
- && htab->plt_got != NULL
- && htab->plt_got->size != 0
- && !bfd_is_abs_section (htab->plt_got->output_section))
- htab->plt_got_eh_frame->size
- = htab->non_lazy_plt->eh_frame_plt_size;
-
- /* Unwind info for the second PLT and .plt.got sections are
- identical. */
- if (htab->plt_second_eh_frame != NULL
- && htab->plt_second != NULL
- && htab->plt_second->size != 0
- && !bfd_is_abs_section (htab->plt_second->output_section))
- htab->plt_second_eh_frame->size
- = htab->non_lazy_plt->eh_frame_plt_size;
- }
-
- /* We now have determined the sizes of the various dynamic sections.
- Allocate memory for them. */
- relocs = FALSE;
- for (s = dynobj->sections; s != NULL; s = s->next)
- {
- bfd_boolean strip_section = TRUE;
-
- if ((s->flags & SEC_LINKER_CREATED) == 0)
- continue;
-
- if (s == htab->elf.splt
- || s == htab->elf.sgot)
- {
- /* Strip this section if we don't need it; see the
- comment below. */
- /* We'd like to strip these sections if they aren't needed, but if
- we've exported dynamic symbols from them we must leave them.
- It's too late to tell BFD to get rid of the symbols. */
-
- if (htab->elf.hplt != NULL)
- strip_section = FALSE;
- }
- else if (s == htab->elf.sgotplt
- || s == htab->elf.iplt
- || s == htab->elf.igotplt
- || s == htab->plt_second
- || s == htab->plt_got
- || s == htab->plt_eh_frame
- || s == htab->plt_got_eh_frame
- || s == htab->plt_second_eh_frame
- || s == htab->elf.sdynbss
- || s == htab->elf.sdynrelro)
- {
- /* Strip these too. */
- }
- else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rel"))
- {
- if (s->size != 0
- && s != htab->elf.srelplt
- && s != htab->srelplt2)
- relocs = TRUE;
-
- /* We use the reloc_count field as a counter if we need
- to copy relocs into the output file. */
- s->reloc_count = 0;
- }
- else
- {
- /* It's not one of our sections, so don't allocate space. */
- continue;
- }
-
- if (s->size == 0)
- {
- /* If we don't need this section, strip it from the
- output file. This is mostly to handle .rel.bss and
- .rel.plt. We must create both sections in
- create_dynamic_sections, because they must be created
- before the linker maps input sections to output
- sections. The linker does that before
- adjust_dynamic_symbol is called, and it is that
- function which decides whether anything needs to go
- into these sections. */
- if (strip_section)
- s->flags |= SEC_EXCLUDE;
- continue;
- }
-
- if ((s->flags & SEC_HAS_CONTENTS) == 0)
- continue;
-
- /* Allocate memory for the section contents. We use bfd_zalloc
- here in case unused entries are not reclaimed before the
- section's contents are written out. This should not happen,
- but this way if it does, we get a R_386_NONE reloc instead
- of garbage. */
- s->contents = (unsigned char *) bfd_zalloc (dynobj, s->size);
- if (s->contents == NULL)
- return FALSE;
- }
-
- if (htab->plt_eh_frame != NULL
- && htab->plt_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_eh_frame->contents,
- htab->plt.eh_frame_plt,
- htab->plt_eh_frame->size);
- bfd_put_32 (dynobj, htab->elf.splt->size,
- htab->plt_eh_frame->contents + PLT_FDE_LEN_OFFSET);
- }
-
- if (htab->plt_got_eh_frame != NULL
- && htab->plt_got_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_got_eh_frame->contents,
- htab->non_lazy_plt->eh_frame_plt,
- htab->plt_got_eh_frame->size);
- bfd_put_32 (dynobj, htab->plt_got->size,
- (htab->plt_got_eh_frame->contents
- + PLT_FDE_LEN_OFFSET));
- }
-
- if (htab->plt_second_eh_frame != NULL
- && htab->plt_second_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_second_eh_frame->contents,
- htab->non_lazy_plt->eh_frame_plt,
- htab->plt_second_eh_frame->size);
- bfd_put_32 (dynobj, htab->plt_second->size,
- (htab->plt_second_eh_frame->contents
- + PLT_FDE_LEN_OFFSET));
- }
-
- if (htab->elf.dynamic_sections_created)
- {
- /* Add some entries to the .dynamic section. We fill in the
- values later, in elf_i386_finish_dynamic_sections, but we
- must add the entries now so that we get the correct size for
- the .dynamic section. The DT_DEBUG entry is filled in by the
- dynamic linker and used by the debugger. */
-#define add_dynamic_entry(TAG, VAL) \
- _bfd_elf_add_dynamic_entry (info, TAG, VAL)
-
- if (bfd_link_executable (info))
- {
- if (!add_dynamic_entry (DT_DEBUG, 0))
- return FALSE;
- }
-
- if (htab->elf.splt->size != 0)
- {
- /* DT_PLTGOT is used by prelink even if there is no PLT
- relocation. */
- if (!add_dynamic_entry (DT_PLTGOT, 0))
- return FALSE;
- }
-
- if (htab->elf.srelplt->size != 0)
- {
- if (!add_dynamic_entry (DT_PLTRELSZ, 0)
- || !add_dynamic_entry (DT_PLTREL, DT_REL)
- || !add_dynamic_entry (DT_JMPREL, 0))
- return FALSE;
- }
-
- if (relocs)
- {
- if (!add_dynamic_entry (DT_REL, 0)
- || !add_dynamic_entry (DT_RELSZ, 0)
- || !add_dynamic_entry (DT_RELENT, sizeof (Elf32_External_Rel)))
- return FALSE;
-
- /* If any dynamic relocs apply to a read-only section,
- then we need a DT_TEXTREL entry. */
- if ((info->flags & DF_TEXTREL) == 0)
- elf_link_hash_traverse (&htab->elf,
- elf_i386_readonly_dynrelocs, info);
-
- if ((info->flags & DF_TEXTREL) != 0)
- {
- if (htab->readonly_dynrelocs_against_ifunc)
- {
- info->callbacks->einfo
- (_("%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"));
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- if (!add_dynamic_entry (DT_TEXTREL, 0))
- return FALSE;
- }
- }
- if (get_elf_i386_backend_data (output_bfd)->os == is_vxworks
- && !elf_vxworks_add_dynamic_entries (output_bfd, info))
- return FALSE;
- }
-#undef add_dynamic_entry
-
- return TRUE;
-}
-
-static bfd_boolean
-elf_i386_always_size_sections (bfd *output_bfd,
- struct bfd_link_info *info)
-{
- asection *tls_sec = elf_hash_table (info)->tls_sec;
-
- if (tls_sec)
- {
- struct elf_link_hash_entry *tlsbase;
-
- tlsbase = elf_link_hash_lookup (elf_hash_table (info),
- "_TLS_MODULE_BASE_",
- FALSE, FALSE, FALSE);
-
- if (tlsbase && tlsbase->type == STT_TLS)
- {
- struct elf_i386_link_hash_table *htab;
- struct bfd_link_hash_entry *bh = NULL;
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
-
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- if (!(_bfd_generic_link_add_one_symbol
- (info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
- tls_sec, 0, NULL, FALSE,
- bed->collect, &bh)))
- return FALSE;
-
- htab->tls_module_base = bh;
-
- tlsbase = (struct elf_link_hash_entry *)bh;
- tlsbase->def_regular = 1;
- tlsbase->other = STV_HIDDEN;
- tlsbase->root.linker_def = 1;
- (*bed->elf_backend_hide_symbol) (info, tlsbase, TRUE);
- }
- }
-
- return TRUE;
-}
-
/* Set the correct type for an x86 ELF section. We do this by the
section name, which is a hack, but ought to work. */
@@ -3798,44 +2001,6 @@ elf_i386_fake_sections (bfd *abfd ATTRIBUTE_UNUSED,
return TRUE;
}
-/* _TLS_MODULE_BASE_ needs to be treated especially when linking
- executables. Rather than setting it to the beginning of the TLS
- section, we have to set it to the end. This function may be called
- multiple times, it is idempotent. */
-
-static void
-elf_i386_set_tls_module_base (struct bfd_link_info *info)
-{
- struct elf_i386_link_hash_table *htab;
- struct bfd_link_hash_entry *base;
-
- if (!bfd_link_executable (info))
- return;
-
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return;
-
- base = htab->tls_module_base;
- if (base == NULL)
- return;
-
- base->u.def.value = htab->elf.tls_size;
-}
-
-/* Return the base VMA address which should be subtracted from real addresses
- when resolving @dtpoff relocation.
- This is PT_TLS segment p_vaddr. */
-
-static bfd_vma
-elf_i386_dtpoff_base (struct bfd_link_info *info)
-{
- /* If tls_sec is NULL, we should have signalled an error already. */
- if (elf_hash_table (info)->tls_sec == NULL)
- return 0;
- return elf_hash_table (info)->tls_sec->vma;
-}
-
/* Return the relocation value for @tpoff relocation
if STT_TLS virtual address is ADDRESS. */
@@ -3867,7 +2032,7 @@ elf_i386_relocate_section (bfd *output_bfd,
Elf_Internal_Sym *local_syms,
asection **local_sections)
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
bfd_vma *local_got_offsets;
@@ -3878,28 +2043,28 @@ elf_i386_relocate_section (bfd *output_bfd,
bfd_boolean is_vxworks_tls;
unsigned plt_entry_size;
- BFD_ASSERT (is_i386_elf (input_bfd));
-
/* Skip if check_relocs failed. */
if (input_section->check_relocs_failed)
return FALSE;
- htab = elf_i386_hash_table (info);
+ htab = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
return FALSE;
+
+ BFD_ASSERT (is_x86_elf (input_bfd, htab));
+
symtab_hdr = &elf_symtab_hdr (input_bfd);
sym_hashes = elf_sym_hashes (input_bfd);
local_got_offsets = elf_local_got_offsets (input_bfd);
- local_tlsdesc_gotents = elf_i386_local_tlsdesc_gotent (input_bfd);
+ local_tlsdesc_gotents = elf_x86_local_tlsdesc_gotent (input_bfd);
/* We have to handle relocations in vxworks .tls_vars sections
specially, because the dynamic loader is 'weird'. */
- is_vxworks_tls = ((get_elf_i386_backend_data (output_bfd)->os
- == is_vxworks)
+ is_vxworks_tls = (htab->is_vxworks
&& bfd_link_pic (info)
&& !strcmp (input_section->output_section->name,
".tls_vars"));
- elf_i386_set_tls_module_base (info);
+ _bfd_x86_elf_set_tls_module_base (info);
plt_entry_size = htab->plt.plt_entry_size;
@@ -3907,11 +2072,11 @@ elf_i386_relocate_section (bfd *output_bfd,
relend = relocs + input_section->reloc_count;
for (; rel < relend; wrel++, rel++)
{
- unsigned int r_type;
+ unsigned int r_type, r_type_tls;
reloc_howto_type *howto;
unsigned long r_symndx;
struct elf_link_hash_entry *h;
- struct elf_i386_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
Elf_Internal_Sym *sym;
asection *sec;
bfd_vma off, offplt, plt_offset;
@@ -3939,14 +2104,8 @@ elf_i386_relocate_section (bfd *output_bfd,
>= R_386_ext - R_386_standard)
&& ((indx = r_type - R_386_tls_offset) - R_386_ext
>= R_386_ext2 - R_386_ext))
- {
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: unrecognized relocation (0x%x) in section `%A'"),
- input_bfd, r_type, input_section);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
+
howto = elf_howto_table + indx;
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -4036,8 +2195,8 @@ elf_i386_relocate_section (bfd *output_bfd,
&& ELF32_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
{
/* Relocate against local STT_GNU_IFUNC symbol. */
- h = elf_i386_get_local_sym_hash (htab, input_bfd, rel,
- FALSE);
+ h = _bfd_elf_x86_get_local_sym_hash (htab, input_bfd, rel,
+ FALSE);
if (h == NULL)
abort ();
@@ -4083,7 +2242,7 @@ elf_i386_relocate_section (bfd *output_bfd,
continue;
}
- eh = (struct elf_i386_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle
it here if it is defined in a non-shared object. */
@@ -4319,9 +2478,7 @@ do_ifunc_pointer:
}
resolved_to_zero = (eh != NULL
- && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh));
+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh));
switch (r_type)
{
@@ -4402,7 +2559,7 @@ r_386_got32:
bfd_link_pic (info),
h)
|| (bfd_link_pic (info)
- && SYMBOL_REFERENCES_LOCAL (info, h))
+ && SYMBOL_REFERENCES_LOCAL_P (info, h))
|| (ELF_ST_VISIBILITY (h->other)
&& h->root.type == bfd_link_hash_undefweak))
{
@@ -4561,7 +2718,7 @@ disallow_got32:
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
- else if (!SYMBOL_REFERENCES_LOCAL (info, h)
+ else if (!SYMBOL_REFERENCES_LOCAL_P (info, h)
&& (h->type == STT_FUNC
|| h->type == STT_OBJECT)
&& ELF_ST_VISIBILITY (h->other) == STV_PROTECTED)
@@ -4753,23 +2910,24 @@ disallow_got32:
case R_386_TLS_GOTIE:
tls_type = GOT_UNKNOWN;
if (h == NULL && local_got_offsets)
- tls_type = elf_i386_local_got_tls_type (input_bfd) [r_symndx];
+ tls_type = elf_x86_local_got_tls_type (input_bfd) [r_symndx];
else if (h != NULL)
- tls_type = elf_i386_hash_entry(h)->tls_type;
+ tls_type = elf_x86_hash_entry(h)->tls_type;
if (tls_type == GOT_TLS_IE)
tls_type = GOT_TLS_IE_NEG;
+ r_type_tls = r_type;
if (! elf_i386_tls_transition (info, input_bfd,
input_section, contents,
symtab_hdr, sym_hashes,
- &r_type, tls_type, rel,
+ &r_type_tls, tls_type, rel,
relend, h, r_symndx, TRUE))
return FALSE;
- if (r_type == R_386_TLS_LE_32)
+ if (r_type_tls == R_386_TLS_LE_32)
{
BFD_ASSERT (! unresolved_reloc);
- if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_GD)
+ if (r_type == R_386_TLS_GD)
{
unsigned int type;
bfd_vma roff;
@@ -4812,7 +2970,7 @@ disallow_got32:
wrel++;
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_GOTDESC)
+ else if (r_type == R_386_TLS_GOTDESC)
{
/* GDesc -> LE transition.
It's originally something like:
@@ -4837,7 +2995,7 @@ disallow_got32:
contents + roff);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_DESC_CALL)
+ else if (r_type == R_386_TLS_DESC_CALL)
{
/* GDesc -> LE transition.
It's originally:
@@ -4852,7 +3010,7 @@ disallow_got32:
bfd_put_8 (output_bfd, 0x90, contents + roff + 1);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_IE)
+ else if (r_type == R_386_TLS_IE)
{
unsigned int val;
@@ -4946,7 +3104,7 @@ disallow_got32:
}
else
BFD_FAIL ();
- if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_GOTIE)
+ if (r_type == R_386_TLS_GOTIE)
bfd_put_32 (output_bfd, -elf_i386_tpoff (info, relocation),
contents + rel->r_offset);
else
@@ -4962,7 +3120,7 @@ disallow_got32:
if (h != NULL)
{
off = h->got.offset;
- offplt = elf_i386_hash_entry (h)->tlsdesc_got;
+ offplt = elf_x86_hash_entry (h)->tlsdesc_got;
}
else
{
@@ -5007,7 +3165,7 @@ disallow_got32:
{
BFD_ASSERT (! unresolved_reloc);
bfd_put_32 (output_bfd,
- relocation - elf_i386_dtpoff_base (info),
+ relocation - _bfd_x86_elf_dtpoff_base (info),
htab->elf.sgotplt->contents + offplt
+ htab->sgotplt_jump_table_size + 4);
}
@@ -5035,11 +3193,11 @@ disallow_got32:
if (dr_type == R_386_TLS_TPOFF && indx == 0)
bfd_put_32 (output_bfd,
- relocation - elf_i386_dtpoff_base (info),
+ relocation - _bfd_x86_elf_dtpoff_base (info),
htab->elf.sgot->contents + off);
else if (dr_type == R_386_TLS_TPOFF32 && indx == 0)
bfd_put_32 (output_bfd,
- elf_i386_dtpoff_base (info) - relocation,
+ _bfd_x86_elf_dtpoff_base (info) - relocation,
htab->elf.sgot->contents + off);
else if (dr_type != R_386_TLS_DESC)
bfd_put_32 (output_bfd, 0,
@@ -5054,7 +3212,7 @@ disallow_got32:
{
BFD_ASSERT (! unresolved_reloc);
bfd_put_32 (output_bfd,
- relocation - elf_i386_dtpoff_base (info),
+ relocation - _bfd_x86_elf_dtpoff_base (info),
htab->elf.sgot->contents + off + 4);
}
else
@@ -5071,7 +3229,7 @@ disallow_got32:
{
bfd_put_32 (output_bfd,
(indx == 0
- ? relocation - elf_i386_dtpoff_base (info)
+ ? relocation - _bfd_x86_elf_dtpoff_base (info)
: 0),
htab->elf.sgot->contents + off + 4);
outrel.r_info = ELF32_R_INFO (indx, R_386_TLS_TPOFF);
@@ -5089,13 +3247,13 @@ disallow_got32:
if (off >= (bfd_vma) -2
&& ! GOT_TLS_GDESC_P (tls_type))
abort ();
- if (r_type == R_386_TLS_GOTDESC
- || r_type == R_386_TLS_DESC_CALL)
+ if (r_type_tls == R_386_TLS_GOTDESC
+ || r_type_tls == R_386_TLS_DESC_CALL)
{
relocation = htab->sgotplt_jump_table_size + offplt;
unresolved_reloc = FALSE;
}
- else if (r_type == ELF32_R_TYPE (rel->r_info))
+ else if (r_type_tls == r_type)
{
bfd_vma g_o_t = htab->elf.sgotplt->output_section->vma
+ htab->elf.sgotplt->output_offset;
@@ -5108,7 +3266,7 @@ disallow_got32:
relocation += g_o_t;
unresolved_reloc = FALSE;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_GD)
+ else if (r_type == R_386_TLS_GD)
{
unsigned int val, type;
bfd_vma roff;
@@ -5164,7 +3322,7 @@ disallow_got32:
wrel++;
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_GOTDESC)
+ else if (r_type == R_386_TLS_GOTDESC)
{
/* GDesc -> IE transition.
It's originally something like:
@@ -5203,7 +3361,7 @@ disallow_got32:
contents + roff);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_386_TLS_DESC_CALL)
+ else if (r_type == R_386_TLS_DESC_CALL)
{
/* GDesc -> IE transition.
It's originally:
@@ -5282,7 +3440,7 @@ disallow_got32:
if (htab->elf.sgot == NULL)
abort ();
- off = htab->tls_ldm_got.offset;
+ off = htab->tls_ld_or_ldm_got.offset;
if (off & 1)
off &= ~1;
else
@@ -5301,7 +3459,7 @@ disallow_got32:
htab->elf.sgot->contents + off + 4);
outrel.r_info = ELF32_R_INFO (0, R_386_TLS_DTPMOD32);
elf_append_rel (output_bfd, htab->elf.srelgot, &outrel);
- htab->tls_ldm_got.offset |= 1;
+ htab->tls_ld_or_ldm_got.offset |= 1;
}
relocation = htab->elf.sgot->output_section->vma
+ htab->elf.sgot->output_offset + off
@@ -5313,7 +3471,7 @@ disallow_got32:
case R_386_TLS_LDO_32:
if (!bfd_link_executable (info)
|| (input_section->flags & SEC_CODE) == 0)
- relocation -= elf_i386_dtpoff_base (info);
+ relocation -= _bfd_x86_elf_dtpoff_base (info);
else
/* When converting LDO to LE, we must negate. */
relocation = -elf_i386_tpoff (info, relocation);
@@ -5344,9 +3502,9 @@ disallow_got32:
if (indx)
continue;
else if (r_type == R_386_TLS_LE_32)
- relocation = elf_i386_dtpoff_base (info) - relocation;
+ relocation = _bfd_x86_elf_dtpoff_base (info) - relocation;
else
- relocation -= elf_i386_dtpoff_base (info);
+ relocation -= _bfd_x86_elf_dtpoff_base (info);
}
else if (r_type == R_386_TLS_LE_32)
relocation = elf_i386_tpoff (info, relocation);
@@ -5369,10 +3527,10 @@ disallow_got32:
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
return FALSE;
@@ -5409,9 +3567,9 @@ check_relocation_error:
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ rel->r_offset, name, (int) r);
return FALSE;
}
}
@@ -5452,33 +3610,29 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
struct elf_link_hash_entry *h,
Elf_Internal_Sym *sym)
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
unsigned plt_entry_size;
- const struct elf_i386_backend_data *abed;
- struct elf_i386_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
bfd_boolean local_undefweak;
bfd_boolean use_plt_second;
- htab = elf_i386_hash_table (info);
+ htab = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
return FALSE;
- abed = get_elf_i386_backend_data (output_bfd);
plt_entry_size = htab->plt.plt_entry_size;
/* Use the second PLT section only if there is .plt section. */
use_plt_second = htab->elf.splt != NULL && htab->plt_second != NULL;
- eh = (struct elf_i386_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
if (eh->no_finish_dynamic_symbol)
abort ();
/* We keep PLT/GOT entries without dynamic PLT/GOT relocations for
resolved undefined weak symbols in executable so that their
references have value 0 at run-time. */
- local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh);
+ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
if (h->plt.offset != (bfd_vma) -1)
{
@@ -5572,7 +3726,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
resolved_plt->contents + plt_offset
+ htab->plt.plt_got_offset);
- if (abed->os == is_vxworks)
+ if (htab->is_vxworks)
{
int s, k, reloc_index;
@@ -5742,8 +3896,8 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
/* Don't generate dynamic GOT relocation against undefined weak
symbol in executable. */
if (h->got.offset != (bfd_vma) -1
- && ! GOT_TLS_GD_ANY_P (elf_i386_hash_entry(h)->tls_type)
- && (elf_i386_hash_entry(h)->tls_type & GOT_TLS_IE) == 0
+ && ! GOT_TLS_GD_ANY_P (elf_x86_hash_entry(h)->tls_type)
+ && (elf_x86_hash_entry(h)->tls_type & GOT_TLS_IE) == 0
&& !local_undefweak)
{
Elf_Internal_Rela rel;
@@ -5776,7 +3930,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
in static executable. */
relgot = htab->elf.irelplt;
}
- if (SYMBOL_REFERENCES_LOCAL (info, h))
+ if (SYMBOL_REFERENCES_LOCAL_P (info, h))
{
info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
h->root.root.string,
@@ -5826,7 +3980,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
}
}
else if (bfd_link_pic (info)
- && SYMBOL_REFERENCES_LOCAL (info, h))
+ && SYMBOL_REFERENCES_LOCAL_P (info, h))
{
BFD_ASSERT((h->got.offset & 1) != 0);
rel.r_info = ELF32_R_INFO (0, R_386_RELATIVE);
@@ -5902,7 +4056,7 @@ elf_i386_pie_finish_undefweak_symbol (struct bfd_hash_entry *bh,
return TRUE;
return elf_i386_finish_dynamic_symbol (info->output_bfd,
- info, h, NULL);
+ info, h, NULL);
}
/* Used to decide how to sort relocs in an optimal manner for the
@@ -5958,12 +4112,12 @@ static bfd_boolean
elf_i386_finish_dynamic_sections (bfd *output_bfd,
struct bfd_link_info *info)
{
- struct elf_i386_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
bfd *dynobj;
asection *sdyn;
const struct elf_i386_backend_data *abed;
- htab = elf_i386_hash_table (info);
+ htab = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
return FALSE;
@@ -5990,7 +4144,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
switch (dyn.d_tag)
{
default:
- if (abed->os == is_vxworks
+ if (htab->is_vxworks
&& elf_vxworks_finish_dynamic_entry (output_bfd, &dyn))
break;
continue;
@@ -6045,12 +4199,13 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
htab->elf.splt->contents
+ htab->lazy_plt->plt0_got2_offset);
- if (abed->os == is_vxworks)
+ if (htab->is_vxworks)
{
Elf_Internal_Rela rel;
int num_plts = (htab->elf.splt->size
/ htab->plt.plt_entry_size) - 1;
unsigned char *p;
+ asection *srelplt2 = htab->srelplt2;
/* Generate a relocation for _GLOBAL_OFFSET_TABLE_
+ 4. On IA32 we use REL relocations so the
@@ -6061,7 +4216,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx,
R_386_32);
bfd_elf32_swap_reloc_out (output_bfd, &rel,
- htab->srelplt2->contents);
+ srelplt2->contents);
/* Generate a relocation for _GLOBAL_OFFSET_TABLE_
+ 8. */
rel.r_offset = (htab->elf.splt->output_section->vma
@@ -6070,10 +4225,10 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx,
R_386_32);
bfd_elf32_swap_reloc_out (output_bfd, &rel,
- htab->srelplt2->contents +
+ srelplt2->contents +
sizeof (Elf32_External_Rel));
/* Correct the .rel.plt.unloaded relocations. */
- p = htab->srelplt2->contents;
+ p = srelplt2->contents;
if (bfd_link_pic (info))
p += PLTRESOLVE_RELOCS_SHLIB * sizeof (Elf32_External_Rel);
else
@@ -6238,7 +4393,8 @@ elf_i386_output_arch_local_syms
asection *,
struct elf_link_hash_entry *) ATTRIBUTE_UNUSED)
{
- struct elf_i386_link_hash_table *htab = elf_i386_hash_table (info);
+ struct elf_x86_link_hash_table *htab
+ = elf_x86_hash_table (info, I386_ELF_DATA);
if (htab == NULL)
return FALSE;
@@ -6250,44 +4406,8 @@ elf_i386_output_arch_local_syms
return TRUE;
}
-/* Sort relocs into address order. */
-
-static int
-compare_relocs (const void *ap, const void *bp)
-{
- const arelent *a = * (const arelent **) ap;
- const arelent *b = * (const arelent **) bp;
-
- if (a->address > b->address)
- return 1;
- else if (a->address < b->address)
- return -1;
- else
- return 0;
-}
-
-enum elf_i386_plt_type
-{
- plt_non_lazy = 0,
- plt_lazy = 1 << 0,
- plt_pic = 1 << 1,
- plt_second = 1 << 2,
- plt_unknown = -1
-};
-
-struct elf_i386_plt
-{
- const char *name;
- asection *sec;
- bfd_byte *contents;
- enum elf_i386_plt_type type;
- unsigned int plt_got_offset;
- unsigned int plt_entry_size;
- long count;
-};
-
/* Forward declaration. */
-static const struct elf_i386_lazy_plt_layout elf_i386_nacl_plt;
+static const struct elf_x86_lazy_plt_layout elf_i386_nacl_plt;
/* Similar to _bfd_elf_get_synthetic_symtab. Support PLTs with all
dynamic relocations. */
@@ -6300,27 +4420,23 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
asymbol **dynsyms,
asymbol **ret)
{
- long size, count, i, n;
+ long count, i, n;
int j;
- unsigned int plt_got_offset, plt_entry_size;
- asymbol *s;
bfd_byte *plt_contents;
- long dynrelcount, relsize;
- arelent **dynrelbuf;
- const struct elf_i386_lazy_plt_layout *lazy_plt;
- const struct elf_i386_non_lazy_plt_layout *non_lazy_plt;
- const struct elf_i386_lazy_plt_layout *lazy_ibt_plt;
- const struct elf_i386_non_lazy_plt_layout *non_lazy_ibt_plt;
+ long relsize;
+ const struct elf_x86_lazy_plt_layout *lazy_plt;
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_plt;
+ const struct elf_x86_lazy_plt_layout *lazy_ibt_plt;
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_ibt_plt;
asection *plt;
bfd_vma got_addr;
- char *names;
- enum elf_i386_plt_type plt_type;
- struct elf_i386_plt plts[] =
+ enum elf_x86_plt_type plt_type;
+ struct elf_x86_plt plts[] =
{
- { ".plt", NULL, NULL, plt_unknown, 0, 0, 0 },
- { ".plt.got", NULL, NULL, plt_non_lazy, 0, 0, 0 },
- { ".plt.sec", NULL, NULL, plt_second, 0, 0, 0 },
- { NULL, NULL, NULL, plt_non_lazy, 0, 0, 0 }
+ { ".plt", NULL, NULL, plt_unknown, 0, 0, 0, 0 },
+ { ".plt.got", NULL, NULL, plt_non_lazy, 0, 0, 0, 0 },
+ { ".plt.sec", NULL, NULL, plt_second, 0, 0, 0, 0 },
+ { NULL, NULL, NULL, plt_non_lazy, 0, 0, 0, 0 }
};
*ret = NULL;
@@ -6335,16 +4451,6 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
if (relsize <= 0)
return -1;
- dynrelbuf = (arelent **) bfd_malloc (relsize);
- if (dynrelbuf == NULL)
- return -1;
-
- dynrelcount = bfd_canonicalize_dynamic_reloc (abfd, dynrelbuf,
- dynsyms);
-
- /* Sort the relocs by address. */
- qsort (dynrelbuf, dynrelcount, sizeof (arelent *), compare_relocs);
-
non_lazy_plt = NULL;
/* Silence GCC 6. */
lazy_plt = NULL;
@@ -6371,7 +4477,7 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
for (j = 0; plts[j].name != NULL; j++)
{
plt = bfd_get_section_by_name (abfd, plts[j].name);
- if (plt == NULL)
+ if (plt == NULL || plt->size == 0)
continue;
/* Get the PLT section contents. */
@@ -6387,7 +4493,9 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
/* Check what kind of PLT it is. */
plt_type = plt_unknown;
- if (plts[j].type == plt_unknown)
+ if (plts[j].type == plt_unknown
+ && (plt->size >= (lazy_plt->plt0_entry_size
+ + lazy_plt->plt_entry_size)))
{
/* Match lazy PLT first. */
if (memcmp (plt_contents, lazy_plt->plt0_entry,
@@ -6396,7 +4504,7 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
/* The fist entry in the lazy IBT PLT is the same as the
normal lazy PLT. */
if (lazy_ibt_plt != NULL
- && (memcmp (plt_contents + lazy_ibt_plt->plt_entry_size,
+ && (memcmp (plt_contents + lazy_ibt_plt->plt0_entry_size,
lazy_ibt_plt->plt_entry,
lazy_ibt_plt->plt_got_offset) == 0))
plt_type = plt_lazy | plt_second;
@@ -6409,7 +4517,7 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
/* The fist entry in the PIC lazy IBT PLT is the same as
the normal PIC lazy PLT. */
if (lazy_ibt_plt != NULL
- && (memcmp (plt_contents + lazy_ibt_plt->plt_entry_size,
+ && (memcmp (plt_contents + lazy_ibt_plt->plt0_entry_size,
lazy_ibt_plt->pic_plt_entry,
lazy_ibt_plt->plt_got_offset) == 0))
plt_type = plt_lazy | plt_pic | plt_second;
@@ -6419,7 +4527,8 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
}
if (non_lazy_plt != NULL
- && (plt_type == plt_unknown || plt_type == plt_non_lazy))
+ && (plt_type == plt_unknown || plt_type == plt_non_lazy)
+ && plt->size >= non_lazy_plt->plt_entry_size)
{
/* Match non-lazy PLT. */
if (memcmp (plt_contents, non_lazy_plt->plt_entry,
@@ -6431,7 +4540,8 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
}
if ((non_lazy_ibt_plt != NULL)
- && (plt_type == plt_unknown || plt_type == plt_second))
+ && (plt_type == plt_unknown || plt_type == plt_second)
+ && plt->size >= non_lazy_ibt_plt->plt_entry_size)
{
if (memcmp (plt_contents,
non_lazy_ibt_plt->plt_entry,
@@ -6452,7 +4562,10 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
}
if (plt_type == plt_unknown)
- continue;
+ {
+ free (plt_contents);
+ continue;
+ }
plts[j].sec = plt;
plts[j].type = plt_type;
@@ -6489,318 +4602,9 @@ elf_i386_get_synthetic_symtab (bfd *abfd,
got_addr = (bfd_vma) -1;
}
- size = count * sizeof (asymbol);
- s = *ret = (asymbol *) bfd_zmalloc (size);
- if (s == NULL)
- {
-bad_return:
- for (j = 0; plts[j].name != NULL; j++)
- if (plts[j].contents != NULL)
- free (plts[j].contents);
- free (dynrelbuf);
- return -1;
- }
-
- if (got_addr)
- {
- /* Check .got.plt and then .got to get the _GLOBAL_OFFSET_TABLE_
- address. */
- asection *sec = bfd_get_section_by_name (abfd, ".got.plt");
- if (sec != NULL)
- got_addr = sec->vma;
- else
- {
- sec = bfd_get_section_by_name (abfd, ".got");
- if (sec != NULL)
- got_addr = sec->vma;
- }
-
- if (got_addr == (bfd_vma) -1)
- goto bad_return;
- }
-
- /* Check for each PLT section. */
- size = 0;
- n = 0;
- for (j = 0; plts[j].name != NULL; j++)
- if ((plt_contents = plts[j].contents) != NULL)
- {
- long k;
- bfd_vma offset;
-
- plt_got_offset = plts[j].plt_got_offset;
- plt_entry_size = plts[j].plt_entry_size;
-
- plt = plts[j].sec;
-
- if ((plts[j].type & plt_lazy))
- {
- /* Skip PLT0 in lazy PLT. */
- k = 1;
- offset = plt_entry_size;
- }
- else
- {
- k = 0;
- offset = 0;
- }
-
- /* Check each PLT entry against dynamic relocations. */
- for (; k < plts[j].count; k++)
- {
- int off;
- bfd_vma got_vma;
- long min, max, mid;
- arelent *p;
-
- /* Get the GOT offset, a signed 32-bit integer. */
- off = H_GET_32 (abfd, (plt_contents + offset
- + plt_got_offset));
- got_vma = got_addr + off;
-
- /* Binary search. */
- p = dynrelbuf[0];
- min = 0;
- max = dynrelcount;
- while ((min + 1) < max)
- {
- arelent *r;
-
- mid = (min + max) / 2;
- r = dynrelbuf[mid];
- if (got_vma > r->address)
- min = mid;
- else if (got_vma < r->address)
- max = mid;
- else
- {
- p = r;
- break;
- }
- }
-
- /* Skip unknown relocation. PR 17512: file: bc9d6cf5. */
- if (got_vma == p->address
- && p->howto != NULL
- && (p->howto->type == R_386_JUMP_SLOT
- || p->howto->type == R_386_GLOB_DAT
- || p->howto->type == R_386_IRELATIVE))
- {
- *s = **p->sym_ptr_ptr;
- /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL
- set. Since we are defining a symbol, ensure one
- of them is set. */
- if ((s->flags & BSF_LOCAL) == 0)
- s->flags |= BSF_GLOBAL;
- s->flags |= BSF_SYNTHETIC;
- /* This is no longer a section symbol. */
- s->flags &= ~BSF_SECTION_SYM;
- s->section = plt;
- s->the_bfd = plt->owner;
- s->value = offset;
- /* Store relocation for later use. */
- s->udata.p = p;
- /* Add @plt to function name later. */
- size += strlen (s->name) + sizeof ("@plt");
- if (p->addend != 0)
- size += sizeof ("+0x") - 1 + 8;
- n++;
- s++;
- }
- offset += plt_entry_size;
- }
- }
-
- /* PLT entries with R_386_TLS_DESC relocations are skipped. */
- if (n == 0)
- goto bad_return;
-
- count = n;
-
- /* Allocate space for @plt suffixes. */
- names = (char *) bfd_malloc (size);
- if (s == NULL)
- goto bad_return;
-
- s = *ret;
- for (i = 0; i < count; i++)
- {
- /* Add @plt to function name. */
- arelent *p = (arelent *) s->udata.p;
- /* Clear it now. */
- s->udata.p = NULL;
- size = strlen (s->name);
- memcpy (names, s->name, size);
- s->name = names;
- names += size;
- if (p->addend != 0)
- {
- char buf[30], *a;
-
- memcpy (names, "+0x", sizeof ("+0x") - 1);
- names += sizeof ("+0x") - 1;
- bfd_sprintf_vma (abfd, buf, p->addend);
- for (a = buf; *a == '0'; ++a)
- ;
- size = strlen (a);
- memcpy (names, a, size);
- names += size;
- }
- memcpy (names, "@plt", sizeof ("@plt"));
- names += sizeof ("@plt");
- s++;
- }
-
- for (j = 0; plts[j].name != NULL; j++)
- if (plts[j].contents != NULL)
- free (plts[j].contents);
-
- free (dynrelbuf);
-
- return count;
-}
-
-/* Return TRUE if symbol should be hashed in the `.gnu.hash' section. */
-
-static bfd_boolean
-elf_i386_hash_symbol (struct elf_link_hash_entry *h)
-{
- if (h->plt.offset != (bfd_vma) -1
- && !h->def_regular
- && !h->pointer_equality_needed)
- return FALSE;
-
- return _bfd_elf_hash_symbol (h);
-}
-
-/* Parse i386 GNU properties. */
-
-static enum elf_property_kind
-elf_i386_parse_gnu_properties (bfd *abfd, unsigned int type,
- bfd_byte *ptr, unsigned int datasz)
-{
- elf_property *prop;
-
- switch (type)
- {
- case GNU_PROPERTY_X86_ISA_1_USED:
- case GNU_PROPERTY_X86_ISA_1_NEEDED:
- case GNU_PROPERTY_X86_FEATURE_1_AND:
- if (datasz != 4)
- {
- _bfd_error_handler
- ((type == GNU_PROPERTY_X86_ISA_1_USED
- ? _("error: %B: <corrupt x86 ISA used size: 0x%x>")
- : (type == GNU_PROPERTY_X86_ISA_1_NEEDED
- ? _("error: %B: <corrupt x86 ISA needed size: 0x%x>")
- : _("error: %B: <corrupt x86 feature size: 0x%x>"))),
- abfd, datasz);
- return property_corrupt;
- }
- prop = _bfd_elf_get_property (abfd, type, datasz);
- /* Combine properties of the same type. */
- prop->u.number |= bfd_h_get_32 (abfd, ptr);
- prop->pr_kind = property_number;
- break;
-
- default:
- return property_ignored;
- }
-
- return property_number;
-}
-
-/* Merge i386 GNU property BPROP with APROP. If APROP isn't NULL,
- return TRUE if APROP is updated. Otherwise, return TRUE if BPROP
- should be merged with ABFD. */
-
-static bfd_boolean
-elf_i386_merge_gnu_properties (struct bfd_link_info *info,
- bfd *abfd ATTRIBUTE_UNUSED,
- elf_property *aprop,
- elf_property *bprop)
-{
- unsigned int number, features;
- bfd_boolean updated = FALSE;
- unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
-
- switch (pr_type)
- {
- case GNU_PROPERTY_X86_ISA_1_USED:
- case GNU_PROPERTY_X86_ISA_1_NEEDED:
- if (aprop != NULL && bprop != NULL)
- {
- number = aprop->u.number;
- aprop->u.number = number | bprop->u.number;
- updated = number != (unsigned int) aprop->u.number;
- }
- else
- {
- /* Return TRUE if APROP is NULL to indicate that BPROP should
- be added to ABFD. */
- updated = aprop == NULL;
- }
- break;
-
- case GNU_PROPERTY_X86_FEATURE_1_AND:
- /* Only one of APROP and BPROP can be NULL:
- 1. APROP & BPROP when both APROP and BPROP aren't NULL.
- 2. If APROP is NULL, remove x86 feature.
- 3. Otherwise, do nothing.
- */
- if (aprop != NULL && bprop != NULL)
- {
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- number = aprop->u.number;
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- aprop->u.number = (number & bprop->u.number) | features;
- updated = number != (unsigned int) aprop->u.number;
- /* Remove the property if all feature bits are cleared. */
- if (aprop->u.number == 0)
- aprop->pr_kind = property_remove;
- }
- else
- {
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- if (features)
- {
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- if (aprop != NULL)
- {
- number = aprop->u.number;
- aprop->u.number = number | features;
- updated = number != (unsigned int) aprop->u.number;
- }
- else
- {
- bprop->u.number |= features;
- updated = TRUE;
- }
- }
- else if (aprop != NULL)
- {
- aprop->pr_kind = property_remove;
- updated = TRUE;
- }
- }
- break;
-
- default:
- /* Never should happen. */
- abort ();
- }
-
- return updated;
+ return _bfd_x86_elf_get_synthetic_symtab (abfd, count, relsize,
+ got_addr, plts, dynsyms,
+ ret);
}
/* Set up i386 GNU properties. Return the first relocatable ELF input
@@ -6809,349 +4613,38 @@ elf_i386_merge_gnu_properties (struct bfd_link_info *info,
static bfd *
elf_i386_link_setup_gnu_properties (struct bfd_link_info *info)
{
- bfd_boolean normal_target;
- bfd_boolean lazy_plt;
- asection *sec, *pltsec;
- bfd *dynobj;
- bfd_boolean use_ibt_plt;
- unsigned int plt_alignment, features;
- struct elf_i386_link_hash_table *htab;
- bfd *pbfd;
-
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- if (features)
- {
- /* Turn on GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- bfd *ebfd = NULL;
- elf_property *prop;
-
- for (pbfd = info->input_bfds;
- pbfd != NULL;
- pbfd = pbfd->link.next)
- if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
- && bfd_count_sections (pbfd) != 0)
- {
- ebfd = pbfd;
-
- if (elf_properties (pbfd) != NULL)
- {
- /* Find a normal input file with GNU property note. */
- prop = _bfd_elf_get_property (pbfd,
- GNU_PROPERTY_X86_FEATURE_1_AND,
- 4);
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- prop->u.number |= features;
- prop->pr_kind = property_number;
- break;
- }
- }
-
- if (pbfd == NULL && ebfd != NULL)
- {
- /* Create GNU_PROPERTY_X86_FEATURE_1_IBT if needed. */
- prop = _bfd_elf_get_property (ebfd,
- GNU_PROPERTY_X86_FEATURE_1_AND,
- 4);
- prop->u.number = features;
- prop->pr_kind = property_number;
-
- sec = bfd_make_section_with_flags (ebfd,
- NOTE_GNU_PROPERTY_SECTION_NAME,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_IN_MEMORY
- | SEC_READONLY
- | SEC_HAS_CONTENTS
- | SEC_DATA));
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GNU property section\n"));
-
- if (!bfd_set_section_alignment (ebfd, sec, 2))
- goto error_alignment;
-
- elf_section_type (sec) = SHT_NOTE;
- }
- }
-
- pbfd = _bfd_elf_link_setup_gnu_properties (info);
-
- if (bfd_link_relocatable (info))
- return pbfd;
-
- htab = elf_i386_hash_table (info);
- if (htab == NULL)
- return pbfd;
-
- use_ibt_plt = info->ibtplt || info->ibt;
- if (!use_ibt_plt && pbfd != NULL)
- {
- /* Check if GNU_PROPERTY_X86_FEATURE_1_IBT is on. */
- elf_property_list *p;
-
- /* The property list is sorted in order of type. */
- for (p = elf_properties (pbfd); p; p = p->next)
- {
- if (GNU_PROPERTY_X86_FEATURE_1_AND == p->property.pr_type)
- {
- use_ibt_plt = !!(p->property.u.number
- & GNU_PROPERTY_X86_FEATURE_1_IBT);
- break;
- }
- else if (GNU_PROPERTY_X86_FEATURE_1_AND < p->property.pr_type)
- break;
- }
- }
-
- dynobj = htab->elf.dynobj;
-
- /* Set htab->elf.dynobj here so that there is no need to check and
- set it in check_relocs. */
- if (dynobj == NULL)
- {
- bfd *abfd;
-
- /* Find a normal input file to hold linker created
- sections. */
- for (abfd = info->input_bfds;
- abfd != NULL;
- abfd = abfd->link.next)
- if ((abfd->flags
- & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0)
- {
- htab->elf.dynobj = abfd;
- dynobj = abfd;
- break;
- }
- }
-
- /* Even when lazy binding is disabled by "-z now", the PLT0 entry may
- still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
- canonical function address. */
- htab->plt.has_plt0 = 1;
- normal_target = FALSE;
+ struct elf_x86_init_table init_table;
+ init_table.normal_target = FALSE;
+ init_table.is_vxworks = FALSE;
switch (get_elf_i386_backend_data (info->output_bfd)->os)
{
case is_normal:
- if (use_ibt_plt)
- {
- htab->lazy_plt = &elf_i386_lazy_ibt_plt;
- htab->non_lazy_plt = &elf_i386_non_lazy_ibt_plt;
- }
- else
- {
- htab->lazy_plt = &elf_i386_lazy_plt;
- htab->non_lazy_plt = &elf_i386_non_lazy_plt;
- }
- normal_target = TRUE;
+ init_table.lazy_plt = &elf_i386_lazy_plt;
+ init_table.non_lazy_plt = &elf_i386_non_lazy_plt;
+ init_table.lazy_ibt_plt = &elf_i386_lazy_ibt_plt;
+ init_table.non_lazy_ibt_plt = &elf_i386_non_lazy_ibt_plt;
+ init_table.normal_target = TRUE;
break;
case is_vxworks:
- htab->lazy_plt = &elf_i386_lazy_plt;
- htab->non_lazy_plt = NULL;
- if (!elf_vxworks_create_dynamic_sections (dynobj, info,
- &htab->srelplt2))
- info->callbacks->einfo (_("%F: failed to create VxWorks dynamic sections\n"));
+ init_table.lazy_plt = &elf_i386_lazy_plt;
+ init_table.non_lazy_plt = NULL;
+ init_table.lazy_ibt_plt = NULL;
+ init_table.non_lazy_ibt_plt = NULL;
+ init_table.is_vxworks = TRUE;
break;
case is_nacl:
- htab->lazy_plt = &elf_i386_nacl_plt;
- htab->non_lazy_plt = NULL;
+ init_table.lazy_plt = &elf_i386_nacl_plt;
+ init_table.non_lazy_plt = NULL;
+ init_table.lazy_ibt_plt = NULL;
+ init_table.non_lazy_ibt_plt = NULL;
break;
}
- pltsec = htab->elf.splt;
-
- /* If the non-lazy PLT is available, use it for all PLT entries if
- there are no PLT0 or no .plt section. */
- if (htab->non_lazy_plt != NULL
- && (!htab->plt.has_plt0 || pltsec == NULL))
- {
- lazy_plt = FALSE;
- if (bfd_link_pic (info))
- htab->plt.plt_entry
- = htab->non_lazy_plt->pic_plt_entry;
- else
- htab->plt.plt_entry
- = htab->non_lazy_plt->plt_entry;
- htab->plt.plt_entry_size
- = htab->non_lazy_plt->plt_entry_size;
- htab->plt.plt_got_offset
- = htab->non_lazy_plt->plt_got_offset;
- htab->plt.eh_frame_plt_size
- = htab->non_lazy_plt->eh_frame_plt_size;
- htab->plt.eh_frame_plt
- = htab->non_lazy_plt->eh_frame_plt;
- }
- else
- {
- lazy_plt = TRUE;
- if (bfd_link_pic (info))
- {
- htab->plt.plt0_entry
- = htab->lazy_plt->pic_plt0_entry;
- htab->plt.plt_entry
- = htab->lazy_plt->pic_plt_entry;
- }
- else
- {
- htab->plt.plt0_entry
- = htab->lazy_plt->plt0_entry;
- htab->plt.plt_entry
- = htab->lazy_plt->plt_entry;
- }
- htab->plt.plt_entry_size
- = htab->lazy_plt->plt_entry_size;
- htab->plt.plt_got_offset
- = htab->lazy_plt->plt_got_offset;
- htab->plt.eh_frame_plt_size
- = htab->lazy_plt->eh_frame_plt_size;
- htab->plt.eh_frame_plt
- = htab->lazy_plt->eh_frame_plt;
- }
-
- /* Return if there are no normal input files. */
- if (dynobj == NULL)
- return pbfd;
-
- /* Since create_dynamic_sections isn't always called, but GOT
- relocations need GOT relocations, create them here so that we
- don't need to do it in check_relocs. */
- if (htab->elf.sgot == NULL
- && !_bfd_elf_create_got_section (dynobj, info))
- info->callbacks->einfo (_("%F: failed to create GOT sections\n"));
-
- /* Create the ifunc sections here so that check_relocs can be
- simplified. */
- if (!_bfd_elf_create_ifunc_sections (dynobj, info))
- info->callbacks->einfo (_("%F: failed to create ifunc sections\n"));
-
- plt_alignment = bfd_log2 (htab->plt.plt_entry_size);
-
- if (pltsec != NULL)
- {
- /* Whe creating executable, set the contents of the .interp
- section to the interpreter. */
- if (bfd_link_executable (info) && !info->nointerp)
- {
- asection *s = bfd_get_linker_section (dynobj, ".interp");
- if (s == NULL)
- abort ();
- s->size = sizeof ELF_DYNAMIC_INTERPRETER;
- s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
- htab->interp = s;
- }
-
- /* Don't change PLT section alignment for NaCl since it uses
- 64-byte PLT entry and sets PLT section alignment to 32
- bytes. */
- if (normal_target)
- {
- const struct elf_backend_data *bed
- = get_elf_backend_data (dynobj);
- flagword pltflags = (bed->dynamic_sec_flags
- | SEC_ALLOC
- | SEC_CODE
- | SEC_LOAD
- | SEC_READONLY);
- unsigned int non_lazy_plt_alignment
- = bfd_log2 (htab->non_lazy_plt->plt_entry_size);
-
- sec = pltsec;
- if (!bfd_set_section_alignment (sec->owner, sec,
- plt_alignment))
- goto error_alignment;
-
- /* Create the GOT procedure linkage table. */
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".plt.got",
- pltflags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GOT PLT section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- non_lazy_plt_alignment))
- goto error_alignment;
-
- htab->plt_got = sec;
-
- if (lazy_plt)
- {
- sec = NULL;
-
- if (use_ibt_plt)
- {
- /* Create the second PLT for Intel IBT support. IBT
- PLT is supported only for non-NaCl target and is
- is needed only for lazy binding. */
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".plt.sec",
- pltflags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create IBT-enabled PLT section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- plt_alignment))
- goto error_alignment;
- }
-
- htab->plt_second = sec;
- }
- }
-
- if (!info->no_ld_generated_unwind_info)
- {
- flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
- | SEC_HAS_CONTENTS | SEC_IN_MEMORY
- | SEC_LINKER_CREATED);
-
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".eh_frame",
- flags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create PLT .eh_frame section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec, 2))
- goto error_alignment;
-
- htab->plt_eh_frame = sec;
-
- if (htab->plt_got != NULL)
- {
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".eh_frame",
- flags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GOT PLT .eh_frame section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec, 2))
- goto error_alignment;
-
- htab->plt_got_eh_frame = sec;
- }
- }
- }
-
- if (normal_target)
- {
- /* The .iplt section is used for IFUNC symbols in static
- executables. */
- sec = htab->elf.iplt;
- if (sec != NULL
- && !bfd_set_section_alignment (sec->owner, sec,
- plt_alignment))
- {
-error_alignment:
- info->callbacks->einfo (_("%F%A: failed to align section\n"),
- sec);
- }
- }
+ init_table.r_info = elf32_r_info;
+ init_table.r_sym = elf32_r_sym;
- return pbfd;
+ return _bfd_x86_elf_link_setup_gnu_properties (info, &init_table);
}
#define TARGET_LITTLE_SYM i386_elf32_vec
@@ -7177,36 +4670,22 @@ error_alignment:
#define elf_info_to_howto elf_i386_info_to_howto_rel
#define elf_info_to_howto_rel elf_i386_info_to_howto_rel
-#define bfd_elf32_mkobject elf_i386_mkobject
-
#define bfd_elf32_bfd_is_local_label_name elf_i386_is_local_label_name
-#define bfd_elf32_bfd_link_hash_table_create elf_i386_link_hash_table_create
#define bfd_elf32_bfd_reloc_type_lookup elf_i386_reloc_type_lookup
#define bfd_elf32_bfd_reloc_name_lookup elf_i386_reloc_name_lookup
#define bfd_elf32_get_synthetic_symtab elf_i386_get_synthetic_symtab
-#define elf_backend_adjust_dynamic_symbol elf_i386_adjust_dynamic_symbol
#define elf_backend_relocs_compatible _bfd_elf_relocs_compatible
#define elf_backend_check_relocs elf_i386_check_relocs
-#define elf_backend_copy_indirect_symbol elf_i386_copy_indirect_symbol
#define elf_backend_create_dynamic_sections _bfd_elf_create_dynamic_sections
#define elf_backend_fake_sections elf_i386_fake_sections
#define elf_backend_finish_dynamic_sections elf_i386_finish_dynamic_sections
#define elf_backend_finish_dynamic_symbol elf_i386_finish_dynamic_symbol
#define elf_backend_output_arch_local_syms elf_i386_output_arch_local_syms
-#define elf_backend_gc_mark_hook elf_i386_gc_mark_hook
#define elf_backend_grok_prstatus elf_i386_grok_prstatus
#define elf_backend_grok_psinfo elf_i386_grok_psinfo
#define elf_backend_reloc_type_class elf_i386_reloc_type_class
#define elf_backend_relocate_section elf_i386_relocate_section
-#define elf_backend_size_dynamic_sections elf_i386_size_dynamic_sections
-#define elf_backend_always_size_sections elf_i386_always_size_sections
-#define elf_backend_omit_section_dynsym \
- ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
-#define elf_backend_hash_symbol elf_i386_hash_symbol
-#define elf_backend_fixup_symbol elf_i386_fixup_symbol
-#define elf_backend_parse_gnu_properties elf_i386_parse_gnu_properties
-#define elf_backend_merge_gnu_properties elf_i386_merge_gnu_properties
#define elf_backend_setup_gnu_properties elf_i386_link_setup_gnu_properties
#include "elf32-target.h"
@@ -7540,17 +5019,20 @@ static const bfd_byte elf_i386_nacl_eh_frame_plt[] =
DW_CFA_nop, DW_CFA_nop
};
-static const struct elf_i386_lazy_plt_layout elf_i386_nacl_plt =
+static const struct elf_x86_lazy_plt_layout elf_i386_nacl_plt =
{
elf_i386_nacl_plt0_entry, /* plt0_entry */
sizeof (elf_i386_nacl_plt0_entry), /* plt0_entry_size */
- 2, /* plt0_got1_offset */
- 8, /* plt0_got2_offset */
elf_i386_nacl_plt_entry, /* plt_entry */
NACL_PLT_ENTRY_SIZE, /* plt_entry_size */
+ 2, /* plt0_got1_offset */
+ 8, /* plt0_got2_offset */
+ 0, /* plt0_got2_insn_end */
2, /* plt_got_offset */
33, /* plt_reloc_offset */
38, /* plt_plt_offset */
+ 0, /* plt_got_insn_size */
+ 0, /* plt_plt_insn_end */
32, /* plt_lazy_offset */
elf_i386_nacl_pic_plt0_entry, /* pic_plt0_entry */
elf_i386_nacl_pic_plt_entry, /* pic_plt_entry */
diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c
index 9c37c1c..bf4f5cc 100644
--- a/bfd/elf32-ip2k.c
+++ b/bfd/elf32-ip2k.c
@@ -1295,7 +1295,7 @@ ip2k_final_link_relocate (reloc_howto_type * howto,
ip2k_nominal_page_bits (input_bfd, input_section,
rel->r_offset, contents))
/* xgettext:c-format */
- _bfd_error_handler (_("ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."),
+ _bfd_error_handler (_("ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"),
BASEADDR (input_section) + rel->r_offset,
relocation + rel->r_addend);
}
@@ -1312,7 +1312,7 @@ ip2k_final_link_relocate (reloc_howto_type * howto,
ip2k_nominal_page_bits (input_bfd, input_section,
rel->r_offset - 2, contents)))
/* xgettext:c-format */
- _bfd_error_handler (_("ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."),
+ _bfd_error_handler (_("ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"),
page_addr,
relocation + rel->r_addend);
}
diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c
index c17097d..0260cc3 100644
--- a/bfd/elf32-iq2000.c
+++ b/bfd/elf32-iq2000.c
@@ -843,8 +843,8 @@ iq2000_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
- ibfd, (long)new_flags, (long)old_flags);
+ (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+ ibfd, new_flags, old_flags);
}
}
diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c
index aabf49f..656f48b 100644
--- a/bfd/elf32-lm32.c
+++ b/bfd/elf32-lm32.c
@@ -1497,7 +1497,7 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
!= (lm32fdpic_fixup32_section (info)->reloc_count * 4))
{
_bfd_error_handler
- ("LINKER BUG: .rofixup section size mismatch: size/4 %d != relocs %d",
+ ("LINKER BUG: .rofixup section size mismatch: size/4 %Ld != relocs %d",
lm32fdpic_fixup32_section (info)->size/4,
lm32fdpic_fixup32_section (info)->reloc_count);
return FALSE;
@@ -1519,7 +1519,7 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
if (hend->u.def.value != value)
{
_bfd_error_handler
- ("LINKER BUG: .rofixup section hend->u.def.value != value: %ld != %ld", hend->u.def.value, value);
+ ("LINKER BUG: .rofixup section hend->u.def.value != value: %Ld != %Ld", hend->u.def.value, value);
return FALSE;
}
}
diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
index 9658d17..2cb28b2 100644
--- a/bfd/elf32-m32c.c
+++ b/bfd/elf32-m32c.c
@@ -826,7 +826,7 @@ m32c_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
#ifdef DEBUG
_bfd_error_handler
- ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
+ ("old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s, filename = %s",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
bfd_get_filename (ibfd));
#endif
@@ -887,9 +887,9 @@ m32c_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
error = TRUE;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields"
- " than previous modules (0x%lx)"),
- ibfd, (long) new_flags, (long) old_flags);
+ (_("%B: uses different e_flags (%#x) fields"
+ " than previous modules (%#x)"),
+ ibfd, new_flags, old_flags);
}
}
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 9040823..d4e4423 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -2537,10 +2537,11 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation "
+ "against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
}
diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
index 96fc96f..cc6eb2d 100644
--- a/bfd/elf32-m68hc1x.c
+++ b/bfd/elf32-m68hc1x.c
@@ -1385,8 +1385,8 @@ _bfd_m68hc11_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
- ibfd, (unsigned long) new_flags, (unsigned long) old_flags);
+ (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+ ibfd, new_flags, old_flags);
ok = FALSE;
}
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 6f58720..ab122fe 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -703,7 +703,7 @@ struct elf_m68k_got_entry
struct
{
/* Offset from the start of .got section. To calculate offset relative
- to GOT pointer one should substract got->offset from this value. */
+ to GOT pointer one should subtract got->offset from this value. */
bfd_vma offset;
/* Pointer to the next GOT entry for this global symbol.
@@ -3887,9 +3887,8 @@ elf_m68k_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted "
- "in shared object"),
- input_bfd, input_section, (long) rel->r_offset, howto->name);
+ (_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
+ input_bfd, input_section, rel->r_offset, howto->name);
return FALSE;
}
@@ -4081,10 +4080,10 @@ elf_m68k_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
return FALSE;
@@ -4117,12 +4116,12 @@ elf_m68k_relocate_section (bfd *output_bfd,
_bfd_error_handler
((sym_type == STT_TLS
/* xgettext:c-format */
- ? _("%B(%A+0x%lx): %s used with TLS symbol %s")
+ ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
/* xgettext:c-format */
- : _("%B(%A+0x%lx): %s used with non-TLS symbol %s")),
+ : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
name);
}
@@ -4157,9 +4156,9 @@ elf_m68k_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ rel->r_offset, name, (int) r);
return FALSE;
}
}
diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c
index 0037129..5ecf1c6 100644
--- a/bfd/elf32-mcore.c
+++ b/bfd/elf32-mcore.c
@@ -408,10 +408,10 @@ mcore_elf_relocate_section (bfd * output_bfd,
#ifdef DEBUG
_bfd_error_handler
- ("mcore_elf_relocate_section called for %B section %A, %ld relocations%s",
+ ("mcore_elf_relocate_section called for %B section %A, %u relocations%s",
input_bfd,
input_section,
- (long) input_section->reloc_count,
+ input_section->reloc_count,
(bfd_link_relocatable (info)) ? " (relocatable)" : "");
#endif
diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c
index 32305c5..7d0e454 100644
--- a/bfd/elf32-mep.c
+++ b/bfd/elf32-mep.c
@@ -585,7 +585,7 @@ mep_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
old_flags = elf_elfheader (obfd)->e_flags;
#ifdef DEBUG
- _bfd_error_handler ("%B: old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s",
+ _bfd_error_handler ("%B: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
ibfd, old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no");
#endif
diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c
index 94eda953..a62cfa0 100644
--- a/bfd/elf32-metag.c
+++ b/bfd/elf32-metag.c
@@ -1873,7 +1873,7 @@ elf_metag_relocate_section (bfd *output_bfd,
/* PR 20675 */
if (bfd_link_pic (info))
_bfd_error_handler (_("%B(%A): multiple TLS models are not supported"),
- input_bfd, input_section, name);
+ input_bfd, input_section);
else
_bfd_error_handler (_("%B(%A): shared library symbol %s encountered whilst performing a static link"),
input_bfd, input_section, name);
@@ -1928,9 +1928,8 @@ elf_metag_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"),
- input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ (_("%B(%A+%#Lx): %s relocation not permitted in shared object"),
+ input_bfd, input_section, rel->r_offset, howto->name);
return FALSE;
}
else
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
index 2657736..94ef09e 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
@@ -2353,7 +2353,6 @@ microblaze_elf_check_relocs (bfd * abfd,
dogottls:
sec->has_tls_reloc = 1;
/* Fall through. */
- case R_MICROBLAZE_GOTOFF_64:
case R_MICROBLAZE_GOT_64:
if (htab->elf.sgot == NULL)
{
@@ -2374,6 +2373,17 @@ microblaze_elf_check_relocs (bfd * abfd,
}
break;
+ case R_MICROBLAZE_GOTOFF_64:
+ case R_MICROBLAZE_GOTOFF_32:
+ if (htab->elf.sgot == NULL)
+ {
+ if (htab->elf.dynobj == NULL)
+ htab->elf.dynobj = abfd;
+ if (!_bfd_elf_create_got_section (htab->elf.dynobj, info))
+ return FALSE;
+ }
+ break;
+
case R_MICROBLAZE_64:
case R_MICROBLAZE_64_PCREL:
case R_MICROBLAZE_32:
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index 9fae015..e1e6ed0 100644
--- a/bfd/elf32-msp430.c
+++ b/bfd/elf32-msp430.c
@@ -2227,8 +2227,10 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
/* Try to turn a 16-bit absolute branch into a 10-bit pc-relative
branch. */
- if (uses_msp430x_relocs (abfd)
- && ELF32_R_TYPE (irel->r_info) == R_MSP430X_ABS16)
+ if ((uses_msp430x_relocs (abfd)
+ && ELF32_R_TYPE (irel->r_info) == R_MSP430X_ABS16)
+ || (! uses_msp430x_relocs (abfd)
+ && ELF32_R_TYPE (irel->r_info) == R_MSP430_16))
{
bfd_vma value = symval;
diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c
index db89f8c..b4625d4 100644
--- a/bfd/elf32-mt.c
+++ b/bfd/elf32-mt.c
@@ -524,7 +524,7 @@ mt_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
old_flags = elf_elfheader (obfd)->e_flags;
#ifdef DEBUG
- _bfd_error_handler ("%B: old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s",
+ _bfd_error_handler ("%B: old_flags = 0x%.8x, new_flags = 0x%.8x, init = %s",
ibfd, old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no");
#endif
diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c
index 94fb037..0b0de62 100644
--- a/bfd/elf32-nds32.c
+++ b/bfd/elf32-nds32.c
@@ -7343,7 +7343,7 @@ nds32_convert_32_to_16 (bfd *abfd, uint32_t insn, uint16_t *pinsn16,
if (!IS_WITHIN_S (N32_IMM14S (insn), 8))
goto done;
- if ((insn & __BIT (14)) == 0)
+ if ((insn & N32_BIT (14)) == 0)
{
/* N32_BR1_BEQ */
if (N32_IS_RT3 (insn) && N32_RA5 (insn) == REG_R5
@@ -7411,7 +7411,7 @@ nds32_convert_32_to_16 (bfd *abfd, uint32_t insn, uint16_t *pinsn16,
break;
case N32_OP6_JI:
- if ((insn & __BIT (24)) == 0)
+ if ((insn & N32_BIT (24)) == 0)
{
/* N32_JI_J */
if (IS_WITHIN_S (N32_IMM24S (insn), 8))
@@ -7647,7 +7647,7 @@ nds32_convert_16_to_32 (bfd *abfd, uint16_t insn16, uint32_t *pinsn)
insn = N32_TYPE2 (SLTI, REG_TA, N16_RT4 (insn16), N16_IMM5U (insn16));
goto done;
case 0x34: /* beqzs8, bnezs8 */
- if (insn16 & __BIT (8))
+ if (insn16 & N32_BIT (8))
insn = N32_BR2 (BNEZ, REG_TA, N16_IMM8S (insn16));
else
insn = N32_BR2 (BEQZ, REG_TA, N16_IMM8S (insn16));
@@ -7747,7 +7747,7 @@ nds32_convert_16_to_32 (bfd *abfd, uint16_t insn16, uint32_t *pinsn)
switch (__GF (insn16, 11, 4))
{
case 0x7: /* lwi37.fp/swi37.fp */
- if (insn16 & __BIT (7)) /* swi37.fp */
+ if (insn16 & N32_BIT (7)) /* swi37.fp */
insn = N32_TYPE2 (SWI, N16_RT38 (insn16), REG_FP, N16_IMM7U (insn16));
else /* lwi37.fp */
insn = N32_TYPE2 (LWI, N16_RT38 (insn16), REG_FP, N16_IMM7U (insn16));
@@ -7850,7 +7850,7 @@ turn_insn_to_sda_access (uint32_t insn, bfd_signed_vma type, uint32_t *pinsn)
break;
case N32_OP6_LBSI:
/* lbsi.gp */
- oinsn = N32_TYPE1 (LBGP, N32_RT5 (insn), __BIT (19));
+ oinsn = N32_TYPE1 (LBGP, N32_RT5 (insn), N32_BIT (19));
break;
case N32_OP6_SBI:
/* sbi.gp */
@@ -7858,7 +7858,7 @@ turn_insn_to_sda_access (uint32_t insn, bfd_signed_vma type, uint32_t *pinsn)
break;
case N32_OP6_ORI:
/* addi.gp */
- oinsn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
+ oinsn = N32_TYPE1 (SBGP, N32_RT5 (insn), N32_BIT (19));
break;
}
break;
@@ -7872,11 +7872,11 @@ turn_insn_to_sda_access (uint32_t insn, bfd_signed_vma type, uint32_t *pinsn)
break;
case N32_OP6_LHSI:
/* lhsi.gp */
- oinsn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (18));
+ oinsn = N32_TYPE1 (HWGP, N32_RT5 (insn), N32_BIT (18));
break;
case N32_OP6_SHI:
/* shi.gp */
- oinsn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (19));
+ oinsn = N32_TYPE1 (HWGP, N32_RT5 (insn), N32_BIT (19));
break;
}
break;
@@ -8986,7 +8986,7 @@ relax_range_measurement (bfd *abfd)
static const char * unrecognized_reloc_msg =
/* xgettext:c-format */
- N_("%B: warning: %s points to unrecognized reloc at 0x%lx.");
+ N_("%B: warning: %s points to unrecognized reloc at %#Lx");
/* Relax LONGCALL1 relocation for nds32_elf_relax_section. */
@@ -9039,7 +9039,7 @@ nds32_elf_relax_longcall1 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irelfn == irelend || lo_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL1",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9120,7 +9120,7 @@ nds32_elf_relax_longcall2 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (i1_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL2",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9226,7 +9226,7 @@ nds32_elf_relax_longcall3 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irelfn == irelend || lo_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL3",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9360,7 +9360,7 @@ nds32_elf_relax_longjump1 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irelfn == irelend || lo_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP1",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9566,7 +9566,7 @@ nds32_elf_relax_longjump2 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (i2_irelfn == irelend || cond_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP2",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9758,7 +9758,7 @@ nds32_elf_relax_longjump3 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irelfn == irelend || lo_irelfn == irelend || cond_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP3",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9938,7 +9938,7 @@ nds32_elf_relax_longcall4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL4",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -9968,7 +9968,7 @@ nds32_elf_relax_longcall4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (ptr_irel == irelend || em_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL4",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
/* Check these is enough space to insert jal in R_NDS32_EMPTY. */
@@ -10039,7 +10039,7 @@ nds32_elf_relax_longcall5 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (cond_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL5",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10117,7 +10117,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (em_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGCALL6",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10155,7 +10155,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (cond_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd,
- "R_NDS32_LONGCALL6", (long) irel->r_offset);
+ "R_NDS32_LONGCALL6", irel->r_offset);
return FALSE;
}
cond_irel->r_addend = 1;
@@ -10204,7 +10204,7 @@ nds32_elf_relax_longcall6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (cond_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd,
- "R_NDS32_LONGCALL6", (long) irel->r_offset);
+ "R_NDS32_LONGCALL6", irel->r_offset);
return FALSE;
}
cond_irel->r_addend = 1;
@@ -10254,7 +10254,7 @@ nds32_elf_relax_longjump4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (hi_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP4",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10276,7 +10276,7 @@ nds32_elf_relax_longjump4 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (ptr_irel == irelend || em_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP4",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10350,7 +10350,7 @@ nds32_elf_relax_longjump5 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (cond_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP5",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10479,7 +10479,7 @@ nds32_elf_relax_longjump6 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (em_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP6",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10649,7 +10649,7 @@ nds32_elf_relax_longjump7 (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (cond_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LONGJUMP7",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -10754,7 +10754,7 @@ nds32_elf_relax_loadstore (struct bfd_link_info *link_info, bfd *abfd,
if (hi_irelfn == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_LOADSTORE",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -11228,7 +11228,7 @@ nds32_elf_relax_ptr (bfd *abfd, asection *sec, Elf_Internal_Rela *irel,
if (re_irel == irelend)
{
_bfd_error_handler (unrecognized_reloc_msg, abfd, "R_NDS32_PTR",
- (long) irel->r_offset);
+ irel->r_offset);
return FALSE;
}
@@ -11319,7 +11319,7 @@ nds32_elf_relax_pltgot_suff (struct bfd_link_info *link_info, bfd *abfd,
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_NDS32_PLT_GOTREL_LO19);
/* addi.gp */
- insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
+ insn = N32_TYPE1 (SBGP, N32_RT5 (insn), N32_BIT (19));
}
else if (N32_OP6 (insn) == N32_OP6_JREG
&& N32_SUB5 (insn) == N32_JREG_JRAL)
@@ -11452,12 +11452,12 @@ nds32_elf_relax_gotoff_suff (struct bfd_link_info *link_info, bfd *abfd,
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
break;
case (N32_OP6_MEM << 8) | N32_MEM_LHS:
- insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (18));
+ insn = N32_TYPE1 (HWGP, N32_RT5 (insn), N32_BIT (18));
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
break;
case (N32_OP6_MEM << 8) | N32_MEM_SH:
- insn = N32_TYPE1 (HWGP, N32_RT5 (insn), __BIT (19));
+ insn = N32_TYPE1 (HWGP, N32_RT5 (insn), N32_BIT (19));
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA18S1_RELA);
break;
@@ -11468,7 +11468,7 @@ nds32_elf_relax_gotoff_suff (struct bfd_link_info *link_info, bfd *abfd,
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
break;
case (N32_OP6_MEM << 8) | N32_MEM_LBS:
- insn = N32_TYPE1 (LBGP, N32_RT5 (insn), __BIT (19));
+ insn = N32_TYPE1 (LBGP, N32_RT5 (insn), N32_BIT (19));
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
break;
@@ -11478,7 +11478,7 @@ nds32_elf_relax_gotoff_suff (struct bfd_link_info *link_info, bfd *abfd,
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
break;
case (N32_OP6_ALU1 << 8) | N32_ALU1_ADD:
- insn = N32_TYPE1 (SBGP, N32_RT5 (insn), __BIT (19));
+ insn = N32_TYPE1 (SBGP, N32_RT5 (insn), N32_BIT (19));
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_NDS32_SDA19S0_RELA);
break;
@@ -11509,12 +11509,12 @@ nds32_relax_adjust_label (bfd *abfd, asection *sec,
of instruction a time.
It recognizes three types of relocations.
- 1. R_NDS32_LABEL - a aligment.
+ 1. R_NDS32_LABEL - a alignment.
2. R_NDS32_INSN16 - relax a 32-bit instruction to 16-bit.
3. is_16bit_NOP () - remove a 16-bit instruction. */
- /* TODO: It seems currently implementation only support 4-byte aligment.
- We should handle any-aligment. */
+ /* TODO: It seems currently implementation only support 4-byte alignment.
+ We should handle any-alignment. */
Elf_Internal_Rela *insn_rel = NULL, *label_rel = NULL, *irel;
Elf_Internal_Rela *tmp_rel, *tmp2_rel = NULL;
@@ -15433,8 +15433,8 @@ nds32_elf_ex9_build_hash_table (bfd *abfd, asection *sec,
/* Incorrect alignment. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: warning: unaligned small data access. "
- "For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."),
+ (_("%B: warning: unaligned small data access "
+ "for entry: {%Ld, %Ld, %Ld}, addr = %#Lx, align = %#x"),
abfd, irel->r_offset,
irel->r_info, irel->r_addend, relocation, align);
off += 4;
@@ -15466,7 +15466,7 @@ nds32_elf_ex9_build_hash_table (bfd *abfd, asection *sec,
if (entry == NULL)
{
_bfd_error_handler
- (_("%P%F: failed creating ex9.it %s hash table: %E\n"), code);
+ (_("failed creating ex9.it %s hash table entry"), code);
return FALSE;
}
if (h)
diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c
index 50a09ea..860a3d7 100644
--- a/bfd/elf32-nios2.c
+++ b/bfd/elf32-nios2.c
@@ -4369,10 +4369,10 @@ nios2_elf32_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not "
+ (_("%B(%A+%#Lx): %s relocation not "
"permitted in shared object"),
input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ rel->r_offset, howto->name);
return FALSE;
}
else
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 0e99272..da4adea 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -134,7 +134,7 @@ static const bfd_vma ppc_elf_vxworks_pic_plt0_entry
#define VXWORKS_PLT_NON_JMP_SLOT_RELOCS 3
/* The number of relocations in the PLTResolve slot. */
#define VXWORKS_PLTRESOLVE_RELOCS 2
-/* The number of relocations in the PLTResolve slot when when creating
+/* The number of relocations in the PLTResolve slot when creating
a shared library. */
#define VXWORKS_PLTRESOLVE_RELOCS_SHLIB 0
@@ -1656,6 +1656,21 @@ static reloc_howto_type ppc_elf_howto_raw[] = {
0x3e007ff, /* dst_mask */
FALSE), /* pcrel_offset */
+ /* e_li split20 format. */
+ HOWTO (R_PPC_VLE_ADDR20, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 20, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_PPC_VLE_ADDR20", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0x1f07ff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
HOWTO (R_PPC_IRELATIVE, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
@@ -3192,9 +3207,9 @@ struct plt_entry
bfd_vma glink_offset;
};
-/* Of those relocs that might be copied as dynamic relocs, this function
- selects those that must be copied when linking a shared library,
- even when the symbol is local. */
+/* Of those relocs that might be copied as dynamic relocs, this
+ function selects those that must be copied when linking a shared
+ library or PIE, even when the symbol is local. */
static int
must_be_dyn_reloc (struct bfd_link_info *info,
@@ -3203,6 +3218,10 @@ must_be_dyn_reloc (struct bfd_link_info *info,
switch (r_type)
{
default:
+ /* Only relative relocs can be resolved when the object load
+ address isn't fixed. DTPREL32 is excluded because the
+ dynamic linker needs to differentiate global dynamic from
+ local dynamic __tls_index pairs when PPC_OPT_TLS is set. */
return 1;
case R_PPC_REL24:
@@ -3217,7 +3236,9 @@ must_be_dyn_reloc (struct bfd_link_info *info,
case R_PPC_TPREL16_LO:
case R_PPC_TPREL16_HI:
case R_PPC_TPREL16_HA:
- return !bfd_link_executable (info);
+ /* These relocations are relative but in a shared library the
+ linker doesn't know the thread pointer base. */
+ return bfd_link_dll (info);
}
}
@@ -3339,6 +3360,9 @@ struct ppc_elf_link_hash_table
unsigned int local_ifunc_resolver:1;
unsigned int maybe_local_ifunc_resolver:1;
+ /* Set if tls optimization is enabled. */
+ unsigned int do_tls_opt:1;
+
/* The size of PLT entries. */
int plt_entry_size;
/* The distance between adjacent PLT slots. */
@@ -4151,7 +4175,7 @@ ppc_elf_check_relocs (bfd *abfd,
case R_PPC_GOT_TPREL16_LO:
case R_PPC_GOT_TPREL16_HI:
case R_PPC_GOT_TPREL16_HA:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
tls_type = TLS_TLS | TLS_TPREL;
goto dogottls;
@@ -4259,6 +4283,7 @@ ppc_elf_check_relocs (bfd *abfd,
case R_PPC_VLE_HI16D:
case R_PPC_VLE_HA16A:
case R_PPC_VLE_HA16D:
+ case R_PPC_VLE_ADDR20:
break;
case R_PPC_EMB_SDA2REL:
@@ -4430,13 +4455,13 @@ ppc_elf_check_relocs (bfd *abfd,
return FALSE;
break;
- /* We shouldn't really be seeing these. */
+ /* We shouldn't really be seeing TPREL32. */
case R_PPC_TPREL32:
case R_PPC_TPREL16:
case R_PPC_TPREL16_LO:
case R_PPC_TPREL16_HI:
case R_PPC_TPREL16_HA:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
goto dodyn;
@@ -4977,6 +5002,23 @@ ppc_elf_vle_split16 (bfd *input_bfd,
insn |= value & 0x7ff;
bfd_put_32 (input_bfd, insn, loc);
}
+
+static void
+ppc_elf_vle_split20 (bfd *output_bfd, bfd_byte *loc, bfd_vma value)
+{
+ unsigned int insn;
+
+ insn = bfd_get_32 (output_bfd, loc);
+ /* We have an li20 field, bits 17..20, 11..15, 21..31. */
+ /* Top 4 bits of value to 17..20. */
+ insn |= (value & 0xf0000) >> 5;
+ /* Next 5 bits of the value to 11..15. */
+ insn |= (value & 0xf800) << 5;
+ /* And the final 11 bits of the value to bits 21 to 31. */
+ insn |= value & 0x7ff;
+ bfd_put_32 (output_bfd, insn, loc);
+}
+
/* Choose which PLT scheme to use, and set .plt flags appropriately.
Returns -1 on error, 0 for old PLT, 1 for new PLT. */
@@ -5625,6 +5667,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
symtab_hdr->contents = (unsigned char *) locsyms;
}
}
+ htab->do_tls_opt = 1;
return TRUE;
}
@@ -5942,17 +5985,18 @@ allocate_got (struct ppc_elf_link_hash_table *htab, unsigned int need)
return where;
}
-/* If H is undefined weak, make it dynamic if that makes sense. */
+/* If H is undefined, make it dynamic if that makes sense. */
static bfd_boolean
-ensure_undefweak_dynamic (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
+ensure_undef_dynamic (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
{
struct elf_link_hash_table *htab = elf_hash_table (info);
if (htab->dynamic_sections_created
- && info->dynamic_undefined_weak != 0
- && h->root.type == bfd_link_hash_undefweak
+ && ((info->dynamic_undefined_weak != 0
+ && h->root.type == bfd_link_hash_undefweak)
+ || h->root.type == bfd_link_hash_undefined)
&& h->dynindx == -1
&& !h->forced_local
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
@@ -5986,9 +6030,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
{
unsigned int need;
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (!ensure_undefweak_dynamic (info, &eh->elf))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, &eh->elf))
return FALSE;
need = 0;
@@ -6102,9 +6145,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (eh->dyn_relocs != NULL)
{
- /* Make sure undefined weak symbols are output as a dynamic
- symbol in PIEs. */
- if (!ensure_undefweak_dynamic (info, h))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, h))
return FALSE;
}
}
@@ -6120,9 +6162,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
&& eh->has_addr16_lo
&& htab->params->pic_fixup > 0))
{
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (!ensure_undefweak_dynamic (info, h))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, h))
return FALSE;
if (h->dynindx == -1)
@@ -8284,9 +8325,9 @@ ppc_elf_relocate_section (bfd *output_bfd,
r_type = R_PPC_GOT16_LO;
}
else
- info->callbacks->einfo
+ _bfd_error_handler
/* xgettext:c-format */
- (_("%H: error: %s with unexpected instruction %x\n"),
+ (_("%B(%A+%#Lx): error: %s with unexpected instruction %#x"),
input_bfd, input_section, rel->r_offset,
"R_PPC_ADDR16_HA", insn);
}
@@ -8319,9 +8360,9 @@ ppc_elf_relocate_section (bfd *output_bfd,
rel->r_info = ELF32_R_INFO (0, r_type);
}
else
- info->callbacks->einfo
+ _bfd_error_handler
/* xgettext:c-format */
- (_("%H: error: %s with unexpected instruction %x\n"),
+ (_("%B(%A+%#Lx): error: %s with unexpected instruction %#x"),
input_bfd, input_section, rel->r_offset,
"R_PPC_ADDR16_LO", insn);
}
@@ -8422,10 +8463,44 @@ ppc_elf_relocate_section (bfd *output_bfd,
}
addend = rel->r_addend;
- tls_type = 0;
howto = NULL;
if (r_type < R_PPC_max)
howto = ppc_elf_howto_table[r_type];
+
+ switch (r_type)
+ {
+ default:
+ break;
+
+ case R_PPC_TPREL16_HA:
+ if (htab->do_tls_opt && relocation + addend + 0x8000 < 0x10000)
+ {
+ bfd_byte *p = contents + (rel->r_offset & ~3);
+ unsigned int insn = bfd_get_32 (input_bfd, p);
+ if ((insn & ((0x3f << 26) | 0x1f << 16))
+ != ((15u << 26) | (2 << 16)) /* addis rt,2,imm */)
+ /* xgettext:c-format */
+ info->callbacks->minfo
+ (_("%H: warning: %s unexpected insn %#x.\n"),
+ input_bfd, input_section, rel->r_offset, howto->name, insn);
+ else
+ bfd_put_32 (input_bfd, NOP, p);
+ }
+ break;
+
+ case R_PPC_TPREL16_LO:
+ if (htab->do_tls_opt && relocation + addend + 0x8000 < 0x10000)
+ {
+ bfd_byte *p = contents + (rel->r_offset & ~3);
+ unsigned int insn = bfd_get_32 (input_bfd, p);
+ insn &= ~(0x1f << 16);
+ insn |= 2 << 16;
+ bfd_put_32 (input_bfd, insn, p);
+ }
+ break;
+ }
+
+ tls_type = 0;
switch (r_type)
{
default:
@@ -8639,10 +8714,6 @@ ppc_elf_relocate_section (bfd *output_bfd,
else
{
bfd_vma value = relocation;
- int tlsopt = (htab->plt_type == PLT_NEW
- && !htab->params->no_tls_get_addr_opt
- && htab->tls_get_addr != NULL
- && htab->tls_get_addr->plt.plist != NULL);
if (tls_ty != 0)
{
@@ -8654,8 +8725,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
value = 0;
else
value -= htab->elf.tls_sec->vma + DTP_OFFSET;
- if ((tls_ty & TLS_TPREL)
- || (tlsopt && !(tls_ty & TLS_DTPREL)))
+ if (tls_ty & TLS_TPREL)
value += DTP_OFFSET - TP_OFFSET;
}
@@ -8663,7 +8733,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
{
bfd_put_32 (input_bfd, value,
htab->elf.sgot->contents + off + 4);
- value = !tlsopt;
+ value = 1;
}
}
bfd_put_32 (input_bfd, value,
@@ -8790,8 +8860,8 @@ ppc_elf_relocate_section (bfd *output_bfd,
if (htab->elf.tls_sec != NULL)
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
/* The TPREL16 relocs shouldn't really be used in shared
- libs as they will result in DT_TEXTREL being set, but
- support them anyway. */
+ libs or with non-local symbols as that will result in
+ DT_TEXTREL being set, but support them anyway. */
goto dodyn;
case R_PPC_TPREL32:
@@ -9008,34 +9078,6 @@ ppc_elf_relocate_section (bfd *output_bfd,
break;
}
}
- else if (r_type == R_PPC_DTPMOD32
- && htab->plt_type == PLT_NEW
- && !htab->params->no_tls_get_addr_opt
- && htab->tls_get_addr != NULL
- && htab->tls_get_addr->plt.plist != NULL)
- {
- /* Set up for __tls_get_addr_opt stub when this entry
- does not have dynamic relocs. */
- relocation = 0;
- /* Set up the next word for local dynamic. If it turns
- out to be global dynamic, the reloc will overwrite
- this value. */
- if (rel->r_offset + 8 <= input_section->size)
- bfd_put_32 (input_bfd, DTP_OFFSET - TP_OFFSET,
- contents + rel->r_offset + 4);
- }
- else if (r_type == R_PPC_DTPREL32
- && htab->plt_type == PLT_NEW
- && !htab->params->no_tls_get_addr_opt
- && htab->tls_get_addr != NULL
- && htab->tls_get_addr->plt.plist != NULL
- && rel > relocs
- && rel[-1].r_info == ELF32_R_INFO (r_symndx, R_PPC_DTPMOD32)
- && rel[-1].r_offset + 4 == rel->r_offset)
- {
- /* __tls_get_addr_opt stub value. */
- addend += DTP_OFFSET - TP_OFFSET;
- }
break;
case R_PPC_RELAX_PLT:
@@ -9503,6 +9545,10 @@ ppc_elf_relocate_section (bfd *output_bfd,
}
goto copy_reloc;
+ case R_PPC_VLE_ADDR20:
+ ppc_elf_vle_split20 (output_bfd, contents + rel->r_offset, relocation);
+ continue;
+
/* Relocate against the beginning of the section. */
case R_PPC_SECTOFF:
case R_PPC_SECTOFF_LO:
diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c
index bb2b307..f81988b 100644
--- a/bfd/elf32-rx.c
+++ b/bfd/elf32-rx.c
@@ -683,7 +683,7 @@ rx_elf_relocate_section
&& strcmp (name, "__romdatastart") != 0 \
&& !saw_subtract) \
/* xgettext:c-format */ \
- _bfd_error_handler (_("%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"), \
+ _bfd_error_handler (_("%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"), \
input_bfd, input_section, howto->name, \
input_section->output_section->vma + input_section->output_offset + rel->r_offset, \
name, sec->name); \
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index c26bdcf..91853ef 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -945,7 +945,7 @@ elf_s390_check_relocs (bfd *abfd,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -2307,10 +2307,10 @@ invalid_tls_insn (bfd *input_bfd,
howto = elf_howto_table + ELF32_R_TYPE (rel->r_info);
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): invalid instruction for TLS relocation %s"),
+ (_("%B(%A+%#Lx): invalid instruction for TLS relocation %s"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name);
bfd_set_error (bfd_error_bad_value);
}
@@ -3369,10 +3369,10 @@ elf_s390_relocate_section (bfd *output_bfd,
rel->r_offset) != (bfd_vma) -1)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
@@ -3426,9 +3426,9 @@ elf_s390_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ rel->r_offset, name, (int) r);
return FALSE;
}
}
@@ -3941,7 +3941,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
break;
case DT_PLTRELSZ:
- dyn.d_un.d_val = htab->elf.srelplt->size + htab->elf.irelplt->size;
+ dyn.d_un.d_val = htab->elf.srelplt->size;
+ if (htab->elf.irelplt)
+ dyn.d_un.d_val += htab->elf.irelplt->size;
break;
}
@@ -3999,6 +4001,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
symtab_hdr = &elf_symtab_hdr (ibfd);
+ if (!is_s390_elf (ibfd))
+ continue;
+
local_plt = elf_s390_local_plt (ibfd);
if (local_plt != NULL)
for (i = 0; i < symtab_hdr->sh_info; i++)
diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c
index 3dfe806..5fc10b3 100644
--- a/bfd/elf32-score.c
+++ b/bfd/elf32-score.c
@@ -2880,8 +2880,8 @@ s3_bfd_score_elf_check_relocs (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: CALL15 reloc at 0x%lx not against global symbol"),
- abfd, (unsigned long) rel->r_offset);
+ (_("%B: CALL15 reloc at %#Lx not against global symbol"),
+ abfd, rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c
index 66e7945..5554ccc 100644
--- a/bfd/elf32-score7.c
+++ b/bfd/elf32-score7.c
@@ -2685,8 +2685,8 @@ s7_bfd_score_elf_check_relocs (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: CALL15 reloc at 0x%lx not against global symbol"),
- abfd, (unsigned long) rel->r_offset);
+ (_("%B: CALL15 reloc at %#Lx not against global symbol"),
+ abfd, rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 3df13b5..8f91579 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -577,8 +577,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
if (laddr >= sec->size)
{
/* xgettext:c-format */
- _bfd_error_handler (_("%B: 0x%lx: warning: bad R_SH_USES offset"),
- abfd, (unsigned long) irel->r_offset);
+ _bfd_error_handler (_("%B: %#Lx: warning: bad R_SH_USES offset"),
+ abfd, irel->r_offset);
continue;
}
insn = bfd_get_16 (abfd, contents + laddr);
@@ -589,8 +589,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"),
- abfd, (unsigned long) irel->r_offset, insn);
+ (_("%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"),
+ abfd, irel->r_offset, insn);
continue;
}
@@ -607,8 +607,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: bad R_SH_USES load offset"),
- abfd, (unsigned long) irel->r_offset);
+ (_("%B: %#Lx: warning: bad R_SH_USES load offset"),
+ abfd, irel->r_offset);
continue;
}
@@ -623,8 +623,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: could not find expected reloc"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: could not find expected reloc"),
+ abfd, paddr);
continue;
}
@@ -652,8 +652,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: symbol in unexpected section"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: symbol in unexpected section"),
+ abfd, paddr);
continue;
}
@@ -782,8 +782,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: could not find expected COUNT reloc"),
- abfd, (unsigned long) paddr);
+ (_("%B: %#Lx: warning: could not find expected COUNT reloc"),
+ abfd, paddr);
continue;
}
@@ -792,8 +792,8 @@ sh_elf_relax_section (bfd *abfd, asection *sec,
if (irelcount->r_addend == 0)
{
/* xgettext:c-format */
- _bfd_error_handler (_("%B: 0x%lx: warning: bad count"),
- abfd, (unsigned long) paddr);
+ _bfd_error_handler (_("%B: %#Lx: warning: bad count"),
+ abfd, paddr);
continue;
}
@@ -913,7 +913,7 @@ sh_elf_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr,
contents = elf_section_data (sec)->this_hdr.contents;
- /* The deletion must stop at the next ALIGN reloc for an aligment
+ /* The deletion must stop at the next ALIGN reloc for an alignment
power larger than the number of bytes we are deleting. */
irelalign = NULL;
@@ -1196,8 +1196,8 @@ sh_elf_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
- abfd, (unsigned long) irel->r_offset);
+ (_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+ abfd, irel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1567,8 +1567,8 @@ sh_elf_swap_insns (bfd *abfd, asection *sec, void *relocs,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: reloc overflow while relaxing"),
- abfd, (unsigned long) irel->r_offset);
+ (_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+ abfd, irel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4006,9 +4006,9 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"),
+ (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ rel->r_offset, howto->name);
return FALSE;
}
@@ -4124,10 +4124,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
return FALSE;
@@ -4203,9 +4203,9 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"),
+ (_("%B: %#Lx: fatal: unaligned branch target for relax-support relocation"),
input_section->owner,
- (unsigned long) rel->r_offset);
+ rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4237,10 +4237,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"),
+ (_("%B: %#Lx: fatal: unaligned %s relocation %#Lx"),
input_section->owner,
- (unsigned long) rel->r_offset, howto->name,
- (unsigned long) relocation);
+ rel->r_offset, howto->name,
+ relocation);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4253,10 +4253,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"),
+ (_("%B: %#Lx: fatal: unaligned %s relocation %#Lx"),
input_section->owner,
- (unsigned long) rel->r_offset, howto->name,
- (unsigned long) relocation);
+ rel->r_offset, howto->name,
+ relocation);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4268,10 +4268,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"),
+ (_("%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"),
input_section->owner,
- (unsigned long) rel->r_offset,
- (unsigned long) relocation);
+ rel->r_offset,
+ relocation);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4283,10 +4283,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"),
+ (_("%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"),
input_section->owner,
- (unsigned long) rel->r_offset,
- (unsigned long) relocation);
+ rel->r_offset,
+ relocation);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -4428,10 +4428,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"),
+ (_("%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
symname);
return FALSE;
}
@@ -4900,10 +4900,10 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"),
+ (_("%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
symname);
return FALSE;
}
@@ -5002,8 +5002,8 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): %s relocation against external symbol \"%s\""),
- input_bfd, input_section, (long) rel->r_offset, howto->name,
+ (_("%B(%A+%#Lx): %s relocation against external symbol \"%s\""),
+ input_bfd, input_section, rel->r_offset, howto->name,
h->root.root.string);
return FALSE;
}
diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c
index de7ce95d..87033f7 100644
--- a/bfd/elf32-sh64.c
+++ b/bfd/elf32-sh64.c
@@ -597,9 +597,9 @@ shmedia_prepare_reloc (struct bfd_link_info *info, bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: error: unaligned relocation type %d at %08x reloc %p\n"),
- input_section->owner, ELF32_R_TYPE (rel->r_info),
- (unsigned) rel->r_offset, relocation);
+ (_("%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"),
+ input_section->owner, (int) ELF32_R_TYPE (rel->r_info),
+ rel->r_offset, *relocation);
return FALSE;
}
diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
index cbb026e..f7c18d9 100644
--- a/bfd/elf32-spu.c
+++ b/bfd/elf32-spu.c
@@ -5040,10 +5040,10 @@ spu_elf_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
bfd_get_section_name (input_bfd, input_section),
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
sym_name);
ret = FALSE;
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index e2a2961..bcce800 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -2632,7 +2632,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
if (h == NULL)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against local symbol"),
input_bfd,
input_section,
@@ -2641,7 +2641,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
else
_bfd_error_handler
/* xgettext:c-format */
- (_("%B, section %A: relocation %s with non-zero addend %d"
+ (_("%B, section %A: relocation %s with non-zero addend %Ld"
" against symbol `%s'"),
input_bfd,
input_section,
@@ -2801,7 +2801,7 @@ elf32_tic6x_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
Elf_Internal_Sym *isym;
diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c
index d333203..13b9bb1 100644
--- a/bfd/elf32-tilepro.c
+++ b/bfd/elf32-tilepro.c
@@ -1478,7 +1478,7 @@ tilepro_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
int tls_type;
@@ -2861,15 +2861,7 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
continue;
if ((unsigned int)r_type >= NELEMS(tilepro_elf_howto_table))
- {
- /* Not clear if we need to check here, but just be paranoid. */
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: unrecognized relocation (0x%x) in section `%A'"),
- input_bfd, r_type, input_section);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
howto = tilepro_elf_howto_table + r_type;
@@ -3566,10 +3558,10 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
rel->r_offset) != (bfd_vma) -1)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index 8db7507..f33a520 100644
--- a/bfd/elf32-v850.c
+++ b/bfd/elf32-v850.c
@@ -2525,7 +2525,7 @@ v850_elf_merge_notes (bfd * ibfd, bfd *obfd)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("error: %B needs 8-byte aligment but %B is set for 4-byte alignment"),
+ (_("error: %B needs 8-byte alignment but %B is set for 4-byte alignment"),
ibfd, obfd);
result = FALSE;
}
@@ -3602,9 +3602,9 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGCALL points to "
+ (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
"unrecognized insns"),
- abfd, (unsigned long) irel->r_offset);
+ abfd, irel->r_offset);
continue;
}
@@ -3612,10 +3612,10 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGCALL points to "
- "unrecognized insn 0x%x"),
+ (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
+ "unrecognized insn %#x"),
abfd,
- (unsigned long) irel->r_offset + no_match,
+ irel->r_offset + no_match,
insn[no_match]);
continue;
}
@@ -3657,9 +3657,9 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGCALL points to "
+ (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
"unrecognized reloc"),
- abfd, (unsigned long) irel->r_offset);
+ abfd, irel->r_offset);
continue;
}
@@ -3697,9 +3697,9 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGCALL points to "
- "unrecognized reloc 0x%lx"),
- abfd, (unsigned long) irel->r_offset,
+ (_("%B: %#Lx: warning: R_V850_LONGCALL points to "
+ "unrecognized reloc %#Lx"),
+ abfd, irel->r_offset,
irelcall->r_offset);
continue;
}
@@ -3840,9 +3840,9 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGJUMP points to "
+ (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
"unrecognized insns"),
- abfd, (unsigned long) irel->r_offset);
+ abfd, irel->r_offset);
continue;
}
@@ -3850,10 +3850,10 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGJUMP points to "
- "unrecognized insn 0x%x"),
+ (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
+ "unrecognized insn %#x"),
abfd,
- (unsigned long) irel->r_offset + no_match,
+ irel->r_offset + no_match,
insn[no_match]);
continue;
}
@@ -3884,9 +3884,9 @@ v850_elf_relax_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: 0x%lx: warning: R_V850_LONGJUMP points to "
+ (_("%B: %#Lx: warning: R_V850_LONGJUMP points to "
"unrecognized reloc"),
- abfd, (unsigned long) irel->r_offset);
+ abfd, irel->r_offset);
continue;
}
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index 367e415..368de9c 100644
--- a/bfd/elf32-vax.c
+++ b/bfd/elf32-vax.c
@@ -632,8 +632,8 @@ elf_vax_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (eh->got_addend != (bfd_vma) rel->r_addend)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: warning: GOT addend of %ld to `%s' does"
- " not match previous GOT addend of %ld"),
+ (_("%B: warning: GOT addend of %Ld to `%s' does"
+ " not match previous GOT addend of %Ld"),
abfd, rel->r_addend, h->root.root.string,
eh->got_addend);
@@ -1508,7 +1508,7 @@ elf_vax_relocate_section (bfd *output_bfd,
else if (rel->r_addend != 0)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: warning: PLT addend of %d to `%s'"
+ (_("%B: warning: PLT addend of %Ld to `%s'"
" from %A section ignored"),
input_bfd, rel->r_addend, h->root.root.string, input_section);
rel->r_addend = 0;
@@ -1640,7 +1640,7 @@ elf_vax_relocate_section (bfd *output_bfd,
else
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: warning: %s relocation to 0x%x from %A section"),
+ (_("%B: warning: %s relocation to %#Lx from %A section"),
input_bfd, howto->name, outrel.r_addend,
input_section);
}
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 64e40d3..19a162e 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -1001,7 +1001,7 @@ elf_xtensa_check_relocs (bfd *abfd,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned r_symndx;
struct elf_link_hash_entry *h = NULL;
struct elf_xtensa_link_hash_entry *eh;
int tls_type, old_tls_type;
@@ -2787,7 +2787,7 @@ elf_xtensa_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): relocation offset out of range (size=0x%x)"),
+ (_("%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"),
input_bfd, input_section, rel->r_offset, input_size);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -2813,12 +2813,12 @@ elf_xtensa_relocate_section (bfd *output_bfd,
_bfd_error_handler
((sym_type == STT_TLS
/* xgettext:c-format */
- ? _("%B(%A+0x%lx): %s used with TLS symbol %s")
+ ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
/* xgettext:c-format */
- : _("%B(%A+0x%lx): %s used with non-TLS symbol %s")),
+ : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
name);
}
@@ -3071,10 +3071,10 @@ elf_xtensa_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
name);
return FALSE;
@@ -6549,7 +6549,8 @@ extend_ebb_bounds_forward (ebb_t *ebb)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"),
+ (_("%B(%A+%#Lx): could not decode instruction; "
+ "possible configuration mismatch"),
ebb->sec->owner, ebb->sec, ebb->end_offset + insn_block_len);
return FALSE;
}
@@ -6626,7 +6627,8 @@ extend_ebb_bounds_backward (ebb_t *ebb)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"),
+ (_("%B(%A+%#Lx): could not decode instruction; "
+ "possible configuration mismatch"),
ebb->sec->owner, ebb->sec, ebb->end_offset + insn_block_len);
return FALSE;
}
@@ -7740,7 +7742,9 @@ compute_text_actions (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"),
+ (_("%B(%A+%#Lx): could not decode instruction for "
+ "XTENSA_ASM_SIMPLIFY relocation; "
+ "possible configuration mismatch"),
sec->owner, sec, r_offset);
continue;
}
@@ -7999,7 +8003,8 @@ compute_ebb_proposed_actions (ebb_constraint *ebb_table)
decode_error:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"),
+ (_("%B(%A+%#Lx): could not decode instruction; "
+ "possible configuration mismatch"),
ebb->sec->owner, ebb->sec, offset);
return FALSE;
}
@@ -10776,7 +10781,7 @@ do_fix_for_relocatable_link (Elf_Internal_Rela *rel,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unexpected fix for %s relocation"),
+ (_("%B(%A+%#Lx): unexpected fix for %s relocation"),
input_bfd, input_section, rel->r_offset,
elf_howto_table[r_type].name);
return FALSE;
@@ -10836,7 +10841,7 @@ static asection *
elf_xtensa_get_plt_section (struct bfd_link_info *info, int chunk)
{
bfd *dynobj;
- char plt_name[10];
+ char plt_name[17];
if (chunk == 0)
return elf_hash_table (info)->splt;
@@ -10851,7 +10856,7 @@ static asection *
elf_xtensa_get_gotplt_section (struct bfd_link_info *info, int chunk)
{
bfd *dynobj;
- char got_name[14];
+ char got_name[21];
if (chunk == 0)
return elf_hash_table (info)->sgotplt;
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index ada26f5..3e88787 100644
--- a/bfd/elf64-alpha.c
+++ b/bfd/elf64-alpha.c
@@ -3081,9 +3081,8 @@ elf64_alpha_relax_got_load (struct alpha_relax_info *info, bfd_vma symval,
reloc_howto_type *howto = elf64_alpha_howto_table + r_type;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: %A+0x%lx: warning: %s relocation against unexpected insn"),
- info->abfd, info->sec,
- (unsigned long) irel->r_offset, howto->name);
+ (_("%B: %A+%#Lx: warning: %s relocation against unexpected insn"),
+ info->abfd, info->sec, irel->r_offset, howto->name);
return TRUE;
}
@@ -3277,9 +3276,8 @@ elf64_alpha_relax_with_lituse (struct alpha_relax_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"),
- abfd, info->sec,
- (unsigned long) irel->r_offset);
+ (_("%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"),
+ abfd, info->sec, irel->r_offset);
return TRUE;
}
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
index 834855a..9fefe0e 100644
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -2079,8 +2079,8 @@ elf64_hppa_finish_dynamic_symbol (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("stub entry for %s cannot load .plt, dp offset = %ld"),
- hh->eh.root.root.string, (long) value);
+ (_("stub entry for %s cannot load .plt, dp offset = %Ld"),
+ hh->eh.root.root.string, value);
return FALSE;
}
@@ -3284,7 +3284,7 @@ elf_hppa_final_link_relocate (Elf_Internal_Rela *rel,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%" BFD_VMA_FMT "x): cannot reach %s"),
+ (_("%B(%A+%#Lx): cannot reach %s"),
input_bfd,
input_section,
offset,
diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c
index 4dff255..8140dc5 100644
--- a/bfd/elf64-ia64-vms.c
+++ b/bfd/elf64-ia64-vms.c
@@ -584,9 +584,9 @@ elf64_ia64_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: Can't relax br at 0x%lx in section `%A'."
+ (_("%B: Can't relax br at %#Lx in section `%A'."
" Please use brl or indirect branch."),
- sec->owner, (unsigned long) roff, sec);
+ sec->owner, roff, sec);
bfd_set_error (bfd_error_bad_value);
goto error_return;
}
@@ -3279,8 +3279,8 @@ elf64_ia64_choose_gp (bfd *abfd, struct bfd_link_info *info, bfd_boolean final)
overflow:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: short data segment overflowed (0x%lx >= 0x400000)"),
- abfd, (unsigned long) (max_short_vma - min_short_vma));
+ (_("%B: short data segment overflowed (%#Lx >= 0x400000)"),
+ abfd, max_short_vma - min_short_vma);
return FALSE;
}
else if ((gp_val > min_short_vma
@@ -3948,7 +3948,7 @@ elf64_ia64_relocate_section (bfd *output_bfd,
_bfd_error_handler
/* xgettext:c-format */
(_("%B: missing TLS section for relocation %s against `%s'"
- " at 0x%lx in section `%A'."),
+ " at %#Lx in section `%A'."),
input_bfd, howto->name, name,
rel->r_offset, input_section);
break;
@@ -3964,8 +3964,8 @@ elf64_ia64_relocate_section (bfd *output_bfd,
that the section is too big to relax. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: Can't relax br (%s) to `%s' at 0x%lx in section"
- " `%A' with size 0x%lx (> 0x1000000)."),
+ (_("%B: Can't relax br (%s) to `%s' at %#Lx in section"
+ " `%A' with size %#Lx (> 0x1000000)."),
input_bfd, howto->name, name, rel->r_offset,
input_section, input_section->size);
break;
@@ -5159,9 +5159,8 @@ error_free_dyn:
_bfd_error_handler
/* xgettext:c-format */
(_("Warning: size of symbol `%s' changed"
- " from %lu in %B to %lu in %B"),
- name, (unsigned long) h->size, old_bfd,
- (unsigned long) isym->st_size, abfd);
+ " from %Lu in %B to %Lu in %B"),
+ name, h->size, old_bfd, isym->st_size, abfd);
h->size = isym->st_size;
}
diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c
index b4ff5a3..8d79d39 100644
--- a/bfd/elf64-mmix.c
+++ b/bfd/elf64-mmix.c
@@ -1193,12 +1193,10 @@ mmix_elf_perform_relocation (asection *isec, reloc_howto_type *howto,
_bfd_error_handler
/* xgettext:c-format */
(_("%B: Internal inconsistency error for value for\n\
- linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"),
+ linker-allocated global register: linked: %#Lx != relaxed: %#Lx"),
isec->owner,
- (unsigned long) (value >> 32), (unsigned long) value,
- (unsigned long) (gregdata->reloc_request[bpo_index].value
- >> 32),
- (unsigned long) gregdata->reloc_request[bpo_index].value);
+ value,
+ gregdata->reloc_request[bpo_index].value);
bfd_set_error (bfd_error_bad_value);
return bfd_reloc_overflow;
}
@@ -1740,9 +1738,9 @@ mmix_final_link_relocate (reloc_howto_type *howto, asection *input_section,
/* FIXME: Better error message. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: LOCAL directive: Register $%ld is not a local register."
- " First global register is $%ld."),
- input_section->owner, (long) srel, (long) first_global);
+ (_("%B: LOCAL directive: Register $%Ld is not a local register."
+ " First global register is $%Ld."),
+ input_section->owner, srel, first_global);
return bfd_reloc_overflow;
}
@@ -2444,10 +2442,10 @@ _bfd_mmix_after_linker_allocation (bfd *abfd ATTRIBUTE_UNUSED,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("Internal inconsistency: remaining %u != max %u.\n\
+ (_("Internal inconsistency: remaining %lu != max %lu.\n\
Please report this bug."),
- gregdata->n_remaining_bpo_relocs_this_relaxation_round,
- gregdata->n_bpo_relocs);
+ (unsigned long) gregdata->n_remaining_bpo_relocs_this_relaxation_round,
+ (unsigned long) gregdata->n_bpo_relocs);
return FALSE;
}
@@ -2712,8 +2710,21 @@ mmix_elf_relax_section (bfd *abfd,
indx = ELF64_R_SYM (irel->r_info) - symtab_hdr->sh_info;
h = elf_sym_hashes (abfd)[indx];
BFD_ASSERT (h != NULL);
- if (h->root.type != bfd_link_hash_defined
- && h->root.type != bfd_link_hash_defweak)
+ if (h->root.type == bfd_link_hash_undefweak)
+ /* FIXME: for R_MMIX_PUSHJ_STUBBABLE, there are alternatives to
+ the canonical value 0 for an unresolved weak symbol to
+ consider: as the debug-friendly approach, resolve to "abort"
+ (or a port-specific function), or as the space-friendly
+ approach resolve to the next instruction (like some other
+ ports, notably ARM and AArch64). These alternatives require
+ matching code in mmix_elf_perform_relocation or its caller. */
+ symval = 0;
+ else if (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ symval = (h->root.u.def.value
+ + h->root.u.def.section->output_section->vma
+ + h->root.u.def.section->output_offset);
+ else
{
/* This appears to be a reference to an undefined symbol. Just
ignore it--it will be caught by the regular reloc processing.
@@ -2727,10 +2738,6 @@ mmix_elf_relax_section (bfd *abfd,
}
continue;
}
-
- symval = (h->root.u.def.value
- + h->root.u.def.section->output_section->vma
- + h->root.u.def.section->output_offset);
}
if (ELF64_R_TYPE (irel->r_info) == (int) R_MMIX_PUSHJ_STUBBABLE)
@@ -2868,6 +2875,8 @@ mmix_elf_relax_section (bfd *abfd,
}
}
+ BFD_ASSERT(pjsno == mmix_elf_section_data (sec)->pjs.n_pushj_relocs);
+
if (internal_relocs != NULL
&& elf_section_data (sec)->relocs != internal_relocs)
free (internal_relocs);
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 319d58f..ea49706 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3785,9 +3785,9 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
calls may use the function descriptor symbol, ie. "bl foo". This
behaves exactly as "bl .foo". */
-/* Of those relocs that might be copied as dynamic relocs, this function
- selects those that must be copied when linking a shared library,
- even when the symbol is local. */
+/* Of those relocs that might be copied as dynamic relocs, this
+ function selects those that must be copied when linking a shared
+ library or PIE, even when the symbol is local. */
static int
must_be_dyn_reloc (struct bfd_link_info *info,
@@ -3796,6 +3796,10 @@ must_be_dyn_reloc (struct bfd_link_info *info,
switch (r_type)
{
default:
+ /* Only relative relocs can be resolved when the object load
+ address isn't fixed. DTPREL64 is excluded because the
+ dynamic linker needs to differentiate global dynamic from
+ local dynamic __tls_index pairs when PPC64_OPT_TLS is set. */
return 1;
case R_PPC64_REL32:
@@ -3816,7 +3820,9 @@ must_be_dyn_reloc (struct bfd_link_info *info,
case R_PPC64_TPREL16_HIGHEST:
case R_PPC64_TPREL16_HIGHESTA:
case R_PPC64_TPREL64:
- return !bfd_link_executable (info);
+ /* These relocations are relative but in a shared library the
+ linker doesn't know the thread pointer base. */
+ return bfd_link_dll (info);
}
}
@@ -3919,6 +3925,9 @@ struct map_stub
/* Whether to emit a copy of register save/restore functions in this
group. */
int needs_save_res;
+ /* The offset of the __tls_get_addr_opt plt stub bctrl in this group,
+ or -1u if no such stub with bctrl exists. */
+ unsigned int tls_get_addr_opt_bctrl;
};
struct ppc_stub_hash_entry {
@@ -4010,6 +4019,10 @@ struct ppc_link_hash_entry
with non-standard calling convention. */
unsigned int save_res:1;
+ /* Set if a duplicate symbol with non-zero localentry is detected,
+ even when the duplicate symbol does not provide a definition. */
+ unsigned int non_zero_localentry:1;
+
/* Contexts in which symbol is used in the GOT (or TOC).
TLS_GD .. TLS_EXPLICIT bits are or'd into the mask as the
corresponding relocs are encountered during check_relocs.
@@ -4107,6 +4120,9 @@ struct ppc_link_hash_table
unsigned int second_toc_pass:1;
unsigned int do_toc_opt:1;
+ /* Set if tls optimization is enabled. */
+ unsigned int do_tls_opt:1;
+
/* Set on error. */
unsigned int stub_error:1;
@@ -5018,7 +5034,7 @@ ppc64_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
static bfd_boolean
ppc64_elf_merge_symbol (struct elf_link_hash_entry *h,
- const Elf_Internal_Sym *isym ATTRIBUTE_UNUSED,
+ const Elf_Internal_Sym *isym,
asection **psec ATTRIBUTE_UNUSED,
bfd_boolean newdef ATTRIBUTE_UNUSED,
bfd_boolean olddef ATTRIBUTE_UNUSED,
@@ -5026,6 +5042,8 @@ ppc64_elf_merge_symbol (struct elf_link_hash_entry *h,
const asection *oldsec ATTRIBUTE_UNUSED)
{
((struct ppc_link_hash_entry *) h)->fake = 0;
+ if ((STO_PPC64_LOCAL_MASK & isym->st_other) != 0)
+ ((struct ppc_link_hash_entry *) h)->non_zero_localentry = 1;
return TRUE;
}
@@ -5487,7 +5505,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_PPC64_GOT_TPREL16_LO_DS:
case R_PPC64_GOT_TPREL16_HI:
case R_PPC64_GOT_TPREL16_HA:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
tls_type = TLS_TLS | TLS_TPREL;
goto dogottls;
@@ -5749,7 +5767,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_PPC64_TPREL64:
tls_type = TLS_EXPLICIT | TLS_TLS | TLS_TPREL;
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
goto dotlstoc;
@@ -5825,12 +5843,9 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_PPC64_TPREL16_HIGHERA:
case R_PPC64_TPREL16_HIGHEST:
case R_PPC64_TPREL16_HIGHESTA:
- if (bfd_link_pic (info))
- {
- info->flags |= DF_STATIC_TLS;
- goto dodyn;
- }
- break;
+ if (bfd_link_dll (info))
+ info->flags |= DF_STATIC_TLS;
+ goto dodyn;
case R_PPC64_ADDR64:
if (opd_sym_map != NULL
@@ -6332,6 +6347,7 @@ is_elfv2_localentry0 (struct elf_link_hash_entry *h)
&& h->type == STT_FUNC
&& h->root.type == bfd_link_hash_defined
&& (STO_PPC64_LOCAL_MASK & h->other) == 0
+ && !((struct ppc_link_hash_entry *) h)->non_zero_localentry
&& is_ppc64_elf (h->root.u.def.section->owner)
&& abiversion (h->root.u.def.section->owner) >= 2);
}
@@ -7788,9 +7804,6 @@ dec_dynrel_count (bfd_vma r_info,
case R_PPC64_TPREL16_HIGHERA:
case R_PPC64_TPREL16_HIGHEST:
case R_PPC64_TPREL16_HIGHESTA:
- if (!bfd_link_pic (info))
- return TRUE;
-
case R_PPC64_TPREL64:
case R_PPC64_DTPMOD64:
case R_PPC64_DTPREL64:
@@ -8346,10 +8359,28 @@ ppc64_elf_tls_setup (struct bfd_link_info *info)
else if (!htab->do_multi_toc)
htab->params->no_multi_toc = 1;
+ /* Default to --no-plt-localentry, as this option can cause problems
+ with symbol interposition. For example, glibc libpthread.so and
+ libc.so duplicate many pthread symbols, with a fallback
+ implementation in libc.so. In some cases the fallback does more
+ work than the pthread implementation. __pthread_condattr_destroy
+ is one such symbol: the libpthread.so implementation is
+ localentry:0 while the libc.so implementation is localentry:8.
+ An app that "cleverly" uses dlopen to only load necessary
+ libraries at runtime may omit loading libpthread.so when not
+ running multi-threaded, which then results in the libc.so
+ fallback symbols being used and ld.so complaining. Now there
+ are workarounds in ld (see non_zero_localentry) to detect the
+ pthread situation, but that may not be the only case where
+ --plt-localentry can cause trouble. */
if (htab->params->plt_localentry0 < 0)
- htab->params->plt_localentry0
- = elf_link_hash_lookup (&htab->elf, "GLIBC_2.26",
- FALSE, FALSE, FALSE) != NULL;
+ htab->params->plt_localentry0 = 0;
+ if (htab->params->plt_localentry0
+ && elf_link_hash_lookup (&htab->elf, "GLIBC_2.26",
+ FALSE, FALSE, FALSE) == NULL)
+ info->callbacks->einfo
+ (_("%P: warning: --plt-localentry is especially dangerous without "
+ "ld.so support to detect ABI violations.\n"));
htab->tls_get_addr = ((struct ppc_link_hash_entry *)
elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
@@ -8897,6 +8928,7 @@ ppc64_elf_tls_optimize (struct bfd_link_info *info)
if (toc_ref != NULL)
free (toc_ref);
+ htab->do_tls_opt = 1;
return TRUE;
}
@@ -8904,7 +8936,7 @@ ppc64_elf_tls_optimize (struct bfd_link_info *info)
the values of any global symbols in a toc section that has been
edited. Globals in toc sections should be a rarity, so this function
sets a flag if any are found in toc sections other than the one just
- edited, so that futher hash table traversals can be avoided. */
+ edited, so that further hash table traversals can be avoided. */
struct adjust_toc_info
{
@@ -9400,7 +9432,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
/* Merge the used and skip arrays. Assume that TOC
doublewords not appearing as either used or unused belong
- to to an entry more than one doubleword in size. */
+ to an entry more than one doubleword in size. */
for (drop = skip, keep = used, last = 0, some_unused = 0;
drop < skip + (toc->size + 7) / 8;
++drop, ++keep)
@@ -9715,17 +9747,18 @@ merge_got_entries (struct got_entry **pent)
}
}
-/* If H is undefined weak, make it dynamic if that makes sense. */
+/* If H is undefined, make it dynamic if that makes sense. */
static bfd_boolean
-ensure_undefweak_dynamic (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
+ensure_undef_dynamic (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
{
struct elf_link_hash_table *htab = elf_hash_table (info);
if (htab->dynamic_sections_created
- && info->dynamic_undefined_weak != 0
- && h->root.type == bfd_link_hash_undefweak
+ && ((info->dynamic_undefined_weak != 0
+ && h->root.type == bfd_link_hash_undefweak)
+ || h->root.type == bfd_link_hash_undefined)
&& h->dynindx == -1
&& !h->forced_local
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
@@ -9804,9 +9837,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
for (gent = h->got.glist; gent != NULL; gent = gent->next)
if (!gent->is_indirect)
{
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (!ensure_undefweak_dynamic (info, h))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, h))
return FALSE;
if (!is_ppc64_elf (gent->owner))
@@ -9860,9 +9892,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (eh->dyn_relocs != NULL)
{
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (!ensure_undefweak_dynamic (info, h))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, h))
return FALSE;
}
}
@@ -9897,9 +9928,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (!h->non_got_ref
&& !h->def_regular)
{
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (!ensure_undefweak_dynamic (info, h))
+ /* Make sure this symbol is output as a dynamic symbol. */
+ if (!ensure_undef_dynamic (info, h))
return FALSE;
if (h->dynindx == -1)
@@ -10580,17 +10610,30 @@ plt_stub_size (struct ppc_link_hash_table *htab,
return size;
}
-/* If this stub would cross fewer 2**plt_stub_align boundaries if we align,
- then return the padding needed to do so. */
+/* Depending on the sign of plt_stub_align:
+ If positive, return the padding to align to a 2**plt_stub_align
+ boundary.
+ If negative, if this stub would cross fewer 2**plt_stub_align
+ boundaries if we align, then return the padding needed to do so. */
+
static inline unsigned int
plt_stub_pad (struct ppc_link_hash_table *htab,
struct ppc_stub_hash_entry *stub_entry,
bfd_vma plt_off)
{
- int stub_align = 1 << htab->params->plt_stub_align;
+ int stub_align;
unsigned stub_size = plt_stub_size (htab, stub_entry, plt_off);
bfd_vma stub_off = stub_entry->group->stub_sec->size;
+ if (htab->params->plt_stub_align >= 0)
+ {
+ stub_align = 1 << htab->params->plt_stub_align;
+ if ((stub_off & (stub_align - 1)) != 0)
+ return stub_align - (stub_off & (stub_align - 1));
+ return 0;
+ }
+
+ stub_align = 1 << -htab->params->plt_stub_align;
if (((stub_off + stub_size - 1) & -stub_align) - (stub_off & -stub_align)
> ((stub_size - 1) & -stub_align))
return stub_align - (stub_off & (stub_align - 1));
@@ -11386,6 +11429,15 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
- htab->sec_info[stub_entry->group->link_sec->id].toc_off);
size = plt_stub_size (htab, stub_entry, off);
+ if (stub_entry->h != NULL
+ && (stub_entry->h == htab->tls_get_addr_fd
+ || stub_entry->h == htab->tls_get_addr)
+ && htab->params->tls_get_addr_opt
+ && (ALWAYS_EMIT_R2SAVE
+ || stub_entry->stub_type == ppc_stub_plt_call_r2save))
+ stub_entry->group->tls_get_addr_opt_bctrl
+ = stub_entry->group->stub_sec->size + size - 5 * 4;
+
if (htab->params->plt_stub_align)
size += plt_stub_pad (htab, stub_entry, off);
if (info->emitrelocations)
@@ -12252,6 +12304,7 @@ group_sections (struct bfd_link_info *info,
group->link_sec = curr;
group->stub_sec = NULL;
group->needs_save_res = 0;
+ group->tls_get_addr_opt_bctrl = -1u;
group->next = htab->group;
htab->group = group;
do
@@ -12302,6 +12355,27 @@ static const unsigned char glink_eh_frame_cie[] =
DW_CFA_def_cfa, 1, 0 /* def_cfa: r1 offset 0. */
};
+static size_t
+stub_eh_frame_size (struct map_stub *group, size_t align)
+{
+ size_t this_size = 17;
+ if (group->tls_get_addr_opt_bctrl != -1u)
+ {
+ unsigned int to_bctrl = group->tls_get_addr_opt_bctrl / 4;
+ if (to_bctrl < 64)
+ this_size += 1;
+ else if (to_bctrl < 256)
+ this_size += 2;
+ else if (to_bctrl < 65536)
+ this_size += 3;
+ else
+ this_size += 5;
+ this_size += 6;
+ }
+ this_size = (this_size + align - 1) & -align;
+ return this_size;
+}
+
/* Stripping output sections is normally done before dynamic section
symbols have been allocated. This function is called later, and
handles cases like htab->brlt which is mapped to its own output
@@ -12404,7 +12478,6 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
bfd *input_bfd;
unsigned int bfd_indx;
struct map_stub *group;
- asection *stub_sec;
htab->stub_iteration += 1;
@@ -12722,11 +12795,11 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
/* We may have added some stubs. Find out the new size of the
stub sections. */
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL)
{
+ asection *stub_sec = group->stub_sec;
+
if (htab->stub_iteration <= STUB_SHRINK_ITER
|| stub_sec->rawsize < stub_sec->size)
/* Past STUB_SHRINK_ITER, rawsize is the max size seen. */
@@ -12761,11 +12834,9 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
{
size_t size = 0, align = 4;
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
- size += (17 + align - 1) & -align;
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL)
+ size += stub_eh_frame_size (group, align);
if (htab->glink != NULL && htab->glink->size != 0)
size += (24 + align - 1) & -align;
if (size != 0)
@@ -12777,24 +12848,20 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
}
if (htab->params->plt_stub_align != 0)
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
- stub_sec->size = ((stub_sec->size
- + (1 << htab->params->plt_stub_align) - 1)
- & -(1 << htab->params->plt_stub_align));
-
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0
- && stub_sec->rawsize != stub_sec->size
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL)
+ group->stub_sec->size = ((group->stub_sec->size
+ + (1 << htab->params->plt_stub_align) - 1)
+ & -(1 << htab->params->plt_stub_align));
+
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL
+ && group->stub_sec->rawsize != group->stub_sec->size
&& (htab->stub_iteration <= STUB_SHRINK_ITER
- || stub_sec->rawsize < stub_sec->size))
+ || group->stub_sec->rawsize < group->stub_sec->size))
break;
- if (stub_sec == NULL
+ if (group == NULL
&& (htab->glink_eh_frame == NULL
|| htab->glink_eh_frame->rawsize == htab->glink_eh_frame->size))
break;
@@ -12809,7 +12876,7 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
bfd_vma val;
bfd_byte *p, *last_fde;
size_t last_fde_len, size, align, pad;
- asection *stub_sec;
+ struct map_stub *group;
p = bfd_zalloc (htab->glink_eh_frame->owner, htab->glink_eh_frame->size);
if (p == NULL)
@@ -12824,13 +12891,11 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
bfd_put_32 (htab->elf.dynobj, last_fde_len, p);
p += last_fde_len + 4;
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL)
{
last_fde = p;
- last_fde_len = ((17 + align - 1) & -align) - 4;
+ last_fde_len = stub_eh_frame_size (group, align) - 4;
/* FDE length. */
bfd_put_32 (htab->elf.dynobj, last_fde_len, p);
p += 4;
@@ -12841,12 +12906,44 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
/* Offset to stub section, written later. */
p += 4;
/* stub section size. */
- bfd_put_32 (htab->elf.dynobj, stub_sec->size, p);
+ bfd_put_32 (htab->elf.dynobj, group->stub_sec->size, p);
p += 4;
/* Augmentation. */
p += 1;
+ if (group->tls_get_addr_opt_bctrl != -1u)
+ {
+ unsigned int to_bctrl = group->tls_get_addr_opt_bctrl / 4;
+
+ /* This FDE needs more than just the default.
+ Describe __tls_get_addr_opt stub LR. */
+ if (to_bctrl < 64)
+ *p++ = DW_CFA_advance_loc + to_bctrl;
+ else if (to_bctrl < 256)
+ {
+ *p++ = DW_CFA_advance_loc1;
+ *p++ = to_bctrl;
+ }
+ else if (to_bctrl < 65536)
+ {
+ *p++ = DW_CFA_advance_loc2;
+ bfd_put_16 (htab->elf.dynobj, to_bctrl, p);
+ p += 2;
+ }
+ else
+ {
+ *p++ = DW_CFA_advance_loc4;
+ bfd_put_32 (htab->elf.dynobj, to_bctrl, p);
+ p += 4;
+ }
+ *p++ = DW_CFA_offset_extended_sf;
+ *p++ = 65;
+ *p++ = -(STK_LINKER (htab) / 8) & 0x7f;
+ *p++ = DW_CFA_advance_loc + 4;
+ *p++ = DW_CFA_restore_extended;
+ *p++ = 65;
+ }
/* Pad. */
- p += ((17 + align - 1) & -align) - 17;
+ p = last_fde + last_fde_len + 4;
}
if (htab->glink != NULL && htab->glink->size != 0)
{
@@ -12871,7 +12968,7 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
*p++ = DW_CFA_register;
*p++ = 65;
*p++ = htab->opd_abi ? 12 : 0;
- *p++ = DW_CFA_advance_loc + 4;
+ *p++ = DW_CFA_advance_loc + (htab->opd_abi ? 5 : 7);
*p++ = DW_CFA_restore_extended;
*p++ = 65;
p += ((24 + align - 1) & -align) - 24;
@@ -13115,10 +13212,8 @@ ppc64_elf_build_stubs (struct bfd_link_info *info,
return FALSE;
/* Allocate memory to hold the linker stubs. */
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0
+ for (group = htab->group; group != NULL; group = group->next)
+ if ((stub_sec = group->stub_sec) != NULL
&& stub_sec->size != 0)
{
stub_sec->contents = bfd_zalloc (htab->params->stub_bfd, stub_sec->size);
@@ -13300,18 +13395,14 @@ ppc64_elf_build_stubs (struct bfd_link_info *info,
htab->relbrlt->reloc_count = 0;
if (htab->params->plt_stub_align != 0)
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+ for (group = htab->group; group != NULL; group = group->next)
+ if ((stub_sec = group->stub_sec) != NULL)
stub_sec->size = ((stub_sec->size
+ (1 << htab->params->plt_stub_align) - 1)
& -(1 << htab->params->plt_stub_align));
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+ for (group = htab->group; group != NULL; group = group->next)
+ if ((stub_sec = group->stub_sec) != NULL)
{
stub_sec_count += 1;
if (stub_sec->rawsize != stub_sec->size
@@ -13320,12 +13411,7 @@ ppc64_elf_build_stubs (struct bfd_link_info *info,
break;
}
- /* Note that the glink_eh_frame check here is not only testing that
- the generated size matched the calculated size but also that
- bfd_elf_discard_info didn't make any changes to the section. */
- if (stub_sec != NULL
- || (htab->glink_eh_frame != NULL
- && htab->glink_eh_frame->rawsize != htab->glink_eh_frame->size))
+ if (group != NULL)
{
htab->stub_error = TRUE;
info->callbacks->einfo (_("%P: stubs don't match calculated size\n"));
@@ -13842,7 +13928,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
case R_PPC64_GOT_TLSLD16_LO:
if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
{
- unsigned int insn1, insn2, insn3;
+ unsigned int insn1, insn2;
bfd_vma offset;
tls_ldgd_opt:
@@ -13921,18 +14007,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
bfd_put_32 (input_bfd, insn1,
contents + rel->r_offset - d_offset);
if (offset != (bfd_vma) -1)
- {
- insn3 = bfd_get_32 (input_bfd,
- contents + offset + 4);
- if (insn3 == NOP
- || insn3 == CROR_151515 || insn3 == CROR_313131)
- {
- rel[1].r_offset += 4;
- bfd_put_32 (input_bfd, insn2, contents + offset + 4);
- insn2 = NOP;
- }
- bfd_put_32 (input_bfd, insn2, contents + offset);
- }
+ bfd_put_32 (input_bfd, insn2, contents + offset);
if ((tls_mask & tls_gd) == 0
&& (tls_gd == 0 || toc_symndx != 0))
{
@@ -13946,7 +14021,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
case R_PPC64_TLSGD:
if (tls_mask != 0 && (tls_mask & TLS_GD) == 0)
{
- unsigned int insn2, insn3;
+ unsigned int insn2;
bfd_vma offset = rel->r_offset;
if ((tls_mask & TLS_TPRELGD) != 0)
@@ -13971,15 +14046,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
/* Zap the reloc on the _tls_get_addr call too. */
BFD_ASSERT (offset == rel[1].r_offset);
rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
- insn3 = bfd_get_32 (input_bfd,
- contents + offset + 4);
- if (insn3 == NOP
- || insn3 == CROR_151515 || insn3 == CROR_313131)
- {
- rel->r_offset += 4;
- bfd_put_32 (input_bfd, insn2, contents + offset + 4);
- insn2 = NOP;
- }
bfd_put_32 (input_bfd, insn2, contents + offset);
if ((tls_mask & TLS_TPRELGD) == 0 && toc_symndx != 0)
goto again;
@@ -13989,7 +14055,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
case R_PPC64_TLSLD:
if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
{
- unsigned int insn2, insn3;
+ unsigned int insn2;
bfd_vma offset = rel->r_offset;
if (toc_symndx)
@@ -14014,15 +14080,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
BFD_ASSERT (offset == rel[1].r_offset);
rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
insn2 = 0x38630000; /* addi 3,3,0 */
- insn3 = bfd_get_32 (input_bfd,
- contents + offset + 4);
- if (insn3 == NOP
- || insn3 == CROR_151515 || insn3 == CROR_313131)
- {
- rel->r_offset += 4;
- bfd_put_32 (input_bfd, insn2, contents + offset + 4);
- insn2 = NOP;
- }
bfd_put_32 (input_bfd, insn2, contents + offset);
goto again;
}
@@ -14647,11 +14704,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
emitting a reloc. */
else
{
- int tlsopt
- = (htab->params->tls_get_addr_opt
- && htab->tls_get_addr_fd != NULL
- && htab->tls_get_addr_fd->elf.plt.plist != NULL);
-
relocation += addend;
if (tls_type != 0)
{
@@ -14663,8 +14715,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
relocation = 0;
else
relocation -= htab->elf.tls_sec->vma + DTP_OFFSET;
- if ((tls_type & TLS_TPREL)
- || (tlsopt && !(tls_type & TLS_DTPREL)))
+ if (tls_type & TLS_TPREL)
relocation += DTP_OFFSET - TP_OFFSET;
}
@@ -14672,7 +14723,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
{
bfd_put_64 (output_bfd, relocation,
got->contents + off + 8);
- relocation = !tlsopt;
+ relocation = 1;
}
}
bfd_put_64 (output_bfd, relocation,
@@ -14814,12 +14865,10 @@ ppc64_elf_relocate_section (bfd *output_bfd,
}
if (htab->elf.tls_sec != NULL)
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
- if (bfd_link_pic (info))
- /* The TPREL16 relocs shouldn't really be used in shared
- libs as they will result in DT_TEXTREL being set, but
- support them anyway. */
- goto dodyn;
- break;
+ /* The TPREL16 relocs shouldn't really be used in shared
+ libs or with non-local symbols as that will result in
+ DT_TEXTREL being set, but support them anyway. */
+ goto dodyn;
case R_PPC64_DTPREL16:
case R_PPC64_DTPREL16_LO:
@@ -15080,32 +15129,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
addend = outrel.r_offset;
}
}
- else if (r_type == R_PPC64_DTPMOD64
- && htab->params->tls_get_addr_opt
- && htab->tls_get_addr_fd != NULL
- && htab->tls_get_addr_fd->elf.plt.plist != NULL)
- {
- /* Set up for __tls_get_addr_opt stub, when this entry
- does not have dynamic relocs. */
- relocation = 0;
- /* Set up the next word for local dynamic. If it turns
- out to be global dynamic, the reloc will overwrite
- this value. */
- if (rel->r_offset + 16 <= input_section->size)
- bfd_put_64 (input_bfd, DTP_OFFSET - TP_OFFSET,
- contents + rel->r_offset + 8);
- }
- else if (r_type == R_PPC64_DTPREL64
- && htab->params->tls_get_addr_opt
- && htab->tls_get_addr_fd != NULL
- && htab->tls_get_addr_fd->elf.plt.plist != NULL
- && rel > relocs
- && rel[-1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_DTPMOD64)
- && rel[-1].r_offset + 8 == rel->r_offset)
- {
- /* __tls_get_addr_opt stub value. */
- addend += DTP_OFFSET - TP_OFFSET;
- }
break;
case R_PPC64_COPY:
@@ -15141,6 +15164,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
/* Multi-instruction sequences that access the TOC can be
optimized, eg. addis ra,r2,0; addi rb,ra,x;
to nop; addi rb,r2,x; */
+ howto = ppc64_elf_howto_table[(int) r_type];
switch (r_type)
{
default:
@@ -15202,10 +15226,37 @@ ppc64_elf_relocate_section (bfd *output_bfd,
bfd_put_32 (input_bfd, insn, p);
}
break;
+
+ case R_PPC64_TPREL16_HA:
+ if (htab->do_tls_opt && relocation + addend + 0x8000 < 0x10000)
+ {
+ bfd_byte *p = contents + (rel->r_offset & ~3);
+ insn = bfd_get_32 (input_bfd, p);
+ if ((insn & ((0x3f << 26) | 0x1f << 16))
+ != ((15u << 26) | (13 << 16)) /* addis rt,13,imm */)
+ /* xgettext:c-format */
+ info->callbacks->minfo
+ (_("%H: warning: %s unexpected insn %#x.\n"),
+ input_bfd, input_section, rel->r_offset, howto->name, insn);
+ else
+ bfd_put_32 (input_bfd, NOP, p);
+ }
+ break;
+
+ case R_PPC64_TPREL16_LO:
+ case R_PPC64_TPREL16_LO_DS:
+ if (htab->do_tls_opt && relocation + addend + 0x8000 < 0x10000)
+ {
+ bfd_byte *p = contents + (rel->r_offset & ~3);
+ insn = bfd_get_32 (input_bfd, p);
+ insn &= ~(0x1f << 16);
+ insn |= 13 << 16;
+ bfd_put_32 (input_bfd, insn, p);
+ }
+ break;
}
/* Do any further special processing. */
- howto = ppc64_elf_howto_table[(int) r_type];
switch (r_type)
{
default:
@@ -15775,55 +15826,40 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
{
bfd_vma val;
bfd_byte *p;
- asection *stub_sec;
+ struct map_stub *group;
size_t align = 4;
p = htab->glink_eh_frame->contents;
p += (sizeof (glink_eh_frame_cie) + align - 1) & -align;
- for (stub_sec = htab->params->stub_bfd->sections;
- stub_sec != NULL;
- stub_sec = stub_sec->next)
- if ((stub_sec->flags & SEC_LINKER_CREATED) == 0)
+
+ for (group = htab->group; group != NULL; group = group->next)
+ if (group->stub_sec != NULL)
{
- /* FDE length. */
- p += 4;
- /* CIE pointer. */
- p += 4;
/* Offset to stub section. */
- val = (stub_sec->output_section->vma
- + stub_sec->output_offset);
+ val = (group->stub_sec->output_section->vma
+ + group->stub_sec->output_offset);
val -= (htab->glink_eh_frame->output_section->vma
+ htab->glink_eh_frame->output_offset
- + (p - htab->glink_eh_frame->contents));
+ + (p + 8 - htab->glink_eh_frame->contents));
if (val + 0x80000000 > 0xffffffff)
{
info->callbacks->einfo
(_("%P: %s offset too large for .eh_frame sdata4 encoding"),
- stub_sec->name);
+ group->stub_sec->name);
return FALSE;
}
- bfd_put_32 (dynobj, val, p);
- p += 4;
- /* stub section size. */
- p += 4;
- /* Augmentation. */
- p += 1;
- /* Pad. */
- p += ((17 + align - 1) & -align) - 17;
+ bfd_put_32 (dynobj, val, p + 8);
+ p += stub_eh_frame_size (group, align);
}
if (htab->glink != NULL && htab->glink->size != 0)
{
- /* FDE length. */
- p += 4;
- /* CIE pointer. */
- p += 4;
/* Offset to .glink. */
val = (htab->glink->output_section->vma
+ htab->glink->output_offset
+ 8);
val -= (htab->glink_eh_frame->output_section->vma
+ htab->glink_eh_frame->output_offset
- + (p - htab->glink_eh_frame->contents));
+ + (p + 8 - htab->glink_eh_frame->contents));
if (val + 0x80000000 > 0xffffffff)
{
info->callbacks->einfo
@@ -15831,15 +15867,8 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
htab->glink->name);
return FALSE;
}
- bfd_put_32 (dynobj, val, p);
- p += 4;
- /* .glink size. */
- p += 4;
- /* Augmentation. */
- p += 1;
- /* Ops. */
- p += 7;
- p += ((24 + align - 1) & -align) - 24;
+ bfd_put_32 (dynobj, val, p + 8);
+ p += (24 + align - 1) & -align;
}
if (htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME
@@ -15899,4 +15928,3 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
#define elf64_bed elf64_powerpc_fbsd_bed
#include "elf64-target.h"
-
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index f85f8cd..73d0331 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -863,7 +863,7 @@ elf_s390_check_relocs (bfd *abfd,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
Elf_Internal_Sym *isym;
@@ -2254,10 +2254,10 @@ invalid_tls_insn (bfd *input_bfd,
howto = elf_howto_table + ELF64_R_TYPE (rel->r_info);
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): invalid instruction for TLS relocation %s"),
+ (_("%B(%A+%#Lx): invalid instruction for TLS relocation %s"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name);
bfd_set_error (bfd_error_bad_value);
}
@@ -3293,10 +3293,10 @@ elf_s390_relocate_section (bfd *output_bfd,
rel->r_offset) != (bfd_vma) -1)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
@@ -3350,9 +3350,9 @@ elf_s390_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ rel->r_offset, name, (int) r);
return FALSE;
}
}
@@ -3745,7 +3745,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
break;
case DT_PLTRELSZ:
- dyn.d_un.d_val = htab->elf.srelplt->size + htab->elf.irelplt->size;
+ dyn.d_un.d_val = htab->elf.srelplt->size;
+ if (htab->elf.irelplt)
+ dyn.d_un.d_val += htab->elf.irelplt->size;
break;
case DT_RELASZ:
@@ -3756,7 +3758,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
linker script arranges for .rela.plt to follow all
other relocation sections, we don't have to worry
about changing the DT_RELA entry. */
- dyn.d_un.d_val -= htab->elf.srelplt->size + htab->elf.irelplt->size;
+ dyn.d_un.d_val -= htab->elf.srelplt->size;
+ if (htab->elf.irelplt)
+ dyn.d_un.d_val -= htab->elf.irelplt->size;
break;
}
@@ -3810,6 +3814,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
symtab_hdr = &elf_symtab_hdr (ibfd);
+ if (!is_s390_elf (ibfd))
+ continue;
+
local_plt = elf_s390_local_plt (ibfd);
if (local_plt != NULL)
for (i = 0; i < symtab_hdr->sh_info; i++)
diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
index bc8e9e1..1cffb2e 100644
--- a/bfd/elf64-sh64.c
+++ b/bfd/elf64-sh64.c
@@ -1536,9 +1536,9 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"),
+ (_("%B(%A+%#Lx): %s relocation against SEC_MERGE section"),
input_bfd, input_section,
- (long) rel->r_offset, howto->name);
+ rel->r_offset, howto->name);
return FALSE;
}
@@ -1633,10 +1633,10 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
}
@@ -1677,9 +1677,9 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: error: unaligned relocation type %d at %08x reloc %08x\n"),
- input_bfd, (int) r_type, (unsigned) rel->r_offset,
- (unsigned) relocation);
+ (_("%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"),
+ input_bfd, (int) r_type, rel->r_offset,
+ relocation);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c
index 3e0772d..a7ad2bc 100644
--- a/bfd/elf64-sparc.c
+++ b/bfd/elf64-sparc.c
@@ -724,8 +724,8 @@ elf64_sparc_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
error = TRUE;
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
- ibfd, (long) new_flags, (long) old_flags);
+ (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+ ibfd, new_flags, old_flags);
}
elf_elfheader (obfd)->e_flags = old_flags;
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 8cef9f5..84a2603 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -19,15 +19,8 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#include "sysdep.h"
-#include "bfd.h"
-#include "bfdlink.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
+#include "elfxx-x86.h"
#include "elf-nacl.h"
-#include "bfd_stdint.h"
-#include "objalloc.h"
-#include "hashtab.h"
#include "dwarf2.h"
#include "libiberty.h"
@@ -47,9 +40,6 @@
relocation type. We also use ELF_ST_TYPE instead of ELF64_ST_TYPE
since they are the same. */
-#define ABI_64_P(abfd) \
- (get_elf_backend_data (abfd)->s->elfclass == ELFCLASS64)
-
/* The relocation "howto" table. Order of fields:
type, rightshift, size, bitsize, pc_relative, bitpos, complain_on_overflow,
special_function, name, partial_inplace, src_mask, dst_mask, pcrel_offset. */
@@ -206,6 +196,9 @@ static reloc_howto_type x86_64_elf_howto_table[] =
FALSE)
};
+/* Set if a relocation is converted from a GOTPCREL relocation. */
+#define R_X86_64_converted_reloc_bit (1 << 7)
+
#define IS_X86_64_PCREL_TYPE(TYPE) \
( ((TYPE) == R_X86_64_PC8) \
|| ((TYPE) == R_X86_64_PC16) \
@@ -347,6 +340,9 @@ elf_x86_64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr,
unsigned r_type;
r_type = ELF32_R_TYPE (dst->r_info);
+ if (r_type != (unsigned int) R_X86_64_GNU_VTINHERIT
+ && r_type != (unsigned int) R_X86_64_GNU_VTENTRY)
+ r_type &= ~R_X86_64_converted_reloc_bit;
cache_ptr->howto = elf_x86_64_rtype_to_howto (abfd, r_type);
BFD_ASSERT (r_type == cache_ptr->howto->type);
}
@@ -528,18 +524,6 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
/* Functions for the x86-64 ELF linker. */
-/* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
-#define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
-#define ELF32_DYNAMIC_INTERPRETER "/lib/ldx32.so.1"
-
-/* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
- section, and instead use a dynamic relocation to point into the
- shared lib. */
-#define ELIMINATE_COPY_RELOCS 1
-
/* The size in bytes of an entry in the global offset table. */
#define GOT_ENTRY_SIZE 8
@@ -611,7 +595,7 @@ static const bfd_byte elf_x86_64_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
};
/* The first entry in the x32 IBT-enabled lazy procedure linkage table
- is the the same as the normal lazy PLT. Subsequent entries for an
+ is the same as the normal lazy PLT. Subsequent entries for an
x32 IBT-enabled lazy procedure linkage table look like this. */
static const bfd_byte elf_x32_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
@@ -669,10 +653,6 @@ static const bfd_byte elf_x32_non_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
static const bfd_byte elf_x86_64_eh_frame_lazy_plt[] =
{
-#define PLT_CIE_LENGTH 20
-#define PLT_FDE_LENGTH 36
-#define PLT_FDE_START_OFFSET 4 + PLT_CIE_LENGTH + 8
-#define PLT_FDE_LEN_OFFSET 4 + PLT_CIE_LENGTH + 12
PLT_CIE_LENGTH, 0, 0, 0, /* CIE length */
0, 0, 0, 0, /* CIE ID */
1, /* CIE version */
@@ -836,77 +816,6 @@ static const bfd_byte elf_x86_64_eh_frame_non_lazy_plt[] =
DW_CFA_nop, DW_CFA_nop, DW_CFA_nop
};
-struct elf_x86_64_lazy_plt_layout
-{
- /* Templates for the initial PLT entry and for subsequent entries. */
- const bfd_byte *plt0_entry;
- const bfd_byte *plt_entry;
- unsigned int plt_entry_size; /* Size of each PLT entry. */
-
- /* Offsets into plt0_entry that are to be replaced with GOT[1] and GOT[2]. */
- unsigned int plt0_got1_offset;
- unsigned int plt0_got2_offset;
-
- /* Offset of the end of the PC-relative instruction containing
- plt0_got2_offset. */
- unsigned int plt0_got2_insn_end;
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
- unsigned int plt_reloc_offset; /* ... offset into relocation table. */
- unsigned int plt_plt_offset; /* ... offset to start of .plt. */
-
- /* Length of the PC-relative instruction containing plt_got_offset. */
- unsigned int plt_got_insn_size;
-
- /* Offset of the end of the PC-relative jump to plt0_entry. */
- unsigned int plt_plt_insn_end;
-
- /* Offset into plt_entry where the initial value of the GOT entry points. */
- unsigned int plt_lazy_offset;
-
- /* .eh_frame covering the lazy .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
-struct elf_x86_64_non_lazy_plt_layout
-{
- /* Template for the lazy PLT entries. */
- const bfd_byte *plt_entry;
- unsigned int plt_entry_size; /* Size of each PLT entry. */
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
-
- /* Length of the PC-relative instruction containing plt_got_offset. */
- unsigned int plt_got_insn_size;
-
- /* .eh_frame covering the non-lazy .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
-struct elf_x86_64_plt_layout
-{
- /* Template for the PLT entries. */
- const bfd_byte *plt_entry;
- unsigned int plt_entry_size; /* Size of each PLT entry. */
-
- /* 1 has PLT0. */
- unsigned int has_plt0;
-
- /* Offsets into plt_entry that are to be replaced with... */
- unsigned int plt_got_offset; /* ... address of this symbol in .got. */
-
- /* Length of the PC-relative instruction containing plt_got_offset. */
- unsigned int plt_got_insn_size;
-
- /* .eh_frame covering the .plt section. */
- const bfd_byte *eh_frame_plt;
- unsigned int eh_frame_plt_size;
-};
-
/* Architecture-specific backend data for x86-64. */
struct elf_x86_64_backend_data
@@ -926,9 +835,10 @@ struct elf_x86_64_backend_data
get_elf_x86_64_arch_data (get_elf_backend_data (abfd))
/* These are the standard parameters. */
-static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_plt =
+static const struct elf_x86_lazy_plt_layout elf_x86_64_lazy_plt =
{
elf_x86_64_lazy_plt0_entry, /* plt0_entry */
+ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */
elf_x86_64_lazy_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt0_got1_offset */
@@ -940,13 +850,16 @@ static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_plt =
6, /* plt_got_insn_size */
LAZY_PLT_ENTRY_SIZE, /* plt_plt_insn_end */
6, /* plt_lazy_offset */
+ elf_x86_64_lazy_plt0_entry, /* pic_plt0_entry */
+ elf_x86_64_lazy_plt_entry, /* pic_plt_entry */
elf_x86_64_eh_frame_lazy_plt, /* eh_frame_plt */
sizeof (elf_x86_64_eh_frame_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_x86_64_non_lazy_plt =
{
elf_x86_64_non_lazy_plt_entry, /* plt_entry */
+ elf_x86_64_non_lazy_plt_entry, /* pic_plt_entry */
NON_LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt_got_offset */
6, /* plt_got_insn_size */
@@ -954,9 +867,10 @@ static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_plt =
sizeof (elf_x86_64_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_bnd_plt =
+static const struct elf_x86_lazy_plt_layout elf_x86_64_lazy_bnd_plt =
{
elf_x86_64_lazy_bnd_plt0_entry, /* plt0_entry */
+ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */
elf_x86_64_lazy_bnd_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt0_got1_offset */
@@ -968,13 +882,16 @@ static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_bnd_plt =
1+6, /* plt_got_insn_size */
11, /* plt_plt_insn_end */
0, /* plt_lazy_offset */
+ elf_x86_64_lazy_bnd_plt0_entry, /* pic_plt0_entry */
+ elf_x86_64_lazy_bnd_plt_entry, /* pic_plt_entry */
elf_x86_64_eh_frame_lazy_bnd_plt, /* eh_frame_plt */
sizeof (elf_x86_64_eh_frame_lazy_bnd_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_bnd_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_x86_64_non_lazy_bnd_plt =
{
elf_x86_64_non_lazy_bnd_plt_entry, /* plt_entry */
+ elf_x86_64_non_lazy_bnd_plt_entry, /* pic_plt_entry */
NON_LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
1+2, /* plt_got_offset */
1+6, /* plt_got_insn_size */
@@ -982,9 +899,10 @@ static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_bnd_plt =
sizeof (elf_x86_64_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_ibt_plt =
+static const struct elf_x86_lazy_plt_layout elf_x86_64_lazy_ibt_plt =
{
elf_x86_64_lazy_bnd_plt0_entry, /* plt0_entry */
+ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */
elf_x86_64_lazy_ibt_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt0_got1_offset */
@@ -996,13 +914,16 @@ static const struct elf_x86_64_lazy_plt_layout elf_x86_64_lazy_ibt_plt =
4+1+6, /* plt_got_insn_size */
4+1+5+5, /* plt_plt_insn_end */
0, /* plt_lazy_offset */
+ elf_x86_64_lazy_bnd_plt0_entry, /* pic_plt0_entry */
+ elf_x86_64_lazy_ibt_plt_entry, /* pic_plt_entry */
elf_x86_64_eh_frame_lazy_ibt_plt, /* eh_frame_plt */
sizeof (elf_x86_64_eh_frame_lazy_ibt_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_lazy_plt_layout elf_x32_lazy_ibt_plt =
+static const struct elf_x86_lazy_plt_layout elf_x32_lazy_ibt_plt =
{
elf_x86_64_lazy_plt0_entry, /* plt0_entry */
+ LAZY_PLT_ENTRY_SIZE, /* plt0_entry_size */
elf_x32_lazy_ibt_plt_entry, /* plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt0_got1_offset */
@@ -1014,13 +935,16 @@ static const struct elf_x86_64_lazy_plt_layout elf_x32_lazy_ibt_plt =
4+6, /* plt_got_insn_size */
4+5+5, /* plt_plt_insn_end */
0, /* plt_lazy_offset */
+ elf_x86_64_lazy_plt0_entry, /* pic_plt0_entry */
+ elf_x32_lazy_ibt_plt_entry, /* pic_plt_entry */
elf_x32_eh_frame_lazy_ibt_plt, /* eh_frame_plt */
sizeof (elf_x32_eh_frame_lazy_ibt_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_ibt_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_x86_64_non_lazy_ibt_plt =
{
elf_x86_64_non_lazy_ibt_plt_entry, /* plt_entry */
+ elf_x86_64_non_lazy_ibt_plt_entry, /* pic_plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
4+1+2, /* plt_got_offset */
4+1+6, /* plt_got_insn_size */
@@ -1028,9 +952,10 @@ static const struct elf_x86_64_non_lazy_plt_layout elf_x86_64_non_lazy_ibt_plt =
sizeof (elf_x86_64_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
};
-static const struct elf_x86_64_non_lazy_plt_layout elf_x32_non_lazy_ibt_plt =
+static const struct elf_x86_non_lazy_plt_layout elf_x32_non_lazy_ibt_plt =
{
elf_x32_non_lazy_ibt_plt_entry, /* plt_entry */
+ elf_x32_non_lazy_ibt_plt_entry, /* pic_plt_entry */
LAZY_PLT_ENTRY_SIZE, /* plt_entry_size */
4+2, /* plt_got_offset */
4+6, /* plt_got_insn_size */
@@ -1045,451 +970,6 @@ static const struct elf_x86_64_backend_data elf_x86_64_arch_bed =
#define elf_backend_arch_data &elf_x86_64_arch_bed
-/* Is a undefined weak symbol which is resolved to 0. Reference to an
- undefined weak symbol is resolved to 0 when building executable if
- it isn't dynamic and
- 1. Has non-GOT/non-PLT relocations in text section. Or
- 2. Has no GOT/PLT relocation.
- Local undefined weak symbol is always resolved to 0.
- */
-#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, GOT_RELOC, EH) \
- ((EH)->elf.root.type == bfd_link_hash_undefweak \
- && ((EH)->elf.forced_local \
- || (bfd_link_executable (INFO) \
- && (elf_x86_64_hash_table (INFO)->interp == NULL \
- || !(GOT_RELOC) \
- || (EH)->has_non_got_reloc \
- || !(INFO)->dynamic_undefined_weak))))
-
-/* x86-64 ELF linker hash entry. */
-
-struct elf_x86_64_link_hash_entry
-{
- struct elf_link_hash_entry elf;
-
- /* Track dynamic relocs copied for this symbol. */
- struct elf_dyn_relocs *dyn_relocs;
-
-#define GOT_UNKNOWN 0
-#define GOT_NORMAL 1
-#define GOT_TLS_GD 2
-#define GOT_TLS_IE 3
-#define GOT_TLS_GDESC 4
-#define GOT_TLS_GD_BOTH_P(type) \
- ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
-#define GOT_TLS_GD_P(type) \
- ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GDESC_P(type) \
- ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GD_ANY_P(type) \
- (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
- unsigned char tls_type;
-
- /* TRUE if a weak symbol with a real definition needs a copy reloc.
- When there is a weak symbol with a real definition, the processor
- independent code will have arranged for us to see the real
- definition first. We need to copy the needs_copy bit from the
- real definition and check it when allowing copy reloc in PIE. */
- unsigned int needs_copy : 1;
-
- /* TRUE if symbol has GOT or PLT relocations. */
- unsigned int has_got_reloc : 1;
-
- /* TRUE if symbol has non-GOT/non-PLT relocations in text sections. */
- unsigned int has_non_got_reloc : 1;
-
- /* Don't call finish_dynamic_symbol on this symbol. */
- unsigned int no_finish_dynamic_symbol : 1;
-
- /* 0: symbol isn't __tls_get_addr.
- 1: symbol is __tls_get_addr.
- 2: symbol is unknown. */
- unsigned int tls_get_addr : 2;
-
- /* Reference count of C/C++ function pointer relocations in read-write
- section which can be resolved at run-time. */
- bfd_signed_vma func_pointer_refcount;
-
- /* Information about the GOT PLT entry. Filled when there are both
- GOT and PLT relocations against the same function. */
- union gotplt_union plt_got;
-
- /* Information about the second PLT entry. */
- union gotplt_union plt_second;
-
- /* Offset of the GOTPLT entry reserved for the TLS descriptor,
- starting at the end of the jump table. */
- bfd_vma tlsdesc_got;
-};
-
-#define elf_x86_64_hash_entry(ent) \
- ((struct elf_x86_64_link_hash_entry *)(ent))
-
-struct elf_x86_64_obj_tdata
-{
- struct elf_obj_tdata root;
-
- /* tls_type for each local got entry. */
- char *local_got_tls_type;
-
- /* GOTPLT entries for TLS descriptors. */
- bfd_vma *local_tlsdesc_gotent;
-};
-
-#define elf_x86_64_tdata(abfd) \
- ((struct elf_x86_64_obj_tdata *) (abfd)->tdata.any)
-
-#define elf_x86_64_local_got_tls_type(abfd) \
- (elf_x86_64_tdata (abfd)->local_got_tls_type)
-
-#define elf_x86_64_local_tlsdesc_gotent(abfd) \
- (elf_x86_64_tdata (abfd)->local_tlsdesc_gotent)
-
-#define is_x86_64_elf(bfd) \
- (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
- && elf_tdata (bfd) != NULL \
- && elf_object_id (bfd) == X86_64_ELF_DATA)
-
-static bfd_boolean
-elf_x86_64_mkobject (bfd *abfd)
-{
- return bfd_elf_allocate_object (abfd, sizeof (struct elf_x86_64_obj_tdata),
- X86_64_ELF_DATA);
-}
-
-/* x86-64 ELF linker hash table. */
-
-struct elf_x86_64_link_hash_table
-{
- struct elf_link_hash_table elf;
-
- /* Short-cuts to get to dynamic linker sections. */
- asection *interp;
- asection *plt_eh_frame;
- asection *plt_second;
- asection *plt_second_eh_frame;
- asection *plt_got;
- asection *plt_got_eh_frame;
-
- /* Parameters describing PLT generation, lazy or non-lazy. */
- struct elf_x86_64_plt_layout plt;
-
- /* Parameters describing lazy PLT generation. */
- const struct elf_x86_64_lazy_plt_layout *lazy_plt;
-
- /* Parameters describing non-lazy PLT generation. */
- const struct elf_x86_64_non_lazy_plt_layout *non_lazy_plt;
-
- union
- {
- bfd_signed_vma refcount;
- bfd_vma offset;
- } tls_ld_got;
-
- /* The amount of space used by the jump slots in the GOT. */
- bfd_vma sgotplt_jump_table_size;
-
- /* Small local sym cache. */
- struct sym_cache sym_cache;
-
- bfd_vma (*r_info) (bfd_vma, bfd_vma);
- bfd_vma (*r_sym) (bfd_vma);
- unsigned int pointer_r_type;
- const char *dynamic_interpreter;
- int dynamic_interpreter_size;
-
- /* _TLS_MODULE_BASE_ symbol. */
- struct bfd_link_hash_entry *tls_module_base;
-
- /* Used by local STT_GNU_IFUNC symbols. */
- htab_t loc_hash_table;
- void * loc_hash_memory;
-
- /* The offset into splt of the PLT entry for the TLS descriptor
- resolver. Special values are 0, if not necessary (or not found
- to be necessary yet), and -1 if needed but not determined
- yet. */
- bfd_vma tlsdesc_plt;
- /* The offset into sgot of the GOT entry used by the PLT entry
- above. */
- bfd_vma tlsdesc_got;
-
- /* The index of the next R_X86_64_JUMP_SLOT entry in .rela.plt. */
- bfd_vma next_jump_slot_index;
- /* The index of the next R_X86_64_IRELATIVE entry in .rela.plt. */
- bfd_vma next_irelative_index;
-
- /* TRUE if there are dynamic relocs against IFUNC symbols that apply
- to read-only sections. */
- bfd_boolean readonly_dynrelocs_against_ifunc;
-};
-
-/* Get the x86-64 ELF linker hash table from a link_info structure. */
-
-#define elf_x86_64_hash_table(p) \
- (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
- == X86_64_ELF_DATA ? ((struct elf_x86_64_link_hash_table *) ((p)->hash)) : NULL)
-
-#define elf_x86_64_compute_jump_table_size(htab) \
- ((htab)->elf.srelplt->reloc_count * GOT_ENTRY_SIZE)
-
-/* Create an entry in an x86-64 ELF linker hash table. */
-
-static struct bfd_hash_entry *
-elf_x86_64_link_hash_newfunc (struct bfd_hash_entry *entry,
- struct bfd_hash_table *table,
- const char *string)
-{
- /* Allocate the structure if it has not already been allocated by a
- subclass. */
- if (entry == NULL)
- {
- entry = (struct bfd_hash_entry *)
- bfd_hash_allocate (table,
- sizeof (struct elf_x86_64_link_hash_entry));
- if (entry == NULL)
- return entry;
- }
-
- /* Call the allocation method of the superclass. */
- entry = _bfd_elf_link_hash_newfunc (entry, table, string);
- if (entry != NULL)
- {
- struct elf_x86_64_link_hash_entry *eh;
-
- eh = (struct elf_x86_64_link_hash_entry *) entry;
- eh->dyn_relocs = NULL;
- eh->tls_type = GOT_UNKNOWN;
- eh->needs_copy = 0;
- eh->has_got_reloc = 0;
- eh->has_non_got_reloc = 0;
- eh->no_finish_dynamic_symbol = 0;
- eh->tls_get_addr = 2;
- eh->func_pointer_refcount = 0;
- eh->plt_second.offset = (bfd_vma) -1;
- eh->plt_got.offset = (bfd_vma) -1;
- eh->tlsdesc_got = (bfd_vma) -1;
- }
-
- return entry;
-}
-
-/* Compute a hash of a local hash entry. We use elf_link_hash_entry
- for local symbol so that we can handle local STT_GNU_IFUNC symbols
- as global symbol. We reuse indx and dynstr_index for local symbol
- hash since they aren't used by global symbols in this backend. */
-
-static hashval_t
-elf_x86_64_local_htab_hash (const void *ptr)
-{
- struct elf_link_hash_entry *h
- = (struct elf_link_hash_entry *) ptr;
- return ELF_LOCAL_SYMBOL_HASH (h->indx, h->dynstr_index);
-}
-
-/* Compare local hash entries. */
-
-static int
-elf_x86_64_local_htab_eq (const void *ptr1, const void *ptr2)
-{
- struct elf_link_hash_entry *h1
- = (struct elf_link_hash_entry *) ptr1;
- struct elf_link_hash_entry *h2
- = (struct elf_link_hash_entry *) ptr2;
-
- return h1->indx == h2->indx && h1->dynstr_index == h2->dynstr_index;
-}
-
-/* Find and/or create a hash entry for local symbol. */
-
-static struct elf_link_hash_entry *
-elf_x86_64_get_local_sym_hash (struct elf_x86_64_link_hash_table *htab,
- bfd *abfd, const Elf_Internal_Rela *rel,
- bfd_boolean create)
-{
- struct elf_x86_64_link_hash_entry e, *ret;
- asection *sec = abfd->sections;
- hashval_t h = ELF_LOCAL_SYMBOL_HASH (sec->id,
- htab->r_sym (rel->r_info));
- void **slot;
-
- e.elf.indx = sec->id;
- e.elf.dynstr_index = htab->r_sym (rel->r_info);
- slot = htab_find_slot_with_hash (htab->loc_hash_table, &e, h,
- create ? INSERT : NO_INSERT);
-
- if (!slot)
- return NULL;
-
- if (*slot)
- {
- ret = (struct elf_x86_64_link_hash_entry *) *slot;
- return &ret->elf;
- }
-
- ret = (struct elf_x86_64_link_hash_entry *)
- objalloc_alloc ((struct objalloc *) htab->loc_hash_memory,
- sizeof (struct elf_x86_64_link_hash_entry));
- if (ret)
- {
- memset (ret, 0, sizeof (*ret));
- ret->elf.indx = sec->id;
- ret->elf.dynstr_index = htab->r_sym (rel->r_info);
- ret->elf.dynindx = -1;
- ret->func_pointer_refcount = 0;
- ret->plt_got.offset = (bfd_vma) -1;
- *slot = ret;
- }
- return &ret->elf;
-}
-
-/* Destroy an X86-64 ELF linker hash table. */
-
-static void
-elf_x86_64_link_hash_table_free (bfd *obfd)
-{
- struct elf_x86_64_link_hash_table *htab
- = (struct elf_x86_64_link_hash_table *) obfd->link.hash;
-
- if (htab->loc_hash_table)
- htab_delete (htab->loc_hash_table);
- if (htab->loc_hash_memory)
- objalloc_free ((struct objalloc *) htab->loc_hash_memory);
- _bfd_elf_link_hash_table_free (obfd);
-}
-
-/* Create an X86-64 ELF linker hash table. */
-
-static struct bfd_link_hash_table *
-elf_x86_64_link_hash_table_create (bfd *abfd)
-{
- struct elf_x86_64_link_hash_table *ret;
- bfd_size_type amt = sizeof (struct elf_x86_64_link_hash_table);
-
- ret = (struct elf_x86_64_link_hash_table *) bfd_zmalloc (amt);
- if (ret == NULL)
- return NULL;
-
- if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd,
- elf_x86_64_link_hash_newfunc,
- sizeof (struct elf_x86_64_link_hash_entry),
- X86_64_ELF_DATA))
- {
- free (ret);
- return NULL;
- }
-
- if (ABI_64_P (abfd))
- {
- ret->r_info = elf64_r_info;
- ret->r_sym = elf64_r_sym;
- ret->pointer_r_type = R_X86_64_64;
- ret->dynamic_interpreter = ELF64_DYNAMIC_INTERPRETER;
- ret->dynamic_interpreter_size = sizeof ELF64_DYNAMIC_INTERPRETER;
- }
- else
- {
- ret->r_info = elf32_r_info;
- ret->r_sym = elf32_r_sym;
- ret->pointer_r_type = R_X86_64_32;
- ret->dynamic_interpreter = ELF32_DYNAMIC_INTERPRETER;
- ret->dynamic_interpreter_size = sizeof ELF32_DYNAMIC_INTERPRETER;
- }
-
- ret->loc_hash_table = htab_try_create (1024,
- elf_x86_64_local_htab_hash,
- elf_x86_64_local_htab_eq,
- NULL);
- ret->loc_hash_memory = objalloc_create ();
- if (!ret->loc_hash_table || !ret->loc_hash_memory)
- {
- elf_x86_64_link_hash_table_free (abfd);
- return NULL;
- }
- ret->elf.root.hash_table_free = elf_x86_64_link_hash_table_free;
-
- return &ret->elf.root;
-}
-
-/* Copy the extra info we tack onto an elf_link_hash_entry. */
-
-static void
-elf_x86_64_copy_indirect_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *dir,
- struct elf_link_hash_entry *ind)
-{
- struct elf_x86_64_link_hash_entry *edir, *eind;
-
- edir = (struct elf_x86_64_link_hash_entry *) dir;
- eind = (struct elf_x86_64_link_hash_entry *) ind;
-
- edir->has_got_reloc |= eind->has_got_reloc;
- edir->has_non_got_reloc |= eind->has_non_got_reloc;
-
- if (eind->dyn_relocs != NULL)
- {
- if (edir->dyn_relocs != NULL)
- {
- struct elf_dyn_relocs **pp;
- struct elf_dyn_relocs *p;
-
- /* Add reloc counts against the indirect sym to the direct sym
- list. Merge any entries against the same section. */
- for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
- {
- struct elf_dyn_relocs *q;
-
- for (q = edir->dyn_relocs; q != NULL; q = q->next)
- if (q->sec == p->sec)
- {
- q->pc_count += p->pc_count;
- q->count += p->count;
- *pp = p->next;
- break;
- }
- if (q == NULL)
- pp = &p->next;
- }
- *pp = edir->dyn_relocs;
- }
-
- edir->dyn_relocs = eind->dyn_relocs;
- eind->dyn_relocs = NULL;
- }
-
- if (ind->root.type == bfd_link_hash_indirect
- && dir->got.refcount <= 0)
- {
- edir->tls_type = eind->tls_type;
- eind->tls_type = GOT_UNKNOWN;
- }
-
- if (ELIMINATE_COPY_RELOCS
- && ind->root.type != bfd_link_hash_indirect
- && dir->dynamic_adjusted)
- {
- /* If called to transfer flags for a weakdef during processing
- of elf_adjust_dynamic_symbol, don't copy non_got_ref.
- We clear it ourselves for ELIMINATE_COPY_RELOCS. */
- if (dir->versioned != versioned_hidden)
- dir->ref_dynamic |= ind->ref_dynamic;
- dir->ref_regular |= ind->ref_regular;
- dir->ref_regular_nonweak |= ind->ref_regular_nonweak;
- dir->needs_plt |= ind->needs_plt;
- dir->pointer_equality_needed |= ind->pointer_equality_needed;
- }
- else
- {
- if (eind->func_pointer_refcount > 0)
- {
- edir->func_pointer_refcount += eind->func_pointer_refcount;
- eind->func_pointer_refcount = 0;
- }
-
- _bfd_elf_link_hash_copy_indirect (info, dir, ind);
- }
-}
-
static bfd_boolean
elf64_x86_64_elf_object_p (bfd *abfd)
{
@@ -1525,11 +1005,11 @@ elf_x86_64_check_tls_transition (bfd *abfd,
bfd_boolean largepic = FALSE;
struct elf_link_hash_entry *h;
bfd_vma offset;
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
bfd_byte *call;
- bfd_boolean indirect_call, tls_get_addr;
+ bfd_boolean indirect_call;
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
offset = rel->r_offset;
switch (r_type)
{
@@ -1667,37 +1147,21 @@ elf_x86_64_check_tls_transition (bfd *abfd,
if (r_symndx < symtab_hdr->sh_info)
return FALSE;
- tls_get_addr = FALSE;
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (h != NULL && h->root.root.string != NULL)
- {
- struct elf_x86_64_link_hash_entry *eh
- = (struct elf_x86_64_link_hash_entry *) h;
- tls_get_addr = eh->tls_get_addr == 1;
- if (eh->tls_get_addr > 1)
- {
- /* Use strncmp to check __tls_get_addr since
- __tls_get_addr may be versioned. */
- if (strncmp (h->root.root.string, "__tls_get_addr", 14)
- == 0)
- {
- eh->tls_get_addr = 1;
- tls_get_addr = TRUE;
- }
- else
- eh->tls_get_addr = 0;
- }
- }
-
- if (!tls_get_addr)
+ if (h == NULL
+ || !((struct elf_x86_link_hash_entry *) h)->tls_get_addr)
return FALSE;
- else if (largepic)
- return ELF32_R_TYPE (rel[1].r_info) == R_X86_64_PLTOFF64;
- else if (indirect_call)
- return ELF32_R_TYPE (rel[1].r_info) == R_X86_64_GOTPCRELX;
else
- return (ELF32_R_TYPE (rel[1].r_info) == R_X86_64_PC32
- || ELF32_R_TYPE (rel[1].r_info) == R_X86_64_PLT32);
+ {
+ r_type = (ELF32_R_TYPE (rel[1].r_info)
+ & ~R_X86_64_converted_reloc_bit);
+ if (largepic)
+ return r_type == R_X86_64_PLTOFF64;
+ else if (indirect_call)
+ return r_type == R_X86_64_GOTPCRELX;
+ else
+ return (r_type == R_X86_64_PC32 || r_type == R_X86_64_PLT32);
+ }
case R_X86_64_GOTTPOFF:
/* Check transition from IE access model:
@@ -1868,9 +1332,9 @@ elf_x86_64_tls_transition (struct bfd_link_info *info, bfd *abfd,
name = h->root.root.string;
else
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
name = "*unknown*";
else
@@ -1885,10 +1349,9 @@ elf_x86_64_tls_transition (struct bfd_link_info *info, bfd *abfd,
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: TLS transition from %s to %s against `%s' at 0x%lx "
+ (_("%B: TLS transition from %s to %s against `%s' at %#Lx "
"in section `%A' failed"),
- abfd, from->name, to->name, name,
- (unsigned long) rel->r_offset, sec);
+ abfd, from->name, to->name, name, rel->r_offset, sec);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1899,11 +1362,11 @@ elf_x86_64_tls_transition (struct bfd_link_info *info, bfd *abfd,
/* Rename some of the generic section flags to better document how they
are used here. */
-#define need_convert_load sec_flg0
-#define check_relocs_failed sec_flg1
+#define check_relocs_failed sec_flg0
static bfd_boolean
-elf_x86_64_need_pic (bfd *input_bfd, asection *sec,
+elf_x86_64_need_pic (struct bfd_link_info *info,
+ bfd *input_bfd, asection *sec,
struct elf_link_hash_entry *h,
Elf_Internal_Shdr *symtab_hdr,
Elf_Internal_Sym *isym,
@@ -1912,6 +1375,7 @@ elf_x86_64_need_pic (bfd *input_bfd, asection *sec,
const char *v = "";
const char *und = "";
const char *pic = "";
+ const char *object;
const char *name;
if (h)
@@ -1929,7 +1393,10 @@ elf_x86_64_need_pic (bfd *input_bfd, asection *sec,
v = _("protected symbol ");
break;
default:
- v = _("symbol ");
+ if (((struct elf_x86_link_hash_entry *) h)->def_protected)
+ v = _("protected symbol ");
+ else
+ v = _("symbol ");
pic = _("; recompile with -fPIC");
break;
}
@@ -1943,10 +1410,18 @@ elf_x86_64_need_pic (bfd *input_bfd, asection *sec,
pic = _("; recompile with -fPIC");
}
+ if (bfd_link_dll (info))
+ object = _("a shared object");
+ else if (bfd_link_pie (info))
+ object = _("a PIE object");
+ else
+ object = _("a PDE object");
+
/* xgettext:c-format */
_bfd_error_handler (_("%B: relocation %s against %s%s`%s' can "
- "not be used when making a shared object%s"),
- input_bfd, howto->name, und, v, name, pic);
+ "not be used when making %s%s"),
+ input_bfd, howto->name, und, v, name,
+ object, pic);
bfd_set_error (bfd_error_bad_value);
sec->check_relocs_failed = 1;
return FALSE;
@@ -1972,26 +1447,25 @@ elf_x86_64_need_pic (bfd *input_bfd, asection *sec,
instructions. */
static bfd_boolean
-elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
+elf_x86_64_convert_load_reloc (bfd *abfd,
bfd_byte *contents,
+ unsigned int *r_type_p,
Elf_Internal_Rela *irel,
struct elf_link_hash_entry *h,
bfd_boolean *converted,
struct bfd_link_info *link_info)
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
bfd_boolean is_pic;
- bfd_boolean require_reloc_pc32;
+ bfd_boolean no_overflow;
bfd_boolean relocx;
bfd_boolean to_reloc_pc32;
asection *tsec;
- char symtype;
bfd_signed_vma raddend;
unsigned int opcode;
unsigned int modrm;
- unsigned int r_type = ELF32_R_TYPE (irel->r_info);
+ unsigned int r_type = *r_type_p;
unsigned int r_symndx;
- bfd_vma toff;
bfd_vma roff = irel->r_offset;
if (roff < (r_type == R_X86_64_REX_GOTPCRELX ? 3 : 2))
@@ -2002,16 +1476,14 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
if (raddend != -4)
return TRUE;
- htab = elf_x86_64_hash_table (link_info);
+ htab = elf_x86_hash_table (link_info, X86_64_ELF_DATA);
is_pic = bfd_link_pic (link_info);
relocx = (r_type == R_X86_64_GOTPCRELX
|| r_type == R_X86_64_REX_GOTPCRELX);
- /* TRUE if we can convert only to R_X86_64_PC32. Enable it for
- --no-relax. */
- require_reloc_pc32
- = link_info->disable_target_specific_optimizations > 1;
+ /* TRUE if --no-relax is used. */
+ no_overflow = link_info->disable_target_specific_optimizations > 1;
r_symndx = htab->r_sym (irel->r_info);
@@ -2030,12 +1502,12 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
/* We convert only to R_X86_64_PC32:
1. Branch.
2. R_X86_64_GOTPCREL since we can't modify REX byte.
- 3. require_reloc_pc32 is true.
+ 3. no_overflow is true.
4. PIC.
*/
to_reloc_pc32 = (opcode == 0xff
|| !relocx
- || require_reloc_pc32
+ || no_overflow
|| is_pic);
/* Get the symbol referred to by the reloc. */
@@ -2048,8 +1520,6 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
if (isym->st_shndx == SHN_UNDEF)
return TRUE;
- symtype = ELF_ST_TYPE (isym->st_info);
-
if (isym->st_shndx == SHN_ABS)
tsec = bfd_abs_section_ptr;
else if (isym->st_shndx == SHN_COMMON)
@@ -2058,8 +1528,6 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
tsec = &_bfd_elf_large_com_section;
else
tsec = bfd_section_from_elf_index (abfd, isym->st_shndx);
-
- toff = isym->st_value;
}
else
{
@@ -2069,16 +1537,21 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
GOTPCRELX relocations since we need to modify REX byte.
It is OK convert mov with R_X86_64_GOTPCREL to
R_X86_64_PC32. */
+ bfd_boolean local_ref;
+ struct elf_x86_link_hash_entry *eh = elf_x86_hash_entry (h);
+
+ /* NB: Also set linker_def via SYMBOL_REFERENCES_LOCAL_P. */
+ local_ref = SYMBOL_REFERENCES_LOCAL_P (link_info, h);
if ((relocx || opcode == 0x8b)
- && UNDEFINED_WEAK_RESOLVED_TO_ZERO (link_info,
- TRUE,
- elf_x86_64_hash_entry (h)))
+ && (h->root.type == bfd_link_hash_undefweak
+ && !eh->linker_def
+ && local_ref))
{
if (opcode == 0xff)
{
/* Skip for branch instructions since R_X86_64_PC32
may overflow. */
- if (require_reloc_pc32)
+ if (no_overflow)
return TRUE;
}
else if (relocx)
@@ -2099,11 +1572,12 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
/* Avoid optimizing GOTPCREL relocations againt _DYNAMIC since
ld.so may use its link-time address. */
else if (h->start_stop
+ || eh->linker_def
|| ((h->def_regular
|| h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
&& h != htab->elf.hdynamic
- && SYMBOL_REFERENCES_LOCAL (link_info, h)))
+ && local_ref))
{
/* bfd_link_hash_new or bfd_link_hash_undefined is
set by an assignment in a linker script in
@@ -2111,6 +1585,7 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
on __start_SECNAME/__stop_SECNAME which mark section
SECNAME. */
if (h->start_stop
+ || eh->linker_def
|| (h->def_regular
&& (h->root.type == bfd_link_hash_new
|| h->root.type == bfd_link_hash_undefined
@@ -2119,13 +1594,11 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
&& h->root.u.def.section == bfd_und_section_ptr))))
{
/* Skip since R_X86_64_32/R_X86_64_32S may overflow. */
- if (require_reloc_pc32)
+ if (no_overflow)
return TRUE;
goto convert;
}
tsec = h->root.u.def.section;
- toff = h->root.u.def.value;
- symtype = h->type;
}
else
return TRUE;
@@ -2136,92 +1609,9 @@ elf_x86_64_convert_load_reloc (bfd *abfd, asection *sec,
&& (elf_section_flags (tsec) & SHF_X86_64_LARGE) != 0)
return TRUE;
- /* We can only estimate relocation overflow for R_X86_64_PC32. */
- if (!to_reloc_pc32)
- goto convert;
-
- if (tsec->sec_info_type == SEC_INFO_TYPE_MERGE)
- {
- /* At this stage in linking, no SEC_MERGE symbol has been
- adjusted, so all references to such symbols need to be
- passed through _bfd_merged_section_offset. (Later, in
- relocate_section, all SEC_MERGE symbols *except* for
- section symbols have been adjusted.)
-
- gas may reduce relocations against symbols in SEC_MERGE
- sections to a relocation against the section symbol when
- the original addend was zero. When the reloc is against
- a section symbol we should include the addend in the
- offset passed to _bfd_merged_section_offset, since the
- location of interest is the original symbol. On the
- other hand, an access to "sym+addend" where "sym" is not
- a section symbol should not include the addend; Such an
- access is presumed to be an offset from "sym"; The
- location of interest is just "sym". */
- if (symtype == STT_SECTION)
- toff += raddend;
-
- toff = _bfd_merged_section_offset (abfd, &tsec,
- elf_section_data (tsec)->sec_info,
- toff);
-
- if (symtype != STT_SECTION)
- toff += raddend;
- }
- else
- toff += raddend;
-
- /* Don't convert if R_X86_64_PC32 relocation overflows. */
- if (tsec->output_section == sec->output_section)
- {
- if ((toff - roff + 0x80000000) > 0xffffffff)
- return TRUE;
- }
- else
- {
- bfd_signed_vma distance;
-
- /* At this point, we don't know the load addresses of TSEC
- section nor SEC section. We estimate the distrance between
- SEC and TSEC. We store the estimated distances in the
- compressed_size field of the output section, which is only
- used to decompress the compressed input section. */
- if (sec->output_section->compressed_size == 0)
- {
- asection *asect;
- bfd_size_type size = 0;
- for (asect = link_info->output_bfd->sections;
- asect != NULL;
- asect = asect->next)
- /* Skip debug sections since compressed_size is used to
- compress debug sections. */
- if ((asect->flags & SEC_DEBUGGING) == 0)
- {
- asection *i;
- for (i = asect->map_head.s;
- i != NULL;
- i = i->map_head.s)
- {
- size = align_power (size, i->alignment_power);
- size += i->size;
- }
- asect->compressed_size = size;
- }
- }
-
- /* Don't convert GOTPCREL relocations if TSEC isn't placed
- after SEC. */
- distance = (tsec->output_section->compressed_size
- - sec->output_section->compressed_size);
- if (distance < 0)
- return TRUE;
-
- /* Take PT_GNU_RELRO segment into account by adding
- maxpagesize. */
- if ((toff + distance + get_elf_backend_data (abfd)->maxpagesize
- - roff + 0x80000000) > 0xffffffff)
- return TRUE;
- }
+ /* Skip since R_X86_64_PC32/R_X86_64_32/R_X86_64_32S may overflow. */
+ if (no_overflow)
+ return TRUE;
convert:
if (opcode == 0xff)
@@ -2246,15 +1636,15 @@ convert:
}
else
{
- struct elf_x86_64_link_hash_entry *eh
- = (struct elf_x86_64_link_hash_entry *) h;
+ struct elf_x86_link_hash_entry *eh
+ = (struct elf_x86_link_hash_entry *) h;
/* Convert to "nop call foo". ADDR_PREFIX_OPCODE
is a nop prefix. */
modrm = 0xe8;
/* To support TLS optimization, always use addr32 prefix for
"call *__tls_get_addr@GOTPCREL(%rip)". */
- if (eh && eh->tls_get_addr == 1)
+ if (eh && eh->tls_get_addr)
{
nop = 0x67;
nop_offset = irel->r_offset - 2;
@@ -2365,7 +1755,9 @@ rewrite_modrm_rex:
bfd_put_8 (abfd, opcode, contents + roff - 2);
}
- irel->r_info = htab->r_info (r_symndx, r_type);
+ *r_type_p = r_type;
+ irel->r_info = htab->r_info (r_symndx,
+ r_type | R_X86_64_converted_reloc_bit);
*converted = TRUE;
@@ -2381,13 +1773,14 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
asection *sec,
const Elf_Internal_Rela *relocs)
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
bfd_byte *contents;
+ bfd_boolean converted;
if (bfd_link_relocatable (info))
return TRUE;
@@ -2401,15 +1794,15 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
if ((sec->flags & SEC_ALLOC) == 0)
return TRUE;
- BFD_ASSERT (is_x86_64_elf (abfd));
-
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
{
sec->check_relocs_failed = 1;
return FALSE;
}
+ BFD_ASSERT (is_x86_elf (abfd, htab));
+
/* Get the section contents. */
if (elf_section_data (sec)->this_hdr.contents != NULL)
contents = elf_section_data (sec)->this_hdr.contents;
@@ -2422,18 +1815,21 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
symtab_hdr = &elf_symtab_hdr (abfd);
sym_hashes = elf_sym_hashes (abfd);
+ converted = FALSE;
+
sreloc = NULL;
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
- struct elf_x86_64_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
Elf_Internal_Sym *isym;
const char *name;
bfd_boolean size_reloc;
+ bfd_boolean converted_reloc;
r_symndx = htab->r_sym (rel->r_info);
r_type = ELF32_R_TYPE (rel->r_info);
@@ -2457,8 +1853,8 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* Check relocation against local STT_GNU_IFUNC symbol. */
if (ELF_ST_TYPE (isym->st_info) == STT_GNU_IFUNC)
{
- h = elf_x86_64_get_local_sym_hash (htab, abfd, rel,
- TRUE);
+ h = _bfd_elf_x86_get_local_sym_hash (htab, abfd, rel,
+ TRUE);
if (h == NULL)
goto error_return;
@@ -2527,22 +1923,38 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|= elf_gnu_symbol_ifunc;
}
+ converted_reloc = FALSE;
+ if ((r_type == R_X86_64_GOTPCREL
+ || r_type == R_X86_64_GOTPCRELX
+ || r_type == R_X86_64_REX_GOTPCRELX)
+ && (h == NULL || h->type != STT_GNU_IFUNC))
+ {
+ Elf_Internal_Rela *irel = (Elf_Internal_Rela *) rel;
+ if (!elf_x86_64_convert_load_reloc (abfd, contents, &r_type,
+ irel, h, &converted_reloc,
+ info))
+ goto error_return;
+
+ if (converted_reloc)
+ converted = TRUE;
+ }
+
if (! elf_x86_64_tls_transition (info, abfd, sec, contents,
symtab_hdr, sym_hashes,
&r_type, GOT_UNKNOWN,
rel, rel_end, h, r_symndx, FALSE))
goto error_return;
- eh = (struct elf_x86_64_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
switch (r_type)
{
case R_X86_64_TLSLD:
- htab->tls_ld_got.refcount += 1;
+ htab->tls_ld_or_ldm_got.refcount += 1;
goto create_got;
case R_X86_64_TPOFF32:
if (!bfd_link_executable (info) && ABI_64_P (abfd))
- return elf_x86_64_need_pic (abfd, sec, h, symtab_hdr, isym,
+ return elf_x86_64_need_pic (info, abfd, sec, h, symtab_hdr, isym,
&x86_64_elf_howto_table[r_type]);
if (eh != NULL)
eh->has_got_reloc = 1;
@@ -2600,14 +2012,14 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (local_got_refcounts == NULL)
goto error_return;
elf_local_got_refcounts (abfd) = local_got_refcounts;
- elf_x86_64_local_tlsdesc_gotent (abfd)
+ elf_x86_local_tlsdesc_gotent (abfd)
= (bfd_vma *) (local_got_refcounts + symtab_hdr->sh_info);
- elf_x86_64_local_got_tls_type (abfd)
+ elf_x86_local_got_tls_type (abfd)
= (char *) (local_got_refcounts + 2 * symtab_hdr->sh_info);
}
local_got_refcounts[r_symndx] += 1;
old_tls_type
- = elf_x86_64_local_got_tls_type (abfd) [r_symndx];
+ = elf_x86_local_got_tls_type (abfd) [r_symndx];
}
/* If a TLS symbol is accessed using IE at least once,
@@ -2643,7 +2055,7 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (eh != NULL)
eh->tls_type = tls_type;
else
- elf_x86_64_local_got_tls_type (abfd) [r_symndx] = tls_type;
+ elf_x86_local_got_tls_type (abfd) [r_symndx] = tls_type;
}
}
/* Fall through */
@@ -2702,13 +2114,14 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
sections we don't care about, such as debug sections or
when relocation overflow check is disabled. */
if (!info->no_reloc_overflow_check
+ && !converted_reloc
&& (bfd_link_pic (info)
|| (bfd_link_executable (info)
&& h != NULL
&& !h->def_regular
&& h->def_dynamic
&& (sec->flags & SEC_READONLY) == 0)))
- return elf_x86_64_need_pic (abfd, sec, h, symtab_hdr, isym,
+ return elf_x86_64_need_pic (info, abfd, sec, h, symtab_hdr, isym,
&x86_64_elf_howto_table[r_type]);
/* Fall through. */
@@ -2895,25 +2308,24 @@ do_size:
default:
break;
}
-
- if ((r_type == R_X86_64_GOTPCREL
- || r_type == R_X86_64_GOTPCRELX
- || r_type == R_X86_64_REX_GOTPCRELX)
- && (h == NULL || h->type != STT_GNU_IFUNC))
- sec->need_convert_load = 1;
}
if (elf_section_data (sec)->this_hdr.contents != contents)
{
- if (!info->keep_memory)
+ if (!converted && !info->keep_memory)
free (contents);
else
{
- /* Cache the section contents for elf_link_input_bfd. */
+ /* Cache the section contents for elf_link_input_bfd if any
+ load is converted or --no-keep-memory isn't used. */
elf_section_data (sec)->this_hdr.contents = contents;
}
}
+ /* Cache relocations if any load is converted. */
+ if (elf_section_data (sec)->relocs != relocs && converted)
+ elf_section_data (sec)->relocs = (Elf_Internal_Rela *) relocs;
+
return TRUE;
error_return:
@@ -2923,1291 +2335,6 @@ error_return:
return FALSE;
}
-/* Return the section that should be marked against GC for a given
- relocation. */
-
-static asection *
-elf_x86_64_gc_mark_hook (asection *sec,
- struct bfd_link_info *info,
- Elf_Internal_Rela *rel,
- struct elf_link_hash_entry *h,
- Elf_Internal_Sym *sym)
-{
- if (h != NULL)
- switch (ELF32_R_TYPE (rel->r_info))
- {
- case R_X86_64_GNU_VTINHERIT:
- case R_X86_64_GNU_VTENTRY:
- return NULL;
- }
-
- return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
-}
-
-/* Remove undefined weak symbol from the dynamic symbol table if it
- is resolved to 0. */
-
-static bfd_boolean
-elf_x86_64_fixup_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
-{
- if (h->dynindx != -1
- && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- elf_x86_64_hash_entry (h)->has_got_reloc,
- elf_x86_64_hash_entry (h)))
- {
- h->dynindx = -1;
- _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
- h->dynstr_index);
- }
- return TRUE;
-}
-
-/* Adjust a symbol defined by a dynamic object and referenced by a
- regular object. The current definition is in some section of the
- dynamic object, but we're not including those sections. We have to
- change the definition to something the rest of the link can
- understand. */
-
-static bfd_boolean
-elf_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
-{
- struct elf_x86_64_link_hash_table *htab;
- asection *s, *srel;
- struct elf_x86_64_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
-
- /* STT_GNU_IFUNC symbol must go through PLT. */
- if (h->type == STT_GNU_IFUNC)
- {
- /* All local STT_GNU_IFUNC references must be treate as local
- calls via local PLT. */
- if (h->ref_regular
- && SYMBOL_CALLS_LOCAL (info, h))
- {
- bfd_size_type pc_count = 0, count = 0;
- struct elf_dyn_relocs **pp;
-
- eh = (struct elf_x86_64_link_hash_entry *) h;
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- pc_count += p->pc_count;
- p->count -= p->pc_count;
- p->pc_count = 0;
- count += p->count;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
-
- if (pc_count || count)
- {
- h->non_got_ref = 1;
- if (pc_count)
- {
- /* Increment PLT reference count only for PC-relative
- references. */
- h->needs_plt = 1;
- if (h->plt.refcount <= 0)
- h->plt.refcount = 1;
- else
- h->plt.refcount += 1;
- }
- }
- }
-
- if (h->plt.refcount <= 0)
- {
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
- return TRUE;
- }
-
- /* If this is a function, put it in the procedure linkage table. We
- will fill in the contents of the procedure linkage table later,
- when we know the address of the .got section. */
- if (h->type == STT_FUNC
- || h->needs_plt)
- {
- if (h->plt.refcount <= 0
- || SYMBOL_CALLS_LOCAL (info, h)
- || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
- && h->root.type == bfd_link_hash_undefweak))
- {
- /* This case can occur if we saw a PLT32 reloc in an input
- file, but the symbol was never referred to by a dynamic
- object, or if all references were garbage collected. In
- such a case, we don't actually need to build a procedure
- linkage table, and we can just do a PC32 reloc instead. */
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
-
- return TRUE;
- }
- else
- /* It's possible that we incorrectly decided a .plt reloc was
- needed for an R_X86_64_PC32 reloc to a non-function sym in
- check_relocs. We can't decide accurately between function and
- non-function syms in check-relocs; Objects loaded later in
- the link may change h->type. So fix it now. */
- h->plt.offset = (bfd_vma) -1;
-
- /* If this is a weak symbol, and there is a real definition, the
- processor independent code will have arranged for us to see the
- real definition first, and we can just use the same value. */
- if (h->u.weakdef != NULL)
- {
- BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
- || h->u.weakdef->root.type == bfd_link_hash_defweak);
- h->root.u.def.section = h->u.weakdef->root.u.def.section;
- h->root.u.def.value = h->u.weakdef->root.u.def.value;
- if (ELIMINATE_COPY_RELOCS || info->nocopyreloc)
- {
- eh = (struct elf_x86_64_link_hash_entry *) h;
- h->non_got_ref = h->u.weakdef->non_got_ref;
- eh->needs_copy = h->u.weakdef->needs_copy;
- }
- return TRUE;
- }
-
- /* This is a reference to a symbol defined by a dynamic object which
- is not a function. */
-
- /* If we are creating a shared library, we must presume that the
- only references to the symbol are via the global offset table.
- For such cases we need not do anything here; the relocations will
- be handled correctly by relocate_section. */
- if (!bfd_link_executable (info))
- return TRUE;
-
- /* If there are no references to this symbol that do not use the
- GOT, we don't need to generate a copy reloc. */
- if (!h->non_got_ref)
- return TRUE;
-
- /* If -z nocopyreloc was given, we won't generate them either. */
- if (info->nocopyreloc)
- {
- h->non_got_ref = 0;
- return TRUE;
- }
-
- if (ELIMINATE_COPY_RELOCS)
- {
- eh = (struct elf_x86_64_link_hash_entry *) h;
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- s = p->sec->output_section;
- if (s != NULL && (s->flags & SEC_READONLY) != 0)
- break;
- }
-
- /* If we didn't find any dynamic relocs in read-only sections, then
- we'll be keeping the dynamic relocs and avoiding the copy reloc. */
- if (p == NULL)
- {
- h->non_got_ref = 0;
- return TRUE;
- }
- }
-
- /* We must allocate the symbol in our .dynbss section, which will
- become part of the .bss section of the executable. There will be
- an entry for this symbol in the .dynsym section. The dynamic
- object will contain position independent code, so all references
- from the dynamic object to this symbol will go through the global
- offset table. The dynamic linker will use the .dynsym entry to
- determine the address it must put in the global offset table, so
- both the dynamic object and the regular object will refer to the
- same memory location for the variable. */
-
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- /* We must generate a R_X86_64_COPY reloc to tell the dynamic linker
- to copy the initial value out of the dynamic object and into the
- runtime process image. */
- if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
- {
- s = htab->elf.sdynrelro;
- srel = htab->elf.sreldynrelro;
- }
- else
- {
- s = htab->elf.sdynbss;
- srel = htab->elf.srelbss;
- }
- if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
- {
- const struct elf_backend_data *bed;
- bed = get_elf_backend_data (info->output_bfd);
- srel->size += bed->s->sizeof_rela;
- h->needs_copy = 1;
- }
-
- return _bfd_elf_adjust_dynamic_copy (info, h, s);
-}
-
-/* Allocate space in .plt, .got and associated reloc sections for
- dynamic relocs. */
-
-static bfd_boolean
-elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
-{
- struct bfd_link_info *info;
- struct elf_x86_64_link_hash_table *htab;
- struct elf_x86_64_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
- const struct elf_backend_data *bed;
- unsigned int plt_entry_size;
- bfd_boolean resolved_to_zero;
-
- if (h->root.type == bfd_link_hash_indirect)
- return TRUE;
-
- eh = (struct elf_x86_64_link_hash_entry *) h;
-
- info = (struct bfd_link_info *) inf;
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return FALSE;
- bed = get_elf_backend_data (info->output_bfd);
- plt_entry_size = htab->plt.plt_entry_size;
-
- resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh);
-
- /* We can't use the GOT PLT if pointer equality is needed since
- finish_dynamic_symbol won't clear symbol value and the dynamic
- linker won't update the GOT slot. We will get into an infinite
- loop at run-time. */
- if (htab->plt_got != NULL
- && h->type != STT_GNU_IFUNC
- && !h->pointer_equality_needed
- && h->plt.refcount > 0
- && h->got.refcount > 0)
- {
- /* Don't use the regular PLT if there are both GOT and GOTPLT
- reloctions. */
- h->plt.offset = (bfd_vma) -1;
-
- /* Use the GOT PLT. */
- eh->plt_got.refcount = 1;
- }
-
- /* Clear the reference count of function pointer relocations if
- symbol isn't a normal function. */
- if (h->type != STT_FUNC)
- eh->func_pointer_refcount = 0;
-
- /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
- here if it is defined and referenced in a non-shared object. */
- if (h->type == STT_GNU_IFUNC
- && h->def_regular)
- {
- if (_bfd_elf_allocate_ifunc_dyn_relocs (info, h,
- &eh->dyn_relocs,
- &htab->readonly_dynrelocs_against_ifunc,
- plt_entry_size,
- (htab->plt.has_plt0
- * plt_entry_size),
- GOT_ENTRY_SIZE, TRUE))
- {
- asection *s = htab->plt_second;
- if (h->plt.offset != (bfd_vma) -1 && s != NULL)
- {
- /* Use the second PLT section if it is created. */
- eh->plt_second.offset = s->size;
-
- /* Make room for this entry in the second PLT section. */
- s->size += htab->non_lazy_plt->plt_entry_size;
- }
-
- return TRUE;
- }
- else
- return FALSE;
- }
- /* Don't create the PLT entry if there are only function pointer
- relocations which can be resolved at run-time. */
- else if (htab->elf.dynamic_sections_created
- && (h->plt.refcount > eh->func_pointer_refcount
- || eh->plt_got.refcount > 0))
- {
- bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
-
- /* Clear the reference count of function pointer relocations
- if PLT is used. */
- eh->func_pointer_refcount = 0;
-
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && !h->forced_local
- && !resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
-
- if (bfd_link_pic (info)
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
- {
- asection *s = htab->elf.splt;
- asection *second_s = htab->plt_second;
- asection *got_s = htab->plt_got;
-
- /* If this is the first .plt entry, make room for the special
- first entry. The .plt section is used by prelink to undo
- prelinking for dynamic relocations. */
- if (s->size == 0)
- s->size = htab->plt.has_plt0 * plt_entry_size;
-
- if (use_plt_got)
- eh->plt_got.offset = got_s->size;
- else
- {
- h->plt.offset = s->size;
- if (second_s)
- eh->plt_second.offset = second_s->size;
- }
-
- /* If this symbol is not defined in a regular file, and we are
- not generating a shared library, then set the symbol to this
- location in the .plt. This is required to make function
- pointers compare as equal between the normal executable and
- the shared library. */
- if (! bfd_link_pic (info)
- && !h->def_regular)
- {
- if (use_plt_got)
- {
- /* We need to make a call to the entry of the GOT PLT
- instead of regular PLT entry. */
- h->root.u.def.section = got_s;
- h->root.u.def.value = eh->plt_got.offset;
- }
- else
- {
- if (second_s)
- {
- /* We need to make a call to the entry of the
- second PLT instead of regular PLT entry. */
- h->root.u.def.section = second_s;
- h->root.u.def.value = eh->plt_second.offset;
- }
- else
- {
- h->root.u.def.section = s;
- h->root.u.def.value = h->plt.offset;
- }
- }
- }
-
- /* Make room for this entry. */
- if (use_plt_got)
- got_s->size += htab->non_lazy_plt->plt_entry_size;
- else
- {
- s->size += plt_entry_size;
- if (second_s)
- second_s->size += htab->non_lazy_plt->plt_entry_size;
-
- /* We also need to make an entry in the .got.plt section,
- which will be placed in the .got section by the linker
- script. */
- htab->elf.sgotplt->size += GOT_ENTRY_SIZE;
-
- /* There should be no PLT relocation against resolved
- undefined weak symbol in executable. */
- if (!resolved_to_zero)
- {
- /* We also need to make an entry in the .rela.plt
- section. */
- htab->elf.srelplt->size += bed->s->sizeof_rela;
- htab->elf.srelplt->reloc_count++;
- }
- }
- }
- else
- {
- eh->plt_got.offset = (bfd_vma) -1;
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
- }
- else
- {
- eh->plt_got.offset = (bfd_vma) -1;
- h->plt.offset = (bfd_vma) -1;
- h->needs_plt = 0;
- }
-
- eh->tlsdesc_got = (bfd_vma) -1;
-
- /* If R_X86_64_GOTTPOFF symbol is now local to the binary,
- make it a R_X86_64_TPOFF32 requiring no GOT entry. */
- if (h->got.refcount > 0
- && bfd_link_executable (info)
- && h->dynindx == -1
- && elf_x86_64_hash_entry (h)->tls_type == GOT_TLS_IE)
- {
- h->got.offset = (bfd_vma) -1;
- }
- else if (h->got.refcount > 0)
- {
- asection *s;
- bfd_boolean dyn;
- int tls_type = elf_x86_64_hash_entry (h)->tls_type;
-
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && !h->forced_local
- && !resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak)
- {
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
-
- if (GOT_TLS_GDESC_P (tls_type))
- {
- eh->tlsdesc_got = htab->elf.sgotplt->size
- - elf_x86_64_compute_jump_table_size (htab);
- htab->elf.sgotplt->size += 2 * GOT_ENTRY_SIZE;
- h->got.offset = (bfd_vma) -2;
- }
- if (! GOT_TLS_GDESC_P (tls_type)
- || GOT_TLS_GD_P (tls_type))
- {
- s = htab->elf.sgot;
- h->got.offset = s->size;
- s->size += GOT_ENTRY_SIZE;
- if (GOT_TLS_GD_P (tls_type))
- s->size += GOT_ENTRY_SIZE;
- }
- dyn = htab->elf.dynamic_sections_created;
- /* R_X86_64_TLSGD needs one dynamic relocation if local symbol
- and two if global. R_X86_64_GOTTPOFF needs one dynamic
- relocation. No dynamic relocation against resolved undefined
- weak symbol in executable. */
- if ((GOT_TLS_GD_P (tls_type) && h->dynindx == -1)
- || tls_type == GOT_TLS_IE)
- htab->elf.srelgot->size += bed->s->sizeof_rela;
- else if (GOT_TLS_GD_P (tls_type))
- htab->elf.srelgot->size += 2 * bed->s->sizeof_rela;
- else if (! GOT_TLS_GDESC_P (tls_type)
- && ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
- && !resolved_to_zero)
- || h->root.type != bfd_link_hash_undefweak)
- && (bfd_link_pic (info)
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)))
- htab->elf.srelgot->size += bed->s->sizeof_rela;
- if (GOT_TLS_GDESC_P (tls_type))
- {
- htab->elf.srelplt->size += bed->s->sizeof_rela;
- htab->tlsdesc_plt = (bfd_vma) -1;
- }
- }
- else
- h->got.offset = (bfd_vma) -1;
-
- if (eh->dyn_relocs == NULL)
- return TRUE;
-
- /* In the shared -Bsymbolic case, discard space allocated for
- dynamic pc-relative relocs against symbols which turn out to be
- defined in regular objects. For the normal shared case, discard
- space for pc-relative relocs that have become local due to symbol
- visibility changes. */
-
- if (bfd_link_pic (info))
- {
- /* Relocs that use pc_count are those that appear on a call
- insn, or certain REL relocs that can generated via assembly.
- We want calls to protected symbols to resolve directly to the
- function rather than going via the plt. If people want
- function pointer comparisons to work as expected then they
- should avoid writing weird assembly. */
- if (SYMBOL_CALLS_LOCAL (info, h))
- {
- struct elf_dyn_relocs **pp;
-
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
-
- /* Also discard relocs on undefined weak syms with non-default
- visibility or in PIE. */
- if (eh->dyn_relocs != NULL)
- {
- if (h->root.type == bfd_link_hash_undefweak)
- {
- /* Undefined weak symbol is never bound locally in shared
- library. */
- if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
- || resolved_to_zero)
- eh->dyn_relocs = NULL;
- else if (h->dynindx == -1
- && ! h->forced_local
- && ! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
- }
- /* For PIE, discard space for pc-relative relocs against
- symbols which turn out to need copy relocs. */
- else if (bfd_link_executable (info)
- && (h->needs_copy || eh->needs_copy)
- && h->def_dynamic
- && !h->def_regular)
- {
- struct elf_dyn_relocs **pp;
-
- for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
- {
- if (p->pc_count != 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
- }
- }
- else if (ELIMINATE_COPY_RELOCS)
- {
- /* For the non-shared case, discard space for relocs against
- symbols which turn out to need copy relocs or are not
- dynamic. Keep dynamic relocations for run-time function
- pointer initialization. */
-
- if ((!h->non_got_ref
- || eh->func_pointer_refcount > 0
- || (h->root.type == bfd_link_hash_undefweak
- && !resolved_to_zero))
- && ((h->def_dynamic
- && !h->def_regular)
- || (htab->elf.dynamic_sections_created
- && (h->root.type == bfd_link_hash_undefweak
- || h->root.type == bfd_link_hash_undefined))))
- {
- /* Make sure this symbol is output as a dynamic symbol.
- Undefined weak syms won't yet be marked as dynamic. */
- if (h->dynindx == -1
- && ! h->forced_local
- && ! resolved_to_zero
- && h->root.type == bfd_link_hash_undefweak
- && ! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
-
- /* If that succeeded, we know we'll be keeping all the
- relocs. */
- if (h->dynindx != -1)
- goto keep;
- }
-
- eh->dyn_relocs = NULL;
- eh->func_pointer_refcount = 0;
-
- keep: ;
- }
-
- /* Finally, allocate space. */
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection * sreloc;
-
- sreloc = elf_section_data (p->sec)->sreloc;
-
- BFD_ASSERT (sreloc != NULL);
-
- sreloc->size += p->count * bed->s->sizeof_rela;
- }
-
- return TRUE;
-}
-
-/* Allocate space in .plt, .got and associated reloc sections for
- local dynamic relocs. */
-
-static bfd_boolean
-elf_x86_64_allocate_local_dynrelocs (void **slot, void *inf)
-{
- struct elf_link_hash_entry *h
- = (struct elf_link_hash_entry *) *slot;
-
- if (h->type != STT_GNU_IFUNC
- || !h->def_regular
- || !h->ref_regular
- || !h->forced_local
- || h->root.type != bfd_link_hash_defined)
- abort ();
-
- return elf_x86_64_allocate_dynrelocs (h, inf);
-}
-
-/* Find any dynamic relocs that apply to read-only sections. */
-
-static bfd_boolean
-elf_x86_64_readonly_dynrelocs (struct elf_link_hash_entry *h,
- void * inf)
-{
- struct elf_x86_64_link_hash_entry *eh;
- struct elf_dyn_relocs *p;
-
- /* Skip local IFUNC symbols. */
- if (h->forced_local && h->type == STT_GNU_IFUNC)
- return TRUE;
-
- eh = (struct elf_x86_64_link_hash_entry *) h;
- for (p = eh->dyn_relocs; p != NULL; p = p->next)
- {
- asection *s = p->sec->output_section;
-
- if (s != NULL && (s->flags & SEC_READONLY) != 0)
- {
- struct bfd_link_info *info = (struct bfd_link_info *) inf;
-
- info->flags |= DF_TEXTREL;
-
- if ((info->warn_shared_textrel && bfd_link_pic (info))
- || info->error_textrel)
- /* xgettext:c-format */
- info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
- p->sec->owner, h->root.root.string,
- p->sec);
-
- /* Not an error, just cut short the traversal. */
- return FALSE;
- }
- }
- return TRUE;
-}
-
-/* Convert load via the GOT slot to load immediate. */
-
-static bfd_boolean
-elf_x86_64_convert_load (bfd *abfd, asection *sec,
- struct bfd_link_info *link_info)
-{
- Elf_Internal_Shdr *symtab_hdr;
- Elf_Internal_Rela *internal_relocs;
- Elf_Internal_Rela *irel, *irelend;
- bfd_byte *contents;
- struct elf_x86_64_link_hash_table *htab;
- bfd_boolean changed;
- bfd_signed_vma *local_got_refcounts;
-
- /* Don't even try to convert non-ELF outputs. */
- if (!is_elf_hash_table (link_info->hash))
- return FALSE;
-
- /* Nothing to do if there is no need or no output. */
- if ((sec->flags & (SEC_CODE | SEC_RELOC)) != (SEC_CODE | SEC_RELOC)
- || sec->need_convert_load == 0
- || bfd_is_abs_section (sec->output_section))
- return TRUE;
-
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-
- /* Load the relocations for this section. */
- internal_relocs = (_bfd_elf_link_read_relocs
- (abfd, sec, NULL, (Elf_Internal_Rela *) NULL,
- link_info->keep_memory));
- if (internal_relocs == NULL)
- return FALSE;
-
- changed = FALSE;
- htab = elf_x86_64_hash_table (link_info);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
- /* Get the section contents. */
- if (elf_section_data (sec)->this_hdr.contents != NULL)
- contents = elf_section_data (sec)->this_hdr.contents;
- else
- {
- if (!bfd_malloc_and_get_section (abfd, sec, &contents))
- goto error_return;
- }
-
- irelend = internal_relocs + sec->reloc_count;
- for (irel = internal_relocs; irel < irelend; irel++)
- {
- unsigned int r_type = ELF32_R_TYPE (irel->r_info);
- unsigned int r_symndx;
- struct elf_link_hash_entry *h;
- bfd_boolean converted;
-
- if (r_type != R_X86_64_GOTPCRELX
- && r_type != R_X86_64_REX_GOTPCRELX
- && r_type != R_X86_64_GOTPCREL)
- continue;
-
- r_symndx = htab->r_sym (irel->r_info);
- if (r_symndx < symtab_hdr->sh_info)
- h = elf_x86_64_get_local_sym_hash (htab, sec->owner,
- (const Elf_Internal_Rela *) irel,
- FALSE);
- else
- {
- h = elf_sym_hashes (abfd)[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- }
-
- /* STT_GNU_IFUNC must keep GOTPCREL relocations. */
- if (h != NULL && h->type == STT_GNU_IFUNC)
- continue;
-
- converted = FALSE;
- if (!elf_x86_64_convert_load_reloc (abfd, sec, contents, irel, h,
- &converted, link_info))
- goto error_return;
-
- if (converted)
- {
- changed = converted;
- if (h)
- {
- if (h->got.refcount > 0)
- h->got.refcount -= 1;
- }
- else
- {
- if (local_got_refcounts != NULL
- && local_got_refcounts[r_symndx] > 0)
- local_got_refcounts[r_symndx] -= 1;
- }
- }
- }
-
- if (contents != NULL
- && elf_section_data (sec)->this_hdr.contents != contents)
- {
- if (!changed && !link_info->keep_memory)
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd. */
- elf_section_data (sec)->this_hdr.contents = contents;
- }
- }
-
- if (elf_section_data (sec)->relocs != internal_relocs)
- {
- if (!changed)
- free (internal_relocs);
- else
- elf_section_data (sec)->relocs = internal_relocs;
- }
-
- return TRUE;
-
- error_return:
- if (contents != NULL
- && elf_section_data (sec)->this_hdr.contents != contents)
- free (contents);
- if (internal_relocs != NULL
- && elf_section_data (sec)->relocs != internal_relocs)
- free (internal_relocs);
- return FALSE;
-}
-
-/* Set the sizes of the dynamic sections. */
-
-static bfd_boolean
-elf_x86_64_size_dynamic_sections (bfd *output_bfd,
- struct bfd_link_info *info)
-{
- struct elf_x86_64_link_hash_table *htab;
- bfd *dynobj;
- asection *s;
- bfd_boolean relocs;
- bfd *ibfd;
- const struct elf_backend_data *bed;
-
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return FALSE;
- bed = get_elf_backend_data (output_bfd);
-
- dynobj = htab->elf.dynobj;
- if (dynobj == NULL)
- abort ();
-
- /* Set up .got offsets for local syms, and space for local dynamic
- relocs. */
- for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
- {
- bfd_signed_vma *local_got;
- bfd_signed_vma *end_local_got;
- char *local_tls_type;
- bfd_vma *local_tlsdesc_gotent;
- bfd_size_type locsymcount;
- Elf_Internal_Shdr *symtab_hdr;
- asection *srel;
-
- if (! is_x86_64_elf (ibfd))
- continue;
-
- for (s = ibfd->sections; s != NULL; s = s->next)
- {
- struct elf_dyn_relocs *p;
-
- if (!elf_x86_64_convert_load (ibfd, s, info))
- return FALSE;
-
- for (p = (struct elf_dyn_relocs *)
- (elf_section_data (s)->local_dynrel);
- p != NULL;
- p = p->next)
- {
- if (!bfd_is_abs_section (p->sec)
- && bfd_is_abs_section (p->sec->output_section))
- {
- /* Input section has been discarded, either because
- it is a copy of a linkonce section or due to
- linker script /DISCARD/, so we'll be discarding
- the relocs too. */
- }
- else if (p->count != 0)
- {
- srel = elf_section_data (p->sec)->sreloc;
- srel->size += p->count * bed->s->sizeof_rela;
- if ((p->sec->output_section->flags & SEC_READONLY) != 0
- && (info->flags & DF_TEXTREL) == 0)
- {
- info->flags |= DF_TEXTREL;
- if ((info->warn_shared_textrel && bfd_link_pic (info))
- || info->error_textrel)
- /* xgettext:c-format */
- info->callbacks->einfo (_("%P: %B: warning: relocation in readonly section `%A'\n"),
- p->sec->owner, p->sec);
- }
- }
- }
- }
-
- local_got = elf_local_got_refcounts (ibfd);
- if (!local_got)
- continue;
-
- symtab_hdr = &elf_symtab_hdr (ibfd);
- locsymcount = symtab_hdr->sh_info;
- end_local_got = local_got + locsymcount;
- local_tls_type = elf_x86_64_local_got_tls_type (ibfd);
- local_tlsdesc_gotent = elf_x86_64_local_tlsdesc_gotent (ibfd);
- s = htab->elf.sgot;
- srel = htab->elf.srelgot;
- for (; local_got < end_local_got;
- ++local_got, ++local_tls_type, ++local_tlsdesc_gotent)
- {
- *local_tlsdesc_gotent = (bfd_vma) -1;
- if (*local_got > 0)
- {
- if (GOT_TLS_GDESC_P (*local_tls_type))
- {
- *local_tlsdesc_gotent = htab->elf.sgotplt->size
- - elf_x86_64_compute_jump_table_size (htab);
- htab->elf.sgotplt->size += 2 * GOT_ENTRY_SIZE;
- *local_got = (bfd_vma) -2;
- }
- if (! GOT_TLS_GDESC_P (*local_tls_type)
- || GOT_TLS_GD_P (*local_tls_type))
- {
- *local_got = s->size;
- s->size += GOT_ENTRY_SIZE;
- if (GOT_TLS_GD_P (*local_tls_type))
- s->size += GOT_ENTRY_SIZE;
- }
- if (bfd_link_pic (info)
- || GOT_TLS_GD_ANY_P (*local_tls_type)
- || *local_tls_type == GOT_TLS_IE)
- {
- if (GOT_TLS_GDESC_P (*local_tls_type))
- {
- htab->elf.srelplt->size
- += bed->s->sizeof_rela;
- htab->tlsdesc_plt = (bfd_vma) -1;
- }
- if (! GOT_TLS_GDESC_P (*local_tls_type)
- || GOT_TLS_GD_P (*local_tls_type))
- srel->size += bed->s->sizeof_rela;
- }
- }
- else
- *local_got = (bfd_vma) -1;
- }
- }
-
- if (htab->tls_ld_got.refcount > 0)
- {
- /* Allocate 2 got entries and 1 dynamic reloc for R_X86_64_TLSLD
- relocs. */
- htab->tls_ld_got.offset = htab->elf.sgot->size;
- htab->elf.sgot->size += 2 * GOT_ENTRY_SIZE;
- htab->elf.srelgot->size += bed->s->sizeof_rela;
- }
- else
- htab->tls_ld_got.offset = -1;
-
- /* Allocate global sym .plt and .got entries, and space for global
- sym dynamic relocs. */
- elf_link_hash_traverse (&htab->elf, elf_x86_64_allocate_dynrelocs,
- info);
-
- /* Allocate .plt and .got entries, and space for local symbols. */
- htab_traverse (htab->loc_hash_table,
- elf_x86_64_allocate_local_dynrelocs,
- info);
-
- /* For every jump slot reserved in the sgotplt, reloc_count is
- incremented. However, when we reserve space for TLS descriptors,
- it's not incremented, so in order to compute the space reserved
- for them, it suffices to multiply the reloc count by the jump
- slot size.
-
- PR ld/13302: We start next_irelative_index at the end of .rela.plt
- so that R_X86_64_IRELATIVE entries come last. */
- if (htab->elf.srelplt)
- {
- htab->sgotplt_jump_table_size
- = elf_x86_64_compute_jump_table_size (htab);
- htab->next_irelative_index = htab->elf.srelplt->reloc_count - 1;
- }
- else if (htab->elf.irelplt)
- htab->next_irelative_index = htab->elf.irelplt->reloc_count - 1;
-
- if (htab->tlsdesc_plt)
- {
- /* If we're not using lazy TLS relocations, don't generate the
- PLT and GOT entries they require. */
- if ((info->flags & DF_BIND_NOW))
- htab->tlsdesc_plt = 0;
- else
- {
- htab->tlsdesc_got = htab->elf.sgot->size;
- htab->elf.sgot->size += GOT_ENTRY_SIZE;
- /* Reserve room for the initial entry.
- FIXME: we could probably do away with it in this case. */
- if (htab->elf.splt->size == 0)
- htab->elf.splt->size = htab->plt.plt_entry_size;
- htab->tlsdesc_plt = htab->elf.splt->size;
- htab->elf.splt->size += htab->plt.plt_entry_size;
- }
- }
-
- if (htab->elf.sgotplt)
- {
- /* Don't allocate .got.plt section if there are no GOT nor PLT
- entries and there is no refeence to _GLOBAL_OFFSET_TABLE_. */
- if ((htab->elf.hgot == NULL
- || !htab->elf.hgot->ref_regular_nonweak)
- && (htab->elf.sgotplt->size
- == get_elf_backend_data (output_bfd)->got_header_size)
- && (htab->elf.splt == NULL
- || htab->elf.splt->size == 0)
- && (htab->elf.sgot == NULL
- || htab->elf.sgot->size == 0)
- && (htab->elf.iplt == NULL
- || htab->elf.iplt->size == 0)
- && (htab->elf.igotplt == NULL
- || htab->elf.igotplt->size == 0))
- htab->elf.sgotplt->size = 0;
- }
-
- if (_bfd_elf_eh_frame_present (info))
- {
- if (htab->plt_eh_frame != NULL
- && htab->elf.splt != NULL
- && htab->elf.splt->size != 0
- && !bfd_is_abs_section (htab->elf.splt->output_section))
- htab->plt_eh_frame->size = htab->plt.eh_frame_plt_size;
-
- if (htab->plt_got_eh_frame != NULL
- && htab->plt_got != NULL
- && htab->plt_got->size != 0
- && !bfd_is_abs_section (htab->plt_got->output_section))
- htab->plt_got_eh_frame->size
- = htab->non_lazy_plt->eh_frame_plt_size;
-
- /* Unwind info for the second PLT and .plt.got sections are
- identical. */
- if (htab->plt_second_eh_frame != NULL
- && htab->plt_second != NULL
- && htab->plt_second->size != 0
- && !bfd_is_abs_section (htab->plt_second->output_section))
- htab->plt_second_eh_frame->size
- = htab->non_lazy_plt->eh_frame_plt_size;
- }
-
- /* We now have determined the sizes of the various dynamic sections.
- Allocate memory for them. */
- relocs = FALSE;
- for (s = dynobj->sections; s != NULL; s = s->next)
- {
- if ((s->flags & SEC_LINKER_CREATED) == 0)
- continue;
-
- if (s == htab->elf.splt
- || s == htab->elf.sgot
- || s == htab->elf.sgotplt
- || s == htab->elf.iplt
- || s == htab->elf.igotplt
- || s == htab->plt_second
- || s == htab->plt_got
- || s == htab->plt_eh_frame
- || s == htab->plt_got_eh_frame
- || s == htab->plt_second_eh_frame
- || s == htab->elf.sdynbss
- || s == htab->elf.sdynrelro)
- {
- /* Strip this section if we don't need it; see the
- comment below. */
- }
- else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
- {
- if (s->size != 0 && s != htab->elf.srelplt)
- relocs = TRUE;
-
- /* We use the reloc_count field as a counter if we need
- to copy relocs into the output file. */
- if (s != htab->elf.srelplt)
- s->reloc_count = 0;
- }
- else
- {
- /* It's not one of our sections, so don't allocate space. */
- continue;
- }
-
- if (s->size == 0)
- {
- /* If we don't need this section, strip it from the
- output file. This is mostly to handle .rela.bss and
- .rela.plt. We must create both sections in
- create_dynamic_sections, because they must be created
- before the linker maps input sections to output
- sections. The linker does that before
- adjust_dynamic_symbol is called, and it is that
- function which decides whether anything needs to go
- into these sections. */
-
- s->flags |= SEC_EXCLUDE;
- continue;
- }
-
- if ((s->flags & SEC_HAS_CONTENTS) == 0)
- continue;
-
- /* Allocate memory for the section contents. We use bfd_zalloc
- here in case unused entries are not reclaimed before the
- section's contents are written out. This should not happen,
- but this way if it does, we get a R_X86_64_NONE reloc instead
- of garbage. */
- s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
- if (s->contents == NULL)
- return FALSE;
- }
-
- if (htab->plt_eh_frame != NULL
- && htab->plt_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_eh_frame->contents,
- htab->plt.eh_frame_plt, htab->plt_eh_frame->size);
- bfd_put_32 (dynobj, htab->elf.splt->size,
- htab->plt_eh_frame->contents + PLT_FDE_LEN_OFFSET);
- }
-
- if (htab->plt_got_eh_frame != NULL
- && htab->plt_got_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_got_eh_frame->contents,
- htab->non_lazy_plt->eh_frame_plt,
- htab->plt_got_eh_frame->size);
- bfd_put_32 (dynobj, htab->plt_got->size,
- (htab->plt_got_eh_frame->contents
- + PLT_FDE_LEN_OFFSET));
- }
-
- if (htab->plt_second_eh_frame != NULL
- && htab->plt_second_eh_frame->contents != NULL)
- {
- memcpy (htab->plt_second_eh_frame->contents,
- htab->non_lazy_plt->eh_frame_plt,
- htab->plt_second_eh_frame->size);
- bfd_put_32 (dynobj, htab->plt_second->size,
- (htab->plt_second_eh_frame->contents
- + PLT_FDE_LEN_OFFSET));
- }
-
- if (htab->elf.dynamic_sections_created)
- {
- /* Add some entries to the .dynamic section. We fill in the
- values later, in elf_x86_64_finish_dynamic_sections, but we
- must add the entries now so that we get the correct size for
- the .dynamic section. The DT_DEBUG entry is filled in by the
- dynamic linker and used by the debugger. */
-#define add_dynamic_entry(TAG, VAL) \
- _bfd_elf_add_dynamic_entry (info, TAG, VAL)
-
- if (bfd_link_executable (info))
- {
- if (!add_dynamic_entry (DT_DEBUG, 0))
- return FALSE;
- }
-
- if (htab->elf.splt->size != 0)
- {
- /* DT_PLTGOT is used by prelink even if there is no PLT
- relocation. */
- if (!add_dynamic_entry (DT_PLTGOT, 0))
- return FALSE;
- }
-
- if (htab->elf.srelplt->size != 0)
- {
- if (!add_dynamic_entry (DT_PLTRELSZ, 0)
- || !add_dynamic_entry (DT_PLTREL, DT_RELA)
- || !add_dynamic_entry (DT_JMPREL, 0))
- return FALSE;
- }
-
- if (htab->tlsdesc_plt
- && (!add_dynamic_entry (DT_TLSDESC_PLT, 0)
- || !add_dynamic_entry (DT_TLSDESC_GOT, 0)))
- return FALSE;
-
- if (relocs)
- {
- if (!add_dynamic_entry (DT_RELA, 0)
- || !add_dynamic_entry (DT_RELASZ, 0)
- || !add_dynamic_entry (DT_RELAENT, bed->s->sizeof_rela))
- return FALSE;
-
- /* If any dynamic relocs apply to a read-only section,
- then we need a DT_TEXTREL entry. */
- if ((info->flags & DF_TEXTREL) == 0)
- elf_link_hash_traverse (&htab->elf,
- elf_x86_64_readonly_dynrelocs,
- info);
-
- if ((info->flags & DF_TEXTREL) != 0)
- {
- if (htab->readonly_dynrelocs_against_ifunc)
- {
- info->callbacks->einfo
- (_("%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"));
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- if (!add_dynamic_entry (DT_TEXTREL, 0))
- return FALSE;
- }
- }
- }
-#undef add_dynamic_entry
-
- return TRUE;
-}
-
-static bfd_boolean
-elf_x86_64_always_size_sections (bfd *output_bfd,
- struct bfd_link_info *info)
-{
- asection *tls_sec = elf_hash_table (info)->tls_sec;
-
- if (tls_sec)
- {
- struct elf_link_hash_entry *tlsbase;
-
- tlsbase = elf_link_hash_lookup (elf_hash_table (info),
- "_TLS_MODULE_BASE_",
- FALSE, FALSE, FALSE);
-
- if (tlsbase && tlsbase->type == STT_TLS)
- {
- struct elf_x86_64_link_hash_table *htab;
- struct bfd_link_hash_entry *bh = NULL;
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
-
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return FALSE;
-
- if (!(_bfd_generic_link_add_one_symbol
- (info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
- tls_sec, 0, NULL, FALSE,
- bed->collect, &bh)))
- return FALSE;
-
- htab->tls_module_base = bh;
-
- tlsbase = (struct elf_link_hash_entry *)bh;
- tlsbase->def_regular = 1;
- tlsbase->other = STV_HIDDEN;
- tlsbase->root.linker_def = 1;
- (*bed->elf_backend_hide_symbol) (info, tlsbase, TRUE);
- }
- }
-
- return TRUE;
-}
-
-/* _TLS_MODULE_BASE_ needs to be treated especially when linking
- executables. Rather than setting it to the beginning of the TLS
- section, we have to set it to the end. This function may be called
- multiple times, it is idempotent. */
-
-static void
-elf_x86_64_set_tls_module_base (struct bfd_link_info *info)
-{
- struct elf_x86_64_link_hash_table *htab;
- struct bfd_link_hash_entry *base;
-
- if (!bfd_link_executable (info))
- return;
-
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return;
-
- base = htab->tls_module_base;
- if (base == NULL)
- return;
-
- base->u.def.value = htab->elf.tls_size;
-}
-
-/* Return the base VMA address which should be subtracted from real addresses
- when resolving @dtpoff relocation.
- This is PT_TLS segment p_vaddr. */
-
-static bfd_vma
-elf_x86_64_dtpoff_base (struct bfd_link_info *info)
-{
- /* If tls_sec is NULL, we should have signalled an error already. */
- if (elf_hash_table (info)->tls_sec == NULL)
- return 0;
- return elf_hash_table (info)->tls_sec->vma;
-}
-
/* Return the relocation value for @tpoff relocation
if STT_TLS virtual address is ADDRESS. */
@@ -4257,7 +2384,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
Elf_Internal_Sym *local_syms,
asection **local_sections)
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
bfd_vma *local_got_offsets;
@@ -4267,32 +2394,33 @@ elf_x86_64_relocate_section (bfd *output_bfd,
Elf_Internal_Rela *relend;
unsigned int plt_entry_size;
- BFD_ASSERT (is_x86_64_elf (input_bfd));
-
/* Skip if check_relocs failed. */
if (input_section->check_relocs_failed)
return FALSE;
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
return FALSE;
+
+ BFD_ASSERT (is_x86_elf (input_bfd, htab));
+
plt_entry_size = htab->plt.plt_entry_size;
symtab_hdr = &elf_symtab_hdr (input_bfd);
sym_hashes = elf_sym_hashes (input_bfd);
local_got_offsets = elf_local_got_offsets (input_bfd);
- local_tlsdesc_gotents = elf_x86_64_local_tlsdesc_gotent (input_bfd);
+ local_tlsdesc_gotents = elf_x86_local_tlsdesc_gotent (input_bfd);
- elf_x86_64_set_tls_module_base (info);
+ _bfd_x86_elf_set_tls_module_base (info);
rel = wrel = relocs;
relend = relocs + input_section->reloc_count;
for (; rel < relend; wrel++, rel++)
{
- unsigned int r_type;
+ unsigned int r_type, r_type_tls;
reloc_howto_type *howto;
unsigned long r_symndx;
struct elf_link_hash_entry *h;
- struct elf_x86_64_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
Elf_Internal_Sym *sym;
asection *sec;
bfd_vma off, offplt, plt_offset;
@@ -4304,6 +2432,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
bfd_vma st_size;
bfd_boolean resolved_to_zero;
bfd_boolean relative_reloc;
+ bfd_boolean converted_reloc;
r_type = ELF32_R_TYPE (rel->r_info);
if (r_type == (int) R_X86_64_GNU_VTINHERIT
@@ -4314,15 +2443,11 @@ elf_x86_64_relocate_section (bfd *output_bfd,
continue;
}
+ converted_reloc = (r_type & R_X86_64_converted_reloc_bit) != 0;
+ r_type &= ~R_X86_64_converted_reloc_bit;
+
if (r_type >= (int) R_X86_64_standard)
- {
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: unrecognized relocation (0x%x) in section `%A'"),
- input_bfd, r_type, input_section);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
if (r_type != (int) R_X86_64_32
|| ABI_64_P (output_bfd))
@@ -4348,8 +2473,8 @@ elf_x86_64_relocate_section (bfd *output_bfd,
if (!bfd_link_relocatable (info)
&& ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)
{
- h = elf_x86_64_get_local_sym_hash (htab, input_bfd,
- rel, FALSE);
+ h = _bfd_elf_x86_get_local_sym_hash (htab, input_bfd,
+ rel, FALSE);
if (h == NULL)
abort ();
@@ -4413,7 +2538,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
}
}
- eh = (struct elf_x86_64_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle
it here if it is defined in a non-shared object. */
@@ -4574,7 +2699,7 @@ do_ifunc_pointer:
_bfd_error_handler
/* xgettext:c-format */
(_("%B: relocation %s against STT_GNU_IFUNC "
- "symbol `%s' has non-zero addend: %d"),
+ "symbol `%s' has non-zero addend: %Ld"),
input_bfd, howto->name, name, rel->r_addend);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -4652,9 +2777,7 @@ do_ifunc_pointer:
}
resolved_to_zero = (eh != NULL
- && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh));
+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh));
/* When generating a shared object, the relocations handled here are
copied into the output file to be resolved at run time. */
@@ -4670,7 +2793,7 @@ do_ifunc_pointer:
case R_X86_64_GOTPCREL64:
/* Use global offset table entry as symbol value. */
case R_X86_64_GOTPLT64:
- /* This is obsolete and treated the the same as GOT64. */
+ /* This is obsolete and treated the same as GOT64. */
base_got = htab->elf.sgot;
if (htab->elf.sgot == NULL)
@@ -4700,7 +2823,7 @@ do_ifunc_pointer:
if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
|| (bfd_link_pic (info)
- && SYMBOL_REFERENCES_LOCAL (info, h))
+ && SYMBOL_REFERENCES_LOCAL_P (info, h))
|| (ELF_ST_VISIBILITY (h->other)
&& h->root.type == bfd_link_hash_undefweak))
{
@@ -4835,7 +2958,7 @@ do_ifunc_pointer:
return FALSE;
}
else if (!bfd_link_executable (info)
- && !SYMBOL_REFERENCES_LOCAL (info, h)
+ && !SYMBOL_REFERENCES_LOCAL_P (info, h)
&& (h->type == STT_FUNC
|| h->type == STT_OBJECT)
&& ELF_ST_VISIBILITY (h->other) == STV_PROTECTED)
@@ -4962,16 +3085,20 @@ do_ifunc_pointer:
case R_X86_64_PC32:
case R_X86_64_PC32_BND:
/* Don't complain about -fPIC if the symbol is undefined when
- building executable unless it is unresolved weak symbol. */
+ building executable unless it is unresolved weak symbol or
+ -z nocopyreloc is used. */
if ((input_section->flags & SEC_ALLOC) != 0
&& (input_section->flags & SEC_READONLY) != 0
&& h != NULL
&& ((bfd_link_executable (info)
- && h->root.type == bfd_link_hash_undefweak
- && !resolved_to_zero)
- || (bfd_link_pic (info)
- && !(bfd_link_pie (info)
- && h->root.type == bfd_link_hash_undefined))))
+ && ((h->root.type == bfd_link_hash_undefweak
+ && !resolved_to_zero)
+ || ((info->nocopyreloc
+ || (eh->def_protected
+ && elf_has_no_copy_on_protected (h->root.u.def.section->owner)))
+ && h->def_dynamic
+ && !(h->root.u.def.section->flags & SEC_CODE))))
+ || bfd_link_dll (info)))
{
bfd_boolean fail = FALSE;
bfd_boolean branch
@@ -4979,7 +3106,7 @@ do_ifunc_pointer:
|| r_type == R_X86_64_PC32_BND)
&& is_32bit_relative_branch (contents, rel->r_offset));
- if (SYMBOL_REFERENCES_LOCAL (info, h))
+ if (SYMBOL_REFERENCES_LOCAL_P (info, h))
{
/* Symbol is referenced locally. Make sure it is
defined locally or for a branch. */
@@ -4997,7 +3124,7 @@ do_ifunc_pointer:
}
if (fail)
- return elf_x86_64_need_pic (input_bfd, input_section,
+ return elf_x86_64_need_pic (info, input_bfd, input_section,
h, NULL, NULL, howto);
}
/* Fall through. */
@@ -5116,22 +3243,13 @@ direct:
else
name = bfd_elf_sym_name (input_bfd, symtab_hdr,
sym, NULL);
- if (addend < 0)
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: addend -0x%x in relocation %s against "
- "symbol `%s' at 0x%lx in section `%A' is "
- "out of range"),
- input_bfd, addend, howto->name, name,
- (unsigned long) rel->r_offset, input_section);
- else
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: addend 0x%x in relocation %s against "
- "symbol `%s' at 0x%lx in section `%A' is "
- "out of range"),
- input_bfd, addend, howto->name, name,
- (unsigned long) rel->r_offset, input_section);
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B: addend %s%#x in relocation %s against "
+ "symbol `%s' at %#Lx in section `%A' is "
+ "out of range"),
+ input_bfd, addend < 0 ? "-" : "", addend,
+ howto->name, name, rel->r_offset, input_section);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -5197,24 +3315,25 @@ direct:
case R_X86_64_GOTTPOFF:
tls_type = GOT_UNKNOWN;
if (h == NULL && local_got_offsets)
- tls_type = elf_x86_64_local_got_tls_type (input_bfd) [r_symndx];
+ tls_type = elf_x86_local_got_tls_type (input_bfd) [r_symndx];
else if (h != NULL)
- tls_type = elf_x86_64_hash_entry (h)->tls_type;
+ tls_type = elf_x86_hash_entry (h)->tls_type;
+ r_type_tls = r_type;
if (! elf_x86_64_tls_transition (info, input_bfd,
input_section, contents,
symtab_hdr, sym_hashes,
- &r_type, tls_type, rel,
+ &r_type_tls, tls_type, rel,
relend, h, r_symndx, TRUE))
return FALSE;
- if (r_type == R_X86_64_TPOFF32)
+ if (r_type_tls == R_X86_64_TPOFF32)
{
bfd_vma roff = rel->r_offset;
BFD_ASSERT (! unresolved_reloc);
- if (ELF32_R_TYPE (rel->r_info) == R_X86_64_TLSGD)
+ if (r_type == R_X86_64_TLSGD)
{
/* GD->LE transition. For 64bit, change
.byte 0x66; leaq foo@tlsgd(%rip), %rdi
@@ -5277,7 +3396,7 @@ direct:
wrel++;
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_GOTPC32_TLSDESC)
+ else if (r_type == R_X86_64_GOTPC32_TLSDESC)
{
/* GDesc -> LE transition.
It's originally something like:
@@ -5300,7 +3419,7 @@ direct:
contents + roff);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_TLSDESC_CALL)
+ else if (r_type == R_X86_64_TLSDESC_CALL)
{
/* GDesc -> LE transition.
It's originally:
@@ -5311,7 +3430,7 @@ direct:
bfd_put_8 (output_bfd, 0x90, contents + roff + 1);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_GOTTPOFF)
+ else if (r_type == R_X86_64_GOTTPOFF)
{
/* IE->LE transition:
For 64bit, originally it can be one of:
@@ -5396,7 +3515,7 @@ direct:
if (h != NULL)
{
off = h->got.offset;
- offplt = elf_x86_64_hash_entry (h)->tlsdesc_got;
+ offplt = elf_x86_hash_entry (h)->tlsdesc_got;
}
else
{
@@ -5431,7 +3550,7 @@ direct:
+ htab->sgotplt_jump_table_size);
sreloc = htab->elf.srelplt;
if (indx == 0)
- outrel.r_addend = relocation - elf_x86_64_dtpoff_base (info);
+ outrel.r_addend = relocation - _bfd_x86_elf_dtpoff_base (info);
else
outrel.r_addend = 0;
elf_append_rela (output_bfd, sreloc, &outrel);
@@ -5453,7 +3572,7 @@ direct:
outrel.r_addend = 0;
if ((dr_type == R_X86_64_TPOFF64
|| dr_type == R_X86_64_TLSDESC) && indx == 0)
- outrel.r_addend = relocation - elf_x86_64_dtpoff_base (info);
+ outrel.r_addend = relocation - _bfd_x86_elf_dtpoff_base (info);
outrel.r_info = htab->r_info (indx, dr_type);
elf_append_rela (output_bfd, sreloc, &outrel);
@@ -5464,7 +3583,7 @@ direct:
{
BFD_ASSERT (! unresolved_reloc);
bfd_put_64 (output_bfd,
- relocation - elf_x86_64_dtpoff_base (info),
+ relocation - _bfd_x86_elf_dtpoff_base (info),
htab->elf.sgot->contents + off + GOT_ENTRY_SIZE);
}
else
@@ -5489,7 +3608,7 @@ direct:
if (off >= (bfd_vma) -2
&& ! GOT_TLS_GDESC_P (tls_type))
abort ();
- if (r_type == ELF32_R_TYPE (rel->r_info))
+ if (r_type_tls == r_type)
{
if (r_type == R_X86_64_GOTPC32_TLSDESC
|| r_type == R_X86_64_TLSDESC_CALL)
@@ -5505,7 +3624,7 @@ direct:
{
bfd_vma roff = rel->r_offset;
- if (ELF32_R_TYPE (rel->r_info) == R_X86_64_TLSGD)
+ if (r_type == R_X86_64_TLSGD)
{
/* GD->IE transition. For 64bit, change
.byte 0x66; leaq foo@tlsgd(%rip), %rdi
@@ -5574,7 +3693,7 @@ direct:
wrel++;
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_GOTPC32_TLSDESC)
+ else if (r_type == R_X86_64_GOTPC32_TLSDESC)
{
/* GDesc -> IE transition.
It's originally something like:
@@ -5599,7 +3718,7 @@ direct:
contents + roff);
continue;
}
- else if (ELF32_R_TYPE (rel->r_info) == R_X86_64_TLSDESC_CALL)
+ else if (r_type == R_X86_64_TLSDESC_CALL)
{
/* GDesc -> IE transition.
It's originally:
@@ -5688,7 +3807,7 @@ direct:
if (htab->elf.sgot == NULL)
abort ();
- off = htab->tls_ld_got.offset;
+ off = htab->tls_ld_or_ldm_got.offset;
if (off & 1)
off &= ~1;
else
@@ -5709,7 +3828,7 @@ direct:
outrel.r_addend = 0;
elf_append_rela (output_bfd, htab->elf.srelgot,
&outrel);
- htab->tls_ld_got.offset |= 1;
+ htab->tls_ld_or_ldm_got.offset |= 1;
}
relocation = htab->elf.sgot->output_section->vma
+ htab->elf.sgot->output_offset + off;
@@ -5719,7 +3838,7 @@ direct:
case R_X86_64_DTPOFF32:
if (!bfd_link_executable (info)
|| (input_section->flags & SEC_CODE) == 0)
- relocation -= elf_x86_64_dtpoff_base (info);
+ relocation -= _bfd_x86_elf_dtpoff_base (info);
else
relocation = elf_x86_64_tpoff (info, relocation);
break;
@@ -5732,7 +3851,7 @@ direct:
case R_X86_64_DTPOFF64:
BFD_ASSERT ((input_section->flags & SEC_CODE) == 0);
- relocation -= elf_x86_64_dtpoff_base (info);
+ relocation -= _bfd_x86_elf_dtpoff_base (info);
break;
default:
@@ -5748,15 +3867,29 @@ direct:
&& _bfd_elf_section_offset (output_bfd, info, input_section,
rel->r_offset) != (bfd_vma) -1)
{
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
- input_bfd,
- input_section,
- (long) rel->r_offset,
- howto->name,
- h->root.root.string);
- return FALSE;
+ switch (r_type)
+ {
+ case R_X86_64_32S:
+ sec = h->root.u.def.section;
+ if ((info->nocopyreloc
+ || (eh->def_protected
+ && elf_has_no_copy_on_protected (h->root.u.def.section->owner)))
+ && !(h->root.u.def.section->flags & SEC_CODE))
+ return elf_x86_64_need_pic (info, input_bfd, input_section,
+ h, NULL, NULL, howto);
+ /* Fall through. */
+
+ default:
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+ input_bfd,
+ input_section,
+ rel->r_offset,
+ howto->name,
+ h->root.root.string);
+ return FALSE;
+ }
}
do_relocation:
@@ -5783,16 +3916,24 @@ check_relocation_error:
}
if (r == bfd_reloc_overflow)
- (*info->callbacks->reloc_overflow)
- (info, (h ? &h->root : NULL), name, howto->name,
- (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
+ {
+ if (converted_reloc)
+ {
+ info->callbacks->einfo
+ (_("%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"));
+ return FALSE;
+ }
+ (*info->callbacks->reloc_overflow)
+ (info, (h ? &h->root : NULL), name, howto->name,
+ (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
+ }
else
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): reloc against `%s': error %d"),
+ (_("%B(%A+%#Lx): reloc against `%s': error %d"),
input_bfd, input_section,
- (long) rel->r_offset, name, (int) r);
+ rel->r_offset, name, (int) r);
return FALSE;
}
}
@@ -5833,28 +3974,26 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
struct elf_link_hash_entry *h,
Elf_Internal_Sym *sym)
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
bfd_boolean use_plt_second;
- struct elf_x86_64_link_hash_entry *eh;
+ struct elf_x86_link_hash_entry *eh;
bfd_boolean local_undefweak;
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
return FALSE;
/* Use the second PLT section only if there is .plt section. */
use_plt_second = htab->elf.splt != NULL && htab->plt_second != NULL;
- eh = (struct elf_x86_64_link_hash_entry *) h;
+ eh = (struct elf_x86_link_hash_entry *) h;
if (eh->no_finish_dynamic_symbol)
abort ();
/* We keep PLT/GOT entries without dynamic PLT/GOT relocations for
resolved undefined weak symbols in executable so that their
references have value 0 at run-time. */
- local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
- eh->has_got_reloc,
- eh);
+ local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
if (h->plt.offset != (bfd_vma) -1)
{
@@ -6098,8 +4237,8 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
/* Don't generate dynamic GOT relocation against undefined weak
symbol in executable. */
if (h->got.offset != (bfd_vma) -1
- && ! GOT_TLS_GD_ANY_P (elf_x86_64_hash_entry (h)->tls_type)
- && elf_x86_64_hash_entry (h)->tls_type != GOT_TLS_IE
+ && ! GOT_TLS_GD_ANY_P (elf_x86_hash_entry (h)->tls_type)
+ && elf_x86_hash_entry (h)->tls_type != GOT_TLS_IE
&& !local_undefweak)
{
Elf_Internal_Rela rela;
@@ -6131,7 +4270,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
in static executable. */
relgot = htab->elf.irelplt;
}
- if (SYMBOL_REFERENCES_LOCAL (info, h))
+ if (SYMBOL_REFERENCES_LOCAL_P (info, h))
{
info->callbacks->minfo (_("Local IFUNC function `%s' in %B\n"),
output_bfd,
@@ -6181,9 +4320,9 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
}
}
else if (bfd_link_pic (info)
- && SYMBOL_REFERENCES_LOCAL (info, h))
+ && SYMBOL_REFERENCES_LOCAL_P (info, h))
{
- if (!h->def_regular)
+ if (!(h->def_regular || ELF_COMMON_DEF_P (h)))
return FALSE;
BFD_ASSERT((h->got.offset & 1) != 0);
rela.r_info = htab->r_info (0, R_X86_64_RELATIVE);
@@ -6245,7 +4384,7 @@ elf_x86_64_finish_local_dynamic_symbol (void **slot, void *inf)
= (struct bfd_link_info *) inf;
return elf_x86_64_finish_dynamic_symbol (info->output_bfd,
- info, h, NULL);
+ info, h, NULL);
}
/* Finish up undefined weak symbol handling in PIE. Fill its PLT entry
@@ -6264,7 +4403,7 @@ elf_x86_64_pie_finish_undefweak_symbol (struct bfd_hash_entry *bh,
return TRUE;
return elf_x86_64_finish_dynamic_symbol (info->output_bfd,
- info, h, NULL);
+ info, h, NULL);
}
/* Used to decide how to sort relocs in an optimal manner for the
@@ -6277,7 +4416,8 @@ elf_x86_64_reloc_type_class (const struct bfd_link_info *info,
{
bfd *abfd = info->output_bfd;
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- struct elf_x86_64_link_hash_table *htab = elf_x86_64_hash_table (info);
+ struct elf_x86_link_hash_table *htab
+ = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab->elf.dynsym != NULL
&& htab->elf.dynsym->contents != NULL)
@@ -6321,11 +4461,11 @@ static bfd_boolean
elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
struct bfd_link_info *info)
{
- struct elf_x86_64_link_hash_table *htab;
+ struct elf_x86_link_hash_table *htab;
bfd *dynobj;
asection *sdyn;
- htab = elf_x86_64_hash_table (info);
+ htab = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
return FALSE;
@@ -6398,7 +4538,7 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
table. */
memcpy (htab->elf.splt->contents,
htab->lazy_plt->plt0_entry,
- htab->lazy_plt->plt_entry_size);
+ htab->lazy_plt->plt0_entry_size);
/* Add offset for pushq GOT+8(%rip), since the instruction
uses 6 bytes subtract this value. */
bfd_put_32 (output_bfd,
@@ -6430,7 +4570,7 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
memcpy (htab->elf.splt->contents + htab->tlsdesc_plt,
htab->lazy_plt->plt0_entry,
- htab->lazy_plt->plt_entry_size);
+ htab->lazy_plt->plt0_entry_size);
/* Add offset for pushq GOT+8(%rip), since the
instruction uses 6 bytes subtract this value. */
@@ -6463,15 +4603,15 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
}
}
}
- }
- if (htab->plt_got != NULL && htab->plt_got->size > 0)
- elf_section_data (htab->plt_got->output_section)
- ->this_hdr.sh_entsize = htab->non_lazy_plt->plt_entry_size;
+ if (htab->plt_got != NULL && htab->plt_got->size > 0)
+ elf_section_data (htab->plt_got->output_section)
+ ->this_hdr.sh_entsize = htab->non_lazy_plt->plt_entry_size;
- if (htab->plt_second != NULL && htab->plt_second->size > 0)
- elf_section_data (htab->plt_second->output_section)
- ->this_hdr.sh_entsize = htab->non_lazy_plt->plt_entry_size;
+ if (htab->plt_second != NULL && htab->plt_second->size > 0)
+ elf_section_data (htab->plt_second->output_section)
+ ->this_hdr.sh_entsize = htab->non_lazy_plt->plt_entry_size;
+ }
/* GOT is always created in setup_gnu_properties. But it may not be
needed. */
@@ -6613,7 +4753,8 @@ elf_x86_64_output_arch_local_syms
asection *,
struct elf_link_hash_entry *) ATTRIBUTE_UNUSED)
{
- struct elf_x86_64_link_hash_table *htab = elf_x86_64_hash_table (info);
+ struct elf_x86_link_hash_table *htab
+ = elf_x86_hash_table (info, X86_64_ELF_DATA);
if (htab == NULL)
return FALSE;
@@ -6625,44 +4766,8 @@ elf_x86_64_output_arch_local_syms
return TRUE;
}
-/* Sort relocs into address order. */
-
-static int
-compare_relocs (const void *ap, const void *bp)
-{
- const arelent *a = * (const arelent **) ap;
- const arelent *b = * (const arelent **) bp;
-
- if (a->address > b->address)
- return 1;
- else if (a->address < b->address)
- return -1;
- else
- return 0;
-}
-
-enum elf_x86_64_plt_type
-{
- plt_non_lazy = 0,
- plt_lazy = 1 << 0,
- plt_second = 1 << 1,
- plt_unknown = -1
-};
-
-struct elf_x86_64_plt
-{
- const char *name;
- asection *sec;
- bfd_byte *contents;
- enum elf_x86_64_plt_type type;
- unsigned int plt_got_offset;
- unsigned int plt_got_insn_size;
- unsigned int plt_entry_size;
- long count;
-};
-
/* Forward declaration. */
-static const struct elf_x86_64_lazy_plt_layout elf_x86_64_nacl_plt;
+static const struct elf_x86_lazy_plt_layout elf_x86_64_nacl_plt;
/* Similar to _bfd_elf_get_synthetic_symtab. Support PLTs with all
dynamic relocations. */
@@ -6675,23 +4780,19 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
asymbol **dynsyms,
asymbol **ret)
{
- long size, count, i, n;
+ long count, i, n;
int j;
- unsigned int plt_got_offset, plt_entry_size, plt_got_insn_size;
- asymbol *s;
bfd_byte *plt_contents;
- long dynrelcount, relsize;
- arelent **dynrelbuf;
- const struct elf_x86_64_lazy_plt_layout *lazy_plt;
- const struct elf_x86_64_non_lazy_plt_layout *non_lazy_plt;
- const struct elf_x86_64_lazy_plt_layout *lazy_bnd_plt;
- const struct elf_x86_64_non_lazy_plt_layout *non_lazy_bnd_plt;
- const struct elf_x86_64_lazy_plt_layout *lazy_ibt_plt;
- const struct elf_x86_64_non_lazy_plt_layout *non_lazy_ibt_plt;
+ long relsize;
+ const struct elf_x86_lazy_plt_layout *lazy_plt;
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_plt;
+ const struct elf_x86_lazy_plt_layout *lazy_bnd_plt;
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_bnd_plt;
+ const struct elf_x86_lazy_plt_layout *lazy_ibt_plt;
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_ibt_plt;
asection *plt;
- char *names;
- enum elf_x86_64_plt_type plt_type;
- struct elf_x86_64_plt plts[] =
+ enum elf_x86_plt_type plt_type;
+ struct elf_x86_plt plts[] =
{
{ ".plt", NULL, NULL, plt_unknown, 0, 0, 0, 0 },
{ ".plt.got", NULL, NULL, plt_non_lazy, 0, 0, 0, 0 },
@@ -6712,16 +4813,6 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
if (relsize <= 0)
return -1;
- dynrelbuf = (arelent **) bfd_malloc (relsize);
- if (dynrelbuf == NULL)
- return -1;
-
- dynrelcount = bfd_canonicalize_dynamic_reloc (abfd, dynrelbuf,
- dynsyms);
-
- /* Sort the relocs by address. */
- qsort (dynrelbuf, dynrelcount, sizeof (arelent *), compare_relocs);
-
if (get_elf_x86_64_backend_data (abfd)->os == is_normal)
{
lazy_plt = &elf_x86_64_lazy_plt;
@@ -6753,7 +4844,7 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
for (j = 0; plts[j].name != NULL; j++)
{
plt = bfd_get_section_by_name (abfd, plts[j].name);
- if (plt == NULL)
+ if (plt == NULL || plt->size == 0)
continue;
/* Get the PLT section contents. */
@@ -6769,7 +4860,9 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
/* Check what kind of PLT it is. */
plt_type = plt_unknown;
- if (plts[j].type == plt_unknown)
+ if (plts[j].type == plt_unknown
+ && (plt->size >= (lazy_plt->plt_entry_size
+ + lazy_plt->plt_entry_size)))
{
/* Match lazy PLT first. Need to check the first two
instructions. */
@@ -6797,7 +4890,8 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
}
if (non_lazy_plt != NULL
- && (plt_type == plt_unknown || plt_type == plt_non_lazy))
+ && (plt_type == plt_unknown || plt_type == plt_non_lazy)
+ && plt->size >= non_lazy_plt->plt_entry_size)
{
/* Match non-lazy PLT. */
if (memcmp (plt_contents, non_lazy_plt->plt_entry,
@@ -6808,6 +4902,7 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
if (plt_type == plt_unknown || plt_type == plt_second)
{
if (non_lazy_bnd_plt != NULL
+ && plt->size >= non_lazy_bnd_plt->plt_entry_size
&& (memcmp (plt_contents, non_lazy_bnd_plt->plt_entry,
non_lazy_bnd_plt->plt_got_offset) == 0))
{
@@ -6816,6 +4911,7 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
non_lazy_plt = non_lazy_bnd_plt;
}
else if (non_lazy_ibt_plt != NULL
+ && plt->size >= non_lazy_ibt_plt->plt_entry_size
&& (memcmp (plt_contents,
non_lazy_ibt_plt->plt_entry,
non_lazy_ibt_plt->plt_got_offset) == 0))
@@ -6827,7 +4923,10 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
}
if (plt_type == plt_unknown)
- continue;
+ {
+ free (plt_contents);
+ continue;
+ }
plts[j].sec = plt;
plts[j].type = plt_type;
@@ -6861,158 +4960,9 @@ elf_x86_64_get_synthetic_symtab (bfd *abfd,
plts[j].contents = plt_contents;
}
- size = count * sizeof (asymbol);
- s = *ret = (asymbol *) bfd_zmalloc (size);
- if (s == NULL)
- {
-bad_return:
- for (j = 0; plts[j].name != NULL; j++)
- if (plts[j].contents != NULL)
- free (plts[j].contents);
- free (dynrelbuf);
- return -1;
- }
-
- /* Check for each PLT section. */
- size = 0;
- n = 0;
- for (j = 0; plts[j].name != NULL; j++)
- if ((plt_contents = plts[j].contents) != NULL)
- {
- long k;
- bfd_vma offset;
-
- plt_got_offset = plts[j].plt_got_offset;
- plt_got_insn_size = plts[j].plt_got_insn_size;
- plt_entry_size = plts[j].plt_entry_size;
-
- plt = plts[j].sec;
-
- if ((plts[j].type & plt_lazy))
- {
- /* Skip PLT0 in lazy PLT. */
- k = 1;
- offset = plt_entry_size;
- }
- else
- {
- k = 0;
- offset = 0;
- }
-
- /* Check each PLT entry against dynamic relocations. */
- for (; k < plts[j].count; k++)
- {
- int off;
- bfd_vma got_vma;
- long min, max, mid;
- arelent *p;
-
- /* Get the PC-relative offset, a signed 32-bit integer. */
- off = H_GET_32 (abfd, (plt_contents + offset
- + plt_got_offset));
- got_vma = plt->vma + offset + off + plt_got_insn_size;
-
- /* Binary search. */
- p = dynrelbuf[0];
- min = 0;
- max = dynrelcount;
- while ((min + 1) < max)
- {
- arelent *r;
-
- mid = (min + max) / 2;
- r = dynrelbuf[mid];
- if (got_vma > r->address)
- min = mid;
- else if (got_vma < r->address)
- max = mid;
- else
- {
- p = r;
- break;
- }
- }
-
- /* Skip unknown relocation. PR 17512: file: bc9d6cf5. */
- if (got_vma == p->address
- && p->howto != NULL
- && (p->howto->type == R_X86_64_JUMP_SLOT
- || p->howto->type == R_X86_64_GLOB_DAT
- || p->howto->type == R_X86_64_IRELATIVE))
- {
- *s = **p->sym_ptr_ptr;
- /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL
- set. Since we are defining a symbol, ensure one
- of them is set. */
- if ((s->flags & BSF_LOCAL) == 0)
- s->flags |= BSF_GLOBAL;
- s->flags |= BSF_SYNTHETIC;
- /* This is no longer a section symbol. */
- s->flags &= ~BSF_SECTION_SYM;
- s->section = plt;
- s->the_bfd = plt->owner;
- s->value = offset;
- /* Store relocation for later use. */
- s->udata.p = p;
- /* Add @plt to function name later. */
- size += strlen (s->name) + sizeof ("@plt");
- if (p->addend != 0)
- size += sizeof ("+0x") - 1 + 8 + 8 * ABI_64_P (abfd);
- n++;
- s++;
- }
- offset += plt_entry_size;
- }
- }
-
- /* PLT entries with R_X86_64_TLSDESC relocations are skipped. */
- if (n == 0)
- goto bad_return;
-
- count = n;
-
- /* Allocate space for @plt suffixes. */
- names = (char *) bfd_malloc (size);
- if (s == NULL)
- goto bad_return;
-
- s = *ret;
- for (i = 0; i < count; i++)
- {
- /* Add @plt to function name. */
- arelent *p = (arelent *) s->udata.p;
- /* Clear it now. */
- s->udata.p = NULL;
- size = strlen (s->name);
- memcpy (names, s->name, size);
- s->name = names;
- names += size;
- if (p->addend != 0)
- {
- char buf[30], *a;
-
- memcpy (names, "+0x", sizeof ("+0x") - 1);
- names += sizeof ("+0x") - 1;
- bfd_sprintf_vma (abfd, buf, p->addend);
- for (a = buf; *a == '0'; ++a)
- ;
- size = strlen (a);
- memcpy (names, a, size);
- names += size;
- }
- memcpy (names, "@plt", sizeof ("@plt"));
- names += sizeof ("@plt");
- s++;
- }
-
- for (j = 0; plts[j].name != NULL; j++)
- if (plts[j].contents != NULL)
- free (plts[j].contents);
-
- free (dynrelbuf);
-
- return count;
+ return _bfd_x86_elf_get_synthetic_symtab (abfd, count, relsize,
+ (bfd_vma) 0, plts, dynsyms,
+ ret);
}
/* Handle an x86-64 specific section when reading an object file. This
@@ -7184,19 +5134,6 @@ elf_x86_64_additional_program_headers (bfd *abfd,
return count;
}
-/* Return TRUE if symbol should be hashed in the `.gnu.hash' section. */
-
-static bfd_boolean
-elf_x86_64_hash_symbol (struct elf_link_hash_entry *h)
-{
- if (h->plt.offset != (bfd_vma) -1
- && !h->def_regular
- && !h->pointer_equality_needed)
- return FALSE;
-
- return _bfd_elf_hash_symbol (h);
-}
-
/* Return TRUE iff relocations for INPUT are compatible with OUTPUT. */
static bfd_boolean
@@ -7208,530 +5145,69 @@ elf_x86_64_relocs_compatible (const bfd_target *input,
&& _bfd_elf_relocs_compatible (input, output));
}
-/* Parse x86-64 GNU properties. */
-
-static enum elf_property_kind
-elf_x86_64_parse_gnu_properties (bfd *abfd, unsigned int type,
- bfd_byte *ptr, unsigned int datasz)
-{
- elf_property *prop;
-
- switch (type)
- {
- case GNU_PROPERTY_X86_ISA_1_USED:
- case GNU_PROPERTY_X86_ISA_1_NEEDED:
- case GNU_PROPERTY_X86_FEATURE_1_AND:
- if (datasz != 4)
- {
- _bfd_error_handler
- ((type == GNU_PROPERTY_X86_ISA_1_USED
- ? _("error: %B: <corrupt x86 ISA used size: 0x%x>")
- : (type == GNU_PROPERTY_X86_ISA_1_NEEDED
- ? _("error: %B: <corrupt x86 ISA needed size: 0x%x>")
- : _("error: %B: <corrupt x86 feature size: 0x%x>"))),
- abfd, datasz);
- return property_corrupt;
- }
- prop = _bfd_elf_get_property (abfd, type, datasz);
- /* Combine properties of the same type. */
- prop->u.number |= bfd_h_get_32 (abfd, ptr);
- prop->pr_kind = property_number;
- break;
-
- default:
- return property_ignored;
- }
-
- return property_number;
-}
-
-/* Merge x86-64 GNU property BPROP with APROP. If APROP isn't NULL,
- return TRUE if APROP is updated. Otherwise, return TRUE if BPROP
- should be merged with ABFD. */
-
-static bfd_boolean
-elf_x86_64_merge_gnu_properties (struct bfd_link_info *info,
- bfd *abfd ATTRIBUTE_UNUSED,
- elf_property *aprop,
- elf_property *bprop)
-{
- unsigned int number, features;
- bfd_boolean updated = FALSE;
- unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
-
- switch (pr_type)
- {
- case GNU_PROPERTY_X86_ISA_1_USED:
- case GNU_PROPERTY_X86_ISA_1_NEEDED:
- if (aprop != NULL && bprop != NULL)
- {
- number = aprop->u.number;
- aprop->u.number = number | bprop->u.number;
- updated = number != (unsigned int) aprop->u.number;
- }
- else
- {
- /* Return TRUE if APROP is NULL to indicate that BPROP should
- be added to ABFD. */
- updated = aprop == NULL;
- }
- break;
-
- case GNU_PROPERTY_X86_FEATURE_1_AND:
- /* Only one of APROP and BPROP can be NULL:
- 1. APROP & BPROP when both APROP and BPROP aren't NULL.
- 2. If APROP is NULL, remove x86 feature.
- 3. Otherwise, do nothing.
- */
- if (aprop != NULL && bprop != NULL)
- {
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- number = aprop->u.number;
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- aprop->u.number = (number & bprop->u.number) | features;
- updated = number != (unsigned int) aprop->u.number;
- /* Remove the property if all feature bits are cleared. */
- if (aprop->u.number == 0)
- aprop->pr_kind = property_remove;
- }
- else
- {
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- if (features)
- {
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- if (aprop != NULL)
- {
- number = aprop->u.number;
- aprop->u.number = number | features;
- updated = number != (unsigned int) aprop->u.number;
- }
- else
- {
- bprop->u.number |= features;
- updated = TRUE;
- }
- }
- else if (aprop != NULL)
- {
- aprop->pr_kind = property_remove;
- updated = TRUE;
- }
- }
- break;
-
- default:
- /* Never should happen. */
- abort ();
- }
-
- return updated;
-}
-
/* Set up x86-64 GNU properties. Return the first relocatable ELF input
with GNU properties if found. Otherwise, return NULL. */
static bfd *
elf_x86_64_link_setup_gnu_properties (struct bfd_link_info *info)
{
- bfd_boolean normal_target;
- bfd_boolean lazy_plt;
- asection *sec, *pltsec;
- bfd *dynobj;
- bfd_boolean use_ibt_plt;
- unsigned int plt_alignment, features;
- struct elf_x86_64_link_hash_table *htab;
- bfd *pbfd;
-
- features = 0;
- if (info->ibt)
- features = GNU_PROPERTY_X86_FEATURE_1_IBT;
- if (info->shstk)
- features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
- if (features)
- {
- /* Turn on GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- bfd *ebfd = NULL;
- elf_property *prop;
-
- for (pbfd = info->input_bfds;
- pbfd != NULL;
- pbfd = pbfd->link.next)
- if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
- && bfd_count_sections (pbfd) != 0)
- {
- ebfd = pbfd;
-
- if (elf_properties (pbfd) != NULL)
- {
- /* Find a normal input file with GNU property note. */
- prop = _bfd_elf_get_property (pbfd,
- GNU_PROPERTY_X86_FEATURE_1_AND,
- 4);
- /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
- prop->u.number |= features;
- prop->pr_kind = property_number;
- break;
- }
- }
-
- if (pbfd == NULL && ebfd != NULL)
- {
- /* Create GNU_PROPERTY_X86_FEATURE_1_IBT if needed. */
- prop = _bfd_elf_get_property (ebfd,
- GNU_PROPERTY_X86_FEATURE_1_AND,
- 4);
- prop->u.number = features;
- prop->pr_kind = property_number;
-
- sec = bfd_make_section_with_flags (ebfd,
- NOTE_GNU_PROPERTY_SECTION_NAME,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_IN_MEMORY
- | SEC_READONLY
- | SEC_HAS_CONTENTS
- | SEC_DATA));
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GNU property section\n"));
-
- if (!bfd_set_section_alignment (ebfd, sec,
- ABI_64_P (ebfd) ? 3 : 2))
- {
-error_alignment:
- info->callbacks->einfo (_("%F%A: failed to align section\n"),
- sec);
- }
-
- elf_section_type (sec) = SHT_NOTE;
- }
- }
-
- pbfd = _bfd_elf_link_setup_gnu_properties (info);
-
- if (bfd_link_relocatable (info))
- return pbfd;
-
- htab = elf_x86_64_hash_table (info);
- if (htab == NULL)
- return pbfd;
-
- use_ibt_plt = info->ibtplt || info->ibt;
- if (!use_ibt_plt && pbfd != NULL)
- {
- /* Check if GNU_PROPERTY_X86_FEATURE_1_IBT is on. */
- elf_property_list *p;
-
- /* The property list is sorted in order of type. */
- for (p = elf_properties (pbfd); p; p = p->next)
- {
- if (GNU_PROPERTY_X86_FEATURE_1_AND == p->property.pr_type)
- {
- use_ibt_plt = !!(p->property.u.number
- & GNU_PROPERTY_X86_FEATURE_1_IBT);
- break;
- }
- else if (GNU_PROPERTY_X86_FEATURE_1_AND < p->property.pr_type)
- break;
- }
- }
-
- dynobj = htab->elf.dynobj;
+ struct elf_x86_init_table init_table;
+
+ if ((int) R_X86_64_standard >= (int) R_X86_64_converted_reloc_bit
+ || (int) R_X86_64_max <= (int) R_X86_64_converted_reloc_bit
+ || ((int) (R_X86_64_GNU_VTINHERIT | R_X86_64_converted_reloc_bit)
+ != (int) R_X86_64_GNU_VTINHERIT)
+ || ((int) (R_X86_64_GNU_VTENTRY | R_X86_64_converted_reloc_bit)
+ != (int) R_X86_64_GNU_VTENTRY))
+ abort ();
- /* Set htab->elf.dynobj here so that there is no need to check and
- set it in check_relocs. */
- if (dynobj == NULL)
+ init_table.is_vxworks = FALSE;
+ if (get_elf_x86_64_backend_data (info->output_bfd)->os == is_normal)
{
- if (pbfd != NULL)
+ if (info->bndplt)
{
- htab->elf.dynobj = pbfd;
- dynobj = pbfd;
+ init_table.lazy_plt = &elf_x86_64_lazy_bnd_plt;
+ init_table.non_lazy_plt = &elf_x86_64_non_lazy_bnd_plt;
}
else
{
- bfd *abfd;
-
- /* Find a normal input file to hold linker created
- sections. */
- for (abfd = info->input_bfds;
- abfd != NULL;
- abfd = abfd->link.next)
- if ((abfd->flags
- & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0)
- {
- htab->elf.dynobj = abfd;
- dynobj = abfd;
- break;
- }
+ init_table.lazy_plt = &elf_x86_64_lazy_plt;
+ init_table.non_lazy_plt = &elf_x86_64_non_lazy_plt;
}
- }
- /* Even when lazy binding is disabled by "-z now", the PLT0 entry may
- still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
- canonical function address. */
- htab->plt.has_plt0 = 1;
-
- if (get_elf_x86_64_backend_data (info->output_bfd)->os
- == is_normal)
- {
- if (use_ibt_plt)
- {
- if (ABI_64_P (dynobj))
- {
- htab->lazy_plt = &elf_x86_64_lazy_ibt_plt;
- htab->non_lazy_plt = &elf_x86_64_non_lazy_ibt_plt;
- }
- else
- {
- htab->lazy_plt = &elf_x32_lazy_ibt_plt;
- htab->non_lazy_plt = &elf_x32_non_lazy_ibt_plt;
- }
- }
- else if (info->bndplt)
+ if (ABI_64_P (info->output_bfd))
{
- htab->lazy_plt = &elf_x86_64_lazy_bnd_plt;
- htab->non_lazy_plt = &elf_x86_64_non_lazy_bnd_plt;
+ init_table.lazy_ibt_plt = &elf_x86_64_lazy_ibt_plt;
+ init_table.non_lazy_ibt_plt = &elf_x86_64_non_lazy_ibt_plt;
}
else
{
- htab->lazy_plt = &elf_x86_64_lazy_plt;
- htab->non_lazy_plt = &elf_x86_64_non_lazy_plt;
+ init_table.lazy_ibt_plt = &elf_x32_lazy_ibt_plt;
+ init_table.non_lazy_ibt_plt = &elf_x32_non_lazy_ibt_plt;
}
- normal_target = TRUE;
+ init_table.normal_target = TRUE;
}
else
{
- htab->lazy_plt = &elf_x86_64_nacl_plt;
- htab->non_lazy_plt = NULL;
- normal_target = FALSE;
+ init_table.lazy_plt = &elf_x86_64_nacl_plt;
+ init_table.non_lazy_plt = NULL;
+ init_table.lazy_ibt_plt = NULL;
+ init_table.non_lazy_ibt_plt = NULL;
+ init_table.normal_target = FALSE;
}
- pltsec = htab->elf.splt;
-
- /* If the non-lazy PLT is available, use it for all PLT entries if
- there are no PLT0 or no .plt section. */
- if (htab->non_lazy_plt != NULL
- && (!htab->plt.has_plt0 || pltsec == NULL))
+ if (ABI_64_P (info->output_bfd))
{
- lazy_plt = FALSE;
- htab->plt.plt_entry
- = htab->non_lazy_plt->plt_entry;
- htab->plt.plt_entry_size
- = htab->non_lazy_plt->plt_entry_size;
- htab->plt.plt_got_offset
- = htab->non_lazy_plt->plt_got_offset;
- htab->plt.plt_got_insn_size
- = htab->non_lazy_plt->plt_got_insn_size;
- htab->plt.eh_frame_plt_size
- = htab->non_lazy_plt->eh_frame_plt_size;
- htab->plt.eh_frame_plt
- = htab->non_lazy_plt->eh_frame_plt;
+ init_table.r_info = elf64_r_info;
+ init_table.r_sym = elf64_r_sym;
}
else
{
- lazy_plt = TRUE;
- htab->plt.plt_entry
- = htab->lazy_plt->plt_entry;
- htab->plt.plt_entry_size
- = htab->lazy_plt->plt_entry_size;
- htab->plt.plt_got_offset
- = htab->lazy_plt->plt_got_offset;
- htab->plt.plt_got_insn_size
- = htab->lazy_plt->plt_got_insn_size;
- htab->plt.eh_frame_plt_size
- = htab->lazy_plt->eh_frame_plt_size;
- htab->plt.eh_frame_plt
- = htab->lazy_plt->eh_frame_plt;
- }
-
- /* Return if there are no normal input files. */
- if (dynobj == NULL)
- return pbfd;
-
- /* Since create_dynamic_sections isn't always called, but GOT
- relocations need GOT relocations, create them here so that we
- don't need to do it in check_relocs. */
- if (htab->elf.sgot == NULL
- && !_bfd_elf_create_got_section (dynobj, info))
- info->callbacks->einfo (_("%F: failed to create GOT sections\n"));
-
- /* Align .got and .got.plt sections to their entry size. Do it here
- instead of in create_dynamic_sections so that they are always
- properly aligned even if create_dynamic_sections isn't called. */
- sec = htab->elf.sgot;
- if (!bfd_set_section_alignment (dynobj, sec, 3))
- goto error_alignment;
-
- sec = htab->elf.sgotplt;
- if (!bfd_set_section_alignment (dynobj, sec, 3))
- goto error_alignment;
-
- /* Create the ifunc sections here so that check_relocs can be
- simplified. */
- if (!_bfd_elf_create_ifunc_sections (dynobj, info))
- info->callbacks->einfo (_("%F: failed to create ifunc sections\n"));
-
- plt_alignment = bfd_log2 (htab->plt.plt_entry_size);
-
- if (pltsec != NULL)
- {
- /* Whe creating executable, set the contents of the .interp
- section to the interpreter. */
- if (bfd_link_executable (info) && !info->nointerp)
- {
- asection *s = bfd_get_linker_section (dynobj, ".interp");
- if (s == NULL)
- abort ();
- s->size = htab->dynamic_interpreter_size;
- s->contents = (unsigned char *) htab->dynamic_interpreter;
- htab->interp = s;
- }
-
- /* Don't change PLT section alignment for NaCl since it uses
- 64-byte PLT entry and sets PLT section alignment to 32
- bytes. Don't create additional PLT sections for NaCl. */
- if (normal_target)
- {
- const struct elf_backend_data *bed
- = get_elf_backend_data (dynobj);
- flagword pltflags = (bed->dynamic_sec_flags
- | SEC_ALLOC
- | SEC_CODE
- | SEC_LOAD
- | SEC_READONLY);
- unsigned int non_lazy_plt_alignment
- = bfd_log2 (htab->non_lazy_plt->plt_entry_size);
-
- sec = pltsec;
- if (!bfd_set_section_alignment (sec->owner, sec,
- plt_alignment))
- goto error_alignment;
-
- /* Create the GOT procedure linkage table. */
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".plt.got",
- pltflags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GOT PLT section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- non_lazy_plt_alignment))
- goto error_alignment;
-
- htab->plt_got = sec;
-
- if (lazy_plt)
- {
- sec = NULL;
-
- if (use_ibt_plt)
- {
- /* Create the second PLT for Intel IBT support. IBT
- PLT is supported only for non-NaCl target and is
- is needed only for lazy binding. */
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".plt.sec",
- pltflags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create IBT-enabled PLT section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- plt_alignment))
- goto error_alignment;
- }
- else if (info->bndplt && ABI_64_P (dynobj))
- {
- /* Create the second PLT for Intel MPX support. MPX
- PLT is supported only for non-NaCl target in 64-bit
- mode and is needed only for lazy binding. */
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".plt.sec",
- pltflags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create BND PLT section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- non_lazy_plt_alignment))
- goto error_alignment;
- }
-
- htab->plt_second = sec;
- }
- }
-
- if (!info->no_ld_generated_unwind_info)
- {
- flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
- | SEC_HAS_CONTENTS | SEC_IN_MEMORY
- | SEC_LINKER_CREATED);
-
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".eh_frame",
- flags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create PLT .eh_frame section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- ABI_64_P (dynobj) ? 3 : 2))
- goto error_alignment;
-
- htab->plt_eh_frame = sec;
-
- if (htab->plt_got != NULL)
- {
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".eh_frame",
- flags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create GOT PLT .eh_frame section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec,
- ABI_64_P (dynobj) ? 3 : 2))
- goto error_alignment;
-
- htab->plt_got_eh_frame = sec;
- }
-
- if (htab->plt_second != NULL)
- {
- sec = bfd_make_section_anyway_with_flags (dynobj,
- ".eh_frame",
- flags);
- if (sec == NULL)
- info->callbacks->einfo (_("%F: failed to create BND PLT .eh_frame section\n"));
-
- if (!bfd_set_section_alignment (dynobj, sec, 3))
- goto error_alignment;
-
- htab->plt_second_eh_frame = sec;
- }
- }
- }
-
- if (normal_target)
- {
- /* The .iplt section is used for IFUNC symbols in static
- executables. */
- sec = htab->elf.iplt;
- if (sec != NULL
- && !bfd_set_section_alignment (sec->owner, sec,
- plt_alignment))
- goto error_alignment;
+ init_table.r_info = elf32_r_info;
+ init_table.r_sym = elf32_r_sym;
}
- return pbfd;
+ return _bfd_x86_elf_link_setup_gnu_properties (info, &init_table);
}
static const struct bfd_elf_special_section
@@ -7770,21 +5246,16 @@ elf_x86_64_special_sections[]=
#define elf_info_to_howto elf_x86_64_info_to_howto
-#define bfd_elf64_bfd_link_hash_table_create \
- elf_x86_64_link_hash_table_create
#define bfd_elf64_bfd_reloc_type_lookup elf_x86_64_reloc_type_lookup
#define bfd_elf64_bfd_reloc_name_lookup \
elf_x86_64_reloc_name_lookup
-#define elf_backend_adjust_dynamic_symbol elf_x86_64_adjust_dynamic_symbol
#define elf_backend_relocs_compatible elf_x86_64_relocs_compatible
#define elf_backend_check_relocs elf_x86_64_check_relocs
-#define elf_backend_copy_indirect_symbol elf_x86_64_copy_indirect_symbol
#define elf_backend_create_dynamic_sections _bfd_elf_create_dynamic_sections
#define elf_backend_finish_dynamic_sections elf_x86_64_finish_dynamic_sections
#define elf_backend_finish_dynamic_symbol elf_x86_64_finish_dynamic_symbol
#define elf_backend_output_arch_local_syms elf_x86_64_output_arch_local_syms
-#define elf_backend_gc_mark_hook elf_x86_64_gc_mark_hook
#define elf_backend_grok_prstatus elf_x86_64_grok_prstatus
#define elf_backend_grok_psinfo elf_x86_64_grok_psinfo
#ifdef CORE_HEADER
@@ -7792,11 +5263,8 @@ elf_x86_64_special_sections[]=
#endif
#define elf_backend_reloc_type_class elf_x86_64_reloc_type_class
#define elf_backend_relocate_section elf_x86_64_relocate_section
-#define elf_backend_size_dynamic_sections elf_x86_64_size_dynamic_sections
-#define elf_backend_always_size_sections elf_x86_64_always_size_sections
#define elf_backend_init_index_section _bfd_elf_init_1_index_section
#define elf_backend_object_p elf64_x86_64_elf_object_p
-#define bfd_elf64_mkobject elf_x86_64_mkobject
#define bfd_elf64_get_synthetic_symtab elf_x86_64_get_synthetic_symtab
#define elf_backend_section_from_shdr \
@@ -7820,16 +5288,6 @@ elf_x86_64_special_sections[]=
elf_x86_64_special_sections
#define elf_backend_additional_program_headers \
elf_x86_64_additional_program_headers
-#define elf_backend_hash_symbol \
- elf_x86_64_hash_symbol
-#define elf_backend_omit_section_dynsym \
- ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
-#define elf_backend_fixup_symbol \
- elf_x86_64_fixup_symbol
-#define elf_backend_parse_gnu_properties \
- elf_x86_64_parse_gnu_properties
-#define elf_backend_merge_gnu_properties \
- elf_x86_64_merge_gnu_properties
#define elf_backend_setup_gnu_properties \
elf_x86_64_link_setup_gnu_properties
@@ -8033,9 +5491,10 @@ static const bfd_byte elf_x86_64_nacl_eh_frame_plt[] =
DW_CFA_nop, DW_CFA_nop
};
-static const struct elf_x86_64_lazy_plt_layout elf_x86_64_nacl_plt =
+static const struct elf_x86_lazy_plt_layout elf_x86_64_nacl_plt =
{
elf_x86_64_nacl_plt0_entry, /* plt0_entry */
+ NACL_PLT_ENTRY_SIZE, /* plt0_entry_size */
elf_x86_64_nacl_plt_entry, /* plt_entry */
NACL_PLT_ENTRY_SIZE, /* plt_entry_size */
2, /* plt0_got1_offset */
@@ -8047,6 +5506,8 @@ static const struct elf_x86_64_lazy_plt_layout elf_x86_64_nacl_plt =
7, /* plt_got_insn_size */
42, /* plt_plt_insn_end */
32, /* plt_lazy_offset */
+ elf_x86_64_nacl_plt0_entry, /* pic_plt0_entry */
+ elf_x86_64_nacl_plt_entry, /* pic_plt_entry */
elf_x86_64_nacl_eh_frame_plt, /* eh_frame_plt */
sizeof (elf_x86_64_nacl_eh_frame_plt) /* eh_frame_plt_size */
};
@@ -8087,14 +5548,10 @@ elf32_x86_64_nacl_elf_object_p (bfd *abfd)
#undef elf32_bed
#define elf32_bed elf32_x86_64_nacl_bed
-#define bfd_elf32_bfd_link_hash_table_create \
- elf_x86_64_link_hash_table_create
#define bfd_elf32_bfd_reloc_type_lookup \
elf_x86_64_reloc_type_lookup
#define bfd_elf32_bfd_reloc_name_lookup \
elf_x86_64_reloc_name_lookup
-#define bfd_elf32_mkobject \
- elf_x86_64_mkobject
#define bfd_elf32_get_synthetic_symtab \
elf_x86_64_get_synthetic_symtab
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index cbc534f..6114b11 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -1190,9 +1190,9 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bfd_boolean dynamic)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: version count (%ld) does not match symbol count (%ld)"),
+ (_("%B: version count (%Ld) does not match symbol count (%ld)"),
abfd,
- (long) (verhdr->sh_size / sizeof (Elf_External_Versym)),
+ verhdr->sh_size / sizeof (Elf_External_Versym),
symcount);
/* Slurp in the symbols without the version information,
diff --git a/bfd/elfcore.h b/bfd/elfcore.h
index d871bc1..b1b60ec 100644
--- a/bfd/elfcore.h
+++ b/bfd/elfcore.h
@@ -297,9 +297,9 @@ elf_core_file_p (bfd *abfd)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("Warning: %B is truncated: expected core file "
- "size >= %lu, found: %lu."),
- abfd, (unsigned long) high, (unsigned long) statbuf.st_size);
+ (_("warning: %B is truncated: expected core file "
+ "size >= %Lu, found: %llu"),
+ abfd, high, (unsigned long long) statbuf.st_size);
}
}
}
diff --git a/bfd/elflink.c b/bfd/elflink.c
index bb1a30a..ee5c01f 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -2394,9 +2394,9 @@ elf_link_read_relocs_from_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: bad reloc symbol index (%#lx >= %#lx)"
+ (_("%B: bad reloc symbol index (%#Lx >= %#lx)"
" for offset %#Lx in section `%A'"),
- abfd, (unsigned long) r_symndx, (unsigned long) nsyms,
+ abfd, r_symndx, (unsigned long) nsyms,
irela->r_offset, sec);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -2406,10 +2406,10 @@ elf_link_read_relocs_from_section (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: non-zero symbol index (%#lx)"
+ (_("%B: non-zero symbol index (%#Lx)"
" for offset %#Lx in section `%A'"
" when the object file has no symbol table"),
- abfd, (unsigned long) r_symndx, (unsigned long) nsyms,
+ abfd, r_symndx,
irela->r_offset, sec);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -2935,7 +2935,7 @@ _bfd_elf_adjust_dynamic_copy (struct bfd_link_info *info,
bfd_vma mask;
asection *sec = h->root.u.def.section;
- /* The section aligment of definition is the maximum alignment
+ /* The section alignment of the definition is the maximum alignment
requirement of symbols defined in the section. Since we don't
know the symbol alignment requirement, we start with the
maximum alignment and check low bits of the symbol address
@@ -4254,6 +4254,12 @@ error_free_dyn:
sec = NULL;
value = isym->st_value;
common = bed->common_definition (isym);
+ if (common && info->inhibit_common_definition)
+ {
+ /* Treat common symbol as undefined for --no-define-common. */
+ isym->st_shndx = SHN_UNDEF;
+ common = FALSE;
+ }
discarded = FALSE;
bind = ELF_ST_BIND (isym->st_info);
@@ -6000,19 +6006,18 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
struct elf_info_failed asvinfo;
struct bfd_elf_version_tree *t;
struct bfd_elf_version_expr *d;
- struct elf_info_failed eif;
- bfd_boolean all_defined;
asection *s;
size_t soname_indx;
- eif.info = info;
- eif.failed = FALSE;
-
/* If we are supposed to export all symbols into the dynamic symbol
table (this is not the normal case), then do so. */
if (info->export_dynamic
|| (bfd_link_executable (info) && info->dynamic))
{
+ struct elf_info_failed eif;
+
+ eif.info = info;
+ eif.failed = FALSE;
elf_link_hash_traverse (elf_hash_table (info),
_bfd_elf_export_symbol,
&eif);
@@ -6096,7 +6101,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
if (!info->allow_undefined_version)
{
/* Check if all global versions have a definition. */
- all_defined = TRUE;
+ bfd_boolean all_defined = TRUE;
for (t = info->version_info; t != NULL; t = t->next)
for (d = t->globals.list; d != NULL; d = d->next)
if (d->literal && !d->symver && !d->script)
@@ -6349,134 +6354,128 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
elf_tdata (output_bfd)->cverdefs = cdefs;
}
+ }
+
+ bed = get_elf_backend_data (output_bfd);
+
+ if (info->gc_sections && bed->can_gc_sections)
+ {
+ struct elf_gc_sweep_symbol_info sweep_info;
+
+ /* Remove the symbols that were in the swept sections from the
+ dynamic symbol table. */
+ sweep_info.info = info;
+ sweep_info.hide_symbol = bed->elf_backend_hide_symbol;
+ elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol,
+ &sweep_info);
+ }
+
+ if (dynobj != NULL && elf_hash_table (info)->dynamic_sections_created)
+ {
+ asection *s;
+ struct elf_find_verdep_info sinfo;
/* Work out the size of the version reference section. */
s = bfd_get_linker_section (dynobj, ".gnu.version_r");
BFD_ASSERT (s != NULL);
- {
- struct elf_find_verdep_info sinfo;
- sinfo.info = info;
- sinfo.vers = elf_tdata (output_bfd)->cverdefs;
- if (sinfo.vers == 0)
- sinfo.vers = 1;
- sinfo.failed = FALSE;
+ sinfo.info = info;
+ sinfo.vers = elf_tdata (output_bfd)->cverdefs;
+ if (sinfo.vers == 0)
+ sinfo.vers = 1;
+ sinfo.failed = FALSE;
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_link_find_version_dependencies,
- &sinfo);
- if (sinfo.failed)
- return FALSE;
-
- if (elf_tdata (output_bfd)->verref == NULL)
- s->flags |= SEC_EXCLUDE;
- else
- {
- Elf_Internal_Verneed *vn;
- unsigned int size;
- unsigned int crefs;
- bfd_byte *p;
-
- /* Build the version dependency section. */
- size = 0;
- crefs = 0;
- for (vn = elf_tdata (output_bfd)->verref;
- vn != NULL;
- vn = vn->vn_nextref)
- {
- Elf_Internal_Vernaux *a;
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_link_find_version_dependencies,
+ &sinfo);
+ if (sinfo.failed)
+ return FALSE;
- size += sizeof (Elf_External_Verneed);
- ++crefs;
- for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
- size += sizeof (Elf_External_Vernaux);
- }
+ if (elf_tdata (output_bfd)->verref == NULL)
+ s->flags |= SEC_EXCLUDE;
+ else
+ {
+ Elf_Internal_Verneed *vn;
+ unsigned int size;
+ unsigned int crefs;
+ bfd_byte *p;
- s->size = size;
- s->contents = (unsigned char *) bfd_alloc (output_bfd, s->size);
- if (s->contents == NULL)
- return FALSE;
+ /* Build the version dependency section. */
+ size = 0;
+ crefs = 0;
+ for (vn = elf_tdata (output_bfd)->verref;
+ vn != NULL;
+ vn = vn->vn_nextref)
+ {
+ Elf_Internal_Vernaux *a;
- p = s->contents;
- for (vn = elf_tdata (output_bfd)->verref;
- vn != NULL;
- vn = vn->vn_nextref)
- {
- unsigned int caux;
- Elf_Internal_Vernaux *a;
- size_t indx;
-
- caux = 0;
- for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
- ++caux;
-
- vn->vn_version = VER_NEED_CURRENT;
- vn->vn_cnt = caux;
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- elf_dt_name (vn->vn_bfd) != NULL
- ? elf_dt_name (vn->vn_bfd)
- : lbasename (vn->vn_bfd->filename),
- FALSE);
- if (indx == (size_t) -1)
- return FALSE;
- vn->vn_file = indx;
- vn->vn_aux = sizeof (Elf_External_Verneed);
- if (vn->vn_nextref == NULL)
- vn->vn_next = 0;
- else
- vn->vn_next = (sizeof (Elf_External_Verneed)
- + caux * sizeof (Elf_External_Vernaux));
+ size += sizeof (Elf_External_Verneed);
+ ++crefs;
+ for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ size += sizeof (Elf_External_Vernaux);
+ }
- _bfd_elf_swap_verneed_out (output_bfd, vn,
- (Elf_External_Verneed *) p);
- p += sizeof (Elf_External_Verneed);
+ s->size = size;
+ s->contents = (unsigned char *) bfd_alloc (output_bfd, s->size);
+ if (s->contents == NULL)
+ return FALSE;
- for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
- {
- a->vna_hash = bfd_elf_hash (a->vna_nodename);
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- a->vna_nodename, FALSE);
- if (indx == (size_t) -1)
- return FALSE;
- a->vna_name = indx;
- if (a->vna_nextptr == NULL)
- a->vna_next = 0;
- else
- a->vna_next = sizeof (Elf_External_Vernaux);
+ p = s->contents;
+ for (vn = elf_tdata (output_bfd)->verref;
+ vn != NULL;
+ vn = vn->vn_nextref)
+ {
+ unsigned int caux;
+ Elf_Internal_Vernaux *a;
+ size_t indx;
- _bfd_elf_swap_vernaux_out (output_bfd, a,
- (Elf_External_Vernaux *) p);
- p += sizeof (Elf_External_Vernaux);
- }
- }
+ caux = 0;
+ for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ ++caux;
- elf_tdata (output_bfd)->cverrefs = crefs;
- }
- }
- }
+ vn->vn_version = VER_NEED_CURRENT;
+ vn->vn_cnt = caux;
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ elf_dt_name (vn->vn_bfd) != NULL
+ ? elf_dt_name (vn->vn_bfd)
+ : lbasename (vn->vn_bfd->filename),
+ FALSE);
+ if (indx == (size_t) -1)
+ return FALSE;
+ vn->vn_file = indx;
+ vn->vn_aux = sizeof (Elf_External_Verneed);
+ if (vn->vn_nextref == NULL)
+ vn->vn_next = 0;
+ else
+ vn->vn_next = (sizeof (Elf_External_Verneed)
+ + caux * sizeof (Elf_External_Vernaux));
- bed = get_elf_backend_data (output_bfd);
+ _bfd_elf_swap_verneed_out (output_bfd, vn,
+ (Elf_External_Verneed *) p);
+ p += sizeof (Elf_External_Verneed);
- if (info->gc_sections && bed->can_gc_sections)
- {
- struct elf_gc_sweep_symbol_info sweep_info;
- unsigned long section_sym_count;
+ for (a = vn->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ {
+ a->vna_hash = bfd_elf_hash (a->vna_nodename);
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ a->vna_nodename, FALSE);
+ if (indx == (size_t) -1)
+ return FALSE;
+ a->vna_name = indx;
+ if (a->vna_nextptr == NULL)
+ a->vna_next = 0;
+ else
+ a->vna_next = sizeof (Elf_External_Vernaux);
- /* Remove the symbols that were in the swept sections from the
- dynamic symbol table. GCFIXME: Anyone know how to get them
- out of the static symbol table as well? */
- sweep_info.info = info;
- sweep_info.hide_symbol = bed->elf_backend_hide_symbol;
- elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol,
- &sweep_info);
+ _bfd_elf_swap_vernaux_out (output_bfd, a,
+ (Elf_External_Vernaux *) p);
+ p += sizeof (Elf_External_Vernaux);
+ }
+ }
- /* We need to reassign dynsym indices now that symbols may have
- been removed. See the call in `bfd_elf_size_dynsym_hash_dynstr'
- for the details of the conditions used here. */
- if (elf_hash_table (info)->dynamic_sections_created
- || bed->always_renumber_dynsyms)
- _bfd_elf_link_renumber_dynsyms (output_bfd, info, &section_sym_count);
+ elf_tdata (output_bfd)->cverrefs = crefs;
+ }
}
/* Any syms created from now on start with -1 in
@@ -6786,7 +6785,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
if ((elf_tdata (output_bfd)->cverrefs == 0
&& elf_tdata (output_bfd)->cverdefs == 0)
|| _bfd_elf_link_renumber_dynsyms (output_bfd, info,
- &section_sym_count) == 0)
+ &section_sym_count) <= 1)
{
asection *s;
@@ -6849,7 +6848,7 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
{
const struct elf_backend_data *bed;
unsigned long section_sym_count;
- bfd_size_type dynsymcount;
+ bfd_size_type dynsymcount = 0;
if (!is_elf_hash_table (info->hash))
return TRUE;
@@ -8616,8 +8615,7 @@ elf_link_adjust_relocs (bfd *abfd,
abfd, sec,
(*rel_hash)->root.root.string);
_bfd_error_handler (_("%B:%A: error: try relinking with --gc-keep-exported enabled."),
- abfd, sec,
- (*rel_hash)->root.root.string);
+ abfd, sec);
bfd_set_error (bfd_error_invalid_operation);
return FALSE;
}
@@ -12338,7 +12336,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
get_vma:
o = bfd_get_linker_section (dynobj, name);
do_vma:
- if (o == NULL)
+ if (o == NULL || bfd_is_abs_section (o->output_section))
{
_bfd_error_handler
(_("could not find section %s"), name);
@@ -13831,6 +13829,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
{
asection *i;
int eh_changed = 0;
+ unsigned int eh_alignment;
for (i = o->map_head.s; i != NULL; i = i->map_head.s)
{
@@ -13856,6 +13855,36 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
fini_reloc_cookie_for_section (&cookie, i);
}
+
+ eh_alignment = 1 << o->alignment_power;
+ /* Skip over zero terminator, and prevent empty sections from
+ adding alignment padding at the end. */
+ for (i = o->map_tail.s; i != NULL; i = i->map_tail.s)
+ if (i->size == 0)
+ i->flags |= SEC_EXCLUDE;
+ else if (i->size > 4)
+ break;
+ /* The last non-empty eh_frame section doesn't need padding. */
+ if (i != NULL)
+ i = i->map_tail.s;
+ /* Any prior sections must pad the last FDE out to the output
+ section alignment. Otherwise we might have zero padding
+ between sections, which would be seen as a terminator. */
+ for (; i != NULL; i = i->map_tail.s)
+ if (i->size == 4)
+ /* All but the last zero terminator should have been removed. */
+ BFD_FAIL ();
+ else
+ {
+ bfd_size_type size
+ = (i->size + eh_alignment - 1) & -eh_alignment;
+ if (i->size != size)
+ {
+ i->size = size;
+ changed = 1;
+ eh_changed = 1;
+ }
+ }
if (eh_changed)
elf_link_hash_traverse (elf_hash_table (info),
_bfd_elf_adjust_eh_frame_global_symbol, NULL);
@@ -14226,18 +14255,30 @@ struct bfd_link_hash_entry *
bfd_elf_define_start_stop (struct bfd_link_info *info,
const char *symbol, asection *sec)
{
- struct bfd_link_hash_entry *h;
+ struct elf_link_hash_entry *h;
- h = bfd_generic_define_start_stop (info, symbol, sec);
- if (h != NULL)
+ h = elf_link_hash_lookup (elf_hash_table (info), symbol,
+ FALSE, FALSE, TRUE);
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_undefined
+ || h->root.type == bfd_link_hash_undefweak
+ || (h->ref_regular && !h->def_regular)))
{
- struct elf_link_hash_entry *eh = (struct elf_link_hash_entry *) h;
- eh->start_stop = 1;
- eh->u2.start_stop_section = sec;
- _bfd_elf_link_hash_hide_symbol (info, eh, TRUE);
- if (ELF_ST_VISIBILITY (eh->other) != STV_INTERNAL)
- eh->other = ((eh->other & ~ELF_ST_VISIBILITY (-1))
- | STV_HIDDEN);
+ h->root.type = bfd_link_hash_defined;
+ h->root.u.def.section = sec;
+ h->root.u.def.value = 0;
+ h->def_regular = 1;
+ h->def_dynamic = 0;
+ h->start_stop = 1;
+ h->u2.start_stop_section = sec;
+ if (symbol[0] == '.')
+ {
+ /* .startof. and .sizeof. symbols are local. */
+ _bfd_elf_link_hash_hide_symbol (info, h, TRUE);
+ }
+ else if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+ h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_PROTECTED;
+ return &h->root;
}
- return h;
+ return NULL;
}
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 86bae0e..9297056 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -3281,7 +3281,7 @@ aarch64_mem_op_p (uint32_t insn, unsigned int *rt, unsigned int *rt2,
uint32_t v = 0;
uint32_t opc_v = 0;
- /* Bail out quickly if INSN doesn't fall into the the load-store
+ /* Bail out quickly if INSN doesn't fall into the load-store
encoding space. */
if (!AARCH64_LDST (insn))
return FALSE;
@@ -4944,7 +4944,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
= elfNN_aarch64_bfd_reloc_from_howto (howto);
unsigned long r_symndx;
bfd_byte *hit_data = contents + rel->r_offset;
- bfd_vma place, off, got_entry_addr;
+ bfd_vma place, off, got_entry_addr = 0;
bfd_signed_vma signed_addend;
struct elf_aarch64_link_hash_table *globals;
bfd_boolean weak_undef_p;
@@ -4981,9 +4981,27 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
const char *name;
bfd_vma addend = 0;
- if ((input_section->flags & SEC_ALLOC) == 0
- || h->plt.offset == (bfd_vma) -1)
- abort ();
+ if ((input_section->flags & SEC_ALLOC) == 0)
+ {
+ /* Dynamic relocs are not propagated for SEC_DEBUGGING
+ sections because such sections are not SEC_ALLOC and
+ thus ld.so will not process them. */
+ if ((input_section->flags & SEC_DEBUGGING) != 0)
+ return bfd_reloc_ok;
+
+ if (h->root.root.string)
+ name = h->root.root.string;
+ else
+ name = bfd_elf_sym_name (input_bfd, symtab_hdr, sym, NULL);
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+ input_bfd, input_section, rel->r_offset, howto->name, name);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ else if (h->plt.offset == (bfd_vma) -1)
+ goto bad_ifunc_reloc;
/* STT_GNU_IFUNC symbol must go through PLT. */
plt = globals->root.splt ? globals->root.splt : globals->root.iplt;
@@ -4992,6 +5010,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
switch (bfd_r_type)
{
default:
+bad_ifunc_reloc:
if (h->root.root.string)
name = h->root.root.string;
else
@@ -5016,7 +5035,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
_bfd_error_handler
/* xgettext:c-format */
(_("%B: relocation %s against STT_GNU_IFUNC "
- "symbol `%s' has non-zero addend: %d"),
+ "symbol `%s' has non-zero addend: %Ld"),
input_bfd, howto->name, name, rel->r_addend);
bfd_set_error (bfd_error_bad_value);
return FALSE;
@@ -6072,17 +6091,11 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
r_symndx = ELFNN_R_SYM (rel->r_info);
r_type = ELFNN_R_TYPE (rel->r_info);
- bfd_reloc.howto = elfNN_aarch64_howto_from_type (r_type);
- howto = bfd_reloc.howto;
+ howto = bfd_reloc.howto = elfNN_aarch64_howto_from_type (r_type);
if (howto == NULL)
- {
- /* xgettext:c-format */
- _bfd_error_handler
- (_("%B: unrecognized relocation (0x%x) in section `%A'"),
- input_bfd, r_type, input_section);
- return FALSE;
- }
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
+
bfd_r_type = elfNN_aarch64_bfd_reloc_from_howto (howto);
h = NULL;
@@ -6162,11 +6175,11 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
_bfd_error_handler
((sym_type == STT_TLS
/* xgettext:c-format */
- ? _("%B(%A+0x%lx): %s used with TLS symbol %s")
+ ? _("%B(%A+%#Lx): %s used with TLS symbol %s")
/* xgettext:c-format */
- : _("%B(%A+0x%lx): %s used with non-TLS symbol %s")),
+ : _("%B(%A+%#Lx): %s used with non-TLS symbol %s")),
input_bfd,
- input_section, (long) rel->r_offset, howto->name, name);
+ input_section, rel->r_offset, howto->name, name);
}
/* We relax only if we can see that there can be a valid transition
@@ -6434,8 +6447,8 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
- input_bfd, input_section, (long) rel->r_offset, howto->name,
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+ input_bfd, input_section, rel->r_offset, howto->name,
h->root.root.string);
return FALSE;
}
@@ -7101,7 +7114,7 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < rel_end; rel++)
{
struct elf_link_hash_entry *h;
- unsigned long r_symndx;
+ unsigned int r_symndx;
unsigned int r_type;
bfd_reloc_code_real_type bfd_r_type;
Elf_Internal_Sym *isym;
@@ -7634,8 +7647,39 @@ elfNN_aarch64_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSE
const asection *rel_sec ATTRIBUTE_UNUSED,
const Elf_Internal_Rela *rela)
{
+ struct elf_aarch64_link_hash_table *htab = elf_aarch64_hash_table (info);
+
+ if (htab->root.dynsym != NULL
+ && htab->root.dynsym->contents != NULL)
+ {
+ /* Check relocation against STT_GNU_IFUNC symbol if there are
+ dynamic symbols. */
+ bfd *abfd = info->output_bfd;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ unsigned long r_symndx = ELFNN_R_SYM (rela->r_info);
+ if (r_symndx != STN_UNDEF)
+ {
+ Elf_Internal_Sym sym;
+ if (!bed->s->swap_symbol_in (abfd,
+ (htab->root.dynsym->contents
+ + r_symndx * bed->s->sizeof_sym),
+ 0, &sym))
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%B symbol number %lu references"
+ " nonexistent SHT_SYMTAB_SHNDX section"),
+ abfd, r_symndx);
+ /* Ideally an error class should be returned here. */
+ }
+ else if (ELF_ST_TYPE (sym.st_info) == STT_GNU_IFUNC)
+ return reloc_class_ifunc;
+ }
+ }
+
switch ((int) ELFNN_R_TYPE (rela->r_info))
{
+ case AARCH64_R (IRELATIVE):
+ return reloc_class_ifunc;
case AARCH64_R (RELATIVE):
return reloc_class_relative;
case AARCH64_R (JUMP_SLOT):
diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c
index 7f90c93..2e70db6 100644
--- a/bfd/elfnn-ia64.c
+++ b/bfd/elfnn-ia64.c
@@ -617,9 +617,9 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: Can't relax br at 0x%lx in section `%A'."
+ (_("%B: Can't relax br at %#Lx in section `%A'."
" Please use brl or indirect branch."),
- sec->owner, (unsigned long) roff, sec);
+ sec->owner, roff, sec);
bfd_set_error (bfd_error_bad_value);
goto error_return;
}
@@ -3685,8 +3685,8 @@ elfNN_ia64_choose_gp (bfd *abfd, struct bfd_link_info *info, bfd_boolean final)
overflow:
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: short data segment overflowed (0x%lx >= 0x400000)"),
- abfd, (unsigned long) (max_short_vma - min_short_vma));
+ (_("%B: short data segment overflowed (%#Lx >= 0x400000)"),
+ abfd, max_short_vma - min_short_vma);
return FALSE;
}
else if ((gp_val > min_short_vma
@@ -4473,7 +4473,7 @@ missing_tls_sec:
_bfd_error_handler
/* xgettext:c-format */
(_("%B: missing TLS section for relocation %s against `%s'"
- " at 0x%lx in section `%A'."),
+ " at %#Lx in section `%A'."),
input_bfd, howto->name, name,
rel->r_offset, input_section);
break;
@@ -4489,8 +4489,8 @@ missing_tls_sec:
that the section is too big to relax. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: Can't relax br (%s) to `%s' at 0x%lx"
- " in section `%A' with size 0x%lx (> 0x1000000)."),
+ (_("%B: Can't relax br (%s) to `%s' at %#Lx"
+ " in section `%A' with size %#Lx (> 0x1000000)."),
input_bfd, howto->name, name, rel->r_offset,
input_section, input_section->size);
break;
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 6d297ce..b4d7b9b 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -515,7 +515,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < relocs + sec->reloc_count; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
r_symndx = ELFNN_R_SYM (rel->r_info);
@@ -1651,9 +1651,50 @@ riscv_free_pcrel_relocs (riscv_pcrel_relocs *p)
}
static bfd_boolean
-riscv_record_pcrel_hi_reloc (riscv_pcrel_relocs *p, bfd_vma addr, bfd_vma value)
+riscv_zero_pcrel_hi_reloc (Elf_Internal_Rela *rel,
+ struct bfd_link_info *info,
+ bfd_vma pc,
+ bfd_vma addr,
+ bfd_byte *contents,
+ const reloc_howto_type *howto,
+ bfd *input_bfd)
{
- riscv_pcrel_hi_reloc entry = {addr, value - addr};
+ /* We may need to reference low addreses in PC-relative modes even when the
+ * PC is far away from these addresses. For example, undefweak references
+ * need to produce the address 0 when linked. As 0 is far from the arbitrary
+ * addresses that we can link PC-relative programs at, the linker can't
+ * actually relocate references to those symbols. In order to allow these
+ * programs to work we simply convert the PC-relative auipc sequences to
+ * 0-relative lui sequences. */
+ if (bfd_link_pic (info))
+ return FALSE;
+
+ /* If it's possible to reference the symbol using auipc we do so, as that's
+ * more in the spirit of the PC-relative relocations we're processing. */
+ bfd_vma offset = addr - pc;
+ if (ARCH_SIZE == 32 || VALID_UTYPE_IMM (RISCV_CONST_HIGH_PART (offset)))
+ return FALSE;
+
+ /* If it's impossible to reference this with a LUI-based offset then don't
+ * bother to convert it at all so users still see the PC-relative relocation
+ * in the truncation message. */
+ if (ARCH_SIZE > 32 && !VALID_UTYPE_IMM (RISCV_CONST_HIGH_PART (addr)))
+ return FALSE;
+
+ rel->r_info = ELFNN_R_INFO(addr, R_RISCV_HI20);
+
+ bfd_vma insn = bfd_get(howto->bitsize, input_bfd, contents + rel->r_offset);
+ insn = (insn & ~MASK_AUIPC) | MATCH_LUI;
+ bfd_put(howto->bitsize, input_bfd, insn, contents + rel->r_offset);
+ return TRUE;
+}
+
+static bfd_boolean
+riscv_record_pcrel_hi_reloc (riscv_pcrel_relocs *p, bfd_vma addr,
+ bfd_vma value, bfd_boolean absolute)
+{
+ bfd_vma offset = absolute ? value : value - addr;
+ riscv_pcrel_hi_reloc entry = {addr, offset};
riscv_pcrel_hi_reloc **slot =
(riscv_pcrel_hi_reloc **) htab_find_slot (p->hi_relocs, &entry, INSERT);
@@ -1758,6 +1799,7 @@ riscv_elf_relocate_section (bfd *output_bfd,
Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (input_bfd);
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
bfd_vma *local_got_offsets = elf_local_got_offsets (input_bfd);
+ bfd_boolean absolute;
if (!riscv_init_pcrel_relocs (&pcrel_relocs))
return FALSE;
@@ -1931,7 +1973,17 @@ riscv_elf_relocate_section (bfd *output_bfd,
}
}
relocation = sec_addr (htab->elf.sgot) + off;
- if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc, relocation))
+ absolute = riscv_zero_pcrel_hi_reloc (rel,
+ info,
+ pc,
+ relocation,
+ contents,
+ howto,
+ input_bfd);
+ r_type = ELFNN_R_TYPE (rel->r_info);
+ howto = riscv_elf_rtype_to_howto (r_type);
+ if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
+ relocation, absolute))
r = bfd_reloc_overflow;
break;
@@ -2017,8 +2069,18 @@ riscv_elf_relocate_section (bfd *output_bfd,
}
case R_RISCV_PCREL_HI20:
+ absolute = riscv_zero_pcrel_hi_reloc (rel,
+ info,
+ pc,
+ relocation,
+ contents,
+ howto,
+ input_bfd);
+ r_type = ELFNN_R_TYPE (rel->r_info);
+ howto = riscv_elf_rtype_to_howto (r_type);
if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
- relocation + rel->r_addend))
+ relocation + rel->r_addend,
+ absolute))
r = bfd_reloc_overflow;
break;
@@ -2214,7 +2276,8 @@ riscv_elf_relocate_section (bfd *output_bfd,
BFD_ASSERT (off < (bfd_vma) -2);
relocation = sec_addr (htab->elf.sgot) + off + (is_ie ? ie_off : 0);
- if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc, relocation))
+ if (!riscv_record_pcrel_hi_reloc (&pcrel_relocs, pc,
+ relocation, FALSE))
r = bfd_reloc_overflow;
unresolved_reloc = FALSE;
break;
@@ -2233,10 +2296,10 @@ riscv_elf_relocate_section (bfd *output_bfd,
rel->r_offset) != (bfd_vma) -1)
{
(*_bfd_error_handler)
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
continue;
@@ -2923,7 +2986,7 @@ _bfd_riscv_relax_tls_le (bfd *abfd,
static bfd_boolean
_bfd_riscv_relax_align (bfd *abfd, asection *sec,
- asection *sym_sec ATTRIBUTE_UNUSED,
+ asection *sym_sec,
struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
Elf_Internal_Rela *rel,
bfd_vma symval,
@@ -2945,7 +3008,14 @@ _bfd_riscv_relax_align (bfd *abfd, asection *sec,
/* Make sure there are enough NOPs to actually achieve the alignment. */
if (rel->r_addend < nop_bytes)
- return FALSE;
+ {
+ (*_bfd_error_handler)
+ (_("%B(%A+0x%lx): %d bytes required for alignment"
+ "to %d-byte boundary, but only %d present"),
+ abfd, sym_sec, rel->r_offset, nop_bytes, alignment, rel->r_addend);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
/* Delete the reloc. */
rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE);
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 2eb3dd3..6a4d3e1 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -5456,7 +5456,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
{
/* If this is a dynamic link, we should have created a
_DYNAMIC_LINK symbol or _DYNAMIC_LINKING(for normal mips) symbol
- in in _bfd_mips_elf_create_dynamic_sections.
+ in _bfd_mips_elf_create_dynamic_sections.
Otherwise, we should define the symbol with a value of 0.
FIXME: It should probably get into the symbol table
somehow as well. */
@@ -6414,6 +6414,7 @@ mips_elf_perform_relocation (struct bfd_link_info *info,
bfd_boolean ok = FALSE;
bfd_vma opcode = x >> 16;
bfd_vma jalx_opcode = 0;
+ bfd_vma sign_bit = 0;
bfd_vma addr;
bfd_vma dest;
@@ -6421,12 +6422,14 @@ mips_elf_perform_relocation (struct bfd_link_info *info,
{
ok = opcode == 0x4060;
jalx_opcode = 0x3c;
+ sign_bit = 0x10000;
value <<= 1;
}
else if (r_type == R_MIPS_PC16 || r_type == R_MIPS_GNU_REL16_S2)
{
ok = opcode == 0x411;
jalx_opcode = 0x1d;
+ sign_bit = 0x20000;
value <<= 2;
}
@@ -6436,7 +6439,8 @@ mips_elf_perform_relocation (struct bfd_link_info *info,
+ input_section->output_offset
+ relocation->r_offset
+ 4);
- dest = addr + (((value & 0x3ffff) ^ 0x20000) - 0x20000);
+ dest = (addr
+ + (((value & ((sign_bit << 1) - 1)) ^ sign_bit) - sign_bit));
if ((addr >> 28) << 28 != (dest >> 28) << 28)
{
@@ -6955,7 +6959,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym)
{
asym->section = section;
/* MIPS_TEXT is a bit special, the address is not an offset
- to the base of the .text section. So substract the section
+ to the base of the .text section. So subtract the section
base address to make it an offset. */
asym->value -= section->vma;
}
@@ -6970,7 +6974,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym)
{
asym->section = section;
/* MIPS_DATA is a bit special, the address is not an offset
- to the base of the .data section. So substract the section
+ to the base of the .data section. So subtract the section
base address to make it an offset. */
asym->value -= section->vma;
}
@@ -8456,8 +8460,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: GOT reloc at 0x%lx not expected in executables"),
- abfd, (unsigned long) rel->r_offset);
+ (_("%B: GOT reloc at %#Lx not expected in executables"),
+ abfd, rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -8594,8 +8598,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: CALL16 reloc at 0x%lx not against global symbol"),
- abfd, (unsigned long) rel->r_offset);
+ (_("%B: CALL16 reloc at %#Lx not against global symbol"),
+ abfd, rel->r_offset);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -10137,7 +10141,7 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
_bfd_error_handler
/* xgettext:c-format */
(_("%B: Can't find matching LO16 reloc against `%s'"
- " for %s at 0x%lx in section `%A'"),
+ " for %s at %#Lx in section `%A'"),
input_bfd, name,
howto->name, rel->r_offset, input_section);
}
@@ -10680,11 +10684,11 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: `%A' offset of %ld from `%A' "
+ (_("%B: `%A' offset of %Ld from `%A' "
"beyond the range of ADDIUPC"),
output_bfd,
htab->root.sgotplt->output_section,
- (long) gotpc_offset,
+ gotpc_offset,
htab->root.splt->output_section);
bfd_set_error (bfd_error_no_error);
return FALSE;
@@ -11248,10 +11252,10 @@ mips_finish_exec_plt (bfd *output_bfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"),
+ (_("%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"),
output_bfd,
htab->root.sgotplt->output_section,
- (long) gotpc_offset,
+ gotpc_offset,
htab->root.splt->output_section);
bfd_set_error (bfd_error_no_error);
return FALSE;
@@ -15124,10 +15128,9 @@ mips_elf_merge_obj_e_flags (bfd *ibfd, struct bfd_link_info *info)
{
/* xgettext:c-format */
_bfd_error_handler
- (_("%B: uses different e_flags (0x%lx) fields than previous modules "
- "(0x%lx)"),
- ibfd, (unsigned long) new_flags,
- (unsigned long) old_flags);
+ (_("%B: uses different e_flags (%#x) fields than previous modules "
+ "(%#x)"),
+ ibfd, new_flags, old_flags);
ok = FALSE;
}
@@ -15427,7 +15430,7 @@ _bfd_mips_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
_bfd_error_handler
(_("%B: warning: Unexpected flag in the flags2 field of "
".MIPS.abiflags (0x%lx)"), ibfd,
- (unsigned long) in_abiflags.flags2);
+ in_abiflags.flags2);
}
else
{
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 5fa98f3..55db392 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -32,6 +32,13 @@
#define MINUS_ONE ((bfd_vma)0 - 1)
+/* Special handler for ADD/SUB relocations that allows them to be filled out
+ both in the pre-linked and post-linked file. This is necessary to make
+ pre-linked debug info work, as due to linker relaxations we need to emit
+ relocations for the debug info. */
+static bfd_reloc_status_type riscv_elf_add_sub_reloc
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
+
/* The relocation table used for SHT_RELA sections. */
static reloc_howto_type howto_table[] =
@@ -480,7 +487,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_ADD8", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -495,7 +502,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_ADD16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -510,7 +517,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_ADD32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -525,7 +532,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_ADD64", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -540,7 +547,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_SUB8", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -555,7 +562,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_SUB16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -570,7 +577,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_SUB32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -585,7 +592,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_SUB64", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -767,7 +774,7 @@ static reloc_howto_type howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ riscv_elf_add_sub_reloc, /* special_function */
"R_RISCV_SUB6", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -951,3 +958,54 @@ riscv_elf_rtype_to_howto (unsigned int r_type)
}
return &howto_table[r_type];
}
+
+/* Special_function of RISCV_ADD and RISCV_SUB relocations. */
+
+static bfd_reloc_status_type
+riscv_elf_add_sub_reloc (bfd *abfd,
+ arelent *reloc_entry,
+ asymbol *symbol,
+ void *data,
+ asection *input_section,
+ bfd *output_bfd,
+ char **error_message ATTRIBUTE_UNUSED)
+{
+ reloc_howto_type *howto = reloc_entry->howto;
+ bfd_vma relocation;
+
+ if (output_bfd != NULL
+ && (symbol->flags & BSF_SECTION_SYM) == 0
+ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
+ {
+ reloc_entry->address += input_section->output_offset;
+ return bfd_reloc_ok;
+ }
+
+ if (output_bfd != NULL)
+ return bfd_reloc_continue;
+
+ relocation = symbol->value + symbol->section->output_section->vma
+ + symbol->section->output_offset + reloc_entry->addend;
+ bfd_vma old_value = bfd_get (howto->bitsize, abfd,
+ data + reloc_entry->address);
+
+ switch (howto->type)
+ {
+ case R_RISCV_ADD8:
+ case R_RISCV_ADD16:
+ case R_RISCV_ADD32:
+ case R_RISCV_ADD64:
+ relocation = old_value + relocation;
+ break;
+ case R_RISCV_SUB6:
+ case R_RISCV_SUB8:
+ case R_RISCV_SUB16:
+ case R_RISCV_SUB32:
+ case R_RISCV_SUB64:
+ relocation = old_value - relocation;
+ break;
+ }
+ bfd_put (howto->bitsize, abfd, relocation, data + reloc_entry->address);
+
+ return bfd_reloc_ok;
+}
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index b50d34b..ef6e50c 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -1426,7 +1426,7 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
struct _bfd_sparc_elf_link_hash_entry *eh;
Elf_Internal_Sym *isym;
@@ -4083,10 +4083,10 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
rel->r_offset) != (bfd_vma) -1)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c
index ec88ab3..390d089 100644
--- a/bfd/elfxx-tilegx.c
+++ b/bfd/elfxx-tilegx.c
@@ -1695,7 +1695,7 @@ tilegx_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
for (rel = relocs; rel < rel_end; rel++)
{
unsigned int r_type;
- unsigned long r_symndx;
+ unsigned int r_symndx;
struct elf_link_hash_entry *h;
int tls_type;
@@ -3160,15 +3160,7 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
continue;
if ((unsigned int)r_type >= ARRAY_SIZE (tilegx_elf_howto_table))
- {
- /* Not clear if we need to check here, but just be paranoid. */
- _bfd_error_handler
- /* xgettext:c-format */
- (_("%B: unrecognized relocation (0x%x) in section `%A'"),
- input_bfd, r_type, input_section);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
+ return _bfd_unrecognized_reloc (input_bfd, input_section, r_type);
howto = tilegx_elf_howto_table + r_type;
@@ -3973,10 +3965,10 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
rel->r_offset) != (bfd_vma) -1)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
+ (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
input_bfd,
input_section,
- (long) rel->r_offset,
+ rel->r_offset,
howto->name,
h->root.root.string);
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
new file mode 100644
index 0000000..11883de
--- /dev/null
+++ b/bfd/elfxx-x86.c
@@ -0,0 +1,2508 @@
+/* x86 specific support for ELF
+ Copyright (C) 2017 Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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. */
+
+#include "elfxx-x86.h"
+#include "elf-vxworks.h"
+#include "objalloc.h"
+#include "elf/i386.h"
+#include "elf/x86-64.h"
+
+/* The name of the dynamic interpreter. This is put in the .interp
+ section. */
+
+#define ELF32_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
+#define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
+#define ELFX32_DYNAMIC_INTERPRETER "/lib/ldx32.so.1"
+
+bfd_boolean
+_bfd_x86_elf_mkobject (bfd *abfd)
+{
+ return bfd_elf_allocate_object (abfd,
+ sizeof (struct elf_x86_obj_tdata),
+ get_elf_backend_data (abfd)->target_id);
+}
+
+/* _TLS_MODULE_BASE_ needs to be treated especially when linking
+ executables. Rather than setting it to the beginning of the TLS
+ section, we have to set it to the end. This function may be called
+ multiple times, it is idempotent. */
+
+void
+_bfd_x86_elf_set_tls_module_base (struct bfd_link_info *info)
+{
+ struct elf_x86_link_hash_table *htab;
+ struct bfd_link_hash_entry *base;
+ const struct elf_backend_data *bed;
+
+ if (!bfd_link_executable (info))
+ return;
+
+ bed = get_elf_backend_data (info->output_bfd);
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return;
+
+ base = htab->tls_module_base;
+ if (base == NULL)
+ return;
+
+ base->u.def.value = htab->elf.tls_size;
+}
+
+/* Return the base VMA address which should be subtracted from real addresses
+ when resolving @dtpoff relocation.
+ This is PT_TLS segment p_vaddr. */
+
+bfd_vma
+_bfd_x86_elf_dtpoff_base (struct bfd_link_info *info)
+{
+ /* If tls_sec is NULL, we should have signalled an error already. */
+ if (elf_hash_table (info)->tls_sec == NULL)
+ return 0;
+ return elf_hash_table (info)->tls_sec->vma;
+}
+
+/* Allocate space in .plt, .got and associated reloc sections for
+ dynamic relocs. */
+
+static bfd_boolean
+elf_x86_allocate_dynrelocs (struct elf_link_hash_entry *h,
+ void *inf)
+{
+ struct bfd_link_info *info;
+ struct elf_x86_link_hash_table *htab;
+ struct elf_x86_link_hash_entry *eh;
+ struct elf_dyn_relocs *p;
+ unsigned int plt_entry_size;
+ bfd_boolean resolved_to_zero;
+ const struct elf_backend_data *bed;
+
+ if (h->root.type == bfd_link_hash_indirect)
+ return TRUE;
+
+ eh = (struct elf_x86_link_hash_entry *) h;
+
+ info = (struct bfd_link_info *) inf;
+ bed = get_elf_backend_data (info->output_bfd);
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return FALSE;
+
+ plt_entry_size = htab->plt.plt_entry_size;
+
+ resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
+
+ /* Clear the reference count of function pointer relocations if
+ symbol isn't a normal function. */
+ if (h->type != STT_FUNC)
+ eh->func_pointer_refcount = 0;
+
+ /* We can't use the GOT PLT if pointer equality is needed since
+ finish_dynamic_symbol won't clear symbol value and the dynamic
+ linker won't update the GOT slot. We will get into an infinite
+ loop at run-time. */
+ if (htab->plt_got != NULL
+ && h->type != STT_GNU_IFUNC
+ && !h->pointer_equality_needed
+ && h->plt.refcount > 0
+ && h->got.refcount > 0)
+ {
+ /* Don't use the regular PLT if there are both GOT and GOTPLT
+ reloctions. */
+ h->plt.offset = (bfd_vma) -1;
+
+ /* Use the GOT PLT. */
+ eh->plt_got.refcount = 1;
+ }
+
+ /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
+ here if it is defined and referenced in a non-shared object. */
+ if (h->type == STT_GNU_IFUNC
+ && h->def_regular)
+ {
+ if (_bfd_elf_allocate_ifunc_dyn_relocs (info, h, &eh->dyn_relocs,
+ &htab->readonly_dynrelocs_against_ifunc,
+ plt_entry_size,
+ (htab->plt.has_plt0
+ * plt_entry_size),
+ htab->got_entry_size,
+ TRUE))
+ {
+ asection *s = htab->plt_second;
+ if (h->plt.offset != (bfd_vma) -1 && s != NULL)
+ {
+ /* Use the second PLT section if it is created. */
+ eh->plt_second.offset = s->size;
+
+ /* Make room for this entry in the second PLT section. */
+ s->size += htab->non_lazy_plt->plt_entry_size;
+ }
+
+ return TRUE;
+ }
+ else
+ return FALSE;
+ }
+ /* Don't create the PLT entry if there are only function pointer
+ relocations which can be resolved at run-time. */
+ else if (htab->elf.dynamic_sections_created
+ && (h->plt.refcount > eh->func_pointer_refcount
+ || eh->plt_got.refcount > 0))
+ {
+ bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
+
+ /* Clear the reference count of function pointer relocations
+ if PLT is used. */
+ eh->func_pointer_refcount = 0;
+
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && !h->forced_local
+ && !resolved_to_zero
+ && h->root.type == bfd_link_hash_undefweak)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ if (bfd_link_pic (info)
+ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
+ {
+ asection *s = htab->elf.splt;
+ asection *second_s = htab->plt_second;
+ asection *got_s = htab->plt_got;
+
+ /* If this is the first .plt entry, make room for the special
+ first entry. The .plt section is used by prelink to undo
+ prelinking for dynamic relocations. */
+ if (s->size == 0)
+ s->size = htab->plt.has_plt0 * plt_entry_size;
+
+ if (use_plt_got)
+ eh->plt_got.offset = got_s->size;
+ else
+ {
+ h->plt.offset = s->size;
+ if (second_s)
+ eh->plt_second.offset = second_s->size;
+ }
+
+ /* If this symbol is not defined in a regular file, and we are
+ not generating a shared library, then set the symbol to this
+ location in the .plt. This is required to make function
+ pointers compare as equal between the normal executable and
+ the shared library. */
+ if (! bfd_link_pic (info)
+ && !h->def_regular)
+ {
+ if (use_plt_got)
+ {
+ /* We need to make a call to the entry of the GOT PLT
+ instead of regular PLT entry. */
+ h->root.u.def.section = got_s;
+ h->root.u.def.value = eh->plt_got.offset;
+ }
+ else
+ {
+ if (second_s)
+ {
+ /* We need to make a call to the entry of the
+ second PLT instead of regular PLT entry. */
+ h->root.u.def.section = second_s;
+ h->root.u.def.value = eh->plt_second.offset;
+ }
+ else
+ {
+ h->root.u.def.section = s;
+ h->root.u.def.value = h->plt.offset;
+ }
+ }
+ }
+
+ /* Make room for this entry. */
+ if (use_plt_got)
+ got_s->size += htab->non_lazy_plt->plt_entry_size;
+ else
+ {
+ s->size += plt_entry_size;
+ if (second_s)
+ second_s->size += htab->non_lazy_plt->plt_entry_size;
+
+ /* We also need to make an entry in the .got.plt section,
+ which will be placed in the .got section by the linker
+ script. */
+ htab->elf.sgotplt->size += htab->got_entry_size;
+
+ /* There should be no PLT relocation against resolved
+ undefined weak symbol in executable. */
+ if (!resolved_to_zero)
+ {
+ /* We also need to make an entry in the .rel.plt
+ section. */
+ htab->elf.srelplt->size += htab->sizeof_reloc;
+ htab->elf.srelplt->reloc_count++;
+ }
+ }
+
+ if (htab->is_vxworks && !bfd_link_pic (info))
+ {
+ /* VxWorks has a second set of relocations for each PLT entry
+ in executables. They go in a separate relocation section,
+ which is processed by the kernel loader. */
+
+ /* There are two relocations for the initial PLT entry: an
+ R_386_32 relocation for _GLOBAL_OFFSET_TABLE_ + 4 and an
+ R_386_32 relocation for _GLOBAL_OFFSET_TABLE_ + 8. */
+
+ asection *srelplt2 = htab->srelplt2;
+ if (h->plt.offset == plt_entry_size)
+ srelplt2->size += (htab->sizeof_reloc * 2);
+
+ /* There are two extra relocations for each subsequent PLT entry:
+ an R_386_32 relocation for the GOT entry, and an R_386_32
+ relocation for the PLT entry. */
+
+ srelplt2->size += (htab->sizeof_reloc * 2);
+ }
+ }
+ else
+ {
+ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+ }
+ else
+ {
+ eh->plt_got.offset = (bfd_vma) -1;
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+
+ eh->tlsdesc_got = (bfd_vma) -1;
+
+ /* For i386, if R_386_TLS_{IE_32,IE,GOTIE} symbol is now local to the
+ binary, make it a R_386_TLS_LE_32 requiring no TLS entry. For
+ x86-64, if R_X86_64_GOTTPOFF symbol is now local to the binary,
+ make it a R_X86_64_TPOFF32 requiring no GOT entry. */
+ if (h->got.refcount > 0
+ && bfd_link_executable (info)
+ && h->dynindx == -1
+ && (elf_x86_hash_entry (h)->tls_type & GOT_TLS_IE))
+ h->got.offset = (bfd_vma) -1;
+ else if (h->got.refcount > 0)
+ {
+ asection *s;
+ bfd_boolean dyn;
+ int tls_type = elf_x86_hash_entry (h)->tls_type;
+
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && !h->forced_local
+ && !resolved_to_zero
+ && h->root.type == bfd_link_hash_undefweak)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ s = htab->elf.sgot;
+ if (GOT_TLS_GDESC_P (tls_type))
+ {
+ eh->tlsdesc_got = htab->elf.sgotplt->size
+ - elf_x86_compute_jump_table_size (htab);
+ htab->elf.sgotplt->size += 2 * htab->got_entry_size;
+ h->got.offset = (bfd_vma) -2;
+ }
+ if (! GOT_TLS_GDESC_P (tls_type)
+ || GOT_TLS_GD_P (tls_type))
+ {
+ h->got.offset = s->size;
+ s->size += htab->got_entry_size;
+ /* R_386_TLS_GD and R_X86_64_TLSGD need 2 consecutive GOT
+ slots. */
+ if (GOT_TLS_GD_P (tls_type) || tls_type == GOT_TLS_IE_BOTH)
+ s->size += htab->got_entry_size;
+ }
+ dyn = htab->elf.dynamic_sections_created;
+ /* R_386_TLS_IE_32 needs one dynamic relocation,
+ R_386_TLS_IE resp. R_386_TLS_GOTIE needs one dynamic relocation,
+ (but if both R_386_TLS_IE_32 and R_386_TLS_IE is present, we
+ need two), R_386_TLS_GD and R_X86_64_TLSGD need one if local
+ symbol and two if global. No dynamic relocation against
+ resolved undefined weak symbol in executable. */
+ if (tls_type == GOT_TLS_IE_BOTH)
+ htab->elf.srelgot->size += 2 * htab->sizeof_reloc;
+ else if ((GOT_TLS_GD_P (tls_type) && h->dynindx == -1)
+ || (tls_type & GOT_TLS_IE))
+ htab->elf.srelgot->size += htab->sizeof_reloc;
+ else if (GOT_TLS_GD_P (tls_type))
+ htab->elf.srelgot->size += 2 * htab->sizeof_reloc;
+ else if (! GOT_TLS_GDESC_P (tls_type)
+ && ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+ && !resolved_to_zero)
+ || h->root.type != bfd_link_hash_undefweak)
+ && (bfd_link_pic (info)
+ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)))
+ htab->elf.srelgot->size += htab->sizeof_reloc;
+ if (GOT_TLS_GDESC_P (tls_type))
+ {
+ htab->elf.srelplt->size += htab->sizeof_reloc;
+ if (bed->target_id == X86_64_ELF_DATA)
+ htab->tlsdesc_plt = (bfd_vma) -1;
+ }
+ }
+ else
+ h->got.offset = (bfd_vma) -1;
+
+ if (eh->dyn_relocs == NULL)
+ return TRUE;
+
+ /* In the shared -Bsymbolic case, discard space allocated for
+ dynamic pc-relative relocs against symbols which turn out to be
+ defined in regular objects. For the normal shared case, discard
+ space for pc-relative relocs that have become local due to symbol
+ visibility changes. */
+
+ if (bfd_link_pic (info))
+ {
+ /* Relocs that use pc_count are those that appear on a call
+ insn, or certain REL relocs that can generated via assembly.
+ We want calls to protected symbols to resolve directly to the
+ function rather than going via the plt. If people want
+ function pointer comparisons to work as expected then they
+ should avoid writing weird assembly. */
+ if (SYMBOL_CALLS_LOCAL (info, h))
+ {
+ struct elf_dyn_relocs **pp;
+
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ {
+ p->count -= p->pc_count;
+ p->pc_count = 0;
+ if (p->count == 0)
+ *pp = p->next;
+ else
+ pp = &p->next;
+ }
+ }
+
+ if (htab->is_vxworks)
+ {
+ struct elf_dyn_relocs **pp;
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ {
+ if (strcmp (p->sec->output_section->name, ".tls_vars") == 0)
+ *pp = p->next;
+ else
+ pp = &p->next;
+ }
+ }
+
+ /* Also discard relocs on undefined weak syms with non-default
+ visibility or in PIE. */
+ if (eh->dyn_relocs != NULL)
+ {
+ if (h->root.type == bfd_link_hash_undefweak)
+ {
+ /* Undefined weak symbol is never bound locally in shared
+ library. */
+ if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+ || resolved_to_zero)
+ {
+ if (bed->target_id == I386_ELF_DATA
+ && h->non_got_ref)
+ {
+ /* Keep dynamic non-GOT/non-PLT relocation so
+ that we can branch to 0 without PLT. */
+ struct elf_dyn_relocs **pp;
+
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ if (p->pc_count == 0)
+ *pp = p->next;
+ else
+ {
+ /* Remove non-R_386_PC32 relocation. */
+ p->count = p->pc_count;
+ pp = &p->next;
+ }
+
+ /* Make sure undefined weak symbols are output
+ as dynamic symbols in PIEs for dynamic non-GOT
+ non-PLT reloations. */
+ if (eh->dyn_relocs != NULL
+ && !bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+ else
+ eh->dyn_relocs = NULL;
+ }
+ else if (h->dynindx == -1
+ && !h->forced_local
+ && !bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+ else if (bfd_link_executable (info)
+ && (h->needs_copy || eh->needs_copy)
+ && h->def_dynamic
+ && !h->def_regular)
+ {
+ /* NB: needs_copy is set only for x86-64. For PIE,
+ discard space for pc-relative relocs against symbols
+ which turn out to need copy relocs. */
+ struct elf_dyn_relocs **pp;
+
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ {
+ if (p->pc_count != 0)
+ *pp = p->next;
+ else
+ pp = &p->next;
+ }
+ }
+ }
+ }
+ else if (ELIMINATE_COPY_RELOCS)
+ {
+ /* For the non-shared case, discard space for relocs against
+ symbols which turn out to need copy relocs or are not
+ dynamic. Keep dynamic relocations for run-time function
+ pointer initialization. */
+
+ if ((!h->non_got_ref
+ || eh->func_pointer_refcount > 0
+ || (h->root.type == bfd_link_hash_undefweak
+ && !resolved_to_zero))
+ && ((h->def_dynamic
+ && !h->def_regular)
+ || (htab->elf.dynamic_sections_created
+ && (h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_undefined))))
+ {
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && !h->forced_local
+ && !resolved_to_zero
+ && h->root.type == bfd_link_hash_undefweak
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ /* If that succeeded, we know we'll be keeping all the
+ relocs. */
+ if (h->dynindx != -1)
+ goto keep;
+ }
+
+ eh->dyn_relocs = NULL;
+ eh->func_pointer_refcount = 0;
+
+ keep: ;
+ }
+
+ /* Finally, allocate space. */
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ asection *sreloc;
+
+ sreloc = elf_section_data (p->sec)->sreloc;
+
+ BFD_ASSERT (sreloc != NULL);
+ sreloc->size += p->count * htab->sizeof_reloc;
+ }
+
+ return TRUE;
+}
+
+/* Find any dynamic relocs that apply to read-only sections. */
+
+bfd_boolean
+_bfd_x86_elf_readonly_dynrelocs (struct elf_link_hash_entry *h,
+ void *inf)
+{
+ struct elf_x86_link_hash_entry *eh;
+ struct elf_dyn_relocs *p;
+
+ /* Skip local IFUNC symbols. */
+ if (h->forced_local && h->type == STT_GNU_IFUNC)
+ return TRUE;
+
+ eh = (struct elf_x86_link_hash_entry *) h;
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ asection *s = p->sec->output_section;
+
+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
+ {
+ struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+ info->flags |= DF_TEXTREL;
+
+ if ((info->warn_shared_textrel && bfd_link_pic (info))
+ || info->error_textrel)
+ /* xgettext:c-format */
+ info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
+ p->sec->owner, h->root.root.string,
+ p->sec);
+
+ /* Not an error, just cut short the traversal. */
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+/* Allocate space in .plt, .got and associated reloc sections for
+ local dynamic relocs. */
+
+static bfd_boolean
+elf_x86_allocate_local_dynreloc (void **slot, void *inf)
+{
+ struct elf_link_hash_entry *h
+ = (struct elf_link_hash_entry *) *slot;
+
+ if (h->type != STT_GNU_IFUNC
+ || !h->def_regular
+ || !h->ref_regular
+ || !h->forced_local
+ || h->root.type != bfd_link_hash_defined)
+ abort ();
+
+ return elf_x86_allocate_dynrelocs (h, inf);
+}
+
+/* Find and/or create a hash entry for local symbol. */
+
+struct elf_link_hash_entry *
+_bfd_elf_x86_get_local_sym_hash (struct elf_x86_link_hash_table *htab,
+ bfd *abfd, const Elf_Internal_Rela *rel,
+ bfd_boolean create)
+{
+ struct elf_x86_link_hash_entry e, *ret;
+ asection *sec = abfd->sections;
+ hashval_t h = ELF_LOCAL_SYMBOL_HASH (sec->id,
+ htab->r_sym (rel->r_info));
+ void **slot;
+
+ e.elf.indx = sec->id;
+ e.elf.dynstr_index = htab->r_sym (rel->r_info);
+ slot = htab_find_slot_with_hash (htab->loc_hash_table, &e, h,
+ create ? INSERT : NO_INSERT);
+
+ if (!slot)
+ return NULL;
+
+ if (*slot)
+ {
+ ret = (struct elf_x86_link_hash_entry *) *slot;
+ return &ret->elf;
+ }
+
+ ret = (struct elf_x86_link_hash_entry *)
+ objalloc_alloc ((struct objalloc *) htab->loc_hash_memory,
+ sizeof (struct elf_x86_link_hash_entry));
+ if (ret)
+ {
+ memset (ret, 0, sizeof (*ret));
+ ret->elf.indx = sec->id;
+ ret->elf.dynstr_index = htab->r_sym (rel->r_info);
+ ret->elf.dynindx = -1;
+ ret->plt_got.offset = (bfd_vma) -1;
+ *slot = ret;
+ }
+ return &ret->elf;
+}
+
+/* Create an entry in a x86 ELF linker hash table. NB: THIS MUST BE IN
+ SYNC WITH _bfd_elf_link_hash_newfunc. */
+
+struct bfd_hash_entry *
+_bfd_x86_elf_link_hash_newfunc (struct bfd_hash_entry *entry,
+ struct bfd_hash_table *table,
+ const char *string)
+{
+ /* Allocate the structure if it has not already been allocated by a
+ subclass. */
+ if (entry == NULL)
+ {
+ entry = (struct bfd_hash_entry *)
+ bfd_hash_allocate (table,
+ sizeof (struct elf_x86_link_hash_entry));
+ if (entry == NULL)
+ return entry;
+ }
+
+ /* Call the allocation method of the superclass. */
+ entry = _bfd_link_hash_newfunc (entry, table, string);
+ if (entry != NULL)
+ {
+ struct elf_x86_link_hash_entry *eh
+ = (struct elf_x86_link_hash_entry *) entry;
+ struct elf_link_hash_table *htab
+ = (struct elf_link_hash_table *) table;
+
+ memset (&eh->elf.size, 0,
+ (sizeof (struct elf_x86_link_hash_entry)
+ - offsetof (struct elf_link_hash_entry, size)));
+ /* Set local fields. */
+ eh->elf.indx = -1;
+ eh->elf.dynindx = -1;
+ eh->elf.got = htab->init_got_refcount;
+ eh->elf.plt = htab->init_plt_refcount;
+ /* Assume that we have been called by a non-ELF symbol reader.
+ This flag is then reset by the code which reads an ELF input
+ file. This ensures that a symbol created by a non-ELF symbol
+ reader will have the flag set correctly. */
+ eh->elf.non_elf = 1;
+ eh->plt_second.offset = (bfd_vma) -1;
+ eh->plt_got.offset = (bfd_vma) -1;
+ eh->tlsdesc_got = (bfd_vma) -1;
+ }
+
+ return entry;
+}
+
+/* Compute a hash of a local hash entry. We use elf_link_hash_entry
+ for local symbol so that we can handle local STT_GNU_IFUNC symbols
+ as global symbol. We reuse indx and dynstr_index for local symbol
+ hash since they aren't used by global symbols in this backend. */
+
+hashval_t
+_bfd_x86_elf_local_htab_hash (const void *ptr)
+{
+ struct elf_link_hash_entry *h
+ = (struct elf_link_hash_entry *) ptr;
+ return ELF_LOCAL_SYMBOL_HASH (h->indx, h->dynstr_index);
+}
+
+/* Compare local hash entries. */
+
+int
+_bfd_x86_elf_local_htab_eq (const void *ptr1, const void *ptr2)
+{
+ struct elf_link_hash_entry *h1
+ = (struct elf_link_hash_entry *) ptr1;
+ struct elf_link_hash_entry *h2
+ = (struct elf_link_hash_entry *) ptr2;
+
+ return h1->indx == h2->indx && h1->dynstr_index == h2->dynstr_index;
+}
+
+/* Destroy an x86 ELF linker hash table. */
+
+static void
+elf_x86_link_hash_table_free (bfd *obfd)
+{
+ struct elf_x86_link_hash_table *htab
+ = (struct elf_x86_link_hash_table *) obfd->link.hash;
+
+ if (htab->loc_hash_table)
+ htab_delete (htab->loc_hash_table);
+ if (htab->loc_hash_memory)
+ objalloc_free ((struct objalloc *) htab->loc_hash_memory);
+ _bfd_elf_link_hash_table_free (obfd);
+}
+
+static bfd_boolean
+elf_i386_is_reloc_section (const char *secname)
+{
+ return CONST_STRNEQ (secname, ".rel");
+}
+
+static bfd_boolean
+elf_x86_64_is_reloc_section (const char *secname)
+{
+ return CONST_STRNEQ (secname, ".rela");
+}
+
+/* Create an x86 ELF linker hash table. */
+
+struct bfd_link_hash_table *
+_bfd_x86_elf_link_hash_table_create (bfd *abfd)
+{
+ struct elf_x86_link_hash_table *ret;
+ const struct elf_backend_data *bed;
+ bfd_size_type amt = sizeof (struct elf_x86_link_hash_table);
+
+ ret = (struct elf_x86_link_hash_table *) bfd_zmalloc (amt);
+ if (ret == NULL)
+ return NULL;
+
+ bed = get_elf_backend_data (abfd);
+ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd,
+ _bfd_x86_elf_link_hash_newfunc,
+ sizeof (struct elf_x86_link_hash_entry),
+ bed->target_id))
+ {
+ free (ret);
+ return NULL;
+ }
+
+ if (bed->target_id == X86_64_ELF_DATA)
+ {
+ ret->is_reloc_section = elf_x86_64_is_reloc_section;
+ ret->dt_reloc = DT_RELA;
+ ret->dt_reloc_sz = DT_RELASZ;
+ ret->dt_reloc_ent = DT_RELAENT;
+ ret->got_entry_size = 8;
+ ret->tls_get_addr = "__tls_get_addr";
+ }
+ if (ABI_64_P (abfd))
+ {
+ ret->sizeof_reloc = sizeof (Elf64_External_Rela);
+ ret->pointer_r_type = R_X86_64_64;
+ ret->dynamic_interpreter = ELF64_DYNAMIC_INTERPRETER;
+ ret->dynamic_interpreter_size = sizeof ELF64_DYNAMIC_INTERPRETER;
+ }
+ else
+ {
+ if (bed->target_id == X86_64_ELF_DATA)
+ {
+ ret->sizeof_reloc = sizeof (Elf32_External_Rela);
+ ret->pointer_r_type = R_X86_64_32;
+ ret->dynamic_interpreter = ELFX32_DYNAMIC_INTERPRETER;
+ ret->dynamic_interpreter_size
+ = sizeof ELFX32_DYNAMIC_INTERPRETER;
+ }
+ else
+ {
+ ret->is_reloc_section = elf_i386_is_reloc_section;
+ ret->dt_reloc = DT_REL;
+ ret->dt_reloc_sz = DT_RELSZ;
+ ret->dt_reloc_ent = DT_RELENT;
+ ret->sizeof_reloc = sizeof (Elf32_External_Rel);
+ ret->got_entry_size = 4;
+ ret->pointer_r_type = R_386_32;
+ ret->dynamic_interpreter = ELF32_DYNAMIC_INTERPRETER;
+ ret->dynamic_interpreter_size
+ = sizeof ELF32_DYNAMIC_INTERPRETER;
+ ret->tls_get_addr = "___tls_get_addr";
+ }
+ }
+ ret->target_id = bed->target_id;
+
+ ret->loc_hash_table = htab_try_create (1024,
+ _bfd_x86_elf_local_htab_hash,
+ _bfd_x86_elf_local_htab_eq,
+ NULL);
+ ret->loc_hash_memory = objalloc_create ();
+ if (!ret->loc_hash_table || !ret->loc_hash_memory)
+ {
+ elf_x86_link_hash_table_free (abfd);
+ return NULL;
+ }
+ ret->elf.root.hash_table_free = elf_x86_link_hash_table_free;
+
+ return &ret->elf.root;
+}
+
+/* Sort relocs into address order. */
+
+int
+_bfd_x86_elf_compare_relocs (const void *ap, const void *bp)
+{
+ const arelent *a = * (const arelent **) ap;
+ const arelent *b = * (const arelent **) bp;
+
+ if (a->address > b->address)
+ return 1;
+ else if (a->address < b->address)
+ return -1;
+ else
+ return 0;
+}
+
+bfd_boolean
+_bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
+{
+ if (!bfd_link_relocatable (info))
+ {
+ /* Check for __tls_get_addr reference. */
+ struct elf_x86_link_hash_table *htab;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab)
+ {
+ struct elf_link_hash_entry *h;
+
+ h = elf_link_hash_lookup (elf_hash_table (info),
+ htab->tls_get_addr,
+ FALSE, FALSE, FALSE);
+ if (h != NULL)
+ elf_x86_hash_entry (h)->tls_get_addr = 1;
+
+ /* "__ehdr_start" will be defined by linker as a hidden symbol
+ later if it is referenced and not defined. */
+ h = elf_link_hash_lookup (elf_hash_table (info),
+ "__ehdr_start",
+ FALSE, FALSE, FALSE);
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_new
+ || h->root.type == bfd_link_hash_undefined
+ || h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_common))
+ {
+ elf_x86_hash_entry (h)->local_ref = 2;
+ elf_x86_hash_entry (h)->linker_def = 1;
+ }
+ }
+ }
+
+ /* Invoke the regular ELF backend linker to do all the work. */
+ return _bfd_elf_link_check_relocs (abfd, info);
+}
+
+/* Set the sizes of the dynamic sections. */
+
+bfd_boolean
+_bfd_x86_elf_size_dynamic_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ struct elf_x86_link_hash_table *htab;
+ bfd *dynobj;
+ asection *s;
+ bfd_boolean relocs;
+ bfd *ibfd;
+ const struct elf_backend_data *bed
+ = get_elf_backend_data (output_bfd);
+
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return FALSE;
+ dynobj = htab->elf.dynobj;
+ if (dynobj == NULL)
+ abort ();
+
+ /* Set up .got offsets for local syms, and space for local dynamic
+ relocs. */
+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+ {
+ bfd_signed_vma *local_got;
+ bfd_signed_vma *end_local_got;
+ char *local_tls_type;
+ bfd_vma *local_tlsdesc_gotent;
+ bfd_size_type locsymcount;
+ Elf_Internal_Shdr *symtab_hdr;
+ asection *srel;
+
+ if (! is_x86_elf (ibfd, htab))
+ continue;
+
+ for (s = ibfd->sections; s != NULL; s = s->next)
+ {
+ struct elf_dyn_relocs *p;
+
+ for (p = ((struct elf_dyn_relocs *)
+ elf_section_data (s)->local_dynrel);
+ p != NULL;
+ p = p->next)
+ {
+ if (!bfd_is_abs_section (p->sec)
+ && bfd_is_abs_section (p->sec->output_section))
+ {
+ /* Input section has been discarded, either because
+ it is a copy of a linkonce section or due to
+ linker script /DISCARD/, so we'll be discarding
+ the relocs too. */
+ }
+ else if (htab->is_vxworks
+ && strcmp (p->sec->output_section->name,
+ ".tls_vars") == 0)
+ {
+ /* Relocations in vxworks .tls_vars sections are
+ handled specially by the loader. */
+ }
+ else if (p->count != 0)
+ {
+ srel = elf_section_data (p->sec)->sreloc;
+ srel->size += p->count * htab->sizeof_reloc;
+ if ((p->sec->output_section->flags & SEC_READONLY) != 0
+ && (info->flags & DF_TEXTREL) == 0)
+ {
+ info->flags |= DF_TEXTREL;
+ if ((info->warn_shared_textrel && bfd_link_pic (info))
+ || info->error_textrel)
+ /* xgettext:c-format */
+ info->callbacks->einfo (_("%P: %B: warning: relocation in readonly section `%A'\n"),
+ p->sec->owner, p->sec);
+ }
+ }
+ }
+ }
+
+ local_got = elf_local_got_refcounts (ibfd);
+ if (!local_got)
+ continue;
+
+ symtab_hdr = &elf_symtab_hdr (ibfd);
+ locsymcount = symtab_hdr->sh_info;
+ end_local_got = local_got + locsymcount;
+ local_tls_type = elf_x86_local_got_tls_type (ibfd);
+ local_tlsdesc_gotent = elf_x86_local_tlsdesc_gotent (ibfd);
+ s = htab->elf.sgot;
+ srel = htab->elf.srelgot;
+ for (; local_got < end_local_got;
+ ++local_got, ++local_tls_type, ++local_tlsdesc_gotent)
+ {
+ *local_tlsdesc_gotent = (bfd_vma) -1;
+ if (*local_got > 0)
+ {
+ if (GOT_TLS_GDESC_P (*local_tls_type))
+ {
+ *local_tlsdesc_gotent = htab->elf.sgotplt->size
+ - elf_x86_compute_jump_table_size (htab);
+ htab->elf.sgotplt->size += 2 * htab->got_entry_size;
+ *local_got = (bfd_vma) -2;
+ }
+ if (! GOT_TLS_GDESC_P (*local_tls_type)
+ || GOT_TLS_GD_P (*local_tls_type))
+ {
+ *local_got = s->size;
+ s->size += htab->got_entry_size;
+ if (GOT_TLS_GD_P (*local_tls_type)
+ || *local_tls_type == GOT_TLS_IE_BOTH)
+ s->size += htab->got_entry_size;
+ }
+ if (bfd_link_pic (info)
+ || GOT_TLS_GD_ANY_P (*local_tls_type)
+ || (*local_tls_type & GOT_TLS_IE))
+ {
+ if (*local_tls_type == GOT_TLS_IE_BOTH)
+ srel->size += 2 * htab->sizeof_reloc;
+ else if (GOT_TLS_GD_P (*local_tls_type)
+ || ! GOT_TLS_GDESC_P (*local_tls_type))
+ srel->size += htab->sizeof_reloc;
+ if (GOT_TLS_GDESC_P (*local_tls_type))
+ {
+ htab->elf.srelplt->size += htab->sizeof_reloc;
+ if (bed->target_id == X86_64_ELF_DATA)
+ htab->tlsdesc_plt = (bfd_vma) -1;
+ }
+ }
+ }
+ else
+ *local_got = (bfd_vma) -1;
+ }
+ }
+
+ if (htab->tls_ld_or_ldm_got.refcount > 0)
+ {
+ /* Allocate 2 got entries and 1 dynamic reloc for R_386_TLS_LDM
+ or R_X86_64_TLSLD relocs. */
+ htab->tls_ld_or_ldm_got.offset = htab->elf.sgot->size;
+ htab->elf.sgot->size += 2 * htab->got_entry_size;
+ htab->elf.srelgot->size += htab->sizeof_reloc;
+ }
+ else
+ htab->tls_ld_or_ldm_got.offset = -1;
+
+ /* Allocate global sym .plt and .got entries, and space for global
+ sym dynamic relocs. */
+ elf_link_hash_traverse (&htab->elf, elf_x86_allocate_dynrelocs,
+ info);
+
+ /* Allocate .plt and .got entries, and space for local symbols. */
+ htab_traverse (htab->loc_hash_table, elf_x86_allocate_local_dynreloc,
+ info);
+
+ /* For every jump slot reserved in the sgotplt, reloc_count is
+ incremented. However, when we reserve space for TLS descriptors,
+ it's not incremented, so in order to compute the space reserved
+ for them, it suffices to multiply the reloc count by the jump
+ slot size.
+
+ PR ld/13302: We start next_irelative_index at the end of .rela.plt
+ so that R_{386,X86_64}_IRELATIVE entries come last. */
+ if (htab->elf.srelplt)
+ {
+ htab->next_tls_desc_index = htab->elf.srelplt->reloc_count;
+ htab->sgotplt_jump_table_size
+ = elf_x86_compute_jump_table_size (htab);
+ htab->next_irelative_index = htab->elf.srelplt->reloc_count - 1;
+ }
+ else if (htab->elf.irelplt)
+ htab->next_irelative_index = htab->elf.irelplt->reloc_count - 1;
+
+ if (htab->tlsdesc_plt)
+ {
+ /* NB: tlsdesc_plt is set only for x86-64. If we're not using
+ lazy TLS relocations, don't generate the PLT and GOT entries
+ they require. */
+ if ((info->flags & DF_BIND_NOW))
+ htab->tlsdesc_plt = 0;
+ else
+ {
+ htab->tlsdesc_got = htab->elf.sgot->size;
+ htab->elf.sgot->size += htab->got_entry_size;
+ /* Reserve room for the initial entry.
+ FIXME: we could probably do away with it in this case. */
+ if (htab->elf.splt->size == 0)
+ htab->elf.splt->size = htab->plt.plt_entry_size;
+ htab->tlsdesc_plt = htab->elf.splt->size;
+ htab->elf.splt->size += htab->plt.plt_entry_size;
+ }
+ }
+
+ if (htab->elf.sgotplt)
+ {
+ /* Don't allocate .got.plt section if there are no GOT nor PLT
+ entries and there is no reference to _GLOBAL_OFFSET_TABLE_. */
+ if ((htab->elf.hgot == NULL
+ || !htab->elf.hgot->ref_regular_nonweak)
+ && (htab->elf.sgotplt->size == bed->got_header_size)
+ && (htab->elf.splt == NULL
+ || htab->elf.splt->size == 0)
+ && (htab->elf.sgot == NULL
+ || htab->elf.sgot->size == 0)
+ && (htab->elf.iplt == NULL
+ || htab->elf.iplt->size == 0)
+ && (htab->elf.igotplt == NULL
+ || htab->elf.igotplt->size == 0))
+ htab->elf.sgotplt->size = 0;
+ }
+
+ if (_bfd_elf_eh_frame_present (info))
+ {
+ if (htab->plt_eh_frame != NULL
+ && htab->elf.splt != NULL
+ && htab->elf.splt->size != 0
+ && !bfd_is_abs_section (htab->elf.splt->output_section))
+ htab->plt_eh_frame->size = htab->plt.eh_frame_plt_size;
+
+ if (htab->plt_got_eh_frame != NULL
+ && htab->plt_got != NULL
+ && htab->plt_got->size != 0
+ && !bfd_is_abs_section (htab->plt_got->output_section))
+ htab->plt_got_eh_frame->size
+ = htab->non_lazy_plt->eh_frame_plt_size;
+
+ /* Unwind info for the second PLT and .plt.got sections are
+ identical. */
+ if (htab->plt_second_eh_frame != NULL
+ && htab->plt_second != NULL
+ && htab->plt_second->size != 0
+ && !bfd_is_abs_section (htab->plt_second->output_section))
+ htab->plt_second_eh_frame->size
+ = htab->non_lazy_plt->eh_frame_plt_size;
+ }
+
+ /* We now have determined the sizes of the various dynamic sections.
+ Allocate memory for them. */
+ relocs = FALSE;
+ for (s = dynobj->sections; s != NULL; s = s->next)
+ {
+ bfd_boolean strip_section = TRUE;
+
+ if ((s->flags & SEC_LINKER_CREATED) == 0)
+ continue;
+
+ if (s == htab->elf.splt
+ || s == htab->elf.sgot)
+ {
+ /* Strip this section if we don't need it; see the
+ comment below. */
+ /* We'd like to strip these sections if they aren't needed, but if
+ we've exported dynamic symbols from them we must leave them.
+ It's too late to tell BFD to get rid of the symbols. */
+
+ if (htab->elf.hplt != NULL)
+ strip_section = FALSE;
+ }
+ else if (s == htab->elf.sgotplt
+ || s == htab->elf.iplt
+ || s == htab->elf.igotplt
+ || s == htab->plt_second
+ || s == htab->plt_got
+ || s == htab->plt_eh_frame
+ || s == htab->plt_got_eh_frame
+ || s == htab->plt_second_eh_frame
+ || s == htab->elf.sdynbss
+ || s == htab->elf.sdynrelro)
+ {
+ /* Strip these too. */
+ }
+ else if (htab->is_reloc_section (bfd_get_section_name (dynobj, s)))
+ {
+ if (s->size != 0
+ && s != htab->elf.srelplt
+ && s != htab->srelplt2)
+ relocs = TRUE;
+
+ /* We use the reloc_count field as a counter if we need
+ to copy relocs into the output file. */
+ if (s != htab->elf.srelplt)
+ s->reloc_count = 0;
+ }
+ else
+ {
+ /* It's not one of our sections, so don't allocate space. */
+ continue;
+ }
+
+ if (s->size == 0)
+ {
+ /* If we don't need this section, strip it from the
+ output file. This is mostly to handle .rel.bss and
+ .rel.plt. We must create both sections in
+ create_dynamic_sections, because they must be created
+ before the linker maps input sections to output
+ sections. The linker does that before
+ adjust_dynamic_symbol is called, and it is that
+ function which decides whether anything needs to go
+ into these sections. */
+ if (strip_section)
+ s->flags |= SEC_EXCLUDE;
+ continue;
+ }
+
+ if ((s->flags & SEC_HAS_CONTENTS) == 0)
+ continue;
+
+ /* Allocate memory for the section contents. We use bfd_zalloc
+ here in case unused entries are not reclaimed before the
+ section's contents are written out. This should not happen,
+ but this way if it does, we get a R_386_NONE or R_X86_64_NONE
+ reloc instead of garbage. */
+ s->contents = (unsigned char *) bfd_zalloc (dynobj, s->size);
+ if (s->contents == NULL)
+ return FALSE;
+ }
+
+ if (htab->plt_eh_frame != NULL
+ && htab->plt_eh_frame->contents != NULL)
+ {
+ memcpy (htab->plt_eh_frame->contents,
+ htab->plt.eh_frame_plt,
+ htab->plt_eh_frame->size);
+ bfd_put_32 (dynobj, htab->elf.splt->size,
+ htab->plt_eh_frame->contents + PLT_FDE_LEN_OFFSET);
+ }
+
+ if (htab->plt_got_eh_frame != NULL
+ && htab->plt_got_eh_frame->contents != NULL)
+ {
+ memcpy (htab->plt_got_eh_frame->contents,
+ htab->non_lazy_plt->eh_frame_plt,
+ htab->plt_got_eh_frame->size);
+ bfd_put_32 (dynobj, htab->plt_got->size,
+ (htab->plt_got_eh_frame->contents
+ + PLT_FDE_LEN_OFFSET));
+ }
+
+ if (htab->plt_second_eh_frame != NULL
+ && htab->plt_second_eh_frame->contents != NULL)
+ {
+ memcpy (htab->plt_second_eh_frame->contents,
+ htab->non_lazy_plt->eh_frame_plt,
+ htab->plt_second_eh_frame->size);
+ bfd_put_32 (dynobj, htab->plt_second->size,
+ (htab->plt_second_eh_frame->contents
+ + PLT_FDE_LEN_OFFSET));
+ }
+
+ if (htab->elf.dynamic_sections_created)
+ {
+ /* Add some entries to the .dynamic section. We fill in the
+ values later, in elf_{i386,x86_64}_finish_dynamic_sections,
+ but we must add the entries now so that we get the correct
+ size for the .dynamic section. The DT_DEBUG entry is filled
+ in by the dynamic linker and used by the debugger. */
+#define add_dynamic_entry(TAG, VAL) \
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
+
+ if (bfd_link_executable (info))
+ {
+ if (!add_dynamic_entry (DT_DEBUG, 0))
+ return FALSE;
+ }
+
+ if (htab->elf.splt->size != 0)
+ {
+ /* DT_PLTGOT is used by prelink even if there is no PLT
+ relocation. */
+ if (!add_dynamic_entry (DT_PLTGOT, 0))
+ return FALSE;
+ }
+
+ if (htab->elf.srelplt->size != 0)
+ {
+ if (!add_dynamic_entry (DT_PLTRELSZ, 0)
+ || !add_dynamic_entry (DT_PLTREL, htab->dt_reloc)
+ || !add_dynamic_entry (DT_JMPREL, 0))
+ return FALSE;
+ }
+
+ if (htab->tlsdesc_plt
+ && (!add_dynamic_entry (DT_TLSDESC_PLT, 0)
+ || !add_dynamic_entry (DT_TLSDESC_GOT, 0)))
+ return FALSE;
+
+ if (relocs)
+ {
+ if (!add_dynamic_entry (htab->dt_reloc, 0)
+ || !add_dynamic_entry (htab->dt_reloc_sz, 0)
+ || !add_dynamic_entry (htab->dt_reloc_ent,
+ htab->sizeof_reloc))
+ return FALSE;
+
+ /* If any dynamic relocs apply to a read-only section,
+ then we need a DT_TEXTREL entry. */
+ if ((info->flags & DF_TEXTREL) == 0)
+ elf_link_hash_traverse (&htab->elf,
+ _bfd_x86_elf_readonly_dynrelocs,
+ info);
+
+ if ((info->flags & DF_TEXTREL) != 0)
+ {
+ if (htab->readonly_dynrelocs_against_ifunc)
+ {
+ info->callbacks->einfo
+ (_("%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
+ if (!add_dynamic_entry (DT_TEXTREL, 0))
+ return FALSE;
+ }
+ }
+ if (htab->is_vxworks
+ && !elf_vxworks_add_dynamic_entries (output_bfd, info))
+ return FALSE;
+ }
+#undef add_dynamic_entry
+
+ return TRUE;
+}
+
+bfd_boolean
+_bfd_x86_elf_always_size_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ asection *tls_sec = elf_hash_table (info)->tls_sec;
+
+ if (tls_sec)
+ {
+ struct elf_link_hash_entry *tlsbase;
+
+ tlsbase = elf_link_hash_lookup (elf_hash_table (info),
+ "_TLS_MODULE_BASE_",
+ FALSE, FALSE, FALSE);
+
+ if (tlsbase && tlsbase->type == STT_TLS)
+ {
+ struct elf_x86_link_hash_table *htab;
+ struct bfd_link_hash_entry *bh = NULL;
+ const struct elf_backend_data *bed
+ = get_elf_backend_data (output_bfd);
+
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return FALSE;
+
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
+ tls_sec, 0, NULL, FALSE,
+ bed->collect, &bh)))
+ return FALSE;
+
+ htab->tls_module_base = bh;
+
+ tlsbase = (struct elf_link_hash_entry *)bh;
+ tlsbase->def_regular = 1;
+ tlsbase->other = STV_HIDDEN;
+ tlsbase->root.linker_def = 1;
+ (*bed->elf_backend_hide_symbol) (info, tlsbase, TRUE);
+ }
+ }
+
+ return TRUE;
+}
+
+void
+_bfd_x86_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
+ const Elf_Internal_Sym *isym,
+ bfd_boolean definition,
+ bfd_boolean dynamic ATTRIBUTE_UNUSED)
+{
+ if (definition)
+ {
+ struct elf_x86_link_hash_entry *eh
+ = (struct elf_x86_link_hash_entry *) h;
+ eh->def_protected = (ELF_ST_VISIBILITY (isym->st_other)
+ == STV_PROTECTED);
+ }
+}
+
+/* Copy the extra info we tack onto an elf_link_hash_entry. */
+
+void
+_bfd_x86_elf_copy_indirect_symbol (struct bfd_link_info *info,
+ struct elf_link_hash_entry *dir,
+ struct elf_link_hash_entry *ind)
+{
+ struct elf_x86_link_hash_entry *edir, *eind;
+
+ edir = (struct elf_x86_link_hash_entry *) dir;
+ eind = (struct elf_x86_link_hash_entry *) ind;
+
+ if (eind->dyn_relocs != NULL)
+ {
+ if (edir->dyn_relocs != NULL)
+ {
+ struct elf_dyn_relocs **pp;
+ struct elf_dyn_relocs *p;
+
+ /* Add reloc counts against the indirect sym to the direct sym
+ list. Merge any entries against the same section. */
+ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
+ {
+ struct elf_dyn_relocs *q;
+
+ for (q = edir->dyn_relocs; q != NULL; q = q->next)
+ if (q->sec == p->sec)
+ {
+ q->pc_count += p->pc_count;
+ q->count += p->count;
+ *pp = p->next;
+ break;
+ }
+ if (q == NULL)
+ pp = &p->next;
+ }
+ *pp = edir->dyn_relocs;
+ }
+
+ edir->dyn_relocs = eind->dyn_relocs;
+ eind->dyn_relocs = NULL;
+ }
+
+ if (ind->root.type == bfd_link_hash_indirect
+ && dir->got.refcount <= 0)
+ {
+ edir->tls_type = eind->tls_type;
+ eind->tls_type = GOT_UNKNOWN;
+ }
+
+ /* Copy gotoff_ref so that elf_i386_adjust_dynamic_symbol will
+ generate a R_386_COPY reloc. */
+ edir->gotoff_ref |= eind->gotoff_ref;
+
+ edir->has_got_reloc |= eind->has_got_reloc;
+ edir->has_non_got_reloc |= eind->has_non_got_reloc;
+
+ if (ELIMINATE_COPY_RELOCS
+ && ind->root.type != bfd_link_hash_indirect
+ && dir->dynamic_adjusted)
+ {
+ /* If called to transfer flags for a weakdef during processing
+ of elf_adjust_dynamic_symbol, don't copy non_got_ref.
+ We clear it ourselves for ELIMINATE_COPY_RELOCS. */
+ if (dir->versioned != versioned_hidden)
+ dir->ref_dynamic |= ind->ref_dynamic;
+ dir->ref_regular |= ind->ref_regular;
+ dir->ref_regular_nonweak |= ind->ref_regular_nonweak;
+ dir->needs_plt |= ind->needs_plt;
+ dir->pointer_equality_needed |= ind->pointer_equality_needed;
+ }
+ else
+ {
+ if (eind->func_pointer_refcount > 0)
+ {
+ edir->func_pointer_refcount += eind->func_pointer_refcount;
+ eind->func_pointer_refcount = 0;
+ }
+
+ _bfd_elf_link_hash_copy_indirect (info, dir, ind);
+ }
+}
+
+/* Remove undefined weak symbol from the dynamic symbol table if it
+ is resolved to 0. */
+
+bfd_boolean
+_bfd_x86_elf_fixup_symbol (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
+{
+ if (h->dynindx != -1
+ && UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, elf_x86_hash_entry (h)))
+ {
+ h->dynindx = -1;
+ _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
+ h->dynstr_index);
+ }
+ return TRUE;
+}
+
+/* Return TRUE if symbol should be hashed in the `.gnu.hash' section. */
+
+bfd_boolean
+_bfd_x86_elf_hash_symbol (struct elf_link_hash_entry *h)
+{
+ if (h->plt.offset != (bfd_vma) -1
+ && !h->def_regular
+ && !h->pointer_equality_needed)
+ return FALSE;
+
+ return _bfd_elf_hash_symbol (h);
+}
+
+/* Adjust a symbol defined by a dynamic object and referenced by a
+ regular object. The current definition is in some section of the
+ dynamic object, but we're not including those sections. We have to
+ change the definition to something the rest of the link can
+ understand. */
+
+bfd_boolean
+_bfd_x86_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
+{
+ struct elf_x86_link_hash_table *htab;
+ asection *s, *srel;
+ struct elf_x86_link_hash_entry *eh;
+ struct elf_dyn_relocs *p;
+ const struct elf_backend_data *bed
+ = get_elf_backend_data (info->output_bfd);
+
+ /* STT_GNU_IFUNC symbol must go through PLT. */
+ if (h->type == STT_GNU_IFUNC)
+ {
+ /* All local STT_GNU_IFUNC references must be treate as local
+ calls via local PLT. */
+ if (h->ref_regular
+ && SYMBOL_CALLS_LOCAL (info, h))
+ {
+ bfd_size_type pc_count = 0, count = 0;
+ struct elf_dyn_relocs **pp;
+
+ eh = (struct elf_x86_link_hash_entry *) h;
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ {
+ pc_count += p->pc_count;
+ p->count -= p->pc_count;
+ p->pc_count = 0;
+ count += p->count;
+ if (p->count == 0)
+ *pp = p->next;
+ else
+ pp = &p->next;
+ }
+
+ if (pc_count || count)
+ {
+ h->non_got_ref = 1;
+ if (pc_count)
+ {
+ /* Increment PLT reference count only for PC-relative
+ references. */
+ h->needs_plt = 1;
+ if (h->plt.refcount <= 0)
+ h->plt.refcount = 1;
+ else
+ h->plt.refcount += 1;
+ }
+ }
+ }
+
+ if (h->plt.refcount <= 0)
+ {
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+ return TRUE;
+ }
+
+ /* If this is a function, put it in the procedure linkage table. We
+ will fill in the contents of the procedure linkage table later,
+ when we know the address of the .got section. */
+ if (h->type == STT_FUNC
+ || h->needs_plt)
+ {
+ if (h->plt.refcount <= 0
+ || SYMBOL_CALLS_LOCAL (info, h)
+ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+ && h->root.type == bfd_link_hash_undefweak))
+ {
+ /* This case can occur if we saw a PLT32 reloc in an input
+ file, but the symbol was never referred to by a dynamic
+ object, or if all references were garbage collected. In
+ such a case, we don't actually need to build a procedure
+ linkage table, and we can just do a PC32 reloc instead. */
+ h->plt.offset = (bfd_vma) -1;
+ h->needs_plt = 0;
+ }
+
+ return TRUE;
+ }
+ else
+ /* It's possible that we incorrectly decided a .plt reloc was needed
+ * for an R_386_PC32/R_X86_64_PC32 reloc to a non-function sym in
+ check_relocs. We can't decide accurately between function and
+ non-function syms in check-relocs; Objects loaded later in
+ the link may change h->type. So fix it now. */
+ h->plt.offset = (bfd_vma) -1;
+
+ eh = (struct elf_x86_link_hash_entry *) h;
+
+ /* If this is a weak symbol, and there is a real definition, the
+ processor independent code will have arranged for us to see the
+ real definition first, and we can just use the same value. */
+ if (h->u.weakdef != NULL)
+ {
+ BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
+ || h->u.weakdef->root.type == bfd_link_hash_defweak);
+ h->root.u.def.section = h->u.weakdef->root.u.def.section;
+ h->root.u.def.value = h->u.weakdef->root.u.def.value;
+ if (ELIMINATE_COPY_RELOCS
+ || info->nocopyreloc
+ || SYMBOL_NO_COPYRELOC (info, eh))
+ {
+ /* NB: needs_copy is always 0 for i386. */
+ h->non_got_ref = h->u.weakdef->non_got_ref;
+ eh->needs_copy = h->u.weakdef->needs_copy;
+ }
+ return TRUE;
+ }
+
+ /* This is a reference to a symbol defined by a dynamic object which
+ is not a function. */
+
+ /* If we are creating a shared library, we must presume that the
+ only references to the symbol are via the global offset table.
+ For such cases we need not do anything here; the relocations will
+ be handled correctly by relocate_section. */
+ if (!bfd_link_executable (info))
+ return TRUE;
+
+ /* If there are no references to this symbol that do not use the
+ GOT nor R_386_GOTOFF relocation, we don't need to generate a copy
+ reloc. NB: gotoff_ref is always 0 for x86-64. */
+ if (!h->non_got_ref && !eh->gotoff_ref)
+ return TRUE;
+
+ /* If -z nocopyreloc was given, we won't generate them either. */
+ if (info->nocopyreloc || SYMBOL_NO_COPYRELOC (info, eh))
+ {
+ h->non_got_ref = 0;
+ return TRUE;
+ }
+
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return FALSE;
+
+ /* If there aren't any dynamic relocs in read-only sections nor
+ R_386_GOTOFF relocation, then we can keep the dynamic relocs and
+ avoid the copy reloc. This doesn't work on VxWorks, where we can
+ not have dynamic relocations (other than copy and jump slot
+ relocations) in an executable. */
+ if (ELIMINATE_COPY_RELOCS
+ && (bed->target_id == X86_64_ELF_DATA
+ || (!eh->gotoff_ref
+ && !htab->is_vxworks)))
+ {
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ s = p->sec->output_section;
+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
+ break;
+ }
+
+ /* If we didn't find any dynamic relocs in read-only sections,
+ then we'll be keeping the dynamic relocs and avoiding the copy
+ reloc. */
+ if (p == NULL)
+ {
+ h->non_got_ref = 0;
+ return TRUE;
+ }
+ }
+
+ /* We must allocate the symbol in our .dynbss section, which will
+ become part of the .bss section of the executable. There will be
+ an entry for this symbol in the .dynsym section. The dynamic
+ object will contain position independent code, so all references
+ from the dynamic object to this symbol will go through the global
+ offset table. The dynamic linker will use the .dynsym entry to
+ determine the address it must put in the global offset table, so
+ both the dynamic object and the regular object will refer to the
+ same memory location for the variable. */
+
+ /* We must generate a R_386_COPY/R_X86_64_COPY reloc to tell the
+ dynamic linker to copy the initial value out of the dynamic object
+ and into the runtime process image. */
+ if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
+ {
+ s = htab->elf.sdynrelro;
+ srel = htab->elf.sreldynrelro;
+ }
+ else
+ {
+ s = htab->elf.sdynbss;
+ srel = htab->elf.srelbss;
+ }
+ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
+ {
+ srel->size += htab->sizeof_reloc;
+ h->needs_copy = 1;
+ }
+
+ return _bfd_elf_adjust_dynamic_copy (info, h, s);
+}
+
+/* Return TRUE if a symbol is referenced locally. It is similar to
+ SYMBOL_REFERENCES_LOCAL, but it also checks version script. It
+ works in check_relocs. */
+
+bfd_boolean
+_bfd_x86_elf_link_symbol_references_local (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
+{
+ struct elf_x86_link_hash_entry *eh = elf_x86_hash_entry (h);
+ struct elf_x86_link_hash_table *htab
+ = (struct elf_x86_link_hash_table *) info->hash;
+
+ if (eh->local_ref > 1)
+ return TRUE;
+
+ if (eh->local_ref == 1)
+ return FALSE;
+
+ /* Unversioned symbols defined in regular objects can be forced local
+ by linker version script. A weak undefined symbol is forced local
+ if
+ 1. It has non-default visibility. Or
+ 2. When building executable, there is no dynamic linker. Or
+ 3. or "-z nodynamic-undefined-weak" is used.
+ */
+ if (SYMBOL_REFERENCES_LOCAL (info, h)
+ || (h->root.type == bfd_link_hash_undefweak
+ && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+ || (bfd_link_executable (info)
+ && htab->interp == NULL)
+ || info->dynamic_undefined_weak == 0))
+ || ((h->def_regular || ELF_COMMON_DEF_P (h))
+ && h->versioned == unversioned
+ && info->version_info != NULL
+ && bfd_hide_sym_by_version (info->version_info,
+ h->root.root.string)))
+ {
+ eh->local_ref = 2;
+ return TRUE;
+ }
+
+ eh->local_ref = 1;
+ return FALSE;
+}
+
+/* Return the section that should be marked against GC for a given
+ relocation. */
+
+asection *
+_bfd_x86_elf_gc_mark_hook (asection *sec,
+ struct bfd_link_info *info,
+ Elf_Internal_Rela *rel,
+ struct elf_link_hash_entry *h,
+ Elf_Internal_Sym *sym)
+{
+ /* Compiler should optimize this out. */
+ if (((unsigned int) R_X86_64_GNU_VTINHERIT
+ != (unsigned int) R_386_GNU_VTINHERIT)
+ || ((unsigned int) R_X86_64_GNU_VTENTRY
+ != (unsigned int) R_386_GNU_VTENTRY))
+ abort ();
+
+ if (h != NULL)
+ switch (ELF32_R_TYPE (rel->r_info))
+ {
+ case R_X86_64_GNU_VTINHERIT:
+ case R_X86_64_GNU_VTENTRY:
+ return NULL;
+ }
+
+ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
+}
+
+static bfd_vma
+elf_i386_get_plt_got_vma (struct elf_x86_plt *plt_p ATTRIBUTE_UNUSED,
+ bfd_vma off,
+ bfd_vma offset ATTRIBUTE_UNUSED,
+ bfd_vma got_addr)
+{
+ return got_addr + off;
+}
+
+static bfd_vma
+elf_x86_64_get_plt_got_vma (struct elf_x86_plt *plt_p,
+ bfd_vma off,
+ bfd_vma offset,
+ bfd_vma got_addr ATTRIBUTE_UNUSED)
+{
+ return plt_p->sec->vma + offset + off + plt_p->plt_got_insn_size;
+}
+
+static bfd_boolean
+elf_i386_valid_plt_reloc_p (unsigned int type)
+{
+ return (type == R_386_JUMP_SLOT
+ || type == R_386_GLOB_DAT
+ || type == R_386_IRELATIVE);
+}
+
+static bfd_boolean
+elf_x86_64_valid_plt_reloc_p (unsigned int type)
+{
+ return (type == R_X86_64_JUMP_SLOT
+ || type == R_X86_64_GLOB_DAT
+ || type == R_X86_64_IRELATIVE);
+}
+
+long
+_bfd_x86_elf_get_synthetic_symtab (bfd *abfd,
+ long count,
+ long relsize,
+ bfd_vma got_addr,
+ struct elf_x86_plt plts[],
+ asymbol **dynsyms,
+ asymbol **ret)
+{
+ long size, i, n, len;
+ int j;
+ unsigned int plt_got_offset, plt_entry_size;
+ asymbol *s;
+ bfd_byte *plt_contents;
+ long dynrelcount;
+ arelent **dynrelbuf, *p;
+ char *names;
+ const struct elf_backend_data *bed;
+ bfd_vma (*get_plt_got_vma) (struct elf_x86_plt *, bfd_vma, bfd_vma,
+ bfd_vma);
+ bfd_boolean (*valid_plt_reloc_p) (unsigned int);
+
+ if (count == 0)
+ return -1;
+
+ dynrelbuf = (arelent **) bfd_malloc (relsize);
+ if (dynrelbuf == NULL)
+ return -1;
+
+ dynrelcount = bfd_canonicalize_dynamic_reloc (abfd, dynrelbuf,
+ dynsyms);
+ if (dynrelcount <= 0)
+ return -1;
+
+ /* Sort the relocs by address. */
+ qsort (dynrelbuf, dynrelcount, sizeof (arelent *),
+ _bfd_x86_elf_compare_relocs);
+
+ size = count * sizeof (asymbol);
+
+ /* Allocate space for @plt suffixes. */
+ n = 0;
+ for (i = 0; i < dynrelcount; i++)
+ {
+ p = dynrelbuf[i];
+ size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt");
+ if (p->addend != 0)
+ size += sizeof ("+0x") - 1 + 8 + 8 * ABI_64_P (abfd);
+ }
+
+ s = *ret = (asymbol *) bfd_zmalloc (size);
+ if (s == NULL)
+ goto bad_return;
+
+ bed = get_elf_backend_data (abfd);
+
+ if (bed->target_id == X86_64_ELF_DATA)
+ {
+ get_plt_got_vma = elf_x86_64_get_plt_got_vma;
+ valid_plt_reloc_p = elf_x86_64_valid_plt_reloc_p;
+ }
+ else
+ {
+ get_plt_got_vma = elf_i386_get_plt_got_vma;
+ valid_plt_reloc_p = elf_i386_valid_plt_reloc_p;
+ if (got_addr)
+ {
+ /* Check .got.plt and then .got to get the _GLOBAL_OFFSET_TABLE_
+ address. */
+ asection *sec = bfd_get_section_by_name (abfd, ".got.plt");
+ if (sec != NULL)
+ got_addr = sec->vma;
+ else
+ {
+ sec = bfd_get_section_by_name (abfd, ".got");
+ if (sec != NULL)
+ got_addr = sec->vma;
+ }
+
+ if (got_addr == (bfd_vma) -1)
+ goto bad_return;
+ }
+ }
+
+ /* Check for each PLT section. */
+ names = (char *) (s + count);
+ size = 0;
+ n = 0;
+ for (j = 0; plts[j].name != NULL; j++)
+ if ((plt_contents = plts[j].contents) != NULL)
+ {
+ long k;
+ bfd_vma offset;
+ asection *plt;
+ struct elf_x86_plt *plt_p = &plts[j];
+
+ plt_got_offset = plt_p->plt_got_offset;
+ plt_entry_size = plt_p->plt_entry_size;
+
+ plt = plt_p->sec;
+
+ if ((plt_p->type & plt_lazy))
+ {
+ /* Skip PLT0 in lazy PLT. */
+ k = 1;
+ offset = plt_entry_size;
+ }
+ else
+ {
+ k = 0;
+ offset = 0;
+ }
+
+ /* Check each PLT entry against dynamic relocations. */
+ for (; k < plt_p->count; k++)
+ {
+ int off;
+ bfd_vma got_vma;
+ long min, max, mid;
+
+ /* Get the GOT offset for i386 or the PC-relative offset
+ for x86-64, a signed 32-bit integer. */
+ off = H_GET_32 (abfd, (plt_contents + offset
+ + plt_got_offset));
+ got_vma = get_plt_got_vma (plt_p, off, offset, got_addr);
+
+ /* Binary search. */
+ p = dynrelbuf[0];
+ min = 0;
+ max = dynrelcount;
+ while ((min + 1) < max)
+ {
+ arelent *r;
+
+ mid = (min + max) / 2;
+ r = dynrelbuf[mid];
+ if (got_vma > r->address)
+ min = mid;
+ else if (got_vma < r->address)
+ max = mid;
+ else
+ {
+ p = r;
+ break;
+ }
+ }
+
+ /* Skip unknown relocation. PR 17512: file: bc9d6cf5. */
+ if (got_vma == p->address
+ && p->howto != NULL
+ && valid_plt_reloc_p (p->howto->type))
+ {
+ *s = **p->sym_ptr_ptr;
+ /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL
+ set. Since we are defining a symbol, ensure one
+ of them is set. */
+ if ((s->flags & BSF_LOCAL) == 0)
+ s->flags |= BSF_GLOBAL;
+ s->flags |= BSF_SYNTHETIC;
+ /* This is no longer a section symbol. */
+ s->flags &= ~BSF_SECTION_SYM;
+ s->section = plt;
+ s->the_bfd = plt->owner;
+ s->value = offset;
+ s->udata.p = NULL;
+ s->name = names;
+ len = strlen ((*p->sym_ptr_ptr)->name);
+ memcpy (names, (*p->sym_ptr_ptr)->name, len);
+ names += len;
+ if (p->addend != 0)
+ {
+ char buf[30], *a;
+
+ memcpy (names, "+0x", sizeof ("+0x") - 1);
+ names += sizeof ("+0x") - 1;
+ bfd_sprintf_vma (abfd, buf, p->addend);
+ for (a = buf; *a == '0'; ++a)
+ ;
+ size = strlen (a);
+ memcpy (names, a, size);
+ names += size;
+ }
+ memcpy (names, "@plt", sizeof ("@plt"));
+ names += sizeof ("@plt");
+ n++;
+ s++;
+ }
+ offset += plt_entry_size;
+ }
+ }
+
+ /* PLT entries with R_386_TLS_DESC relocations are skipped. */
+ if (n == 0)
+ {
+bad_return:
+ count = -1;
+ }
+ else
+ count = n;
+
+ for (j = 0; plts[j].name != NULL; j++)
+ if (plts[j].contents != NULL)
+ free (plts[j].contents);
+
+ free (dynrelbuf);
+
+ return count;
+}
+
+/* Parse x86 GNU properties. */
+
+enum elf_property_kind
+_bfd_x86_elf_parse_gnu_properties (bfd *abfd, unsigned int type,
+ bfd_byte *ptr, unsigned int datasz)
+{
+ elf_property *prop;
+
+ switch (type)
+ {
+ case GNU_PROPERTY_X86_ISA_1_USED:
+ case GNU_PROPERTY_X86_ISA_1_NEEDED:
+ case GNU_PROPERTY_X86_FEATURE_1_AND:
+ if (datasz != 4)
+ {
+ _bfd_error_handler
+ ((type == GNU_PROPERTY_X86_ISA_1_USED
+ ? _("error: %B: <corrupt x86 ISA used size: 0x%x>")
+ : (type == GNU_PROPERTY_X86_ISA_1_NEEDED
+ ? _("error: %B: <corrupt x86 ISA needed size: 0x%x>")
+ : _("error: %B: <corrupt x86 feature size: 0x%x>"))),
+ abfd, datasz);
+ return property_corrupt;
+ }
+ prop = _bfd_elf_get_property (abfd, type, datasz);
+ /* Combine properties of the same type. */
+ prop->u.number |= bfd_h_get_32 (abfd, ptr);
+ prop->pr_kind = property_number;
+ break;
+
+ default:
+ return property_ignored;
+ }
+
+ return property_number;
+}
+
+/* Merge x86 GNU property BPROP with APROP. If APROP isn't NULL,
+ return TRUE if APROP is updated. Otherwise, return TRUE if BPROP
+ should be merged with ABFD. */
+
+bfd_boolean
+_bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
+ bfd *abfd ATTRIBUTE_UNUSED,
+ elf_property *aprop,
+ elf_property *bprop)
+{
+ unsigned int number, features;
+ bfd_boolean updated = FALSE;
+ unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
+
+ switch (pr_type)
+ {
+ case GNU_PROPERTY_X86_ISA_1_USED:
+ case GNU_PROPERTY_X86_ISA_1_NEEDED:
+ if (aprop != NULL && bprop != NULL)
+ {
+ number = aprop->u.number;
+ aprop->u.number = number | bprop->u.number;
+ updated = number != (unsigned int) aprop->u.number;
+ }
+ else
+ {
+ /* Return TRUE if APROP is NULL to indicate that BPROP should
+ be added to ABFD. */
+ updated = aprop == NULL;
+ }
+ break;
+
+ case GNU_PROPERTY_X86_FEATURE_1_AND:
+ /* Only one of APROP and BPROP can be NULL:
+ 1. APROP & BPROP when both APROP and BPROP aren't NULL.
+ 2. If APROP is NULL, remove x86 feature.
+ 3. Otherwise, do nothing.
+ */
+ if (aprop != NULL && bprop != NULL)
+ {
+ features = 0;
+ if (info->ibt)
+ features = GNU_PROPERTY_X86_FEATURE_1_IBT;
+ if (info->shstk)
+ features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
+ number = aprop->u.number;
+ /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
+ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
+ aprop->u.number = (number & bprop->u.number) | features;
+ updated = number != (unsigned int) aprop->u.number;
+ /* Remove the property if all feature bits are cleared. */
+ if (aprop->u.number == 0)
+ aprop->pr_kind = property_remove;
+ }
+ else
+ {
+ features = 0;
+ if (info->ibt)
+ features = GNU_PROPERTY_X86_FEATURE_1_IBT;
+ if (info->shstk)
+ features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
+ if (features)
+ {
+ /* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
+ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
+ if (aprop != NULL)
+ {
+ number = aprop->u.number;
+ aprop->u.number = number | features;
+ updated = number != (unsigned int) aprop->u.number;
+ }
+ else
+ {
+ bprop->u.number |= features;
+ updated = TRUE;
+ }
+ }
+ else if (aprop != NULL)
+ {
+ aprop->pr_kind = property_remove;
+ updated = TRUE;
+ }
+ }
+ break;
+
+ default:
+ /* Never should happen. */
+ abort ();
+ }
+
+ return updated;
+}
+
+/* Set up x86 GNU properties. Return the first relocatable ELF input
+ with GNU properties if found. Otherwise, return NULL. */
+
+bfd *
+_bfd_x86_elf_link_setup_gnu_properties
+ (struct bfd_link_info *info, struct elf_x86_init_table *init_table)
+{
+ bfd_boolean normal_target;
+ bfd_boolean lazy_plt;
+ asection *sec, *pltsec;
+ bfd *dynobj;
+ bfd_boolean use_ibt_plt;
+ unsigned int plt_alignment, features;
+ struct elf_x86_link_hash_table *htab;
+ bfd *pbfd;
+ bfd *ebfd = NULL;
+ elf_property *prop;
+ const struct elf_backend_data *bed;
+ unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2;
+ unsigned int got_align;
+
+ features = 0;
+ if (info->ibt)
+ features = GNU_PROPERTY_X86_FEATURE_1_IBT;
+ if (info->shstk)
+ features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
+
+ /* Find a normal input file with GNU property note. */
+ for (pbfd = info->input_bfds;
+ pbfd != NULL;
+ pbfd = pbfd->link.next)
+ if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
+ && bfd_count_sections (pbfd) != 0)
+ {
+ ebfd = pbfd;
+
+ if (elf_properties (pbfd) != NULL)
+ break;
+ }
+
+ if (ebfd != NULL && features)
+ {
+ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and
+ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
+ prop = _bfd_elf_get_property (ebfd,
+ GNU_PROPERTY_X86_FEATURE_1_AND,
+ 4);
+ prop->u.number |= features;
+ prop->pr_kind = property_number;
+
+ /* Create the GNU property note section if needed. */
+ if (pbfd == NULL)
+ {
+ sec = bfd_make_section_with_flags (ebfd,
+ NOTE_GNU_PROPERTY_SECTION_NAME,
+ (SEC_ALLOC
+ | SEC_LOAD
+ | SEC_IN_MEMORY
+ | SEC_READONLY
+ | SEC_HAS_CONTENTS
+ | SEC_DATA));
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create GNU property section\n"));
+
+ if (!bfd_set_section_alignment (ebfd, sec, class_align))
+ {
+error_alignment:
+ info->callbacks->einfo (_("%F%A: failed to align section\n"),
+ sec);
+ }
+
+ elf_section_type (sec) = SHT_NOTE;
+ }
+ }
+
+ pbfd = _bfd_elf_link_setup_gnu_properties (info);
+
+ bed = get_elf_backend_data (info->output_bfd);
+
+ htab = elf_x86_hash_table (info, bed->target_id);
+ if (htab == NULL)
+ return pbfd;
+
+ htab->is_vxworks = init_table->is_vxworks;
+ htab->r_info = init_table->r_info;
+ htab->r_sym = init_table->r_sym;
+
+ if (bfd_link_relocatable (info))
+ return pbfd;
+
+ use_ibt_plt = info->ibtplt || info->ibt;
+ if (!use_ibt_plt && pbfd != NULL)
+ {
+ /* Check if GNU_PROPERTY_X86_FEATURE_1_IBT is on. */
+ elf_property_list *p;
+
+ /* The property list is sorted in order of type. */
+ for (p = elf_properties (pbfd); p; p = p->next)
+ {
+ if (GNU_PROPERTY_X86_FEATURE_1_AND == p->property.pr_type)
+ {
+ use_ibt_plt = !!(p->property.u.number
+ & GNU_PROPERTY_X86_FEATURE_1_IBT);
+ break;
+ }
+ else if (GNU_PROPERTY_X86_FEATURE_1_AND < p->property.pr_type)
+ break;
+ }
+ }
+
+ dynobj = htab->elf.dynobj;
+
+ /* Set htab->elf.dynobj here so that there is no need to check and
+ set it in check_relocs. */
+ if (dynobj == NULL)
+ {
+ if (pbfd != NULL)
+ {
+ htab->elf.dynobj = pbfd;
+ dynobj = pbfd;
+ }
+ else
+ {
+ bfd *abfd;
+
+ /* Find a normal input file to hold linker created
+ sections. */
+ for (abfd = info->input_bfds;
+ abfd != NULL;
+ abfd = abfd->link.next)
+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
+ && (abfd->flags
+ & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0)
+ {
+ htab->elf.dynobj = abfd;
+ dynobj = abfd;
+ break;
+ }
+ }
+ }
+
+ /* Even when lazy binding is disabled by "-z now", the PLT0 entry may
+ still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
+ canonical function address. */
+ htab->plt.has_plt0 = 1;
+ normal_target = init_table->normal_target;
+
+ if (normal_target)
+ {
+ if (use_ibt_plt)
+ {
+ htab->lazy_plt = init_table->lazy_ibt_plt;
+ htab->non_lazy_plt = init_table->non_lazy_ibt_plt;
+ }
+ else
+ {
+ htab->lazy_plt = init_table->lazy_plt;
+ htab->non_lazy_plt = init_table->non_lazy_plt;
+ }
+ }
+ else
+ {
+ htab->lazy_plt = init_table->lazy_plt;
+ htab->non_lazy_plt = NULL;
+ }
+
+ pltsec = htab->elf.splt;
+
+ /* If the non-lazy PLT is available, use it for all PLT entries if
+ there are no PLT0 or no .plt section. */
+ if (htab->non_lazy_plt != NULL
+ && (!htab->plt.has_plt0 || pltsec == NULL))
+ {
+ lazy_plt = FALSE;
+ if (bfd_link_pic (info))
+ htab->plt.plt_entry = htab->non_lazy_plt->pic_plt_entry;
+ else
+ htab->plt.plt_entry = htab->non_lazy_plt->plt_entry;
+ htab->plt.plt_entry_size = htab->non_lazy_plt->plt_entry_size;
+ htab->plt.plt_got_offset = htab->non_lazy_plt->plt_got_offset;
+ htab->plt.plt_got_insn_size
+ = htab->non_lazy_plt->plt_got_insn_size;
+ htab->plt.eh_frame_plt_size
+ = htab->non_lazy_plt->eh_frame_plt_size;
+ htab->plt.eh_frame_plt = htab->non_lazy_plt->eh_frame_plt;
+ }
+ else
+ {
+ lazy_plt = TRUE;
+ if (bfd_link_pic (info))
+ {
+ htab->plt.plt0_entry = htab->lazy_plt->pic_plt0_entry;
+ htab->plt.plt_entry = htab->lazy_plt->pic_plt_entry;
+ }
+ else
+ {
+ htab->plt.plt0_entry = htab->lazy_plt->plt0_entry;
+ htab->plt.plt_entry = htab->lazy_plt->plt_entry;
+ }
+ htab->plt.plt_entry_size = htab->lazy_plt->plt_entry_size;
+ htab->plt.plt_got_offset = htab->lazy_plt->plt_got_offset;
+ htab->plt.plt_got_insn_size
+ = htab->lazy_plt->plt_got_insn_size;
+ htab->plt.eh_frame_plt_size
+ = htab->lazy_plt->eh_frame_plt_size;
+ htab->plt.eh_frame_plt = htab->lazy_plt->eh_frame_plt;
+ }
+
+ /* Return if there are no normal input files. */
+ if (dynobj == NULL)
+ return pbfd;
+
+ if (htab->is_vxworks
+ && !elf_vxworks_create_dynamic_sections (dynobj, info,
+ &htab->srelplt2))
+ {
+ info->callbacks->einfo (_("%F: failed to create VxWorks dynamic sections\n"));
+ return pbfd;
+ }
+
+ /* Since create_dynamic_sections isn't always called, but GOT
+ relocations need GOT relocations, create them here so that we
+ don't need to do it in check_relocs. */
+ if (htab->elf.sgot == NULL
+ && !_bfd_elf_create_got_section (dynobj, info))
+ info->callbacks->einfo (_("%F: failed to create GOT sections\n"));
+
+ got_align = (bed->target_id == X86_64_ELF_DATA) ? 3 : 2;
+
+ /* Align .got and .got.plt sections to their entry size. Do it here
+ instead of in create_dynamic_sections so that they are always
+ properly aligned even if create_dynamic_sections isn't called. */
+ sec = htab->elf.sgot;
+ if (!bfd_set_section_alignment (dynobj, sec, got_align))
+ goto error_alignment;
+
+ sec = htab->elf.sgotplt;
+ if (!bfd_set_section_alignment (dynobj, sec, got_align))
+ goto error_alignment;
+
+ /* Create the ifunc sections here so that check_relocs can be
+ simplified. */
+ if (!_bfd_elf_create_ifunc_sections (dynobj, info))
+ info->callbacks->einfo (_("%F: failed to create ifunc sections\n"));
+
+ plt_alignment = bfd_log2 (htab->plt.plt_entry_size);
+
+ if (pltsec != NULL)
+ {
+ /* Whe creating executable, set the contents of the .interp
+ section to the interpreter. */
+ if (bfd_link_executable (info) && !info->nointerp)
+ {
+ asection *s = bfd_get_linker_section (dynobj, ".interp");
+ if (s == NULL)
+ abort ();
+ s->size = htab->dynamic_interpreter_size;
+ s->contents = (unsigned char *) htab->dynamic_interpreter;
+ htab->interp = s;
+ }
+
+ /* Don't change PLT section alignment for NaCl since it uses
+ 64-byte PLT entry and sets PLT section alignment to 32
+ bytes. Don't create additional PLT sections for NaCl. */
+ if (normal_target)
+ {
+ flagword pltflags = (bed->dynamic_sec_flags
+ | SEC_ALLOC
+ | SEC_CODE
+ | SEC_LOAD
+ | SEC_READONLY);
+ unsigned int non_lazy_plt_alignment
+ = bfd_log2 (htab->non_lazy_plt->plt_entry_size);
+
+ sec = pltsec;
+ if (!bfd_set_section_alignment (sec->owner, sec,
+ plt_alignment))
+ goto error_alignment;
+
+ /* Create the GOT procedure linkage table. */
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".plt.got",
+ pltflags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create GOT PLT section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec,
+ non_lazy_plt_alignment))
+ goto error_alignment;
+
+ htab->plt_got = sec;
+
+ if (lazy_plt)
+ {
+ sec = NULL;
+
+ if (use_ibt_plt)
+ {
+ /* Create the second PLT for Intel IBT support. IBT
+ PLT is supported only for non-NaCl target and is
+ is needed only for lazy binding. */
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".plt.sec",
+ pltflags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create IBT-enabled PLT section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec,
+ plt_alignment))
+ goto error_alignment;
+ }
+ else if (info->bndplt && ABI_64_P (dynobj))
+ {
+ /* Create the second PLT for Intel MPX support. MPX
+ PLT is supported only for non-NaCl target in 64-bit
+ mode and is needed only for lazy binding. */
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".plt.sec",
+ pltflags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create BND PLT section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec,
+ non_lazy_plt_alignment))
+ goto error_alignment;
+ }
+
+ htab->plt_second = sec;
+ }
+ }
+
+ if (!info->no_ld_generated_unwind_info)
+ {
+ flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
+ | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".eh_frame",
+ flags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create PLT .eh_frame section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec, class_align))
+ goto error_alignment;
+
+ htab->plt_eh_frame = sec;
+
+ if (htab->plt_got != NULL)
+ {
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".eh_frame",
+ flags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create GOT PLT .eh_frame section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec, class_align))
+ goto error_alignment;
+
+ htab->plt_got_eh_frame = sec;
+ }
+
+ if (htab->plt_second != NULL)
+ {
+ sec = bfd_make_section_anyway_with_flags (dynobj,
+ ".eh_frame",
+ flags);
+ if (sec == NULL)
+ info->callbacks->einfo (_("%F: failed to create the second PLT .eh_frame section\n"));
+
+ if (!bfd_set_section_alignment (dynobj, sec, class_align))
+ goto error_alignment;
+
+ htab->plt_second_eh_frame = sec;
+ }
+ }
+ }
+
+ if (normal_target)
+ {
+ /* The .iplt section is used for IFUNC symbols in static
+ executables. */
+ sec = htab->elf.iplt;
+ if (sec != NULL
+ && !bfd_set_section_alignment (sec->owner, sec,
+ plt_alignment))
+ goto error_alignment;
+ }
+
+ return pbfd;
+}
diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h
new file mode 100644
index 0000000..17aa10c
--- /dev/null
+++ b/bfd/elfxx-x86.h
@@ -0,0 +1,531 @@
+/* x86 specific support for ELF
+ Copyright (C) 2017 Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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. */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "bfdlink.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+#include "bfd_stdint.h"
+#include "hashtab.h"
+
+#define PLT_CIE_LENGTH 20
+#define PLT_FDE_LENGTH 36
+#define PLT_FDE_START_OFFSET 4 + PLT_CIE_LENGTH + 8
+#define PLT_FDE_LEN_OFFSET 4 + PLT_CIE_LENGTH + 12
+
+#define ABI_64_P(abfd) \
+ (get_elf_backend_data (abfd)->s->elfclass == ELFCLASS64)
+
+/* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
+ copying dynamic variables from a shared lib into an app's dynbss
+ section, and instead use a dynamic relocation to point into the
+ shared lib. */
+#define ELIMINATE_COPY_RELOCS 1
+
+#define elf_x86_hash_table(p, id) \
+ (is_elf_hash_table ((p)->hash) \
+ && elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) == (id) \
+ ? ((struct elf_x86_link_hash_table *) ((p)->hash)) : NULL)
+
+/* Will references to this symbol always be local in this object? */
+#define SYMBOL_REFERENCES_LOCAL_P(INFO, H) \
+ _bfd_x86_elf_link_symbol_references_local ((INFO), (H))
+
+/* Is a undefined weak symbol which is resolved to 0. Reference to an
+ undefined weak symbol is resolved to 0 when building executable if
+ it isn't dynamic and
+ 1. Has non-GOT/non-PLT relocations in text section. Or
+ 2. Has no GOT/PLT relocation.
+ Local undefined weak symbol is always resolved to 0.
+ */
+#define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \
+ ((EH)->elf.root.type == bfd_link_hash_undefweak \
+ && (SYMBOL_REFERENCES_LOCAL_P ((INFO), &(EH)->elf) \
+ || (bfd_link_executable (INFO) \
+ && (!(EH)->has_got_reloc \
+ || (EH)->has_non_got_reloc))))
+
+/* Should copy relocation be generated for a symbol. Don't generate
+ copy relocation against a protected symbol defined in a shared
+ object with GNU_PROPERTY_NO_COPY_ON_PROTECTED. */
+#define SYMBOL_NO_COPYRELOC(INFO, EH) \
+ ((EH)->def_protected \
+ && ((EH)->elf.root.type == bfd_link_hash_defined \
+ || (EH)->elf.root.type == bfd_link_hash_defweak) \
+ && elf_has_no_copy_on_protected ((EH)->elf.root.u.def.section->owner) \
+ && ((EH)->elf.root.u.def.section->owner->flags & DYNAMIC) != 0 \
+ && ((EH)->elf.root.u.def.section->flags & SEC_CODE) == 0)
+
+/* x86 ELF linker hash entry. */
+
+struct elf_x86_link_hash_entry
+{
+ struct elf_link_hash_entry elf;
+
+ /* Track dynamic relocs copied for this symbol. */
+ struct elf_dyn_relocs *dyn_relocs;
+
+ unsigned char tls_type;
+
+ /* TRUE if symbol has GOT or PLT relocations. */
+ unsigned int has_got_reloc : 1;
+
+ /* TRUE if symbol has non-GOT/non-PLT relocations in text sections. */
+ unsigned int has_non_got_reloc : 1;
+
+ /* Don't call finish_dynamic_symbol on this symbol. */
+ unsigned int no_finish_dynamic_symbol : 1;
+
+ /* TRUE if symbol is __tls_get_addr. */
+ unsigned int tls_get_addr : 1;
+
+ /* TRUE if symbol is defined as a protected symbol. */
+ unsigned int def_protected : 1;
+
+ /* 0: Symbol references are unknown.
+ 1: Symbol references aren't local.
+ 2: Symbol references are local.
+ */
+ unsigned int local_ref : 2;
+
+ /* TRUE if symbol is defined by linker. */
+ unsigned int linker_def : 1;
+
+ /* TRUE if symbol is referenced by R_386_GOTOFF relocation. This is
+ only used by i386. */
+ unsigned int gotoff_ref : 1;
+
+ /* TRUE if a weak symbol with a real definition needs a copy reloc.
+ When there is a weak symbol with a real definition, the processor
+ independent code will have arranged for us to see the real
+ definition first. We need to copy the needs_copy bit from the
+ real definition and check it when allowing copy reloc in PIE. This
+ is only used by x86-64. */
+ unsigned int needs_copy : 1;
+
+ /* Reference count of C/C++ function pointer relocations in read-write
+ section which can be resolved at run-time. */
+ bfd_signed_vma func_pointer_refcount;
+
+ /* Information about the GOT PLT entry. Filled when there are both
+ GOT and PLT relocations against the same function. */
+ union gotplt_union plt_got;
+
+ /* Information about the second PLT entry. */
+ union gotplt_union plt_second;
+
+ /* Offset of the GOTPLT entry reserved for the TLS descriptor,
+ starting at the end of the jump table. */
+ bfd_vma tlsdesc_got;
+};
+
+struct elf_x86_lazy_plt_layout
+{
+ /* The first entry in an absolute lazy procedure linkage table looks
+ like this. */
+ const bfd_byte *plt0_entry;
+ unsigned int plt0_entry_size; /* Size of PLT0 entry. */
+
+ /* Later entries in an absolute lazy procedure linkage table look
+ like this. */
+ const bfd_byte *plt_entry;
+ unsigned int plt_entry_size; /* Size of each PLT entry. */
+
+ /* Offsets into plt0_entry that are to be replaced with GOT[1] and
+ GOT[2]. */
+ unsigned int plt0_got1_offset;
+ unsigned int plt0_got2_offset;
+
+ /* Offset of the end of the PC-relative instruction containing
+ plt0_got2_offset. This is for x86-64 only. */
+ unsigned int plt0_got2_insn_end;
+
+ /* Offsets into plt_entry that are to be replaced with... */
+ unsigned int plt_got_offset; /* ... address of this symbol in .got. */
+ unsigned int plt_reloc_offset; /* ... offset into relocation table. */
+ unsigned int plt_plt_offset; /* ... offset to start of .plt. */
+
+ /* Length of the PC-relative instruction containing plt_got_offset.
+ This is used for x86-64 only. */
+ unsigned int plt_got_insn_size;
+
+ /* Offset of the end of the PC-relative jump to plt0_entry. This is
+ used for x86-64 only. */
+ unsigned int plt_plt_insn_end;
+
+ /* Offset into plt_entry where the initial value of the GOT entry
+ points. */
+ unsigned int plt_lazy_offset;
+
+ /* The first entry in a PIC lazy procedure linkage table looks like
+ this. */
+ const bfd_byte *pic_plt0_entry;
+
+ /* Subsequent entries in a PIC lazy procedure linkage table look
+ like this. */
+ const bfd_byte *pic_plt_entry;
+
+ /* .eh_frame covering the lazy .plt section. */
+ const bfd_byte *eh_frame_plt;
+ unsigned int eh_frame_plt_size;
+};
+
+struct elf_x86_non_lazy_plt_layout
+{
+ /* Entries in an absolute non-lazy procedure linkage table look like
+ this. */
+ const bfd_byte *plt_entry;
+ /* Entries in a PIC non-lazy procedure linkage table look like this. */
+ const bfd_byte *pic_plt_entry;
+
+ unsigned int plt_entry_size; /* Size of each PLT entry. */
+
+ /* Offsets into plt_entry that are to be replaced with... */
+ unsigned int plt_got_offset; /* ... address of this symbol in .got. */
+
+ /* Length of the PC-relative instruction containing plt_got_offset.
+ This is used for x86-64 only. */
+ unsigned int plt_got_insn_size;
+
+ /* .eh_frame covering the non-lazy .plt section. */
+ const bfd_byte *eh_frame_plt;
+ unsigned int eh_frame_plt_size;
+};
+
+struct elf_x86_plt_layout
+{
+ /* The first entry in a lazy procedure linkage table looks like this.
+ This is only used for i386 where absolute PLT0 and PIC PLT0 are
+ different. */
+ const bfd_byte *plt0_entry;
+ /* Entries in a procedure linkage table look like this. */
+ const bfd_byte *plt_entry;
+ unsigned int plt_entry_size; /* Size of each PLT entry. */
+
+ /* 1 has PLT0. */
+ unsigned int has_plt0;
+
+ /* Offsets into plt_entry that are to be replaced with... */
+ unsigned int plt_got_offset; /* ... address of this symbol in .got. */
+
+ /* Length of the PC-relative instruction containing plt_got_offset.
+ This is only used for x86-64. */
+ unsigned int plt_got_insn_size;
+
+ /* .eh_frame covering the .plt section. */
+ const bfd_byte *eh_frame_plt;
+ unsigned int eh_frame_plt_size;
+};
+
+/* Values in tls_type of x86 ELF linker hash entry. */
+#define GOT_UNKNOWN 0
+#define GOT_NORMAL 1
+#define GOT_TLS_GD 2
+#define GOT_TLS_IE 4
+#define GOT_TLS_IE_POS 5
+#define GOT_TLS_IE_NEG 6
+#define GOT_TLS_IE_BOTH 7
+#define GOT_TLS_GDESC 8
+#define GOT_TLS_GD_BOTH_P(type) \
+ ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
+#define GOT_TLS_GD_P(type) \
+ ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
+#define GOT_TLS_GDESC_P(type) \
+ ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
+#define GOT_TLS_GD_ANY_P(type) \
+ (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
+
+#define elf_x86_hash_entry(ent) \
+ ((struct elf_x86_link_hash_entry *)(ent))
+
+/* x86 ELF linker hash table. */
+
+struct elf_x86_link_hash_table
+{
+ struct elf_link_hash_table elf;
+
+ /* Short-cuts to get to dynamic linker sections. */
+ asection *interp;
+ asection *plt_eh_frame;
+ asection *plt_second;
+ asection *plt_second_eh_frame;
+ asection *plt_got;
+ asection *plt_got_eh_frame;
+
+ /* Parameters describing PLT generation, lazy or non-lazy. */
+ struct elf_x86_plt_layout plt;
+
+ /* Parameters describing lazy PLT generation. */
+ const struct elf_x86_lazy_plt_layout *lazy_plt;
+
+ /* Parameters describing non-lazy PLT generation. */
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_plt;
+
+ union
+ {
+ bfd_signed_vma refcount;
+ bfd_vma offset;
+ } tls_ld_or_ldm_got;
+
+ /* The amount of space used by the jump slots in the GOT. */
+ bfd_vma sgotplt_jump_table_size;
+
+ /* Small local sym cache. */
+ struct sym_cache sym_cache;
+
+ /* _TLS_MODULE_BASE_ symbol. */
+ struct bfd_link_hash_entry *tls_module_base;
+
+ /* Used by local STT_GNU_IFUNC symbols. */
+ htab_t loc_hash_table;
+ void * loc_hash_memory;
+
+ /* The offset into sgot of the GOT entry used by the PLT entry
+ above. */
+ bfd_vma tlsdesc_got;
+
+ /* The index of the next R_X86_64_JUMP_SLOT entry in .rela.plt. */
+ bfd_vma next_jump_slot_index;
+ /* The index of the next R_X86_64_IRELATIVE entry in .rela.plt. */
+ bfd_vma next_irelative_index;
+
+ /* TRUE if there are dynamic relocs against IFUNC symbols that apply
+ to read-only sections. */
+ bfd_boolean readonly_dynrelocs_against_ifunc;
+
+ /* TRUE if this is a VxWorks x86 target. This is only used for
+ i386. */
+ bfd_boolean is_vxworks;
+
+ /* The (unloaded but important) .rel.plt.unloaded section on VxWorks.
+ This is used for i386 only. */
+ asection *srelplt2;
+
+ /* The index of the next unused R_386_TLS_DESC slot in .rel.plt. This
+ is only used for i386. */
+ bfd_vma next_tls_desc_index;
+
+ /* The offset into splt of the PLT entry for the TLS descriptor
+ resolver. Special values are 0, if not necessary (or not found
+ to be necessary yet), and -1 if needed but not determined
+ yet. This is only used for x86-64. */
+ bfd_vma tlsdesc_plt;
+
+ bfd_vma (*r_info) (bfd_vma, bfd_vma);
+ bfd_vma (*r_sym) (bfd_vma);
+ bfd_boolean (*is_reloc_section) (const char *);
+ enum elf_target_id target_id;
+ unsigned int sizeof_reloc;
+ unsigned int dt_reloc;
+ unsigned int dt_reloc_sz;
+ unsigned int dt_reloc_ent;
+ unsigned int got_entry_size;
+ unsigned int pointer_r_type;
+ int dynamic_interpreter_size;
+ const char *dynamic_interpreter;
+ const char *tls_get_addr;
+};
+
+struct elf_x86_init_table
+{
+ /* The lazy PLT layout. */
+ const struct elf_x86_lazy_plt_layout *lazy_plt;
+
+ /* The non-lazy PLT layout. */
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_plt;
+
+ /* The lazy PLT layout for IBT. */
+ const struct elf_x86_lazy_plt_layout *lazy_ibt_plt;
+
+ /* The non-lazy PLT layout for IBT. */
+ const struct elf_x86_non_lazy_plt_layout *non_lazy_ibt_plt;
+
+ /* TRUE if this is a normal x86 target. */
+ bfd_boolean normal_target;
+
+ /* TRUE if this is a VxWorks x86 target. */
+ bfd_boolean is_vxworks;
+
+ bfd_vma (*r_info) (bfd_vma, bfd_vma);
+ bfd_vma (*r_sym) (bfd_vma);
+};
+
+struct elf_x86_obj_tdata
+{
+ struct elf_obj_tdata root;
+
+ /* tls_type for each local got entry. */
+ char *local_got_tls_type;
+
+ /* GOTPLT entries for TLS descriptors. */
+ bfd_vma *local_tlsdesc_gotent;
+};
+
+enum elf_x86_plt_type
+{
+ plt_non_lazy = 0,
+ plt_lazy = 1 << 0,
+ plt_pic = 1 << 1,
+ plt_second = 1 << 2,
+ plt_unknown = -1
+};
+
+struct elf_x86_plt
+{
+ const char *name;
+ asection *sec;
+ bfd_byte *contents;
+ enum elf_x86_plt_type type;
+ unsigned int plt_got_offset;
+ unsigned int plt_entry_size;
+ unsigned int plt_got_insn_size; /* Only used for x86-64. */
+ long count;
+};
+
+#define elf_x86_tdata(abfd) \
+ ((struct elf_x86_obj_tdata *) (abfd)->tdata.any)
+
+#define elf_x86_local_got_tls_type(abfd) \
+ (elf_x86_tdata (abfd)->local_got_tls_type)
+
+#define elf_x86_local_tlsdesc_gotent(abfd) \
+ (elf_x86_tdata (abfd)->local_tlsdesc_gotent)
+
+#define elf_x86_compute_jump_table_size(htab) \
+ ((htab)->elf.srelplt->reloc_count * (htab)->got_entry_size)
+
+#define is_x86_elf(bfd, htab) \
+ (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
+ && elf_tdata (bfd) != NULL \
+ && elf_object_id (bfd) == (htab)->target_id)
+
+extern bfd_boolean _bfd_x86_elf_mkobject
+ (bfd *);
+
+extern void _bfd_x86_elf_set_tls_module_base
+ (struct bfd_link_info *);
+
+extern bfd_vma _bfd_x86_elf_dtpoff_base
+ (struct bfd_link_info *);
+
+extern bfd_boolean _bfd_x86_elf_readonly_dynrelocs
+ (struct elf_link_hash_entry *, void *);
+
+extern struct elf_link_hash_entry * _bfd_elf_x86_get_local_sym_hash
+ (struct elf_x86_link_hash_table *, bfd *, const Elf_Internal_Rela *,
+ bfd_boolean);
+
+extern hashval_t _bfd_x86_elf_local_htab_hash
+ (const void *);
+
+extern int _bfd_x86_elf_local_htab_eq
+ (const void *, const void *);
+
+extern struct bfd_hash_entry * _bfd_x86_elf_link_hash_newfunc
+ (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
+
+extern struct bfd_link_hash_table * _bfd_x86_elf_link_hash_table_create
+ (bfd *);
+
+extern int _bfd_x86_elf_compare_relocs
+ (const void *, const void *);
+
+extern bfd_boolean _bfd_x86_elf_link_check_relocs
+ (bfd *, struct bfd_link_info *);
+
+extern bfd_boolean _bfd_x86_elf_size_dynamic_sections
+ (bfd *, struct bfd_link_info *);
+
+extern bfd_boolean _bfd_x86_elf_always_size_sections
+ (bfd *, struct bfd_link_info *);
+
+extern void _bfd_x86_elf_merge_symbol_attribute
+ (struct elf_link_hash_entry *, const Elf_Internal_Sym *,
+ bfd_boolean, bfd_boolean);
+
+extern void _bfd_x86_elf_copy_indirect_symbol
+ (struct bfd_link_info *, struct elf_link_hash_entry *,
+ struct elf_link_hash_entry *);
+
+extern bfd_boolean _bfd_x86_elf_fixup_symbol
+ (struct bfd_link_info *, struct elf_link_hash_entry *);
+
+extern bfd_boolean _bfd_x86_elf_hash_symbol
+ (struct elf_link_hash_entry *);
+
+extern bfd_boolean _bfd_x86_elf_adjust_dynamic_symbol
+ (struct bfd_link_info *, struct elf_link_hash_entry *);
+
+extern bfd_boolean _bfd_x86_elf_link_symbol_references_local
+ (struct bfd_link_info *, struct elf_link_hash_entry *);
+
+extern asection * _bfd_x86_elf_gc_mark_hook
+ (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
+ struct elf_link_hash_entry *, Elf_Internal_Sym *);
+
+extern long _bfd_x86_elf_get_synthetic_symtab
+ (bfd *, long, long, bfd_vma, struct elf_x86_plt [], asymbol **,
+ asymbol **);
+
+extern enum elf_property_kind _bfd_x86_elf_parse_gnu_properties
+ (bfd *, unsigned int, bfd_byte *, unsigned int);
+
+extern bfd_boolean _bfd_x86_elf_merge_gnu_properties
+ (struct bfd_link_info *, bfd *, elf_property *, elf_property *);
+
+extern bfd * _bfd_x86_elf_link_setup_gnu_properties
+ (struct bfd_link_info *, struct elf_x86_init_table *);
+
+#define bfd_elf64_mkobject \
+ _bfd_x86_elf_mkobject
+#define bfd_elf32_mkobject \
+ _bfd_x86_elf_mkobject
+#define bfd_elf64_bfd_link_hash_table_create \
+ _bfd_x86_elf_link_hash_table_create
+#define bfd_elf32_bfd_link_hash_table_create \
+ _bfd_x86_elf_link_hash_table_create
+#define bfd_elf64_bfd_link_check_relocs \
+ _bfd_x86_elf_link_check_relocs
+#define bfd_elf32_bfd_link_check_relocs \
+ _bfd_x86_elf_link_check_relocs
+
+#define elf_backend_size_dynamic_sections \
+ _bfd_x86_elf_size_dynamic_sections
+#define elf_backend_always_size_sections \
+ _bfd_x86_elf_always_size_sections
+#define elf_backend_merge_symbol_attribute \
+ _bfd_x86_elf_merge_symbol_attribute
+#define elf_backend_copy_indirect_symbol \
+ _bfd_x86_elf_copy_indirect_symbol
+#define elf_backend_fixup_symbol \
+ _bfd_x86_elf_fixup_symbol
+#define elf_backend_hash_symbol \
+ _bfd_x86_elf_hash_symbol
+#define elf_backend_adjust_dynamic_symbol \
+ _bfd_x86_elf_adjust_dynamic_symbol
+#define elf_backend_gc_mark_hook \
+ _bfd_x86_elf_gc_mark_hook
+#define elf_backend_omit_section_dynsym \
+ ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
+#define elf_backend_parse_gnu_properties \
+ _bfd_x86_elf_parse_gnu_properties
+#define elf_backend_merge_gnu_properties \
+ _bfd_x86_elf_merge_gnu_properties
diff --git a/bfd/ieee.c b/bfd/ieee.c
index 958a40b..9dce4a8 100644
--- a/bfd/ieee.c
+++ b/bfd/ieee.c
@@ -156,7 +156,7 @@ ieee_write_id (bfd *abfd, const char *id)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: string too long (%d chars, max 65535)"), abfd, length);
+ (_("%B: string too long (%ld chars, max 65535)"), abfd, (long) length);
bfd_set_error (bfd_error_invalid_operation);
return FALSE;
}
@@ -224,7 +224,7 @@ read_id (common_header_type *ieee)
if (ieee->input_p + length >= ieee->end_p)
{
_bfd_error_handler (_("IEEE parser: string length: %#lx longer than buffer: %#lx"),
- length, (long) (ieee->end_p - ieee->input_p));
+ (long) length, (long) (ieee->end_p - ieee->input_p));
bfd_set_error (bfd_error_invalid_operation);
return NULL;
}
@@ -859,8 +859,8 @@ ieee_slurp_external_symbols (bfd *abfd)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: unexpected ATN type %d in external part"),
- abfd, (int) value);
+ (_("%B: unexpected ATN type %Ld in external part"),
+ abfd, value);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/ihex.c b/bfd/ihex.c
index a0c704a..5ec8ce7 100644
--- a/bfd/ihex.c
+++ b/bfd/ihex.c
@@ -825,13 +825,10 @@ ihex_write_object_contents (bfd *abfd)
extbase = where & 0xffff0000;
if (where > extbase + 0xffff)
{
- char buf[20];
-
- sprintf_vma (buf, where);
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: address 0x%s out of range for Intel Hex file"),
- abfd, buf);
+ (_("%B: address %#Lx out of range for Intel Hex file"),
+ abfd, where);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index ae9bf76..196e1f0 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -1752,6 +1752,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_ARC_S25W_PCREL_PLT",
"BFD_RELOC_ARC_S21H_PCREL_PLT",
"BFD_RELOC_ARC_NPS_CMEM16",
+ "BFD_RELOC_ARC_JLI_SECTOFF",
"BFD_RELOC_BFIN_16_IMM",
"BFD_RELOC_BFIN_16_HIGH",
"BFD_RELOC_BFIN_4_PCREL",
@@ -3218,6 +3219,11 @@ void _bfd_generic_set_reloc
arelent **relptr,
unsigned int count);
+bfd_boolean _bfd_unrecognized_reloc
+ (bfd * abfd,
+ sec_ptr section,
+ unsigned int r_type);
+
/* Extracted from archures.c. */
extern const bfd_arch_info_type bfd_default_arch_struct;
const bfd_arch_info_type *bfd_default_compatible
diff --git a/bfd/mach-o-aarch64.c b/bfd/mach-o-aarch64.c
index 12fc47e..5cf3364 100644
--- a/bfd/mach-o-aarch64.c
+++ b/bfd/mach-o-aarch64.c
@@ -147,9 +147,11 @@ static reloc_howto_type arm64_howto_table[]=
};
static bfd_boolean
-bfd_mach_o_arm64_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_arm64_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base ATTRIBUTE_UNUSED)
{
bfd_mach_o_reloc_info reloc;
diff --git a/bfd/mach-o-arm.c b/bfd/mach-o-arm.c
index e731522..9eb614c 100644
--- a/bfd/mach-o-arm.c
+++ b/bfd/mach-o-arm.c
@@ -30,7 +30,7 @@
#define bfd_mach_o_mkobject bfd_mach_o_arm_mkobject
#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_arm_canonicalize_one_reloc
-#define bfd_mach_o_swap_reloc_out NULL
+#define bfd_mach_o_swap_reloc_out NULL
#define bfd_mach_o_bfd_reloc_type_lookup bfd_mach_o_arm_bfd_reloc_type_lookup
#define bfd_mach_o_bfd_reloc_name_lookup bfd_mach_o_arm_bfd_reloc_name_lookup
@@ -147,10 +147,12 @@ static reloc_howto_type arm_howto_table[]=
};
static bfd_boolean
-bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
- {
+bfd_mach_o_arm_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base)
+{
bfd_mach_o_reloc_info reloc;
if (!bfd_mach_o_pre_canonicalize_one_reloc (abfd, raw, &reloc, res, syms))
@@ -161,6 +163,9 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
switch (reloc.r_type)
{
case BFD_MACH_O_ARM_RELOC_PAIR:
+ /* PR 21813: Check for a corrupt PAIR reloc at the start. */
+ if (res == res_base)
+ return FALSE;
if (reloc.r_length == 2)
{
res->howto = &arm_howto_table[7];
@@ -174,6 +179,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return TRUE;
}
return FALSE;
+
case BFD_MACH_O_ARM_RELOC_SECTDIFF:
if (reloc.r_length == 2)
{
@@ -186,6 +192,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return TRUE;
}
return FALSE;
+
case BFD_MACH_O_ARM_RELOC_LOCAL_SECTDIFF:
if (reloc.r_length == 2)
{
@@ -198,6 +205,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return TRUE;
}
return FALSE;
+
case BFD_MACH_O_ARM_RELOC_HALF_SECTDIFF:
switch (reloc.r_length)
{
@@ -209,8 +217,9 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return TRUE;
}
return FALSE;
+
default:
- return FALSE;
+ break;
}
}
else
@@ -239,24 +248,23 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return FALSE;
}
break;
+
case BFD_MACH_O_ARM_RELOC_BR24:
if (reloc.r_length == 2 && reloc.r_pcrel == 1)
{
res->howto = &arm_howto_table[11];
return TRUE;
}
- else
- return FALSE;
break;
+
case BFD_MACH_O_THUMB_RELOC_BR22:
if (reloc.r_length == 2 && reloc.r_pcrel == 1)
{
res->howto = &arm_howto_table[16];
return TRUE;
}
- else
- return FALSE;
break;
+
case BFD_MACH_O_ARM_RELOC_HALF:
if (reloc.r_pcrel == 0)
switch (reloc.r_length)
@@ -268,7 +276,8 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
res->howto = &arm_howto_table[14];
return TRUE;
}
- return FALSE;
+ break;
+
case BFD_MACH_O_ARM_RELOC_PAIR:
if (res[-1].howto == &arm_howto_table[12]
&& reloc.r_length == 0)
@@ -290,11 +299,14 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
res->address = res[-1].address;
return TRUE;
}
- return FALSE;
+ break;
+
default:
- return FALSE;
+ break;
}
}
+
+ return FALSE;
}
static reloc_howto_type *
diff --git a/bfd/mach-o-i386.c b/bfd/mach-o-i386.c
index b2f0241..803af98 100644
--- a/bfd/mach-o-i386.c
+++ b/bfd/mach-o-i386.c
@@ -112,9 +112,11 @@ static reloc_howto_type i386_howto_table[]=
};
static bfd_boolean
-bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_i386_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base)
{
bfd_mach_o_reloc_info reloc;
@@ -126,6 +128,9 @@ bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
switch (reloc.r_type)
{
case BFD_MACH_O_GENERIC_RELOC_PAIR:
+ /* PR 21813: Check for a corrupt PAIR reloc at the start. */
+ if (res == res_base)
+ return FALSE;
if (reloc.r_length == 2)
{
res->howto = &i386_howto_table[7];
@@ -164,7 +169,7 @@ bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
}
return FALSE;
default:
- return FALSE;
+ break;
}
}
else
@@ -192,11 +197,11 @@ bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
default:
return FALSE;
}
- break;
default:
- return FALSE;
+ break;
}
}
+ return FALSE;
}
static bfd_boolean
@@ -391,9 +396,9 @@ const mach_o_segment_name_xlat mach_o_i386_segsec_names_xlat[] =
{ NULL, NULL }
};
-#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_i386_canonicalize_one_reloc
-#define bfd_mach_o_swap_reloc_out bfd_mach_o_i386_swap_reloc_out
-#define bfd_mach_o_print_thread bfd_mach_o_i386_print_thread
+#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_i386_canonicalize_one_reloc
+#define bfd_mach_o_swap_reloc_out bfd_mach_o_i386_swap_reloc_out
+#define bfd_mach_o_print_thread bfd_mach_o_i386_print_thread
#define bfd_mach_o_tgt_seg_table mach_o_i386_segsec_names_xlat
#define bfd_mach_o_section_type_valid_for_tgt NULL
diff --git a/bfd/mach-o-x86-64.c b/bfd/mach-o-x86-64.c
index 1c83b10..2c50476 100644
--- a/bfd/mach-o-x86-64.c
+++ b/bfd/mach-o-x86-64.c
@@ -120,9 +120,11 @@ static reloc_howto_type x86_64_howto_table[]=
};
static bfd_boolean
-bfd_mach_o_x86_64_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_x86_64_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base ATTRIBUTE_UNUSED)
{
bfd_mach_o_reloc_info reloc;
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index 2c1973c..9fe6326 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -1496,7 +1496,7 @@ bfd_mach_o_canonicalize_relocs (bfd *abfd, unsigned long filepos,
for (i = 0; i < count; i++)
{
if (!(*bed->_bfd_mach_o_canonicalize_one_reloc)(abfd, &native_relocs[i],
- &res[i], syms))
+ &res[i], syms, res))
goto err;
}
free (native_relocs);
@@ -2528,8 +2528,8 @@ bfd_mach_o_write_contents (bfd *abfd)
break;
default:
_bfd_error_handler
- (_("unable to allocate data for load command 0x%lx"),
- (unsigned long) cmd->type);
+ (_("unable to allocate data for load command %#x"),
+ cmd->type);
break;
}
@@ -2633,8 +2633,8 @@ bfd_mach_o_write_contents (bfd *abfd)
break;
default:
_bfd_error_handler
- (_("unable to write unknown load command 0x%lx"),
- (unsigned long) cmd->type);
+ (_("unable to write unknown load command %#x"),
+ cmd->type);
return FALSE;
}
}
@@ -2817,8 +2817,8 @@ bfd_mach_o_build_exec_seg_command (bfd *abfd, bfd_mach_o_segment_command *seg)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("section address (%lx) below start of segment (%lx)"),
- (unsigned long) s->addr, (unsigned long) vma);
+ (_("section address (%#Lx) below start of segment (%#Lx)"),
+ s->addr, vma);
return FALSE;
}
@@ -2958,8 +2958,8 @@ bfd_mach_o_layout_commands (bfd_mach_o_data_struct *mdata)
break;
default:
_bfd_error_handler
- (_("unable to layout unknown load command 0x%lx"),
- (unsigned long) cmd->type);
+ (_("unable to layout unknown load command %#x"),
+ cmd->type);
ret = FALSE;
break;
}
@@ -3494,7 +3494,7 @@ bfd_mach_o_read_section_32 (bfd *abfd, unsigned long prot)
if (section->align > 64)
{
_bfd_error_handler
- (_("bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, "
+ (_("bfd_mach_o_read_section_32: overlarge alignment value: %#lx, "
"using 32 instead"), section->align);
section->align = 32;
}
@@ -3537,7 +3537,7 @@ bfd_mach_o_read_section_64 (bfd *abfd, unsigned long prot)
if (section->align > 64)
{
_bfd_error_handler
- (_("bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, "
+ (_("bfd_mach_o_read_section_64: overlarge alignment value: %#lx, "
"using 32 instead"), section->align);
section->align = 32;
}
@@ -3588,8 +3588,8 @@ bfd_mach_o_read_symtab_symbol (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"),
- symwidth, (unsigned long) symoff);
+ (_("bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"),
+ symwidth, symoff);
return FALSE;
}
@@ -3607,9 +3607,9 @@ bfd_mach_o_read_symtab_symbol (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"),
- (unsigned long) stroff,
- (unsigned long) sym->strsize);
+ (_("bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"),
+ stroff,
+ sym->strsize);
return FALSE;
}
@@ -3749,6 +3749,9 @@ bfd_mach_o_read_symtab_strtab (bfd *abfd)
}
else
{
+ /* See PR 21840 for a reproducer. */
+ if ((sym->strsize + 1) == 0)
+ return FALSE;
sym->strtab = bfd_alloc (abfd, sym->strsize + 1);
if (sym->strtab == NULL)
return FALSE;
@@ -4756,8 +4759,8 @@ bfd_mach_o_read_command (bfd *abfd, bfd_mach_o_load_command *command)
break;
default:
command->len = 0;
- _bfd_error_handler (_("%B: unknown load command 0x%lx"),
- abfd, (unsigned long) command->type);
+ _bfd_error_handler (_("%B: unknown load command %#x"),
+ abfd, command->type);
return FALSE;
}
@@ -5052,8 +5055,8 @@ bfd_mach_o_header_p (bfd *abfd,
if (! (header.byteorder == BFD_ENDIAN_BIG
|| header.byteorder == BFD_ENDIAN_LITTLE))
{
- _bfd_error_handler (_("unknown header byte-order value 0x%lx"),
- (unsigned long) header.byteorder);
+ _bfd_error_handler (_("unknown header byte-order value %#x"),
+ header.byteorder);
goto wrong;
}
diff --git a/bfd/mach-o.h b/bfd/mach-o.h
index 83660a4..0719b53 100644
--- a/bfd/mach-o.h
+++ b/bfd/mach-o.h
@@ -746,7 +746,7 @@ typedef struct bfd_mach_o_backend_data
enum bfd_architecture arch;
bfd_vma page_size;
bfd_boolean (*_bfd_mach_o_canonicalize_one_reloc)
- (bfd *, struct mach_o_reloc_info_external *, arelent *, asymbol **);
+ (bfd *, struct mach_o_reloc_info_external *, arelent *, asymbol **, arelent *);
bfd_boolean (*_bfd_mach_o_swap_reloc_out)(arelent *, bfd_mach_o_reloc_info *);
bfd_boolean (*_bfd_mach_o_print_thread)(bfd *, bfd_mach_o_thread_flavour *,
void *, char *);
diff --git a/bfd/merge.c b/bfd/merge.c
index 553de8e..a1792a8 100644
--- a/bfd/merge.c
+++ b/bfd/merge.c
@@ -861,8 +861,8 @@ _bfd_merged_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED, asection **psec,
if (offset > sec->rawsize)
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: access beyond end of merged section (%ld)"),
- sec->owner, (long) offset);
+ (_("%B: access beyond end of merged section (%Ld)"),
+ sec->owner, offset);
return secinfo->first_str ? sec->size : 0;
}
diff --git a/bfd/mmo.c b/bfd/mmo.c
index 99a591b..03995e8 100644
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -956,8 +956,8 @@ mmo_write_loc_chunk (bfd *abfd, bfd_vma vma, const bfd_byte *loc,
_bfd_error_handler
/* xgettext:c-format */
(_("%B: attempt to emit contents at non-multiple-of-4"
- " address 0x%lx\n"),
- abfd, (unsigned long) vma);
+ " address %#Lx"),
+ abfd, vma);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
@@ -1602,7 +1602,7 @@ mmo_scan (bfd *abfd)
bfd_size_type nbytes_read = 0;
/* Buffer with room to read a 64-bit value. */
bfd_byte buf[8];
- long stab_loc = -1;
+ file_ptr stab_loc = -1;
char *file_names[256];
abfd->symcount = 0;
@@ -2033,7 +2033,7 @@ mmo_scan (bfd *abfd)
" not equal to the number of tetras to the preceding"
" lop_stab (%ld)\n"),
abfd, (long) (y * 256 + z),
- (curpos - stab_loc - 4)/4);
+ (long) (curpos - stab_loc - 4)/4);
bfd_set_error (bfd_error_bad_value);
goto error_return;
}
@@ -3239,15 +3239,14 @@ mmo_write_object_contents (bfd *abfd)
global registers. */
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: too many initialized registers; section length %ld\n"),
- abfd, (long) sec->size);
+ (_("%B: too many initialized registers; section length %Ld"),
+ abfd, sec->size);
else
_bfd_error_handler
/* xgettext:c-format */
(_("%B: invalid start address for initialized registers of"
- " length %ld: 0x%lx%08lx\n"),
- abfd, (long) sec->size,
- (unsigned long) (sec->vma >> 32), (unsigned long) (sec->vma));
+ " length %Ld: %#Lx"),
+ abfd, sec->size, sec->vma);
return FALSE;
}
diff --git a/bfd/nlmcode.h b/bfd/nlmcode.h
index 6d6aed0..350c83e 100644
--- a/bfd/nlmcode.h
+++ b/bfd/nlmcode.h
@@ -351,7 +351,9 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
bfd_byte *contents;
bfd_byte *p, *pend;
- BFD_ASSERT (hdrLength == 0 && hdr == NULL);
+ /* See PR 21840 for a reproducer. */
+ if (hdrLength != 0 || hdr != NULL)
+ return FALSE;
pos = bfd_tell (abfd);
if (bfd_seek (abfd, dataOffset, SEEK_SET) != 0)
diff --git a/bfd/opncls.c b/bfd/opncls.c
index 913341c..fa54986 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -726,25 +726,13 @@ RETURNS
bfd_boolean
bfd_close (bfd *abfd)
{
- bfd_boolean ret;
-
if (bfd_write_p (abfd))
{
if (! BFD_SEND_FMT (abfd, _bfd_write_contents, (abfd)))
return FALSE;
}
- if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
- return FALSE;
-
- ret = abfd->iovec->bclose (abfd) == 0;
-
- if (ret)
- _maybe_make_executable (abfd);
-
- _bfd_delete_bfd (abfd);
-
- return ret;
+ return bfd_close_all_done (abfd);
}
/*
@@ -774,7 +762,10 @@ bfd_close_all_done (bfd *abfd)
{
bfd_boolean ret;
- ret = bfd_cache_close (abfd);
+ if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
+ return FALSE;
+
+ ret = abfd->iovec->bclose (abfd) == 0;
if (ret)
_maybe_make_executable (abfd);
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index a18e0b2..db44053 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -529,7 +529,7 @@ _bfd_XXi_swap_aouthdr_in (bfd * abfd,
{
/* xgettext:c-format */
_bfd_error_handler
- (_("%B: aout header specifies an invalid number of data-directory entries: %d"),
+ (_("%B: aout header specifies an invalid number of data-directory entries: %ld"),
abfd, a->NumberOfRvaAndSizes);
bfd_set_error (bfd_error_bad_value);
@@ -1514,7 +1514,7 @@ pe_print_idata (bfd * abfd, void * vfile)
member_high, member,
WithoutHighBit (member_high), member);
/* PR binutils/17512: Handle corrupt PE data. */
- else if (amt + 2 >= datasize)
+ else if (amt >= datasize || amt + 2 >= datasize)
fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
else
{
@@ -1548,11 +1548,12 @@ pe_print_idata (bfd * abfd, void * vfile)
break;
amt = member - adj;
+
if (HighBitSet (member))
fprintf (file, "\t%04lx\t %4lu <none>",
member, WithoutHighBit (member));
/* PR binutils/17512: Handle corrupt PE data. */
- else if (amt + 2 >= datasize)
+ else if (amt >= datasize || amt + 2 >= datasize)
fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
else
{
@@ -2985,7 +2986,7 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd)
> bfd_get_section_size (section))
{
/* xgettext:c-format */
- _bfd_error_handler (_("%B: Data Directory size (%lx) exceeds space left in section (%lx)"),
+ _bfd_error_handler (_("%B: Data Directory size (%lx) exceeds space left in section (%Lx)"),
obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
bfd_get_section_size (section) - (addr - section->vma));
return FALSE;
diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in
index 510618e..7ea56ca 100644
--- a/bfd/po/SRC-POTFILES.in
+++ b/bfd/po/SRC-POTFILES.in
@@ -263,6 +263,8 @@ elfxx-mips.c
elfxx-riscv.c
elfxx-sparc.c
elfxx-tilegx.c
+elfxx-x86.c
+elfxx-x86.c
epoc-pe-arm.c
epoc-pei-arm.c
format.c
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index 76fdc86..dcc9cec 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-07-03 16:54+0200\n"
+"POT-Creation-Date: 2017-08-14 10:55+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"
@@ -48,7 +48,7 @@ msgid ""
"%B: can not represent section for symbol `%s' in a.out object file format"
msgstr ""
-#: aoutx.h:1588 vms-alpha.c:7776
+#: aoutx.h:1588 vms-alpha.c:7853
msgid "*unknown*"
msgstr ""
@@ -65,19 +65,19 @@ msgstr ""
msgid "%B: relocatable link from %s to %s not supported"
msgstr ""
-#: archive.c:2293
+#: archive.c:2298
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr ""
-#: archive.c:2405 linker.c:1408
+#: archive.c:2410 linker.c:1408
msgid "%B: plugin needed to handle lto object"
msgstr ""
-#: archive.c:2634
+#: archive.c:2639
msgid "Reading archive file mod timestamp"
msgstr ""
-#: archive.c:2658
+#: archive.c:2663
msgid "Writing updated armap timestamp"
msgstr ""
@@ -170,22 +170,22 @@ msgstr ""
msgid "#<Invalid error code>"
msgstr ""
-#: bfd.c:1138
+#: bfd.c:1144
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr ""
-#: bfd.c:1151
+#: bfd.c:1157
#, c-format
msgid "BFD %s internal error, aborting at %s:%d in %s\n"
msgstr ""
-#: bfd.c:1156
+#: bfd.c:1162
#, c-format
msgid "BFD %s internal error, aborting at %s:%d\n"
msgstr ""
-#: bfd.c:1158
+#: bfd.c:1164
msgid "Please report this bug.\n"
msgstr ""
@@ -201,11 +201,11 @@ msgstr ""
#: binary.c:276
#, c-format
-msgid "warning: writing section `%A' at huge (ie negative) file offset 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset"
msgstr ""
#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
-#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8017 reloc16.c:156
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8020 reloc16.c:156
#: elf32-ia64.c:351 elf64-ia64.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
@@ -241,9 +241,9 @@ msgstr ""
msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
msgstr ""
-#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418
-#: elf32-microblaze.c:952 elf64-alpha.c:4167 elf64-alpha.c:4315
-#: elf64-ia64-vms.c:3431 elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418 elf32-microblaze.c:952
+#: elf64-alpha.c:4165 elf64-alpha.c:4313 elf64-ia64-vms.c:3431
+#: elf32-ia64.c:3839 elf64-ia64.c:3839
#, c-format
msgid "%B: unknown relocation type %d"
msgstr ""
@@ -275,12 +275,12 @@ msgstr ""
#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
#, c-format
-msgid "%B: bad reloc address 0x%lx in section `%A'"
+msgid "%B: bad reloc address %#Lx in section `%A'"
msgstr ""
#: coff-arm.c:2071
#, c-format
-msgid "%B: illegal symbol index in reloc: %d"
+msgid "%B: illegal symbol index in reloc: %ld"
msgstr ""
#: coff-arm.c:2203
@@ -288,14 +288,14 @@ msgstr ""
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr ""
-#: coff-arm.c:2216 elf32-arm.c:19756
+#: coff-arm.c:2216 elf32-arm.c:19754
#, c-format
msgid ""
"error: %B passes floats in float registers, whereas %B passes them in "
"integer registers"
msgstr ""
-#: coff-arm.c:2221 elf32-arm.c:19760
+#: coff-arm.c:2221 elf32-arm.c:19758
#, c-format
msgid ""
"error: %B passes floats in integer registers, whereas %B passes them in "
@@ -316,12 +316,12 @@ msgid ""
"position independent"
msgstr ""
-#: coff-arm.c:2265 elf32-arm.c:19825
+#: coff-arm.c:2265 elf32-arm.c:19823
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr ""
-#: coff-arm.c:2270 elf32-arm.c:19831
+#: coff-arm.c:2270 elf32-arm.c:19829
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr ""
@@ -331,7 +331,7 @@ msgstr ""
msgid "private flags = %x:"
msgstr ""
-#: coff-arm.c:2301 elf32-arm.c:14156
+#: coff-arm.c:2301 elf32-arm.c:14154
#, c-format
msgid " [floats passed in float registers]"
msgstr ""
@@ -341,7 +341,7 @@ msgstr ""
msgid " [floats passed in integer registers]"
msgstr ""
-#: coff-arm.c:2306 elf32-arm.c:14159
+#: coff-arm.c:2306 elf32-arm.c:14157
#, c-format
msgid " [position independent]"
msgstr ""
@@ -366,17 +366,17 @@ msgstr ""
msgid " [interworking not supported]"
msgstr ""
-#: coff-arm.c:2361 elf32-arm.c:13017
+#: coff-arm.c:2361 elf32-arm.c:13015
msgid ""
"Warning: Not setting interworking flag of %B since it has already been "
"specified as non-interworking"
msgstr ""
-#: coff-arm.c:2364 elf32-arm.c:13021
+#: coff-arm.c:2364 elf32-arm.c:13019
msgid "Warning: Clearing the interworking flag of %B due to outside request"
msgstr ""
-#: coff-arm.c:2421 elf32-arm.c:13066
+#: coff-arm.c:2421 elf32-arm.c:13064
#, c-format
msgid ""
"Warning: Clearing the interworking flag of %B because non-interworking code "
@@ -393,7 +393,7 @@ msgstr ""
msgid "relocation `%s' not yet implemented"
msgstr ""
-#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5314
+#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5327
#, c-format
msgid "%B: warning: illegal symbol index %ld in relocs"
msgstr ""
@@ -402,7 +402,7 @@ msgstr ""
msgid "uncertain calling convention for non-COFF symbol"
msgstr ""
-#: coff-m68k.c:483 elf32-bfin.c:5530 elf32-cr16.c:2817 elf32-m68k.c:4574
+#: coff-m68k.c:483 elf32-bfin.c:5529 elf32-cr16.c:2817 elf32-m68k.c:4573
msgid "unsupported reloc type"
msgstr ""
@@ -411,17 +411,17 @@ msgstr ""
msgid "GP relative relocation when _gp not defined"
msgstr ""
-#: coff-rs6000.c:2747
+#: coff-rs6000.c:2773
#, c-format
msgid "%B: unsupported relocation type 0x%02x"
msgstr ""
-#: coff-rs6000.c:2833
+#: coff-rs6000.c:2859
#, c-format
-msgid "%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
+msgid "%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"
msgstr ""
-#: coff-rs6000.c:3579 coff64-rs6000.c:2110
+#: coff-rs6000.c:3605 coff64-rs6000.c:2150
#, c-format
msgid "%B: symbol `%s' has unrecognized smclas %d"
msgstr ""
@@ -433,42 +433,42 @@ msgstr ""
#: coff-sh.c:778 elf32-sh.c:580
#, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
+msgid "%B: %#Lx: warning: bad R_SH_USES offset"
msgstr ""
-#: coff-sh.c:789 elf32-sh.c:592
+#: coff-sh.c:789
#, c-format
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"
msgstr ""
#: coff-sh.c:807 elf32-sh.c:610
#, c-format
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
+msgid "%B: %#Lx: warning: bad R_SH_USES load offset"
msgstr ""
#: coff-sh.c:832 elf32-sh.c:626
#, c-format
-msgid "%B: 0x%lx: warning: could not find expected reloc"
+msgid "%B: %#Lx: warning: could not find expected reloc"
msgstr ""
#: coff-sh.c:849 elf32-sh.c:655
#, c-format
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
+msgid "%B: %#Lx: warning: symbol in unexpected section"
msgstr ""
#: coff-sh.c:975 elf32-sh.c:785
#, c-format
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
+msgid "%B: %#Lx: warning: could not find expected COUNT reloc"
msgstr ""
#: coff-sh.c:985 elf32-sh.c:795
#, c-format
-msgid "%B: 0x%lx: warning: bad count"
+msgid "%B: %#Lx: warning: bad count"
msgstr ""
#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
#, c-format
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
+msgid "%B: %#Lx: fatal: reloc overflow while relaxing"
msgstr ""
#: coff-sh.c:1452
@@ -494,12 +494,18 @@ msgstr ""
msgid "%B: unable to load COMDAT section name"
msgstr ""
-#: coffcode.h:1009
+#. Malformed input files can trigger this test.
+#. cf PR 21781.
+#: coffcode.h:1003
+msgid "%B: error: unexpected symbol '%s' in COMDAT section"
+msgstr ""
+
+#: coffcode.h:1015
#, c-format
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
msgstr ""
-#: coffcode.h:1019
+#: coffcode.h:1025
#, c-format
msgid "%B: warning: No symbol for section '%s' found"
msgstr ""
@@ -507,98 +513,98 @@ msgstr ""
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
-#: coffcode.h:1245
+#: coffcode.h:1251
#, c-format
msgid ""
"%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
msgstr ""
-#: coffcode.h:1314
+#: coffcode.h:1320
#, c-format
-msgid "%B (%s): Section flag %s (0x%x) ignored"
+msgid "%B (%s): Section flag %s (%#lx) ignored"
msgstr ""
-#: coffcode.h:1949
+#: coffcode.h:1955
msgid "%B: warning: claims to have 0xffff relocs, without overflow"
msgstr ""
-#: coffcode.h:2465
+#: coffcode.h:2471
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
msgstr ""
-#: coffcode.h:2783
+#: coffcode.h:2789
#, c-format
msgid "%B: reloc against a non-existent symbol index: %ld"
msgstr ""
-#: coffcode.h:3186
+#: coffcode.h:3192
#, c-format
msgid "%B: page size is too large (0x%x)"
msgstr ""
-#: coffcode.h:3346
+#: coffcode.h:3352
#, c-format
msgid "%B: too many sections (%d)"
msgstr ""
-#: coffcode.h:3767
+#: coffcode.h:3773
#, c-format
msgid "%B: section %A: string table overflow at offset %ld"
msgstr ""
-#: coffcode.h:4585
+#: coffcode.h:4591
msgid "%B: warning: line number table read failed"
msgstr ""
-#: coffcode.h:4619 coffcode.h:4633
+#: coffcode.h:4625 coffcode.h:4639
#, c-format
msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
msgstr ""
-#: coffcode.h:4647
+#: coffcode.h:4653
#, c-format
msgid "%B: warning: illegal symbol in line number entry %d"
msgstr ""
-#: coffcode.h:4660
+#: coffcode.h:4666
#, c-format
msgid "%B: warning: duplicate line number information for `%s'"
msgstr ""
-#: coffcode.h:5074
+#: coffcode.h:5087
#, c-format
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
msgstr ""
-#: coffcode.h:5207
+#: coffcode.h:5220
#, c-format
msgid "warning: %B: local symbol `%s' has no section"
msgstr ""
-#: coffcode.h:5354
+#: coffcode.h:5367
#, c-format
-msgid "%B: illegal relocation type %d at address 0x%lx"
+msgid "%B: illegal relocation type %d at address %#Lx"
msgstr ""
-#: coffgen.c:178 elf.c:1181
+#: coffgen.c:178 elf.c:1198
#, c-format
msgid "%B: unable to initialize compress status for section %s"
msgstr ""
-#: coffgen.c:202 elf.c:1192
+#: coffgen.c:202 elf.c:1209
#, c-format
msgid "%B: unable to initialize decompress status for section %s"
msgstr ""
#. PR 21013: Provide an error message when the alloc fails.
#: coffgen.c:1648
-msgid "%B: Not enough memory to allocate space for %lu symbols"
+msgid "%B: Not enough memory to allocate space for %Lu symbols"
msgstr ""
#: coffgen.c:1716
#, c-format
-msgid "%B: bad string table size %lu"
+msgid "%B: bad string table size %Lu"
msgstr ""
#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
@@ -611,16 +617,16 @@ msgstr ""
msgid "<corrupt info> %s"
msgstr ""
-#: coffgen.c:2666 elflink.c:14044 linker.c:2931
+#: coffgen.c:2666 elflink.c:14078 linker.c:2931
msgid "%F%P: already_linked_table: %E\n"
msgstr ""
-#: coffgen.c:3007 elflink.c:13059
+#: coffgen.c:3007 elflink.c:13064
#, c-format
msgid "Removing unused section '%A' in file '%B'"
msgstr ""
-#: coffgen.c:3084 elflink.c:13304
+#: coffgen.c:3084 elflink.c:13309
msgid "Warning: gc-sections option ignored"
msgstr ""
@@ -629,7 +635,7 @@ msgstr ""
msgid "Warning: symbol `%s' is both section and non-section"
msgstr ""
-#: cofflink.c:450 elf64-ia64-vms.c:5188 elflink.c:4788
+#: cofflink.c:450 elf64-ia64-vms.c:5187 elflink.c:4794
#, c-format
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
msgstr ""
@@ -639,7 +645,7 @@ msgstr ""
msgid "%B: relocs in section `%A', but it has no contents"
msgstr ""
-#: cofflink.c:2432 elflink.c:10567
+#: cofflink.c:2432 elflink.c:10572
#, c-format
msgid ""
"%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' "
@@ -648,12 +654,12 @@ msgstr ""
#: cofflink.c:2730
#, c-format
-msgid "%B: %A: reloc overflow: 0x%lx > 0xffff"
+msgid "%B: %A: reloc overflow: %#x > 0xffff"
msgstr ""
#: cofflink.c:2738
#, c-format
-msgid "%B: warning: %A: line number overflow: 0x%lx > 0xffff"
+msgid "%B: warning: %A: line number overflow: %#x > 0xffff"
msgstr ""
#: coffswap.h:811
@@ -668,7 +674,7 @@ msgstr ""
#: compress.c:255
#, c-format
-msgid "error: %B(%A) is too large (%#lx bytes)"
+msgid "error: %B(%A) is too large (%#Lx bytes)"
msgstr ""
#: cpu-arm.c:192 cpu-arm.c:204
@@ -681,92 +687,102 @@ msgstr ""
msgid "warning: unable to update contents of %s section in %B"
msgstr ""
-#: dwarf2.c:532
+#: dwarf2.c:546
#, c-format
msgid "Dwarf Error: Can't find %s section."
msgstr ""
-#: dwarf2.c:562
+#: dwarf2.c:576
#, c-format
-msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
+msgid "Dwarf Error: Offset (%llu) greater than or equal to %s size (%Lu)."
msgstr ""
-#: dwarf2.c:1028
+#: dwarf2.c:1093
msgid "Dwarf Error: Info pointer extends beyond end of attributes"
msgstr ""
-#: dwarf2.c:1185
+#: dwarf2.c:1265
#, c-format
msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
msgstr ""
-#: dwarf2.c:1491
+#: dwarf2.c:1572
msgid "Dwarf Error: mangled line number section (bad file number)."
msgstr ""
-#: dwarf2.c:1779
+#: dwarf2.c:1946
#, c-format
-msgid "Dwarf Error: Line info section is too small (%ld)"
+msgid "Dwarf Error: Unknown format content type %Lu."
msgstr ""
-#: dwarf2.c:1809
+#: dwarf2.c:2050
#, c-format
-msgid "Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"
+msgid "Dwarf Error: Line info section is too small (%Ld)"
msgstr ""
-#: dwarf2.c:1821
+#: dwarf2.c:2080
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (%#Lx) than the section (%#Lx)"
+msgstr ""
+
+#: dwarf2.c:2092
#, c-format
msgid "Dwarf Error: Unhandled .debug_line version %d."
msgstr ""
-#: dwarf2.c:1830
+#: dwarf2.c:2102
msgid "Dwarf Error: Ran out of room reading prologue"
msgstr ""
-#: dwarf2.c:1855
+#: dwarf2.c:2120
+#, c-format
+msgid "Dwarf Error: Line info unsupported segment selector size %u."
+msgstr ""
+
+#: dwarf2.c:2147
msgid "Dwarf Error: Invalid maximum operations per instruction."
msgstr ""
-#: dwarf2.c:1874
+#: dwarf2.c:2166
msgid "Dwarf Error: Ran out of room reading opcodes"
msgstr ""
-#: dwarf2.c:2069
+#: dwarf2.c:2351
msgid "Dwarf Error: mangled line number section."
msgstr ""
-#: dwarf2.c:2575
+#: dwarf2.c:2857
#, c-format
-msgid "Dwarf Error: Unable to read alt ref %u."
+msgid "Dwarf Error: Unable to read alt ref %llu."
msgstr ""
-#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
+#: dwarf2.c:2883 dwarf2.c:3033 dwarf2.c:3380
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr ""
-#: dwarf2.c:3023
+#: dwarf2.c:3299
#, c-format
msgid ""
-"Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 "
-"and 4 information."
+"Dwarf Error: found dwarf version '%u', this reader only handles version 2, "
+"3, 4 and 5 information."
msgstr ""
-#: dwarf2.c:3034
+#: dwarf2.c:3343
#, c-format
msgid ""
"Dwarf Error: found address size '%u', this reader can not handle sizes "
"greater than '%u'."
msgstr ""
-#: dwarf2.c:3137
+#: dwarf2.c:3446
msgid ""
"Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
msgstr ""
#: ecoff.c:964
#, c-format
-msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"
msgstr ""
#: ecoff.c:1261
@@ -830,14 +846,18 @@ msgid ""
" Type: %s"
msgstr ""
-#: elf-attrs.c:595
+#: elf-attrs.c:473
+msgid "%B: error: attribute section length too small: %ld"
+msgstr ""
+
+#: elf-attrs.c:601
#, c-format
msgid ""
"error: %B: Object has vendor-specific contents that must be processed by the "
"'%s' toolchain"
msgstr ""
-#: elf-attrs.c:605
+#: elf-attrs.c:611
#, c-format
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
msgstr ""
@@ -864,40 +884,40 @@ msgid ""
"dropped.\n"
msgstr ""
-#: elf-eh-frame.c:1879
+#: elf-eh-frame.c:1870
#, c-format
msgid "%B: %A not in order"
msgstr ""
-#: elf-eh-frame.c:1893
+#: elf-eh-frame.c:1884
#, c-format
msgid "%B: %A invalid input section size"
msgstr ""
-#: elf-eh-frame.c:1901
+#: elf-eh-frame.c:1892
#, c-format
msgid "%B: %A points past end of text section"
msgstr ""
-#: elf-eh-frame.c:2150
+#: elf-eh-frame.c:2141
msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
msgstr ""
-#: elf-eh-frame.c:2320
+#: elf-eh-frame.c:2311
#, c-format
msgid "Invalid output section for .eh_frame_entry: %A"
msgstr ""
-#: elf-eh-frame.c:2343
+#: elf-eh-frame.c:2334
#, c-format
msgid "Invalid contents in %A section"
msgstr ""
-#: elf-eh-frame.c:2499
+#: elf-eh-frame.c:2490
msgid "%P: .eh_frame_hdr entry overflow.\n"
msgstr ""
-#: elf-eh-frame.c:2502
+#: elf-eh-frame.c:2493
msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
msgstr ""
@@ -909,53 +929,52 @@ msgid ""
"pie\n"
msgstr ""
-#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3194
+#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3193
#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
-#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3044
-#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2001
+#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3045
+#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2000
#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
-#: elf32-tilepro.c:3665 elf32-v850.c:2287 elf32-visium.c:677
-#: elf32-xstormy16.c:927 elf64-mmix.c:1540 elfxx-tilegx.c:4052
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2267
+#: elf32-tilepro.c:3657 elf32-v850.c:2287 elf32-visium.c:677
+#: elf32-xstormy16.c:927 elf64-mmix.c:1538 elfxx-tilegx.c:4044
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2267
msgid "internal error: out of range error"
msgstr ""
-#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3198
+#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3197
#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
-#: elf32-m32c.c:625 elf32-m32r.c:3048 elf32-m68hc1x.c:1273 elf32-mep.c:528
-#: elf32-metag.c:2005 elf32-microblaze.c:1574 elf32-moxie.c:289
+#: elf32-m32c.c:625 elf32-m32r.c:3049 elf32-m68hc1x.c:1273 elf32-mep.c:528
+#: elf32-metag.c:2004 elf32-microblaze.c:1574 elf32-moxie.c:289
#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
-#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3669 elf32-v850.c:2291
-#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1544
-#: elfxx-mips.c:10258 elfxx-tilegx.c:4056
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2271
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3661 elf32-v850.c:2291
+#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1542
+#: elfxx-mips.c:10258 elfxx-tilegx.c:4048
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2271
msgid "internal error: unsupported relocation error"
msgstr ""
#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
-#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3052
+#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3053
#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
msgid "internal error: dangerous error"
msgstr ""
-#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3206
+#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3205
#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
-#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3056
-#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2013
-#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369
-#: elf32-mt.c:408 elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748
-#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3677 elf32-v850.c:2311
-#: elf32-visium.c:689 elf32-xstormy16.c:939 elf64-mmix.c:1552
-#: elfxx-tilegx.c:4064
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2279
+#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3057
+#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2012
+#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369 elf32-mt.c:408
+#: elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748 elf32-score7.c:2552
+#: elf32-spu.c:5088 elf32-tilepro.c:3669 elf32-v850.c:2311 elf32-visium.c:689
+#: elf32-xstormy16.c:939 elf64-mmix.c:1550 elfxx-tilegx.c:4056
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2279
msgid "internal error: unknown error"
msgstr ""
@@ -974,14 +993,14 @@ msgstr ""
msgid "%B: %s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf-m10300.c:2097 elf32-arm.c:12532 elf32-i386.c:5372 elf32-m32r.c:2540
-#: elf32-m68k.c:4084 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3569
-#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5753
-#: elfxx-sparc.c:4086 elfxx-tilegx.c:3976
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6437
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2236
+#: elf-m10300.c:2097 elf32-arm.c:12530 elf32-i386.c:5344 elf32-m32r.c:2540
+#: elf32-m68k.c:4083 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3561
+#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5712
+#: elfxx-sparc.c:4086 elfxx-tilegx.c:3968
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6431
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2236
#, c-format
-msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
+msgid "%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
#: elf-m10300.c:2158
@@ -1033,10 +1052,10 @@ msgstr ""
#: elf.c:357
#, c-format
-msgid "%B: invalid string offset %u >= %lu for section `%s'"
+msgid "%B: invalid string offset %u >= %Lu for section `%s'"
msgstr ""
-#: elf.c:496
+#: elf.c:496 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7650
#, c-format
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr ""
@@ -1059,181 +1078,187 @@ msgstr ""
msgid "%B: no valid group sections found"
msgstr ""
-#: elf.c:804
+#. See PR 21957 for a reproducer.
+#: elf.c:755
#, c-format
-msgid "%B: no group info for section %A"
+msgid "%B: group section '%A' has no contents"
msgstr ""
-#: elf.c:835 elf.c:3819 elflink.c:11155
+#: elf.c:814
+#, c-format
+msgid "%B: no group info for section '%A'"
+msgstr ""
+
+#: elf.c:845 elf.c:3836 elflink.c:11160
#, c-format
msgid "%B: warning: sh_link not set for section `%A'"
msgstr ""
-#: elf.c:855
+#: elf.c:865
#, c-format
msgid "%B: sh_link [%d] in section `%A' is incorrect"
msgstr ""
-#: elf.c:868
+#: elf.c:878
#, c-format
msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
msgstr ""
-#: elf.c:889
+#: elf.c:899
#, c-format
msgid "%B: section group entry number %u is corrupt"
msgstr ""
-#: elf.c:914
+#: elf.c:929
#, c-format
msgid "%B: unknown type [%#x] section `%s' in group [%A]"
msgstr ""
-#: elf.c:1373
+#: elf.c:1390
#, c-format
msgid "%B: Invalid sh_link field (%d) in section number %d"
msgstr ""
-#: elf.c:1389
+#: elf.c:1406
#, c-format
msgid "%B: Failed to find link section for section %d"
msgstr ""
-#: elf.c:1416
+#: elf.c:1433
#, c-format
msgid "%B: Failed to find info section for section %d"
msgstr ""
-#: elf.c:1588
+#: elf.c:1605
#, c-format
msgid ""
"\n"
"Program Header:\n"
msgstr ""
-#: elf.c:1630
+#: elf.c:1647
#, c-format
msgid ""
"\n"
"Dynamic Section:\n"
msgstr ""
-#: elf.c:1771
+#: elf.c:1788
#, c-format
msgid ""
"\n"
"Version definitions:\n"
msgstr ""
-#: elf.c:1796
+#: elf.c:1813
#, c-format
msgid ""
"\n"
"Version References:\n"
msgstr ""
-#: elf.c:1801
+#: elf.c:1818
#, c-format
msgid " required from %s:\n"
msgstr ""
-#: elf.c:1999
+#: elf.c:2016
msgid "%B: warning: loop in section dependencies detected"
msgstr ""
-#: elf.c:2107
+#: elf.c:2124
#, c-format
msgid ""
"%B: warning: multiple symbol tables detected - ignoring the table in section "
"%u"
msgstr ""
-#: elf.c:2191
+#: elf.c:2208
#, c-format
msgid ""
"%B: warning: multiple dynamic symbol tables detected - ignoring the table in "
"section %u"
msgstr ""
-#: elf.c:2304
+#: elf.c:2321
#, c-format
msgid "%B: invalid link %u for reloc section %s (index %u)"
msgstr ""
-#: elf.c:2463 elf.c:2478 elf.c:2489 elf.c:2502
+#: elf.c:2480 elf.c:2495 elf.c:2506 elf.c:2519
#, c-format
msgid "%B: unknown type [%#x] section `%s'"
msgstr ""
-#: elf.c:3206
+#: elf.c:3223
#, c-format
msgid "%B: error: Alignment power %d of section `%A' is too big"
msgstr ""
-#: elf.c:3236
+#: elf.c:3253
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
msgstr ""
-#: elf.c:3687
+#: elf.c:3704
#, c-format
msgid "%B: too many sections: %u"
msgstr ""
-#: elf.c:3772
+#: elf.c:3789
#, c-format
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
msgstr ""
-#: elf.c:3797
+#: elf.c:3814
#, c-format
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
msgstr ""
-#: elf.c:4349
+#: elf.c:4366
#, c-format
msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
msgstr ""
-#: elf.c:4891
+#: elf.c:4908
msgid "%B: TLS sections are not adjacent:"
msgstr ""
-#: elf.c:4898
+#: elf.c:4915
#, c-format
msgid "\t TLS: %A"
msgstr ""
-#: elf.c:4902
+#: elf.c:4919
#, c-format
msgid "\tnon-TLS: %A"
msgstr ""
-#: elf.c:5398
+#: elf.c:5415
msgid ""
"%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr ""
-#: elf.c:5426
+#: elf.c:5443
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:5514
+#: elf.c:5531
#, c-format
msgid "%B: section %A lma %#Lx adjusted to %#Lx"
msgstr ""
-#: elf.c:5651
+#: elf.c:5668
#, c-format
msgid "%B: section `%A' can't be allocated in segment %d"
msgstr ""
-#: elf.c:5699
+#: elf.c:5716
#, c-format
msgid "%B: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:5897
+#: elf.c:5914
msgid ""
"%B: error: non-load segment %d includes file header and/or program header"
msgstr ""
@@ -1241,49 +1266,49 @@ msgstr ""
#. The fix for this error is usually to edit the linker script being
#. used and set up the program headers manually. Either that or
#. leave room for the headers at the start of the SECTIONS.
-#: elf.c:6074
+#: elf.c:6091
msgid "%B: error: PHDR segment not covered by LOAD segment"
msgstr ""
-#: elf.c:6418
+#: elf.c:6435
#, c-format
msgid "%B: symbol `%s' required but not present"
msgstr ""
-#: elf.c:6761
+#: elf.c:6778
#, c-format
msgid ""
"%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this "
"intentional?"
msgstr ""
-#: elf.c:7375
+#: elf.c:7392
#, c-format
msgid "%B: warning: segment alignment of %#Lx is too large"
msgstr ""
-#: elf.c:7856
+#: elf.c:7873
#, c-format
msgid ""
"Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:8188
+#: elf.c:8205
msgid "%B: .gnu.version_r invalid entry"
msgstr ""
-#: elf.c:8315
+#: elf.c:8332
msgid "%B: .gnu.version_d invalid entry"
msgstr ""
-#: elf.c:8867
+#: elf.c:8884
#, c-format
msgid "%B: unsupported relocation type %s"
msgstr ""
#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
-#: elf64-ppc.c:6078
+#: elf64-ppc.c:6087
#, c-format
msgid "private flags = 0x%lx:"
msgstr ""
@@ -1322,9 +1347,9 @@ msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
msgstr ""
#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
-#: elf32-m68hc1x.c:1388 elf64-sparc.c:727 elfxx-mips.c:15127
+#: elf32-m68hc1x.c:1388 elf32-ppc.c:4909 elf64-sparc.c:727 elfxx-mips.c:15127
#, c-format
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
msgstr ""
#: elf32-arc.c:980
@@ -1340,60 +1365,60 @@ msgstr ""
#: elf32-arc.c:1119
#, c-format
msgid ""
-"%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x "
-"(value is 0x%lx)"
+"%B(%A+%#Lx): CMEM relocation to `%s' is invalid, 16 MSB should be %#x (value "
+"is %#Lx)"
msgstr ""
#: elf32-arc.c:1130
#, c-format
msgid ""
-"%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x"
-"%04x (value is 0x%lx)"
+"%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, 16 MSB should be %#x "
+"(value is %#Lx)"
msgstr ""
-#: elf32-arc.c:1835
+#: elf32-arc.c:1836
msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
msgstr ""
-#: elf32-arc.c:1859 elf32-rl78.c:1094 elf32-rx.c:1448
+#: elf32-arc.c:1860 elf32-rl78.c:1094 elf32-rx.c:1448
#, c-format
msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
msgstr ""
-#: elf32-arc.c:1864 elf32-rl78.c:1099 elf32-rx.c:1453
+#: elf32-arc.c:1865 elf32-rl78.c:1099 elf32-rx.c:1453
#, c-format
msgid "%B(%A): internal error: out of range error"
msgstr ""
-#: elf32-arc.c:1869 elf32-rl78.c:1104 elf32-rx.c:1458
+#: elf32-arc.c:1870 elf32-rl78.c:1104 elf32-rx.c:1458
#, c-format
msgid "%B(%A): internal error: unsupported relocation error"
msgstr ""
-#: elf32-arc.c:1874 elf32-rl78.c:1109 elf32-rx.c:1463
+#: elf32-arc.c:1875 elf32-rl78.c:1109 elf32-rx.c:1463
#, c-format
msgid "%B(%A): internal error: dangerous relocation"
msgstr ""
-#: elf32-arc.c:1879 elf32-rl78.c:1114 elf32-rx.c:1468
+#: elf32-arc.c:1880 elf32-rl78.c:1114 elf32-rx.c:1468
#, c-format
msgid "%B(%A): internal error: unknown error"
msgstr ""
-#: elf32-arc.c:1967 elf32-arm.c:14714 elf32-metag.c:2272 elfxx-mips.c:8883
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7224
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:484
+#: elf32-arc.c:1968 elf32-arm.c:14712 elf32-metag.c:2271 elfxx-mips.c:8883
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7218
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:484
#, c-format
msgid ""
"%B: relocation %s against `%s' can not be used when making a shared object; "
"recompile with -fPIC"
msgstr ""
-#: elf32-arc.c:2859
+#: elf32-arc.c:2860
msgid "%B: Unknown mandatory ARC object attribute %d."
msgstr ""
-#: elf32-arc.c:2867
+#: elf32-arc.c:2868
msgid "Warning: %B: Unknown ARC object attribute %d."
msgstr ""
@@ -1423,7 +1448,7 @@ msgstr ""
#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
#: elf32-metag.c:1198 elf32-nios2.c:2227
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2852
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2852
#, c-format
msgid "%B: cannot create stub entry %s"
msgstr ""
@@ -1543,8 +1568,8 @@ msgstr ""
#: elf32-arm.c:8618
#, c-format
msgid ""
-"%B(%A+0x%lx): error: multiple load detected in non-last IT block "
-"instruction : STM32L4XX veneer cannot be generated.\n"
+"%B(%A+%#x): error: multiple load detected in non-last IT block instruction : "
+"STM32L4XX veneer cannot be generated.\n"
"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
msgstr ""
@@ -1561,165 +1586,165 @@ msgstr ""
#: elf32-arm.c:9723
#, c-format
-msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"
+msgid "%B(%A+%#Lx): unexpected Thumb instruction '%#lx' in TLS trampoline"
msgstr ""
#: elf32-arm.c:9763
#, c-format
-msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"
+msgid "%B(%A+%#Lx): unexpected ARM instruction '%#lx' in TLS trampoline"
msgstr ""
-#: elf32-arm.c:10097
+#: elf32-arm.c:10098
msgid "shared object"
msgstr ""
-#: elf32-arm.c:10100
+#: elf32-arm.c:10101
msgid "PIE executable"
msgstr ""
-#: elf32-arm.c:10103
+#: elf32-arm.c:10104
msgid ""
"%B: relocation %s against external or undefined symbol `%s' can not be used "
"when making a %s; recompile with -fPIC"
msgstr ""
-#: elf32-arm.c:10234
-msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
+#: elf32-arm.c:10235
+msgid "%B: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr ""
-#: elf32-arm.c:10660
+#: elf32-arm.c:10661
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr ""
-#: elf32-arm.c:11527
+#: elf32-arm.c:11528
#, c-format
msgid ""
-"%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+"%B(%A+%#Lx): unexpected Thumb instruction '%#lx' referenced by TLS_GOTDESC"
msgstr ""
#: elf32-arm.c:11551
#, c-format
msgid ""
-"%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+"%B(%A+%#Lx): unexpected ARM instruction '%#lx' referenced by TLS_GOTDESC"
msgstr ""
-#: elf32-arm.c:11581
+#: elf32-arm.c:11580 elf32-m68k.c:3890 elf32-metag.c:1931 elf32-nios2.c:4372
#, c-format
-msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
+msgid "%B(%A+%#Lx): %s relocation not permitted in shared object"
msgstr ""
-#: elf32-arm.c:11795
+#: elf32-arm.c:11793
#, c-format
msgid ""
-"%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group "
+"%B(%A+%#Lx): Only ADD or SUB instructions are allowed for ALU group "
"relocations"
msgstr ""
-#: elf32-arm.c:11836 elf32-arm.c:11927 elf32-arm.c:12013 elf32-arm.c:12101
+#: elf32-arm.c:11833 elf32-arm.c:11923 elf32-arm.c:12009 elf32-arm.c:12097
#, c-format
-msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
+msgid "%B(%A+%#Lx): Overflow whilst splitting %#Lx for group relocation %s"
msgstr ""
-#: elf32-arm.c:12365 elf32-sh.c:4009 elf64-sh64.c:1539
+#: elf32-arm.c:12363 elf32-sh.c:4009 elf64-sh64.c:1539
#, c-format
-msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
+msgid "%B(%A+%#Lx): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.c:12477 elf32-m68k.c:4120 elf32-xtensa.c:2816
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6165
+#: elf32-arm.c:12475 elf32-m68k.c:4119 elf32-xtensa.c:2816
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6159
#, c-format
-msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
+msgid "%B(%A+%#Lx): %s used with TLS symbol %s"
msgstr ""
-#: elf32-arm.c:12479 elf32-m68k.c:4122 elf32-xtensa.c:2818
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6167
+#: elf32-arm.c:12477 elf32-m68k.c:4121 elf32-xtensa.c:2818
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6161
#, c-format
-msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
+msgid "%B(%A+%#Lx): %s used with non-TLS symbol %s"
msgstr ""
-#: elf32-arm.c:12561 elf32-tic6x.c:2739
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6500
+#: elf32-arm.c:12559 elf32-tic6x.c:2739
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6494
msgid "out of range"
msgstr ""
-#: elf32-arm.c:12565 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6504
+#: elf32-arm.c:12563 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6498
msgid "unsupported relocation"
msgstr ""
-#: elf32-arm.c:12573 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6512
+#: elf32-arm.c:12571 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6506
msgid "unknown error"
msgstr ""
-#: elf32-arm.c:13153
+#: elf32-arm.c:13151
msgid "%B: Unknown mandatory EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:13161
+#: elf32-arm.c:13159
msgid "Warning: %B: Unknown EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:13428
+#: elf32-arm.c:13426
msgid "error: %B: Unknown CPU architecture"
msgstr ""
-#: elf32-arm.c:13466 elf32-nios2.c:2965
+#: elf32-arm.c:13464 elf32-nios2.c:2965
#, c-format
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr ""
-#: elf32-arm.c:13563
+#: elf32-arm.c:13561
msgid ""
"Error: %B has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
-#: elf32-arm.c:13592
+#: elf32-arm.c:13590
msgid "error: %B uses VFP register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:13750
+#: elf32-arm.c:13748
msgid "error: %B: unable to merge virtualization attributes with %B"
msgstr ""
-#: elf32-arm.c:13776
+#: elf32-arm.c:13774
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr ""
-#: elf32-arm.c:13915
+#: elf32-arm.c:13913
msgid "Warning: %B: Conflicting platform configuration"
msgstr ""
-#: elf32-arm.c:13924
+#: elf32-arm.c:13922
msgid "error: %B: Conflicting use of R9"
msgstr ""
-#: elf32-arm.c:13936
+#: elf32-arm.c:13934
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr ""
-#: elf32-arm.c:13949
+#: elf32-arm.c:13947
msgid ""
"warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; "
"use of wchar_t values across objects may fail"
msgstr ""
-#: elf32-arm.c:13980
+#: elf32-arm.c:13978
msgid ""
"warning: %B uses %s enums yet the output is to use %s enums; use of enum "
"values across objects may fail"
msgstr ""
-#: elf32-arm.c:13992
+#: elf32-arm.c:13990
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:14009
+#: elf32-arm.c:14007
msgid "error: fp16 format mismatch between %B and %B"
msgstr ""
-#: elf32-arm.c:14045
-msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
+#: elf32-arm.c:14043
+msgid "%B has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
#. Ignore init flag - it may not be set, despite the flags field
@@ -1727,207 +1752,206 @@ 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:14132 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
+#: elf32-arm.c:14130 elf32-bfin.c:4918 elf32-cris.c:4089 elf32-m68hc1x.c:1413
#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
-#: elf32-xgate.c:669 elfxx-mips.c:15802
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6666
+#: elf32-xgate.c:669 elfxx-mips.c:15801
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6660
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.c:14141
+#: elf32-arm.c:14139
#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.c:14149
+#: elf32-arm.c:14147
#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.c:14151
+#: elf32-arm.c:14149
#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.c:14153
+#: elf32-arm.c:14151
#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.c:14162
+#: elf32-arm.c:14160
#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.c:14165
+#: elf32-arm.c:14163
#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.c:14168
+#: elf32-arm.c:14166
#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.c:14177
+#: elf32-arm.c:14175
#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.c:14180 elf32-arm.c:14191
+#: elf32-arm.c:14178 elf32-arm.c:14189
#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.c:14182 elf32-arm.c:14193
+#: elf32-arm.c:14180 elf32-arm.c:14191
#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.c:14188
+#: elf32-arm.c:14186
#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.c:14196
+#: elf32-arm.c:14194
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.c:14199
+#: elf32-arm.c:14197
#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.c:14206
+#: elf32-arm.c:14204
#, c-format
msgid " [Version3 EABI]"
msgstr ""
-#: elf32-arm.c:14210
+#: elf32-arm.c:14208
#, c-format
msgid " [Version4 EABI]"
msgstr ""
-#: elf32-arm.c:14214
+#: elf32-arm.c:14212
#, c-format
msgid " [Version5 EABI]"
msgstr ""
-#: elf32-arm.c:14217
+#: elf32-arm.c:14215
#, c-format
msgid " [soft-float ABI]"
msgstr ""
-#: elf32-arm.c:14220
+#: elf32-arm.c:14218
#, c-format
msgid " [hard-float ABI]"
msgstr ""
-#: elf32-arm.c:14226
+#: elf32-arm.c:14224
#, c-format
msgid " [BE8]"
msgstr ""
-#: elf32-arm.c:14229
+#: elf32-arm.c:14227
#, c-format
msgid " [LE8]"
msgstr ""
-#: elf32-arm.c:14235
+#: elf32-arm.c:14233
#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.c:14242
+#: elf32-arm.c:14240
#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.c:14247
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6669
+#: elf32-arm.c:14245 /work/sources/binutils/current/bfd/elfnn-aarch64.c:6663
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-arm.c:14557 elf32-i386.c:2053 elf32-s390.c:956 elf32-tic6x.c:2814
+#: elf32-arm.c:14555 elf32-i386.c:2031 elf32-s390.c:956 elf32-tic6x.c:2814
#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
-#: elf64-x86-64.c:2444 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7115
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:526
+#: elf64-x86-64.c:2421 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7109
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:526
#, c-format
msgid "%B: bad symbol index: %d"
msgstr ""
-#: elf32-arm.c:16055
+#: elf32-arm.c:16053
msgid "Errors encountered processing file %B"
msgstr ""
-#: elf32-arm.c:16493 elflink.c:12297 elflink.c:12344
+#: elf32-arm.c:16491 elflink.c:12302 elflink.c:12349
#, c-format
msgid "could not find section %s"
msgstr ""
-#: elf32-arm.c:17669
+#: elf32-arm.c:17667
msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
msgstr ""
#. There's not much we can do apart from complain if this
#. happens.
-#: elf32-arm.c:17696
+#: elf32-arm.c:17694
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
-#: elf32-arm.c:18523 elf32-arm.c:18545
+#: elf32-arm.c:18521 elf32-arm.c:18543
msgid "%B: error: VFP11 veneer out of range"
msgstr ""
-#: elf32-arm.c:18596
+#: elf32-arm.c:18594
msgid ""
-"%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld "
+"%B(%#Lx): error: Cannot create STM32L4XX veneer. Jump out of range by %Ld "
"bytes. Cannot encode branch instruction. "
msgstr ""
-#: elf32-arm.c:18634
+#: elf32-arm.c:18632
msgid "%B: error: Cannot create STM32L4XX veneer."
msgstr ""
-#: elf32-arm.c:19655
+#: elf32-arm.c:19653
msgid "error: %B is already in final BE8 format"
msgstr ""
-#: elf32-arm.c:19731
+#: elf32-arm.c:19729
msgid ""
"error: Source object %B has EABI version %d, but target %B has EABI version "
"%d"
msgstr ""
-#: elf32-arm.c:19746
+#: elf32-arm.c:19744
msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
msgstr ""
-#: elf32-arm.c:19770
+#: elf32-arm.c:19768
msgid "error: %B uses VFP instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:19774
+#: elf32-arm.c:19772
msgid "error: %B uses FPA instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:19784
+#: elf32-arm.c:19782
msgid "error: %B uses Maverick instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:19788
+#: elf32-arm.c:19786
msgid "error: %B does not use Maverick instructions, whereas %B does"
msgstr ""
-#: elf32-arm.c:19807
+#: elf32-arm.c:19805
msgid "error: %B uses software FP, whereas %B uses hardware FP"
msgstr ""
-#: elf32-arm.c:19811
+#: elf32-arm.c:19809
msgid "error: %B uses hardware FP, whereas %B uses software FP"
msgstr ""
@@ -1936,18 +1960,17 @@ msgstr ""
msgid "%B: invalid AVR reloc number: %d"
msgstr ""
-#: elf32-avr.c:1510 elf32-bfin.c:3202 elf32-cris.c:2033 elf32-epiphany.c:574
+#: elf32-avr.c:1510 elf32-bfin.c:3201 elf32-cris.c:2033 elf32-epiphany.c:574
#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
-#: elf32-metag.c:2009 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
-#: elf32-or1k.c:1266 elf32-tilepro.c:3673 elf32-v850.c:2295 elf32-visium.c:685
-#: elf32-xstormy16.c:935 elf64-mmix.c:1548 elfxx-tilegx.c:4060
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2275
+#: elf32-metag.c:2008 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
+#: elf32-or1k.c:1266 elf32-tilepro.c:3665 elf32-v850.c:2295 elf32-visium.c:685
+#: elf32-xstormy16.c:935 elf64-mmix.c:1546 elfxx-tilegx.c:4052
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2275
msgid "internal error: dangerous relocation"
msgstr ""
-#: elf32-avr.c:3319
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2880
+#: elf32-avr.c:3319 /work/sources/binutils/current/bfd/elfnn-aarch64.c:2880
#, c-format
msgid "cannot create stub entry %s"
msgstr ""
@@ -1958,67 +1981,67 @@ msgstr ""
#: elf32-bfin.c:1581
#, c-format
-msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
+msgid "%B(%A+%#Lx): unresolvable relocation against symbol `%s'"
msgstr ""
-#: elf32-bfin.c:1612 elf32-i386.c:5412 elf32-m68k.c:4160 elf32-s390.c:3429
-#: elf64-s390.c:3353 elf64-x86-64.c:5793
+#: elf32-bfin.c:1612 elf32-i386.c:5384 elf32-m68k.c:4159 elf32-s390.c:3429
+#: elf64-s390.c:3353 elf64-x86-64.c:5752
#, c-format
-msgid "%B(%A+0x%lx): reloc against `%s': error %d"
+msgid "%B(%A+%#Lx): reloc against `%s': error %d"
msgstr ""
-#: elf32-bfin.c:2706
+#: elf32-bfin.c:2705
#, c-format
-msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
+msgid "%B: relocation at `%A+%#Lx' references symbol `%s' with nonzero addend"
msgstr ""
-#: elf32-bfin.c:2722
+#: elf32-bfin.c:2721
msgid "relocation references symbol not defined in the module"
msgstr ""
-#: elf32-bfin.c:2819
+#: elf32-bfin.c:2818
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr ""
-#: elf32-bfin.c:2860 elf32-bfin.c:2983
+#: elf32-bfin.c:2859 elf32-bfin.c:2982
msgid "cannot emit fixups in read-only section"
msgstr ""
-#: elf32-bfin.c:2891 elf32-bfin.c:3021 elf32-lm32.c:1064 elf32-sh.c:4930
+#: elf32-bfin.c:2890 elf32-bfin.c:3020 elf32-lm32.c:1064 elf32-sh.c:4930
msgid "cannot emit dynamic relocations in read-only section"
msgstr ""
-#: elf32-bfin.c:2941
+#: elf32-bfin.c:2940
msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr ""
-#: elf32-bfin.c:3106
+#: elf32-bfin.c:3105
msgid "relocations between different segments are not supported"
msgstr ""
-#: elf32-bfin.c:3107
+#: elf32-bfin.c:3106
msgid "warning: relocation references a different segment"
msgstr ""
-#: elf32-bfin.c:4877
+#: elf32-bfin.c:4876
#, c-format
-msgid "%B: unsupported relocation type %i"
+msgid "%B: unsupported relocation type %d"
msgstr ""
-#: elf32-bfin.c:4966 elf32-frv.c:6599
+#: elf32-bfin.c:4965 elf32-frv.c:6599
msgid "%B: cannot link non-fdpic object file into fdpic executable"
msgstr ""
-#: elf32-bfin.c:4970 elf32-frv.c:6603
+#: elf32-bfin.c:4969 elf32-frv.c:6603
msgid "%B: cannot link fdpic object file into non-fdpic executable"
msgstr ""
-#: elf32-bfin.c:5120
+#: elf32-bfin.c:5119
#, c-format
msgid "*** check this relocation %s"
msgstr ""
-#: elf32-bfin.c:5236
+#: elf32-bfin.c:5235
msgid ""
"the bfin target does not currently support the generation of copy relocations"
msgstr ""
@@ -2066,13 +2089,13 @@ msgstr ""
#: elf32-cris.c:1304 elf32-tic6x.c:2635
#, c-format
msgid ""
-"%B, section %A: relocation %s with non-zero addend %d against local symbol"
+"%B, section %A: relocation %s with non-zero addend %Ld against local symbol"
msgstr ""
#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
#, c-format
msgid ""
-"%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
+"%B, section %A: relocation %s with non-zero addend %Ld against symbol `%s'"
msgstr ""
#: elf32-cris.c:1340
@@ -2121,7 +2144,7 @@ msgstr ""
#, c-format
msgid ""
"%B, section %A:\n"
-" v10/v32 compatible object %s must not contain a PIC relocation"
+" v10/v32 compatible object must not contain a PIC relocation"
msgstr ""
#: elf32-cris.c:3287
@@ -2338,8 +2361,7 @@ msgstr ""
#: elf32-frv.c:6577
#, c-format
msgid ""
-"%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x"
-"%lx)"
+"%B: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
msgstr ""
#: elf32-gen.c:69 elf64-gen.c:69
@@ -2347,9 +2369,9 @@ msgstr ""
msgid "%B: Relocations in generic ELF (EM: %d)"
msgstr ""
-#: elf32-hppa.c:839 elf32-hppa.c:3599
+#: elf32-hppa.c:839 elf32-hppa.c:3597
#, c-format
-msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
+msgid "%B(%A+%#Lx): cannot reach %s, recompile with -ffunction-sections"
msgstr ""
#: elf32-hppa.c:1270
@@ -2364,18 +2386,18 @@ msgstr ""
msgid "%B: duplicate export stub %s"
msgstr ""
-#: elf32-hppa.c:3433
+#: elf32-hppa.c:3431
#, c-format
msgid ""
-"%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
+"%B(%A+%#Lx): %s fixup for insn %#x is not supported in a non-shared link"
msgstr ""
-#: elf32-hppa.c:4290
+#: elf32-hppa.c:4288
#, c-format
-msgid "%B(%A+0x%lx): cannot handle %s for %s"
+msgid "%B(%A+%#Lx): cannot handle %s for %s"
msgstr ""
-#: elf32-hppa.c:4588
+#: elf32-hppa.c:4586
msgid ".got section not immediately after .plt section"
msgstr ""
@@ -2401,162 +2423,153 @@ msgstr ""
msgid "%B: invalid relocation type %d"
msgstr ""
-#: elf32-i386.c:1711 elf64-x86-64.c:1888
+#: elf32-i386.c:1689 elf64-x86-64.c:1866
#, c-format
msgid ""
-"%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
+"%B: TLS transition from %s to %s against `%s' at %#Lx in section `%A' failed"
msgstr ""
-#: elf32-i386.c:1799
+#: elf32-i386.c:1777
#, c-format
msgid ""
"%B: direct GOT relocation R_386_GOT32X against `%s' without base register "
"can not be used when making a shared object"
msgstr ""
-#: elf32-i386.c:2237 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
-#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625
-#: elfxx-tilegx.c:1817
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:440
+#: elf32-i386.c:2215 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
+#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625 elfxx-tilegx.c:1817
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:440
#, c-format
msgid "%B: `%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf32-i386.c:2314
+#: elf32-i386.c:2292
#, c-format
msgid "%B: unsupported non-PIC call to IFUNC `%s'"
msgstr ""
-#: elf32-i386.c:3189 elf64-x86-64.c:3589
+#: elf32-i386.c:3167 elf64-x86-64.c:3566
#, c-format
msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
msgstr ""
-#: elf32-i386.c:3402 elf64-x86-64.c:3798
+#: elf32-i386.c:3380 elf64-x86-64.c:3775
#, c-format
msgid "%P: %B: warning: relocation in readonly section `%A'\n"
msgstr ""
-#: elf32-i386.c:3705 elf64-x86-64.c:4114
+#: elf32-i386.c:3683 elf64-x86-64.c:4091
msgid ""
"%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
msgstr ""
-#: elf32-i386.c:3945 elf32-tilepro.c:2868 elf64-x86-64.c:4321
-#: elfxx-tilegx.c:3167
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6082
-#, c-format
-msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr ""
-
-#: elf32-i386.c:4240 elf64-x86-64.c:4550
+#: elf32-i386.c:4212 elf64-x86-64.c:4520
#, c-format
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
msgstr ""
-#: elf32-i386.c:4275 elf32-i386.c:5642 elf32-i386.c:5781 elf64-x86-64.c:4609
-#: elf64-x86-64.c:5982 elf64-x86-64.c:6136
+#: elf32-i386.c:4247 elf32-i386.c:5614 elf32-i386.c:5753 elf64-x86-64.c:4579
+#: elf64-x86-64.c:5941 elf64-x86-64.c:6095
msgid "Local IFUNC function `%s' in %B\n"
msgstr ""
-#: elf32-i386.c:4508
+#: elf32-i386.c:4480
#, c-format
msgid ""
"%B: direct GOT relocation %s against `%s' without base register can not be "
"used when making a shared object"
msgstr ""
-#: elf32-i386.c:4543 elf64-x86-64.c:4816
+#: elf32-i386.c:4515 elf64-x86-64.c:4786
msgid "hidden symbol"
msgstr ""
-#: elf32-i386.c:4546 elf64-x86-64.c:4819
+#: elf32-i386.c:4518 elf64-x86-64.c:4789
msgid "internal symbol"
msgstr ""
-#: elf32-i386.c:4549 elf64-x86-64.c:4822
+#: elf32-i386.c:4521 elf64-x86-64.c:4792
msgid "protected symbol"
msgstr ""
-#: elf32-i386.c:4552 elf64-x86-64.c:4825
+#: elf32-i386.c:4524 elf64-x86-64.c:4795
msgid "symbol"
msgstr ""
-#: elf32-i386.c:4558
+#: elf32-i386.c:4530
#, c-format
msgid ""
"%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
"making a shared object"
msgstr ""
-#: elf32-i386.c:4571
+#: elf32-i386.c:4543
#, c-format
msgid ""
"%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when "
"making a shared object"
msgstr ""
-#: elf32-i386.c:6116 elf32-tilepro.c:3920 elf64-x86-64.c:6483
-#: elfxx-tilegx.c:4327
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:9261
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2522
+#: elf32-i386.c:6088 elf32-tilepro.c:3912 elf64-x86-64.c:6442
+#: elfxx-tilegx.c:4319 /work/sources/binutils/current/bfd/elfnn-aarch64.c:9279
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2522
#, c-format
msgid "discarded output section: `%A'"
msgstr ""
-#: elf32-i386.c:6693 elf64-x86-64.c:7228
+#: elf32-i386.c:6656 elf64-x86-64.c:7178
msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
msgstr ""
-#: elf32-i386.c:6695 elf64-x86-64.c:7230
+#: elf32-i386.c:6658 elf64-x86-64.c:7180
msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
msgstr ""
-#: elf32-i386.c:6696 elf64-x86-64.c:7231
+#: elf32-i386.c:6659 elf64-x86-64.c:7181
msgid "error: %B: <corrupt x86 feature size: 0x%x>"
msgstr ""
-#: elf32-i386.c:6873 elf64-x86-64.c:7408
+#: elf32-i386.c:6836 elf64-x86-64.c:7358
#, c-format
msgid "%F: failed to create GNU property section\n"
msgstr ""
-#: elf32-i386.c:6959
+#: elf32-i386.c:6931
#, c-format
msgid "%F: failed to create VxWorks dynamic sections\n"
msgstr ""
-#: elf32-i386.c:7026 elf64-x86-64.c:7568
+#: elf32-i386.c:6998 elf64-x86-64.c:7519
#, c-format
msgid "%F: failed to create GOT sections\n"
msgstr ""
-#: elf32-i386.c:7031 elf64-x86-64.c:7584
+#: elf32-i386.c:7003 elf64-x86-64.c:7535
#, c-format
msgid "%F: failed to create ifunc sections\n"
msgstr ""
-#: elf32-i386.c:7074 elf64-x86-64.c:7627
+#: elf32-i386.c:7046 elf64-x86-64.c:7578
#, c-format
msgid "%F: failed to create GOT PLT section\n"
msgstr ""
-#: elf32-i386.c:7095 elf64-x86-64.c:7648
+#: elf32-i386.c:7067 elf64-x86-64.c:7599
#, c-format
msgid "%F: failed to create IBT-enabled PLT section\n"
msgstr ""
-#: elf32-i386.c:7116 elf64-x86-64.c:7684
+#: elf32-i386.c:7088 elf64-x86-64.c:7635
#, c-format
msgid "%F: failed to create PLT .eh_frame section\n"
msgstr ""
-#: elf32-i386.c:7129 elf64-x86-64.c:7698
+#: elf32-i386.c:7101 elf64-x86-64.c:7649
#, c-format
msgid "%F: failed to create GOT PLT .eh_frame section\n"
msgstr ""
-#: elf32-i386.c:7149 elf64-x86-64.c:7414
+#: elf32-i386.c:7121 elf64-x86-64.c:7364
#, c-format
msgid "%F%A: failed to align section\n"
msgstr ""
@@ -2582,12 +2595,12 @@ msgstr ""
#: elf32-ip2k.c:1298
#, c-format
-msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
+msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
msgstr ""
#: elf32-ip2k.c:1315
#, c-format
-msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
+msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
msgstr ""
#: elf32-iq2000.c:441
@@ -2626,31 +2639,31 @@ msgstr ""
msgid "SDA relocation when _SDA_BASE_ not defined"
msgstr ""
-#: elf32-m32r.c:2984 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#: elf32-m32r.c:2985 elf32-microblaze.c:1080 elf32-microblaze.c:1128
#, c-format
msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
msgstr ""
-#: elf32-m32r.c:3486
+#: elf32-m32r.c:3487
msgid "%B: Instruction set mismatch with previous modules"
msgstr ""
-#: elf32-m32r.c:3507 elf32-nds32.c:6111
+#: elf32-m32r.c:3508 elf32-nds32.c:6111
#, c-format
msgid "private flags = %lx"
msgstr ""
-#: elf32-m32r.c:3512
+#: elf32-m32r.c:3513
#, c-format
msgid ": m32r instructions"
msgstr ""
-#: elf32-m32r.c:3513
+#: elf32-m32r.c:3514
#, c-format
msgid ": m32rx instructions"
msgstr ""
-#: elf32-m32r.c:3514
+#: elf32-m32r.c:3515
#, c-format
msgid ": m32r2 instructions"
msgstr ""
@@ -2766,7 +2779,7 @@ msgstr ""
msgid " [XGATE RAM offsetting]"
msgstr ""
-#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7400 vms-alpha.c:7416
+#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7477 vms-alpha.c:7493
msgid "unknown"
msgstr ""
@@ -2780,11 +2793,6 @@ msgstr ""
msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
msgstr ""
-#: elf32-m68k.c:3890
-#, c-format
-msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
-msgstr ""
-
#: elf32-mcore.c:100 elf32-mcore.c:455
#, c-format
msgid "%B: Relocation %s (%d) is not currently supported.\n"
@@ -2845,20 +2853,13 @@ msgid ""
"%B(%A): shared library symbol %s encountered whilst performing a static link"
msgstr ""
-#: elf32-metag.c:1931
-#, c-format
-msgid ""
-"%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared "
-"object"
-msgstr ""
-
#: elf32-microblaze.c:656
#, c-format
msgid "%B: unrecognised MicroBlaze reloc number: %d"
msgstr ""
-#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3317
-#: elfxx-sparc.c:3705 elfxx-tilegx.c:3726
+#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3309
+#: elfxx-sparc.c:3705 elfxx-tilegx.c:3718
msgid "%B: probably compiled without -fPIC?"
msgstr ""
@@ -2899,37 +2900,37 @@ msgstr ""
msgid "internal error: branch/jump to an odd address detected"
msgstr ""
-#: elf32-msp430.c:2354
+#: elf32-msp430.c:2356
#, c-format
msgid "Warning: %B: Unknown MSPABI object attribute %d"
msgstr ""
-#: elf32-msp430.c:2447
+#: elf32-msp430.c:2449
#, c-format
msgid "error: %B uses %s instructions but %B uses %s"
msgstr ""
-#: elf32-msp430.c:2459
+#: elf32-msp430.c:2461
#, c-format
msgid "error: %B uses the %s code model whereas %B uses the %s code model"
msgstr ""
-#: elf32-msp430.c:2471
+#: elf32-msp430.c:2473
#, c-format
msgid "error: %B uses the large code model but %B uses MSP430 instructions"
msgstr ""
-#: elf32-msp430.c:2482
+#: elf32-msp430.c:2484
#, c-format
msgid "error: %B uses the %s data model whereas %B uses the %s data model"
msgstr ""
-#: elf32-msp430.c:2494
+#: elf32-msp430.c:2496
#, c-format
msgid "error: %B uses the small code model but %B uses the %s data model"
msgstr ""
-#: elf32-msp430.c:2506
+#: elf32-msp430.c:2508
#, c-format
msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
msgstr ""
@@ -3024,7 +3025,7 @@ msgstr ""
#: elf32-nds32.c:8989
#, c-format
-msgid "%B: warning: %s points to unrecognized reloc at 0x%lx."
+msgid "%B: warning: %s points to unrecognized reloc at %#Lx"
msgstr ""
#: elf32-nds32.c:11850 elf32-nds32.c:11867
@@ -3041,7 +3042,7 @@ msgstr ""
msgid "%B: Unmatched OMIT_FP in %A."
msgstr ""
-#: elf32-nds32.c:13026 reloc.c:8231
+#: elf32-nds32.c:13026 reloc.c:8234
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
msgstr ""
@@ -3057,12 +3058,13 @@ msgstr ""
#: elf32-nds32.c:15436
#, c-format
msgid ""
-"%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x"
-"%x, align = 0x%x."
+"%B: warning: unaligned small data access for entry: {%Ld, %Ld, %Ld}, addr = "
+"%#Lx, align = %#x"
msgstr ""
#: elf32-nds32.c:15469
-msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
+#, c-format
+msgid "failed creating ex9.it %s hash table entry"
msgstr ""
#: elf32-nios2.c:2949
@@ -3082,12 +3084,6 @@ msgid ""
"the offset (%d) is out of the allowed range, -32678 to 32767.\n"
msgstr ""
-#: elf32-nios2.c:4372
-#, c-format
-msgid ""
-"%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
-msgstr ""
-
#: elf32-nios2.c:4500 elf32-pru.c:816
msgid "relocation out of range"
msgstr ""
@@ -3174,7 +3170,7 @@ msgstr ""
msgid "%B: relocation %s cannot be used when making a shared object"
msgstr ""
-#: elf32-ppc.c:4329 elf64-ppc.c:5591
+#: elf32-ppc.c:4329 elf64-ppc.c:5600
#, c-format
msgid "%H: %s reloc against local symbol\n"
msgstr ""
@@ -3221,11 +3217,6 @@ msgid ""
"%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr ""
-#: elf32-ppc.c:4909
-#, c-format
-msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
-msgstr ""
-
#: elf32-ppc.c:4950
#, c-format
msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
@@ -3248,7 +3239,7 @@ msgstr ""
#. could just mark this symbol to exclude it
#. from tls optimization but it's safer to skip
#. the entire optimization.
-#: elf32-ppc.c:5544 elf64-ppc.c:8798
+#: elf32-ppc.c:5544 elf64-ppc.c:8826
#, c-format
msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
msgstr ""
@@ -3259,7 +3250,7 @@ msgstr ""
#: elf32-ppc.c:8289 elf32-ppc.c:8324
#, c-format
-msgid "%H: error: %s with unexpected instruction %x\n"
+msgid "%B(%A+%#Lx): error: %s with unexpected instruction %#x"
msgstr ""
#: elf32-ppc.c:8380
@@ -3272,7 +3263,7 @@ msgstr ""
msgid "%P: %B: unknown relocation type %d for symbol %s\n"
msgstr ""
-#: elf32-ppc.c:8723
+#: elf32-ppc.c:8718
#, c-format
msgid "%H: non-zero addend on %s reloc against `%s'\n"
msgstr ""
@@ -3285,62 +3276,62 @@ msgstr ""
#. local won't have the +32k reloc addend trick marking
#. -fPIC code, so the linker won't know whether r30 is
#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:8755
+#: elf32-ppc.c:8750
#, c-format
msgid "%X%H: @local call to ifunc %s\n"
msgstr ""
-#: elf32-ppc.c:8935
+#: elf32-ppc.c:8930
#, c-format
msgid "%H: relocation %s for indirect function %s unsupported\n"
msgstr ""
-#: elf32-ppc.c:9232 elf32-ppc.c:9263 elf32-ppc.c:9354
+#: elf32-ppc.c:9199 elf32-ppc.c:9230 elf32-ppc.c:9321
#, c-format
msgid ""
"%P: %B: the target (%s) of a %s relocation is in the wrong output section "
"(%s)\n"
msgstr ""
-#: elf32-ppc.c:9442
+#: elf32-ppc.c:9409
#, c-format
msgid ""
"%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
msgstr ""
-#: elf32-ppc.c:9546
+#: elf32-ppc.c:9513
#, c-format
msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
msgstr ""
-#: elf32-ppc.c:9631
+#: elf32-ppc.c:9598
#, c-format
msgid "%H: error: %s against `%s' not a multiple of %u\n"
msgstr ""
-#: elf32-ppc.c:9660
+#: elf32-ppc.c:9627
#, c-format
msgid "%H: unresolvable %s relocation against symbol `%s'\n"
msgstr ""
-#: elf32-ppc.c:9741
+#: elf32-ppc.c:9708
#, c-format
msgid "%H: %s reloc against `%s': error %d\n"
msgstr ""
-#: elf32-ppc.c:10505 elf64-ppc.c:15719
+#: elf32-ppc.c:10472 elf64-ppc.c:15763
msgid ""
"%X%P: text relocations and GNU indirect functions will result in a segfault "
"at runtime\n"
msgstr ""
-#: elf32-ppc.c:10509 elf64-ppc.c:15723
+#: elf32-ppc.c:10476 elf64-ppc.c:15767
msgid ""
"%P: warning: text relocations and GNU indirect functions may result in a "
"segfault at runtime\n"
msgstr ""
-#: elf32-ppc.c:10554
+#: elf32-ppc.c:10521
#, c-format
msgid "%P: %s not defined in linker created %s\n"
msgstr ""
@@ -3417,7 +3408,7 @@ msgstr ""
#. crt0.o before the PID base address register has been initialised.
#: elf32-rx.c:686
#, c-format
-msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
+msgid "%B(%A): unsafe PID relocation %s at %#Lx (against %s in %s)"
msgstr ""
#: elf32-rx.c:1266
@@ -3450,7 +3441,7 @@ msgstr ""
#: elf32-s390.c:2310 elf64-s390.c:2257
#, c-format
-msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
+msgid "%B(%A+%#Lx): invalid instruction for TLS relocation %s"
msgstr ""
#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
@@ -3468,7 +3459,7 @@ msgstr ""
#: elf32-score.c:2883 elf32-score7.c:2688
#, c-format
-msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
+msgid "%B: CALL15 reloc at %#Lx not against global symbol"
msgstr ""
#: elf32-score.c:4005 elf32-score7.c:3810
@@ -3505,38 +3496,43 @@ msgstr ""
msgid "%B: unrecognised SH reloc number: %d"
msgstr ""
+#: elf32-sh.c:592
+#, c-format
+msgid "%B: %#Lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr ""
+
#: elf32-sh.c:3953 elf64-sh64.c:1508
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr ""
#: elf32-sh.c:4206
#, c-format
-msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
+msgid "%B: %#Lx: fatal: unaligned branch target for relax-support relocation"
msgstr ""
#: elf32-sh.c:4240 elf32-sh.c:4256
#, c-format
-msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
+msgid "%B: %#Lx: fatal: unaligned %s relocation %#Lx"
msgstr ""
#: elf32-sh.c:4271
#, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
+msgid "%B: %#Lx: fatal: R_SH_PSHA relocation %Ld not in range -32..32"
msgstr ""
#: elf32-sh.c:4286
#, c-format
-msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
+msgid "%B: %#Lx: fatal: R_SH_PSHL relocation %Ld not in range -32..32"
msgstr ""
#: elf32-sh.c:4431 elf32-sh.c:4903
#, c-format
-msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
+msgid "%B(%A+%#Lx): cannot emit fixup to `%s' in read-only section"
msgstr ""
#: elf32-sh.c:5005
#, c-format
-msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
+msgid "%B(%A+%#Lx): %s relocation against external symbol \"%s\""
msgstr ""
#: elf32-sh.c:5469
@@ -3563,7 +3559,7 @@ msgstr ""
msgid "%B: Function descriptor relocation with non-zero addend"
msgstr ""
-#: elf32-sh.c:6320 elf64-alpha.c:4757
+#: elf32-sh.c:6320 elf64-alpha.c:4755
#, c-format
msgid "%B: TLS local exec code cannot be linked into shared objects"
msgstr ""
@@ -3623,7 +3619,7 @@ msgstr ""
#: elf32-sh64.c:600
#, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
+msgid "%B: error: unaligned relocation type %d at %#Lx reloc %#Lx"
msgstr ""
#: elf32-sh64.c:676
@@ -3784,7 +3780,7 @@ msgstr ""
#: elf32-spu.c:5043
#, c-format
-msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
+msgid "%B(%s+%#Lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
#: elf32-tic6x.c:1596
@@ -3889,7 +3885,7 @@ msgstr ""
#: elf32-v850.c:2528
#, c-format
-msgid "error: %B needs 8-byte aligment but %B is set for 4-byte alignment"
+msgid "error: %B needs 8-byte alignment but %B is set for 4-byte alignment"
msgstr ""
#: elf32-v850.c:2544
@@ -4040,37 +4036,37 @@ msgstr ""
#: elf32-v850.c:3605
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insns"
msgstr ""
#: elf32-v850.c:3615
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized insn %#x"
msgstr ""
#: elf32-v850.c:3660
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc"
msgstr ""
#: elf32-v850.c:3700
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx"
+msgid "%B: %#Lx: warning: R_V850_LONGCALL points to unrecognized reloc %#Lx"
msgstr ""
#: elf32-v850.c:3843
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insns"
msgstr ""
#: elf32-v850.c:3853
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized insn %#x"
msgstr ""
#: elf32-v850.c:3887
#, c-format
-msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgid "%B: %#Lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
msgstr ""
#: elf32-vax.c:290
@@ -4096,13 +4092,13 @@ msgstr ""
#: elf32-vax.c:635
#, c-format
msgid ""
-"%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of "
-"%ld"
+"%B: warning: GOT addend of %Ld to `%s' does not match previous GOT addend of "
+"%Ld"
msgstr ""
#: elf32-vax.c:1511
#, c-format
-msgid "%B: warning: PLT addend of %d to `%s' from %A section ignored"
+msgid "%B: warning: PLT addend of %Ld to `%s' from %A section ignored"
msgstr ""
#: elf32-vax.c:1636
@@ -4112,7 +4108,7 @@ msgstr ""
#: elf32-vax.c:1643
#, c-format
-msgid "%B: warning: %s relocation to 0x%x from %A section"
+msgid "%B: warning: %s relocation to %#Lx from %A section"
msgstr ""
#: elf32-visium.c:481
@@ -4157,7 +4153,7 @@ msgstr ""
#: elf32-xtensa.c:2790
#, c-format
-msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
+msgid "%B(%A+%#Lx): relocation offset out of range (size=%#Lx)"
msgstr ""
#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
@@ -4181,30 +4177,30 @@ msgstr ""
msgid "Attempt to convert L32R/CALLX to CALL failed"
msgstr ""
-#: elf32-xtensa.c:6552 elf32-xtensa.c:6629 elf32-xtensa.c:8002
+#: elf32-xtensa.c:6552 elf32-xtensa.c:6630 elf32-xtensa.c:8006
#, c-format
msgid ""
-"%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
+"%B(%A+%#Lx): could not decode instruction; possible configuration mismatch"
msgstr ""
-#: elf32-xtensa.c:7743
+#: elf32-xtensa.c:7745
#, c-format
msgid ""
-"%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY "
+"%B(%A+%#Lx): could not decode instruction for XTENSA_ASM_SIMPLIFY "
"relocation; possible configuration mismatch"
msgstr ""
-#: elf32-xtensa.c:9585
+#: elf32-xtensa.c:9590
msgid "invalid relocation address"
msgstr ""
-#: elf32-xtensa.c:9635
+#: elf32-xtensa.c:9640
msgid "overflow after relaxation"
msgstr ""
-#: elf32-xtensa.c:10779
+#: elf32-xtensa.c:10784
#, c-format
-msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
+msgid "%B(%A+%#Lx): unexpected fix for %s relocation"
msgstr ""
#: elf64-alpha.c:472
@@ -4223,72 +4219,72 @@ msgstr ""
#: elf64-alpha.c:3084
#, c-format
-msgid "%B: %A+0x%lx: warning: %s relocation against unexpected insn"
+msgid "%B: %A+%#Lx: warning: %s relocation against unexpected insn"
msgstr ""
-#: elf64-alpha.c:3280
+#: elf64-alpha.c:3279
#, c-format
-msgid "%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"
+msgid "%B: %A+%#Lx: warning: LITERAL relocation against unexpected insn"
msgstr ""
-#: elf64-alpha.c:4481 elf64-alpha.c:4494
+#: elf64-alpha.c:4479 elf64-alpha.c:4492
#, c-format
msgid "%B: gp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4521 elf64-alpha.c:4665
+#: elf64-alpha.c:4519 elf64-alpha.c:4663
#, c-format
msgid "%B: pc-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4550
+#: elf64-alpha.c:4548
#, c-format
msgid "%B: change in gp: BRSGP %s"
msgstr ""
-#: elf64-alpha.c:4575
+#: elf64-alpha.c:4573
msgid "<unknown>"
msgstr ""
-#: elf64-alpha.c:4581
+#: elf64-alpha.c:4579
#, c-format
msgid "%B: !samegp reloc against symbol without .prologue: %s"
msgstr ""
-#: elf64-alpha.c:4639
+#: elf64-alpha.c:4637
#, c-format
msgid "%B: unhandled dynamic relocation against %s"
msgstr ""
-#: elf64-alpha.c:4674
+#: elf64-alpha.c:4672
#, c-format
msgid "%B: pc-relative relocation against undefined weak symbol %s"
msgstr ""
-#: elf64-alpha.c:4740
+#: elf64-alpha.c:4738
#, c-format
msgid "%B: dtp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4765
+#: elf64-alpha.c:4763
#, c-format
msgid "%B: tp-relative relocation against dynamic symbol %s"
msgstr ""
#: elf64-hppa.c:2082
#, c-format
-msgid "stub entry for %s cannot load .plt, dp offset = %ld"
+msgid "stub entry for %s cannot load .plt, dp offset = %Ld"
msgstr ""
#: elf64-hppa.c:3287
#, c-format
-msgid "%B(%A+0x%"
+msgid "%B(%A+%#Lx): cannot reach %s"
msgstr ""
#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
#, c-format
msgid ""
-"%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect "
+"%B: Can't relax br at %#Lx in section `%A'. Please use brl or indirect "
"branch."
msgstr ""
@@ -4298,7 +4294,7 @@ msgstr ""
#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
#, c-format
-msgid "%B: short data segment overflowed (0x%lx >= 0x400000)"
+msgid "%B: short data segment overflowed (%#Lx >= 0x400000)"
msgstr ""
#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
@@ -4341,14 +4337,14 @@ msgstr ""
#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
#, c-format
msgid ""
-"%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `"
+"%B: missing TLS section for relocation %s against `%s' at %#Lx in section `"
"%A'."
msgstr ""
#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
#, c-format
msgid ""
-"%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> "
+"%B: Can't relax br (%s) to `%s' at %#Lx in section `%A' with size %#Lx (> "
"0x1000000)."
msgstr ""
@@ -4372,21 +4368,21 @@ msgstr ""
msgid "%B: linking auto-pic files with non-auto-pic files"
msgstr ""
-#: elf64-ia64-vms.c:5138 elflink.c:4730
+#: elf64-ia64-vms.c:5138 elflink.c:4736
#, c-format
msgid ""
"Warning: alignment %u of common symbol `%s' in %B is greater than the "
"alignment (%u) of its section %A"
msgstr ""
-#: elf64-ia64-vms.c:5145 elflink.c:4737
+#: elf64-ia64-vms.c:5145 elflink.c:4743
#, c-format
msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
msgstr ""
-#: elf64-ia64-vms.c:5161
+#: elf64-ia64-vms.c:5161 elflink.c:4760
#, c-format
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
msgstr ""
#: elf64-mips.c:3615 elfn32-mips.c:3439
@@ -4412,178 +4408,183 @@ msgstr ""
#, c-format
msgid ""
"%B: Internal inconsistency error for value for\n"
-" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx"
-"%08lx\n"
+" linker-allocated global register: linked: %#Lx != relaxed: %#Lx"
msgstr ""
-#: elf64-mmix.c:1266
+#: elf64-mmix.c:1264
#, c-format
msgid "%B: invalid MMIX reloc number: %d"
msgstr ""
-#: elf64-mmix.c:1618
+#: elf64-mmix.c:1616
#, c-format
msgid ""
"%B: base-plus-offset relocation against register symbol: (unknown) in %A"
msgstr ""
-#: elf64-mmix.c:1624
+#: elf64-mmix.c:1622
#, c-format
msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
msgstr ""
-#: elf64-mmix.c:1669
+#: elf64-mmix.c:1667
#, c-format
msgid "%B: register relocation against non-register symbol: (unknown) in %A"
msgstr ""
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1673
#, c-format
msgid "%B: register relocation against non-register symbol: %s in %A"
msgstr ""
-#: elf64-mmix.c:1712
+#: elf64-mmix.c:1710
msgid "%B: directive LOCAL valid only with a register or absolute value"
msgstr ""
-#: elf64-mmix.c:1743
+#: elf64-mmix.c:1741
#, c-format
msgid ""
-"%B: LOCAL directive: Register $%ld is not a local register. First global "
-"register is $%ld."
+"%B: LOCAL directive: Register $%Ld is not a local register. First global "
+"register is $%Ld."
msgstr ""
-#: elf64-mmix.c:2202
+#: elf64-mmix.c:2200
#, c-format
msgid ""
"%B: Error: multiple definition of `%s'; start of %s is set in a earlier "
"linked file\n"
msgstr ""
-#: elf64-mmix.c:2257
+#: elf64-mmix.c:2255
msgid "Register section has contents\n"
msgstr ""
-#: elf64-mmix.c:2447
+#: elf64-mmix.c:2445
#, c-format
msgid ""
-"Internal inconsistency: remaining %u != max %u.\n"
+"Internal inconsistency: remaining %lu != max %lu.\n"
" Please report this bug."
msgstr ""
-#: elf64-ppc.c:4625
+#: elf64-ppc.c:4632
#, c-format
msgid "%P: %B: cannot create stub entry %s\n"
msgstr ""
-#: elf64-ppc.c:4993
+#: elf64-ppc.c:5000
msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
msgstr ""
-#: elf64-ppc.c:5163
+#: elf64-ppc.c:5172
#, c-format
msgid "%P: %B .opd not allowed in ABI version %d\n"
msgstr ""
-#: elf64-ppc.c:5639
+#: elf64-ppc.c:5648
#, c-format
msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
msgstr ""
-#: elf64-ppc.c:6046
+#: elf64-ppc.c:6055
#, c-format
msgid "%B uses unknown e_flags 0x%lx"
msgstr ""
-#: elf64-ppc.c:6054
+#: elf64-ppc.c:6063
#, c-format
msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
msgstr ""
-#: elf64-ppc.c:6082
+#: elf64-ppc.c:6091
#, c-format
msgid " [abiv%ld]"
msgstr ""
-#: elf64-ppc.c:7413
+#: elf64-ppc.c:7423
msgid ""
"%P: copy reloc against `%T' requires lazy plt linking; avoid setting "
"LD_BIND_NOW=1 or upgrade gcc\n"
msgstr ""
-#: elf64-ppc.c:7680
+#: elf64-ppc.c:7690
msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
msgstr ""
-#: elf64-ppc.c:7910
+#: elf64-ppc.c:7920
#, c-format
msgid "%P: dynreloc miscount for %B, section %A\n"
msgstr ""
-#: elf64-ppc.c:7999
+#: elf64-ppc.c:8009
msgid "%B: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:8009
+#: elf64-ppc.c:8019
#, c-format
msgid "%B: unexpected reloc type %u in .opd section"
msgstr ""
-#: elf64-ppc.c:8031
+#: elf64-ppc.c:8041
#, c-format
msgid "%B: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:8600
+#: elf64-ppc.c:8379
+msgid ""
+"%P: warning: --plt-localentry is especially dangerous without ld.so support "
+"to detect ABI violations.\n"
+msgstr ""
+
+#: elf64-ppc.c:8628
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr ""
-#: elf64-ppc.c:8943 elf64-ppc.c:9580
+#: elf64-ppc.c:8971 elf64-ppc.c:9608
#, c-format
msgid "%s defined on removed toc entry"
msgstr ""
-#: elf64-ppc.c:9308
+#: elf64-ppc.c:9336
#, c-format
msgid "%H: toc optimization is not supported for %s instruction.\n"
msgstr ""
-#: elf64-ppc.c:9537
+#: elf64-ppc.c:9565
#, c-format
msgid "%H: %s references optimized away TOC entry\n"
msgstr ""
-#: elf64-ppc.c:10878
+#: elf64-ppc.c:10906
msgid "%P: cannot find opd entry toc for `%T'\n"
msgstr ""
-#: elf64-ppc.c:10969
+#: elf64-ppc.c:10997
msgid "%P: long branch stub `%s' offset overflow\n"
msgstr ""
-#: elf64-ppc.c:11028
+#: elf64-ppc.c:11056
msgid "%P: can't find branch stub `%s'\n"
msgstr ""
-#: elf64-ppc.c:11092 elf64-ppc.c:11244 elf64-ppc.c:13052
+#: elf64-ppc.c:11120 elf64-ppc.c:11272 elf64-ppc.c:13134
#, c-format
msgid "%P: linkage table error against `%T'\n"
msgstr ""
-#: elf64-ppc.c:11454
+#: elf64-ppc.c:11491
msgid "%P: can't build branch stub `%s'\n"
msgstr ""
-#: elf64-ppc.c:12227
+#: elf64-ppc.c:12264
#, c-format
msgid "%B section %A exceeds stub group size"
msgstr ""
-#: elf64-ppc.c:13331
+#: elf64-ppc.c:13407
msgid "%P: stubs don't match calculated size\n"
msgstr ""
-#: elf64-ppc.c:13343
+#: elf64-ppc.c:13419
#, c-format
msgid ""
"linker stubs in %u group%s\n"
@@ -4596,59 +4597,59 @@ msgid ""
" global entry %lu"
msgstr ""
-#: elf64-ppc.c:13665
+#: elf64-ppc.c:13741
#, c-format
msgid "%H: %s used with TLS symbol `%T'\n"
msgstr ""
-#: elf64-ppc.c:13667
+#: elf64-ppc.c:13743
#, c-format
msgid "%H: %s used with non-TLS symbol `%T'\n"
msgstr ""
-#: elf64-ppc.c:14306
+#: elf64-ppc.c:14382
#, c-format
msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
msgstr ""
-#: elf64-ppc.c:14312
+#: elf64-ppc.c:14388
#, c-format
msgid ""
"%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust "
"stub)\n"
msgstr ""
-#: elf64-ppc.c:14440
+#: elf64-ppc.c:14516
#, c-format
msgid "%P: %B: unknown relocation type %d for `%T'\n"
msgstr ""
-#: elf64-ppc.c:14994
+#: elf64-ppc.c:15064
#, c-format
msgid "%H: %s for indirect function `%T' unsupported\n"
msgstr ""
-#: elf64-ppc.c:15132
+#: elf64-ppc.c:15176
#, c-format
msgid "%P: %B: %s is not supported for `%T'\n"
msgstr ""
-#: elf64-ppc.c:15287
+#: elf64-ppc.c:15331
#, c-format
msgid "%H: error: %s not a multiple of %u\n"
msgstr ""
-#: elf64-ppc.c:15309
+#: elf64-ppc.c:15353
#, c-format
msgid "%H: unresolvable %s against `%T'\n"
msgstr ""
-#: elf64-ppc.c:15406
+#: elf64-ppc.c:15450
#, c-format
msgid "%H: %s against `%T': error %d\n"
msgstr ""
-#: elf64-ppc.c:15801 elf64-ppc.c:15830
+#: elf64-ppc.c:15840 elf64-ppc.c:15859
msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
msgstr ""
@@ -4660,7 +4661,7 @@ msgstr ""
#: elf64-sh64.c:1680
#, c-format
-msgid "%B: error: unaligned relocation type %d at %08x reloc %08x\n"
+msgid "%B: error: unaligned relocation type %d at %08Lx reloc %08Lx"
msgstr ""
#: elf64-sparc.c:460
@@ -4686,103 +4687,95 @@ msgstr ""
msgid "%B: linking UltraSPARC specific with HAL specific code"
msgstr ""
-#: elf64-x86-64.c:1923
+#: elf64-x86-64.c:1900
msgid "hidden symbol "
msgstr ""
-#: elf64-x86-64.c:1926
+#: elf64-x86-64.c:1903
msgid "internal symbol "
msgstr ""
-#: elf64-x86-64.c:1929
+#: elf64-x86-64.c:1906
msgid "protected symbol "
msgstr ""
-#: elf64-x86-64.c:1932
+#: elf64-x86-64.c:1909
msgid "symbol "
msgstr ""
-#: elf64-x86-64.c:1933 elf64-x86-64.c:1943
+#: elf64-x86-64.c:1910 elf64-x86-64.c:1920
msgid "; recompile with -fPIC"
msgstr ""
-#: elf64-x86-64.c:1938
+#: elf64-x86-64.c:1915
msgid "undefined "
msgstr ""
-#: elf64-x86-64.c:1947
+#: elf64-x86-64.c:1924
#, c-format
msgid ""
"%B: relocation %s against %s%s`%s' can not be used when making a shared "
"object%s"
msgstr ""
-#: elf64-x86-64.c:2510
+#: elf64-x86-64.c:2487
#, c-format
msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
msgstr ""
-#: elf64-x86-64.c:2633
+#: elf64-x86-64.c:2610
#, c-format
msgid "%B: '%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf64-x86-64.c:4576
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5018
+#: elf64-x86-64.c:4546 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5018
#, c-format
msgid ""
-"%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
+"%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %Ld"
msgstr ""
-#: elf64-x86-64.c:4831
+#: elf64-x86-64.c:4801
#, c-format
msgid ""
"%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used "
"when making a shared object"
msgstr ""
-#: elf64-x86-64.c:4845
+#: elf64-x86-64.c:4815
#, c-format
msgid ""
"%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used "
"when making a shared object"
msgstr ""
-#: elf64-x86-64.c:5122
+#: elf64-x86-64.c:5089
#, c-format
msgid ""
-"%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `"
+"%B: addend %s%#x in relocation %s against symbol `%s' at %#Lx in section `"
"%A' is out of range"
msgstr ""
-#: elf64-x86-64.c:5130
-#, c-format
-msgid ""
-"%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `"
-"%A' is out of range"
-msgstr ""
-
-#: elf64-x86-64.c:5952
+#: elf64-x86-64.c:5911
#, c-format
msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
msgstr ""
-#: elf64-x86-64.c:6019
+#: elf64-x86-64.c:5978
#, c-format
msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
msgstr ""
-#: elf64-x86-64.c:6072
+#: elf64-x86-64.c:6031
#, c-format
msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
msgstr ""
-#: elf64-x86-64.c:7663
+#: elf64-x86-64.c:7614
#, c-format
msgid "%F: failed to create BND PLT section\n"
msgstr ""
-#: elf64-x86-64.c:7713
+#: elf64-x86-64.c:7664
#, c-format
msgid "%F: failed to create BND PLT .eh_frame section\n"
msgstr ""
@@ -4793,7 +4786,7 @@ msgstr ""
#: elfcode.h:1193
#, c-format
-msgid "%B: version count (%ld) does not match symbol count (%ld)"
+msgid "%B: version count (%Ld) does not match symbol count (%ld)"
msgstr ""
#: elfcode.h:1448
@@ -4803,7 +4796,7 @@ msgstr ""
#: elfcore.h:300
#, c-format
-msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
+msgid "warning: %B is truncated: expected core file size >= %Lu, found: %llu"
msgstr ""
#: elflink.c:1336
@@ -4841,13 +4834,13 @@ msgstr ""
#: elflink.c:2397
#, c-format
msgid ""
-"%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'"
+"%B: bad reloc symbol index (%#Lx >= %#lx) for offset %#Lx in section `%A'"
msgstr ""
#: elflink.c:2409
#, c-format
msgid ""
-"%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the "
+"%B: non-zero symbol index (%#Lx) for offset %#Lx in section `%A' when the "
"object file has no symbol table"
msgstr ""
@@ -4870,192 +4863,187 @@ msgstr ""
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
msgstr ""
-#: elflink.c:4438
+#: elflink.c:4444
#, c-format
msgid "%B: %s: invalid version %u (max %d)"
msgstr ""
-#: elflink.c:4475
+#: elflink.c:4481
#, c-format
msgid "%B: %s: invalid needed version %d"
msgstr ""
-#: elflink.c:4754
-#, c-format
-msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
-msgstr ""
-
-#: elflink.c:4890
+#: elflink.c:4896
#, c-format
msgid "%B: undefined reference to symbol '%s'"
msgstr ""
-#: elflink.c:5903
+#: elflink.c:5909
#, c-format
msgid "%B: stack size specified and %s set"
msgstr ""
-#: elflink.c:5907
+#: elflink.c:5913
#, c-format
msgid "%B: %s not absolute"
msgstr ""
-#: elflink.c:6105
+#: elflink.c:6111
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.c:6682
+#: elflink.c:6688
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.c:8122
+#: elflink.c:8128
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr ""
-#: elflink.c:8277
+#: elflink.c:8283
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr ""
#. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8615
+#: elflink.c:8621
msgid ""
"%B:%A: error: relocation references symbol %s which was removed by garbage "
"collection."
msgstr ""
-#: elflink.c:8618
+#: elflink.c:8624
msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
msgstr ""
-#: elflink.c:8855 elflink.c:8873 elflink.c:8912 elflink.c:8930
+#: elflink.c:8860 elflink.c:8878 elflink.c:8917 elflink.c:8935
msgid "%B: Unable to sort relocs - they are in more than one size"
msgstr ""
#. The section size is not divisible by either -
#. something is wrong.
-#: elflink.c:8889 elflink.c:8946
+#: elflink.c:8894 elflink.c:8951
msgid "%B: Unable to sort relocs - they are of an unknown size"
msgstr ""
-#: elflink.c:8998
+#: elflink.c:9003
msgid "Not enough memory to sort relocations"
msgstr ""
-#: elflink.c:9266
+#: elflink.c:9271
#, c-format
msgid "%B: Too many sections: %d (>= %d)"
msgstr ""
-#: elflink.c:9546
+#: elflink.c:9551
#, c-format
msgid "%B: internal symbol `%s' in %B is referenced by DSO"
msgstr ""
-#: elflink.c:9549
+#: elflink.c:9554
#, c-format
msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
msgstr ""
-#: elflink.c:9552
+#: elflink.c:9557
#, c-format
msgid "%B: local symbol `%s' in %B is referenced by DSO"
msgstr ""
-#: elflink.c:9638
+#: elflink.c:9643
#, c-format
msgid "%B: could not find output section %A for input section %A"
msgstr ""
-#: elflink.c:9792
+#: elflink.c:9797
#, c-format
msgid "%B: protected symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:9795
+#: elflink.c:9800
#, c-format
msgid "%B: internal symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:9798
+#: elflink.c:9803
#, c-format
msgid "%B: hidden symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:9829
+#: elflink.c:9834
#, c-format
msgid "%B: No symbol version section for versioned symbol `%s'"
msgstr ""
-#: elflink.c:10436
+#: elflink.c:10441
#, c-format
msgid "error: %B: size of section %A is not multiple of address size"
msgstr ""
-#: elflink.c:10481
+#: elflink.c:10486
#, c-format
msgid ""
"error: %B contains a reloc (%#Lx) for section %A that references a non-"
"existent global symbol"
msgstr ""
-#: elflink.c:11236
+#: elflink.c:11241
#, c-format
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
msgstr ""
-#: elflink.c:11242
+#: elflink.c:11247
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr ""
-#: elflink.c:11344
+#: elflink.c:11349
msgid "%B: no symbol found for import library"
msgstr ""
-#: elflink.c:11966
+#: elflink.c:11971
#, c-format
msgid "%B: file class %s incompatible with %s"
msgstr ""
-#: elflink.c:12183
+#: elflink.c:12188
msgid "%B: failed to generate import library"
msgstr ""
-#: elflink.c:12302
+#: elflink.c:12307
#, c-format
msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.c:12350
+#: elflink.c:12355
#, c-format
msgid "warning: section '%s' is being made into a note"
msgstr ""
-#: elflink.c:12442
+#: elflink.c:12447
msgid "%P%X: read-only segment has dynamic relocations.\n"
msgstr ""
-#: elflink.c:12445
+#: elflink.c:12450
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr ""
-#: elflink.c:12570
+#: elflink.c:12575
msgid "%P%X: can not read symbols: %E\n"
msgstr ""
-#: elflink.c:12732
+#: elflink.c:12737
msgid "%F%P: corrupt input: %B\n"
msgstr ""
-#: elflink.c:13421
+#: elflink.c:13426
#, c-format
msgid "%B: %A+%#Lx: No symbol found for INHERIT"
msgstr ""
-#: elflink.c:13597
+#: elflink.c:13602
#, c-format
msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
msgstr ""
@@ -5105,12 +5093,12 @@ msgstr ""
#: elfxx-mips.c:8459
#, c-format
-msgid "%B: GOT reloc at 0x%lx not expected in executables"
+msgid "%B: GOT reloc at %#Lx not expected in executables"
msgstr ""
#: elfxx-mips.c:8597
#, c-format
-msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
+msgid "%B: CALL16 reloc at %#Lx not against global symbol"
msgstr ""
#: elfxx-mips.c:9219
@@ -5121,7 +5109,7 @@ msgstr ""
#: elfxx-mips.c:10139
#, c-format
msgid ""
-"%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `"
+"%B: Can't find matching LO16 reloc against `%s' for %s at %#Lx in section `"
"%A'"
msgstr ""
@@ -5156,7 +5144,7 @@ msgstr ""
#: elfxx-mips.c:10683 elfxx-mips.c:11251
#, c-format
-msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
+msgid "%B: `%A' offset of %Ld from `%A' beyond the range of ADDIUPC"
msgstr ""
#: elfxx-mips.c:14174
@@ -5192,177 +5180,177 @@ msgstr ""
msgid "%B: ASE mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:15214
+#: elfxx-mips.c:15213
msgid ""
"Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown "
"floating point ABI %d"
msgstr ""
-#: elfxx-mips.c:15220
+#: elfxx-mips.c:15219
#, c-format
msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
msgstr ""
-#: elfxx-mips.c:15226
+#: elfxx-mips.c:15225
#, c-format
msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
msgstr ""
-#: elfxx-mips.c:15240
+#: elfxx-mips.c:15239
#, c-format
msgid "Warning: %B uses %s (set by %B), %B uses %s"
msgstr ""
-#: elfxx-mips.c:15259
+#: elfxx-mips.c:15258
#, c-format
msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
msgstr ""
-#: elfxx-mips.c:15271
+#: elfxx-mips.c:15270
#, c-format
msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
msgstr ""
-#: elfxx-mips.c:15280
+#: elfxx-mips.c:15279
#, c-format
msgid ""
"Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
msgstr ""
-#: elfxx-mips.c:15342
+#: elfxx-mips.c:15341
msgid "%B: endianness incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:15356
+#: elfxx-mips.c:15355
msgid "%B: ABI is incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:15408
+#: elfxx-mips.c:15407
msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15413
+#: elfxx-mips.c:15412
msgid ""
"%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15417
+#: elfxx-mips.c:15416
msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15424
+#: elfxx-mips.c:15423
msgid ""
"%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15428
+#: elfxx-mips.c:15427
msgid ""
"%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
msgstr ""
-#: elfxx-mips.c:15617
+#: elfxx-mips.c:15616
msgid "-mips32r2 -mfp64 (12 callee-saved)"
msgstr ""
-#: elfxx-mips.c:15667 elfxx-mips.c:15678
+#: elfxx-mips.c:15666 elfxx-mips.c:15677
msgid "None"
msgstr ""
-#: elfxx-mips.c:15669 elfxx-mips.c:15741
+#: elfxx-mips.c:15668 elfxx-mips.c:15740
msgid "Unknown"
msgstr ""
-#: elfxx-mips.c:15752
+#: elfxx-mips.c:15751
#, c-format
msgid "Hard or soft float\n"
msgstr ""
-#: elfxx-mips.c:15755
+#: elfxx-mips.c:15754
#, c-format
msgid "Hard float (double precision)\n"
msgstr ""
-#: elfxx-mips.c:15758
+#: elfxx-mips.c:15757
#, c-format
msgid "Hard float (single precision)\n"
msgstr ""
-#: elfxx-mips.c:15761
+#: elfxx-mips.c:15760
#, c-format
msgid "Soft float\n"
msgstr ""
-#: elfxx-mips.c:15764
+#: elfxx-mips.c:15763
#, c-format
msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
msgstr ""
-#: elfxx-mips.c:15767
+#: elfxx-mips.c:15766
#, c-format
msgid "Hard float (32-bit CPU, Any FPU)\n"
msgstr ""
-#: elfxx-mips.c:15770
+#: elfxx-mips.c:15769
#, c-format
msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
msgstr ""
-#: elfxx-mips.c:15773
+#: elfxx-mips.c:15772
#, c-format
msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
msgstr ""
-#: elfxx-mips.c:15805
+#: elfxx-mips.c:15804
#, c-format
msgid " [abi=O32]"
msgstr ""
-#: elfxx-mips.c:15807
+#: elfxx-mips.c:15806
#, c-format
msgid " [abi=O64]"
msgstr ""
-#: elfxx-mips.c:15809
+#: elfxx-mips.c:15808
#, c-format
msgid " [abi=EABI32]"
msgstr ""
-#: elfxx-mips.c:15811
+#: elfxx-mips.c:15810
#, c-format
msgid " [abi=EABI64]"
msgstr ""
-#: elfxx-mips.c:15813
+#: elfxx-mips.c:15812
#, c-format
msgid " [abi unknown]"
msgstr ""
-#: elfxx-mips.c:15815
+#: elfxx-mips.c:15814
#, c-format
msgid " [abi=N32]"
msgstr ""
-#: elfxx-mips.c:15817
+#: elfxx-mips.c:15816
#, c-format
msgid " [abi=64]"
msgstr ""
-#: elfxx-mips.c:15819
+#: elfxx-mips.c:15818
#, c-format
msgid " [no abi set]"
msgstr ""
-#: elfxx-mips.c:15844
+#: elfxx-mips.c:15843
#, c-format
msgid " [unknown ISA]"
msgstr ""
-#: elfxx-mips.c:15864
+#: elfxx-mips.c:15863
#, c-format
msgid " [not 32bitmode]"
msgstr ""
-#: elfxx-riscv.c:948
+#: elfxx-riscv.c:955
#, c-format
msgid "unrecognized relocation (0x%x)"
msgstr ""
@@ -5372,13 +5360,12 @@ msgstr ""
msgid "invalid relocation type %d"
msgstr ""
-#: elfxx-sparc.c:3301
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5002
+#: elfxx-sparc.c:3301 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5002
#, c-format
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
msgstr ""
-#: elfxx-tilegx.c:4436
+#: elfxx-tilegx.c:4428
#, c-format
msgid "%B: Cannot link together %s and %s objects."
msgstr ""
@@ -5405,7 +5392,7 @@ msgstr ""
#: ieee.c:159
#, c-format
-msgid "%B: string too long (%d chars, max 65535)"
+msgid "%B: string too long (%ld chars, max 65535)"
msgstr ""
#: ieee.c:226
@@ -5425,7 +5412,7 @@ msgstr ""
#: ieee.c:862
#, c-format
-msgid "%B: unexpected ATN type %d in external part"
+msgid "%B: unexpected ATN type %Ld in external part"
msgstr ""
#: ieee.c:884
@@ -5475,9 +5462,9 @@ msgstr ""
msgid "%B: bad section length in ihex_read_section"
msgstr ""
-#: ihex.c:833
+#: ihex.c:830
#, c-format
-msgid "%B: address 0x%s out of range for Intel Hex file"
+msgid "%B: address %#Lx out of range for Intel Hex file"
msgstr ""
#: libbfd.c:799
@@ -5550,44 +5537,44 @@ msgstr ""
#: mach-o.c:2531
#, c-format
-msgid "unable to allocate data for load command 0x%lx"
+msgid "unable to allocate data for load command %#x"
msgstr ""
#: mach-o.c:2636
#, c-format
-msgid "unable to write unknown load command 0x%lx"
+msgid "unable to write unknown load command %#x"
msgstr ""
#: mach-o.c:2820
#, c-format
-msgid "section address (%lx) below start of segment (%lx)"
+msgid "section address (%#Lx) below start of segment (%#Lx)"
msgstr ""
#: mach-o.c:2961
#, c-format
-msgid "unable to layout unknown load command 0x%lx"
+msgid "unable to layout unknown load command %#x"
msgstr ""
#: mach-o.c:3497
#, c-format
msgid ""
-"bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 instead"
+"bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
msgstr ""
#: mach-o.c:3540
#, c-format
msgid ""
-"bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 instead"
+"bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
msgstr ""
#: mach-o.c:3591
#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
msgstr ""
#: mach-o.c:3610
#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
msgstr ""
#: mach-o.c:3693
@@ -5604,27 +5591,27 @@ msgid ""
"%x: setting to undefined"
msgstr ""
-#: mach-o.c:3786
+#: mach-o.c:3789
msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
msgstr ""
-#: mach-o.c:4759
-msgid "%B: unknown load command 0x%lx"
+#: mach-o.c:4762
+msgid "%B: unknown load command %#x"
msgstr ""
-#: mach-o.c:4950
+#: mach-o.c:4953
#, c-format
msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
msgstr ""
-#: mach-o.c:5055
+#: mach-o.c:5058
#, c-format
-msgid "unknown header byte-order value 0x%lx"
+msgid "unknown header byte-order value %#x"
msgstr ""
#: merge.c:864
#, c-format
-msgid "%B: access beyond end of merged section (%ld)"
+msgid "%B: access beyond end of merged section (%Ld)"
msgstr ""
#: mmo.c:468
@@ -5639,7 +5626,7 @@ msgstr ""
#: mmo.c:958
#, c-format
-msgid "%B: attempt to emit contents at non-multiple-of-4 address 0x%lx\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address %#Lx"
msgstr ""
#: mmo.c:1255
@@ -5762,14 +5749,12 @@ msgstr ""
#: mmo.c:3242
#, c-format
-msgid "%B: too many initialized registers; section length %ld\n"
+msgid "%B: too many initialized registers; section length %Ld"
msgstr ""
#: mmo.c:3247
#, c-format
-msgid ""
-"%B: invalid start address for initialized registers of length %ld: 0x%lx"
-"%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %Ld: %#Lx"
msgstr ""
#: oasys.c:881
@@ -5952,25 +5937,36 @@ msgstr ""
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
-#: reloc.c:8064
+#: reloc.c:8067
msgid "INPUT_SECTION_FLAGS are not supported.\n"
msgstr ""
-#: reloc.c:8165
+#: reloc.c:8168
#, c-format
msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
msgstr ""
-#: reloc.c:8241
+#: reloc.c:8244
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
msgstr ""
-#: reloc.c:8250
+#: reloc.c:8253
#, c-format
msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
msgstr ""
+#: reloc.c:8315
+#, c-format
+msgid "%B: unrecognized relocation (%#x) in section `%A'"
+msgstr ""
+
+#. PR 21803: Suggest the most likely cause of this error.
+#: reloc.c:8319
+#, c-format
+msgid "Is this version of the linker - %s - out of date ?"
+msgstr ""
+
#: rs6000-core.c:471
msgid "%B: warning core file truncated"
msgstr ""
@@ -6003,67 +5999,76 @@ msgstr ""
#: stabs.c:279
#, c-format
-msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
+msgid "%B(%A+%#lx): Stabs entry has invalid string index."
msgstr ""
#: syms.c:1079
msgid "Unsupported .stab relocation"
msgstr ""
-#: vms-alpha.c:652
+#: vms-alpha.c:479
+msgid "Corrupt EIHD record - size is too small"
+msgstr ""
+
+#: vms-alpha.c:660
#, c-format
msgid "Unable to read EIHS record at offset %#x"
msgstr ""
-#: vms-alpha.c:1164
+#: vms-alpha.c:1172
#, c-format
msgid "Corrupt EGSD record: its size (%#x) is too small"
msgstr ""
-#: vms-alpha.c:1188
+#: vms-alpha.c:1196
#, c-format
msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
msgstr ""
-#: vms-alpha.c:1196
+#: vms-alpha.c:1204
#, c-format
msgid "Corrupt EGSD record: size (%#x) is too small"
msgstr ""
-#: vms-alpha.c:1380
+#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
+#, c-format
+msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
+msgstr ""
+
+#: vms-alpha.c:1418
#, c-format
msgid "Unknown EGSD subtype %d"
msgstr ""
-#: vms-alpha.c:1413
+#: vms-alpha.c:1451
#, c-format
msgid "Stack overflow (%d) in _bfd_vms_push"
msgstr ""
-#: vms-alpha.c:1426
+#: vms-alpha.c:1464
msgid "Stack underflow in _bfd_vms_pop"
msgstr ""
#. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1665
+#: vms-alpha.c:1706
#, c-format
msgid "unknown ETIR command %d"
msgstr ""
-#: vms-alpha.c:1696
+#: vms-alpha.c:1737
msgid "Corrupt vms value"
msgstr ""
-#: vms-alpha.c:1824
+#: vms-alpha.c:1865
msgid "Corrupt ETIR record encountered"
msgstr ""
-#: vms-alpha.c:1881
+#: vms-alpha.c:1922
#, c-format
msgid "bad section index in %s"
msgstr ""
-#: vms-alpha.c:1894
+#: vms-alpha.c:1935
#, c-format
msgid "unsupported STA cmd %s"
msgstr ""
@@ -6073,1924 +6078,1959 @@ msgstr ""
#. Rotate.
#. Redefine symbol to current location.
#. Define a literal.
-#: vms-alpha.c:2074 vms-alpha.c:2105 vms-alpha.c:2196 vms-alpha.c:2354
+#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
#, c-format
msgid "%s: not supported"
msgstr ""
-#: vms-alpha.c:2080
+#: vms-alpha.c:2121
#, c-format
msgid "%s: not implemented"
msgstr ""
-#: vms-alpha.c:2338
+#: vms-alpha.c:2379
#, c-format
msgid "invalid use of %s with contexts"
msgstr ""
-#: vms-alpha.c:2372
+#: vms-alpha.c:2413
#, c-format
msgid "reserved cmd %d"
msgstr ""
-#: vms-alpha.c:2457
+#: vms-alpha.c:2497
+msgid "Corrupt EEOM record - size is too small"
+msgstr ""
+
+#: vms-alpha.c:2506
msgid "Object module NOT error-free !\n"
msgstr ""
-#: vms-alpha.c:3778
+#: vms-alpha.c:3830
#, c-format
msgid "SEC_RELOC with no relocs in section %A"
msgstr ""
-#: vms-alpha.c:3830 vms-alpha.c:4043
+#: vms-alpha.c:3882 vms-alpha.c:4095
#, c-format
msgid "Size error in section %A"
msgstr ""
-#: vms-alpha.c:3989
+#: vms-alpha.c:4041
msgid "Spurious ALPHA_R_BSR reloc"
msgstr ""
-#: vms-alpha.c:4030
+#: vms-alpha.c:4082
#, c-format
msgid "Unhandled relocation %s"
msgstr ""
-#: vms-alpha.c:4323
+#: vms-alpha.c:4375
#, c-format
msgid "unknown source command %d"
msgstr ""
-#: vms-alpha.c:4384
+#: vms-alpha.c:4436
msgid "DST__K_SET_LINUM_INCR not implemented"
msgstr ""
-#: vms-alpha.c:4390
+#: vms-alpha.c:4442
msgid "DST__K_SET_LINUM_INCR_W not implemented"
msgstr ""
-#: vms-alpha.c:4396
+#: vms-alpha.c:4448
msgid "DST__K_RESET_LINUM_INCR not implemented"
msgstr ""
-#: vms-alpha.c:4402
+#: vms-alpha.c:4454
msgid "DST__K_BEG_STMT_MODE not implemented"
msgstr ""
-#: vms-alpha.c:4408
+#: vms-alpha.c:4460
msgid "DST__K_END_STMT_MODE not implemented"
msgstr ""
-#: vms-alpha.c:4435
+#: vms-alpha.c:4487
msgid "DST__K_SET_PC not implemented"
msgstr ""
-#: vms-alpha.c:4441
+#: vms-alpha.c:4493
msgid "DST__K_SET_PC_W not implemented"
msgstr ""
-#: vms-alpha.c:4447
+#: vms-alpha.c:4499
msgid "DST__K_SET_PC_L not implemented"
msgstr ""
-#: vms-alpha.c:4453
+#: vms-alpha.c:4505
msgid "DST__K_SET_STMTNUM not implemented"
msgstr ""
-#: vms-alpha.c:4496
+#: vms-alpha.c:4548
#, c-format
msgid "unknown line command %d"
msgstr ""
-#: vms-alpha.c:4956 vms-alpha.c:4974 vms-alpha.c:4989 vms-alpha.c:5005
-#: vms-alpha.c:5018 vms-alpha.c:5030 vms-alpha.c:5043
+#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
#, c-format
msgid "Unknown reloc %s + %s"
msgstr ""
-#: vms-alpha.c:5098
+#: vms-alpha.c:5150
#, c-format
msgid "Unknown reloc %s"
msgstr ""
-#: vms-alpha.c:5111
+#: vms-alpha.c:5163
msgid "Invalid section index in ETIR"
msgstr ""
-#: vms-alpha.c:5120
+#: vms-alpha.c:5172
msgid "Relocation for non-REL psect"
msgstr ""
-#: vms-alpha.c:5167
+#: vms-alpha.c:5219
#, c-format
msgid "Unknown symbol in command %s"
msgstr ""
-#: vms-alpha.c:5577
+#: vms-alpha.c:5629
#, c-format
msgid "reloc (%d) is *UNKNOWN*"
msgstr ""
-#: vms-alpha.c:5692
+#: vms-alpha.c:5745
#, c-format
msgid " EMH %u (len=%u): "
msgstr ""
-#: vms-alpha.c:5697
+#: vms-alpha.c:5750
#, c-format
msgid " Error: The length is less than the length of an EMH record\n"
msgstr ""
-#: vms-alpha.c:5708
+#: vms-alpha.c:5767
+#, c-format
+msgid ""
+" Error: The record length is less than the size of an EMH_MHD record\n"
+msgstr ""
+
+#: vms-alpha.c:5770
#, c-format
msgid "Module header\n"
msgstr ""
-#: vms-alpha.c:5709
+#: vms-alpha.c:5771
#, c-format
msgid " structure level: %u\n"
msgstr ""
-#: vms-alpha.c:5710
+#: vms-alpha.c:5772
#, c-format
msgid " max record size: %u\n"
msgstr ""
-#: vms-alpha.c:5713
+#: vms-alpha.c:5778
+#, c-format
+msgid " Error: The module name is missing\n"
+msgstr ""
+
+#: vms-alpha.c:5784
+#, c-format
+msgid " Error: The module name is too long\n"
+msgstr ""
+
+#: vms-alpha.c:5787
#, c-format
msgid " module name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5715
+#: vms-alpha.c:5791
+#, c-format
+msgid " Error: The module version is missing\n"
+msgstr ""
+
+#: vms-alpha.c:5797
+#, c-format
+msgid " Error: The module version is too long\n"
+msgstr ""
+
+#: vms-alpha.c:5800
#, c-format
msgid " module version : %.*s\n"
msgstr ""
-#: vms-alpha.c:5717
+#: vms-alpha.c:5803
+#, c-format
+msgid " Error: The compile date is truncated\n"
+msgstr ""
+
+#: vms-alpha.c:5805
#, c-format
msgid " compile date : %.17s\n"
msgstr ""
-#: vms-alpha.c:5722
+#: vms-alpha.c:5810
#, c-format
msgid "Language Processor Name\n"
msgstr ""
-#: vms-alpha.c:5723
+#: vms-alpha.c:5811
#, c-format
msgid " language name: %.*s\n"
msgstr ""
-#: vms-alpha.c:5730
+#: vms-alpha.c:5815
#, c-format
msgid "Source Files Header\n"
msgstr ""
-#: vms-alpha.c:5731
+#: vms-alpha.c:5816
#, c-format
msgid " file: %.*s\n"
msgstr ""
-#: vms-alpha.c:5738
+#: vms-alpha.c:5820
#, c-format
msgid "Title Text Header\n"
msgstr ""
-#: vms-alpha.c:5739
+#: vms-alpha.c:5821
#, c-format
msgid " title: %.*s\n"
msgstr ""
-#: vms-alpha.c:5746
+#: vms-alpha.c:5825
#, c-format
msgid "Copyright Header\n"
msgstr ""
-#: vms-alpha.c:5747
+#: vms-alpha.c:5826
#, c-format
msgid " copyright: %.*s\n"
msgstr ""
-#: vms-alpha.c:5753
+#: vms-alpha.c:5830
#, c-format
msgid "unhandled emh subtype %u\n"
msgstr ""
-#: vms-alpha.c:5763
+#: vms-alpha.c:5840
#, c-format
msgid " EEOM (len=%u):\n"
msgstr ""
-#: vms-alpha.c:5768
+#: vms-alpha.c:5845
#, c-format
msgid " Error: The length is less than the length of an EEOM record\n"
msgstr ""
-#: vms-alpha.c:5772
+#: vms-alpha.c:5849
#, c-format
msgid " number of cond linkage pairs: %u\n"
msgstr ""
-#: vms-alpha.c:5774
+#: vms-alpha.c:5851
#, c-format
msgid " completion code: %u\n"
msgstr ""
-#: vms-alpha.c:5778
+#: vms-alpha.c:5855
#, c-format
msgid " transfer addr flags: 0x%02x\n"
msgstr ""
-#: vms-alpha.c:5779
+#: vms-alpha.c:5856
#, c-format
msgid " transfer addr psect: %u\n"
msgstr ""
-#: vms-alpha.c:5781
+#: vms-alpha.c:5858
#, c-format
msgid " transfer address : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5790
+#: vms-alpha.c:5867
msgid " WEAK"
msgstr ""
-#: vms-alpha.c:5792
+#: vms-alpha.c:5869
msgid " DEF"
msgstr ""
-#: vms-alpha.c:5794
+#: vms-alpha.c:5871
msgid " UNI"
msgstr ""
-#: vms-alpha.c:5796 vms-alpha.c:5817
+#: vms-alpha.c:5873 vms-alpha.c:5894
msgid " REL"
msgstr ""
-#: vms-alpha.c:5798
+#: vms-alpha.c:5875
msgid " COMM"
msgstr ""
-#: vms-alpha.c:5800
+#: vms-alpha.c:5877
msgid " VECEP"
msgstr ""
-#: vms-alpha.c:5802
+#: vms-alpha.c:5879
msgid " NORM"
msgstr ""
-#: vms-alpha.c:5804
+#: vms-alpha.c:5881
msgid " QVAL"
msgstr ""
-#: vms-alpha.c:5811
+#: vms-alpha.c:5888
msgid " PIC"
msgstr ""
-#: vms-alpha.c:5813
+#: vms-alpha.c:5890
msgid " LIB"
msgstr ""
-#: vms-alpha.c:5815
+#: vms-alpha.c:5892
msgid " OVR"
msgstr ""
-#: vms-alpha.c:5819
+#: vms-alpha.c:5896
msgid " GBL"
msgstr ""
-#: vms-alpha.c:5821
+#: vms-alpha.c:5898
msgid " SHR"
msgstr ""
-#: vms-alpha.c:5823
+#: vms-alpha.c:5900
msgid " EXE"
msgstr ""
-#: vms-alpha.c:5825
+#: vms-alpha.c:5902
msgid " RD"
msgstr ""
-#: vms-alpha.c:5827
+#: vms-alpha.c:5904
msgid " WRT"
msgstr ""
-#: vms-alpha.c:5829
+#: vms-alpha.c:5906
msgid " VEC"
msgstr ""
-#: vms-alpha.c:5831
+#: vms-alpha.c:5908
msgid " NOMOD"
msgstr ""
-#: vms-alpha.c:5833
+#: vms-alpha.c:5910
msgid " COM"
msgstr ""
-#: vms-alpha.c:5835
+#: vms-alpha.c:5912
msgid " 64B"
msgstr ""
-#: vms-alpha.c:5844
+#: vms-alpha.c:5921
#, c-format
msgid " EGSD (len=%u):\n"
msgstr ""
-#: vms-alpha.c:5857
+#: vms-alpha.c:5934
#, c-format
msgid " EGSD entry %2u (type: %u, len: %u): "
msgstr ""
-#: vms-alpha.c:5863 vms-alpha.c:6114
+#: vms-alpha.c:5940 vms-alpha.c:6191
#, c-format
msgid " Error: length larger than remaining space in record\n"
msgstr ""
-#: vms-alpha.c:5875
+#: vms-alpha.c:5952
#, c-format
msgid "PSC - Program section definition\n"
msgstr ""
-#: vms-alpha.c:5876 vms-alpha.c:5893
+#: vms-alpha.c:5953 vms-alpha.c:5970
#, c-format
msgid " alignment : 2**%u\n"
msgstr ""
-#: vms-alpha.c:5877 vms-alpha.c:5894
+#: vms-alpha.c:5954 vms-alpha.c:5971
#, c-format
msgid " flags : 0x%04x"
msgstr ""
-#: vms-alpha.c:5881
+#: vms-alpha.c:5958
#, c-format
msgid " alloc (len): %u (0x%08x)\n"
msgstr ""
-#: vms-alpha.c:5882 vms-alpha.c:5939 vms-alpha.c:5988
+#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5892
+#: vms-alpha.c:5969
#, c-format
msgid "SPSC - Shared Image Program section def\n"
msgstr ""
-#: vms-alpha.c:5898
+#: vms-alpha.c:5975
#, c-format
msgid " alloc (len) : %u (0x%08x)\n"
msgstr ""
-#: vms-alpha.c:5899
+#: vms-alpha.c:5976
#, c-format
msgid " image offset : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5901
+#: vms-alpha.c:5978
#, c-format
msgid " symvec offset : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5903
+#: vms-alpha.c:5980
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5916
+#: vms-alpha.c:5993
#, c-format
msgid "SYM - Global symbol definition\n"
msgstr ""
-#: vms-alpha.c:5917 vms-alpha.c:5977 vms-alpha.c:5998 vms-alpha.c:6017
+#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
#, c-format
msgid " flags: 0x%04x"
msgstr ""
-#: vms-alpha.c:5920
+#: vms-alpha.c:5997
#, c-format
msgid " psect offset: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5924
+#: vms-alpha.c:6001
#, c-format
msgid " code address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5926
+#: vms-alpha.c:6003
#, c-format
msgid " psect index for entry point : %u\n"
msgstr ""
-#: vms-alpha.c:5929 vms-alpha.c:6005 vms-alpha.c:6024
+#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
#, c-format
msgid " psect index : %u\n"
msgstr ""
-#: vms-alpha.c:5931 vms-alpha.c:6007 vms-alpha.c:6026
+#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5938
+#: vms-alpha.c:6015
#, c-format
msgid "SYM - Global symbol reference\n"
msgstr ""
-#: vms-alpha.c:5950
+#: vms-alpha.c:6027
#, c-format
msgid "IDC - Ident Consistency check\n"
msgstr ""
-#: vms-alpha.c:5951
+#: vms-alpha.c:6028
#, c-format
msgid " flags : 0x%08x"
msgstr ""
-#: vms-alpha.c:5955
+#: vms-alpha.c:6032
#, c-format
msgid " id match : %x\n"
msgstr ""
-#: vms-alpha.c:5957
+#: vms-alpha.c:6034
#, c-format
msgid " error severity: %x\n"
msgstr ""
-#: vms-alpha.c:5960
+#: vms-alpha.c:6037
#, c-format
msgid " entity name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5962
+#: vms-alpha.c:6039
#, c-format
msgid " object name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5965
+#: vms-alpha.c:6042
#, c-format
msgid " binary ident : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5968
+#: vms-alpha.c:6045
#, c-format
msgid " ascii ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:5976
+#: vms-alpha.c:6053
#, c-format
msgid "SYMG - Universal symbol definition\n"
msgstr ""
-#: vms-alpha.c:5980
+#: vms-alpha.c:6057
#, c-format
msgid " symbol vector offset: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5982
+#: vms-alpha.c:6059
#, c-format
msgid " entry point: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5984
+#: vms-alpha.c:6061
#, c-format
msgid " proc descr : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5986
+#: vms-alpha.c:6063
#, c-format
msgid " psect index: %u\n"
msgstr ""
-#: vms-alpha.c:5997
+#: vms-alpha.c:6074
#, c-format
msgid "SYMV - Vectored symbol definition\n"
msgstr ""
-#: vms-alpha.c:6001
+#: vms-alpha.c:6078
#, c-format
msgid " vector : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6003 vms-alpha.c:6022
+#: vms-alpha.c:6080 vms-alpha.c:6099
#, c-format
msgid " psect offset: %u\n"
msgstr ""
-#: vms-alpha.c:6016
+#: vms-alpha.c:6093
#, c-format
msgid "SYMM - Global symbol definition with version\n"
msgstr ""
-#: vms-alpha.c:6020
+#: vms-alpha.c:6097
#, c-format
msgid " version mask: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6031
+#: vms-alpha.c:6108
#, c-format
msgid "unhandled egsd entry type %u\n"
msgstr ""
-#: vms-alpha.c:6066
+#: vms-alpha.c:6143
#, c-format
msgid " linkage index: %u, replacement insn: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6070
+#: vms-alpha.c:6147
#, c-format
msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6075
+#: vms-alpha.c:6152
#, c-format
msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6081
+#: vms-alpha.c:6158
#, c-format
msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6086
+#: vms-alpha.c:6163
#, c-format
msgid " global name: %.*s\n"
msgstr ""
-#: vms-alpha.c:6097
+#: vms-alpha.c:6174
#, c-format
msgid " %s (len=%u+%u):\n"
msgstr ""
-#: vms-alpha.c:6119
+#: vms-alpha.c:6196
#, c-format
msgid " (type: %3u, size: 4+%3u): "
msgstr ""
-#: vms-alpha.c:6123
+#: vms-alpha.c:6200
#, c-format
msgid "STA_GBL (stack global) %.*s\n"
msgstr ""
-#: vms-alpha.c:6127
+#: vms-alpha.c:6204
#, c-format
msgid "STA_LW (stack longword) 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6131
+#: vms-alpha.c:6208
#, c-format
msgid "STA_QW (stack quadword) 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6136
+#: vms-alpha.c:6213
#, c-format
msgid "STA_PQ (stack psect base + offset)\n"
msgstr ""
-#: vms-alpha.c:6138
+#: vms-alpha.c:6215
#, c-format
msgid " psect: %u, offset: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6144
+#: vms-alpha.c:6221
#, c-format
msgid "STA_LI (stack literal)\n"
msgstr ""
-#: vms-alpha.c:6147
+#: vms-alpha.c:6224
#, c-format
msgid "STA_MOD (stack module)\n"
msgstr ""
-#: vms-alpha.c:6150
+#: vms-alpha.c:6227
#, c-format
msgid "STA_CKARG (compare procedure argument)\n"
msgstr ""
-#: vms-alpha.c:6154
+#: vms-alpha.c:6231
#, c-format
msgid "STO_B (store byte)\n"
msgstr ""
-#: vms-alpha.c:6157
+#: vms-alpha.c:6234
#, c-format
msgid "STO_W (store word)\n"
msgstr ""
-#: vms-alpha.c:6160
+#: vms-alpha.c:6237
#, c-format
msgid "STO_LW (store longword)\n"
msgstr ""
-#: vms-alpha.c:6163
+#: vms-alpha.c:6240
#, c-format
msgid "STO_QW (store quadword)\n"
msgstr ""
-#: vms-alpha.c:6169
+#: vms-alpha.c:6246
#, c-format
msgid "STO_IMMR (store immediate repeat) %u bytes\n"
msgstr ""
-#: vms-alpha.c:6176
+#: vms-alpha.c:6253
#, c-format
msgid "STO_GBL (store global) %.*s\n"
msgstr ""
-#: vms-alpha.c:6180
+#: vms-alpha.c:6257
#, c-format
msgid "STO_CA (store code address) %.*s\n"
msgstr ""
-#: vms-alpha.c:6184
+#: vms-alpha.c:6261
#, c-format
msgid "STO_RB (store relative branch)\n"
msgstr ""
-#: vms-alpha.c:6187
+#: vms-alpha.c:6264
#, c-format
msgid "STO_AB (store absolute branch)\n"
msgstr ""
-#: vms-alpha.c:6190
+#: vms-alpha.c:6267
#, c-format
msgid "STO_OFF (store offset to psect)\n"
msgstr ""
-#: vms-alpha.c:6196
+#: vms-alpha.c:6273
#, c-format
msgid "STO_IMM (store immediate) %u bytes\n"
msgstr ""
-#: vms-alpha.c:6203
+#: vms-alpha.c:6280
#, c-format
msgid "STO_GBL_LW (store global longword) %.*s\n"
msgstr ""
-#: vms-alpha.c:6207
+#: vms-alpha.c:6284
#, c-format
msgid "STO_OFF (store LP with procedure signature)\n"
msgstr ""
-#: vms-alpha.c:6210
+#: vms-alpha.c:6287
#, c-format
msgid "STO_BR_GBL (store branch global) *todo*\n"
msgstr ""
-#: vms-alpha.c:6213
+#: vms-alpha.c:6290
#, c-format
msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
msgstr ""
-#: vms-alpha.c:6217
+#: vms-alpha.c:6294
#, c-format
msgid "OPR_NOP (no-operation)\n"
msgstr ""
-#: vms-alpha.c:6220
+#: vms-alpha.c:6297
#, c-format
msgid "OPR_ADD (add)\n"
msgstr ""
-#: vms-alpha.c:6223
+#: vms-alpha.c:6300
#, c-format
-msgid "OPR_SUB (substract)\n"
+msgid "OPR_SUB (subtract)\n"
msgstr ""
-#: vms-alpha.c:6226
+#: vms-alpha.c:6303
#, c-format
msgid "OPR_MUL (multiply)\n"
msgstr ""
-#: vms-alpha.c:6229
+#: vms-alpha.c:6306
#, c-format
msgid "OPR_DIV (divide)\n"
msgstr ""
-#: vms-alpha.c:6232
+#: vms-alpha.c:6309
#, c-format
msgid "OPR_AND (logical and)\n"
msgstr ""
-#: vms-alpha.c:6235
+#: vms-alpha.c:6312
#, c-format
msgid "OPR_IOR (logical inclusive or)\n"
msgstr ""
-#: vms-alpha.c:6238
+#: vms-alpha.c:6315
#, c-format
msgid "OPR_EOR (logical exclusive or)\n"
msgstr ""
-#: vms-alpha.c:6241
+#: vms-alpha.c:6318
#, c-format
msgid "OPR_NEG (negate)\n"
msgstr ""
-#: vms-alpha.c:6244
+#: vms-alpha.c:6321
#, c-format
msgid "OPR_COM (complement)\n"
msgstr ""
-#: vms-alpha.c:6247
+#: vms-alpha.c:6324
#, c-format
msgid "OPR_INSV (insert field)\n"
msgstr ""
-#: vms-alpha.c:6250
+#: vms-alpha.c:6327
#, c-format
msgid "OPR_ASH (arithmetic shift)\n"
msgstr ""
-#: vms-alpha.c:6253
+#: vms-alpha.c:6330
#, c-format
msgid "OPR_USH (unsigned shift)\n"
msgstr ""
-#: vms-alpha.c:6256
+#: vms-alpha.c:6333
#, c-format
msgid "OPR_ROT (rotate)\n"
msgstr ""
-#: vms-alpha.c:6259
+#: vms-alpha.c:6336
#, c-format
msgid "OPR_SEL (select)\n"
msgstr ""
-#: vms-alpha.c:6262
+#: vms-alpha.c:6339
#, c-format
msgid "OPR_REDEF (redefine symbol to curr location)\n"
msgstr ""
-#: vms-alpha.c:6265
+#: vms-alpha.c:6342
#, c-format
msgid "OPR_REDEF (define a literal)\n"
msgstr ""
-#: vms-alpha.c:6269
+#: vms-alpha.c:6346
#, c-format
msgid "STC_LP (store cond linkage pair)\n"
msgstr ""
-#: vms-alpha.c:6273
+#: vms-alpha.c:6350
#, c-format
msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
msgstr ""
-#: vms-alpha.c:6275
+#: vms-alpha.c:6352
#, c-format
msgid " linkage index: %u, procedure: %.*s\n"
msgstr ""
-#: vms-alpha.c:6278
+#: vms-alpha.c:6355
#, c-format
msgid " signature: %.*s\n"
msgstr ""
-#: vms-alpha.c:6281
+#: vms-alpha.c:6358
#, c-format
msgid "STC_GBL (store cond global)\n"
msgstr ""
-#: vms-alpha.c:6283
+#: vms-alpha.c:6360
#, c-format
msgid " linkage index: %u, global: %.*s\n"
msgstr ""
-#: vms-alpha.c:6287
+#: vms-alpha.c:6364
#, c-format
msgid "STC_GCA (store cond code address)\n"
msgstr ""
-#: vms-alpha.c:6289
+#: vms-alpha.c:6366
#, c-format
msgid " linkage index: %u, procedure name: %.*s\n"
msgstr ""
-#: vms-alpha.c:6293
+#: vms-alpha.c:6370
#, c-format
msgid "STC_PS (store cond psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6296
+#: vms-alpha.c:6373
#, c-format
msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6303
+#: vms-alpha.c:6380
#, c-format
msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
msgstr ""
-#: vms-alpha.c:6307
+#: vms-alpha.c:6384
#, c-format
msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6311
+#: vms-alpha.c:6388
#, c-format
msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
msgstr ""
-#: vms-alpha.c:6315
+#: vms-alpha.c:6392
#, c-format
msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6319
+#: vms-alpha.c:6396
#, c-format
msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
msgstr ""
-#: vms-alpha.c:6323
+#: vms-alpha.c:6400
#, c-format
msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6327
+#: vms-alpha.c:6404
#, c-format
msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
msgstr ""
-#: vms-alpha.c:6331
+#: vms-alpha.c:6408
#, c-format
msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6336
+#: vms-alpha.c:6413
#, c-format
msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
msgstr ""
-#: vms-alpha.c:6340
+#: vms-alpha.c:6417
#, c-format
msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6344
+#: vms-alpha.c:6421
#, c-format
msgid "CTL_SETRB (set relocation base)\n"
msgstr ""
-#: vms-alpha.c:6350
+#: vms-alpha.c:6427
#, c-format
msgid "CTL_AUGRB (augment relocation base) %u\n"
msgstr ""
-#: vms-alpha.c:6354
+#: vms-alpha.c:6431
#, c-format
msgid "CTL_DFLOC (define location)\n"
msgstr ""
-#: vms-alpha.c:6357
+#: vms-alpha.c:6434
#, c-format
msgid "CTL_STLOC (set location)\n"
msgstr ""
-#: vms-alpha.c:6360
+#: vms-alpha.c:6437
#, c-format
msgid "CTL_STKDL (stack defined location)\n"
msgstr ""
-#: vms-alpha.c:6363 vms-alpha.c:6787 vms-alpha.c:6913
+#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
#, c-format
msgid "*unhandled*\n"
msgstr ""
-#: vms-alpha.c:6393 vms-alpha.c:6432
+#: vms-alpha.c:6470 vms-alpha.c:6509
#, c-format
msgid "cannot read GST record length\n"
msgstr ""
#. Ill-formed.
-#: vms-alpha.c:6414
+#: vms-alpha.c:6491
#, c-format
msgid "cannot find EMH in first GST record\n"
msgstr ""
-#: vms-alpha.c:6440
+#: vms-alpha.c:6517
#, c-format
msgid "cannot read GST record header\n"
msgstr ""
-#: vms-alpha.c:6453
+#: vms-alpha.c:6530
#, c-format
msgid " corrupted GST\n"
msgstr ""
-#: vms-alpha.c:6461
+#: vms-alpha.c:6538
#, c-format
msgid "cannot read GST record\n"
msgstr ""
-#: vms-alpha.c:6490
+#: vms-alpha.c:6567
#, c-format
msgid " unhandled EOBJ record type %u\n"
msgstr ""
-#: vms-alpha.c:6514
+#: vms-alpha.c:6591
#, c-format
msgid " bitcount: %u, base addr: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6528
+#: vms-alpha.c:6605
#, c-format
msgid " bitmap: 0x%08x (count: %u):\n"
msgstr ""
-#: vms-alpha.c:6535
+#: vms-alpha.c:6612
#, c-format
msgid " %08x"
msgstr ""
-#: vms-alpha.c:6561
+#: vms-alpha.c:6638
#, c-format
msgid " image %u (%u entries)\n"
msgstr ""
-#: vms-alpha.c:6567
+#: vms-alpha.c:6644
#, c-format
msgid " offset: 0x%08x, val: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6589
+#: vms-alpha.c:6666
#, c-format
msgid " image %u (%u entries), offsets:\n"
msgstr ""
-#: vms-alpha.c:6596
+#: vms-alpha.c:6673
#, c-format
msgid " 0x%08x"
msgstr ""
#. 64 bits.
-#: vms-alpha.c:6718
+#: vms-alpha.c:6795
#, c-format
msgid "64 bits *unhandled*\n"
msgstr ""
-#: vms-alpha.c:6723
+#: vms-alpha.c:6800
#, c-format
msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6734
+#: vms-alpha.c:6811
#, c-format
msgid "non-contiguous array of %s\n"
msgstr ""
-#: vms-alpha.c:6739
+#: vms-alpha.c:6816
#, c-format
msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
msgstr ""
-#: vms-alpha.c:6744
+#: vms-alpha.c:6821
#, c-format
msgid "arsize: %u, a0: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6748
+#: vms-alpha.c:6825
#, c-format
msgid "Strides:\n"
msgstr ""
-#: vms-alpha.c:6758
+#: vms-alpha.c:6835
#, c-format
msgid "Bounds:\n"
msgstr ""
-#: vms-alpha.c:6764
+#: vms-alpha.c:6841
#, c-format
msgid "[%u]: Lower: %u, upper: %u\n"
msgstr ""
-#: vms-alpha.c:6776
+#: vms-alpha.c:6853
#, c-format
msgid "unaligned bit-string of %s\n"
msgstr ""
-#: vms-alpha.c:6781
+#: vms-alpha.c:6858
#, c-format
msgid "base: %u, pos: %u\n"
msgstr ""
-#: vms-alpha.c:6802
+#: vms-alpha.c:6879
#, c-format
msgid "vflags: 0x%02x, value: 0x%08x "
msgstr ""
-#: vms-alpha.c:6808
+#: vms-alpha.c:6885
#, c-format
msgid "(no value)\n"
msgstr ""
-#: vms-alpha.c:6811
+#: vms-alpha.c:6888
#, c-format
msgid "(not active)\n"
msgstr ""
-#: vms-alpha.c:6814
+#: vms-alpha.c:6891
#, c-format
msgid "(not allocated)\n"
msgstr ""
-#: vms-alpha.c:6817
+#: vms-alpha.c:6894
#, c-format
msgid "(descriptor)\n"
msgstr ""
-#: vms-alpha.c:6821
+#: vms-alpha.c:6898
#, c-format
msgid "(trailing value)\n"
msgstr ""
-#: vms-alpha.c:6824
+#: vms-alpha.c:6901
#, c-format
msgid "(value spec follows)\n"
msgstr ""
-#: vms-alpha.c:6827
+#: vms-alpha.c:6904
#, c-format
msgid "(at bit offset %u)\n"
msgstr ""
-#: vms-alpha.c:6831
+#: vms-alpha.c:6908
#, c-format
msgid "(reg: %u, disp: %u, indir: %u, kind: "
msgstr ""
-#: vms-alpha.c:6838
+#: vms-alpha.c:6915
msgid "literal"
msgstr ""
-#: vms-alpha.c:6841
+#: vms-alpha.c:6918
msgid "address"
msgstr ""
-#: vms-alpha.c:6844
+#: vms-alpha.c:6921
msgid "desc"
msgstr ""
-#: vms-alpha.c:6847
+#: vms-alpha.c:6924
msgid "reg"
msgstr ""
-#: vms-alpha.c:6864
+#: vms-alpha.c:6941
#, c-format
msgid "len: %2u, kind: %2u "
msgstr ""
-#: vms-alpha.c:6870
+#: vms-alpha.c:6947
#, c-format
msgid "atomic, type=0x%02x %s\n"
msgstr ""
-#: vms-alpha.c:6874
+#: vms-alpha.c:6951
#, c-format
msgid "indirect, defined at 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6878
+#: vms-alpha.c:6955
#, c-format
msgid "typed pointer\n"
msgstr ""
-#: vms-alpha.c:6882
+#: vms-alpha.c:6959
#, c-format
msgid "pointer\n"
msgstr ""
-#: vms-alpha.c:6890
+#: vms-alpha.c:6967
#, c-format
msgid "array, dim: %u, bitmap: "
msgstr ""
-#: vms-alpha.c:6897
+#: vms-alpha.c:6974
#, c-format
msgid "array descriptor:\n"
msgstr ""
-#: vms-alpha.c:6904
+#: vms-alpha.c:6981
#, c-format
msgid "type spec for element:\n"
msgstr ""
-#: vms-alpha.c:6906
+#: vms-alpha.c:6983
#, c-format
msgid "type spec for subscript %u:\n"
msgstr ""
-#: vms-alpha.c:6924
+#: vms-alpha.c:7001
#, c-format
msgid "Debug symbol table:\n"
msgstr ""
-#: vms-alpha.c:6935
+#: vms-alpha.c:7012
#, c-format
msgid "cannot read DST header\n"
msgstr ""
-#: vms-alpha.c:6941
+#: vms-alpha.c:7018
#, c-format
msgid " type: %3u, len: %3u (at 0x%08x): "
msgstr ""
-#: vms-alpha.c:6955
+#: vms-alpha.c:7032
#, c-format
msgid "cannot read DST symbol\n"
msgstr ""
-#: vms-alpha.c:6998
+#: vms-alpha.c:7075
#, c-format
msgid "standard data: %s\n"
msgstr ""
-#: vms-alpha.c:7001 vms-alpha.c:7089
+#: vms-alpha.c:7078 vms-alpha.c:7166
#, c-format
msgid " name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7008
+#: vms-alpha.c:7085
#, c-format
msgid "modbeg\n"
msgstr ""
-#: vms-alpha.c:7010
+#: vms-alpha.c:7087
#, c-format
msgid " flags: %d, language: %u, major: %u, minor: %u\n"
msgstr ""
-#: vms-alpha.c:7016 vms-alpha.c:7290
+#: vms-alpha.c:7093 vms-alpha.c:7367
#, c-format
msgid " module name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7019
+#: vms-alpha.c:7096
#, c-format
msgid " compiler : %.*s\n"
msgstr ""
-#: vms-alpha.c:7024
+#: vms-alpha.c:7101
#, c-format
msgid "modend\n"
msgstr ""
-#: vms-alpha.c:7031
+#: vms-alpha.c:7108
msgid "rtnbeg\n"
msgstr ""
-#: vms-alpha.c:7033
+#: vms-alpha.c:7110
#, c-format
msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7038
+#: vms-alpha.c:7115
#, c-format
msgid " routine name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7046
+#: vms-alpha.c:7123
#, c-format
msgid "rtnend: size 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7054
+#: vms-alpha.c:7131
#, c-format
msgid "prolog: bkpt address 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7063
+#: vms-alpha.c:7140
#, c-format
msgid "epilog: flags: %u, count: %u\n"
msgstr ""
-#: vms-alpha.c:7073
+#: vms-alpha.c:7150
#, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7082
+#: vms-alpha.c:7159
#, c-format
msgid "blkend: size: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7088
+#: vms-alpha.c:7165
#, c-format
msgid "typspec (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7095
+#: vms-alpha.c:7172
#, c-format
msgid "septyp, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7104
+#: vms-alpha.c:7181
#, c-format
msgid "recbeg: name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7106
+#: vms-alpha.c:7183
#, c-format
msgid " len: %u bits\n"
msgstr ""
-#: vms-alpha.c:7111
+#: vms-alpha.c:7188
#, c-format
msgid "recend\n"
msgstr ""
-#: vms-alpha.c:7115
+#: vms-alpha.c:7192
#, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7119
+#: vms-alpha.c:7196
#, c-format
msgid "enumelt, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7123
+#: vms-alpha.c:7200
#, c-format
msgid "enumend\n"
msgstr ""
-#: vms-alpha.c:7128
+#: vms-alpha.c:7205
#, c-format
msgid "label, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7130
+#: vms-alpha.c:7207
#, c-format
msgid " address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7140
+#: vms-alpha.c:7217
#, c-format
msgid "discontiguous range (nbr: %u)\n"
msgstr ""
-#: vms-alpha.c:7143
+#: vms-alpha.c:7220
#, c-format
msgid " address: 0x%08x, size: %u\n"
msgstr ""
-#: vms-alpha.c:7153
+#: vms-alpha.c:7230
#, c-format
msgid "line num (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7170
+#: vms-alpha.c:7247
#, c-format
msgid "delta_pc_w %u\n"
msgstr ""
-#: vms-alpha.c:7177
+#: vms-alpha.c:7254
#, c-format
msgid "incr_linum(b): +%u\n"
msgstr ""
-#: vms-alpha.c:7183
+#: vms-alpha.c:7260
#, c-format
msgid "incr_linum_w: +%u\n"
msgstr ""
-#: vms-alpha.c:7189
+#: vms-alpha.c:7266
#, c-format
msgid "incr_linum_l: +%u\n"
msgstr ""
-#: vms-alpha.c:7195
+#: vms-alpha.c:7272
#, c-format
msgid "set_line_num(w) %u\n"
msgstr ""
-#: vms-alpha.c:7200
+#: vms-alpha.c:7277
#, c-format
msgid "set_line_num_b %u\n"
msgstr ""
-#: vms-alpha.c:7205
+#: vms-alpha.c:7282
#, c-format
msgid "set_line_num_l %u\n"
msgstr ""
-#: vms-alpha.c:7210
+#: vms-alpha.c:7287
#, c-format
msgid "set_abs_pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7214
+#: vms-alpha.c:7291
#, c-format
msgid "delta_pc_l: +0x%08x\n"
msgstr ""
-#: vms-alpha.c:7219
+#: vms-alpha.c:7296
#, c-format
msgid "term(b): 0x%02x"
msgstr ""
-#: vms-alpha.c:7221
+#: vms-alpha.c:7298
#, c-format
msgid " pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7226
+#: vms-alpha.c:7303
#, c-format
msgid "term_w: 0x%04x"
msgstr ""
-#: vms-alpha.c:7228
+#: vms-alpha.c:7305
#, c-format
msgid " pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7234
+#: vms-alpha.c:7311
#, c-format
msgid "delta pc +%-4d"
msgstr ""
-#: vms-alpha.c:7238
+#: vms-alpha.c:7315
#, c-format
msgid " pc: 0x%08x line: %5u\n"
msgstr ""
-#: vms-alpha.c:7243
+#: vms-alpha.c:7320
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr ""
-#: vms-alpha.c:7258
+#: vms-alpha.c:7335
#, c-format
msgid "source (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7273
+#: vms-alpha.c:7350
#, c-format
msgid " declfile: len: %u, flags: %u, fileid: %u\n"
msgstr ""
-#: vms-alpha.c:7278
+#: vms-alpha.c:7355
#, c-format
msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
msgstr ""
-#: vms-alpha.c:7287
+#: vms-alpha.c:7364
#, c-format
msgid " filename : %.*s\n"
msgstr ""
-#: vms-alpha.c:7296
+#: vms-alpha.c:7373
#, c-format
msgid " setfile %u\n"
msgstr ""
-#: vms-alpha.c:7301 vms-alpha.c:7306
+#: vms-alpha.c:7378 vms-alpha.c:7383
#, c-format
msgid " setrec %u\n"
msgstr ""
-#: vms-alpha.c:7311 vms-alpha.c:7316
+#: vms-alpha.c:7388 vms-alpha.c:7393
#, c-format
msgid " setlnum %u\n"
msgstr ""
-#: vms-alpha.c:7321 vms-alpha.c:7326
+#: vms-alpha.c:7398 vms-alpha.c:7403
#, c-format
msgid " deflines %u\n"
msgstr ""
-#: vms-alpha.c:7330
+#: vms-alpha.c:7407
#, c-format
msgid " formfeed\n"
msgstr ""
-#: vms-alpha.c:7334
+#: vms-alpha.c:7411
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr ""
-#: vms-alpha.c:7346
+#: vms-alpha.c:7423
#, c-format
msgid "*unhandled* dst type %u\n"
msgstr ""
-#: vms-alpha.c:7378
+#: vms-alpha.c:7455
#, c-format
msgid "cannot read EIHD\n"
msgstr ""
-#: vms-alpha.c:7382
+#: vms-alpha.c:7459
#, c-format
msgid "EIHD: (size: %u, nbr blocks: %u)\n"
msgstr ""
-#: vms-alpha.c:7386
+#: vms-alpha.c:7463
#, c-format
msgid " majorid: %u, minorid: %u\n"
msgstr ""
-#: vms-alpha.c:7394
+#: vms-alpha.c:7471
msgid "executable"
msgstr ""
-#: vms-alpha.c:7397
+#: vms-alpha.c:7474
msgid "linkable image"
msgstr ""
-#: vms-alpha.c:7404
+#: vms-alpha.c:7481
#, c-format
msgid " image type: %u (%s)"
msgstr ""
-#: vms-alpha.c:7410
+#: vms-alpha.c:7487
msgid "native"
msgstr ""
-#: vms-alpha.c:7413
+#: vms-alpha.c:7490
msgid "CLI"
msgstr ""
-#: vms-alpha.c:7420
+#: vms-alpha.c:7497
#, c-format
msgid ", subtype: %u (%s)\n"
msgstr ""
-#: vms-alpha.c:7427
+#: vms-alpha.c:7504
#, c-format
msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
msgstr ""
-#: vms-alpha.c:7431
+#: vms-alpha.c:7508
#, c-format
msgid " fixup info rva: "
msgstr ""
-#: vms-alpha.c:7433
+#: vms-alpha.c:7510
#, c-format
msgid ", symbol vector rva: "
msgstr ""
-#: vms-alpha.c:7436
+#: vms-alpha.c:7513
#, c-format
msgid ""
"\n"
" version array off: %u\n"
msgstr ""
-#: vms-alpha.c:7441
+#: vms-alpha.c:7518
#, c-format
msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
msgstr ""
-#: vms-alpha.c:7447
+#: vms-alpha.c:7524
#, c-format
msgid " linker flags: %08x:"
msgstr ""
-#: vms-alpha.c:7478
+#: vms-alpha.c:7555
#, c-format
msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
msgstr ""
-#: vms-alpha.c:7484
+#: vms-alpha.c:7561
#, c-format
msgid " BPAGE: %u"
msgstr ""
-#: vms-alpha.c:7491
+#: vms-alpha.c:7568
#, c-format
msgid ", ext fixup offset: %u, no_opt psect off: %u"
msgstr ""
-#: vms-alpha.c:7494
+#: vms-alpha.c:7571
#, c-format
msgid ", alias: %u\n"
msgstr ""
-#: vms-alpha.c:7502
+#: vms-alpha.c:7579
#, c-format
msgid "system version array information:\n"
msgstr ""
-#: vms-alpha.c:7506
+#: vms-alpha.c:7583
#, c-format
msgid "cannot read EIHVN header\n"
msgstr ""
-#: vms-alpha.c:7516
+#: vms-alpha.c:7593
#, c-format
msgid "cannot read EIHVN version\n"
msgstr ""
-#: vms-alpha.c:7519
+#: vms-alpha.c:7596
#, c-format
msgid " %02u "
msgstr ""
-#: vms-alpha.c:7523
+#: vms-alpha.c:7600
msgid "BASE_IMAGE "
msgstr ""
-#: vms-alpha.c:7526
+#: vms-alpha.c:7603
msgid "MEMORY_MANAGEMENT"
msgstr ""
-#: vms-alpha.c:7529
+#: vms-alpha.c:7606
msgid "IO "
msgstr ""
-#: vms-alpha.c:7532
+#: vms-alpha.c:7609
msgid "FILES_VOLUMES "
msgstr ""
-#: vms-alpha.c:7535
+#: vms-alpha.c:7612
msgid "PROCESS_SCHED "
msgstr ""
-#: vms-alpha.c:7538
+#: vms-alpha.c:7615
msgid "SYSGEN "
msgstr ""
-#: vms-alpha.c:7541
+#: vms-alpha.c:7618
msgid "CLUSTERS_LOCKMGR "
msgstr ""
-#: vms-alpha.c:7544
+#: vms-alpha.c:7621
msgid "LOGICAL_NAMES "
msgstr ""
-#: vms-alpha.c:7547
+#: vms-alpha.c:7624
msgid "SECURITY "
msgstr ""
-#: vms-alpha.c:7550
+#: vms-alpha.c:7627
msgid "IMAGE_ACTIVATOR "
msgstr ""
-#: vms-alpha.c:7553
+#: vms-alpha.c:7630
msgid "NETWORKS "
msgstr ""
-#: vms-alpha.c:7556
+#: vms-alpha.c:7633
msgid "COUNTERS "
msgstr ""
-#: vms-alpha.c:7559
+#: vms-alpha.c:7636
msgid "STABLE "
msgstr ""
-#: vms-alpha.c:7562
+#: vms-alpha.c:7639
msgid "MISC "
msgstr ""
-#: vms-alpha.c:7565
+#: vms-alpha.c:7642
msgid "CPU "
msgstr ""
-#: vms-alpha.c:7568
+#: vms-alpha.c:7645
msgid "VOLATILE "
msgstr ""
-#: vms-alpha.c:7571
+#: vms-alpha.c:7648
msgid "SHELL "
msgstr ""
-#: vms-alpha.c:7574
+#: vms-alpha.c:7651
msgid "POSIX "
msgstr ""
-#: vms-alpha.c:7577
+#: vms-alpha.c:7654
msgid "MULTI_PROCESSING "
msgstr ""
-#: vms-alpha.c:7580
+#: vms-alpha.c:7657
msgid "GALAXY "
msgstr ""
-#: vms-alpha.c:7583
+#: vms-alpha.c:7660
msgid "*unknown* "
msgstr ""
-#: vms-alpha.c:7599 vms-alpha.c:7874
+#: vms-alpha.c:7676 vms-alpha.c:7951
#, c-format
msgid "cannot read EIHA\n"
msgstr ""
-#: vms-alpha.c:7602
+#: vms-alpha.c:7679
#, c-format
msgid "Image activation: (size=%u)\n"
msgstr ""
-#: vms-alpha.c:7605
+#: vms-alpha.c:7682
#, c-format
msgid " First address : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7609
+#: vms-alpha.c:7686
#, c-format
msgid " Second address: 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7613
+#: vms-alpha.c:7690
#, c-format
msgid " Third address : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7617
+#: vms-alpha.c:7694
#, c-format
msgid " Fourth address: 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7621
+#: vms-alpha.c:7698
#, c-format
msgid " Shared image : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7632
+#: vms-alpha.c:7709
#, c-format
msgid "cannot read EIHI\n"
msgstr ""
-#: vms-alpha.c:7636
+#: vms-alpha.c:7713
#, c-format
msgid "Image identification: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:7639
+#: vms-alpha.c:7716
#, c-format
msgid " image name : %.*s\n"
msgstr ""
-#: vms-alpha.c:7641
+#: vms-alpha.c:7718
#, c-format
msgid " link time : %s\n"
msgstr ""
-#: vms-alpha.c:7643
+#: vms-alpha.c:7720
#, c-format
msgid " image ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:7645
+#: vms-alpha.c:7722
#, c-format
msgid " linker ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:7647
+#: vms-alpha.c:7724
#, c-format
msgid " image build ident: %.*s\n"
msgstr ""
-#: vms-alpha.c:7657
+#: vms-alpha.c:7734
#, c-format
msgid "cannot read EIHS\n"
msgstr ""
-#: vms-alpha.c:7661
+#: vms-alpha.c:7738
#, c-format
msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:7667
+#: vms-alpha.c:7744
#, c-format
msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
msgstr ""
-#: vms-alpha.c:7672
+#: vms-alpha.c:7749
#, c-format
msgid " global symbol table: vbn: %u, records: %u\n"
msgstr ""
-#: vms-alpha.c:7677
+#: vms-alpha.c:7754
#, c-format
msgid " debug module table : vbn: %u, size: %u\n"
msgstr ""
-#: vms-alpha.c:7690
+#: vms-alpha.c:7767
#, c-format
msgid "cannot read EISD\n"
msgstr ""
-#: vms-alpha.c:7701
+#: vms-alpha.c:7778
#, c-format
msgid ""
"Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
msgstr ""
-#: vms-alpha.c:7709
+#: vms-alpha.c:7786
#, c-format
msgid " section: base: 0x%08x%08x size: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7714
+#: vms-alpha.c:7791
#, c-format
msgid " flags: 0x%04x"
msgstr ""
-#: vms-alpha.c:7752
+#: vms-alpha.c:7829
#, c-format
msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
msgstr ""
-#: vms-alpha.c:7758
+#: vms-alpha.c:7835
msgid "NORMAL"
msgstr ""
-#: vms-alpha.c:7761
+#: vms-alpha.c:7838
msgid "SHRFXD"
msgstr ""
-#: vms-alpha.c:7764
+#: vms-alpha.c:7841
msgid "PRVFXD"
msgstr ""
-#: vms-alpha.c:7767
+#: vms-alpha.c:7844
msgid "SHRPIC"
msgstr ""
-#: vms-alpha.c:7770
+#: vms-alpha.c:7847
msgid "PRVPIC"
msgstr ""
-#: vms-alpha.c:7773
+#: vms-alpha.c:7850
msgid "USRSTACK"
msgstr ""
-#: vms-alpha.c:7779
+#: vms-alpha.c:7856
msgid ")\n"
msgstr ""
-#: vms-alpha.c:7782
+#: vms-alpha.c:7859
#, c-format
msgid " ident: 0x%08x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7792
+#: vms-alpha.c:7869
#, c-format
msgid "cannot read DMT\n"
msgstr ""
-#: vms-alpha.c:7796
+#: vms-alpha.c:7873
#, c-format
msgid "Debug module table:\n"
msgstr ""
-#: vms-alpha.c:7805
+#: vms-alpha.c:7882
#, c-format
msgid "cannot read DMT header\n"
msgstr ""
-#: vms-alpha.c:7811
+#: vms-alpha.c:7888
#, c-format
msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
msgstr ""
-#: vms-alpha.c:7821
+#: vms-alpha.c:7898
#, c-format
msgid "cannot read DMT psect\n"
msgstr ""
-#: vms-alpha.c:7825
+#: vms-alpha.c:7902
#, c-format
msgid " psect start: 0x%08x, length: %u\n"
msgstr ""
-#: vms-alpha.c:7838
+#: vms-alpha.c:7915
#, c-format
msgid "cannot read DST\n"
msgstr ""
-#: vms-alpha.c:7848
+#: vms-alpha.c:7925
#, c-format
msgid "cannot read GST\n"
msgstr ""
-#: vms-alpha.c:7852
+#: vms-alpha.c:7929
#, c-format
msgid "Global symbol table:\n"
msgstr ""
-#: vms-alpha.c:7881
+#: vms-alpha.c:7958
#, c-format
msgid "Image activator fixup: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:7885
+#: vms-alpha.c:7962
#, c-format
msgid " iaflink : 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:7889
+#: vms-alpha.c:7966
#, c-format
msgid " fixuplnk: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:7892
+#: vms-alpha.c:7969
#, c-format
msgid " size : %u\n"
msgstr ""
-#: vms-alpha.c:7894
+#: vms-alpha.c:7971
#, c-format
msgid " flags: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7899
+#: vms-alpha.c:7976
#, c-format
msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
msgstr ""
-#: vms-alpha.c:7904
+#: vms-alpha.c:7981
#, c-format
msgid " qdotadroff: %5u, ldotadroff: %5u\n"
msgstr ""
-#: vms-alpha.c:7909
+#: vms-alpha.c:7986
#, c-format
msgid " codeadroff: %5u, lpfixoff : %5u\n"
msgstr ""
-#: vms-alpha.c:7912
+#: vms-alpha.c:7989
#, c-format
msgid " chgprtoff : %5u\n"
msgstr ""
-#: vms-alpha.c:7916
+#: vms-alpha.c:7993
#, c-format
msgid " shlstoff : %5u, shrimgcnt : %5u\n"
msgstr ""
-#: vms-alpha.c:7919
+#: vms-alpha.c:7996
#, c-format
msgid " shlextra : %5u, permctx : %5u\n"
msgstr ""
-#: vms-alpha.c:7922
+#: vms-alpha.c:7999
#, c-format
msgid " base_va : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7924
+#: vms-alpha.c:8001
#, c-format
msgid " lppsbfixoff: %5u\n"
msgstr ""
-#: vms-alpha.c:7932
+#: vms-alpha.c:8009
#, c-format
msgid " Shareable images:\n"
msgstr ""
-#: vms-alpha.c:7937
+#: vms-alpha.c:8014
#, c-format
msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7944
+#: vms-alpha.c:8021
#, c-format
msgid " quad-word relocation fixups:\n"
msgstr ""
-#: vms-alpha.c:7949
+#: vms-alpha.c:8026
#, c-format
msgid " long-word relocation fixups:\n"
msgstr ""
-#: vms-alpha.c:7954
+#: vms-alpha.c:8031
#, c-format
msgid " quad-word .address reference fixups:\n"
msgstr ""
-#: vms-alpha.c:7959
+#: vms-alpha.c:8036
#, c-format
msgid " long-word .address reference fixups:\n"
msgstr ""
-#: vms-alpha.c:7964
+#: vms-alpha.c:8041
#, c-format
msgid " Code Address Reference Fixups:\n"
msgstr ""
-#: vms-alpha.c:7969
+#: vms-alpha.c:8046
#, c-format
msgid " Linkage Pairs Reference Fixups:\n"
msgstr ""
-#: vms-alpha.c:7978
+#: vms-alpha.c:8055
#, c-format
msgid " Change Protection (%u entries):\n"
msgstr ""
-#: vms-alpha.c:7984
+#: vms-alpha.c:8061
#, c-format
msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
msgstr ""
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
-#: vms-alpha.c:8824
+#: vms-alpha.c:8901
msgid "%P: relocatable link is not supported\n"
msgstr ""
-#: vms-alpha.c:8895
+#: vms-alpha.c:8972
#, c-format
msgid "%P: multiple entry points: in modules %B and %B\n"
msgstr ""
@@ -8033,12 +8073,12 @@ msgstr ""
#: xcofflink.c:1502
#, c-format
-msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"
msgstr ""
#: xcofflink.c:1532
#, c-format
-msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"
msgstr ""
#: xcofflink.c:1679
@@ -8053,7 +8093,7 @@ msgstr ""
#: xcofflink.c:2108
#, c-format
-msgid "%B: reloc %s:%d not in csect"
+msgid "%B: reloc %s:%Ld not in csect"
msgstr ""
#: xcofflink.c:3198
@@ -8087,54 +8127,54 @@ msgstr ""
#: xcofflink.c:5115
#, c-format
-msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
+msgid "TOC overflow: %#Lx > 0x10000; try -mminimal-toc when compiling"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:1890
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:1890
#, c-format
msgid "Invalid AArch64 reloc number: %d"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4777
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:4777
msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4858
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:4858
msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5340
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5340
#, c-format
msgid ""
"%B: relocation %s against symbol `%s' which may bind externally can not be "
"used when making a shared object; recompile with -fPIC"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5431
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5431
#, c-format
msgid ""
"%B: Local symbol descriptor table be NULL when applying relocation %s "
"against local symbol"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6459
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6453
msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6487
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6481
msgid ""
"One possible cause of this error is that the symbol is being referenced in "
"the indicated code as if it had a larger alignment than was declared where "
"it was defined."
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2600
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2600
msgid ""
"%B: ABI is incompatible with that of the selected emulation:\n"
" target emulation `%s' does not match `%s'"
msgstr ""
-#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2620
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2620
msgid "%B: can't link hard-float modules with soft-float modules"
msgstr ""
@@ -8152,7 +8192,7 @@ msgstr ""
#: peigen.c:532 pepigen.c:532 pex64igen.c:532
msgid ""
-"%B: aout header specifies an invalid number of data-directory entries: %d"
+"%B: aout header specifies an invalid number of data-directory entries: %ld"
msgstr ""
#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
@@ -8654,7 +8694,7 @@ msgstr ""
#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
#, c-format
-msgid "%B: Data Directory size (%lx) exceeds space left in section (%lx)"
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
msgstr ""
#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
diff --git a/bfd/po/es.po b/bfd/po/es.po
index cbdfe90..73e12b5 100644
--- a/bfd/po/es.po
+++ b/bfd/po/es.po
@@ -12,6 +12,7 @@ msgstr ""
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/fi.po b/bfd/po/fi.po
index 7f2fa2c..14752f4 100644
--- a/bfd/po/fi.po
+++ b/bfd/po/fi.po
@@ -12,6 +12,7 @@ msgstr ""
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/fr.po b/bfd/po/fr.po
index 83da6dc..fe2855f 100644
--- a/bfd/po/fr.po
+++ b/bfd/po/fr.po
@@ -1,176 +1,191 @@
# Messages français pour GNU concernant bfd.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
-# Frédéric Marchal <fmarchal@perso.be>, 2012.
+# Frédéric Marchal <fmarchal@perso.be>, 2017.
msgid ""
msgstr ""
-"Project-Id-Version: bfd-2.22.90\n"
+"Project-Id-Version: bfd-2.28.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-07-28 10:47+0200\n"
+"POT-Creation-Date: 2017-07-03 16:54+0200\n"
+"PO-Revision-Date: 2017-07-23 16:42+0200\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n >= 2);\n"
-#: aout-adobe.c:127
+#: aout-adobe.c:126
+#, c-format
msgid "%B: Unknown section type in a.out.adobe file: %x\n"
msgstr "%B: Type de section inconnu dans le fichier a.out.adobe: %x\n"
-#: aout-cris.c:199
+#: aout-cris.c:200
#, c-format
-msgid "%s: Invalid relocation type exported: %d"
-msgstr "%s: Type de réadressage exporté invalide: %d"
+msgid "%B: Invalid relocation type exported: %d"
+msgstr "%B: Type de réadressage exporté invalide: %d"
-#: aout-cris.c:242
+#: aout-cris.c:244
+#, c-format
msgid "%B: Invalid relocation type imported: %d"
msgstr "%B: Type de réadressage importé invalide: %d"
-#: aout-cris.c:253
+#: aout-cris.c:256
+#, c-format
msgid "%B: Bad relocation record imported: %d"
msgstr "%B: Mauvais enregistrement de réadressage importé: %d"
-#: aoutx.h:1273 aoutx.h:1611
+#: aoutx.h:1284 aoutx.h:1621 pdp11.c:1152 pdp11.c:1413
#, c-format
-msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: ne peut représenter la section «%s» dans le fichier format objet a.out"
+msgid "%B: can not represent section `%A' in a.out object file format"
+msgstr "%B: ne peut représenter la section « %A » dans le fichier format objet a.out"
-#: aoutx.h:1577
+#: aoutx.h:1585 pdp11.c:1385
#, c-format
-msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: ne peut représenter la section pour le symbole «%s» dans le fichier format objet a.out"
+msgid "%B: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%B: ne peut représenter la section pour le symbole « %s » dans le fichier format objet a.out"
-#: aoutx.h:1579 vms-alpha.c:7671
+#: aoutx.h:1588 vms-alpha.c:7776
msgid "*unknown*"
msgstr "*inconnu*"
-#: aoutx.h:4018 aoutx.h:4344
+#: aoutx.h:2407 aoutx.h:2425
+msgid "%B: attempt to write out unknown reloc type"
+msgstr "%B: tentative d'écrire un type de réadressage inconnu"
+
+#: aoutx.h:4077 aoutx.h:4398
msgid "%P: %B: unexpected relocation type\n"
msgstr "%P: %B: type de réadressage non supporté\n"
-#: aoutx.h:5375
+#: aoutx.h:5424 pdp11.c:3708
#, c-format
-msgid "%s: relocatable link from %s to %s not supported"
-msgstr "%s: lien relocalisable de %s vers %s n'est pas supporté"
+msgid "%B: relocatable link from %s to %s not supported"
+msgstr "%B: lien relocalisable de %s vers %s n'est pas supporté"
-#: archive.c:2203
+#: archive.c:2293
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr "Attention: l'écriture de l'archive était lente: réécriture du cachet de date-heure\n"
-#: archive.c:2491
+#: archive.c:2405 linker.c:1408
+msgid "%B: plugin needed to handle lto object"
+msgstr "%B: le greffon doit gérer l'objet lto"
+
+#: archive.c:2634
msgid "Reading archive file mod timestamp"
msgstr "Lecture du cachet date-heure modifié du fichier d'archive"
-#: archive.c:2515
+#: archive.c:2658
msgid "Writing updated armap timestamp"
msgstr "Écriture du cachet date-heure armap mise à jour"
-#: bfd.c:398
+#: bfd.c:454
msgid "No error"
msgstr "Pas d'erreur"
-#: bfd.c:399
+#: bfd.c:455
msgid "System call error"
msgstr "Erreur d'appel système"
-#: bfd.c:400
+#: bfd.c:456
msgid "Invalid bfd target"
msgstr "Cible bfd invalide"
-#: bfd.c:401
+#: bfd.c:457
msgid "File in wrong format"
msgstr "Fichier dans un mauvais format"
-#: bfd.c:402
+#: bfd.c:458
msgid "Archive object file in wrong format"
msgstr "Fichier objet d'archive dans un mauvais format"
-#: bfd.c:403
+#: bfd.c:459
msgid "Invalid operation"
msgstr "Opération invalide"
-#: bfd.c:404
+#: bfd.c:460
msgid "Memory exhausted"
msgstr "Mémoire épuisée"
-#: bfd.c:405
+#: bfd.c:461
msgid "No symbols"
msgstr "Aucun symbole"
-#: bfd.c:406
+#: bfd.c:462
msgid "Archive has no index; run ranlib to add one"
msgstr "L'archive n'a pas d'index; exécuter ranlib pour en ajouter un"
-#: bfd.c:407
+#: bfd.c:463
msgid "No more archived files"
msgstr "Aucun autre fichier d'archive"
-#: bfd.c:408
+#: bfd.c:464
msgid "Malformed archive"
msgstr "Archive mal formée"
-#: bfd.c:409
+#: bfd.c:465
+msgid "DSO missing from command line"
+msgstr "DSO manquant dans la ligne de commande"
+
+#: bfd.c:466
msgid "File format not recognized"
msgstr "Format de fichier non reconnu"
-#: bfd.c:410
+#: bfd.c:467
msgid "File format is ambiguous"
msgstr "Format de fichier ambigu"
-#: bfd.c:411
+#: bfd.c:468
msgid "Section has no contents"
msgstr "Section sans contenu"
-#: bfd.c:412
+#: bfd.c:469
msgid "Nonrepresentable section on output"
msgstr "Section non-représentable sur la sortie"
-#: bfd.c:413
+#: bfd.c:470
msgid "Symbol needs debug section which does not exist"
msgstr "Symboles ont besoin de la section de débug qui est inexistente"
-#: bfd.c:414
+#: bfd.c:471
msgid "Bad value"
msgstr "Mauvaise valeur"
-#: bfd.c:415
+#: bfd.c:472
msgid "File truncated"
msgstr "Fichier tronqué"
-#: bfd.c:416
+#: bfd.c:473
msgid "File too big"
msgstr "Fichier trop gros"
-#: bfd.c:417
+#: bfd.c:474
#, c-format
msgid "Error reading %s: %s"
msgstr "Erreur lors de la lecture de %s: %s"
-#: bfd.c:418
+#: bfd.c:475
msgid "#<Invalid error code>"
msgstr "#<Code d'erreur invalide>"
-#: bfd.c:945
+#: bfd.c:1138
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr "BFD assertion %s a échoué %s:%d"
-#: bfd.c:957
+#: bfd.c:1151
#, c-format
-msgid "BFD %s internal error, aborting at %s line %d in %s\n"
-msgstr "BFD erreur interne %s, abandon à %s, ligne %d dans %s\n"
+msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+msgstr "BFD erreur interne %s, abandon à %s:%d dans %s\n"
-#: bfd.c:961
+#: bfd.c:1156
#, c-format
-msgid "BFD %s internal error, aborting at %s line %d\n"
-msgstr "BFD erreur interne %s, abandon à %s, ligne %d\n"
+msgid "BFD %s internal error, aborting at %s:%d\n"
+msgstr "BFD erreur interne %s, abandon à %s:%d\n"
-#: bfd.c:963
+#: bfd.c:1158
msgid "Please report this bug.\n"
msgstr "Merci de rapporter cette anomalie.\n"
@@ -184,22 +199,23 @@ msgstr "pas de table de projection: données=%lx adresse de la table=%d\n"
msgid "not mapping: env var not set\n"
msgstr "pas de table de projection: variable d'environnement pas initialisée\n"
-#: binary.c:271
+#: binary.c:276
#, c-format
-msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "Attention: Écriture de la section «%s» vers un énorme décalage (ie négatif) dans le fichier 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset 0x%lx."
+msgstr "Attention: écriture de la section « %A » vers un énorme décalage (c-à-d négatif) dans le fichier 0x%lx."
-#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
-#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
-#: elf64-ia64.c:360
+#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8017 reloc16.c:156
+#: elf32-ia64.c:351 elf64-ia64.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr "%P%F: --relax et -r ne peuvent pas être utilisés en même temps\n"
-#: cache.c:227
+#: cache.c:273
+#, c-format
msgid "reopening %B: %s\n"
msgstr "réouverture de %B: %s\n"
-#: coff-alpha.c:491
+#: coff-alpha.c:450
msgid ""
"%B: Cannot handle compressed Alpha binaries.\n"
" Use compiler flags, or objZ, to generate uncompressed binaries."
@@ -207,42 +223,44 @@ msgstr ""
"%B: Les binaires compressés pour Alpha ne sont pas supportés.\n"
" Utilisez les options du compilateur ou objZ pour produire des binaires non compressés."
-#: coff-alpha.c:648
+#: coff-alpha.c:602
msgid "%B: unknown/unsupported relocation type %d"
msgstr "%B: type de réadressage %d inconnu ou non supporté"
-#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:944
msgid "GP relative relocation used when GP not defined"
msgstr "Réadressage relatif GP utilisé alors que GP n'est pas défini"
-#: coff-alpha.c:1502
+#: coff-alpha.c:1444
msgid "using multiple gp values"
msgstr "utilisation de valeurs gp multiples"
-#: coff-alpha.c:1561
+#: coff-alpha.c:1503
msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
msgstr "%B: type de réadressage non supporté: ALPHA_R_GPRELHIGH"
-#: coff-alpha.c:1568
+#: coff-alpha.c:1510
msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
msgstr "%B: type de réadressage non supporté: ALPHA_R_GPRELLOW"
-#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418
+#: elf32-microblaze.c:952 elf64-alpha.c:4167 elf64-alpha.c:4315
+#: elf64-ia64-vms.c:3431 elf32-ia64.c:3839 elf64-ia64.c:3839
+#, c-format
msgid "%B: unknown relocation type %d"
msgstr "%B: type de réadressage %d inconnu"
-#: coff-arm.c:1038
+#: coff-arm.c:1032
#, c-format
msgid "%B: unable to find THUMB glue '%s' for `%s'"
-msgstr "%B: incapable de repérer le REPÈRE de liant «%s» pour «%s»"
+msgstr "%B: incapable de repérer le REPÈRE de liant « %s » pour « %s »"
-#: coff-arm.c:1067
+#: coff-arm.c:1061
#, c-format
msgid "%B: unable to find ARM glue '%s' for `%s'"
-msgstr "%B: incapable de repérer le liant ARM «%s» pour «%s»"
+msgstr "%B: incapable de repérer le liant ARM « %s » pour « %s »"
-#: coff-arm.c:1369 elf32-arm.c:7023
+#: coff-arm.c:1363 elf32-arm.c:8896
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -251,7 +269,7 @@ msgstr ""
"%B(%s): attention: l'inter-réseautage n'est pas activé.\n"
" première occurrence: %B: appel arm au repère"
-#: coff-arm.c:1459
+#: coff-arm.c:1453
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -262,317 +280,488 @@ msgstr ""
" première occurrence: %B: appel arm au repère\n"
" reliez avec --support-old-code activé"
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
+#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
+#, c-format
msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: mauvaise adresse de relocalisation 0x%lx dans la section «%A»"
+msgstr "%B: mauvaise adresse de réadressage 0x%lx dans la section « %A »"
-#: coff-arm.c:2079
+#: coff-arm.c:2071
+#, c-format
msgid "%B: illegal symbol index in reloc: %d"
-msgstr "%B: symbole index illégal dans la relocalisation: %d"
+msgstr "%B: symbole index illégal dans le réadressage: %d"
-#: coff-arm.c:2210
+#: coff-arm.c:2203
#, c-format
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr "erreur: %B compilé pour APCS-%d alors que %B a été compilé pour APCS-%d"
-#: coff-arm.c:2226 elf32-arm.c:15621
+#: coff-arm.c:2216 elf32-arm.c:19756
#, c-format
msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
msgstr "erreur: %B passage de valeurs en virgule flottante dans les registres FP alors que %B les passe dans les registres entiers"
-#: coff-arm.c:2229 elf32-arm.c:15625
+#: coff-arm.c:2221 elf32-arm.c:19760
#, c-format
msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
msgstr "erreur: %B passage de valeurs en virgule flottante dans les registres entiers alors que %B les passe dans les registres FP"
-#: coff-arm.c:2243
+#: coff-arm.c:2233
#, c-format
msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
msgstr "erreur: %B compilé avec du code à position indépendante alors que la cible %B est à position absolue"
-#: coff-arm.c:2246
+#: coff-arm.c:2238
#, c-format
msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
msgstr "erreur: %B compilé avec du code à position absolu alors que la cible %B est à position indépendante"
-#: coff-arm.c:2274 elf32-arm.c:15690
+#: coff-arm.c:2265 elf32-arm.c:19825
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr "Attention: %B supporte l'inter-réseautage, contrairement à %B"
-#: coff-arm.c:2277 elf32-arm.c:15696
+#: coff-arm.c:2270 elf32-arm.c:19831
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr "Attention: %B ne supporte pas l'inter-réseautage, contrairement à %B"
-#: coff-arm.c:2301
+#: coff-arm.c:2293
#, c-format
msgid "private flags = %x:"
msgstr "fanions privés = %x:"
-#: coff-arm.c:2309 elf32-arm.c:11806
+#: coff-arm.c:2301 elf32-arm.c:14156
#, c-format
msgid " [floats passed in float registers]"
msgstr " [valeurs en virgule flottante passées dans des registres de valeurs en virgule flottante]"
-#: coff-arm.c:2311
+#: coff-arm.c:2303
#, c-format
msgid " [floats passed in integer registers]"
msgstr " [valeurs en virgule flottante passées dans des registres de valeurs entières]"
-#: coff-arm.c:2314 elf32-arm.c:11809
+#: coff-arm.c:2306 elf32-arm.c:14159
#, c-format
msgid " [position independent]"
msgstr " [position indépendante]"
-#: coff-arm.c:2316
+#: coff-arm.c:2308
#, c-format
msgid " [absolute position]"
msgstr " [position absolue]"
-#: coff-arm.c:2320
+#: coff-arm.c:2312
#, c-format
msgid " [interworking flag not initialised]"
msgstr " [fanion d'inter-réseautage n'a pas été initialisé]"
-#: coff-arm.c:2322
+#: coff-arm.c:2314
#, c-format
msgid " [interworking supported]"
msgstr " [inter-réseautage supporté]"
-#: coff-arm.c:2324
+#: coff-arm.c:2316
#, c-format
msgid " [interworking not supported]"
msgstr " [inter-réseautage non supporté]"
-#: coff-arm.c:2370 elf32-arm.c:10841
-#, c-format
+#: coff-arm.c:2361 elf32-arm.c:13017
msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
msgstr "Attention: Pas d'initialisation du fanion d'inter-réseautage de %B puisqu'il a déjà été spécifié sans inter-réseautage"
-#: coff-arm.c:2374 elf32-arm.c:10845
-#, c-format
+#: coff-arm.c:2364 elf32-arm.c:13021
msgid "Warning: Clearing the interworking flag of %B due to outside request"
msgstr "Attention: Mise à zéro du fanion d'inter-réseautage de %B en raison d'une requête externe"
-#: coff-h8300.c:1122
+#: coff-arm.c:2421 elf32-arm.c:13066
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr "Attention: mise à zéro du fanion d'inter-réseautage %B en raison du code sans inter-réseautage dans %B lié avec lui"
+
+#: coff-h8300.c:1068
#, c-format
msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
-msgstr "ne peut traiter la relocalisation R_MEM_INDIRECT lorsque %s est utilisé en sortie"
+msgstr "ne peut traiter le réadressage R_MEM_INDIRECT lorsque %s est utilisé en sortie"
-#: coff-i860.c:147
+#: coff-i860.c:146
#, c-format
msgid "relocation `%s' not yet implemented"
msgstr "réadressage « %s » pas encore implémenté"
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5314
+#, c-format
msgid "%B: warning: illegal symbol index %ld in relocs"
-msgstr "%B: attention: symbole index illégal %ld dans les relocalisations"
+msgstr "%B: attention: symbole index illégal %ld dans les réadressages"
-#: coff-i960.c:144 coff-i960.c:507
+#: coff-i960.c:122 coff-i960.c:475
msgid "uncertain calling convention for non-COFF symbol"
msgstr "convention d'appel incertaine pour un symbole non COFF"
-#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+#: coff-m68k.c:483 elf32-bfin.c:5530 elf32-cr16.c:2817 elf32-m68k.c:4574
msgid "unsupported reloc type"
-msgstr "type de relocalisation non supporté"
+msgstr "type de réadressage non supporté"
-#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
-#: elf64-mips.c:2618 elfn32-mips.c:2431
+#: coff-mips.c:634 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2954
msgid "GP relative relocation when _gp not defined"
msgstr "réadressage relatif GP sans que _gp ne soit défini"
-#: coff-or32.c:229
-msgid "Unrecognized reloc"
-msgstr "Relocalisation non reconnue"
-
-#: coff-rs6000.c:2720
+#: coff-rs6000.c:2747
#, c-format
-msgid "%s: unsupported relocation type 0x%02x"
-msgstr "%s: type de réadressage non supporté 0x%02x"
+msgid "%B: unsupported relocation type 0x%02x"
+msgstr "%B: type de réadressage non supporté 0x%02x"
-#: coff-rs6000.c:2805
+#: coff-rs6000.c:2833
#, c-format
-msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%s: table des matières des relocalisations à 0x%x pour le symbole «%s» sans aucune entrée"
+msgid "%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
+msgstr "%B: la table des matières des réadressages à 0x%x pour le symbole « %s » sans aucune entrée"
-#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+#: coff-rs6000.c:3579 coff64-rs6000.c:2110
+#, c-format
msgid "%B: symbol `%s' has unrecognized smclas %d"
-msgstr "%B: symbole «%s» a une classe smclas %d non reconnue"
+msgstr "%B: symbole « %s » a une classe smclas %d non reconnue"
-#: coff-sh.c:521
+#: coff-sh.c:504
#, c-format
msgid "SH Error: unknown reloc type %d"
msgstr "Erreur SH: type de réadressage %d inconnu"
-#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#: coff-sh.c:778 elf32-sh.c:580
#, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr "Type de relocalisation non reconnu 0x%x"
+msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
+msgstr "%B: 0x%lx: attention: mauvais décalage pour R_SH_USES"
-#: coff-tic4x.c:240
+#: coff-sh.c:789 elf32-sh.c:592
#, c-format
-msgid "%s: warning: illegal symbol index %ld in relocs"
-msgstr "%s: attention: symbole index illégal %ld dans les relocalisations"
+msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x"
+
+#: coff-sh.c:807 elf32-sh.c:610
+#, c-format
+msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
+msgstr "%B: 0x%lx: attention: mauvais décalage de chargement R_SH_USES"
+
+#: coff-sh.c:832 elf32-sh.c:626
+#, c-format
+msgid "%B: 0x%lx: warning: could not find expected reloc"
+msgstr "%B: 0x%lx: attention: ne peut repérer le réadressage attendu"
+
+#: coff-sh.c:849 elf32-sh.c:655
+#, c-format
+msgid "%B: 0x%lx: warning: symbol in unexpected section"
+msgstr "%B: 0x%lx: attention: symbole dans une section inattendue"
-#: coff-w65.c:367
+#: coff-sh.c:975 elf32-sh.c:785
+#, c-format
+msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
+msgstr "%B: 0x%lx: attention: ne peut repérer le compteur de réadressages attendu"
+
+#: coff-sh.c:985 elf32-sh.c:795
+#, c-format
+msgid "%B: 0x%lx: warning: bad count"
+msgstr "%B: 0x%lx: attention: mauvais décompte"
+
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
+#, c-format
+msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
+msgstr "%B: 0x%lx: erreur fatale: débordement de réadressage lors des relâches"
+
+#: coff-sh.c:1452
+msgid "%B: fatal: generic symbols retrieved before relaxing"
+msgstr "%B: fatal: symboles génériques récupérés avant la relâche"
+
+#: coff-sh.c:2783 cofflink.c:2961
+#, c-format
+msgid "%B: illegal symbol index %ld in relocs"
+msgstr "%B: symbole index %ld illégal dans les réadressages"
+
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:439
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr "Type de réadressage non reconnu 0x%x"
+
+#: coff-w65.c:352
#, c-format
msgid "ignoring reloc %s\n"
-msgstr "relocalisation %s ignorée\n"
+msgstr "réadressage %s ignoré\n"
+
+#: coffcode.h:968
+msgid "%B: unable to load COMDAT section name"
+msgstr "%B: impossible de charger le nom de section COMDAT"
-#: coffcode.h:997
+#: coffcode.h:1009
+#, c-format
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
-msgstr "%B: attention: symbole COMDAT «%s» ne concorde par avec le nom de section «%s»"
+msgstr "%B: attention: symbole COMDAT « %s » ne concorde par avec le nom de section « %s »"
+
+#: coffcode.h:1019
+#, c-format
+msgid "%B: warning: No symbol for section '%s' found"
+msgstr "%B: attention: Pas de symbole trouvé pour la section « %s »"
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
-#: coffcode.h:1221
+#: coffcode.h:1245
+#, c-format
msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
msgstr "%B: Attention: Ignore le fanion de section IMAGE_SCN_MEM_NOT_PAGED dans la section %s"
-#: coffcode.h:1288
+#: coffcode.h:1314
+#, c-format
msgid "%B (%s): Section flag %s (0x%x) ignored"
msgstr "%B (%s): Fanion de section %s (0x%x) ignoré"
-#: coffcode.h:2430
+#: coffcode.h:1949
+msgid "%B: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%B: attention: prétend avoir 0xffff réadressages, sans débordement"
+
+#: coffcode.h:2465
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
-msgstr "Identificateur de cible TI COFF non reconnu «0x%x»"
+msgstr "Identificateur de cible TI COFF non reconnu « 0x%x »"
+
+#: coffcode.h:2783
+#, c-format
+msgid "%B: reloc against a non-existent symbol index: %ld"
+msgstr "%B: réadressage par rapport à un index de symbole inexistant: %ld"
-#: coffcode.h:2744
-msgid "%B: reloc against a non-existant symbol index: %ld"
-msgstr "%B: relocalisation par rapport à un indexe de symbole inexistant: %ld"
+#: coffcode.h:3186
+#, c-format
+msgid "%B: page size is too large (0x%x)"
+msgstr "%B: la taille de page est trop grande (0x%x)"
-#: coffcode.h:3302
+#: coffcode.h:3346
+#, c-format
msgid "%B: too many sections (%d)"
msgstr "%B: trop de sections (%d)"
-#: coffcode.h:3718
-msgid "%B: section %s: string table overflow at offset %ld"
-msgstr "%B: section %s: débordement de la table de chaînes à l'offset %ld"
+#: coffcode.h:3767
+#, c-format
+msgid "%B: section %A: string table overflow at offset %ld"
+msgstr "%B: section %A: débordement de la table de chaînes à l'offset %ld"
-#: coffcode.h:4523
+#: coffcode.h:4585
msgid "%B: warning: line number table read failed"
msgstr "%B: attention: erreur lors de la lecture de la table des numéros de ligne"
-#: coffcode.h:4553
-msgid "%B: warning: illegal symbol index %ld in line numbers"
-msgstr "%B: attention: symbole d'index illégal %ld dans les numéros de ligne"
+#: coffcode.h:4619 coffcode.h:4633
+#, c-format
+msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%B: attention: symbole d'index 0x%lx illégal dans l'entrée %d des numéros de lignes"
+
+#: coffcode.h:4647
+#, c-format
+msgid "%B: warning: illegal symbol in line number entry %d"
+msgstr "%B: attention: symbole illégal dans l'entrée %d des numéros de lignes"
-#: coffcode.h:4567
+#: coffcode.h:4660
+#, c-format
msgid "%B: warning: duplicate line number information for `%s'"
-msgstr "%B: attention: information de numéro de ligne dédoublée pour «%s»"
+msgstr "%B: attention: information de numéro de ligne dédoublée pour « %s »"
-#: coffcode.h:4967
+#: coffcode.h:5074
+#, c-format
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
-msgstr "%B: Classe de stockage %d non reconnue pour %s symbole «%s»"
+msgstr "%B: Classe de stockage %d non reconnue pour %s symbole « %s »"
-#: coffcode.h:5093
+#: coffcode.h:5207
+#, c-format
msgid "warning: %B: local symbol `%s' has no section"
-msgstr "attention: %B: symbole local «%s» n'a pas de section"
+msgstr "attention: %B: symbole local « %s » n'a pas de section"
-#: coffcode.h:5237
+#: coffcode.h:5354
+#, c-format
msgid "%B: illegal relocation type %d at address 0x%lx"
msgstr "%B: type de réadressage %d illégal à l'adresse 0x%lx"
-#: coffgen.c:1595
+#: coffgen.c:178 elf.c:1181
+#, c-format
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: impossible d'initialiser le statut de compression de la section %s"
+
+#: coffgen.c:202 elf.c:1192
+#, c-format
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: impossible d'initialiser le statut de décompression de la section %s"
+
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1648
+msgid "%B: Not enough memory to allocate space for %lu symbols"
+msgstr "%B: Pas assez de mémoire pour allouer l'espace pour %lu symboles"
+
+#: coffgen.c:1716
+#, c-format
msgid "%B: bad string table size %lu"
msgstr "%B: mauvaise taille de la table des chaînes %lu"
-#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
+#: xcofflink.c:4507
+msgid "<corrupt>"
+msgstr "<corrompu>"
+
+#: coffgen.c:2087
+#, c-format
+msgid "<corrupt info> %s"
+msgstr "<info corrompue> %s"
+
+#: coffgen.c:2666 elflink.c:14044 linker.c:2931
msgid "%F%P: already_linked_table: %E\n"
msgstr "%F%P: already_linked_table: %E\n"
-#: cofflink.c:533 elflink.c:4323
+#: coffgen.c:3007 elflink.c:13059
+#, c-format
+msgid "Removing unused section '%A' in file '%B'"
+msgstr "Suppression de la section inutilisée « %A » dans le fichier « %B »"
+
+#: coffgen.c:3084 elflink.c:13304
+msgid "Warning: gc-sections option ignored"
+msgstr "Attention: l'option de la section gc est ignorée"
+
+#: cofflink.c:348
+#, c-format
+msgid "Warning: symbol `%s' is both section and non-section"
+msgstr "Attention: le symbole « %s » est à la fois une section et une non-section"
+
+#: cofflink.c:450 elf64-ia64-vms.c:5188 elflink.c:4788
+#, c-format
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
-msgstr "Attention: type de symbole «%s» a changé de %d à %d dans %B"
+msgstr "Attention: type de symbole « %s » a changé de %d à %d dans %B"
-#: cofflink.c:2329
+#: cofflink.c:2369
+#, c-format
msgid "%B: relocs in section `%A', but it has no contents"
-msgstr "%B: relocalisations dans la section «%A» qui est vide"
+msgstr "%B: réadressages dans la section « %A » qui est vide"
-#: cofflink.c:2391 elflink.c:9545
+#: cofflink.c:2432 elflink.c:10567
+#, c-format
msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
-msgstr "%X«%s» référencé dans la section «%A» de %B: défini dans la section abandonnée «%A» de %B\n"
+msgstr "%X« %s » référencé dans la section « %A » de %B: défini dans la section abandonnée « %A » de %B\n"
+
+#: cofflink.c:2730
+#, c-format
+msgid "%B: %A: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %A: débordement de réadressage: 0x%lx > 0xffff"
+
+#: cofflink.c:2738
+#, c-format
+msgid "%B: warning: %A: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: attention: %A: débordement du compteur de numéro de ligne: 0x%lx > 0xffff"
-#: cofflink.c:2690 coffswap.h:826
+#: coffswap.h:811
#, c-format
-msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
-msgstr "%s: %s: débordement de relocalisation: 0x%lx > 0xffff"
+msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: attention: %s: débordement du compteur de numéro de ligne: 0x%lx > 0xffff"
-#: cofflink.c:2699 coffswap.h:812
+#: coffswap.h:825
#, c-format
-msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: attention: %s: débordement du compteur de numéro de ligne: 0x%lx > 0xffff"
+msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %s: débordement de réadressage: 0x%lx > 0xffff"
-#: cpu-arm.c:189 cpu-arm.c:200
+#: compress.c:255
+#, c-format
+msgid "error: %B(%A) is too large (%#lx bytes)"
+msgstr "erreur: %B(%A) est trop grand (%#lx octets)"
+
+#: cpu-arm.c:192 cpu-arm.c:204
+#, c-format
msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
msgstr "erreur: %B compilé pour EP9312 alors que %B a été compilé pour XScale"
-#: cpu-arm.c:333
+#: cpu-arm.c:338
#, c-format
-msgid "warning: unable to update contents of %s section in %s"
-msgstr "attention: incapable de mettre à jour le contenu de la section %s dans %s"
+msgid "warning: unable to update contents of %s section in %B"
+msgstr "attention: incapable de mettre à jour le contenu de la section %s dans %B"
-#: dwarf2.c:496
+#: dwarf2.c:532
#, c-format
msgid "Dwarf Error: Can't find %s section."
-msgstr "Erreur DWARF: ne peut repérer la section %s"
+msgstr "Erreur Dwarf: ne peut repérer la section %s"
-#: dwarf2.c:525
+#: dwarf2.c:562
#, c-format
msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
-msgstr "Erreur DWARF: décalage de ligne (%lu) est >= à la taille de %s (%lu)"
+msgstr "Erreur Dwarf: décalage de ligne (%lu) est >= à la taille de %s (%lu)"
-#: dwarf2.c:949
+#: dwarf2.c:1028
+msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+msgstr "Erreur Dwarf: Le pointeur d'info va au delà de la fin des attributs"
+
+#: dwarf2.c:1185
#, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
-msgstr "Erreur DWARF: valeur de FORME invalide ou non supportée: %u"
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "Erreur Dwarf: valeur de FORM invalide ou non supportée: %#x."
-#: dwarf2.c:1200
+#: dwarf2.c:1491
msgid "Dwarf Error: mangled line number section (bad file number)."
-msgstr "Erreur DWARF: numéro de ligne de section mutilé (mauvais no. de fichier)"
+msgstr "Erreur Dwarf: numéro de ligne de section mutilé (mauvais no. de fichier)"
+
+#: dwarf2.c:1779
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%ld)"
+msgstr "Erreur Dwarf: Le section des informations de lignes est trop petite (%ld)"
-#: dwarf2.c:1453
+#: dwarf2.c:1809
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"
+msgstr "Erreur Dwarf: Les données des informations de lignes sont plus grandes (0x%lx) que la section (0x%lx)"
+
+#: dwarf2.c:1821
#, c-format
msgid "Dwarf Error: Unhandled .debug_line version %d."
-msgstr "Erreur DWARF: Version .debug_line %d non prise en charge."
+msgstr "Erreur Dwarf: Version .debug_line %d non prise en charge."
+
+#: dwarf2.c:1830
+msgid "Dwarf Error: Ran out of room reading prologue"
+msgstr "Erreur Dwarf: On est tombé à cours de place lors de la lecture du prologue"
-#: dwarf2.c:1475
+#: dwarf2.c:1855
msgid "Dwarf Error: Invalid maximum operations per instruction."
-msgstr "Erreur DWARF: Opérations maximum par instruction invalide."
+msgstr "Erreur Dwarf: Opérations maximum par instruction invalide."
-#: dwarf2.c:1662
+#: dwarf2.c:1874
+msgid "Dwarf Error: Ran out of room reading opcodes"
+msgstr "Erreur Dwarf: On est tombé à cours de place en lisant les opcodes"
+
+#: dwarf2.c:2069
msgid "Dwarf Error: mangled line number section."
-msgstr "Erreur DWARF: numéro de ligne de section mutilé"
+msgstr "Erreur Dwarf: numéro de ligne de section mutilé."
+
+#: dwarf2.c:2575
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %u."
+msgstr "Erreur Dwarf: Impossible de lire la ref alt %u."
-#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
-msgstr "Erreur DWARF: ne peut repérer le numéro abrégé %u"
+msgstr "Erreur Dwarf: ne peut repérer le numéro abrégé %u."
-#: dwarf2.c:2355
+#: dwarf2.c:3023
#, c-format
msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "Erreur DWARF: version DWARF trouvée «%u», ce lecteur ne supporte que les informations des versions 2, 3 et 4."
+msgstr "Erreur Dwarf: version DWARF trouvée « %u », ce lecteur ne supporte que les informations des versions 2, 3 et 4."
-#: dwarf2.c:2362
+#: dwarf2.c:3034
#, c-format
msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
-msgstr "Erreur DWARF: taille d'adresse obtenue «%u», ce lecteur ne peut traiter des tailles plus grandes que «%u»."
+msgstr "Erreur Dwarf: taille d'adresse obtenue « %u », ce lecteur ne peut traiter des tailles plus grandes que « %u »."
-#: dwarf2.c:2385
+#: dwarf2.c:3137
+msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+msgstr "Erreur Dwarf: attribut DW_AT_comp_dir rencontré sous une forme non-chaîne."
+
+#: ecoff.c:964
#, c-format
-msgid "Dwarf Error: Bad abbrev number: %u."
-msgstr "Erreur DWARF: mauvais numéro abrégé: %u"
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"
+msgstr "%B: attention: isymMax (%ld) est plus grand que ifdMax (%d)\n"
-#: ecoff.c:1239
+#: ecoff.c:1261
#, c-format
msgid "Unknown basic type %d"
msgstr "Type de base %d inconnu"
-#: ecoff.c:1496
+#: ecoff.c:1518
#, c-format
msgid ""
"\n"
@@ -581,7 +770,7 @@ msgstr ""
"\n"
" Dernier+1 symbole: %ld"
-#: ecoff.c:1503 ecoff.c:1506
+#: ecoff.c:1525 ecoff.c:1528
#, c-format
msgid ""
"\n"
@@ -590,7 +779,7 @@ msgstr ""
"\n"
" Premier symbole: %ld"
-#: ecoff.c:1518
+#: ecoff.c:1541
#, c-format
msgid ""
"\n"
@@ -599,7 +788,7 @@ msgstr ""
"\n"
" Dernier+1 symbole: %-7ld Type: %s"
-#: ecoff.c:1525
+#: ecoff.c:1548
#, c-format
msgid ""
"\n"
@@ -608,7 +797,7 @@ msgstr ""
"\n"
" Symbole local: %ld"
-#: ecoff.c:1533
+#: ecoff.c:1556
#, c-format
msgid ""
"\n"
@@ -617,7 +806,7 @@ msgstr ""
"\n"
" struct; Symbole Fin+1: %ld"
-#: ecoff.c:1538
+#: ecoff.c:1561
#, c-format
msgid ""
"\n"
@@ -626,7 +815,7 @@ msgstr ""
"\n"
" union; Dernier+1 symbole: %ld"
-#: ecoff.c:1543
+#: ecoff.c:1566
#, c-format
msgid ""
"\n"
@@ -635,7 +824,7 @@ msgstr ""
"\n"
" enum; Dernier+1 symbol: %ld"
-#: ecoff.c:1549
+#: ecoff.c:1572
#, c-format
msgid ""
"\n"
@@ -644,140 +833,269 @@ msgstr ""
"\n"
" Type: %s"
-#: elf-attrs.c:569
+#: elf-attrs.c:595
+#, c-format
msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
-msgstr "erreur: %B: L'objet a un contenu spécific à un vendeur qui doit être traité par la chaîne d'outils «%s»"
+msgstr "erreur: %B: L'objet a un contenu spécific à un vendeur qui doit être traité par la chaîne d'outils « %s »"
-#: elf-attrs.c:578
+#: elf-attrs.c:605
+#, c-format
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
-msgstr "erreur: %B: Étiquette d'objet «%d, %s» incompatible avec l'étiquette «%d, %s»"
+msgstr "erreur: %B: Étiquette d'objet « %d, %s » incompatible avec l'étiquette « %d, %s »"
+
+#: elf-eh-frame.c:946
+#, c-format
+msgid "discarding zero address range FDE in %B(%A).\n"
+msgstr "abandon du FDE avec une plage d'adresses nulle dans %B(%A).\n"
-#: elf-eh-frame.c:917
+#: elf-eh-frame.c:1051
+#, c-format
msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
msgstr "%P: erreur dans %B(%A); aucune table .eh_frame_hdr ne sera créée.\n"
-#: elf-eh-frame.c:1189
-msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
-msgstr "%P: encodage fde dans %B(%A) empêche la création de la table .eh_frame_hdr.\n"
+#: elf-eh-frame.c:1541
+#, c-format
+msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr "%P: encodage FDE dans %B(%A) empêche la création de la table .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1548
+msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
+msgstr "%P: Les avertissements suivants à propos de l'encodage FDE empêchant la génération de .eh_frame_hdr sont abandonnés.\n"
+
+#: elf-eh-frame.c:1879
+#, c-format
+msgid "%B: %A not in order"
+msgstr "%B: %A pas dans l'ordre"
+
+#: elf-eh-frame.c:1893
+#, c-format
+msgid "%B: %A invalid input section size"
+msgstr "%B: %A taille de section d'entrée invalide"
+
+#: elf-eh-frame.c:1901
+#, c-format
+msgid "%B: %A points past end of text section"
+msgstr "%B: %A pointe au delà de la fin de la section texte"
-#: elf-eh-frame.c:1605
+#: elf-eh-frame.c:2150
msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
msgstr "%P: DW_EH_PE_datarel non spécifié pour cette architecture.\n"
-#: elf-ifunc.c:179
+#: elf-eh-frame.c:2320
+#, c-format
+msgid "Invalid output section for .eh_frame_entry: %A"
+msgstr "Section de sortie invalide pour .eh_frame_entry: %A"
+
+#: elf-eh-frame.c:2343
+#, c-format
+msgid "Invalid contents in %A section"
+msgstr "Contenu invalide dans la section %A"
+
+#: elf-eh-frame.c:2499
+msgid "%P: .eh_frame_hdr entry overflow.\n"
+msgstr "*P: débordement de l'entrée .eh_frame_hrd.\n"
+
+#: elf-eh-frame.c:2502
+msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+msgstr "%P: .eh_frame_hdr fait référence à des FDE qui se chevauchent.\n"
+
+#: elf-ifunc.c:142
+#, c-format
msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
-msgstr "%P%P: symbole dynamique STT_GNU_IFUNC «%s» avec une égalité de pointeur dans «%B» ne peut pas être utilisé lors de la création d'un exécutable. Recompilez avec -fPIE et reliez avec -pie\n"
-
-#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
-#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
-#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
-#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
-#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
-#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
-#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
-#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
-#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+msgstr "%P%P: symbole dynamique STT_GNU_IFUNC « %s » avec une égalité de pointeur dans « %B » ne peut pas être utilisé lors de la création d'un exécutable. Recompilez avec -fPIE et reliez avec -pie\n"
+
+#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3194
+#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
+#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3044
+#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2001
+#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
+#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3665 elf32-v850.c:2287 elf32-visium.c:677
+#: elf32-xstormy16.c:927 elf64-mmix.c:1540 elfxx-tilegx.c:4052
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2267
msgid "internal error: out of range error"
msgstr "erreur interne: hors limite"
-#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
-#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
-#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
-#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
-#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
-#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
-#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
-#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
-#: elfxx-tilegx.c:3581
+#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3198
+#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
+#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
+#: elf32-m32c.c:625 elf32-m32r.c:3048 elf32-m68hc1x.c:1273 elf32-mep.c:528
+#: elf32-metag.c:2005 elf32-microblaze.c:1574 elf32-moxie.c:289
+#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3669 elf32-v850.c:2291
+#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1544
+#: elfxx-mips.c:10258 elfxx-tilegx.c:4056
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2271
msgid "internal error: unsupported relocation error"
msgstr "erreur interne: erreur de réadressage non supportée"
-#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
-#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
-#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
-#: elf32-score7.c:2545 elf32-spu.c:5052
+#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3052
+#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
+#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
msgid "internal error: dangerous error"
msgstr "erreur interne: erreur dangereuse"
-#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
-#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
-#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
-#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
-#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
-#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
-#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
-#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
-#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3206
+#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
+#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3056
+#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2013
+#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369
+#: elf32-mt.c:408 elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3677 elf32-v850.c:2311
+#: elf32-visium.c:689 elf32-xstormy16.c:939 elf64-mmix.c:1552
+#: elfxx-tilegx.c:4064
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2279
msgid "internal error: unknown error"
msgstr "erreur interne: erreur inconnue"
-#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
-#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
-#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
-#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
+#: elf-m10300.c:812
+#, c-format
+msgid "%B: unrecognised MN10300 reloc number: %d"
+msgstr "%B: numéro de réadressage MN10300 non reconnu: %d"
+
+#: elf-m10300.c:1028
+#, c-format
+msgid "%B: Unsupported transition from %s to %s"
+msgstr "%B: Transition de %s à %s non supportée"
+
+#: elf-m10300.c:1201
+#, c-format
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: « %s  » accédé à la fois comme symbole normal et comme symbole locale au thread"
+
+#: elf-m10300.c:2097 elf32-arm.c:12532 elf32-i386.c:5372 elf32-m32r.c:2540
+#: elf32-m68k.c:4084 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3569
+#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5753
+#: elfxx-sparc.c:4086 elfxx-tilegx.c:3976
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6437
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2236
+#, c-format
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): réadressage %s sans solution vers le symbole « %s »"
-#: elf-m10300.c:1572
+#: elf-m10300.c:2158
msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
msgstr "erreur: type de réadressage inapproprié pour une librairie partagée (avez-vous oublié -fpic ?)"
-#: elf-m10300.c:1575
+#: elf-m10300.c:2162
+#, c-format
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: l'adresse de la fonction protégée « %s » ne peut être prise lors de la création d'une librairie partagée"
+
+#: elf-m10300.c:2165
msgid "internal error: suspicious relocation type used in shared library"
msgstr "erreur interne: type de réadressage douteux utilisé dans une librairie partagée"
-#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
-#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
-#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
-#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
-#: elfxx-tilegx.c:2261
+#: elf-properties.c:65
+msgid "%B: out of memory in _bfd_elf_get_property"
+msgstr "%B: pas assez de mémoire dans _bfd_elf_get_property"
+
+#: elf-properties.c:91
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "attention: %B: taille de GNU_PROPERTY_TYPE (%ld) corrompue: %#lx"
+
+#: elf-properties.c:107
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "attention: %1$B: datasz du type (0x%3$x) GNU_PROPERTY_TYPE (%2$ld) corrompu: 0x%4$x"
+
+#: elf-properties.c:146
+msgid "warning: %B: corrupt stack size: 0x%x"
+msgstr "attention: %B: taille de pille corrompue: 0x%x"
+
+#: elf-properties.c:164
+msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+msgstr "attention: %B: taille de « no copy on protected » corrompue: 0x%x"
+
+#: elf-properties.c:180
+msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "attention: %B: type GNU_PROPERTY_TYPE (%ld) non supporté: 0x%x"
+
+#. PR 17512: file: f057ec89.
+#: elf.c:342
#, c-format
-msgid "dynamic variable `%s' is zero size"
-msgstr "la variable dynamique «%s» a une taille nulle"
+msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgstr "%B: tentative de charger des chaînes depuis une section non-chaînes (numéro %d)"
-#: elf.c:334
+#: elf.c:357
+#, c-format
msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: chaîne de décalage invalide %u >= %lu pour la section «%s»"
+msgstr "%B: chaîne de décalage invalide %u >= %lu pour la section « %s »"
-#: elf.c:446
+#: elf.c:496
+#, c-format
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr "%B le symbole numéro %lu fait référence à une section SHT_SYMTAB_SHNDX inexistante"
-#: elf.c:602
-msgid "%B: Corrupt size field in group section header: 0x%lx"
-msgstr "%B: Champ de taille corrompu dans l'en-tête du groupe de section: 0x%lx"
+#: elf.c:660
+#, c-format
+msgid "%B: corrupt size field in group section header: %#Lx"
+msgstr "%B: champ de taille corrompu dans l'en-tête du groupe de section: %#Lx"
+
+#: elf.c:675
+#, c-format
+msgid "%B: invalid size field in group section header: %#Lx"
+msgstr "%B: champ de taille invalide dans l'en-tête du groupe de section: %#Lx"
-#: elf.c:638
+#: elf.c:711
msgid "%B: invalid SHT_GROUP entry"
msgstr "%B: entrée SHT_GROUP invalide"
-#: elf.c:708
+#: elf.c:730
+msgid "%B: no valid group sections found"
+msgstr "%B: aucune section de groupe valable trouvée"
+
+#: elf.c:804
+#, c-format
msgid "%B: no group info for section %A"
msgstr "%B: aucune info de groupe pour la section %A"
-#: elf.c:737 elf.c:3121 elflink.c:10135
+#: elf.c:835 elf.c:3819 elflink.c:11155
+#, c-format
msgid "%B: warning: sh_link not set for section `%A'"
-msgstr "%B: attention: sh_link n'a pas de valeur pour la section «%A»"
+msgstr "%B: attention: sh_link n'a pas de valeur pour la section « %A »"
-#: elf.c:756
+#: elf.c:855
+#, c-format
msgid "%B: sh_link [%d] in section `%A' is incorrect"
-msgstr "%B: sh_link [%d] n'est pas correct dans la section «%A»"
+msgstr "%B: sh_link [%d] n'est pas correct dans la section « %A »"
-#: elf.c:791
-msgid "%B: unknown [%d] section `%s' in group [%s]"
-msgstr "%B: [%d] inconnu dans la section «%s» du groupe [%s]"
+#: elf.c:868
+#, c-format
+msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%B: la section SHT_GROUP [index %d] n'a pas de section SHF_GROUP"
-#: elf.c:1041
-msgid "%B: unable to initialize commpress status for section %s"
-msgstr "%B: impossible d'initialiser le statut de compression de la section %s"
+#: elf.c:889
+#, c-format
+msgid "%B: section group entry number %u is corrupt"
+msgstr "%B: l'entrée de groupe de section %u est corrompue"
-#: elf.c:1061
-msgid "%B: unable to initialize decommpress status for section %s"
-msgstr "%B: impossible d'initialiser le statut de décompression de la section %s"
+#: elf.c:914
+#, c-format
+msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgstr "%B: type [%#x] de section « %s » inconnu dans le groupe [%A]"
+
+#: elf.c:1373
+#, c-format
+msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgstr "%B: Champ sh_link (%d) invalide dans la section numéro %d"
+
+#: elf.c:1389
+#, c-format
+msgid "%B: Failed to find link section for section %d"
+msgstr "%B: Impossible de trouver la section de liaison pour la section %d"
+
+#: elf.c:1416
+#, c-format
+msgid "%B: Failed to find info section for section %d"
+msgstr "%B: Impossible de trouver la section d'information pour la section %d"
-#: elf.c:1181
+#: elf.c:1588
#, c-format
msgid ""
"\n"
@@ -786,7 +1104,7 @@ msgstr ""
"\n"
"En-tête de programme:\n"
-#: elf.c:1223
+#: elf.c:1630
#, c-format
msgid ""
"\n"
@@ -795,7 +1113,7 @@ msgstr ""
"\n"
"Section dynamique:\n"
-#: elf.c:1359
+#: elf.c:1771
#, c-format
msgid ""
"\n"
@@ -804,7 +1122,7 @@ msgstr ""
"\n"
"Définitions des versions:\n"
-#: elf.c:1384
+#: elf.c:1796
#, c-format
msgid ""
"\n"
@@ -813,82 +1131,266 @@ msgstr ""
"\n"
"Références de version:\n"
-#: elf.c:1389
+#: elf.c:1801
#, c-format
msgid " required from %s:\n"
msgstr " requis par %s:\n"
-#: elf.c:1796
-msgid "%B: invalid link %lu for reloc section %s (index %u)"
-msgstr "%B: lien invalide %lu pour la section de relocalisation %s (index %u)"
+#: elf.c:1999
+msgid "%B: warning: loop in section dependencies detected"
+msgstr "%B: attention: boucle détectée dans les dépendances de sections"
+
+#: elf.c:2107
+#, c-format
+msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%B: attention: plusieurs tables de symboles détectées — la table dans la section %u est ignorée"
-#: elf.c:1966
-msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-msgstr "%B: je ne sais pas comment traiter la section «%s» [0x%8x] allouée et spécifique à l'application"
+#: elf.c:2191
+#, c-format
+msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%B: attention: plusieurs tables de symboles dynamiques ont été détectées — la table dans la section %u est ignorée"
-#: elf.c:1978
-msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-msgstr "%B: je ne sais pas comment traiter la section «%s» [0x%8x] spécifique au processeur"
+#: elf.c:2304
+#, c-format
+msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgstr "%B: lien %u invalide pour la section de réadressages %s (index %u)"
-#: elf.c:1989
-msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-msgstr "%B: je ne sais pas comment traiter la section «%s» [0x%8x] spécifique au système d'exploitation"
+#: elf.c:2463 elf.c:2478 elf.c:2489 elf.c:2502
+#, c-format
+msgid "%B: unknown type [%#x] section `%s'"
+msgstr "%B: type [%#x] inconnu dans la section « %s »"
-#: elf.c:1999
-msgid "%B: don't know how to handle section `%s' [0x%8x]"
-msgstr "%B: je ne sais pas comment traiter la section «%s» [0x%8x]"
+#: elf.c:3206
+#, c-format
+msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgstr "%B: erreur: L'alignement à la puissance %d de la section « %A » est trop grand"
-#: elf.c:2634
+#: elf.c:3236
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
-msgstr "attention: type de la section «%A» changé en PROGBITS"
+msgstr "attention: type de la section « %A » changé en PROGBITS"
+
+#: elf.c:3687
+#, c-format
+msgid "%B: too many sections: %u"
+msgstr "%B: trop de sections: %u"
-#: elf.c:3078
+#: elf.c:3772
+#, c-format
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
-msgstr "%B: le sh_link de la section «%A» pointe vers la section abandonnée «%A» de «%B»"
+msgstr "%B: le sh_link de la section « %A » pointe vers la section abandonnée « %A » de « %B »"
-#: elf.c:3101
+#: elf.c:3797
+#, c-format
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
-msgstr "%B: le sh_link de la section «%A» pointe vers la section supprimée «%A» de «%B»"
+msgstr "%B: le sh_link de la section « %A » pointe vers la section supprimée « %A » de « %B »"
+
+#: elf.c:4349
+#, c-format
+msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgstr "%B: la section GNU_MBIN « %A » a un champ sh_info invalide: %d"
+
+#: elf.c:4891
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: Les sections TLS ne sont pas adjacentes:"
-#: elf.c:4527
+#: elf.c:4898
+#, c-format
+msgid "\t TLS: %A"
+msgstr "\t TLS: %A"
+
+#: elf.c:4902
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\tnon-TLS: %A"
+
+#: elf.c:5398
msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr "%B: La première section dans le segment PT_DYNAMIC n'est pas la section .dynamic"
-#: elf.c:4554
+#: elf.c:5426
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr "%B: Pas suffisamment d'espace pour les en-têtes du programme, essayer l'option -N"
-#: elf.c:4641
-msgid "%B: section %A lma %#lx adjusted to %#lx"
-msgstr "%B: section %A avec lma %#lx ajustée à %#lx"
+#: elf.c:5514
+#, c-format
+msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgstr "%B: section %A avec lma %#Lx ajustée à %#Lx"
-#: elf.c:4776
+#: elf.c:5651
+#, c-format
msgid "%B: section `%A' can't be allocated in segment %d"
-msgstr "%B: la section «%A» ne peut pas être allouée dans le segment %d"
+msgstr "%B: la section « %A » ne peut pas être allouée dans le segment %d"
-#: elf.c:4824
+#: elf.c:5699
+#, c-format
msgid "%B: warning: allocated section `%s' not in segment"
-msgstr "%B: attention: section allouée «%s» n'est pas dans le segment"
+msgstr "%B: attention: section allouée « %s » n'est pas dans le segment"
+
+#: elf.c:5897
+msgid "%B: error: non-load segment %d includes file header and/or program header"
+msgstr "%B: erreur: le segment de non-chargement %d inclus un en-tête de fichier ou de programme"
-#: elf.c:5324
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually. Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:6074
+msgid "%B: error: PHDR segment not covered by LOAD segment"
+msgstr "%B: erreur: segment PHDR non couvert par le segment LOAD"
+
+#: elf.c:6418
+#, c-format
msgid "%B: symbol `%s' required but not present"
-msgstr "%B: symbole «%s» requis mais absent"
+msgstr "%B: symbole « %s » requis mais absent"
-#: elf.c:5662
-msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
-msgstr "%B: attention: segment chargeable vide détecté, est-ce intentionnel ?\n"
+#: elf.c:6761
+#, c-format
+msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
+msgstr "%B: attention: Segment chargeable vide détecté à vaddr=%#Lx, est-ce intentionnel ?"
+
+#: elf.c:7375
+#, c-format
+msgid "%B: warning: segment alignment of %#Lx is too large"
+msgstr "%B: attention: un alignement de segment de %#Lx est trop grand"
-#: elf.c:6692
+#: elf.c:7856
#, c-format
msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr "Incapable de trouver un équivalent pour le symbole «%s» de la section «%s»"
+msgstr "Incapable de trouver un équivalent pour le symbole « %s » de la section « %s »"
-#: elf.c:7692
+#: elf.c:8188
+msgid "%B: .gnu.version_r invalid entry"
+msgstr "%B: entrée .gnu.version_r invalide"
+
+#: elf.c:8315
+msgid "%B: .gnu.version_d invalid entry"
+msgstr "%B: entrée .gnu.version_d invalide"
+
+#: elf.c:8867
+#, c-format
msgid "%B: unsupported relocation type %s"
msgstr "%B: type de réadressage %s non supporté"
-#: elf32-arm.c:3617
+#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
+#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
+#: elf64-ppc.c:6078
+#, c-format
+msgid "private flags = 0x%lx:"
+msgstr "fanions privés = 0x%lx:"
+
+#: elf32-arc.c:611
+msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+msgstr "Attention: %B: Configuration de platforme %s en conflit avec %s.\n"
+
+#: elf32-arc.c:630
+msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+msgstr "erreur: %B: impossible de fusionner les attributs de base CPU %s avec %s.\n"
+
+#: elf32-arc.c:667
+msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+msgstr "erreur: %B: impossible de fusionner les attributs de l'extension ISA %s.\n"
+
+#: elf32-arc.c:691
+msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+msgstr "erreur: %B: attributs d'extension ISA %s en conflit avec %s.\n"
+
+#: elf32-arc.c:726
+msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+msgstr "erreur: %B: impossible de mélanger rf16 avec l'ensemble des registres complets %B.\n"
+
+#: elf32-arc.c:752
+msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+msgstr "erreur: %B: attributs %s conflictuels: %s avec %s.\n"
+
+#: elf32-arc.c:777
+msgid "error: %B: conflicting attributes %s.\n"
+msgstr "erreur: %B: attributs %s conflictuels.\n"
+
+#: elf32-arc.c:877
+#, c-format
+msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgstr "ERREUR: Tentative de lier %B avec un binaire %B d'une architecture différente"
+
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
+#: elf32-m68hc1x.c:1388 elf64-sparc.c:727 elfxx-mips.c:15127
+#, c-format
+msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr "%B: utilise des champs e_flags (0x%lx) différents des modules précédents (0x%lx)"
+
+#: elf32-arc.c:980
+msgid "Error: The ARC4 architecture is no longer supported.\n"
+msgstr "Erreur: L'architecture ARC4 n'est plus supportée.\n"
+
+#: elf32-arc.c:986
+msgid ""
+"Warning: unset or old architecture flags. \n"
+"\t Use default machine.\n"
+msgstr ""
+"Attention: fanions d'architecture non définis ou trop anciens. \n"
+" Utilise la machine par défaut.\n"
+
+#: elf32-arc.c:1119
+#, c-format
+msgid "%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
+msgstr "%B(%A+0x%lx): le réadressage CMEM vers « %s » est invalide. 16 MSB devrait être 0x%04x (la valeur est 0x%lx)"
+
+#: elf32-arc.c:1130
+#, c-format
+msgid "%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
+msgstr "%B(%A+0x%lx): le réadressage CMEM vers « %s+0x%lx » est invalide, 16 MSB devrait être 0x%04x (la valeur est 0x%lx)"
+
+#: elf32-arc.c:1835
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+msgstr "les réadressages GOT et PLT ne peuvent pas être corrigés avec un éditeur de liens non dynamique."
+
+#: elf32-arc.c:1859 elf32-rl78.c:1094 elf32-rx.c:1448
+#, c-format
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): attention: accès non aligné au symbole « %s » dans la zone des petites données"
+
+#: elf32-arc.c:1864 elf32-rl78.c:1099 elf32-rx.c:1453
+#, c-format
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): erreur interne: hors limite"
+
+#: elf32-arc.c:1869 elf32-rl78.c:1104 elf32-rx.c:1458
+#, c-format
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): erreur interne: réadressage non supporté"
+
+#: elf32-arc.c:1874 elf32-rl78.c:1109 elf32-rx.c:1463
+#, c-format
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): erreur interne: réadressage dangereux"
+
+#: elf32-arc.c:1879 elf32-rl78.c:1114 elf32-rx.c:1468
+#, c-format
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): erreur interne: erreur inconnue"
+
+#: elf32-arc.c:1967 elf32-arm.c:14714 elf32-metag.c:2272 elfxx-mips.c:8883
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7224
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:484
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: réadressage de %s en vertu de « %s » ne peut être utilisé lors de la création d'un objet partagé; recompilez avec -fPIC"
+
+#: elf32-arc.c:2859
+msgid "%B: Unknown mandatory ARC object attribute %d."
+msgstr "%B: L'attribut d'objet ARC obligatoire %d est inconnu."
+
+#: elf32-arc.c:2867
+msgid "Warning: %B: Unknown ARC object attribute %d."
+msgstr "Attention: %B: Attribut d'objet ARC %d inconnu."
+
+# Les auteurs francophones que j'ai trouvés utilisent le mot « veneer ». Le mot « trampoline » est netttement plus approprié
+# pour désigner une instruction intermédiaire dont le seul but est de faire rebondir un branchement court vers une destination plus
+# éloignée.
+#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
+msgstr "%B(%A): attention: les trampolines (aka veneers) de branchements longs utilisés dans la section avec l'attribut de section SHF_ARM_PURECODE n'est supporté que sur les cibles M-profile implémentant l'instruction movw."
+
+#: elf32-arm.c:4087 elf32-arm.c:8806
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: Thumb call to ARM"
@@ -896,7 +1398,7 @@ msgstr ""
"%B(%s): attention: l'inter-réseautage n'est pas activé.\n"
" première occurrence: %B: appel de repère vers ARM"
-#: elf32-arm.c:3664
+#: elf32-arm.c:4141
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: ARM call to Thumb"
@@ -904,492 +1406,679 @@ msgstr ""
"%B(%s): attention: l'inter-réseautage n'est pas activé.\n"
" première occurrence: %B: appel ARM vers repère"
-#: elf32-arm.c:3878 elf32-arm.c:5315
+#: elf32-arm.c:4415
+#, c-format
+msgid "No address assigned to the veneers output section %s"
+msgstr "Aucune adresse assignée à la section de sortie %s des trampolines (veneers)"
+
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
+#: elf32-metag.c:1198 elf32-nios2.c:2227
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2852
+#, c-format
+msgid "%B: cannot create stub entry %s"
+msgstr "%B: ne peut créer l'entrée de l'ébauche %s"
+
+#: elf32-arm.c:5675
+msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
+msgstr "%B: Le symbole spécial « %s » est uniquement autorisé pour les architectures ARMv8-M ou ultérieures."
+
+#: elf32-arm.c:5684
+msgid "%B: invalid special symbol `%s'."
+msgstr "%B: symbole spéciale « %s » invalide."
+
+#: elf32-arm.c:5686 elf32-arm.c:5726
+msgid "It must be a global or weak function symbol."
+msgstr "Il doit être un symbole de fonction global ou faible."
+
+#: elf32-arm.c:5724
+msgid "%B: invalid standard symbol `%s'."
+msgstr "%B: symbole standard « %s » invalide."
+
+#: elf32-arm.c:5730
+msgid "%B: absent standard symbol `%s'."
+msgstr "%B: symbole standard « %s » absent."
+
+#: elf32-arm.c:5742
+msgid "%B: `%s' and its special symbol are in different sections."
+msgstr "%B: « %s » est ses symboles spéciaux sont dans des sections différentes."
+
+#: elf32-arm.c:5754
+msgid "%B: entry function `%s' not output."
+msgstr "%B: fonction « %s » d'entrée par écrite."
+
+#: elf32-arm.c:5761
+msgid "%B: entry function `%s' is empty."
+msgstr "%B: la fonction « %s » d'entrée est vide."
+
+#: elf32-arm.c:5890
+msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+msgstr "%B: --in-implib uniquement supporté pour les bibliothèques d'import Secure Gateway."
+
+#: elf32-arm.c:5936
+msgid "%B: invalid import library entry: `%s'."
+msgstr "%B: entrée de bibliothèque d'import invalide: « %s »."
+
+#: elf32-arm.c:5938
+msgid "Symbol should be absolute, global and refer to Thumb functions."
+msgstr "Le symbole devrait être absolu, global et faire référence à des fonctions Thumb."
+
+#: elf32-arm.c:5958
+#, c-format
+msgid "Entry function `%s' disappeared from secure code."
+msgstr "La fonction d'entrée « %s » a disparu du code sûr."
+
+#: elf32-arm.c:5982
+#, c-format
+msgid "`%s' refers to a non entry function."
+msgstr "« %s » fait référence à quelque chose qui n'est pas une fonction d'entrée."
+
+#: elf32-arm.c:5997
+msgid "%B: visibility of symbol `%s' has changed."
+msgstr "%B: la visibilité du symbole « %s » a changé."
+
+#: elf32-arm.c:6006
+msgid "%B: incorrect size for symbol `%s'."
+msgstr "%B: taille incorrecte pour le symbole « %s »."
+
+#: elf32-arm.c:6025
#, c-format
-msgid "%s: cannot create stub entry %s"
-msgstr "%s: ne peut créer l'entrée d'ébauche %s"
+msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgstr "Le décalage du trampoline (aka veneer) pour la fonction d'entrée « %s » n'est pas un multiple de sa taille."
-#: elf32-arm.c:5431
+#: elf32-arm.c:6045
+msgid "new entry function(s) introduced but no output import library specified:"
+msgstr "une ou plusieurs nouvelles fonctions d'entrée spécifiées mais aucune bibliothèque d'import est spécifiée:"
+
+#: elf32-arm.c:6053
+#, c-format
+msgid "Start address of `%s' is different from previous link."
+msgstr "L'adresse de départ de « %s » est différente de celle de l'édition de liens précédente."
+
+#: elf32-arm.c:6760
#, c-format
msgid "unable to find THUMB glue '%s' for '%s'"
-msgstr "incapable de repérer le REPÈRE de liant «%s» pour «%s»"
+msgstr "incapable de repérer le REPÈRE de liant « %s » pour « %s »"
-#: elf32-arm.c:5467
+#: elf32-arm.c:6796
#, c-format
msgid "unable to find ARM glue '%s' for '%s'"
-msgstr "incapable de repérer le liant ARM «%s» pour «%s»"
+msgstr "incapable de repérer le liant ARM « %s » pour « %s »"
-#: elf32-arm.c:6005
+#: elf32-arm.c:7511
msgid "%B: BE8 images only valid in big-endian mode."
msgstr "%B: les images BE8 ne sont valables qu'en mode gros boutiste."
#. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:6235
+#: elf32-arm.c:7742
msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
-msgstr "%B: attention: le palliatif VFP11 n'est pas nécessaire avec l'architecture cible"
+msgstr "%B: attention: le palliatif VFP11 sélectionné n'est pas nécessaire avec l'architecture cible"
-#: elf32-arm.c:6779 elf32-arm.c:6799
+#: elf32-arm.c:7769
+msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%B: attention: le palliatif STM32L4XX sélectionné n'est pas nécessaire avec l'architecture cible"
+
+#: elf32-arm.c:8306 elf32-arm.c:8326
msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr "%B: incapable de trouver le vernis VFP11 «%s»"
+msgstr "%B: incapable de trouver le trampoline (veneer) « %s » pour le VFP11"
+
+#: elf32-arm.c:8392 elf32-arm.c:8411
+msgid "%B: unable to find STM32L4XX veneer `%s'"
+msgstr "%B: incapable de trouver le trampoline (veneer) « %s » pour le STM32L4XX"
+
+#: elf32-arm.c:8618
+#, c-format
+msgid ""
+"%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+msgstr ""
+"%B(%A+0x%lx): erreur: chargements multiples détectés dans un bloc d'instruction IT qui n'est pas le dernier : le trampoline (veneer) du STM32L4XX ne peut pas être généré.\n"
+"Utilisez l'option -mrestrict-it de gcc pour générer seulement une instruction par bloc IT.\n"
-#: elf32-arm.c:6848
+#: elf32-arm.c:8716
#, c-format
msgid "Invalid TARGET2 relocation type '%s'."
msgstr "Type de réadressage TARGET2 « %s » invalide"
-#: elf32-arm.c:6933
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-" first occurrence: %B: thumb call to arm"
-msgstr ""
-"%B(%s): attention: l'inter-réseautage n'est pas activé.\n"
-" première occurrence: %B: appel de repère vers arm"
+#. FIXME: We ought to be able to generate thumb-1 PLT
+#. instructions...
+#: elf32-arm.c:9458
+msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%B: Attention: génération de PLT dans le mode thumb-1 pas encore supportée"
-#: elf32-arm.c:7717
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
+#: elf32-arm.c:9723
+#, c-format
+msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"
msgstr "%B(%A+0x%lx): instruction Thumb « 0x%x » inattendue dans le trampoline TLS"
-#: elf32-arm.c:7756
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
+#: elf32-arm.c:9763
+#, c-format
+msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"
msgstr "%B(%A+0x%lx): instruction ARM « 0x%x » inattendue dans le trampoline TLS"
-#: elf32-arm.c:8209
+#: elf32-arm.c:10097
+msgid "shared object"
+msgstr "objet partagé"
+
+#: elf32-arm.c:10100
+msgid "PIE executable"
+msgstr "exécutable PIE"
+
+#: elf32-arm.c:10103
+msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%B: le réadressage de %s vers le symbole externe ou non défini « %s » ne peut pas être utilisé en construisant un %s; recompilez avec -fPIC"
+
+#: elf32-arm.c:10234
msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: Attention: instruction Arm BLX vise la fonction Arm «%s»."
+msgstr "\\%B: Attention: instruction Arm BLX vise la fonction Arm « %s »."
-#: elf32-arm.c:8622
+#: elf32-arm.c:10660
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr "%B: Attention: instruction de repérage BLX vise la fonction de repérage «%s»."
+msgstr "%B: Attention: instruction de repérage BLX vise la fonction de repérage « %s »."
-#: elf32-arm.c:9460
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+#: elf32-arm.c:11527
+#, c-format
+msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
msgstr "%B(%A+0x%lx): instruction Thumb « 0x%x » inattendue référencée par TLS_GOTDESC"
-#: elf32-arm.c:9483
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+#: elf32-arm.c:11551
+#, c-format
+msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
msgstr "%B(%A+0x%lx): instruction ARM '0x%x' inattendue référencée par TLS_GOTDESC"
-#: elf32-arm.c:9512
+#: elf32-arm.c:11581
+#, c-format
msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): réadressage R_ARM_TLS_LE32 pas permis dans un objet partagé"
-#: elf32-arm.c:9727
+#: elf32-arm.c:11795
+#, c-format
msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
msgstr "%B(%A+0x%lx): Seuls ADD ou SUB sont permis dans les réadressages du groupe ALU"
-#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
+#: elf32-arm.c:11836 elf32-arm.c:11927 elf32-arm.c:12013 elf32-arm.c:12101
+#, c-format
msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
msgstr "%B(%A+0x%lx): Débordement en scindant 0x%lx pour le réadressage du groupe %s"
-#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
+#: elf32-arm.c:12365 elf32-sh.c:4009 elf64-sh64.c:1539
+#, c-format
msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
msgstr "%B(%A+0x%lx): %s réadressage vers une section SEC_MERGE"
-#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
+#: elf32-arm.c:12477 elf32-m68k.c:4120 elf32-xtensa.c:2816
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6165
+#, c-format
msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
msgstr "%B(%A+0x%lx): %s utilisé avec le symbole TLS %s"
-#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
+#: elf32-arm.c:12479 elf32-m68k.c:4122 elf32-xtensa.c:2818
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6167
+#, c-format
msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
msgstr "%B(%A+0x%lx): %s utilisé avec le symbole non-TLS %s"
-#: elf32-arm.c:10453 elf32-tic6x.c:2753
+#: elf32-arm.c:12561 elf32-tic6x.c:2739
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6500
msgid "out of range"
msgstr "hors limite"
-#: elf32-arm.c:10457 elf32-tic6x.c:2757
+#: elf32-arm.c:12565 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6504
msgid "unsupported relocation"
msgstr "réadressage non supporté"
-#: elf32-arm.c:10465 elf32-tic6x.c:2765
+#: elf32-arm.c:12573 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6512
msgid "unknown error"
msgstr "erreur inconnue"
-#: elf32-arm.c:10890
-msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
-msgstr "Attention: mise à zéro du fanion d'inter-réseautage %B en raison du code sans inter-réseautage dans %B lié avec lui"
-
-#: elf32-arm.c:10984
+#: elf32-arm.c:13153
msgid "%B: Unknown mandatory EABI object attribute %d"
msgstr "%B: L'attribut d'objet EABI obligatoire %d est manquant"
-#: elf32-arm.c:10992
+#: elf32-arm.c:13161
msgid "Warning: %B: Unknown EABI object attribute %d"
msgstr "Attention: %B: Attribut d'objet EABI %d inconnu"
-#: elf32-arm.c:11173
+#: elf32-arm.c:13428
msgid "error: %B: Unknown CPU architecture"
msgstr "erreur: %B: Architecture CPU inconnue"
-#: elf32-arm.c:11211
+#: elf32-arm.c:13466 elf32-nios2.c:2965
+#, c-format
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr "erreur: %B: Architectures CPU conflictuelles %d/%d"
-#: elf32-arm.c:11260
+#: elf32-arm.c:13563
msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
msgstr "Erreur: %B utilise les deux attributs Tag_MPextension_use actuel et hérité"
-#: elf32-arm.c:11285
+#: elf32-arm.c:13592
msgid "error: %B uses VFP register arguments, %B does not"
msgstr "erreur: %B passe les paramètres dans un registre VFP alors que %B ne le fait pas"
-#: elf32-arm.c:11430
+#: elf32-arm.c:13750
msgid "error: %B: unable to merge virtualization attributes with %B"
msgstr "erreur: %B: impossible de fusionner les attributs de visualisation avec %B"
-#: elf32-arm.c:11456
+#: elf32-arm.c:13776
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr "erreur: %B: Profils d'architecture conflictuels %c/%c"
-#: elf32-arm.c:11557
+#: elf32-arm.c:13915
msgid "Warning: %B: Conflicting platform configuration"
msgstr "Attention: %B: Configuration de platforme conflictuelle"
-#: elf32-arm.c:11566
+#: elf32-arm.c:13924
msgid "error: %B: Conflicting use of R9"
msgstr "erreur: %B: Utilisation conflictuelle de R9"
-#: elf32-arm.c:11578
+#: elf32-arm.c:13936
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr "erreur: %B: Adressage relatif SB entre en conflit avec l'utilisation de R9"
-#: elf32-arm.c:11591
+#: elf32-arm.c:13949
msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
msgstr "attention: %B utilise des wchar_t de %u octets alors que la sortie doit utiliser des wchar_t de %u octets. L'utilisation de wchar_t entre objets peu échouer"
-#: elf32-arm.c:11622
+#: elf32-arm.c:13980
msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
msgstr "attantion: %B utilise des enums %s alors que la sortie doit utiliser des enums %s. L'utilisation des valeurs enum entre objets peu échouer"
-#: elf32-arm.c:11634
+#: elf32-arm.c:13992
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr "erreur: %B passe les paramètres dans le registre iWMMXt contrairement à %B"
-#: elf32-arm.c:11651
+#: elf32-arm.c:14009
msgid "error: fp16 format mismatch between %B and %B"
msgstr "erreur: désaccord de format fp16 entre %B et %B"
-#: elf32-arm.c:11675
-msgid "DIV usage mismatch between %B and %B"
-msgstr "incohérence d'utilisation de DIV entre %B et %B"
-
-#: elf32-arm.c:11694
+#: elf32-arm.c:14045
msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
msgstr "%B utilise les deux attributs Tag_MPextension_use actuel et hérité"
#. 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:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
-#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
-#: elfxx-mips.c:14103
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:14132 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
+#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15802
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6666
#, c-format
msgid "private flags = %lx:"
msgstr "fanions privés = %lx"
-#: elf32-arm.c:11791
+#: elf32-arm.c:14141
#, c-format
msgid " [interworking enabled]"
msgstr " [inter-réseautage autorisé]"
-#: elf32-arm.c:11799
+#: elf32-arm.c:14149
#, c-format
msgid " [VFP float format]"
msgstr " [format flottant VFP]"
-#: elf32-arm.c:11801
+#: elf32-arm.c:14151
#, c-format
msgid " [Maverick float format]"
msgstr " [format flottant Maverick]"
-#: elf32-arm.c:11803
+#: elf32-arm.c:14153
#, c-format
msgid " [FPA float format]"
msgstr " [format flottant FPA]"
-#: elf32-arm.c:11812
+#: elf32-arm.c:14162
#, c-format
msgid " [new ABI]"
msgstr " [nouvel ABI]"
-#: elf32-arm.c:11815
+#: elf32-arm.c:14165
#, c-format
msgid " [old ABI]"
msgstr " [ancien ABI]"
-#: elf32-arm.c:11818
+#: elf32-arm.c:14168
#, c-format
msgid " [software FP]"
msgstr " [virgule flottante logiciel]"
-#: elf32-arm.c:11827
+#: elf32-arm.c:14177
#, c-format
msgid " [Version1 EABI]"
msgstr " [Version1 EABI]"
-#: elf32-arm.c:11830 elf32-arm.c:11841
+#: elf32-arm.c:14180 elf32-arm.c:14191
#, c-format
msgid " [sorted symbol table]"
msgstr " [table des symboles triés]"
-#: elf32-arm.c:11832 elf32-arm.c:11843
+#: elf32-arm.c:14182 elf32-arm.c:14193
#, c-format
msgid " [unsorted symbol table]"
msgstr " [table des symboles non triés]"
-#: elf32-arm.c:11838
+#: elf32-arm.c:14188
#, c-format
msgid " [Version2 EABI]"
msgstr " [Version2 EABI]"
-#: elf32-arm.c:11846
+#: elf32-arm.c:14196
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr " [symboles dynamiques utilisent un index de segment]"
-#: elf32-arm.c:11849
+#: elf32-arm.c:14199
#, c-format
msgid " [mapping symbols precede others]"
msgstr " [mapping de symboles précèdes les autres]"
-#: elf32-arm.c:11856
+#: elf32-arm.c:14206
#, c-format
msgid " [Version3 EABI]"
msgstr " [Version3 EABI]"
-#: elf32-arm.c:11860
+#: elf32-arm.c:14210
#, c-format
msgid " [Version4 EABI]"
msgstr " [Version4 EABI]"
-#: elf32-arm.c:11864
+#: elf32-arm.c:14214
#, c-format
msgid " [Version5 EABI]"
msgstr " [Version5 EABI]"
-#: elf32-arm.c:11867
+#: elf32-arm.c:14217
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [soft-float ABI]"
+
+#: elf32-arm.c:14220
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [hard-float ABI]"
+
+#: elf32-arm.c:14226
#, c-format
msgid " [BE8]"
msgstr " [BE8]"
-#: elf32-arm.c:11870
+#: elf32-arm.c:14229
#, c-format
msgid " [LE8]"
msgstr " [LE8]"
-#: elf32-arm.c:11876
+#: elf32-arm.c:14235
#, c-format
msgid " <EABI version unrecognised>"
msgstr " <Version EABI non reconnue>"
-#: elf32-arm.c:11883
+#: elf32-arm.c:14242
#, c-format
msgid " [relocatable executable]"
msgstr " [exécutables relocalisés]"
-#: elf32-arm.c:11886
-#, c-format
-msgid " [has entry point]"
-msgstr " [a des points d'entrées]"
-
-#: elf32-arm.c:11891
+#: elf32-arm.c:14247
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6669
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr "<Bits de fanions non reconnus>"
-#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
-#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
-#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+#: elf32-arm.c:14557 elf32-i386.c:2053 elf32-s390.c:956 elf32-tic6x.c:2814
+#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:2444 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7115
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:526
+#, c-format
msgid "%B: bad symbol index: %d"
msgstr "%B: symbole index erroné: %d"
-#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
-msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: réadressage de %s en vertu de « %s » ne peut être utilisé lors de la création d'un objet partagé; recompilez avec -fPIC"
+#: elf32-arm.c:16055
+msgid "Errors encountered processing file %B"
+msgstr "Erreurs rencontrées pendant le traitement du fichier %B"
-#: elf32-arm.c:13460
+#: elf32-arm.c:16493 elflink.c:12297 elflink.c:12344
#, c-format
-msgid "Errors encountered processing file %s"
-msgstr "Erreurs rencontrées pendant le traitement du fichier %s"
+msgid "could not find section %s"
+msgstr "ne peut repérer la section %s"
-#: elf32-arm.c:14837
+#: elf32-arm.c:17669
msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
msgstr "%B: erreur: L'ébauche d'erratum du Cortex A8 est allouée à un emplacement peu sûr"
#. There's not much we can do apart from complain if this
#. happens.
-#: elf32-arm.c:14864
+#: elf32-arm.c:17696
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr "%B: erreur: L'ébauche d'erratum du Cortex A8 est hors limite (fichier d'entrée trop grand)"
-#: elf32-arm.c:14958 elf32-arm.c:14980
+#: elf32-arm.c:18523 elf32-arm.c:18545
msgid "%B: error: VFP11 veneer out of range"
msgstr "%B: erreur: vernis VFP11 hors limite"
-#: elf32-arm.c:15518
+#: elf32-arm.c:18596
+msgid "%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#x): erreur: Impossible de créer le trampoline (veneer) du STM32L4XX. Saut hors de portée pour %ld octets. Impossible d'encoder l'instruction de branchement. "
+
+#: elf32-arm.c:18634
+msgid "%B: error: Cannot create STM32L4XX veneer."
+msgstr "%B: erreur: Impossible de créer le trampoline (veneer) du STM32L4XX."
+
+#: elf32-arm.c:19655
msgid "error: %B is already in final BE8 format"
msgstr "erreur: %B est déjà au format final BE8"
-#: elf32-arm.c:15594
+#: elf32-arm.c:19731
msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
msgstr "erreur: L'objet source %B a l'EABI version %d alors que la cible %B a l'EABI version %d"
-#: elf32-arm.c:15610
+#: elf32-arm.c:19746
msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
msgstr "erreur: %B compilé pour APCS-%d alors que la cible %B utilise APCS-%d"
-#: elf32-arm.c:15635
+#: elf32-arm.c:19770
msgid "error: %B uses VFP instructions, whereas %B does not"
msgstr "erreur: %B utilise les instructions VFP alors que %B ne les utilise pas"
-#: elf32-arm.c:15639
+#: elf32-arm.c:19774
msgid "error: %B uses FPA instructions, whereas %B does not"
msgstr "erreur: %B utilise les instructions FPA alors que %B ne les utilise pas"
-#: elf32-arm.c:15649
+#: elf32-arm.c:19784
msgid "error: %B uses Maverick instructions, whereas %B does not"
msgstr "erreur: %B utilise les instructions Maverick alors que %B ne les utilise pas"
-#: elf32-arm.c:15653
+#: elf32-arm.c:19788
msgid "error: %B does not use Maverick instructions, whereas %B does"
msgstr "erreur: %B n'utilise pas les instructions Maverick alors que %B les utilise"
-#: elf32-arm.c:15672
+#: elf32-arm.c:19807
msgid "error: %B uses software FP, whereas %B uses hardware FP"
msgstr "erreur: %B utilise le logiciel pour virgule flottante alors que %B utilise le matériel pour virgule flottante"
-#: elf32-arm.c:15676
+#: elf32-arm.c:19811
msgid "error: %B uses hardware FP, whereas %B uses software FP"
msgstr "erreur: %B utilise le matériel pour virgule flottante alors que %B utilise le logiciel pour virgule flottante"
-#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
-#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
-#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
-#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
-#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
-#: elfxx-tilegx.c:3585
+#: elf32-avr.c:959
+#, c-format
+msgid "%B: invalid AVR reloc number: %d"
+msgstr "%B: numéro de réadressage AVR invalide: %d"
+
+#: elf32-avr.c:1510 elf32-bfin.c:3202 elf32-cris.c:2033 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
+#: elf32-metag.c:2009 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
+#: elf32-or1k.c:1266 elf32-tilepro.c:3673 elf32-v850.c:2295 elf32-visium.c:685
+#: elf32-xstormy16.c:935 elf64-mmix.c:1548 elfxx-tilegx.c:4060
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2275
msgid "internal error: dangerous relocation"
msgstr "erreur interne: réadressage dangereux"
-#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
-msgid "%B: cannot create stub entry %s"
-msgstr "%B: ne peut créer l'entrée de l'ébauche %s"
+#: elf32-avr.c:3319
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2880
+#, c-format
+msgid "cannot create stub entry %s"
+msgstr "ne peut créer l'entrée d'ébauche %s"
-#: elf32-bfin.c:107 elf32-bfin.c:363
+#: elf32-bfin.c:106 elf32-bfin.c:362
msgid "relocation should be even number"
msgstr "le réadressage devrait être un nombre paire"
-#: elf32-bfin.c:1593
+#: elf32-bfin.c:1581
+#, c-format
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): réadressage sans solution vers le symbole « %s »"
-#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
-#: elf64-s390.c:3030 elf64-x86-64.c:4151
+#: elf32-bfin.c:1612 elf32-i386.c:5412 elf32-m68k.c:4160 elf32-s390.c:3429
+#: elf64-s390.c:3353 elf64-x86-64.c:5793
+#, c-format
msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): relocalisation vers «%s»: erreur %d"
+msgstr "%B(%A+0x%lx): réadressage vers « %s »: erreur %d"
-#: elf32-bfin.c:2725
+#: elf32-bfin.c:2706
+#, c-format
msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
msgstr "%B: réadressage à « %A+0x%x » fait référence au symbole « %s » avec un opérande non nul"
-#: elf32-bfin.c:2741
+#: elf32-bfin.c:2722
msgid "relocation references symbol not defined in the module"
msgstr "le réadressage fait référence à un symbole non défini dans le module"
-#: elf32-bfin.c:2838
+#: elf32-bfin.c:2819
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC fait référence à un symbole dynamique avec un opérande non nul"
-#: elf32-bfin.c:2879 elf32-bfin.c:3002
+#: elf32-bfin.c:2860 elf32-bfin.c:2983
msgid "cannot emit fixups in read-only section"
msgstr "impossible d'apporter des corrections dans une section en lecture seule"
-#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+#: elf32-bfin.c:2891 elf32-bfin.c:3021 elf32-lm32.c:1064 elf32-sh.c:4930
msgid "cannot emit dynamic relocations in read-only section"
msgstr "impossible d'éditer les réadressages dynamiques dans une section en lecture seule"
-#: elf32-bfin.c:2960
+#: elf32-bfin.c:2941
msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC_VALUE fait référence à un symbole dynamique avec un opérande non nul"
-#: elf32-bfin.c:3125
+#: elf32-bfin.c:3106
msgid "relocations between different segments are not supported"
msgstr "les réadressages entre segments différents ne sont pas supportés"
-#: elf32-bfin.c:3126
+#: elf32-bfin.c:3107
msgid "warning: relocation references a different segment"
msgstr "attention: réadressage fait référence à un segment différent"
-#: elf32-bfin.c:4971
+#: elf32-bfin.c:4877
+#, c-format
msgid "%B: unsupported relocation type %i"
msgstr "%B: type de réadressage %i non supporté"
-#: elf32-bfin.c:5125 elf32-frv.c:6808
-#, c-format
-msgid "%s: cannot link non-fdpic object file into fdpic executable"
-msgstr "%s: ne peut lier un fichier objet non fdpic dans un exécutable fdpic"
+#: elf32-bfin.c:4966 elf32-frv.c:6599
+msgid "%B: cannot link non-fdpic object file into fdpic executable"
+msgstr "%B: ne peut lier un fichier objet non fdpic dans un exécutable fdpic"
-#: elf32-bfin.c:5129 elf32-frv.c:6812
-#, c-format
-msgid "%s: cannot link fdpic object file into non-fdpic executable"
-msgstr "%s: ne peut lier un fichier objet fdpic dans un exécutable non fdpic"
+#: elf32-bfin.c:4970 elf32-frv.c:6603
+msgid "%B: cannot link fdpic object file into non-fdpic executable"
+msgstr "%B: ne peut lier un fichier objet fdpic dans un exécutable non fdpic"
-#: elf32-bfin.c:5283
+#: elf32-bfin.c:5120
#, c-format
msgid "*** check this relocation %s"
msgstr "*** vérifiez ce réadressage %s"
-#: elf32-cris.c:1176
+#: elf32-bfin.c:5236
+msgid "the bfin target does not currently support the generation of copy relocations"
+msgstr "la cible bfin ne supporte actuellement pas la génération de réadressages copiés"
+
+#: elf32-cr16.c:653
+#, c-format
+msgid "Unsupported CR16 relocation type: 0x%x\n"
+msgstr "Type de réadressage CR16 non supporté: 0x%x\n"
+
+#: elf32-cr16.c:682
+#, c-format
+msgid "%B: unrecognised CR16 reloc number: %d"
+msgstr "%B: numéro de réadressage CR16 non reconnu: %d"
+
+#: elf32-cr16c.c:186
+#, c-format
+msgid "%B: invalid CR16C reloc number: %d"
+msgstr "%B: numéro de réadressage CR16C invalide: %d"
+
+#: elf32-cris.c:467
+#, c-format
+msgid "%B: invalid CRIS reloc number: %d"
+msgstr "%B: numéro de réadressage CRIS invalide: %d"
+
+#: elf32-cris.c:1115
+#, c-format
msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
msgstr "%B, section %A: réadressage %s non résolu sur le symbole « %s »"
-#: elf32-cris.c:1238
+#: elf32-cris.c:1177
+#, c-format
msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
msgstr "%B, section %a: Pas de PLT ni de GOT pour réadresser %s sur le symbole « %s »"
-#: elf32-cris.c:1240
+#: elf32-cris.c:1180
+#, c-format
msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
msgstr "%B, section %A: Pas de PLT pour réadresser %s sur le symbole « %s »"
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
-#: elf32-cris.c:1875 elf32-tic6x.c:2662
+#: elf32-cris.c:1186 elf32-cris.c:1319 elf32-cris.c:1583 elf32-cris.c:1666
+#: elf32-cris.c:1819 elf32-tic6x.c:2651
msgid "[whose name is lost]"
msgstr "[dont le nom est perdu]"
-#: elf32-cris.c:1365 elf32-tic6x.c:2647
+#: elf32-cris.c:1304 elf32-tic6x.c:2635
+#, c-format
msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
msgstr "%B, section %A: réadressage de %s avec un opérande non nul %d sur le symbole local"
-#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
+#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
+#, c-format
msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
msgstr "%B, section %A: réadressage de %s avec un opérande non nul %d sur le symbole « %s »"
-#: elf32-cris.c:1399
+#: elf32-cris.c:1340
+#, c-format
msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
msgstr "%B, section %A: le réadressage de %s n'est pas permis pour le symbole global: « %s »"
-#: elf32-cris.c:1415
+#: elf32-cris.c:1357
+#, c-format
msgid "%B, section %A: relocation %s with no GOT created"
msgstr "%B, section %A: réadressage de %s sans GOT"
#. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1630
+#: elf32-cris.c:1573
+#, c-format
msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
msgstr "%B, section %A: réadressage de %s a une référence non définie vers « %s », peut-être un mélange dans les déclarations ?"
-#: elf32-cris.c:2002
+#: elf32-cris.c:1576
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%B, section %A: réadressage de %s n'est pas permis pour « %s », un symbole global avec la visibilité par défaut, peut-être un mélange dans les déclarations ?"
+
+#: elf32-cris.c:1947
+#, c-format
msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
msgstr "%B, section %A: réadressage de %s n'est pas permis pour le symbole « %s » qui est défini en dehors du programme, peut-être un mélange dans les déclarations ?"
-#: elf32-cris.c:2055
+#: elf32-cris.c:2000
msgid "(too many global variables for -fpic: recompile with -fPIC)"
msgstr "(trop de variables globales pour -fpic: recompilez avec -fPIC)"
-#: elf32-cris.c:2062
+#: elf32-cris.c:2007
msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
msgstr "(donnée locale au thread trop grande pour -fpic or -msmall-tls: recompilez avec -fPIC ou -mno-small-tls)"
-#: elf32-cris.c:3261
+#: elf32-cris.c:3233
+#, c-format
msgid ""
"%B, section %A:\n"
" v10/v32 compatible object %s must not contain a PIC relocation"
@@ -1397,7 +2086,8 @@ msgstr ""
"%B, section %A:\n"
" l'objet compatible v10/v32 %s ne peut pas contenir de réadressage PIC"
-#: elf32-cris.c:3366
+#: elf32-cris.c:3287
+#, c-format
msgid ""
"%B, section %A:\n"
" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
@@ -1405,7 +2095,8 @@ msgstr ""
"%B, section %A:\n"
" réadressage de %s pas valable dans un objet partagé; typiquement un mélange dans les options. Recompilez avec -fPIC"
-#: elf32-cris.c:3580
+#: elf32-cris.c:3505
+#, c-format
msgid ""
"%B, section %A:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1413,50 +2104,66 @@ msgstr ""
"%B, section %A:\n"
" réadressage de %s ne devrait pas être utilisé dans un objet partagé; recompilez avec -fPIC"
-#: elf32-cris.c:4002
+#: 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 ""
-"%B, section «%A», vers le symbole «%s»:\n"
+"%B, section « %A », vers le symbole « %s »:\n"
" réadressage de %s ne devrait pas être utilisé dans un objet partagé; recompilez avec -fPIC"
-#: elf32-cris.c:4118
+#: elf32-cris.c:4041
msgid "Unexpected machine number"
msgstr "Numéro de machine inattendu"
-#: elf32-cris.c:4172
+#: elf32-cris.c:4092
#, c-format
msgid " [symbols have a _ prefix]"
-msgstr " [symboles sont préfixés par « _ »]"
+msgstr " [symboles sont préfixés par «  _  »]"
-#: elf32-cris.c:4175
+#: elf32-cris.c:4095
#, c-format
msgid " [v10 and v32]"
msgstr " [v10 et v32]"
-#: elf32-cris.c:4178
+#: elf32-cris.c:4098
#, c-format
msgid " [v32]"
msgstr " [v32]"
-#: elf32-cris.c:4223
+#: elf32-cris.c:4142
msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr "%B: utilise des symboles préfixés par _ mais écrits les symboles sans préfixes dans le fichier"
-#: elf32-cris.c:4224
+#: elf32-cris.c:4143
msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr "%B: utilise des symboles sans préfixe mais ajoute le préfixe _ aux symboles dans le fichier"
-#: elf32-cris.c:4243
+#: elf32-cris.c:4162
msgid "%B contains CRIS v32 code, incompatible with previous objects"
msgstr "%B contient du code CRIS v32 incompatible avec les objets précédents"
-#: elf32-cris.c:4245
+#: elf32-cris.c:4164
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr "%B contient du code non CRIS v32 incompatible avec les objets précédents"
-#: elf32-dlx.c:142
+#: elf32-crx.c:429
+#, c-format
+msgid "%B: unrecognised CRX reloc number: %d"
+msgstr "%B: numéro de réadressage CRX non reconnu: %d"
+
+#: elf32-d10v.c:234
+#, c-format
+msgid "%B: invalid D10V reloc number: %d"
+msgstr "%B: numéro de réadressage D10V invalide: %d"
+
+#: elf32-d30v.c:522 elf32-d30v.c:541
+#, c-format
+msgid "%B: invalid D30V reloc number: %d"
+msgstr "%B: numéro de réadressage D30V invalide: %d"
+
+#: elf32-dlx.c:141
#, c-format
msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
msgstr "Erreur de liaison BFD: branchement (PC rel16) à la section (%s) n'est pas supporté"
@@ -1466,515 +2173,994 @@ msgstr "Erreur de liaison BFD: branchement (PC rel16) à la section (%s) n'est p
msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
msgstr "Erreur de liaison BFD: saut (PC rel26) à la section (%s) n'est pas supporté"
+#: elf32-dlx.c:552
+#, c-format
+msgid "Invalid DLX reloc number: %d"
+msgstr "Numéro de réadressage DLX invalide: %d"
+
+#: elf32-epiphany.c:376
+#, c-format
+msgid "%B: invalid Epiphany reloc number: %d"
+msgstr "%B: numéro de réadressage Epiphany invalide: %d"
+
#. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+#: elf32-epiphany.c:570 elf32-ip2k.c:1482
msgid "unsupported relocation between data/insn address spaces"
msgstr "réadressage non supporté entre les espaces d'adresses data/insn"
-#: elf32-frv.c:1509 elf32-frv.c:1658
+#: elf32-fr30.c:381
+#, c-format
+msgid "%B: invalid FR30 reloc number: %d"
+msgstr "%B: numéro de réadressage FR30 invalide: %d"
+
+#: elf32-frv.c:1451 elf32-frv.c:1602
msgid "relocation requires zero addend"
msgstr "le réadressage exige un opérande nul"
-#: elf32-frv.c:2888
+#: elf32-frv.c:2557
+#, c-format
+msgid "%B: invalid FRV reloc number: %d"
+msgstr "%B: numéro de réadressage FRV invalide: %d"
+
+#: elf32-frv.c:2823
+#, c-format
msgid "%H: relocation to `%s+%v' may have caused the error above\n"
msgstr "%H: le réadressage en « %s+%v » peut avoir causé le problème ci-dessus\n"
-#: elf32-frv.c:2905
+#: elf32-frv.c:2840
msgid "%H: relocation references symbol not defined in the module\n"
msgstr "%H: le réadressage fait référence à un symbole non défini dans le module\n"
-#: elf32-frv.c:2981
+#: elf32-frv.c:2916
msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
msgstr "%H: R_FRV_GETTLSOFF pas appliqué à une instruction d'appel\n"
-#: elf32-frv.c:3022
+#: elf32-frv.c:2957
msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
msgstr "%H: R_FRV_GOTTLSDESC12 pas appliqué à une instruction lddi\n"
-#: elf32-frv.c:3093
+#: elf32-frv.c:3028
msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_GOTTLSDESCHI pas appliqué à une instruction sethi\n"
-#: elf32-frv.c:3130
+#: elf32-frv.c:3065
msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
msgstr "%H: R_FRV_GOTTLSDESCLO pas appliqué à une instruction setlo ou setlos\n"
-#: elf32-frv.c:3177
+#: elf32-frv.c:3112
msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
msgstr "%H: R_FRV_TLSDESC_RELAX pas appliqué à une instruction ldd\n"
-#: elf32-frv.c:3261
+#: elf32-frv.c:3196
msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
msgstr "%H: R_FRV_GETTLSOFF_RELAX pas appliqué à une instruction calll\n"
-#: elf32-frv.c:3315
+#: elf32-frv.c:3250
msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
msgstr "%H: R_FRV_GOTTLSOFF12 pas appliqué à une instruction ldi\n"
-#: elf32-frv.c:3345
+#: elf32-frv.c:3280
msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_GOTTLSOFFHI pas appliqué à une instruction sethi\n"
-#: elf32-frv.c:3374
+#: elf32-frv.c:3309
msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
msgstr "%H: R_FRV_GOTTLSOFFLO pas appliqué à une instruction setlo ou setlos\n"
-#: elf32-frv.c:3404
+#: elf32-frv.c:3339
msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
msgstr "%H: R_FRV_TLSOFF_RELAX pas appliqué à une instruction ld\n"
-#: elf32-frv.c:3449
+#: elf32-frv.c:3384
msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_TLSMOFFHI pas appliqué à une instruction sethi\n"
-#: elf32-frv.c:3476
+#: elf32-frv.c:3411
msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
msgstr "R_FRV_TLSMOFFLO pas appliqué à une instruction setlo ou setlos\n"
-#: elf32-frv.c:3597
+#: elf32-frv.c:3532
msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
msgstr "%H: R_FRV_FUNCDESC fait référence à un symbole dynamique avec un opérande non nul\n"
-#: elf32-frv.c:3638 elf32-frv.c:3760
+#: elf32-frv.c:3573 elf32-frv.c:3695
msgid "%H: cannot emit fixups in read-only section\n"
msgstr "%H: impossible d'apporter des corrections dans une section en lecture seule\n"
-#: elf32-frv.c:3669 elf32-frv.c:3803
+#: elf32-frv.c:3604 elf32-frv.c:3738
msgid "%H: cannot emit dynamic relocations in read-only section\n"
msgstr "%H: impossible d'éditer les réadressages dynamiques dans une section en lecture seule\n"
-#: elf32-frv.c:3718
+#: elf32-frv.c:3653
msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
msgstr "%H: R_FRV_FUNCDESC_VALUE fait référence à un symbole dynamique avec un opérande non nul\n"
-#: elf32-frv.c:3974
+#: elf32-frv.c:3910
+#, c-format
msgid "%H: reloc against `%s' references a different segment\n"
msgstr "%H: le réadressage sur « %s » fait référence à un segment différent\n"
-#: elf32-frv.c:4124
+#: elf32-frv.c:4061
+#, c-format
msgid "%H: reloc against `%s': %s\n"
msgstr "%H: réadressage sur « %s »: %s\n"
-#: elf32-frv.c:6400
+#: elf32-frv.c:6258
+#, c-format
msgid "%B: unsupported relocation type %i\n"
msgstr "%B: type de réadressage %i non supporté\n"
-#: elf32-frv.c:6722
-#, c-format
-msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
-msgstr "%s: compilé avec %s et lié avec les modules qui utilisent le réadressage non PIC"
-
-#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#: elf32-frv.c:6510
#, c-format
-msgid "%s: compiled with %s and linked with modules compiled with %s"
-msgstr "%s: compilé avec %s et lié avec les modules compilés avec %s"
+msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%B: compilé avec %s et lié avec les modules qui utilisent le réadressage non PIC"
-#: elf32-frv.c:6787
+#: elf32-frv.c:6564 elf32-iq2000.c:832 elf32-m32c.c:877
#, c-format
-msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: utilise différents champs e_flags (0x%lx) que les modules précédents (0x%lx)"
+msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgstr "%B: compilé avec %s et lié avec les modules compilés avec %s"
-#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
-#: elf32-rx.c:3001
+#: elf32-frv.c:6577
#, c-format
-msgid "private flags = 0x%lx:"
-msgstr "fanions privés = 0x%lx:"
+msgid "%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr "%B: utilise différents champs e_flags (0x%lx) que les modules précédents (0x%lx)"
#: elf32-gen.c:69 elf64-gen.c:69
+#, c-format
msgid "%B: Relocations in generic ELF (EM: %d)"
msgstr "%B: Réadressages en format ELF générique (EM: %d)"
-#: elf32-hppa.c:850 elf32-hppa.c:3598
+#: elf32-hppa.c:839 elf32-hppa.c:3599
+#, c-format
msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
msgstr "%B(%A+0x%lx): ne peut atteindre %s, recompilez avec -ffunction-sections"
-#: elf32-hppa.c:1284
+#: elf32-hppa.c:1270
+#, c-format
msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
msgstr "%B: réadressage de %s ne peut être utilisé lors de la création d'un objet partagé; recompilez avec -fPIC"
-#: elf32-hppa.c:2791
+#: elf32-hppa.c:2778
+#, c-format
msgid "%B: duplicate export stub %s"
msgstr "%B: ébauche d'exportation en double %s"
-#: elf32-hppa.c:3437
+#: elf32-hppa.c:3433
+#, c-format
msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
msgstr "%B(%A+0x%lx): correction %s pour insn 0x%x n'est pas supporté dans un lien non partagé"
-#: elf32-hppa.c:4284
+#: elf32-hppa.c:4290
+#, c-format
msgid "%B(%A+0x%lx): cannot handle %s for %s"
msgstr "%B(%A+0x%lx): ne sait pas traiter %s pour %s"
-#: elf32-hppa.c:4603
+#: elf32-hppa.c:4588
msgid ".got section not immediately after .plt section"
msgstr "section .got pas immédiatement après la section .plt"
+#: elf32-i370.c:307
+#, c-format
+msgid "%B: unrecognised I370 reloc number: %d"
+msgstr "%B: numéro de réadressage I370 non reconnu: %d"
+
+#: elf32-i370.c:1168
+msgid "%B: unknown relocation type %d for symbol %s"
+msgstr "%B: type de réadressage %d inconnu pour le symbole %s"
+
+#: elf32-i370.c:1310
+#, c-format
+msgid "%B: Relocation %s is not yet supported for symbol %s."
+msgstr "%B: réadressage %s n'est pas encore supporté pour le symbole %s"
+
#. Unknown relocation.
-#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
-#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
+#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:289
+#, c-format
msgid "%B: invalid relocation type %d"
msgstr "%B: type de réadressage %d invalide"
-#: elf32-i386.c:1404 elf64-x86-64.c:1308
+#: elf32-i386.c:1711 elf64-x86-64.c:1888
+#, c-format
msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: Échec de la transition TLS de %s vers %s sur «%s» à 0x%lx dans la section «%A»"
+msgstr "%B: Échec de la transition TLS de %s vers %s sur « %s » à 0x%lx dans la section « %A »"
-#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
-#: elfxx-sparc.c:3083
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: le réadressage %s sur le symbole STT_GNU_IFUNC « %s » n'est pas géré par %s"
+#: elf32-i386.c:1799
+#, c-format
+msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%B: le réadressage GOT direct R_386_GOT32X sur le symbole « %s » sans registre de base ne peut pas être utilisé lors de la création d'un objet partagé"
-#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
-#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
-#: elfxx-tilegx.c:1701
+#: elf32-i386.c:2237 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
+#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625
+#: elfxx-tilegx.c:1817
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:440
+#, c-format
msgid "%B: `%s' accessed both as normal and thread local symbol"
-msgstr "%B: «%s» accédé à la fois comme symbole normal et comme symbole locale au thread"
+msgstr "%B: « %s » accédé à la fois comme symbole normal et comme symbole locale au thread"
-#: elf32-i386.c:2539 elf64-x86-64.c:2506
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: attention: réadressage sur « %s » dans la section en lecture seule « %A ».\n"
+#: elf32-i386.c:2314
+#, c-format
+msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%B: appel non-PIC non supporté vers IFUNC « %s »"
-#: elf32-i386.c:2629 elf64-x86-64.c:2593
-msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
-msgstr "%P: %B: attention: réadressage dans la section « %A » en lecture seule.\n"
+#: elf32-i386.c:3189 elf64-x86-64.c:3589
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
+msgstr "%P: %B: attention: réadressage sur « %s » dans la section en lecture seule « %A »\n"
-#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
+#: elf32-i386.c:3402 elf64-x86-64.c:3798
+#, c-format
+msgid "%P: %B: warning: relocation in readonly section `%A'\n"
+msgstr "%P: %B: attention: réadressage dans la section « %A » en lecture seule\n"
+
+#: elf32-i386.c:3705 elf64-x86-64.c:4114
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: le segment en lecture seule a des réadressages IFUNC dynamiques; recompilez avec -fPIC\n"
+
+#: elf32-i386.c:3945 elf32-tilepro.c:2868 elf64-x86-64.c:4321
+#: elfxx-tilegx.c:3167
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6082
+#, c-format
msgid "%B: unrecognized relocation (0x%x) in section `%A'"
msgstr "%B: réadressage inconnu (0x%x) dans la section « %A »"
-#: elf32-i386.c:3494 elf64-x86-64.c:3513
+#: elf32-i386.c:4240 elf64-x86-64.c:4550
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%B: le réadressage %s sur le symbole STT_GNU_IFUNC « %s » n'est pas supporté"
+
+#: elf32-i386.c:4275 elf32-i386.c:5642 elf32-i386.c:5781 elf64-x86-64.c:4609
+#: elf64-x86-64.c:5982 elf64-x86-64.c:6136
+msgid "Local IFUNC function `%s' in %B\n"
+msgstr "Fonction IFUNC locale « %s » dans %B\n"
+
+#: elf32-i386.c:4508
+#, c-format
+msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%B: le réadressage GOT direct %s vers « %s » sans registre de base ne peut pas être utilisé lors de la création d'un objet partagé"
+
+#: elf32-i386.c:4543 elf64-x86-64.c:4816
msgid "hidden symbol"
msgstr "symbole caché"
-#: elf32-i386.c:3497 elf64-x86-64.c:3516
+#: elf32-i386.c:4546 elf64-x86-64.c:4819
msgid "internal symbol"
msgstr "symbole interne"
-#: elf32-i386.c:3500 elf64-x86-64.c:3519
+#: elf32-i386.c:4549 elf64-x86-64.c:4822
msgid "protected symbol"
msgstr "symbole protégé"
-#: elf32-i386.c:3503 elf64-x86-64.c:3522
+#: elf32-i386.c:4552 elf64-x86-64.c:4825
msgid "symbol"
msgstr "symbole"
-#: elf32-i386.c:3508
+#: elf32-i386.c:4558
+#, c-format
msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
msgstr "%B: réadressage R_386_GOTOFF sur le symbole %s « %s » non défini ne peut pas être utilisé lors de la création d'un objet partagé"
-#: elf32-i386.c:3518
-msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: réadressage R_386_GOTOFF vers la fonction protégée « %s » ne peut pas être utilisé lors de la création d'un objet partagé"
+# « la %s progétée » a un %s qui est remplacé par le texte non traduit « function » ou « data ».
+# Heureusement, cette ligne n'existe plus dans le code source actuel.
+#: elf32-i386.c:4571
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: réadressage R_386_GOTOFF vers la %s protégée « %s » ne peut pas être utilisé lors de la création d'un objet partagé"
-#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
-#: elfxx-tilegx.c:3847
+#: elf32-i386.c:6116 elf32-tilepro.c:3920 elf64-x86-64.c:6483
+#: elfxx-tilegx.c:4327
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:9261
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2522
#, c-format
msgid "discarded output section: `%A'"
-msgstr "section de sortie rejetée: «%A»"
+msgstr "section de sortie rejetée: « %A »"
+
+#: elf32-i386.c:6693 elf64-x86-64.c:7228
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "erreur: %B: <la taille utilisée par l'ISA x86 est corrompue: 0x%x>"
+
+#: elf32-i386.c:6695 elf64-x86-64.c:7230
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "erreur: %B: <la taille nécessaire pour l'ISA x86 est corrompue: 0x%x>"
-#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
+#: elf32-i386.c:6696 elf64-x86-64.c:7231
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "erreur: %B: <la taille des fonctionnalités x86 est corrompue: 0x%x>"
+
+#: elf32-i386.c:6873 elf64-x86-64.c:7408
+#, c-format
+msgid "%F: failed to create GNU property section\n"
+msgstr "%F: échec lors de la création de la section des propriétés GNU\n"
+
+#: elf32-i386.c:6959
+#, c-format
+msgid "%F: failed to create VxWorks dynamic sections\n"
+msgstr "%F: échec lors de la création des sections dynamiques VxWorks\n"
+
+#: elf32-i386.c:7026 elf64-x86-64.c:7568
+#, c-format
+msgid "%F: failed to create GOT sections\n"
+msgstr "%F: échec lors de la création des sections GOT\n"
+
+#: elf32-i386.c:7031 elf64-x86-64.c:7584
+#, c-format
+msgid "%F: failed to create ifunc sections\n"
+msgstr "%F: échec lors de la création des sections ifunc\n"
+
+#: elf32-i386.c:7074 elf64-x86-64.c:7627
+#, c-format
+msgid "%F: failed to create GOT PLT section\n"
+msgstr "%F: échec lors de la création de la section PLT GOT\n"
+
+#: elf32-i386.c:7095 elf64-x86-64.c:7648
+#, c-format
+msgid "%F: failed to create IBT-enabled PLT section\n"
+msgstr "%F: échec lors de la création de la section PLT activée pour IBT\n"
+
+#: elf32-i386.c:7116 elf64-x86-64.c:7684
+#, c-format
+msgid "%F: failed to create PLT .eh_frame section\n"
+msgstr "%F: échec lors de la création de la section .eh_frame PLT\n"
+
+#: elf32-i386.c:7129 elf64-x86-64.c:7698
+#, c-format
+msgid "%F: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F: échec lors de la création de la section .eh_frame PLT GOT\n"
+
+#: elf32-i386.c:7149 elf64-x86-64.c:7414
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: échec lors de l'alignement de la section\n"
+
+#: elf32-i960.c:140
+#, c-format
+msgid "%B: invalid i960 reloc number: %d"
+msgstr "%B: numéro de réadressage i960 invalide: %d"
+
+#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
msgid "ip2k relaxer: switch table without complete matching relocation information."
msgstr "relâche ip2k: table de commutation sans concordance complète des informations de réadressage"
-#: elf32-ip2k.c:880 elf32-ip2k.c:963
+#: elf32-ip2k.c:879 elf32-ip2k.c:962
msgid "ip2k relaxer: switch table header corrupt."
msgstr "relâche ip2k: en-tête de table de commutation corrompue"
-#: elf32-ip2k.c:1292
+#: elf32-ip2k.c:1245
+#, c-format
+msgid "%B: invalid IP2K reloc number: %d"
+msgstr "%B: numéro de réadressage IP2K invalide: %d"
+
+#: elf32-ip2k.c:1298
#, c-format
msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "liaison ip2k: instruction de page manquante à 0x%08lx (cible = 0x%08lx)."
-#: elf32-ip2k.c:1308
+#: elf32-ip2k.c:1315
#, c-format
msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "liaison ip2k: instruction de page redondante à 0x%08lx (cible = 0x%08lx)."
-#: elf32-iq2000.c:858 elf32-m32c.c:819
+#: elf32-iq2000.c:441
#, c-format
-msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: utilise des champs e_flags (0x%lx) différents des modules précédents (0x%lx)"
+msgid "%B: invalid IQ2000 reloc number: %d"
+msgstr "%B: numéro de réadressage IQ2000 invalide: %d"
-#: elf32-lm32.c:706
+#: elf32-lm32.c:559
+#, c-format
+msgid "%B: invalid LM32 reloc number: %d"
+msgstr "%B: numéro de réadressage LM32 invalide: %d"
+
+#: elf32-lm32.c:668 elf32-nios2.c:3153
msgid "global pointer relative relocation when _gp not defined"
msgstr "réadressage relatif au pointeur global sans que _gp ne soit défini"
-#: elf32-lm32.c:761
+#: elf32-lm32.c:723 elf32-nios2.c:3590
msgid "global pointer relative address out of range"
msgstr "adresse relative du pointeur global hors limites"
-#: elf32-lm32.c:1057
+#: elf32-lm32.c:1018
msgid "internal error: addend should be zero for R_LM32_16_GOT"
msgstr "erreur interne: opérande devrait être zéro pour R_LM32_16_GOT"
-#: elf32-m32r.c:1453
+#: elf32-m32c.c:305
+#, c-format
+msgid "%B: invalid M32C reloc number: %d"
+msgstr "%B: numéro de réadressage M32C invalide: %d"
+
+#: elf32-m32r.c:1286
+#, c-format
+msgid "%B: invalid M32R reloc number: %d"
+msgstr "%B: numéro de réadressage M32R invalide: %d"
+
+#: elf32-m32r.c:1458
msgid "SDA relocation when _SDA_BASE_ not defined"
msgstr "réadressage SDA alors que _SDA_BASE_ n'est pas défini"
-#: elf32-m32r.c:3043
+#: elf32-m32r.c:2984 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#, c-format
msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
msgstr "%B: la cible (%s) du réadressage %s est dans la mauvaise section (%A)"
-#: elf32-m32r.c:3571
+#: elf32-m32r.c:3486
msgid "%B: Instruction set mismatch with previous modules"
msgstr "%B: jeu d'instructions ne concorde par avec les modules précédents"
-#: elf32-m32r.c:3592
+#: elf32-m32r.c:3507 elf32-nds32.c:6111
#, c-format
msgid "private flags = %lx"
msgstr "fanions privés = %lx"
-#: elf32-m32r.c:3597
+#: elf32-m32r.c:3512
#, c-format
msgid ": m32r instructions"
msgstr ": instructions m32r"
-#: elf32-m32r.c:3598
+#: elf32-m32r.c:3513
#, c-format
msgid ": m32rx instructions"
msgstr ": instruction m32rx"
-#: elf32-m32r.c:3599
+#: elf32-m32r.c:3514
#, c-format
msgid ": m32r2 instructions"
msgstr ": instructions m32r2"
-#: elf32-m68hc1x.c:1050
+#: elf32-m68hc11.c:390
+#, c-format
+msgid "%B: invalid M68HC11 reloc number: %d"
+msgstr "%B: numéro de réadressage M68HC11 invalide: %d"
+
+#: elf32-m68hc12.c:510
+#, c-format
+msgid "%B: invalid M68HC12 reloc number: %d"
+msgstr "%B: numéro de réadressage M68HC12 invalide: %d"
+
+#: elf32-m68hc1x.c:1119
#, c-format
msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
msgstr "Référence à un symbole far « %s » utilisant le mauvais réadressage peut provoquer une exécution incorrecte"
-#: elf32-m68hc1x.c:1073
+#: elf32-m68hc1x.c:1153
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "l'adresse XGATE (%lx) n'est pas dans la mémoire RAM partagée (0xE000-0xFFFF), par conséquent, vous devez décaler l'adresse manuellement, et peut-être gérer la page, dans votre code."
+
+#: elf32-m68hc1x.c:1171
#, c-format
msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
msgstr "banque d'adresses [%lx:%04lx] (%lx) n'es pas dans la même banque que la banque courante d'adresses [%lx:%04lx] (%lx)"
-#: elf32-m68hc1x.c:1092
+#: elf32-m68hc1x.c:1187
#, c-format
msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
msgstr "référence à une banque d'adresses [%lx:%04lx] dans l'espace normal d'adresses à %04lx"
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1228
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "l'adresse S12 (%lx) n'est pas dans la mémoire RAM partagée (0x2000-0x4000), par conséquent, vous devez décaler l'adresse manuellement dans votre code"
+
+#: elf32-m68hc1x.c:1355
msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
msgstr "%B: fichiers liés compilés pour des entiers de 16 bits (-mshort) et d'autres pour des entiers de 32 bits"
-#: elf32-m68hc1x.c:1232
+#: elf32-m68hc1x.c:1362
msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
msgstr "%B: fichiers liés compilés pour des doubles de 32 bits (-fshort-double) et d'autres pour des doubles de 64 bits"
-#: elf32-m68hc1x.c:1241
+#: elf32-m68hc1x.c:1371
msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
msgstr "%B: certains fichiers liés compilés pour HCS12 avec d'autres compilés pour HC12"
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: utilise des champs e_flags (0x%lx) différents des modules précédents (0x%lx)"
-
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1416 elf32-xgate.c:672
#, c-format
msgid "[abi=32-bit int, "
msgstr "[abi=32-bit int, "
-#: elf32-m68hc1x.c:1287
+#: elf32-m68hc1x.c:1418 elf32-xgate.c:674
#, c-format
msgid "[abi=16-bit int, "
msgstr "[abi=16-bit int, "
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1421 elf32-xgate.c:677
#, c-format
msgid "64-bit double, "
msgstr "double de 64 bits, "
-#: elf32-m68hc1x.c:1292
+#: elf32-m68hc1x.c:1423 elf32-xgate.c:679
#, c-format
msgid "32-bit double, "
msgstr "double de 32 bits, "
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1426
#, c-format
msgid "cpu=HC11]"
msgstr "cpu=HC11]"
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1428
#, c-format
msgid "cpu=HCS12]"
msgstr "cpu=HCS12]"
-#: elf32-m68hc1x.c:1299
+#: elf32-m68hc1x.c:1430
#, c-format
msgid "cpu=HC12]"
msgstr "cpu=HC12]"
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1433
#, c-format
msgid " [memory=bank-model]"
msgstr " [memory=bank-model]"
-#: elf32-m68hc1x.c:1304
+#: elf32-m68hc1x.c:1435
#, c-format
msgid " [memory=flat]"
msgstr " [memory=flat]"
-#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+#: elf32-m68hc1x.c:1438
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [décalage RAM XGATE]"
+
+#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7400 vms-alpha.c:7416
msgid "unknown"
msgstr "inconnu"
-#: elf32-m68k.c:1715
+#: elf32-m68k.c:1680
+#, c-format
msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
msgstr "%B: débordement GOT: Nombre de réadressages avec des offsets de 8 bits > %d"
-#: elf32-m68k.c:1721
+#: elf32-m68k.c:1687
+#, c-format
msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
msgstr "%B: débordement GOT: Nombre de réadressages avec des offsets de 8 ou 16 bits > %d"
-#: elf32-m68k.c:3957
+#: elf32-m68k.c:3890
+#, c-format
msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): réadressage R_68K_TLS_LE32 pas permis dans un objet partagé"
-#: elf32-mcore.c:99 elf32-mcore.c:442
+#: elf32-mcore.c:100 elf32-mcore.c:455
+#, c-format
msgid "%B: Relocation %s (%d) is not currently supported.\n"
msgstr "%B: Réadressage %s (%d) n'est pas actuellement supporté.\n"
-#: elf32-mcore.c:428
+#: elf32-mcore.c:355
+#, c-format
+msgid "%B: unrecognised MCore reloc number: %d"
+msgstr "%B: numéro de réadressage MCore non reconnu: %d"
+
+#: elf32-mcore.c:440
+#, c-format
msgid "%B: Unknown relocation type %d\n"
msgstr "%B: Type de réadressage %d inconnu\n"
#. Pacify gcc -Wall.
-#: elf32-mep.c:157
+#: elf32-mep.c:139
#, c-format
msgid "mep: no reloc for code %d"
msgstr "mep: pas de réadressage pour le code %d"
-#: elf32-mep.c:163
+#: elf32-mep.c:146
#, c-format
msgid "MeP: howto %d has type %d"
msgstr "MeP: le howto %d a le type %d"
-#: elf32-mep.c:648
+#: elf32-mep.c:390
+#, c-format
+msgid "%B: invalid MEP reloc number: %d"
+msgstr "%B: numéro de réadressage MEP invalide: %d"
+
+#: elf32-mep.c:620
+#, c-format
msgid "%B and %B are for different cores"
msgstr "%B et %B sont pour des noyaux différents"
-#: elf32-mep.c:665
+#: elf32-mep.c:639
+#, c-format
msgid "%B and %B are for different configurations"
msgstr "%B et %B sont pour des configurations différentes"
-#: elf32-mep.c:702
+#: elf32-mep.c:677
#, c-format
msgid "private flags = 0x%lx"
msgstr "fanions privés = 0x%lx"
-#: elf32-microblaze.c:742
+#: elf32-metag.c:893
#, c-format
-msgid "%s: unknown relocation type %d"
-msgstr "%s: type de réadressage %d inconnu"
+msgid "%B: invalid METAG reloc number: %d"
+msgstr "%B: numéro de réadressage METAG invalide: %d"
-#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#: elf32-metag.c:1875
+msgid "%B(%A): multiple TLS models are not supported"
+msgstr "%B(%A): l'utilisation de plusieurs modèles TLS n'est pas supporté"
+
+#: elf32-metag.c:1878
+msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
+msgstr "%B(%A): symbole de bibliothèque partagée %s rencontré en réalisant une édition de liens statiques"
+
+#: elf32-metag.c:1931
+#, c-format
+msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): réadressage R_METAG_TLS_LE/IENONPIC pas permis dans un objet partagé"
+
+#: elf32-microblaze.c:656
#, c-format
-msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
-msgstr "%s: la cible (%s) du réadressage %s est dans la mauvaise section (%s)"
+msgid "%B: unrecognised MicroBlaze reloc number: %d"
+msgstr "%B: numéro de réadressage MicroBlaze non reconnu: %d"
-#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
-#: elfxx-tilegx.c:3230
+#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3317
+#: elfxx-sparc.c:3705 elfxx-tilegx.c:3726
msgid "%B: probably compiled without -fPIC?"
msgstr "%B: probablement compilé sans -fPIC?"
-#: elf32-microblaze.c:2074
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: nom de section de réadressage erroné « %s »"
-
-#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3010
msgid "literal relocation occurs for an external symbol"
msgstr "réadressage littéral rencontré pour un symbole externe"
-#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
-#: elfn32-mips.c:2528
+#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
+#: elfn32-mips.c:3051
msgid "32bits gp relative relocation occurs for an external symbol"
msgstr "réadressage relatif gp 32bits rencontré pour un symbole externe"
-#: elf32-ppc.c:1741
+#: elf32-mips.c:2225
+#, c-format
+msgid "Unrecognised MIPS reloc number: %d"
+msgstr "Numéro de réadressage MIPS non reconnu: %d"
+
+#: elf32-moxie.c:137
+#, c-format
+msgid "%B: invalid Moxie reloc number: %d"
+msgstr "%B: numéro de réadressage Moxie invalide: %d"
+
+#: elf32-msp430.c:648
+#, c-format
+msgid "%B: invalid MSP430X reloc number: %d"
+msgstr "%B: numéro de réadressage MSP430X invalide: %d"
+
+#: elf32-msp430.c:658
+#, c-format
+msgid "%B: invalid MSP430 reloc number: %d"
+msgstr "%B: numéro de réadressage MSP430 invalide: %d"
+
+#: elf32-msp430.c:836 elf32-msp430.c:1150
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "Essayez d'activer la relaxation pour éviter des réadressages tronqués"
+
+#: elf32-msp430.c:1357
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "erreur interne: branchement/saut vers une adresse impaire détecté"
+
+#: elf32-msp430.c:2354
+#, c-format
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "Attention: %B: Attribut d'objet MSPBI %d inconnu"
+
+#: elf32-msp430.c:2447
+#, c-format
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "erreur: %B utilise les instructions %s alors que %B utilise %s"
+
+#: elf32-msp430.c:2459
+#, c-format
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "erreur: %B utilise le modèle de code %s alors que %B utilise le modèle de code %s"
+
+#: elf32-msp430.c:2471
+#, c-format
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "erreur: %B utilise le grand modèle de code alors que %B utilise les instructions MSP430"
+
+#: elf32-msp430.c:2482
+#, c-format
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "erreur: %B utilise le modèle de données %s alors que %B utilise le modèle de données %s"
+
+#: elf32-msp430.c:2494
+#, c-format
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "erreur: %B utilise le petit modèle de code alors que %B utilise le modèle de données %s"
+
+#: elf32-msp430.c:2506
+#, c-format
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "erreur: %B utilise le modèle de données %s alors que %B utilise uniquement des instructions MSP430"
+
+#: elf32-mt.c:242
+#, c-format
+msgid "%B: invalid MT reloc number: %d"
+msgstr "%B: numéro de réadressage MT invalide: %d"
+
+#: elf32-nds32.c:2974
+#, c-format
+msgid "%B: invalid NDS32 reloc number: %d"
+msgstr "%B: numéro de réadressage NDS32 invalide: %d"
+
+#: elf32-nds32.c:3309
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "erreur: Le symbole ne peut être trouvé: _SDA_BASE_."
+
+#: elf32-nds32.c:4484 elf32-nds32.c:11978
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: erreur: Ne peut définir _ITB_BASE_"
+
+#: elf32-nds32.c:4492
+msgid "error: IFC relocation error."
+msgstr "erreur: erreur de réadressage IFC."
+
+#: elf32-nds32.c:4526
+#, c-format
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: erreur: type de réadressage %d inconnu."
+
+#: elf32-nds32.c:4972
+msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%B: attention: ne peut gérer R_NDS32_25_ABS_RELA en mode partagé."
+
+#: elf32-nds32.c:5106
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: attention: accès non aligné à une entrée GOT."
+
+#: elf32-nds32.c:5148
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: attention: réadressage SDA_BASE a échoué."
+
+#: elf32-nds32.c:5170
+#, c-format
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): attention: accès non aligné à une petite donnée de type %d."
+
+#: elf32-nds32.c:5918
+#, c-format
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: Taille de vecteur ISR en désaccord avec les modules précédents: précédent a %u octets; actuel a %u octets"
+
+#: elf32-nds32.c:5962
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: attention: L'ordre des octets n'est pas le même que dans les modules précédents."
+
+#: elf32-nds32.c:5972
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: attention: Version plus ancienne du fichier objet rencontrée. Veuillez recompiler avec la chaîne d'outils actuelle."
+
+#: elf32-nds32.c:6050
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: erreur: non concordance de l'ABI avec les modules précédents."
+
+#: elf32-nds32.c:6061
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: erreur: Jeu d'instructions ne concorde par avec les modules précédents."
+
+#: elf32-nds32.c:6087
+#, c-format
+msgid "%B: warning: Incompatible elf-versions %s and %s."
+msgstr "%B: attention: Versions elf %s et %s non compatibles."
+
+#: elf32-nds32.c:6117
+#, c-format
+msgid ": n1 instructions"
+msgstr ": instructions n1"
+
+#: elf32-nds32.c:6120
+#, c-format
+msgid ": n1h instructions"
+msgstr ": instructions n1h"
+
+#: elf32-nds32.c:8730
+msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
+msgstr "%B: Erreur: search_nds32_elf_blank rapporte le mauvais nœud\n"
+
+#: elf32-nds32.c:8989
+#, c-format
+msgid "%B: warning: %s points to unrecognized reloc at 0x%lx."
+msgstr "%B: attention: %s pointe vers le réadressage non reconnu à 0x%lx."
+
+#: elf32-nds32.c:11850 elf32-nds32.c:11867
+msgid "error: Jump IFC Fail."
+msgstr "erreur: Saut IFC a échoué."
+
+#: elf32-nds32.c:12724
+#, c-format
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: OMIT_FP imbriqués dans %A."
+
+#: elf32-nds32.c:12743
+#, c-format
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: OMIT_FP non apparié dans %A."
+
+#: elf32-nds32.c:13026 reloc.c:8231
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): réadressage « %R » va en dehors des limites\n"
+
+#: elf32-nds32.c:14802
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "Lieur: ne peut initialiser la table de hachage ex9 \n"
+
+#: elf32-nds32.c:15211 elf32-nds32.c:15225
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "Lieur: ne peut réadresser ex9 fixé \n"
+
+#: elf32-nds32.c:15436
+#, c-format
+msgid "%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."
+msgstr "%B: attention: accès non aligné à une petite donnée. Pour l'entrée: {%d, %d, %d}, adr = 0x%x, alignement = 0x%x."
+
+#: elf32-nds32.c:15469
+msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
+msgstr "%P%F: échec de la création de la table de hachage ex9.it %s: %E\n"
+
+#: elf32-nios2.c:2949
+msgid "error: %B: Big-endian R2 is not supported."
+msgstr "erreur: %B: R2 gros boutiste n'est pas supporté."
+
+#: elf32-nios2.c:3830
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "réadressage relatif au pointeur global à l'adresse 0x%08x sans que _gp ne soit défini\n"
+
+#: elf32-nios2.c:3850
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "Impossible d'atteindre %s (à 0x%08x) depuis le pointeur global (à 0x%08x) car l'offset (%d) est en dehors de la plage autorisée -32768 à 32767.\n"
+
+#: elf32-nios2.c:4372
+#, c-format
+msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): réadressage R_NIOS2_TLS_LE16 pas permis dans un objet partagé"
+
+#: elf32-nios2.c:4500 elf32-pru.c:816
+msgid "relocation out of range"
+msgstr "réadressage hors limite"
+
+#: elf32-nios2.c:4510 elf32-pru.c:826 elf32-tic6x.c:2747
+msgid "dangerous relocation"
+msgstr "réadressage dangereux"
+
+#: elf32-nios2.c:5491
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "la variable dynamique « %s » a une taille nulle"
+
+#: elf32-or1k.c:735
+#, c-format
+msgid "%B: invalid OR1K reloc number: %d"
+msgstr "%B: numéro de réadressage OR1K invalide: %d"
+
+#: elf32-or1k.c:985
+msgid "internal error: addend should be zero for R_OR1K_GOT16"
+msgstr "erreur interne: opérande devrait être zéro pour R_OR1K_GOT16"
+
+#: elf32-or1k.c:1094
+msgid "%B: support for local dynamic not implemented"
+msgstr "%B: support pour les dynamiques locaux pas implémentée"
+
+#: elf32-or1k.c:1229
+msgid "%B: will not resolve runtime TLS relocation"
+msgstr "%B: le réadressage TLS ne sera pas résolu à l'exécution"
+
+#: elf32-or1k.c:1599
+#, c-format
+msgid "%B: bad relocation section name `%s'"
+msgstr "%B: nom de section de réadressage erroné « %s »"
+
+#: elf32-or1k.c:2704
+msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgstr "%B: désaccord du fanion EF_OR1K_NODELAY avec les modules précédents"
+
+#: elf32-pj.c:325
+#, c-format
+msgid "%B: unrecognised PicoJava reloc number: %d"
+msgstr "%B: numéro de réadressage PicoJava non reconnu: %d"
+
+#: elf32-ppc.c:2062
+#, c-format
+msgid "%B: unrecognised PPC reloc number: %d"
+msgstr "%B: numéro de réadressage PPC non reconnu: %d"
+
+#: elf32-ppc.c:2147
#, c-format
msgid "generic linker can't handle %s"
msgstr "liaison générique ne peut traiter %s"
-#: elf32-ppc.c:2184
+#: elf32-ppc.c:2781
+#, c-format
msgid "corrupt %s section in %B"
msgstr "section %s corrompue dans %B"
-#: elf32-ppc.c:2203
+#: elf32-ppc.c:2801
+#, c-format
msgid "unable to read in %s section from %B"
msgstr "incapable de lire dans la section %s à partir de %B"
-#: elf32-ppc.c:2244
+#: elf32-ppc.c:2843
+#, c-format
msgid "warning: unable to set size of %s section in %B"
msgstr "attention: incapable d'initialiser la taille de la section %s dans %B"
-#: elf32-ppc.c:2294
+#: elf32-ppc.c:2893
msgid "failed to allocate space for new APUinfo section."
msgstr "échec d'allocation d'espace pour une nouvelle section APUinfo"
-#: elf32-ppc.c:2313
+#: elf32-ppc.c:2912
msgid "failed to compute new APUinfo section."
msgstr "échec d'évaluation de la nouvelle section APUinfo"
-#: elf32-ppc.c:2316
+#: elf32-ppc.c:2915
msgid "failed to install new APUinfo section."
msgstr "échec d'installation de la nouvelle section APUinfo"
-#: elf32-ppc.c:3356
+#: elf32-ppc.c:3975
+#, c-format
msgid "%B: relocation %s cannot be used when making a shared object"
msgstr "%B: réadressage %s ne peut être utilisé lors de la création d'un objet partagé"
-#. It does not make sense to have a procedure linkage
-#. table entry for a local symbol.
-#: elf32-ppc.c:3700
-msgid "%P: %H: %s reloc against local symbol\n"
-msgstr "%P: %H: %s réadressé par rapport à un symbole local\n"
+#: elf32-ppc.c:4329 elf64-ppc.c:5591
+#, c-format
+msgid "%H: %s reloc against local symbol\n"
+msgstr "%H: %s est réadressé par rapport à un symbole local\n"
-#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
-#: elfxx-mips.c:13699 elfxx-mips.c:13725
+#: elf32-ppc.c:4691 elf32-ppc.c:4695
+#, c-format
msgid "Warning: %B uses hard float, %B uses soft float"
msgstr "Attention: %B utilise la virgule flottante matérielle, %B utilise la virgule flottante logicielle"
-#: elf32-ppc.c:4042 elf32-ppc.c:4046
+#: elf32-ppc.c:4699 elf32-ppc.c:4704
+#, c-format
msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
msgstr "Attention: %B utilise la virgule flottante double précision matérielle, %B utilise la virgule flottante simple précision matérielle"
-#: elf32-ppc.c:4050
-msgid "Warning: %B uses soft float, %B uses single-precision hard float"
-msgstr "Attention: %B utilise la virgule flottante logicielle, %B utilise la virgule flottante simple précision matérielle"
-
-#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
-msgid "Warning: %B uses unknown floating point ABI %d"
-msgstr "Attention: %B utilise l'ABI inconnu %d pour la gestion des virgules flottantes"
+#: elf32-ppc.c:4719 elf32-ppc.c:4724
+#, c-format
+msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgstr "Attention: %B utilise un double long 64 bits, %B utilise un double long de 128 bits"
-#: elf32-ppc.c:4103 elf32-ppc.c:4107
-msgid "Warning: %B uses unknown vector ABI %d"
-msgstr "Attention: %B utilise l'ABI inconnu %d pour les vecteurs"
+#: elf32-ppc.c:4729 elf32-ppc.c:4734
+#, c-format
+msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgstr "Attention: %B utilise un double long IBM, %B utilise un double long IEEE"
-#: elf32-ppc.c:4111
-msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
-msgstr "Attention: %B utilise l'ABI de vecteurs «%s», %B utilise «%s»"
+#: elf32-ppc.c:4785 elf32-ppc.c:4790
+#, c-format
+msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgstr "Attention: %B utilise l'ABI de vecteurs AltiVec, %B utilise l'ABI de vecteurs SPE"
-#: elf32-ppc.c:4128 elf32-ppc.c:4131
+#: elf32-ppc.c:4813 elf32-ppc.c:4818
+#, c-format
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
msgstr "Attention: %B utilise r3/r4 pour les retours de petites structures, %B utilise la mémoire"
-#: elf32-ppc.c:4134 elf32-ppc.c:4138
-msgid "Warning: %B uses unknown small structure return convention %d"
-msgstr "Attention: %B utilise la convention inconnue %d pour le retour des petites structures"
-
-#: elf32-ppc.c:4192
+#: elf32-ppc.c:4873
msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
msgstr "%B: compilé avec -mrelocatable et fait l'édition de lien avec les modules compilés normalement"
-#: elf32-ppc.c:4200
+#: elf32-ppc.c:4881
msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr "%B: compilé normalement et fait l'édition de lien avec les modules compilés avec -mrelocatable"
-#: elf32-ppc.c:4309
+#: elf32-ppc.c:4909
+#, c-format
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: utilise des champs e_flags (%#x) différents des modules précédents (%#x)"
+
+#: elf32-ppc.c:4950
+#, c-format
+msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): réadressage du style 16A attendu sur l'insn 0x%08x"
+
+#: elf32-ppc.c:4969
+#, c-format
+msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): réadressage du style 16D attendu sur l'insn 0x%08x"
+
+#: elf32-ppc.c:5043
msgid "%P: bss-plt forced due to %B\n"
msgstr "%P: bss-plt forcé à cause de %B\n"
-#: elf32-ppc.c:4312
+#: elf32-ppc.c:5046
msgid "%P: bss-plt forced by profiling\n"
msgstr "%P: bss-plt forcé par le profilage\n"
@@ -1982,681 +3168,1129 @@ msgstr "%P: bss-plt forcé par le profilage\n"
#. could just mark this symbol to exclude it
#. from tls optimization but it's safer to skip
#. the entire optimization.
-#: elf32-ppc.c:4809 elf64-ppc.c:7858
+#: elf32-ppc.c:5544 elf64-ppc.c:8798
+#, c-format
msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
msgstr "%H l'argument a perdu __tls_get_addr, optimisation TLS désactivée\n"
-#: elf32-ppc.c:5044 elf64-ppc.c:6528
-msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: la variable dynamique « %s » a une taille nulle\n"
+#: elf32-ppc.c:8249
+msgid "%H: fixup branch overflow\n"
+msgstr "%H: débordement du branchement de correction\n"
-#: elf32-ppc.c:7263 elf64-ppc.c:12675
+#: elf32-ppc.c:8289 elf32-ppc.c:8324
+#, c-format
+msgid "%H: error: %s with unexpected instruction %x\n"
+msgstr "%H: erreur: %s avec l'instruction inattendue %x\n"
+
+#: elf32-ppc.c:8380
+#, c-format
+msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
+msgstr "%X%H: bss-plt -fPIC ifunc %s non supporté\n"
+
+#: elf32-ppc.c:8434
+#, c-format
msgid "%P: %B: unknown relocation type %d for symbol %s\n"
msgstr "%P: %B: type de réadressage %d inconnu pour le symbole %s\n"
-#: elf32-ppc.c:7524
-msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: opérande non nul sur le réadressage %s par rapport à « %s »\n"
+#: elf32-ppc.c:8723
+#, c-format
+msgid "%H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%H: opérande non nul sur le réadressage %s par rapport à « %s »\n"
+
+#. @local on an ifunc does not really make sense since
+#. the ifunc resolver can take you anywhere. More
+#. seriously, calls to ifuncs must go through a plt call
+#. stub, and for pic the plt call stubs uses r30 to
+#. access the PLT. The problem is that a call that is
+#. local won't have the +32k reloc addend trick marking
+#. -fPIC code, so the linker won't know whether r30 is
+#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
+#: elf32-ppc.c:8755
+#, c-format
+msgid "%X%H: @local call to ifunc %s\n"
+msgstr "%X%H: appel @local à ifunc %s\n"
-#: elf32-ppc.c:7720 elf64-ppc.c:13181
-msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
-msgstr "%P: %H: réadressage %s non supporté pour la fonction indirecte %s\n"
+#: elf32-ppc.c:8935
+#, c-format
+msgid "%H: relocation %s for indirect function %s unsupported\n"
+msgstr "%H: réadressage %s non supporté pour la fonction indirecte %s\n"
-#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+#: elf32-ppc.c:9232 elf32-ppc.c:9263 elf32-ppc.c:9354
+#, c-format
msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
msgstr "%P: %B: la cible (%s) d'un réadressage %s est dans la mauvaise section de sortie (%s)\n"
-#: elf32-ppc.c:8097
+#: elf32-ppc.c:9442
+#, c-format
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: la cible (%s) d'un réadressage %s est dans la mauvaise section de sortie (%s)"
+
+#: elf32-ppc.c:9546
+#, c-format
msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
msgstr "%P: %B: réadressage %s n'est pas encore supporté pour le symbole %s\n"
-#: elf32-ppc.c:8158 elf64-ppc.c:13467
-msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: réadressage %s sans solution par rapport au symbole « %s »\n"
+#: elf32-ppc.c:9631
+#, c-format
+msgid "%H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%H: erreur: %s par rapport à « %s » n'est pas un multiple de %u\n"
+
+#: elf32-ppc.c:9660
+#, c-format
+msgid "%H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%H: réadressage %s sans solution par rapport au symbole « %s »\n"
+
+#: elf32-ppc.c:9741
+#, c-format
+msgid "%H: %s reloc against `%s': error %d\n"
+msgstr "%H: réadressage %s vers « %s »: erreur %d\n"
+
+#: elf32-ppc.c:10505 elf64-ppc.c:15719
+msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
+msgstr "%X%P: les réadressages de textes et les fonctions indirectes GNU résulteront en un crash à l'exécution\n"
-#: elf32-ppc.c:8205 elf64-ppc.c:13512
-msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: réadressage %s vers « %s »: erreur %d\n"
+#: elf32-ppc.c:10509 elf64-ppc.c:15723
+msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
+msgstr "%P: attention: les réadressages de textes et les fonctions indirectes GNU pourraient résulter en un crash à l'exécution\n"
-#: elf32-ppc.c:8696
+#: elf32-ppc.c:10554
+#, c-format
msgid "%P: %s not defined in linker created %s\n"
msgstr "%P: %s pas défini dans %s créé par l'éditeur de liens\n"
-#: elf32-rx.c:563
+#: elf32-rl78.c:291
+#, c-format
+msgid "%B: invalid RL78 reloc number: %d"
+msgstr "%B: numéro de réadressage RL78 invalide: %d"
+
+#: elf32-rl78.c:369
+msgid "Internal Error: RL78 reloc stack overflow"
+msgstr "Erreur interne: débordement de la pile de réadressages RL78"
+
+#: elf32-rl78.c:380
+msgid "Internal Error: RL78 reloc stack underflow"
+msgstr "Erreur interne: débordement par le bas de la pile de réadressages RL78"
+
+#: elf32-rl78.c:1049
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "Attention: Réadressage RL78_SYM avec un symbole inconnu"
+
+#: elf32-rl78.c:1080 elf32-rx.c:1434
+#, c-format
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): erreur: appel à la fonction non définie « %s »"
+
+#: elf32-rl78.c:1201
+#, c-format
+msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgstr "Conflit ABI RL78: Le fichier G10 %B ne peut pas être lié avec %s fichier %B"
+
+# les deux %s sont des noms de processeurs
+#: elf32-rl78.c:1218
+#, c-format
+msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgstr "Conflit d'ABI RL78: ne peut lier le fichier %2$B pour %1$s avec le fichier %4$B pour %3$s"
+
+#: elf32-rl78.c:1227
+msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
+msgstr "Conflit de fusion RL78: ne peut lier ensemble un objet 32 bits et un objet 64 bits"
+
+#: elf32-rl78.c:1231 elf32-rl78.c:1235
+#, c-format
+msgid "- %B is 64-bit, %B is not"
+msgstr "- %B est 64 bits, %B ne l'est pas"
+
+#: elf32-rl78.c:1262
+#, c-format
+msgid " [64-bit doubles]"
+msgstr " [doubles de 64 bits]"
+
+#: elf32-rx.c:313
+#, c-format
+msgid "%B: invalid RX reloc number: %d"
+msgstr "%B: numéro de réadressage RX invalide: %d"
+
+#: elf32-rx.c:594
+#, c-format
+msgid "%B:%A: table entry %s outside table"
+msgstr "%B:%A: l'entrée %s de la table est en dehors de la table"
+
+#: elf32-rx.c:601
+#, c-format
+msgid "%B:%A: table entry %s not word-aligned within table"
+msgstr "%B:%A: l'entrée %s de la table n'est pas alignée sur un mot dans la table"
+
+#: elf32-rx.c:667
+#, c-format
msgid "%B:%A: Warning: deprecated Red Hat reloc "
-msgstr "%B:%A: Attention: relocalisation Red Hat réprouvée "
+msgstr "%B:%A: Attention: réadressage Red Hat réprouvée "
#. Check for unsafe relocs in PID mode. These are any relocs where
#. an absolute address is being computed. There are special cases
#. for relocs against symbols that are known to be referenced in
#. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:581
+#: elf32-rx.c:686
+#, c-format
msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
msgstr "%B(%A): réadressage PID %s non sûr à 0x%08lx (sur %s dans %s)"
-#: elf32-rx.c:1157
+#: elf32-rx.c:1266
msgid "Warning: RX_SYM reloc with an unknown symbol"
msgstr "Attention: Relocalistaion RX_SYM avec un symbole inconnu"
-#: elf32-rx.c:1324
-msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): erreur: appel à la fonction non définie «%s»"
-
-#: elf32-rx.c:1338
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): attention: accès non aligné au symbole «%s» dans la zone des petites données"
-
-#: elf32-rx.c:1342
-msgid "%B(%A): internal error: out of range error"
-msgstr "%B(%A): erreur interne: hors limite"
-
-#: elf32-rx.c:1346
-msgid "%B(%A): internal error: unsupported relocation error"
-msgstr "%B(%A): erreur interne: réadressage non supporté"
+#: elf32-rx.c:3145
+msgid "There is a conflict merging the ELF header flags from %B"
+msgstr "Il y a un conflit en fusionnant les fanions d'en-têtes ELF de %B"
-#: elf32-rx.c:1350
-msgid "%B(%A): internal error: dangerous relocation"
-msgstr "%B(%A): erreur interne: réadressage dangereux"
+#: elf32-rx.c:3148
+#, c-format
+msgid " the input file's flags: %s"
+msgstr " les fanions du fichier d'entrée: %s"
-#: elf32-rx.c:1354
-msgid "%B(%A): internal error: unknown error"
-msgstr "%B(%A): erreur interne: erreur inconnue"
+#: elf32-rx.c:3150
+#, c-format
+msgid " the output file's flags: %s"
+msgstr " les fanions du fichier de sortie: %s"
-#: elf32-rx.c:3004
+#: elf32-rx.c:3757
#, c-format
-msgid " [64-bit doubles]"
-msgstr " [doubles de 64 bits]"
+msgid "%B:%A: table %s missing corresponding %s"
+msgstr "%B:%A: la table %s n'a pas de %s correspondant"
-#: elf32-rx.c:3006
+#: elf32-rx.c:3765
#, c-format
-msgid " [dsp]"
-msgstr " [dsp]"
+msgid "%B:%A: %s and %s must be in the same input section"
+msgstr "%B:%A: %s et %s doivent être dans la même section d'entrée"
-#: elf32-s390.c:2200 elf64-s390.c:2187
+#: elf32-s390.c:2310 elf64-s390.c:2257
+#, c-format
msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
msgstr "%B(%A+0x%lx): instruction invalide pour le réadressage TLS %s"
-#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
msgid "not enough GOT space for local GOT entries"
msgstr "pas suffisamment d'espace GOT pour les entrées locales GOT"
-#: elf32-score.c:2742
+#: elf32-score.c:2744
msgid "address not word align"
msgstr "adresse pas alignée sur un mot"
-#: elf32-score.c:2827 elf32-score7.c:2631
+#: elf32-score.c:2825 elf32-score7.c:2630
#, c-format
-msgid "%s: Malformed reloc detected for section %s"
-msgstr "%s: relocalisation mal composée détectée dans la section %s"
+msgid "%B: Malformed reloc detected for section %A"
+msgstr "%B: Réadressage mal composé détecté dans la section %A"
-#: elf32-score.c:2878 elf32-score7.c:2682
+#: elf32-score.c:2883 elf32-score7.c:2688
+#, c-format
msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
-msgstr "%B: appel CALL15 de relocalisation à 0x%lx n'est pas appliqué sur un symbole global"
+msgstr "%B: appel CALL15 de réadressage à 0x%lx n'est pas appliqué sur un symbole global"
-#: elf32-score.c:3997 elf32-score7.c:3803
+#: elf32-score.c:4005 elf32-score7.c:3810
#, c-format
msgid " [pic]"
msgstr " [pic]"
-#: elf32-score.c:4001 elf32-score7.c:3807
+#: elf32-score.c:4009 elf32-score7.c:3814
#, c-format
msgid " [fix dep]"
msgstr " [fix dep]"
-#: elf32-score.c:4043 elf32-score7.c:3849
+#: elf32-score.c:4052 elf32-score7.c:3857
msgid "%B: warning: linking PIC files with non-PIC files"
msgstr "%B: attention: édition de liens des fichiers PIC avec des fichiers non PIC"
#: elf32-sh-symbian.c:130
+#, c-format
msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
msgstr "%B: la directive IMPORT AS de %s masque l'IMPORT AS précédent"
-#: elf32-sh-symbian.c:383
+#: elf32-sh-symbian.c:384
+#, c-format
msgid "%B: Unrecognised .directive command: %s"
msgstr "%B: Commande .directive non reconnue: %s"
-#: elf32-sh-symbian.c:504
+#: elf32-sh-symbian.c:502
+#, c-format
msgid "%B: Failed to add renamed symbol %s"
msgstr "%B: Échec de l'ajout du symbole renommé %s"
-#: elf32-sh.c:568
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: attention: mauvais décalage pour R_SH_USES"
-
-#: elf32-sh.c:580
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: attention: R_SH_USES pointe vers un insn inconnu 0x%x"
-
-#: elf32-sh.c:597
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: attention: mauvais décalage de chargement R_SH_USES"
-
-#: elf32-sh.c:612
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: attention: ne peut repérer la relocalisation attendue"
-
-#: elf32-sh.c:640
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: attention: symbole dans une section inattendue"
-
-#: elf32-sh.c:766
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: attention: ne peut repérer le compteur de relocalisation attendu"
-
-#: elf32-sh.c:775
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: attention: mauvais décompte"
-
-#: elf32-sh.c:1179 elf32-sh.c:1549
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: erreur fatale: débordement de relocalisation lors des relâches"
+#: elf32-sh.c:491
+#, c-format
+msgid "%B: unrecognised SH reloc number: %d"
+msgstr "%B: numéro de réadressage SH non reconnu: %d"
-#: elf32-sh.c:4048 elf64-sh64.c:1514
+#: elf32-sh.c:3953 elf64-sh64.c:1508
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr "STO_SH5_ISA32 inattendu sur le symbole local n'est pas traité"
-#: elf32-sh.c:4299
+#: elf32-sh.c:4206
+#, c-format
msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
msgstr "%B: 0x%lx: fatal: cible de branchement non alignée pour un réadressage de type relax-support"
-#: elf32-sh.c:4332 elf32-sh.c:4347
+#: elf32-sh.c:4240 elf32-sh.c:4256
+#, c-format
msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
msgstr "%B: 0x%lx: fatal: réadressage %s non aligné 0x%lx"
-#: elf32-sh.c:4361
+#: elf32-sh.c:4271
+#, c-format
msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
msgstr "%B: 0x%lx: fatal: réadressage R_SH_PSHA %d pas dans l'intervalle -32..32"
-#: elf32-sh.c:4375
+#: elf32-sh.c:4286
+#, c-format
msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
msgstr "%B: 0x%lx: fatal: réadressage R_SH_PSHL %d n'est pas dans l'intervalle -32..32"
-#: elf32-sh.c:4519 elf32-sh.c:4989
+#: elf32-sh.c:4431 elf32-sh.c:4903
+#, c-format
msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): impossible d'apporter des corrections à «%s» dans une section en lecture seule"
+msgstr "%B(%A+0x%lx): impossible d'apporter des corrections à « %s » dans une section en lecture seule"
-#: elf32-sh.c:5096
+#: elf32-sh.c:5005
+#, c-format
msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
msgstr "%B(%A+0x%lx): %s réadressage vers le symbole externe « %s »"
-#: elf32-sh.c:5569
+#: elf32-sh.c:5469
#, c-format
msgid "%X%C: relocation to \"%s\" references a different segment\n"
msgstr "%X%C: le réadressage vers « %s » fait référence à un segment différent\n"
-#: elf32-sh.c:5575
+#: elf32-sh.c:5476
#, c-format
msgid "%C: warning: relocation to \"%s\" references a different segment\n"
msgstr "%C: attention: réadressage vers « %s » fait référence à un segment différent\n"
-#: elf32-sh.c:6353 elf32-sh.c:6436
+#: elf32-sh.c:6045 elf32-sh.c:6131
+#, c-format
msgid "%B: `%s' accessed both as normal and FDPIC symbol"
-msgstr "%B: «%s» accédé à la fois comme symbole normal et comme symbole FDPIC"
+msgstr "%B: « %s » accédé à la fois comme symbole normal et comme symbole FDPIC"
-#: elf32-sh.c:6358 elf32-sh.c:6440
+#: elf32-sh.c:6051 elf32-sh.c:6136
+#, c-format
msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
-msgstr "%B: «%s» accédé à la fois comme symbole FDPIC et comme symbole local au thread"
+msgstr "%B: « %s » accédé à la fois comme symbole FDPIC et comme symbole local au thread"
-#: elf32-sh.c:6388
+#: elf32-sh.c:6082
msgid "%B: Function descriptor relocation with non-zero addend"
msgstr "%B: Descripteur de fonction réadressé avec un opérande non nul"
-#: elf32-sh.c:6624 elf64-alpha.c:4652
+#: elf32-sh.c:6320 elf64-alpha.c:4757
+#, c-format
msgid "%B: TLS local exec code cannot be linked into shared objects"
msgstr "%B: code exécutable local TLS ne peut être lié en objets partagés"
-#: elf32-sh64.c:223 elf64-sh64.c:2318
+# %s sont « dsp » ou « floating point » non traduits
+#: elf32-sh.c:6435
#, c-format
-msgid "%s: compiled as 32-bit object and %s is 64-bit"
-msgstr "%s: compilé comme un objet de 32 bits et %s est de 64 bits"
+msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgstr "%B: utilise les instructions %s tandis que les modules précédents utilisent les instructions %s"
+
+#: elf32-sh.c:6447
+#, c-format
+msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
+msgstr "erreur interne: la fusion de l'architecture « %s » avec l'architecture « %s » a produit une architecture inconnue"
+
+#: elf32-sh.c:6484
+msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%B: utilise des instructions qui sont incompatibles avec les instructions utilisées dans les modules précédents"
-#: elf32-sh64.c:226 elf64-sh64.c:2321
+#: elf32-sh.c:6497
+msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%B: tentative de mélanger des objets FDPIC et non-FDPIC"
+
+#: elf32-sh64.c:225 elf64-sh64.c:2277
#, c-format
-msgid "%s: compiled as 64-bit object and %s is 32-bit"
-msgstr "%s: compilé comme un objet de 64 bits et %s est de 32 bits"
+msgid "%B: compiled as 32-bit object and %B is 64-bit"
+msgstr "%B: compilé comme un objet de 32 bits et %B est de 64 bits"
-#: elf32-sh64.c:228 elf64-sh64.c:2323
+#: elf32-sh64.c:229 elf64-sh64.c:2281
#, c-format
-msgid "%s: object size does not match that of target %s"
-msgstr "%s: taille de l'objet ne concorde pas avec la taille de la cible %s"
+msgid "%B: compiled as 64-bit object and %B is 32-bit"
+msgstr "%B: compilé comme un objet de 64 bits et %B est de 32 bits"
-#: elf32-sh64.c:451 elf64-sh64.c:2837
+#: elf32-sh64.c:232 elf64-sh64.c:2284
#, c-format
-msgid "%s: encountered datalabel symbol in input"
-msgstr "%s: rencontre du symbole d'une étiquette de donnée dans l'entrée"
+msgid "%B: object size does not match that of target %B"
+msgstr "%B: taille de l'objet ne concorde pas avec la taille de la cible %B"
+
+#: elf32-sh64.c:455 elf64-sh64.c:2776
+msgid "%B: encountered datalabel symbol in input"
+msgstr "%B: rencontre du symbole d'une étiquette de donnée dans l'entrée"
-#: elf32-sh64.c:528
+#: elf32-sh64.c:531
msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
msgstr "Non concordance PTB: adresse SHmedia (bit 0 == 1)"
-#: elf32-sh64.c:531
+#: elf32-sh64.c:534
msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
msgstr "Non concordance PTA: adresse SHcompact (bit 0 == 0)"
-#: elf32-sh64.c:549
-#, c-format
-msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr "%s: Erreur GAS: insn PTB inattendue avec R_SH_PT_16"
+#: elf32-sh64.c:550
+msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr "%B: Erreur GAS: insn PTB inattendue avec R_SH_PT_16"
-#: elf32-sh64.c:598
+#: elf32-sh64.c:600
+#, c-format
msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
msgstr "%B: erreur: type de réadressage %d non aligné à %08x réadressé %p\n"
-#: elf32-sh64.c:674
-#, c-format
-msgid "%s: could not write out added .cranges entries"
-msgstr "%s: ne peut écrire en sortie des entrées .cranges ajoutées"
+#: elf32-sh64.c:676
+msgid "%B: could not write out added .cranges entries"
+msgstr "%B: ne peut écrire en sortie des entrées .cranges ajoutées"
-#: elf32-sh64.c:734
-#, c-format
-msgid "%s: could not write out sorted .cranges entries"
-msgstr "%s: ne peut écrire en sortie des entrées .cranges triées"
+#: elf32-sh64.c:735
+msgid "%B: could not write out sorted .cranges entries"
+msgstr "%B: ne peut écrire en sortie des entrées .cranges triées"
-#: elf32-sparc.c:90
+#: elf32-sparc.c:89
msgid "%B: compiled for a 64 bit system and target is 32 bit"
msgstr "%B: compilé pour un système à 64 bits et la cible est de 32 bits"
-#: elf32-sparc.c:103
+#: elf32-sparc.c:102
msgid "%B: linking little endian files with big endian files"
msgstr "%B: édition de liens pour des fichiers à octets de poids faible avec des fichiers à octets de poids fort"
-#: elf32-spu.c:719
+#: elf32-spu.c:160
+#, c-format
+msgid "%B: unrecognised SPU reloc number: %d"
+msgstr "%B: numéro de réadressage SPU non reconnu: %d"
+
+#: elf32-spu.c:726
msgid "%X%P: overlay section %A does not start on a cache line.\n"
msgstr "%X%P: recouvrement de la section %A ne démarre pas sur une ligne de cache.\n"
-#: elf32-spu.c:727
+#: elf32-spu.c:734
msgid "%X%P: overlay section %A is larger than a cache line.\n"
msgstr "%X%P: recouvrement de la section %A est plus grand que la ligne de cache.\n"
-#: elf32-spu.c:747
+#: elf32-spu.c:754
msgid "%X%P: overlay section %A is not in cache area.\n"
msgstr "%X%P: recouvrement de la section %A n'est pas dans une zone de cache.\n"
-#: elf32-spu.c:787
+#: elf32-spu.c:795
+#, c-format
msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
msgstr "%X%P: recouvrement des sections %A et %A ne commencent pas à la même adresse.\n"
-#: elf32-spu.c:1011
+#: elf32-spu.c:1021
+#, c-format
msgid "warning: call to non-function symbol %s defined in %B"
msgstr "attention: appel au symbole %s défini dans %B qui n'est pas une fonction"
-#: elf32-spu.c:1361
+#: elf32-spu.c:1371
+#, c-format
msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
msgstr "%A:0x%v le lrlive .brinfo (%u) diffère de celui de l'analyse (%u)\n"
-#: elf32-spu.c:1880
+#: elf32-spu.c:1903
+#, c-format
msgid "%B is not allowed to define %s"
msgstr "%B ne peut pas définir %s"
-#: elf32-spu.c:1888
+#: elf32-spu.c:1911
#, c-format
msgid "you are not allowed to define %s in a script"
msgstr "vous ne pouvez pas définir %s dans un script"
-#: elf32-spu.c:1922
+#: elf32-spu.c:1945
#, c-format
msgid "%s in overlay section"
msgstr "%s dans une section de recouvrement"
-#: elf32-spu.c:1951
+#: elf32-spu.c:1974
msgid "overlay stub relocation overflow"
msgstr "débordement du réadressage de l'ébauche de recouvrement"
-#: elf32-spu.c:1960
+#: elf32-spu.c:1983
msgid "stubs don't match calculated size"
msgstr "taille des ébauches ne concorde pas avec la taille calculée"
-#: elf32-spu.c:2542
+#: elf32-spu.c:2566
#, c-format
msgid "warning: %s overlaps %s\n"
msgstr "attention: %s recouvre %s\n"
-#: elf32-spu.c:2558
+#: elf32-spu.c:2582
#, c-format
msgid "warning: %s exceeds section size\n"
msgstr "attention: %s dépasse la taille de la section\n"
-#: elf32-spu.c:2589
+#: elf32-spu.c:2614
+#, c-format
msgid "%A:0x%v not found in function table\n"
msgstr "%A:%0x%v pas trouvé dans la table de fonctions\n"
-#: elf32-spu.c:2729
+#: elf32-spu.c:2755
+#, c-format
msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
msgstr "%B(%A+0x%v): appel à la section non exécutable %B(%A), analyse incomplète\n"
-#: elf32-spu.c:3297
+#: elf32-spu.c:3324
#, c-format
msgid "Stack analysis will ignore the call from %s to %s\n"
msgstr "L'analyse de la pile ignorera l'appel de %s à %s\n"
-#: elf32-spu.c:3988
-msgid " %s: 0x%v\n"
-msgstr " %s: 0x%v\n"
-
-#: elf32-spu.c:3989
-msgid "%s: 0x%v 0x%v\n"
-msgstr "%s: 0x%v 0x%v\n"
-
-#: elf32-spu.c:3994
+#: elf32-spu.c:4021
msgid " calls:\n"
msgstr " appels:\n"
-#: elf32-spu.c:4002
-#, c-format
-msgid " %s%s %s\n"
-msgstr " %s%s %s\n"
-
-#: elf32-spu.c:4307
+#: elf32-spu.c:4335
#, c-format
msgid "%s duplicated in %s\n"
msgstr "%s dupliqué dans %s\n"
-#: elf32-spu.c:4311
+#: elf32-spu.c:4339
#, c-format
msgid "%s duplicated\n"
msgstr "%s dupliqué\n"
-#: elf32-spu.c:4318
+#: elf32-spu.c:4346
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
msgstr "désolé, pas de support des fichiers objet dupliqués dans un script auto-overlay\n"
-#: elf32-spu.c:4359
+#: elf32-spu.c:4388
+#, c-format
msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
msgstr "la taille de non recouvrement de 0x%v plus la taille maximum de recouvrement de 0x%v dépasse l'espace local\n"
-#: elf32-spu.c:4514
+#: elf32-spu.c:4544
+#, c-format
msgid "%B:%A%s exceeds overlay size\n"
msgstr "%B:%A%s dépasse la taille de recouvrement\n"
-#: elf32-spu.c:4676
+#: elf32-spu.c:4685
+msgid "%F%P: auto overlay error: %E\n"
+msgstr "%F%P: erreur d'auto recouvrement: %E\n"
+
+#: elf32-spu.c:4706
msgid "Stack size for call graph root nodes.\n"
msgstr "Taille de la pile des nœuds racine du graph d'appel.\n"
-#: elf32-spu.c:4677
+#: elf32-spu.c:4707
msgid ""
"\n"
"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
msgstr ""
"\n"
-"Taille de la pile pour les fonctions. Annotations: «*» pile max, «t» appel de queue\n"
+"Taille de la pile pour les fonctions. Annotations: « * » pile max, « t » appel de queue\n"
-#: elf32-spu.c:4687
+#: elf32-spu.c:4717
msgid "Maximum stack required is 0x%v\n"
msgstr "Pile maximum requise est 0x%v\n"
-#: elf32-spu.c:4778
+#: elf32-spu.c:4736
+msgid "%X%P: stack/lrlive analysis error: %E\n"
+msgstr "%X%P: erreur d'analyse de pile/lrlive: %E\n"
+
+#: elf32-spu.c:4739
+msgid "%F%P: can not build overlay stubs: %E\n"
+msgstr "%F%P: ne peut construire les ébauches de recouvrement: %E\n"
+
+#: elf32-spu.c:4808
msgid "fatal error while creating .fixup"
msgstr "erreur fatale lors de la création de .fixup"
-#: elf32-spu.c:5008
+#: elf32-spu.c:5043
+#, c-format
msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): réadressage %s sans solution vers le symbole « %s »"
-#: elf32-tic6x.c:1602
+#: elf32-tic6x.c:1596
msgid "warning: generating a shared library containing non-PIC code"
msgstr "attention: production d'une librairie partagée contenant du code non-PIC"
-#: elf32-tic6x.c:1607
+#: elf32-tic6x.c:1601
msgid "warning: generating a shared library containing non-PID code"
msgstr "attention: production d'une librairie partagée contenant du code non-PID"
-#: elf32-tic6x.c:2541
+#: elf32-tic6x.c:2525
msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
msgstr "%B: réadressage relatif à SB mais __c6xabi_DSBT_BASE n'est pas défini"
-#: elf32-tic6x.c:2761
-msgid "dangerous relocation"
-msgstr "réadressage dangereux"
-
-#: elf32-tic6x.c:3733
+#: elf32-tic6x.c:3651
+#, c-format
msgid "%B: error: unknown mandatory EABI object attribute %d"
msgstr "%B: erreur: l'attribut d'objet EABI obligatoire %d est manquant"
-#: elf32-tic6x.c:3741
+#: elf32-tic6x.c:3660
+#, c-format
msgid "%B: warning: unknown EABI object attribute %d"
msgstr "%B: attention: attribut d'objet EABI %d inconnu"
-#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+#: elf32-tic6x.c:3774 elf32-tic6x.c:3783
+#, c-format
msgid "error: %B requires more stack alignment than %B preserves"
msgstr "erreur: %B nécessite un plus grand alignement de pile que ce que %B préserve"
-#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
msgstr "erreur: valeur Tag_ABI_array_object_alignment inconnue dans %B"
-#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+#: elf32-tic6x.c:3811 elf32-tic6x.c:3820
msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
msgstr "erreur: valeur Tag_ABI_array_object_align_expected inconnue dans %B"
-#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+#: elf32-tic6x.c:3829 elf32-tic6x.c:3837
+#, c-format
msgid "error: %B requires more array alignment than %B preserves"
msgstr "erreur: %B nécessite un plus grand alignement de tableau que ce que %B préserve"
-#: elf32-tic6x.c:3935
+#: elf32-tic6x.c:3860
+#, c-format
msgid "warning: %B and %B differ in wchar_t size"
msgstr "attention: %B et %B on des tailles de wchar_t différentes"
-#: elf32-tic6x.c:3953
+#: elf32-tic6x.c:3879
+#, c-format
msgid "warning: %B and %B differ in whether code is compiled for DSBT"
msgstr "attention: %B et %B ne sont pas d'accord sur la compilation du code pour DSBT"
-#: elf32-v850.c:173
+#: elf32-v850.c:157
#, c-format
msgid "Variable `%s' cannot occupy in multiple small data regions"
-msgstr "Variable «%s» ne peut occuper de multiples petites régions de données"
+msgstr "Variable « %s » ne peut occuper de multiples petites régions de données"
-#: elf32-v850.c:176
+#: elf32-v850.c:160
#, c-format
msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
-msgstr "Variable «%s» peut seulement être dans une région de données petite, zéro ou minuscule"
+msgstr "Variable « %s » peut seulement être dans une région de données petite, zéro ou minuscule"
-#: elf32-v850.c:179
+#: elf32-v850.c:163
#, c-format
msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
-msgstr "Variable «%s» ne peut être dans une région de données petite et zéro à la fois"
+msgstr "Variable « %s » ne peut être dans une région de données petite et zéro à la fois"
-#: elf32-v850.c:182
+#: elf32-v850.c:166
#, c-format
msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
-msgstr "Variable «%s» ne peut être dans une région de données petite et minuscule à la fois"
+msgstr "Variable « %s » ne peut être dans une région de données petite et minuscule à la fois"
-#: elf32-v850.c:185
+#: elf32-v850.c:169
#, c-format
msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
-msgstr "Variable «%s» ne peut être dans une région de données zéro et minuscule à la fois"
+msgstr "Variable « %s » ne peut être dans une région de données zéro et minuscule à la fois"
-#: elf32-v850.c:483
+#: elf32-v850.c:467
msgid "FAILED to find previous HI16 reloc"
msgstr "ÉCHEC de repérage du réadressage HI16 précédent"
-#: elf32-v850.c:2155
+#: elf32-v850.c:1902 elf32-v850.c:1921
+#, c-format
+msgid "%B: invalid V850 reloc number: %d"
+msgstr "%B: numéro de réadressage V850 invalide: %d"
+
+#: elf32-v850.c:2299
msgid "could not locate special linker symbol __gp"
msgstr "ne peut repérer le symbole spécial d'édition de lien __gp"
-#: elf32-v850.c:2159
+#: elf32-v850.c:2303
msgid "could not locate special linker symbol __ep"
msgstr "ne peut repérer le symbole spécial d'édition de lien __ep"
-#: elf32-v850.c:2163
+#: elf32-v850.c:2307
msgid "could not locate special linker symbol __ctbp"
msgstr "ne peut repérer le symbole spécial d'édition de lien __ctbp"
-#: elf32-v850.c:2341
+#: elf32-v850.c:2528
+#, c-format
+msgid "error: %B needs 8-byte aligment but %B is set for 4-byte alignment"
+msgstr "erreur: %B a besoin d'un alignement sur 8 octets mais %B est défini pour un alignement sur 4 octets"
+
+#: elf32-v850.c:2544
+#, c-format
+msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgstr "erreur: %B utilise des doubles 64 bits alors que %B utilise des doubles 32 bits"
+
+#: elf32-v850.c:2559
+#, c-format
+msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgstr "erreur: %B utilise FPU-3.0 mais %B ne supporte que FPU-2.0"
+
+#: elf32-v850.c:2591
+#, c-format
+msgid " alignment of 8-byte entities: "
+msgstr " alignement d'entités de 8 octets:"
+
+#: elf32-v850.c:2594
+#, c-format
+msgid "4-byte"
+msgstr "4 octets"
+
+#: elf32-v850.c:2595
+#, c-format
+msgid "8-byte"
+msgstr "8 octets"
+
+#: elf32-v850.c:2596 elf32-v850.c:2608
+#, c-format
+msgid "not set"
+msgstr "pas défini"
+
+#: elf32-v850.c:2597 elf32-v850.c:2609 elf32-v850.c:2621 elf32-v850.c:2632
+#: elf32-v850.c:2643 elf32-v850.c:2654
+#, c-format
+msgid "unknown: %x"
+msgstr "inconnu: %x"
+
+#: elf32-v850.c:2603
+#, c-format
+msgid " size of doubles: "
+msgstr " taille des doubles: "
+
+#: elf32-v850.c:2606
+#, c-format
+msgid "4-bytes"
+msgstr "4 octets"
+
+#: elf32-v850.c:2607
+#, c-format
+msgid "8-bytes"
+msgstr "8 octets"
+
+#: elf32-v850.c:2615
+#, c-format
+msgid " FPU support required: "
+msgstr " support du FPU requis: "
+
+#: elf32-v850.c:2618
+#, c-format
+msgid "FPU-2.0"
+msgstr "FPU-2.0"
+
+#: elf32-v850.c:2619
+#, c-format
+msgid "FPU-3.0"
+msgstr "FPU-3.0"
+
+#: elf32-v850.c:2620
+#, c-format
+msgid "none"
+msgstr "aucun"
+
+#: elf32-v850.c:2627
+#, c-format
+msgid "SIMD use: "
+msgstr "utilisation SIMD: "
+
+#: elf32-v850.c:2630 elf32-v850.c:2641 elf32-v850.c:2652
+#, c-format
+msgid "yes"
+msgstr "oui"
+
+#: elf32-v850.c:2631 elf32-v850.c:2642 elf32-v850.c:2653
+#, c-format
+msgid "no"
+msgstr "non"
+
+#: elf32-v850.c:2638
+#, c-format
+msgid "CACHE use: "
+msgstr "utilisation CACHE: "
+
+#: elf32-v850.c:2649
+#, c-format
+msgid "MMU use: "
+msgstr "utilisation MMU: "
+
+#: elf32-v850.c:2816 elf32-v850.c:2872
msgid "%B: Architecture mismatch with previous modules"
msgstr "%B: L'architecture ne concorde pas avec les modules précédents"
#. xgettext:c-format.
-#: elf32-v850.c:2360
+#: elf32-v850.c:2890
#, c-format
msgid "private flags = %lx: "
msgstr "fanions privés = %lx: "
-#: elf32-v850.c:2365
+#: elf32-v850.c:2895
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "architecture v850 inconnue"
+
+#: elf32-v850.c:2897
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "architecture v850 E3"
+
+#: elf32-v850.c:2899 elf32-v850.c:2906
#, c-format
msgid "v850 architecture"
msgstr "architecture v850"
-#: elf32-v850.c:2366
+#: elf32-v850.c:2907
#, c-format
msgid "v850e architecture"
msgstr "architecture v850e"
-#: elf32-v850.c:2367
+#: elf32-v850.c:2908
#, c-format
msgid "v850e1 architecture"
msgstr "architecture v850e1"
-#: elf32-v850.c:2368
+#: elf32-v850.c:2909
#, c-format
msgid "v850e2 architecture"
msgstr "architecture v850e2"
-#: elf32-v850.c:2369
+#: elf32-v850.c:2910
#, c-format
msgid "v850e2v3 architecture"
msgstr "architecture v850e2v3"
-#: elf32-vax.c:532
+#: elf32-v850.c:2911
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "architecture v850e3v5"
+
+#: elf32-v850.c:3605
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers des insns inconnues"
+
+#: elf32-v850.c:3615
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers l'insn inconnue 0x%x"
+
+#: elf32-v850.c:3660
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers un réadressage non reconnu"
+
+#: elf32-v850.c:3700
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx"
+msgstr "%B: 0x%lx: attention: R_V850_LONGCALL pointe vers le réadressage inconnu 0x%lx"
+
+#: elf32-v850.c:3843
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers des insns non reconnues"
+
+#: elf32-v850.c:3853
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers une insn inconnue 0x%x"
+
+#: elf32-v850.c:3887
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: 0x%lx: attention: R_V850_LONGJUMP pointe vers un réadressage non reconnu"
+
+#: elf32-vax.c:290
+#, c-format
+msgid "%B: unrecognised VAX reloc number: %d"
+msgstr "%B: numéro de réadressage VAX non reconnu: %d"
+
+#: elf32-vax.c:539
#, c-format
msgid " [nonpic]"
msgstr " [nonpic]"
-#: elf32-vax.c:535
+#: elf32-vax.c:542
#, c-format
msgid " [d-float]"
msgstr " [d-float]"
-#: elf32-vax.c:538
+#: elf32-vax.c:545
#, c-format
msgid " [g-float]"
msgstr " [g-float]"
-#: elf32-vax.c:655
+#: elf32-vax.c:635
+#, c-format
+msgid "%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
+msgstr "%B: attention: ajout GOT de %ld à « %s » ne concorde par avec l'ajout GOT précédent de %ld"
+
+#: elf32-vax.c:1511
+#, c-format
+msgid "%B: warning: PLT addend of %d to `%s' from %A section ignored"
+msgstr "%B: attention: ignore l'ajout PLT de %d à « %s » de la section %A"
+
+#: elf32-vax.c:1636
+#, c-format
+msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+msgstr "%B: attention: réadressage %s vers le symbole « %s » de la section %A"
+
+#: elf32-vax.c:1643
+#, c-format
+msgid "%B: warning: %s relocation to 0x%x from %A section"
+msgstr "%B: attention: réadressage %s vers 0x%x de la section %A"
+
+#: elf32-visium.c:481
+#, c-format
+msgid "%B: invalid Visium reloc number: %d"
+msgstr "%B: numéro de réadressage Visium invalide: %d"
+
+# Les %s sont « with » ou « without » non traduits.
+# Heureusement, le fichier entier a été supprimé dans les sources actuelles.
+#: elf32-visium.c:817
#, c-format
-msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%s: attention: ajout GOT de %ld à «%s» ne concorde par avec l'ajout GOT précédent de %ld"
+msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%B: compilé %s -mtune=%s et lié avec des modules compilés %s -mtune=%s"
-#: elf32-vax.c:1585
+#: elf32-xgate.c:428
#, c-format
-msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
-msgstr "%s: attention: ignore l'ajout PLT de %d à «%s» de la section %s"
+msgid "%B: invalid XGate reloc number: %d"
+msgstr "%B: numéro de réadressage XGate invalide: %d"
-#: elf32-vax.c:1712
+#: elf32-xgate.c:681
#, c-format
-msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: attention: réadressage %s vers le symbole « %s » de la section %s"
+msgid "cpu=XGATE]"
+msgstr "cpu=XGATE]"
-#: elf32-vax.c:1718
+#: elf32-xgate.c:683
#, c-format
-msgid "%s: warning: %s relocation to 0x%x from %s section"
-msgstr "%s: attention: réadressage %s vers 0x%x de la section %s"
+msgid "error reading cpu type from elf private data"
+msgstr "erreur lors de la lecture du type de CPU dans les données elf privées"
-#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+#: elf32-xstormy16.c:453 elf64-ia64-vms.c:2074 elf32-ia64.c:2334
+#: elf64-ia64.c:2334
msgid "non-zero addend in @fptr reloc"
-msgstr "ajout non nul dans la relocalisation @fptr"
+msgstr "ajout non nul dans le réadressage @fptr"
-#: elf32-xtensa.c:918
+#: elf32-xtensa.c:485
+#, c-format
+msgid "%B: invalid XTENSA reloc number: %d"
+msgstr "%B: numéro de réadressage XTENSA invalide: %d"
+
+#: elf32-xtensa.c:926
+#, c-format
msgid "%B(%A): invalid property table"
msgstr "%B(%A): table de propriété invalide"
-#: elf32-xtensa.c:2777
+#: elf32-xtensa.c:2790
+#, c-format
msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
msgstr "%B(%A+0x%lx): décalage de réadressage hors limite (taille=0x%x)"
-#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
msgid "dynamic relocation in read-only section"
msgstr "réadressage dynamique dans une section en lecture seule"
-#: elf32-xtensa.c:2953
+#: elf32-xtensa.c:2967
msgid "TLS relocation invalid without dynamic sections"
msgstr "réadressage TLS incorrecte sans section dynamique"
-#: elf32-xtensa.c:3172
+#: elf32-xtensa.c:3178
msgid "internal inconsistency in size of .got.loc section"
msgstr "incohérence interne dans la taille de la section .got.loc"
#: elf32-xtensa.c:3485
+#, c-format
msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
msgstr "%B: type de machine incompatible. Sortie est 0x%x. Entrée est 0x%x"
-#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+#: elf32-xtensa.c:4716 elf32-xtensa.c:4724
msgid "Attempt to convert L32R/CALLX to CALL failed"
msgstr "Échec de la tentative de convertir L32R/CALLX en CALL"
-#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
+#: elf32-xtensa.c:6552 elf32-xtensa.c:6629 elf32-xtensa.c:8002
+#, c-format
msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
msgstr "%B(%A+0x%lx): l'instruction ne peut pas être décodée; la configuration est peut-être erronée"
-#: elf32-xtensa.c:7264
+#: elf32-xtensa.c:7743
+#, c-format
msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
msgstr "%B(%A+0x%lx): l'instruction ne peut pas être décodée pour un réadressage XTENSA_ASM_SIMPLIFY; la configuration est peut-être erronée"
-#: elf32-xtensa.c:9023
+#: elf32-xtensa.c:9585
msgid "invalid relocation address"
msgstr "adresse de réadressage incorrecte"
-#: elf32-xtensa.c:9072
+#: elf32-xtensa.c:9635
msgid "overflow after relaxation"
msgstr "débordement après la relâche"
-#: elf32-xtensa.c:10204
+#: elf32-xtensa.c:10779
+#, c-format
msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
msgstr "%B(%A+0x%lx): correction inattendue pour le réadressage %s"
-#: elf64-alpha.c:460
+#: elf64-alpha.c:472
msgid "GPDISP relocation did not find ldah and lda instructions"
msgstr "le réadressage GPDISP n'a pas repéré les instructions ldah et lda"
-#: elf64-alpha.c:2497
+#: elf64-alpha.c:1112
+#, c-format
+msgid "%B: unrecognised Alpha reloc number: %d"
+msgstr "%B: numéro de réadressage Alpha non reconnu: %d"
+
+#: elf64-alpha.c:2529
+#, c-format
msgid "%B: .got subsegment exceeds 64K (size %d)"
msgstr "%B: le sous-segment .got excède 64K (taille %d)"
-#: elf64-alpha.c:4387 elf64-alpha.c:4399
+#: elf64-alpha.c:3084
+#, c-format
+msgid "%B: %A+0x%lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+0x%lx: attention: réadressage de %s sur une insn inattendue"
+
+#: elf64-alpha.c:3280
+#, c-format
+msgid "%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+0x%lx: attention: réadressage LITERAL sur une insn inattendue"
+
+#: elf64-alpha.c:4481 elf64-alpha.c:4494
+#, c-format
msgid "%B: gp-relative relocation against dynamic symbol %s"
msgstr "%B: réadressage relatif au gp vers le symbole dynamique %s"
-#: elf64-alpha.c:4425 elf64-alpha.c:4565
+#: elf64-alpha.c:4521 elf64-alpha.c:4665
+#, c-format
msgid "%B: pc-relative relocation against dynamic symbol %s"
msgstr "%B: réadressage relatif au PC vers le symbole dynamique %s"
-#: elf64-alpha.c:4453
+#: elf64-alpha.c:4550
+#, c-format
msgid "%B: change in gp: BRSGP %s"
msgstr "%B: changé dans le GP: BRSGP %s"
-#: elf64-alpha.c:4478
+#: elf64-alpha.c:4575
msgid "<unknown>"
msgstr "<inconnu>"
-#: elf64-alpha.c:4483
+#: elf64-alpha.c:4581
+#, c-format
msgid "%B: !samegp reloc against symbol without .prologue: %s"
-msgstr "%B: relocalisation !samegp vers le symbole sans .prologue: %s"
+msgstr "%B: réadressage !samegp vers le symbole sans .prologue: %s"
-#: elf64-alpha.c:4540
+#: elf64-alpha.c:4639
+#, c-format
msgid "%B: unhandled dynamic relocation against %s"
msgstr "%B: réadressage dynamique non traité vers %s"
-#: elf64-alpha.c:4572
+#: elf64-alpha.c:4674
+#, c-format
msgid "%B: pc-relative relocation against undefined weak symbol %s"
msgstr "%B: réadressage relatif au PC vers le symbole faible non défini %s"
-#: elf64-alpha.c:4636
+#: elf64-alpha.c:4740
+#, c-format
msgid "%B: dtp-relative relocation against dynamic symbol %s"
msgstr "%B: réadressage relatif au dtp vers le symbole dynamique %s"
-#: elf64-alpha.c:4659
+#: elf64-alpha.c:4765
+#, c-format
msgid "%B: tp-relative relocation against dynamic symbol %s"
msgstr "%B: réadressage relatif au tp vers le symbole dynamique %s"
-#: elf64-hppa.c:2083
+#: elf64-hppa.c:2082
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %ld"
msgstr "entrée de l'ébauche pour %s ne peut charger .plt, décalage dp = %ld"
-#: elf64-hppa.c:3275
-msgid "%B(%A+0x"
-msgstr "%B(%A+0x"
+#: elf64-hppa.c:3287
+#, c-format
+msgid "%B(%A+0x%"
+msgstr "%B(%A+0x%"
-#: elf64-mmix.c:1034
+#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#, c-format
+msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: Ne peut relâcher br à 0x%lx dans la section « %A ». Veuillez utiliser brl ou un branchement indirect."
+
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2282 elf64-ia64.c:2282
+msgid "@pltoff reloc against local symbol"
+msgstr "réadressage @pltoff vers un symbole local"
+
+#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
+#, c-format
+msgid "%B: short data segment overflowed (0x%lx >= 0x400000)"
+msgstr "%B: débordement du segment de données court (0x%lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
+msgid "%B: __gp does not cover short data segment"
+msgstr "%B: __gp ne couvre pas le segment de données court"
+
+#: elf64-ia64-vms.c:3558 elf32-ia64.c:3965 elf64-ia64.c:3965
+#, c-format
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: code non pic avec des réadressages imm vers le symbole dynamique « %s »"
+
+#: elf64-ia64-vms.c:3622 elf32-ia64.c:4033 elf64-ia64.c:4033
+#, c-format
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: réadressage @gprel vers le symbole dynamique %s"
+
+#: elf64-ia64-vms.c:3681 elf32-ia64.c:4096 elf64-ia64.c:4096
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: liaison de code non-pic dans un exécutable à position indépendante"
+
+#: elf64-ia64-vms.c:3783 elf32-ia64.c:4234 elf64-ia64.c:4234
+#, c-format
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: branchement @internal vers le symbole dynamique %s"
+
+#: elf64-ia64-vms.c:3786 elf32-ia64.c:4237 elf64-ia64.c:4237
+#, c-format
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: spéculation d'ajustements vers le symbole dynamique %s"
+
+#: elf64-ia64-vms.c:3789 elf32-ia64.c:4240 elf64-ia64.c:4240
+#, c-format
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: réadressage @pcrel vers le symbole dynamique %s"
+
+#: elf64-ia64-vms.c:3913 elf32-ia64.c:4437 elf64-ia64.c:4437
+msgid "unsupported reloc"
+msgstr "réadressage non supportée"
+
+#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
+#, c-format
+msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
+msgstr "%B: setion TLS manquante pour le réadressage %s vers « %s » à 0x%lx dans la section « %A »."
+
+#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
+#, c-format
+msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
+msgstr "%B:Ne peut pas relâcher br (%s) sur « %s » à 0x%lx dans la section « %A » avec la taille 0x%lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4258 elf32-ia64.c:4749 elf64-ia64.c:4749
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: édition de liens trap-on-NULL-dereference avec des fichiers non-trapping"
+
+#: elf64-ia64-vms.c:4267 elf32-ia64.c:4758 elf64-ia64.c:4758
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: édition de liens entre des fichiers à octets de poids fort et des fichiers à octets de poids faible"
+
+#: elf64-ia64-vms.c:4276 elf32-ia64.c:4767 elf64-ia64.c:4767
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: édition de liens entre fichiers 64 bits et fichiers 32 bits"
+
+#: elf64-ia64-vms.c:4285 elf32-ia64.c:4776 elf64-ia64.c:4776
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: édition de liens entre fichiers constant-gp et fichiers non-constant-gp"
+
+#: elf64-ia64-vms.c:4295 elf32-ia64.c:4786 elf64-ia64.c:4786
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: édition de liens entre fichiers auto-pic et fichiers non-auto-pic"
+
+#: elf64-ia64-vms.c:5138 elflink.c:4730
+#, c-format
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "Attention: alignement %u du symbole commun « %s » dans %B est plus grand que l'alignement (%u) de sa section %A"
+
+#: elf64-ia64-vms.c:5145 elflink.c:4737
+#, c-format
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "Attention: alignement %u du symbole « %s » dans %B est plus petit que %u dans %B"
+
+#: elf64-ia64-vms.c:5161
+#, c-format
+msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+msgstr "Attention: taille du symbole « %s » a changé de %lu dans %B à %lu dans %B"
+
+#: elf64-mips.c:3615 elfn32-mips.c:3439
+#, c-format
+msgid "unrecognised MIPS reloc number: %d"
+msgstr "type de réadressage MIPS non reconnu: %d"
+
+#: elf64-mmix.c:984
msgid ""
"invalid input relocation when producing non-ELF, non-mmo format output.\n"
" Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2666,7 +4300,7 @@ msgstr ""
" Veuillez utiliser le programme objcopy pour convertir de ELF ou mmo,\n"
" ou assembler en utilisant « -no-expand » (pour gcc, « -Wa,-no-expand »"
-#: elf64-mmix.c:1218
+#: elf64-mmix.c:1168
msgid ""
"invalid input relocation when producing non-ELF, non-mmo format output.\n"
" Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2676,137 +4310,178 @@ msgstr ""
" Veuillez utiliser le programme objcopy pour convertir de ELF ou mmo,\n"
" ou compiler en utilisant l'option gcc « -mno-base-addresses »."
-#: elf64-mmix.c:1244
+#: elf64-mmix.c:1195
#, c-format
msgid ""
-"%s: Internal inconsistency error for value for\n"
+"%B: Internal inconsistency error for value for\n"
" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
msgstr ""
-"%s: erreur d'incohérence interne pour la valeur du registre global\n"
+"%B: erreur d'incohérence interne pour la valeur du registre global\n"
" alloué à l'édition de lien: lié: 0x%lx%08lx != relâché: 0x%lx%08lx\n"
-#: elf64-mmix.c:1670
+#: elf64-mmix.c:1266
#, c-format
-msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
-msgstr "%s: réadressage base plus décalage vers le symbole registre: (inconnu) dans %s"
+msgid "%B: invalid MMIX reloc number: %d"
+msgstr "%B: numéro de réadressage MMIX invalide: %d"
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1618
#, c-format
-msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
-msgstr "%s: réadressage base plus décalage vers le symbole registre: %s dans %s"
+msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+msgstr "%B: réadressage base plus décalage vers le symbole registre: (inconnu) dans %A"
-#: elf64-mmix.c:1719
+#: elf64-mmix.c:1624
#, c-format
-msgid "%s: register relocation against non-register symbol: (unknown) in %s"
-msgstr "%s: réadressage de registre vers le symbole non-registre: (inconnu) dans %s"
+msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgstr "%B: réadressage base plus décalage vers le symbole registre: %s dans %A"
-#: elf64-mmix.c:1724
+#: elf64-mmix.c:1669
#, c-format
-msgid "%s: register relocation against non-register symbol: %s in %s"
-msgstr "%s: réadressage de registre vers le symbole non-registre: %s dans %s"
+msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgstr "%B: réadressage de registre vers le symbole non-registre: (inconnu) dans %A"
-#: elf64-mmix.c:1761
+#: elf64-mmix.c:1675
#, c-format
-msgid "%s: directive LOCAL valid only with a register or absolute value"
-msgstr "%s: directive LOCAL valide seulement avec un registre ou une valeur absolue"
+msgid "%B: register relocation against non-register symbol: %s in %A"
+msgstr "%B: réadressage de registre vers le symbole non-registre: %s dans %A"
+
+#: elf64-mmix.c:1712
+msgid "%B: directive LOCAL valid only with a register or absolute value"
+msgstr "%B: directive LOCAL valide seulement avec un registre ou une valeur absolue"
-#: elf64-mmix.c:1789
+#: elf64-mmix.c:1743
#, c-format
-msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
-msgstr "%s: directive LOCAL: registre $%ld n'est pas un registre local. Premier registre global est $%ld."
+msgid "%B: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
+msgstr "%B: directive LOCAL: registre $%ld n'est pas un registre local. Premier registre global est $%ld."
-#: elf64-mmix.c:2253
+#: elf64-mmix.c:2202
#, c-format
-msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
-msgstr "%s: erreur: multiple définitions de «%s»; début de %s est initialisé dans un précédent fichier lié\n"
+msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr "%B: erreur: multiple définitions de « %s »; début de %s est initialisé dans un précédent fichier lié\n"
-#: elf64-mmix.c:2311
+#: elf64-mmix.c:2257
msgid "Register section has contents\n"
msgstr "Registre de section contient\n"
-#: elf64-mmix.c:2503
+#: elf64-mmix.c:2447
#, c-format
msgid ""
"Internal inconsistency: remaining %u != max %u.\n"
" Please report this bug."
msgstr ""
-"Inconsistence interne: reste %u != max %u.\n"
+"Inconsistance interne: reste %u != max %u.\n"
" Merci de rapporter cette anomalie."
-#: elf64-ppc.c:4185
+#: elf64-ppc.c:4625
+#, c-format
msgid "%P: %B: cannot create stub entry %s\n"
msgstr "%P: %B: ne peut créer l'entrée de l'ébauche %s\n"
-#: elf64-ppc.c:6518
-msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: la copie du réadressage sur « %s » nécessite un lien plt paresseux; évitez de mettre LD_BIND_NOW=1 ou mettez à jour gcc\n"
+#: elf64-ppc.c:4993
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: le symbole « %s » a un st_other invalide pour l'ABI à la version 1\n"
+
+#: elf64-ppc.c:5163
+#, c-format
+msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgstr "%P: %B: .opd pas permis dans l'ABI à la version %d\n"
+
+#: elf64-ppc.c:5639
+#, c-format
+msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgstr "%H: le réadressage %s n'est pas supporté dans les bibliothèques partagées et les PIE.\n"
+
+#: elf64-ppc.c:6046
+#, c-format
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B utilise le e_flags 0x%lx inconnu"
+
+#: elf64-ppc.c:6054
+#, c-format
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: la version ABI %ld n'est pas compatible avec la sortie de l'ABI version %ld"
+
+#: elf64-ppc.c:6082
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7413
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: le réadressage par copie sur « %T » nécessite un lien plt paresseux; évitez de mettre LD_BIND_NOW=1 ou mettez à jour gcc\n"
-#: elf64-ppc.c:6788
+#: elf64-ppc.c:7680
msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
msgstr "%B: symbole indéfini sur le réadressage R_PPC64_TOCSAVE"
-#: elf64-ppc.c:6992
+#: elf64-ppc.c:7910
+#, c-format
msgid "%P: dynreloc miscount for %B, section %A\n"
msgstr "%P: erreur de décompte de réadressage dynamique pour %B, section %A\n"
-#: elf64-ppc.c:7076
+#: elf64-ppc.c:7999
msgid "%B: .opd is not a regular array of opd entries"
msgstr "%B: .opd n'est pas un tableau régulier d'entrées opd"
-#: elf64-ppc.c:7085
+#: elf64-ppc.c:8009
+#, c-format
msgid "%B: unexpected reloc type %u in .opd section"
-msgstr "%B: type de relocalisation %u inattendu dans la section .opd"
+msgstr "%B: type de réadressage %u inattendu dans la section .opd"
-#: elf64-ppc.c:7106
+#: elf64-ppc.c:8031
+#, c-format
msgid "%B: undefined sym `%s' in .opd section"
-msgstr "%B: symbole «%s» indéfini dans la section .opd"
+msgstr "%B: symbole « %s » indéfini dans la section .opd"
-#: elf64-ppc.c:7664
+#: elf64-ppc.c:8600
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr "%H __tls_get_addr a perdu l'argument, optimisation TLS désactivée\n"
-#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#: elf64-ppc.c:8943 elf64-ppc.c:9580
#, c-format
msgid "%s defined on removed toc entry"
msgstr "%s défini dans une entrée toc supprimée"
-#: elf64-ppc.c:8521
-msgid "%P: %H: %s relocation references optimized away TOC entry\n"
-msgstr "%P: %H: le réadressage %s fait référence à une entrée TOC supprimée par l'optimisation\n"
+#: elf64-ppc.c:9308
+#, c-format
+msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgstr "%H: l'optimisation toc n'est pas supportée pour l'instruction %s.\n"
+
+#: elf64-ppc.c:9537
+#, c-format
+msgid "%H: %s references optimized away TOC entry\n"
+msgstr "%H: %s fait référence à une entrée TOC supprimée par l'optimisation\n"
-#: elf64-ppc.c:9598
-msgid "%P: cannot find opd entry toc for %s\n"
-msgstr "%P: l'entrée toc de opd non trouvée pour %s\n"
+#: elf64-ppc.c:10878
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "%P: l'entrée toc de opd non trouvée pour « %T »\n"
-#: elf64-ppc.c:9680
+#: elf64-ppc.c:10969
msgid "%P: long branch stub `%s' offset overflow\n"
msgstr "%P: débordement de l'offset du branchement long de l'ébauche « %s »\n"
-#: elf64-ppc.c:9739
+#: elf64-ppc.c:11028
msgid "%P: can't find branch stub `%s'\n"
msgstr "%P: ne peut repérer l'ébauche de branchement « %s »\n"
-#: elf64-ppc.c:9801 elf64-ppc.c:9943
-msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: erreur de la table de liaison vers « %s »\n"
+#: elf64-ppc.c:11092 elf64-ppc.c:11244 elf64-ppc.c:13052
+#, c-format
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: erreur de la table de liaison vers « %T »\n"
-#: elf64-ppc.c:10126
+#: elf64-ppc.c:11454
msgid "%P: can't build branch stub `%s'\n"
msgstr "%P: ne peut construire l'ébauche de branchement « %s »\n"
-#: elf64-ppc.c:10941
+#: elf64-ppc.c:12227
+#, c-format
msgid "%B section %A exceeds stub group size"
msgstr "%B section %A dépasse la taille du groupe d'ébauche"
-#: elf64-ppc.c:11666 elf64-ppc.c:11699
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: décalage %s trop grand pour l'encodage .eh_frame sdata4"
-
-#: elf64-ppc.c:11744
+#: elf64-ppc.c:13331
msgid "%P: stubs don't match calculated size\n"
msgstr "%P: taille des ébauches ne concorde pas avec la taille calculée\n"
-#: elf64-ppc.c:11756
+#: elf64-ppc.c:13343
#, c-format
msgid ""
"linker stubs in %u group%s\n"
@@ -2814,923 +4489,1276 @@ msgid ""
" toc adjust %lu\n"
" long branch %lu\n"
" long toc adj %lu\n"
-" plt call %lu"
+" plt call %lu\n"
+" plt call toc %lu\n"
+" global entry %lu"
msgstr ""
"éditeur de liens des ébauches dans %u groupe%s\n"
" branchements %lu\n"
" ajustements toc %lu\n"
" long branchements %lu\n"
" long ajustements toc %lu\n"
-" appels plt %lu"
+" appels plt %lu\n"
+" appels plt toc %lu\n"
+" entrées globales %lu"
+
+#: elf64-ppc.c:13665
+#, c-format
+msgid "%H: %s used with TLS symbol `%T'\n"
+msgstr "%H: %s utilisé avec le symbole TLS « %T »\n"
+
+#: elf64-ppc.c:13667
+#, c-format
+msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgstr "%H: %s utilisé avec le symbole non-TLS « %T »\n"
-#: elf64-ppc.c:12042
-msgid "%P: %H: %s used with TLS symbol %s\n"
-msgstr "%P: %H: %s utilisé avec le symbole TLS %s\n"
+#: elf64-ppc.c:14306
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: il manque un nop à l'appel à « %T », toc ne peut être rétablie, recompilez avec -fPIC\n"
+
+#: elf64-ppc.c:14312
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%H: il manque un nop à l'appel à « %T », toc ne peut être rétablie, (ébauche d'ajustement de la toc -mcmodel=small)\n"
+
+#: elf64-ppc.c:14440
+#, c-format
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: type de réadressage %d inconnu pour « %T »\n"
+
+#: elf64-ppc.c:14994
+#, c-format
+msgid "%H: %s for indirect function `%T' unsupported\n"
+msgstr "%H: %s non supporté pour la fonction indirecte « %T »\n"
+
+#: elf64-ppc.c:15132
+#, c-format
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: %s n'est pas supporté pour le symbole « %T »\n"
-#: elf64-ppc.c:12043
-msgid "%P: %H: %s used with non-TLS symbol %s\n"
-msgstr "%P: %H: %s utilisé avec le symbole non-TLS %s\n"
+#: elf64-ppc.c:15287
+#, c-format
+msgid "%H: error: %s not a multiple of %u\n"
+msgstr "%H: erreur: %s n'est pas un multiple de %u\n"
-#: elf64-ppc.c:12556
-msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: TOC multiples et automatiques non supportées utilisant votre fichier crt; recompilez avec -mminimal-toc ou mettez à jour gcc\n"
+#: elf64-ppc.c:15309
+#, c-format
+msgid "%H: unresolvable %s against `%T'\n"
+msgstr "%H: %s ne peut être résolu par rapport à « %T »\n"
-#: elf64-ppc.c:12562
-msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: l'optimisation sœurs des appels vers « %s » n'autorise pas de TOC multiples et automatiques; recompilez avec -mminimal-toc ou -fno-optimize-sibling-calls, ou rendez « %s » externe\n"
+#: elf64-ppc.c:15406
+#, c-format
+msgid "%H: %s against `%T': error %d\n"
+msgstr "%H: %s vers « %T »: erreur %d\n"
-#: elf64-ppc.c:13286
-msgid "%P: %B: relocation %s is not supported for symbol %s\n"
-msgstr "%P: %B: réadressage %s n'est pas supportée pour le symbole %s\n"
+#: elf64-ppc.c:15801 elf64-ppc.c:15830
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: décalage %s trop grand pour l'encodage .eh_frame sdata4"
-#: elf64-ppc.c:13446
-msgid "%P: %H: error: %s not a multiple of %u\n"
-msgstr "%P: %H: erreur: %s n'est pas un multiple de %u\n"
+#: elf64-s390.c:2712
+msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%B: réadressage non-PLT « %s » pour le symbole défini dans une bibliothèque partagée et accédé depuis l'exécutable (recompiler le fichier avec -fPIC ?)"
-#: elf64-sh64.c:1686
+#: elf64-sh64.c:1680
#, c-format
-msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%s: erreur: type de réadressage %d non aligné à %08x réadressé`%08x\n"
+msgid "%B: error: unaligned relocation type %d at %08x reloc %08x\n"
+msgstr "%B: erreur: type de réadressage %d non aligné à %08x réadressé`%08x\n"
-#: elf64-sparc.c:446
+#: elf64-sparc.c:460
msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
msgstr "%B: Seuls les registres %%g[2367] peuvent être déclarés en utilisant les registres STT_REGISTER"
-#: elf64-sparc.c:466
+#: elf64-sparc.c:481
+#, c-format
msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
msgstr "Registre %%g%d utilisé de manière incompatible: %s dans %B précédemment %s dans %B"
-#: elf64-sparc.c:489
+#: elf64-sparc.c:505
+#, c-format
msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
-msgstr "Symbole «%s» a des types qui diffèrent: REGISTRE dans %B, précédemment %s dans %B"
+msgstr "Symbole « %s » a des types qui diffèrent: REGISTRE dans %B, précédemment %s dans %B"
-#: elf64-sparc.c:534
+#: elf64-sparc.c:552
+#, c-format
msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
-msgstr "Symbole «%s» a des types qui diffèrent: %s dans %B, précédemment REGISTRE dans %B"
+msgstr "Symbole « %s » a des types qui diffèrent: %s dans %B, précédemment REGISTRE dans %B"
-#: elf64-sparc.c:687
+#: elf64-sparc.c:707
msgid "%B: linking UltraSPARC specific with HAL specific code"
msgstr "%B: édition de liens spécifiques pour UltraSPARC avec du code spécifique HAL"
-#: elf64-x86-64.c:1427
+#: elf64-x86-64.c:1923
+msgid "hidden symbol "
+msgstr "symbole caché "
+
+#: elf64-x86-64.c:1926
+msgid "internal symbol "
+msgstr "symbole interne "
+
+#: elf64-x86-64.c:1929
+msgid "protected symbol "
+msgstr "symbole protégé "
+
+#: elf64-x86-64.c:1932
+msgid "symbol "
+msgstr "symbole "
+
+#: elf64-x86-64.c:1933 elf64-x86-64.c:1943
+msgid "; recompile with -fPIC"
+msgstr "; recompilé avec -fPIC"
+
+#: elf64-x86-64.c:1938
+msgid "undefined "
+msgstr "non défini "
+
+# Les %s%s au début de %s%s« %s » peuvent être « non défini » ou rien pour le premier et
+# un des fragments ci-dessus pour le second ce qui donne par exemple « symbole interne non défini» en inversant les deux %s.
+# Le dernier %s collé au dernier mot peut être rien ou un des fragments traduits ci-dessus et commençant par un point-virgule.
+#: elf64-x86-64.c:1947
+#, c-format
+msgid "%B: relocation %s against %s%s`%s' can not be used when making a shared object%s"
+msgstr "%1$B: réadressage %2$s vers %4$s%3$s« %5$s » ne peut pas être utilisé en créant un objet partagé%6$s"
+
+#: elf64-x86-64.c:2510
+#, c-format
msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
msgstr "%B: le réadressage %s sur le symbole « %s » n'est pas supporté en mode x32"
-#: elf64-x86-64.c:1656
+#: elf64-x86-64.c:2633
+#, c-format
msgid "%B: '%s' accessed both as normal and thread local symbol"
-msgstr "%B: symbole «%s» accédé à la fois comme normal et comme local au thread"
+msgstr "%B: symbole « %s » accédé à la fois comme normal et comme local au thread"
-#: elf64-x86-64.c:3150
+#: elf64-x86-64.c:4576
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5018
+#, c-format
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
msgstr "%B: le réadressage %s vers le symbole STT_GNU_IFUNC « %s » a l'opérande non nul: %d"
-#: elf64-x86-64.c:3411
-msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: réadressage R_X86_64_GOTOFF64 vers la fonction protégée « %s » ne peut pas être utilisé lors de la création d'un objet partagé"
+#: elf64-x86-64.c:4831
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "%B: réadressage R_X86_64_GOTOFF64 sur le symbole %s « %s » non défini ne peut pas être utilisé lors de la création d'un objet partagé"
-#: elf64-x86-64.c:3523
-msgid "; recompile with -fPIC"
-msgstr "; recompilé avec -fPIC"
+# Le %s protégée est soit « function » ou « data » sans traduction.
+# Cette construction scabreuse a déjà été enlevée dans les sources.
+#: elf64-x86-64.c:4845
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: réadressage R_X86_64_GOTOFF64 vers la %s protégée « %s » ne peut pas être utilisé lors de la création d'un objet partagé"
+
+#: elf64-x86-64.c:5122
+#, c-format
+msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: l'opérande -0x%x dans le réadressage %s vers le symbole « %s » à 0x%lx dans la section « %A » est hors limite"
-#: elf64-x86-64.c:3528
-msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: réadressage %s vers %s « %s » ne peut pas être utilisé en créant un objet partagé %s"
+#: elf64-x86-64.c:5130
+#, c-format
+msgid "%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: l'opérande 0x%x dans le réadressage %s vers le symbole « %s » à 0x%lx dans la section « %A » est hors limite"
+
+#: elf64-x86-64.c:5952
+#, c-format
+msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%B: débordement du décalage relatif au PC dans l'entrée PLT pour « %s »\n"
+
+#: elf64-x86-64.c:6019
+#, c-format
+msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%B: débordement du déplacement de branchement dans l'entrée PLT pour « %s »\n"
+
+#: elf64-x86-64.c:6072
+#, c-format
+msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%B: débordement du décalage relatif au PC dans l'entrée PLT GOT pour « %s »\n"
-#: elf64-x86-64.c:3530
-msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: réadressage %s vers le %s non défini « %s » ne peut pas être utilisé en créant un objet partagé %s"
+#: elf64-x86-64.c:7663
+#, c-format
+msgid "%F: failed to create BND PLT section\n"
+msgstr "%F: échec lors de la création de la section PLT BND\n"
-#: elfcode.h:767
+#: elf64-x86-64.c:7713
#, c-format
-msgid "warning: %s has a corrupt string table index - ignoring"
-msgstr "attention: %s a un index de table de chaînes corrompu - ignoré"
+msgid "%F: failed to create BND PLT .eh_frame section\n"
+msgstr "%F: échec lors de la création de la section .eh_frame PLT BND\n"
+
+#: elfcode.h:760
+msgid "warning: %B has a corrupt string table index - ignoring"
+msgstr "attention: %B a un index de table de chaînes corrompu - ignoré"
-#: elfcode.h:1177
+#: elfcode.h:1193
#, c-format
-msgid "%s: version count (%ld) does not match symbol count (%ld)"
-msgstr "%s: compteur de version (%ld) ne concorde pas avec le symbole du compteur (%ld)"
+msgid "%B: version count (%ld) does not match symbol count (%ld)"
+msgstr "%B: compteur de version (%ld) ne concorde pas avec le symbole du compteur (%ld)"
-#: elfcode.h:1431
+#: elfcode.h:1448
#, c-format
-msgid "%s(%s): relocation %d has invalid symbol index %ld"
-msgstr "%s(%s): réadressage %d a un index de symbole %ld invalide"
+msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgstr "%B(%A): réadressage %d a un index de symbole %ld invalide"
-#: elfcore.h:312
+#: elfcore.h:300
+#, c-format
msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
msgstr "Attention: %B est tronqué: taille attendue du cœur du fichier >= %lu, obtenu: %lu."
-#: elflink.c:1117
+#: elflink.c:1336
+#, c-format
msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
msgstr "%s: définition TLS dans %B section %A ne correspond pas à la définition non TLS dans %B section %A"
-#: elflink.c:1121
+#: elflink.c:1342
+#, c-format
msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
msgstr "%s: référence TLS dans %B ne correspond pas à la référence non TLS dans %B"
-#: elflink.c:1125
+#: elflink.c:1348
+#, c-format
msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
msgstr "%s: définition TLS dans %B section %A ne correspond pas à la référence TLS dans %B"
-#: elflink.c:1129
+#: elflink.c:1354
+#, c-format
msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
msgstr "%s: référence TLS dans %B ne correspond pas à la définition non TLS dans %B section %A"
-#: elflink.c:1762
+#: elflink.c:2015
+#, c-format
msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
-msgstr "%B: attention: redéfinition inattendue du symbole indirect avec version «%s»"
+msgstr "%B: attention: redéfinition inattendue du symbole indirect avec version « %s »"
-#: elflink.c:2063
+#: elflink.c:2308
+#, c-format
msgid "%B: version node not found for symbol %s"
msgstr "%B: version du nœud pas trouvée pour le symbole %s"
-#: elflink.c:2154
-msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
-msgstr "%B: mauvais index de relocalisation du symbole (0x%lx >= 0x%lx) pour l'offset 0x%lx de la section «%A»"
+#: elflink.c:2397
+#, c-format
+msgid "%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: mauvais index du symbole de réadressage (%#lx >= %#lx) pour l'offset %#Lx de la section « %A »"
-#: elflink.c:2165
-msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
-msgstr "%B: index de symbole non nul (0x%lx) pour l'offset 0x%lx de la section «%A» quand le fichier objet n'a pas de table de symboles"
+#: elflink.c:2409
+#, c-format
+msgid "%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: index de symbole non nul (%#lx) pour l'offset %#Lx de la section « %A » quand le fichier objet n'a pas de table de symboles"
-#: elflink.c:2355
+#: elflink.c:2600
+#, c-format
msgid "%B: relocation size mismatch in %B section %A"
msgstr "%B: taille du réadressage ne concorde pas dans %B section %A"
-#: elflink.c:2639
+#: elflink.c:2911
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
-msgstr "attention: type et taille du symbole dynamique «%s» ne sont pas définis"
+msgstr "attention: type et taille du symbole dynamique « %s » ne sont pas définis"
+
+#: elflink.c:2976
+msgid "%P: copy reloc against protected `%T' is dangerous\n"
+msgstr "%P: un réadressage copié envers un « %T » protégé est dangereux\n"
-#: elflink.c:3391
+#: elflink.c:3777
+#, c-format
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
msgstr "%P: code machine ELF alternatif trouvé (%d) dans %B, %d est attendu\n"
-#: elflink.c:4037
+#: elflink.c:4438
+#, c-format
msgid "%B: %s: invalid version %u (max %d)"
msgstr "%B: %s: version invalide %u (max %d)"
-#: elflink.c:4073
+#: elflink.c:4475
+#, c-format
msgid "%B: %s: invalid needed version %d"
msgstr "%B: %s: version requise invalide %d"
-#: elflink.c:4269
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "Attention: alignement %u du symbole commun «%s» dans %B est plus grand que l'alignement (%u) de sa section %A"
-
-#: elflink.c:4275
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "Attention: alignement %u du symbole «%s» dans %B est plus petit que %u dans %B"
-
-#: elflink.c:4290
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "Attention: taille du symbole «%s» a changé de %lu dans %B à %lu dans %B"
+#: elflink.c:4754
+#, c-format
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "Attention: taille du symbole « %s » a changé de %Lu dans %B à %Lu dans %B"
-#: elflink.c:4463
+#: elflink.c:4890
+#, c-format
msgid "%B: undefined reference to symbol '%s'"
-msgstr "%B: référence au symbole non défini «%s»"
+msgstr "%B: référence au symbole non défini « %s »"
-#: elflink.c:4466
-msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "note: «%s» est défini dans le DSO %B donc essayez de l'ajouter à la ligne de commande du lieur"
+#: elflink.c:5903
+#, c-format
+msgid "%B: stack size specified and %s set"
+msgstr "%B: taille de pile spécifiée et %s défini"
+
+#: elflink.c:5907
+#, c-format
+msgid "%B: %s not absolute"
+msgstr "%B: %s pas supporté"
-#: elflink.c:5781
+#: elflink.c:6105
#, c-format
msgid "%s: undefined version: %s"
msgstr "%s: version non définie: %s"
-#: elflink.c:5849
+#: elflink.c:6682
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr "%B: section .preinit_array n'est pas permise dans DSO"
-#: elflink.c:7604
+#: elflink.c:8122
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr "référence %s non définie dans le symbole complexe: %s"
-#: elflink.c:7758
+#: elflink.c:8277
#, c-format
msgid "unknown operator '%c' in complex symbol"
-msgstr "opérateur «%c» inconnu dans le symbole complexe"
+msgstr "opérateur « %c » inconnu dans le symbole complexe"
-#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+#. PR 21524: Let the user know if a symbol was removed by garbage collection.
+#: elflink.c:8615
+msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
+msgstr "%B:%A: erreur: symbole de référence des réadressages %s qui a été supprimé par le ramasse miettes"
+
+#: elflink.c:8618
+msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+msgstr "%B:%A: erreur: essayez de rééditer les liens avec --gc-keep-exported enabled."
+
+#: elflink.c:8855 elflink.c:8873 elflink.c:8912 elflink.c:8930
msgid "%B: Unable to sort relocs - they are in more than one size"
-msgstr "%B: Impossible de trier les relocalisations - plusieurs tailles rencontrées"
+msgstr "%B: Impossible de trier les réadressages - plusieurs tailles rencontrées"
-#: elflink.c:8128 elflink.c:8182
+#. The section size is not divisible by either -
+#. something is wrong.
+#: elflink.c:8889 elflink.c:8946
msgid "%B: Unable to sort relocs - they are of an unknown size"
-msgstr "%B: Impossible de trier les relocalisations - leur taille est inconnue"
+msgstr "%B: Impossible de trier les réadressages - leur taille est inconnue"
-#: elflink.c:8233
+#: elflink.c:8998
msgid "Not enough memory to sort relocations"
msgstr "Pas assez de mémoire pour trier les réadressages"
-#: elflink.c:8426
+#: elflink.c:9266
+#, c-format
msgid "%B: Too many sections: %d (>= %d)"
msgstr "%B: Trop de sections: %d (>= %d)"
-#: elflink.c:8675
+#: elflink.c:9546
+#, c-format
msgid "%B: internal symbol `%s' in %B is referenced by DSO"
msgstr "%B: symbole interne « %s » dans %B est référencé par DSO"
-#: elflink.c:8677
+#: elflink.c:9549
+#, c-format
msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
msgstr "%B: symbole caché « %s » dans %B est référencé par DSO"
-#: elflink.c:8679
+#: elflink.c:9552
+#, c-format
msgid "%B: local symbol `%s' in %B is referenced by DSO"
msgstr "%B: symbole local « %s » dans %B est référencé par DSO"
-#: elflink.c:8776
+#: elflink.c:9638
+#, c-format
msgid "%B: could not find output section %A for input section %A"
msgstr "%B: ne peut repérer la section de sortie %A pour la section d'entrée %A"
-#: elflink.c:8899
+#: elflink.c:9792
+#, c-format
msgid "%B: protected symbol `%s' isn't defined"
msgstr "%B: symbole protégé « %s » n'est pas défini"
-#: elflink.c:8901
+#: elflink.c:9795
+#, c-format
msgid "%B: internal symbol `%s' isn't defined"
msgstr "%B: symbole interne « %s » n'est pas défini"
-#: elflink.c:8903
+#: elflink.c:9798
+#, c-format
msgid "%B: hidden symbol `%s' isn't defined"
msgstr "%B: symbole caché « %s » n'est pas défini"
-#: elflink.c:9432
+#: elflink.c:9829
+#, c-format
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: Pas de section de version de symbole pour le symbole avec version « %s »"
+
+#: elflink.c:10436
+#, c-format
msgid "error: %B: size of section %A is not multiple of address size"
msgstr "erreur: %B: le réadressage de la section %A n'est pas un multiple de la taille des adresses"
-#: elflink.c:9479
-msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
-msgstr "erreur: %B contient une relocalisation (0x%s) pour la section %A qui fait référence à un symbole global inexistant"
+#: elflink.c:10481
+#, c-format
+msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
+msgstr "erreur: %B contient un réadressage (%#Lx) pour la section %A qui fait référence à un symbole global inexistant"
-#: elflink.c:10214
+#: elflink.c:11236
+#, c-format
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
-msgstr "%A a, à la fois, des sections ordonnées [«%A» dans %B] et désordonnées [«%A» dans %B]"
+msgstr "%A a, à la fois, des sections ordonnées [« %A » dans %B] et désordonnées [« %A » dans %B]"
-#: elflink.c:10219
+#: elflink.c:11242
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr "%A a, à la fois, des sections ordonnées et désordonnées"
-#: elflink.c:10784
+#: elflink.c:11344
+msgid "%B: no symbol found for import library"
+msgstr "%B: aucun symbole trouvé dans la bibliothèque d'importation"
+
+#: elflink.c:11966
+#, c-format
msgid "%B: file class %s incompatible with %s"
msgstr "%B: classe de fichier %s incompatible avec %s"
-#: elflink.c:11093 elflink.c:11137
-msgid "%B: could not find output section %s"
-msgstr "%B: ne peut repérer la section de sortie %s"
+#: elflink.c:12183
+msgid "%B: failed to generate import library"
+msgstr "%B: échec de la génération de la bibliothèque d'importation"
-#: elflink.c:11098
+#: elflink.c:12302
#, c-format
msgid "warning: %s section has zero size"
msgstr "attention: section %s a une taille nulle"
-#: elflink.c:11143
+#: elflink.c:12350
#, c-format
msgid "warning: section '%s' is being made into a note"
msgstr "attention: section « %s » changé en une note"
-#: elflink.c:11212
+#: elflink.c:12442
msgid "%P%X: read-only segment has dynamic relocations.\n"
msgstr "%P%X: segment en lecture seule a des réadressages dynamiques.\n"
-#: elflink.c:11215
+#: elflink.c:12445
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr "%P: attention: création d'un DT_TEXTREL dans un objet partagé.\n"
-#: elflink.c:11402
+#: elflink.c:12570
msgid "%P%X: can not read symbols: %E\n"
msgstr "%P%X: ne peut pas lire les symboles: %E\n"
-#: elflink.c:11792
-msgid "Removing unused section '%s' in file '%B'"
-msgstr "Suppression de la section inutilisée «%s» dans le fichier «%B»"
+#: elflink.c:12732
+msgid "%F%P: corrupt input: %B\n"
+msgstr "%F%P: entrée corrompue: %B\n"
-#: elflink.c:11998
-msgid "Warning: gc-sections option ignored"
-msgstr "Attention: l'option de la section gc est ignorée"
+#: elflink.c:13421
+#, c-format
+msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgstr "%B: %A+%#Lx: Pas de symbole trouvé pour INHERIT"
-#: elflink.c:12277
+#: elflink.c:13597
#, c-format
msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
msgstr "INPUT_SECTION_FLAG %s non reconnu\n"
-#: elfxx-mips.c:1234
+#: elfxx-mips.c:1444
msgid "static procedure (no name)"
msgstr "procédure statique (sans name)"
-#: elfxx-mips.c:5259
+#: elfxx-mips.c:5627
msgid "MIPS16 and microMIPS functions cannot call each other"
msgstr "Des fonctions MIPS16 et microMIPS ne peuvent pas s'appeler l'une l'autre"
-#: elfxx-mips.c:5856
-msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
-msgstr "%B: %A+0x%lx: Les sauts directs entre modes ISA ne sont pas permis; envisagez de recompiler avec l'interliage activé."
+#: elfxx-mips.c:6370
+msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+msgstr "%X%H: JALX vers le même mode ISA n'est pas supporté\n"
+
+#: elfxx-mips.c:6403
+msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+msgstr "%X%H: Saut non supporté entre modes ISA ; envisagez de recompiler avec l'interliage activé.\n"
-#: elfxx-mips.c:6519 elfxx-mips.c:6742
+#: elfxx-mips.c:6444
+msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+msgstr "%X%H: Impossible de convertir les branchements vers JALX entre modes ISA: réadressage hors portée\n"
+
+#: elfxx-mips.c:6456
+msgid "%X%H: Unsupported branch between ISA modes\n"
+msgstr "%X%H: Branchement entre modes ISA non supporté\n"
+
+#: elfxx-mips.c:7134 elfxx-mips.c:7369
+#, c-format
msgid "%B: Warning: bad `%s' option size %u smaller than its header"
-msgstr "%B: Attention: mauvaise «%s» taille d'option %u plus petite que son en-tête"
+msgstr "%B: Attention: mauvaise « %s » taille d'option %u plus petite que son en-tête"
-#: elfxx-mips.c:7495 elfxx-mips.c:7620
+#: elfxx-mips.c:8125 elfxx-mips.c:8251
+#, c-format
msgid "%B: Warning: cannot determine the target function for stub section `%s'"
-msgstr "%B: Attention: ne peut pas déterminer la fonction cible de la section d'ébauche «%s»"
+msgstr "%B: Attention: ne peut pas déterminer la fonction cible de la section d'ébauche « %s »"
-#: elfxx-mips.c:7749
+#: elfxx-mips.c:8383
+#, c-format
msgid "%B: Malformed reloc detected for section %s"
-msgstr "%B: relocalisation mal composée détectée dans la section %s"
+msgstr "%B: Réadressage mal composé détecté dans la section %s"
-#: elfxx-mips.c:7801
+#: elfxx-mips.c:8459
+#, c-format
msgid "%B: GOT reloc at 0x%lx not expected in executables"
-msgstr "%B: relocalisation GOT à 0x%lx pas attendue dans les executables"
+msgstr "%B: Réadressage GOT à 0x%lx pas attendu dans les exécutables"
-#: elfxx-mips.c:7930
+#: elfxx-mips.c:8597
+#, c-format
msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
-msgstr "%B: appel CALL16 de relocalisation à 0x%lx qui n'est pas pour un symbole global"
+msgstr "%B: appel CALL16 de réadressage à 0x%lx qui n'est pas pour un symbole global"
-#: elfxx-mips.c:8645
+#: elfxx-mips.c:9219
#, c-format
msgid "non-dynamic relocations refer to dynamic symbol %s"
msgstr "réadressages non dynamiques font référence au symbole dynamique %s"
-#: elfxx-mips.c:9347
+#: elfxx-mips.c:10139
+#, c-format
msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Ne trouve pas de relocalisation LO16 correspondante vers «%s» pour %s à 0x%lx de la section «%A»"
+msgstr "%B: Ne trouve pas de réadressage LO16 correspondant vers « %s » pour %s à 0x%lx de la section « %A »"
-#: elfxx-mips.c:9486
+#: elfxx-mips.c:10279
msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
msgstr "la taille des petites données de la section dépasse 64KB; abaissez la limite de taille des petites données (voyez l'option -G)"
-#: elfxx-mips.c:9505
-msgid "JALX to a non-word-aligned address"
-msgstr "JALX vers une adresse non alignée sur un mot"
+#: elfxx-mips.c:10298
+msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "Impossible de convertir un saut vers JALX pour une adresse non alignée sur un mot"
-#: elfxx-mips.c:13266
-#, c-format
-msgid "%s: illegal section name `%s'"
-msgstr "%s: nom illégal de section «%s»"
+#: elfxx-mips.c:10301
+msgid "Jump to a non-word-aligned address"
+msgstr "Saut vers une adresse non alignée sur un mot"
-#: elfxx-mips.c:13645 elfxx-mips.c:13671
-msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "Attention: %B utilise -msingle-float, %B utilise -mdouble-float"
+#: elfxx-mips.c:10302
+msgid "Jump to a non-instruction-aligned address"
+msgstr "Saut vers une adresse non alignée sur une instruction"
-#: elfxx-mips.c:13657 elfxx-mips.c:13713
-msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "Attention: %B utilise -msingle-float, %B utilise -mips32r2 -mfp64"
+#: elfxx-mips.c:10305
+msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "Impossible de convertir un branchement vers JALX pour une adresse non alignée sur un mot"
-#: elfxx-mips.c:13683 elfxx-mips.c:13719
-msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "Attention: %B utilise -mdouble-float, %B utilise -mips32r2 -mfp64"
+#: elfxx-mips.c:10307
+msgid "Branch to a non-instruction-aligned address"
+msgstr "Branchement vers une adresse non alignée sur une instruction"
-#: elfxx-mips.c:13761
-msgid "%B: endianness incompatible with that of the selected emulation"
-msgstr "%B: système de poids fort ou faible incompatible avec celui sélectionné pour l'émulation"
+#: elfxx-mips.c:10309
+msgid "PC-relative load from unaligned address"
+msgstr "Chargement relatif au PC depuis une adresse non alignée"
-#: elfxx-mips.c:13772
-msgid "%B: ABI is incompatible with that of the selected emulation"
-msgstr "%B: ABI est incompatible avec celui sélectionné pour l'émulation"
+#: elfxx-mips.c:10683 elfxx-mips.c:11251
+#, c-format
+msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: « %A » offset de %ld depuis « %A » au delà de la limite de ADDIUPC"
+
+#: elfxx-mips.c:14174
+#, c-format
+msgid "%B: Unknown architecture %s"
+msgstr "%B: Architecture %s inconnue"
+
+#: elfxx-mips.c:14704
+#, c-format
+msgid "%B: illegal section name `%A'"
+msgstr "%B: nom illégal de section « %A »"
-#: elfxx-mips.c:13856
+#: elfxx-mips.c:14981
msgid "%B: warning: linking abicalls files with non-abicalls files"
msgstr "%B: attention: édition de liens des fichiers abicalls avec des fichiers non abicalls"
-#: elfxx-mips.c:13873
+#: elfxx-mips.c:14998
msgid "%B: linking 32-bit code with 64-bit code"
msgstr "%B: édition de liens de code 32 bits avec du code 64 bits"
-#: elfxx-mips.c:13901
+#: elfxx-mips.c:15030 elfxx-mips.c:15096 elfxx-mips.c:15111
+#, c-format
msgid "%B: linking %s module with previous %s modules"
msgstr "%B: édition de liens du module %s avec les modules précédents %s"
-#: elfxx-mips.c:13924
+#: elfxx-mips.c:15054
+#, c-format
msgid "%B: ABI mismatch: linking %s module with previous %s modules"
msgstr "%B: ABI ne concorde pas: édition de lien du module %s avec les modules précédents %s"
-#: elfxx-mips.c:13948
+#: elfxx-mips.c:15079
+#, c-format
msgid "%B: ASE mismatch: linking %s module with previous %s modules"
msgstr "%B: ASE ne concorde pas: édition de lien du module %s avec les modules précédents %s"
-#: elfxx-mips.c:14106
+#: elfxx-mips.c:15214
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Attention: %B utilise l'ABI virgule flottante inconnue %d (définie par %B), %B utilise l'ABI virgule flottante inconnue %d"
+
+#: elfxx-mips.c:15220
+#, c-format
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "Attention: %B utilise l'ABI virgule flottante inconnue %d (définie par %B), %B utilise %s"
+
+#: elfxx-mips.c:15226
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "Attention: %B utilise %s (défini par %B), %B utilise l'ABI virgule flottante inconnue %d"
+
+#: elfxx-mips.c:15240
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "Attention: %B utilise %s (défini par %B), %B utilise « %s »"
+
+#: elfxx-mips.c:15259
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Attention: %B utilise %s (défini par %B), %B utilise l'ABI MSA inconnue %d"
+
+#: elfxx-mips.c:15271
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "Attention: %B utilise l'ABI MSA inconnue %d (définie par %B), %B utilise %s"
+
+#: elfxx-mips.c:15280
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "Attention: %B utilise l'ABI MSA inconnue %d (définie par %B), %B utilise l'ABI MSA inconnue %d"
+
+#: elfxx-mips.c:15342
+msgid "%B: endianness incompatible with that of the selected emulation"
+msgstr "%B: système de poids fort ou faible incompatible avec celui sélectionné pour l'émulation"
+
+#: elfxx-mips.c:15356
+msgid "%B: ABI is incompatible with that of the selected emulation"
+msgstr "%B: ABI est incompatible avec celui sélectionné pour l'émulation"
+
+#: elfxx-mips.c:15408
+msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%B: attention: ISA incohérentes entre e_flags et .MIPS.abiflags"
+
+#: elfxx-mips.c:15413
+msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%B: attention: ABI FP incohérentes entre .gnu.attributes and .MIPS.abiflags"
+
+#: elfxx-mips.c:15417
+msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%B: attention: ASE incohérents entre e_flags et .MIPS.abiflags"
+
+#: elfxx-mips.c:15424
+msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%B: attention: Extensions ISA incohérentes entre e_flags et .MIPS.abiflags"
+
+#: elfxx-mips.c:15428
+msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%B: attention: Fanion inattendu dans le champ flags2 de .MIPS.abiflags (0x%lx)"
+
+#: elfxx-mips.c:15617
+msgid "-mips32r2 -mfp64 (12 callee-saved)"
+msgstr "-mips32r2 -mfp64 (12 callee-saved)"
+
+#: elfxx-mips.c:15667 elfxx-mips.c:15678
+msgid "None"
+msgstr "aucun"
+
+#: elfxx-mips.c:15669 elfxx-mips.c:15741
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: elfxx-mips.c:15752
+#, c-format
+msgid "Hard or soft float\n"
+msgstr "Flottant matériel ou logiciel\n"
+
+#: elfxx-mips.c:15755
+#, c-format
+msgid "Hard float (double precision)\n"
+msgstr "Flottant matériel (double précision)\n"
+
+#: elfxx-mips.c:15758
+#, c-format
+msgid "Hard float (single precision)\n"
+msgstr "Flottant matériel (simple précision)\n"
+
+#: elfxx-mips.c:15761
+#, c-format
+msgid "Soft float\n"
+msgstr "Flottant logiciel\n"
+
+#: elfxx-mips.c:15764
+#, c-format
+msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+msgstr "Flottant matériel (MIPS32r2 64 bits FPU 12 callee-saved)\n"
+
+#: elfxx-mips.c:15767
+#, c-format
+msgid "Hard float (32-bit CPU, Any FPU)\n"
+msgstr "Flottant matériel (processeur 32 bits, tout coprocesseur)\n"
+
+#: elfxx-mips.c:15770
+#, c-format
+msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
+msgstr "Flottant matériel (processeur 32 bits, coprocesseur 64 bits)\n"
+
+#: elfxx-mips.c:15773
+#, c-format
+msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
+msgstr "Compatibilité flottant matériel (processeur 32 bits, coprocesseur 64 bits)\n"
+
+#: elfxx-mips.c:15805
#, c-format
msgid " [abi=O32]"
msgstr " [abi=O32]"
-#: elfxx-mips.c:14108
+#: elfxx-mips.c:15807
#, c-format
msgid " [abi=O64]"
msgstr " [abi=O64]"
-#: elfxx-mips.c:14110
+#: elfxx-mips.c:15809
#, c-format
msgid " [abi=EABI32]"
msgstr " [abi=EABI32]"
-#: elfxx-mips.c:14112
+#: elfxx-mips.c:15811
#, c-format
msgid " [abi=EABI64]"
msgstr " [abi=EABI64]"
-#: elfxx-mips.c:14114
+#: elfxx-mips.c:15813
#, c-format
msgid " [abi unknown]"
msgstr " [abi inconnu]"
-#: elfxx-mips.c:14116
+#: elfxx-mips.c:15815
#, c-format
msgid " [abi=N32]"
msgstr " [abi=N32]"
-#: elfxx-mips.c:14118
+#: elfxx-mips.c:15817
#, c-format
msgid " [abi=64]"
msgstr " [abi=64]"
-#: elfxx-mips.c:14120
+#: elfxx-mips.c:15819
#, c-format
msgid " [no abi set]"
msgstr " [aucun jeu abi]"
-#: elfxx-mips.c:14141
+#: elfxx-mips.c:15844
#, c-format
msgid " [unknown ISA]"
msgstr " [ISA inconnu]"
-#: elfxx-mips.c:14155
+#: elfxx-mips.c:15864
#, c-format
msgid " [not 32bitmode]"
msgstr " [aucun mode 32 bits]"
-#: elfxx-sparc.c:596
+#: elfxx-riscv.c:948
+#, c-format
+msgid "unrecognized relocation (0x%x)"
+msgstr "Réadressage non reconnu (0x%x)"
+
+#: elfxx-sparc.c:639
#, c-format
msgid "invalid relocation type %d"
msgstr "type de réadressage %d invalide"
-#: elfxx-tilegx.c:3952
+#: elfxx-sparc.c:3301
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5002
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: le réadressage %s sur le symbole STT_GNU_IFUNC « %s » n'est pas géré par %s"
+
+#: elfxx-tilegx.c:4436
+#, c-format
msgid "%B: Cannot link together %s and %s objects."
msgstr "%B: Ne peut lier ensemble les objets %s et %s."
-#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
#, c-format
msgid "Output file requires shared library `%s'\n"
-msgstr "La sortie requiert la librairie partagée «%s»\n"
+msgstr "La sortie requiert la librairie partagée « %s »\n"
-#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
#, c-format
msgid "Output file requires shared library `%s.so.%s'\n"
-msgstr "Le fichier de sortie requiert une librairie partagée «%s.so.%s»\n"
+msgstr "Le fichier de sortie requiert une librairie partagée « %s.so.%s »\n"
-#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
-#: sparclinux.c:648 sparclinux.c:698
+#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
+#: sparclinux.c:608 sparclinux.c:658
#, c-format
msgid "Symbol %s not defined for fixups\n"
msgstr "Symbole %s n'est pas défini pour les corrections\n"
-#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
msgid "Warning: fixup count mismatch\n"
msgstr "Attention: nombre de corrections en désaccord\n"
#: ieee.c:159
#, c-format
-msgid "%s: string too long (%d chars, max 65535)"
-msgstr "%s: chaîne trop longue (%d caractères, max 65535)"
+msgid "%B: string too long (%d chars, max 65535)"
+msgstr "%B: chaîne trop longue (%d caractères, max 65535)"
+
+#: ieee.c:226
+#, c-format
+msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+msgstr "Analyseur IEEE: longueur de chaîne: %#lx plus longue que le tampon: %#lx"
-#: ieee.c:286
+#: ieee.c:302
#, c-format
-msgid "%s: unrecognized symbol `%s' flags 0x%x"
-msgstr "%s: symbole non reconnue «%s» fanions 0x%x"
+msgid "%B: unrecognized symbol `%s' flags 0x%x"
+msgstr "%B: symbole non reconnue « %s » fanions 0x%x"
-#: ieee.c:792
+#: ieee.c:837
+#, c-format
msgid "%B: unimplemented ATI record %u for symbol %u"
msgstr "%B: enregistrement ATI non implanté %u pour le symbole %u"
-#: ieee.c:816
+#: ieee.c:862
+#, c-format
msgid "%B: unexpected ATN type %d in external part"
msgstr "%B: type ATN %d inattendu dans la partie externe"
-#: ieee.c:838
+#: ieee.c:884
msgid "%B: unexpected type after ATN"
msgstr "%B: type inattendu après ATN"
#: ihex.c:230
+#, c-format
msgid "%B:%d: unexpected character `%s' in Intel Hex file"
-msgstr "%B:%d: caractère inattendu «%s» dans le fichier Intel hexadécimal"
+msgstr "%B:%d: caractère inattendu « %s » dans le fichier Intel hexadécimal"
-#: ihex.c:337
+#: ihex.c:338
+#, c-format
msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
msgstr "%B:%u: somme de contrôle erronée dans le fichier Intel hexadécimal (attendu %u, obtenu %u)"
-#: ihex.c:392
+#: ihex.c:394
+#, c-format
msgid "%B:%u: bad extended address record length in Intel Hex file"
msgstr "%B:%u: longueur erronée de l'enregistrement d'adresse étendue dans le fichier Intel hexadécimal"
-#: ihex.c:409
+#: ihex.c:412
+#, c-format
msgid "%B:%u: bad extended start address length in Intel Hex file"
msgstr "%B:%u: longueur erronée d'adresse étendue de début dans le fichier Intel hexadécimal"
-#: ihex.c:426
+#: ihex.c:430
+#, c-format
msgid "%B:%u: bad extended linear address record length in Intel Hex file"
msgstr "%B:%u: longueur erronée de l'enregistrement d'adresse étendue linéaire dans le fichier Intel hexadécimal"
-#: ihex.c:443
+#: ihex.c:448
+#, c-format
msgid "%B:%u: bad extended linear start address length in Intel Hex file"
msgstr "%B:%u: longueur erronée d'adresse étendue linéraire de début dans le fichier Intel hexadécimal"
-#: ihex.c:460
+#: ihex.c:466
+#, c-format
msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
msgstr "%B:%u: type ihex %u non reconnu dans le fichier Intel hexadécima"
-#: ihex.c:579
+#: ihex.c:585
msgid "%B: internal error in ihex_read_section"
msgstr "%B: erreur interne dans ihex_read_section"
-#: ihex.c:613
+#: ihex.c:619
msgid "%B: bad section length in ihex_read_section"
msgstr "%B: longuer erronée de section dans ihex_read_section"
-#: ihex.c:826
+#: ihex.c:833
#, c-format
-msgid "%s: address 0x%s out of range for Intel Hex file"
-msgstr "%s: adresse 0x%s hors limite pour le fichier Intel hexadécimal"
+msgid "%B: address 0x%s out of range for Intel Hex file"
+msgstr "%B: adresse 0x%s hors limite pour le fichier Intel hexadécimal"
-#: libbfd.c:863
+#: libbfd.c:799
+#, c-format
msgid "%B: unable to get decompressed section %A"
msgstr "%B: impossible d'obtenir la section décompressée %A"
-#: libbfd.c:1012
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr ""
-"%B: compilé pour un système à octets de poids fort alors que la cible\n"
-"est un système à octets de poids faible"
-
-#: libbfd.c:1014
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr ""
-"%B: compilé pour un système à octets de poids faible alors que la cible\n"
-"est un système à octets de poids fort"
-
-#: libbfd.c:1043
+#: libbfd.c:963
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr "%s déprécié appelé à %s dans la ligne %d dans %s\n"
-#: libbfd.c:1046
+#: libbfd.c:966
#, c-format
msgid "Deprecated %s called\n"
msgstr "%s appel déprécié\n"
-#: linker.c:1872
+#: linker.c:1669
+#, c-format
msgid "%B: indirect symbol `%s' to `%s' is a loop"
-msgstr "%B: symbole indirect «%s» vers «%s» est une boucle"
+msgstr "%B: symbole indirect « %s » vers « %s » est une boucle"
-#: linker.c:2736
+#: linker.c:2539
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
-msgstr "Tentative de relocalisation d'un lien avec %s à l'entrée et %s à la sortie"
+msgstr "Tentative de réadressage d'un lien avec %s à l'entrée et %s à la sortie"
-#: linker.c:3021
+#: linker.c:2825
+#, c-format
msgid "%B: ignoring duplicate section `%A'\n"
msgstr "%B: ignore les sections dupliquées « %A »\n"
-#: linker.c:3030 linker.c:3039
+#: linker.c:2835 linker.c:2845
+#, c-format
msgid "%B: duplicate section `%A' has different size\n"
msgstr "%B: section dupliquée « %A » avec des tailles différentes\n"
-#: linker.c:3047 linker.c:3052
+#: linker.c:2854 linker.c:2860
+#, c-format
msgid "%B: could not read contents of section `%A'\n"
msgstr "%B: ne peut pas lire le contenu de la section « %A »\n"
-#: linker.c:3056
+#: linker.c:2865
+#, c-format
msgid "%B: duplicate section `%A' has different contents\n"
msgstr "%B: section dupliquée « %A » a des contenus différents\n"
-#: mach-o.c:407
+#: linker.c:3353
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr ""
+"%B: compilé pour un système à octets de poids fort alors que la cible\n"
+"est un système à octets de poids faible"
+
+#: linker.c:3356
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr ""
+"%B: compilé pour un système à octets de poids faible alors que la cible\n"
+"est un système à octets de poids fort"
+
+#: mach-o.c:779
msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
msgstr "bfd_mach_o_canonicalize_symtab: impossible de charger les symboles"
-#: mach-o.c:1301
+#: mach-o.c:1981
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "désolé: modtab, toc et extrefsyms ne sont pas encore implémentés pour les commandes dysymtab."
+
+#: mach-o.c:2424
+#, c-format
+msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
+msgstr "mach-o: il y a trop de sections (%u) le maximum est 255,\n"
+
+#: mach-o.c:2531
+#, c-format
+msgid "unable to allocate data for load command 0x%lx"
+msgstr "impossible d'allouer les données pour la commande de chargement 0x%lx"
+
+#: mach-o.c:2636
#, c-format
msgid "unable to write unknown load command 0x%lx"
msgstr "impossible d'écrire la commande de chargement inconnue 0x%lx"
-#: mach-o.c:1789
+#: mach-o.c:2820
+#, c-format
+msgid "section address (%lx) below start of segment (%lx)"
+msgstr "adresse de section (%lx) en deçà du début du segment (%lx)"
+
+#: mach-o.c:2961
+#, c-format
+msgid "unable to layout unknown load command 0x%lx"
+msgstr "impossible de disposer la commande de chargement inconnue 0x%lx"
+
+#: mach-o.c:3497
+#, c-format
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: valeur d'alignement démesurée: 0x%x, utilise 32 à la place"
+
+#: mach-o.c:3540
+#, c-format
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: valeur d'alignement démesurée: 0x%x, utilise 32 à la place"
+
+#: mach-o.c:3591
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
msgstr "bfd_mach_o_read_symtab_symbol: impossible de lire %d octets à %lu"
-#: mach-o.c:1807
+#: mach-o.c:3610
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
msgstr "bfd_mach_o_read_symtab_symbol: nom hors limites (%lu >= %lu)"
-#: mach-o.c:1892
+#: mach-o.c:3693
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
msgstr "bfd_mach_o_read_symtab_symbol: le symbole « %s » spécifie la section %d invalide (max %lu): laissé non défini"
-#: mach-o.c:1900
-#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: symbole « %s » a la référence non supportée « indirect »: laissé non défini"
-
-#: mach-o.c:1906
+#: mach-o.c:3712
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
msgstr "bfd_mach_o_read_symtab_symbol: symbole « %s » spécifie le champ de type 0x%x invalide: laissé non défini"
-#: mach-o.c:1979
+#: mach-o.c:3786
msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
msgstr "bfd_mach_o_read_symtab_symbols: impossible d'allouer la mémoire pour les symboles"
-#: mach-o.c:2014
-#, c-format
-msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-msgstr "bfd_mach_o_read_dysymtab_symbol: impossible de lire %lu octets à %lu"
-
-#: mach-o.c:2734
-#, c-format
-msgid "unable to read unknown load command 0x%lx"
-msgstr "impossible de lire la commande de chargement inconnue 0x%lx"
+#: mach-o.c:4759
+msgid "%B: unknown load command 0x%lx"
+msgstr "%B: commande de chargement inconnue 0x%lx"
-#: mach-o.c:2915
+#: mach-o.c:4950
#, c-format
msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
msgstr "bfd_mach_o_scan: architecture 0x%lx/0x%lx inconnue"
-#: mach-o.c:3011
+#: mach-o.c:5055
#, c-format
msgid "unknown header byte-order value 0x%lx"
msgstr "valeur d'ordre des octets de l'en-tête 0x%lx est inconnue"
-#: mach-o.c:3577
-msgid "Mach-O header:\n"
-msgstr "En-tête Mach-O:\n"
-
-#: mach-o.c:3578
-#, c-format
-msgid " magic : %08lx\n"
-msgstr " magique : %08lx\n"
-
-#: mach-o.c:3579
-#, c-format
-msgid " cputype : %08lx (%s)\n"
-msgstr " typecpu : %08lx (%s)\n"
-
-#: mach-o.c:3581
-#, c-format
-msgid " cpusubtype: %08lx\n"
-msgstr " soustypecpu: %08lx\n"
-
-#: mach-o.c:3582
-#, c-format
-msgid " filetype : %08lx (%s)\n"
-msgstr " typefichier: %08lx (%s)\n"
-
-#: mach-o.c:3585
-#, c-format
-msgid " ncmds : %08lx (%lu)\n"
-msgstr " ncmds : %08lx (%lu)\n"
-
-#: mach-o.c:3586
-#, c-format
-msgid " sizeofcmds: %08lx\n"
-msgstr " taillecmds: %08lx\n"
-
-#: mach-o.c:3587
-#, c-format
-msgid " flags : %08lx ("
-msgstr " fanions : %08lx ("
-
-#: mach-o.c:3589 vms-alpha.c:7674
-msgid ")\n"
-msgstr ")\n"
-
-#: mach-o.c:3590
+#: merge.c:864
#, c-format
-msgid " reserved : %08x\n"
-msgstr " réservé : %08x\n"
+msgid "%B: access beyond end of merged section (%ld)"
+msgstr "%B: accès au-delà de la fin de la section fusionnée (%ld)"
-#: mach-o.c:3600
-msgid "Segments and Sections:\n"
-msgstr "Segments et Sections:\n"
-
-#: mach-o.c:3601
-msgid " #: Segment name Section name Address\n"
-msgstr " #: Nom segment Nom section Adresse\n"
-
-#: merge.c:832
+#: mmo.c:468
#, c-format
-msgid "%s: access beyond end of merged section (%ld)"
-msgstr "%s: accès au-delà de la fin de la section fusionnée (%ld)"
+msgid "%B: No core to allocate section name %s\n"
+msgstr "%B: Pas de corps pour allouer un nom de section %s\n"
-#: mmo.c:456
+#: mmo.c:544
#, c-format
-msgid "%s: No core to allocate section name %s\n"
-msgstr "%s: pas de corps pour allouer un nom de section %s\n"
+msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgstr "%B: pas de corps pour allouer un symbole de %d octets de longueur\n"
-#: mmo.c:531
+#: mmo.c:958
#, c-format
-msgid "%s: No core to allocate a symbol %d bytes long\n"
-msgstr "%s: pas de corps pour allouer un symbole de %d octets de longueur\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address 0x%lx\n"
+msgstr "%B: tentative d'émettre du contenu à une adresse 0x%lx qui n'est pas un multiple de 4\n"
-#: mmo.c:1187
-#, c-format
-msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%s: fichier mmo invalide: valeur d'initialisation pour $255 n'est pas «Main»\n"
+#: mmo.c:1255
+msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%B: fichier mmo invalide: valeur d'initialisation pour $255 n'est pas « Main »\n"
-#: mmo.c:1332
+#: mmo.c:1402
#, c-format
-msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%s: séquence de caractères large 0x%02X 0x%02X non supportée après le nom de symbole débutant par «%s»\n"
+msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%B: séquence de caractères large 0x%02X 0x%02X non supportée après le nom de symbole débutant par « %s »\n"
-#: mmo.c:1565
+#: mmo.c:1636
#, c-format
-msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%s: fichier mmo invalide: lopcode «%d» non supporté\n"
+msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%B: fichier mmo invalide: lopcode « %d » non supporté\n"
-#: mmo.c:1575
+#: mmo.c:1647
#, c-format
-msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
-msgstr "%s: fichier mmo invalide: attendu YZ = 1 obtenu YZ = %d pour lop_quote\n"
+msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%B: fichier mmo invalide: attendu YZ = 1 obtenu YZ = %d pour lop_quote\n"
-#: mmo.c:1611
+#: mmo.c:1685
#, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
-msgstr "%s: fichier mmo invalide: attendu z = 1 ou z = 2, obtenu z = %d pour lop_loc\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%B: fichier mmo invalide: attendu z = 1 ou z = 2, obtenu z = %d pour lop_loc\n"
-#: mmo.c:1657
+#: mmo.c:1736
#, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%s: fichier mmo invalide: attendu z = 1 ou z = 2, obtenu z = %d pour lop_fixo\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%B: fichier mmo invalide: attendu z = 1 ou z = 2, obtenu z = %d pour lop_fixo\n"
-#: mmo.c:1696
+#: mmo.c:1777
#, c-format
-msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
-msgstr "%s: fichier mmo invalide: attendu y = 0, obtenu y = %d pour lop_fixrx\n"
+msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%B: fichier mmo invalide: attendu y = 0, obtenu y = %d pour lop_fixrx\n"
-#: mmo.c:1705
+#: mmo.c:1788
#, c-format
-msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
-msgstr "%s: fichier mmo invalide: attendu z = 16 ou z = 24, obtenu z = %d pour lop_fixrx\n"
+msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%B: fichier mmo invalide: attendu z = 16 ou z = 24, obtenu z = %d pour lop_fixrx\n"
-#: mmo.c:1728
+#: mmo.c:1813
#, c-format
-msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
-msgstr "%s: fichier mmo invalide: octet de tête du mot de l'opérande doit être 0 ou 1, obtenu %d pour lop_fixrx\n"
+msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%B: fichier mmo invalide: octet de tête du mot de l'opérande doit être 0 ou 1, obtenu %d pour lop_fixrx\n"
-#: mmo.c:1751
+#: mmo.c:1838
#, c-format
-msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
-msgstr "%s: ne paut pas allouer un nom de ficheir pour le no. de fichier %d, %d octets\n"
+msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%B: ne paut pas allouer un nom de ficheir pour le no. de fichier %d, %d octets\n"
-#: mmo.c:1771
+#: mmo.c:1860
#, c-format
-msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%s: fichier mmo invalide: no. de fichier %d «%s», a déjà été entré en tant que «%s»\n"
+msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%B: fichier mmo invalide: no. de fichier %d « %s », a déjà été entré en tant que « %s »\n"
-#: mmo.c:1784
+#: mmo.c:1874
#, c-format
-msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
-msgstr "%s: fichier mmo invalide: nom de fichier %d n'a pas été spécifié avant son utilisation\n"
+msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%B: fichier mmo invalide: nom de fichier %d n'a pas été spécifié avant son utilisation\n"
-#: mmo.c:1890
+#: mmo.c:1981
#, c-format
-msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
-msgstr "%s: fichier mmo invalide: champs y et z de lop_stab non nul, y: %d, z: %d\n"
+msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%B: fichier mmo invalide: champs y et z de lop_stab non nul, y: %d, z: %d\n"
-#: mmo.c:1926
+#: mmo.c:2018
#, c-format
-msgid "%s: invalid mmo file: lop_end not last item in file\n"
-msgstr "%s: fichier mmo invalide: lop_end n'est pas le dernier élement dans le fichier\n"
+msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgstr "%B: fichier mmo invalide: lop_end n'est pas le dernier élement dans le fichier\n"
-#: mmo.c:1939
+#: mmo.c:2032
#, c-format
-msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
-msgstr "%s: fichier mmo invalide: YZ de lop_end (%ld) n'est pas égal au nombre de tetras du lop_stab précédent (%ld)\n"
+msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%B: fichier mmo invalide: YZ de lop_end (%ld) n'est pas égal au nombre de tetras du lop_stab précédent (%ld)\n"
-#: mmo.c:2649
+#: mmo.c:2743
#, c-format
-msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%s: table de symboles invalide: symbole «%s» dupliqué\n"
+msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%B: table de symboles invalide: symbole « %s » dupliqué\n"
-#: mmo.c:2889
+#: mmo.c:2986
#, c-format
-msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%s: Définition de symbole erronée: «Main» initialisé à %s au lieu de l'adresse de départ %s\n"
+msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%B: Définition de symbole erronée: « Main » initialisé à %s au lieu de l'adresse de départ %s\n"
-#: mmo.c:2981
+#: mmo.c:3085
#, c-format
-msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
-msgstr "%s: attention: table de symboles trop grande pour mmo, plus grande que 65535 mots de 32 bits: %d. Seul «Main» sera produit.\n"
+msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
+msgstr "%B: attention: table de symboles trop grande pour mmo, plus grande que 65535 mots de 32 bits: %d. Seul « Main » sera produit.\n"
-#: mmo.c:3026
+#: mmo.c:3131
#, c-format
-msgid "%s: internal error, symbol table changed size from %d to %d words\n"
-msgstr "%s: erreur interne, table de symbole a changé de taille de %d à %d mots\n"
+msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%B: erreur interne, table de symbole a changé de taille de %d à %d mots\n"
-#: mmo.c:3078
+#: mmo.c:3184
#, c-format
-msgid "%s: internal error, internal register section %s had contents\n"
-msgstr "%s: erreur interne, registre interne de section %s contient quelque chose\n"
+msgid "%B: internal error, internal register section %A had contents\n"
+msgstr "%B: erreur interne, registre interne de section %A contient quelque chose\n"
-#: mmo.c:3129
-#, c-format
-msgid "%s: no initialized registers; section length 0\n"
-msgstr "%s: pas de registre initialisé; section de longeur 0\n"
+#: mmo.c:3235
+msgid "%B: no initialized registers; section length 0\n"
+msgstr "%B: pas de registre initialisé; section de longueur 0\n"
-#: mmo.c:3135
+#: mmo.c:3242
#, c-format
-msgid "%s: too many initialized registers; section length %ld\n"
-msgstr "%s: trop de resigstres initialisés; longueur de section %ld\n"
+msgid "%B: too many initialized registers; section length %ld\n"
+msgstr "%B: trop de registres initialisés; longueur de section %ld\n"
-#: mmo.c:3140
+#: mmo.c:3247
#, c-format
-msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%s: adresse de départ invalide pour des registres initialisés de longueur %ld: 0x%lx%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
+msgstr "%B: adresse de départ invalide pour des registres initialisés de longueur %ld: 0x%lx%08lx\n"
-#: oasys.c:882
+#: oasys.c:881
#, c-format
-msgid "%s: can not represent section `%s' in oasys"
-msgstr "%s: ne peut représenter la section «%s» dans oasys"
+msgid "%B: can not represent section `%A' in oasys"
+msgstr "%B: ne peut représenter la section « %A » dans oasys"
-#: osf-core.c:140
+#: osf-core.c:127
#, c-format
msgid "Unhandled OSF/1 core file section type %d\n"
msgstr "Type de section de fichier core OSF/1 %d non traité\n"
-#: pe-mips.c:607
+#: pe-mips.c:609
msgid "%B: `ld -r' not supported with PE MIPS objects\n"
-msgstr "%B: «ld -r» non supporté avec les objets PE MIPS\n"
+msgstr "%B: « ld -r » non supporté avec les objets PE MIPS\n"
#. OK, at this point the following variables are set up:
#. src = VMA of the memory we're fixing up
#. mem = pointer to memory we're fixing up
#. val = VMA of what we need to refer to.
-#: pe-mips.c:719
+#: pe-mips.c:720
+#, c-format
msgid "%B: unimplemented %s\n"
msgstr "%B: non implanté %s\n"
-#: pe-mips.c:745
+#: pe-mips.c:746
msgid "%B: jump too far away\n"
msgstr "%B: le saut va trop loin\n"
-#: pe-mips.c:771
+#: pe-mips.c:772
msgid "%B: bad pair/reflo after refhi\n"
msgstr "%B: pairage erronée pair/reflo après refhi\n"
-#: pef.c:520
+#: pef.c:526
#, c-format
msgid "bfd_pef_scan: unknown architecture 0x%lx"
msgstr "bfd_pef_scan: architecture 0x%lx inconnue"
-#: pei-x86_64.c:444
+#. PR 17512: file: 2245-7442-0.004.
+#: pei-x86_64.c:281
+#, c-format
+msgid "Unknown: %x"
+msgstr "Inconnu: %x"
+
+#: pei-x86_64.c:331
+#, c-format
+msgid "warning: xdata section corrupt\n"
+msgstr "attention: section xdata corrompue\n"
+
+#: pei-x86_64.c:341
+#, c-format
+msgid "warning: xdata section corrupt"
+msgstr "attention: section xdata corrompue"
+
+#: pei-x86_64.c:401
+#, c-format
+msgid "Too many unwind codes (%ld)\n"
+msgstr "Trop de codes de déroulages (%ld)\n"
+
+#: pei-x86_64.c:491
#, c-format
-msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
-msgstr "attention, taille de la section .pdata (%ld) n'est pas un multiple de %d\n"
+msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
+msgstr "Attention: la taille de la section %s (%ld) n'est pas un multiple de %d\n"
-#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
-#: pex64igen.c:1618 pex64igen.c:1801
+#: pei-x86_64.c:498
+#, c-format
+msgid "Warning: %s section size is zero\n"
+msgstr "Attention: la taille de la section %s est nulle\n"
+
+#: pei-x86_64.c:513
+#, c-format
+msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
+msgstr "Attention: la taille de la section %s (%ld) est plus petite que la taille virtuelle (%ld)\n"
+
+#: pei-x86_64.c:522
#, c-format
msgid ""
"\n"
-"The Function Table (interpreted .pdata section contents)\n"
+"The Function Table (interpreted %s section contents)\n"
msgstr ""
"\n"
-"La table de fonctions (interprétation du contenu de la section .pdata)\n"
+"La table de fonctions (interprétation du contenu de la section %s)\n"
-#: pei-x86_64.c:450
+#: pei-x86_64.c:525
#, c-format
msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n"
msgstr " vma:\t\t\tAdresse Début\t Adresse Fin\t Unwind Info\n"
+#: pei-x86_64.c:654
+#, c-format
+msgid ""
+"\n"
+"Dump of %s\n"
+msgstr ""
+"\n"
+"Vidange de %s\n"
+
#. XXX code yet to be written.
-#: peicode.h:751
+#: peicode.h:775
+#, c-format
msgid "%B: Unhandled import type; %x"
msgstr "%B: type d'importation non traitée; %x"
-#: peicode.h:756
+#: peicode.h:781
+#, c-format
msgid "%B: Unrecognised import type; %x"
msgstr "%B: type d'importation non reconnu; %x"
-#: peicode.h:770
+#: peicode.h:796
+#, c-format
msgid "%B: Unrecognised import name type; %x"
msgstr "%B: type de nom d'importation non reconnu: %x"
-#: peicode.h:1166
+#: peicode.h:1217
+#, c-format
msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
msgstr "%B: type de machine non reconnu (0x%x) dans l'archive de librairie de formats d'importation"
-#: peicode.h:1178
+#: peicode.h:1230
+#, c-format
msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
msgstr "%B: type de machine reconnue mais non traitée (0x%x) dans l'archive da la librairie de formats d'importation"
-#: peicode.h:1196
+#: peicode.h:1248
msgid "%B: size field is zero in Import Library Format header"
msgstr "%B: taille du champ est zéro dans l'en-tête de la librairie de formats d'importation"
-#: peicode.h:1227
+#: peicode.h:1280
msgid "%B: string not null terminated in ILF object file."
msgstr "%B: chaîne n'est pas terminée par un zéro dans le fichier objet ILF."
-#: ppcboot.c:414
+#: peicode.h:1333
+msgid "%B: Error: Debug Data ends beyond end of debug directory."
+msgstr "%B: Erreur: Les données de débogage s'arrêtent après la fin du répertoire de débogage."
+
+#: ppcboot.c:393
#, c-format
msgid ""
"\n"
@@ -3739,27 +5767,27 @@ msgstr ""
"\n"
"En-têtes ppcboot:\n"
-#: ppcboot.c:415
+#: ppcboot.c:394
#, c-format
msgid "Entry offset = 0x%.8lx (%ld)\n"
msgstr "Décalage de l'entrée= 0x%.8lx (%ld)\n"
-#: ppcboot.c:417
+#: ppcboot.c:396
#, c-format
msgid "Length = 0x%.8lx (%ld)\n"
msgstr "Longueur = 0x%.8lx (%ld)\n"
-#: ppcboot.c:421
+#: ppcboot.c:400
#, c-format
msgid "Flag field = 0x%.2x\n"
msgstr "Champ de fanion = 0x%.2x\n"
-#: ppcboot.c:427
+#: ppcboot.c:406
#, c-format
msgid "Partition name = \"%s\"\n"
-msgstr "Nom de partition = «%s»\n"
+msgstr "Nom de partition = « %s »\n"
-#: ppcboot.c:446
+#: ppcboot.c:426
#, c-format
msgid ""
"\n"
@@ -3768,31 +5796,45 @@ msgstr ""
"\n"
"Début de partition[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
-#: ppcboot.c:452
+#: ppcboot.c:433
#, c-format
msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
msgstr "Fin de la partition[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
-#: ppcboot.c:458
+#: ppcboot.c:440
#, c-format
msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
msgstr "Secteur de la partition[%d] = 0x%.8lx (%ld)\n"
-#: ppcboot.c:460
+#: ppcboot.c:444
#, c-format
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr "Longueur de la partition[%d] = 0x%.8lx (%ld)\n"
-#: reloc.c:6160
+#: reloc.c:8064
msgid "INPUT_SECTION_FLAGS are not supported.\n"
msgstr "INPUT_SECTION_FLAGS pas supportés.\n"
-#: rs6000-core.c:448
+#: reloc.c:8165
#, c-format
-msgid "%s: warning core file truncated"
-msgstr "%s: fichier core d'avertissement tronqué"
+msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %B(%A): erreur: le réadressage pour le décalage %V n'a pas de valeur\n"
-#: som.c:5471
+#: reloc.c:8241
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgstr "%X%P: %B(%A): le réadressage « %R » n'est pas supporté\n"
+
+#: reloc.c:8250
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgstr "%X%P: %B(%A): le réadressage « %R » retourne une valeur %x non reconnue\n"
+
+#: rs6000-core.c:471
+msgid "%B: warning core file truncated"
+msgstr "%B: fichier core d'avertissement tronqué"
+
+#: som.c:5478
#, c-format
msgid ""
"\n"
@@ -3801,19 +5843,27 @@ msgstr ""
"\n"
"En-tête auxiliaire de l'exec\n"
-#: som.c:5776
+#: som.c:5787
msgid "som_sizeof_headers unimplemented"
msgstr "som_sizeof_headers non implémenté"
-#: srec.c:261
+#: srec.c:260
+#, c-format
msgid "%B:%d: Unexpected character `%s' in S-record file\n"
-msgstr "%B:%d: caractère inattendu «%s» dans le fichier S-record\n"
+msgstr "%B:%d: caractère inattendu « %s » dans le fichier S-record\n"
-#: srec.c:567 srec.c:600
+#: srec.c:488
+#, c-format
+msgid "%B:%d: byte count %d too small\n"
+msgstr "%B:%d: nombre d'octets %d trop petit\n"
+
+#: srec.c:581 srec.c:615
+#, c-format
msgid "%B:%d: Bad checksum in S-record file\n"
msgstr "%B:%d: Mauvaise somme de contrôle dans le fichier S-record\n"
#: stabs.c:279
+#, c-format
msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
msgstr "%B(%A+0x%lx): Entrée des ébauches a un indexe de chaîne invalide"
@@ -3821,32 +5871,60 @@ msgstr "%B(%A+0x%lx): Entrée des ébauches a un indexe de chaîne invalide"
msgid "Unsupported .stab relocation"
msgstr "Réadressage du .stab non supporté"
-#: vms-alpha.c:1299
+#: vms-alpha.c:652
+#, c-format
+msgid "Unable to read EIHS record at offset %#x"
+msgstr "Impossible de lire l'enregistrement EIHS à l'offset %#x"
+
+#: vms-alpha.c:1164
+#, c-format
+msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgstr "Enregistrement EGSD corrompu: sa taille (%#x) est trop petite"
+
+#: vms-alpha.c:1188
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Enregistrement EGSD corrompu: la taille (%#x) est plus grande que l'espace restant (%#x)"
+
+#: vms-alpha.c:1196
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is too small"
+msgstr "Enregistrement EGSD corrompu: la taille (%#x) est trop petite"
+
+#: vms-alpha.c:1380
#, c-format
msgid "Unknown EGSD subtype %d"
msgstr "Sous type EGSD %d inconnu"
-#: vms-alpha.c:1330
+#: vms-alpha.c:1413
#, c-format
msgid "Stack overflow (%d) in _bfd_vms_push"
msgstr "Débordement de la pile (%d) dans _bfd_vms_push"
-#: vms-alpha.c:1343
+#: vms-alpha.c:1426
msgid "Stack underflow in _bfd_vms_pop"
msgstr "Sous dépilage de la pile dans _bfd_vms_pop"
#. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1580
+#: vms-alpha.c:1665
#, c-format
msgid "unknown ETIR command %d"
msgstr "commande ETIR %d inconnue"
-#: vms-alpha.c:1767
+#: vms-alpha.c:1696
+msgid "Corrupt vms value"
+msgstr "Valeur vms corrompue"
+
+#: vms-alpha.c:1824
+msgid "Corrupt ETIR record encountered"
+msgstr "Enregistrement ETIR corrompu rencontré"
+
+#: vms-alpha.c:1881
#, c-format
msgid "bad section index in %s"
msgstr "index de section erronée dans %s"
-#: vms-alpha.c:1780
+#: vms-alpha.c:1894
#, c-format
msgid "unsupported STA cmd %s"
msgstr "commande STA %s non supportée"
@@ -3856,1393 +5934,1463 @@ msgstr "commande STA %s non supportée"
#. Rotate.
#. Redefine symbol to current location.
#. Define a literal.
-#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#: vms-alpha.c:2074 vms-alpha.c:2105 vms-alpha.c:2196 vms-alpha.c:2354
#, c-format
msgid "%s: not supported"
msgstr "%s: pas supporté"
-#: vms-alpha.c:1962
+#: vms-alpha.c:2080
#, c-format
msgid "%s: not implemented"
msgstr "%s: non implémenté"
-#: vms-alpha.c:2218
+#: vms-alpha.c:2338
#, c-format
msgid "invalid use of %s with contexts"
msgstr "utilisation incorrecte de %s avec des contextes"
-#: vms-alpha.c:2252
+#: vms-alpha.c:2372
#, c-format
msgid "reserved cmd %d"
msgstr "commande %d réservée"
-#: vms-alpha.c:2337
+#: vms-alpha.c:2457
msgid "Object module NOT error-free !\n"
msgstr "Module objet N'EST PAS sans erreur !\n"
-#: vms-alpha.c:2766
-#, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Symbole %s remplacé par %s\n"
-
-#: vms-alpha.c:3769
+#: vms-alpha.c:3778
#, c-format
-msgid "SEC_RELOC with no relocs in section %s"
-msgstr "SEC_RELOC sans relocalisation dans la section %s"
+msgid "SEC_RELOC with no relocs in section %A"
+msgstr "SEC_RELOC sans réadressages dans la section %A"
-#: vms-alpha.c:3822 vms-alpha.c:4049
+#: vms-alpha.c:3830 vms-alpha.c:4043
#, c-format
-msgid "Size error in section %s"
-msgstr "Erreur de taille dans la section %s"
+msgid "Size error in section %A"
+msgstr "Erreur de taille dans la section %A"
-#: vms-alpha.c:3991
+#: vms-alpha.c:3989
msgid "Spurious ALPHA_R_BSR reloc"
-msgstr "Relocalisation ALPHA_R_BSR parasite"
+msgstr "Réadressages ALPHA_R_BSR parasite"
-#: vms-alpha.c:4036
+#: vms-alpha.c:4030
#, c-format
msgid "Unhandled relocation %s"
msgstr "Réadressage %s non traité"
-#: vms-alpha.c:4326
+#: vms-alpha.c:4323
#, c-format
msgid "unknown source command %d"
msgstr "commande source %d inconnue"
-#: vms-alpha.c:4387
+#: vms-alpha.c:4384
msgid "DST__K_SET_LINUM_INCR not implemented"
msgstr "DST__K_SET_LINUM_INCR pas implémenté"
-#: vms-alpha.c:4393
+#: vms-alpha.c:4390
msgid "DST__K_SET_LINUM_INCR_W not implemented"
msgstr "DST__K_SET_LINUM_INCR_W pas implémenté"
-#: vms-alpha.c:4399
+#: vms-alpha.c:4396
msgid "DST__K_RESET_LINUM_INCR not implemented"
msgstr "DST__K_RESET_LINUM_INCR pas implémenté"
-#: vms-alpha.c:4405
+#: vms-alpha.c:4402
msgid "DST__K_BEG_STMT_MODE not implemented"
msgstr "DST__K_BEG_STMT_MODE pas implémenté"
-#: vms-alpha.c:4411
+#: vms-alpha.c:4408
msgid "DST__K_END_STMT_MODE not implemented"
msgstr "DST__K_END_STMT_MODE pas implémenté"
-#: vms-alpha.c:4438
+#: vms-alpha.c:4435
msgid "DST__K_SET_PC not implemented"
msgstr "DST__K_SET_PC pas implémenté"
-#: vms-alpha.c:4444
+#: vms-alpha.c:4441
msgid "DST__K_SET_PC_W not implemented"
msgstr "DST__K_SET_PC_W pas implémenté"
-#: vms-alpha.c:4450
+#: vms-alpha.c:4447
msgid "DST__K_SET_PC_L not implemented"
msgstr "DST__K_SET_PC_L pas implémenté"
-#: vms-alpha.c:4456
+#: vms-alpha.c:4453
msgid "DST__K_SET_STMTNUM not implemented"
msgstr "DST__K_SET_STMTNUM pas implémenté"
-#: vms-alpha.c:4499
+#: vms-alpha.c:4496
#, c-format
msgid "unknown line command %d"
msgstr "commande de ligne %d inconnue"
-#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
-#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#: vms-alpha.c:4956 vms-alpha.c:4974 vms-alpha.c:4989 vms-alpha.c:5005
+#: vms-alpha.c:5018 vms-alpha.c:5030 vms-alpha.c:5043
#, c-format
msgid "Unknown reloc %s + %s"
-msgstr "Relocalisation %s + %s inconnue"
+msgstr "Réadressage %s + %s inconnu"
-#: vms-alpha.c:5089
+#: vms-alpha.c:5098
#, c-format
msgid "Unknown reloc %s"
-msgstr "Relocalisation %s inconnue"
+msgstr "Réadressage %s inconnu"
-#: vms-alpha.c:5102
+#: vms-alpha.c:5111
msgid "Invalid section index in ETIR"
msgstr "Index de section incorrect dans ETIR"
-#: vms-alpha.c:5109
+#: vms-alpha.c:5120
msgid "Relocation for non-REL psect"
msgstr "Réadressage pour psect non-REL"
-#: vms-alpha.c:5156
+#: vms-alpha.c:5167
#, c-format
msgid "Unknown symbol in command %s"
msgstr "Symbole inconnu dans la commande %s"
-#: vms-alpha.c:5671
+#: vms-alpha.c:5577
+#, c-format
+msgid "reloc (%d) is *UNKNOWN*"
+msgstr "le réadressage (%d) est *INCONNU*"
+
+#: vms-alpha.c:5692
#, c-format
msgid " EMH %u (len=%u): "
msgstr " EMH %u (long=%u): "
-#: vms-alpha.c:5680
+#: vms-alpha.c:5697
+#, c-format
+msgid " Error: The length is less than the length of an EMH record\n"
+msgstr " Erreur: La longueur est plus petite que la longueur d'un enregistrement EMH\n"
+
+#: vms-alpha.c:5708
#, c-format
msgid "Module header\n"
msgstr "En-tête module\n"
-#: vms-alpha.c:5681
+#: vms-alpha.c:5709
#, c-format
msgid " structure level: %u\n"
msgstr " niveau de structure: %u\n"
-#: vms-alpha.c:5682
+#: vms-alpha.c:5710
#, c-format
msgid " max record size: %u\n"
msgstr " taille max d'enregistrement: %u\n"
-#: vms-alpha.c:5685
+#: vms-alpha.c:5713
#, c-format
msgid " module name : %.*s\n"
msgstr " nom du module : %.*s\n"
-#: vms-alpha.c:5687
+#: vms-alpha.c:5715
#, c-format
msgid " module version : %.*s\n"
msgstr " version du module : %.*s\n"
-#: vms-alpha.c:5689
+#: vms-alpha.c:5717
#, c-format
msgid " compile date : %.17s\n"
msgstr " date de compilation : %.17s\n"
-#: vms-alpha.c:5694
+#: vms-alpha.c:5722
#, c-format
msgid "Language Processor Name\n"
msgstr "Nom du Processeur de Langage\n"
-#: vms-alpha.c:5695
+#: vms-alpha.c:5723
#, c-format
msgid " language name: %.*s\n"
msgstr " nom du language: %.*s\n"
-#: vms-alpha.c:5702
+#: vms-alpha.c:5730
#, c-format
msgid "Source Files Header\n"
msgstr "En-tête des fichiers sources\n"
-#: vms-alpha.c:5703
+#: vms-alpha.c:5731
#, c-format
msgid " file: %.*s\n"
msgstr " fichier: %.*s\n"
-#: vms-alpha.c:5710
+#: vms-alpha.c:5738
#, c-format
msgid "Title Text Header\n"
msgstr "En-tête du texte du titre\n"
-#: vms-alpha.c:5711
+#: vms-alpha.c:5739
#, c-format
msgid " title: %.*s\n"
msgstr " titre: %.*s\n"
-#: vms-alpha.c:5718
+#: vms-alpha.c:5746
#, c-format
msgid "Copyright Header\n"
msgstr "En-tête du copyright\n"
-#: vms-alpha.c:5719
+#: vms-alpha.c:5747
#, c-format
msgid " copyright: %.*s\n"
msgstr " copyright: %.*s\n"
-#: vms-alpha.c:5725
+#: vms-alpha.c:5753
#, c-format
msgid "unhandled emh subtype %u\n"
msgstr "sous-type emh %u non pris en charge\n"
-#: vms-alpha.c:5735
+#: vms-alpha.c:5763
#, c-format
msgid " EEOM (len=%u):\n"
msgstr " EEOM (long=%u):\n"
-#: vms-alpha.c:5736
+#: vms-alpha.c:5768
+#, c-format
+msgid " Error: The length is less than the length of an EEOM record\n"
+msgstr " Erreur: La longueur est plus petite que la longueur d'un enregistrement EEOM\n"
+
+#: vms-alpha.c:5772
#, c-format
msgid " number of cond linkage pairs: %u\n"
msgstr " nombre de paires de liaisons cond: %u\n"
-#: vms-alpha.c:5738
+#: vms-alpha.c:5774
#, c-format
msgid " completion code: %u\n"
msgstr " code de complétion: %u\n"
-#: vms-alpha.c:5742
+#: vms-alpha.c:5778
#, c-format
msgid " transfer addr flags: 0x%02x\n"
msgstr " fanions de transfert d'adr: 0x%02x\n"
-#: vms-alpha.c:5743
+#: vms-alpha.c:5779
#, c-format
msgid " transfer addr psect: %u\n"
msgstr " psect transert adr: %u\n"
-#: vms-alpha.c:5745
+#: vms-alpha.c:5781
#, c-format
msgid " transfer address : 0x%08x\n"
msgstr " adresse de transert: 0x%08x\n"
-#: vms-alpha.c:5754
+#: vms-alpha.c:5790
msgid " WEAK"
msgstr " FAIBLE"
-#: vms-alpha.c:5756
+#: vms-alpha.c:5792
msgid " DEF"
msgstr " DEF"
-#: vms-alpha.c:5758
+#: vms-alpha.c:5794
msgid " UNI"
msgstr " UNI"
-#: vms-alpha.c:5760 vms-alpha.c:5781
+#: vms-alpha.c:5796 vms-alpha.c:5817
msgid " REL"
msgstr " REL"
-#: vms-alpha.c:5762
+#: vms-alpha.c:5798
msgid " COMM"
msgstr " COMM"
-#: vms-alpha.c:5764
+#: vms-alpha.c:5800
msgid " VECEP"
msgstr " VECEP"
-#: vms-alpha.c:5766
+#: vms-alpha.c:5802
msgid " NORM"
msgstr " NORM"
-#: vms-alpha.c:5768
+#: vms-alpha.c:5804
msgid " QVAL"
msgstr " QVAL"
-#: vms-alpha.c:5775
+#: vms-alpha.c:5811
msgid " PIC"
msgstr " PIC"
-#: vms-alpha.c:5777
+#: vms-alpha.c:5813
msgid " LIB"
msgstr " LIB"
-#: vms-alpha.c:5779
+#: vms-alpha.c:5815
msgid " OVR"
msgstr " OVR"
-#: vms-alpha.c:5783
+#: vms-alpha.c:5819
msgid " GBL"
msgstr " GBL"
-#: vms-alpha.c:5785
+#: vms-alpha.c:5821
msgid " SHR"
msgstr " SHR"
-#: vms-alpha.c:5787
+#: vms-alpha.c:5823
msgid " EXE"
msgstr " EXE"
-#: vms-alpha.c:5789
+#: vms-alpha.c:5825
msgid " RD"
msgstr " RD"
-#: vms-alpha.c:5791
+#: vms-alpha.c:5827
msgid " WRT"
msgstr " WRT"
-#: vms-alpha.c:5793
+#: vms-alpha.c:5829
msgid " VEC"
msgstr " VEC"
-#: vms-alpha.c:5795
+#: vms-alpha.c:5831
msgid " NOMOD"
msgstr " NOMOD"
-#: vms-alpha.c:5797
+#: vms-alpha.c:5833
msgid " COM"
msgstr " COM"
-#: vms-alpha.c:5799
+#: vms-alpha.c:5835
msgid " 64B"
msgstr " 64B"
-#: vms-alpha.c:5808
+#: vms-alpha.c:5844
#, c-format
msgid " EGSD (len=%u):\n"
msgstr " EGSD (long=%u):\n"
-#: vms-alpha.c:5820
+#: vms-alpha.c:5857
#, c-format
msgid " EGSD entry %2u (type: %u, len: %u): "
msgstr " entrée EGSD %2u (type: %u, long: %u): "
-#: vms-alpha.c:5832
+#: vms-alpha.c:5863 vms-alpha.c:6114
+#, c-format
+msgid " Error: length larger than remaining space in record\n"
+msgstr " Erreur: longueur plus grande que l'espace restant dans l'enregistrement\n"
+
+#: vms-alpha.c:5875
#, c-format
msgid "PSC - Program section definition\n"
msgstr "PSC - Définition de section du programme\n"
-#: vms-alpha.c:5833 vms-alpha.c:5850
+#: vms-alpha.c:5876 vms-alpha.c:5893
#, c-format
msgid " alignment : 2**%u\n"
msgstr " alignement : 2**%u\n"
-#: vms-alpha.c:5834 vms-alpha.c:5851
+#: vms-alpha.c:5877 vms-alpha.c:5894
#, c-format
msgid " flags : 0x%04x"
msgstr " fanions : 0x%04x"
-#: vms-alpha.c:5838
+#: vms-alpha.c:5881
#, c-format
msgid " alloc (len): %u (0x%08x)\n"
msgstr " alloc (long): %u (0x%08x)\n"
-#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#: vms-alpha.c:5882 vms-alpha.c:5939 vms-alpha.c:5988
#, c-format
msgid " name : %.*s\n"
msgstr " nom : %.*s\n"
-#: vms-alpha.c:5849
+#: vms-alpha.c:5892
#, c-format
msgid "SPSC - Shared Image Program section def\n"
msgstr "SPSC - Def de section de l'image partagée du programme\n"
-#: vms-alpha.c:5855
+#: vms-alpha.c:5898
#, c-format
msgid " alloc (len) : %u (0x%08x)\n"
msgstr " alloc (long) : %u (0x%08x)\n"
-#: vms-alpha.c:5856
+#: vms-alpha.c:5899
#, c-format
msgid " image offset : 0x%08x\n"
msgstr " offset d'image: 0x%08x\n"
-#: vms-alpha.c:5858
+#: vms-alpha.c:5901
#, c-format
msgid " symvec offset : 0x%08x\n"
msgstr " offset symvec : 0x%08x\n"
-#: vms-alpha.c:5860
+#: vms-alpha.c:5903
#, c-format
msgid " name : %.*s\n"
msgstr " nom : %.*s\n"
-#: vms-alpha.c:5873
+#: vms-alpha.c:5916
#, c-format
msgid "SYM - Global symbol definition\n"
msgstr "SYM - Définition du symbol global\n"
-#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#: vms-alpha.c:5917 vms-alpha.c:5977 vms-alpha.c:5998 vms-alpha.c:6017
#, c-format
msgid " flags: 0x%04x"
msgstr " fanions: 0x%04x"
-#: vms-alpha.c:5877
+#: vms-alpha.c:5920
#, c-format
msgid " psect offset: 0x%08x\n"
msgstr " offset psect: 0x%08x\n"
-#: vms-alpha.c:5881
+#: vms-alpha.c:5924
#, c-format
msgid " code address: 0x%08x\n"
msgstr " adresse code: 0x%08x\n"
-#: vms-alpha.c:5883
+#: vms-alpha.c:5926
#, c-format
msgid " psect index for entry point : %u\n"
msgstr " index psect pour point d'entrée: %u\n"
-#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#: vms-alpha.c:5929 vms-alpha.c:6005 vms-alpha.c:6024
#, c-format
msgid " psect index : %u\n"
msgstr " index psect : %u\n"
-#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#: vms-alpha.c:5931 vms-alpha.c:6007 vms-alpha.c:6026
#, c-format
msgid " name : %.*s\n"
msgstr " nom : %.*s\n"
-#: vms-alpha.c:5895
+#: vms-alpha.c:5938
#, c-format
msgid "SYM - Global symbol reference\n"
msgstr "SYM - Référence du symbol globaux\n"
-#: vms-alpha.c:5907
+#: vms-alpha.c:5950
#, c-format
msgid "IDC - Ident Consistency check\n"
msgstr "IDC - Vérification de la consistance d'identité\n"
-#: vms-alpha.c:5908
+#: vms-alpha.c:5951
#, c-format
msgid " flags : 0x%08x"
msgstr " fanions : 0x%08x"
-#: vms-alpha.c:5912
+#: vms-alpha.c:5955
#, c-format
msgid " id match : %x\n"
msgstr " correspondance id : %x\n"
-#: vms-alpha.c:5914
+#: vms-alpha.c:5957
#, c-format
msgid " error severity: %x\n"
msgstr " sévérité d'erreur: %x\n"
-#: vms-alpha.c:5917
+#: vms-alpha.c:5960
#, c-format
msgid " entity name : %.*s\n"
msgstr " nom d'entité : %.*s\n"
-#: vms-alpha.c:5919
+#: vms-alpha.c:5962
#, c-format
msgid " object name : %.*s\n"
msgstr " nom d'objet : %.*s\n"
-#: vms-alpha.c:5922
+#: vms-alpha.c:5965
#, c-format
msgid " binary ident : 0x%08x\n"
msgstr " ident binaire : 0x%08x\n"
-#: vms-alpha.c:5925
+#: vms-alpha.c:5968
#, c-format
msgid " ascii ident : %.*s\n"
msgstr " ident ascii : %.*s\n"
-#: vms-alpha.c:5933
+#: vms-alpha.c:5976
#, c-format
msgid "SYMG - Universal symbol definition\n"
msgstr "SYMG - Définition de symbole universel\n"
-#: vms-alpha.c:5937
+#: vms-alpha.c:5980
#, c-format
msgid " symbol vector offset: 0x%08x\n"
msgstr " offset vecteur symbole: 0x%08x\n"
-#: vms-alpha.c:5939
+#: vms-alpha.c:5982
#, c-format
msgid " entry point: 0x%08x\n"
msgstr " point d'entrée: 0x%08x\n"
-#: vms-alpha.c:5941
+#: vms-alpha.c:5984
#, c-format
msgid " proc descr : 0x%08x\n"
msgstr " descr proc : 0x%08x\n"
-#: vms-alpha.c:5943
+#: vms-alpha.c:5986
#, c-format
msgid " psect index: %u\n"
msgstr " index psect: %u\n"
-#: vms-alpha.c:5954
+#: vms-alpha.c:5997
#, c-format
msgid "SYMV - Vectored symbol definition\n"
msgstr "SYMV - Définition symbole vectorisé\n"
-#: vms-alpha.c:5958
+#: vms-alpha.c:6001
#, c-format
msgid " vector : 0x%08x\n"
msgstr " vecteur : 0x%08x\n"
-#: vms-alpha.c:5960 vms-alpha.c:5979
+#: vms-alpha.c:6003 vms-alpha.c:6022
#, c-format
msgid " psect offset: %u\n"
msgstr " offset psect: %u\n"
-#: vms-alpha.c:5973
+#: vms-alpha.c:6016
#, c-format
msgid "SYMM - Global symbol definition with version\n"
msgstr "SYMM - Définition de symbole globale avec version\n"
-#: vms-alpha.c:5977
+#: vms-alpha.c:6020
#, c-format
msgid " version mask: 0x%08x\n"
msgstr " masque de version: 0x%08x\n"
-#: vms-alpha.c:5988
+#: vms-alpha.c:6031
#, c-format
msgid "unhandled egsd entry type %u\n"
msgstr "type d'entrée egsd %u non supporté\n"
-#: vms-alpha.c:6022
+#: vms-alpha.c:6066
#, c-format
msgid " linkage index: %u, replacement insn: 0x%08x\n"
msgstr " index de liaison: %u, instruction de remplacement: 0x%08x\n"
-#: vms-alpha.c:6025
+#: vms-alpha.c:6070
#, c-format
msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
msgstr " index psect 1: %u, offset 1: 0x%08x %08x\n"
-#: vms-alpha.c:6029
+#: vms-alpha.c:6075
#, c-format
msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
msgstr " index psect 2: %u, offset 2: 0x%08x %08x\n"
-#: vms-alpha.c:6034
+#: vms-alpha.c:6081
#, c-format
msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
msgstr " index psect 3: %u, offset 3: 0x%08x %08x\n"
-#: vms-alpha.c:6039
+#: vms-alpha.c:6086
#, c-format
msgid " global name: %.*s\n"
msgstr " nom global: %.*s\n"
-#: vms-alpha.c:6049
+#: vms-alpha.c:6097
#, c-format
msgid " %s (len=%u+%u):\n"
msgstr " %s (long=%u+%u):\n"
-#: vms-alpha.c:6064
+#: vms-alpha.c:6119
#, c-format
msgid " (type: %3u, size: 4+%3u): "
msgstr " (type: %3u, taille: 4+%3u): "
-#: vms-alpha.c:6068
+#: vms-alpha.c:6123
#, c-format
msgid "STA_GBL (stack global) %.*s\n"
msgstr "STA_GBL (pile globals) %.*s\n"
-#: vms-alpha.c:6072
+#: vms-alpha.c:6127
#, c-format
msgid "STA_LW (stack longword) 0x%08x\n"
msgstr "STA_LW (pile mot long) 0x%08x\n"
-#: vms-alpha.c:6076
+#: vms-alpha.c:6131
#, c-format
msgid "STA_QW (stack quadword) 0x%08x %08x\n"
msgstr "STA_QW (pile quad mot) 0x%08x %08x\n"
-#: vms-alpha.c:6081
+#: vms-alpha.c:6136
#, c-format
msgid "STA_PQ (stack psect base + offset)\n"
msgstr "STA_PQ (base pile psect + offset)\n"
-#: vms-alpha.c:6082
+#: vms-alpha.c:6138
#, c-format
msgid " psect: %u, offset: 0x%08x %08x\n"
msgstr " psect: %u, offset: 0x%08x %08x\n"
-#: vms-alpha.c:6088
+#: vms-alpha.c:6144
#, c-format
msgid "STA_LI (stack literal)\n"
msgstr "STA_LI (pile literale)\n"
-#: vms-alpha.c:6091
+#: vms-alpha.c:6147
#, c-format
msgid "STA_MOD (stack module)\n"
msgstr "STA_MOD (pile module)\n"
-#: vms-alpha.c:6094
+#: vms-alpha.c:6150
#, c-format
msgid "STA_CKARG (compare procedure argument)\n"
msgstr "STA_CKARG (compare les arguments de la procédure)\n"
-#: vms-alpha.c:6098
+#: vms-alpha.c:6154
#, c-format
msgid "STO_B (store byte)\n"
msgstr "STO_B (stocke octet)\n"
-#: vms-alpha.c:6101
+#: vms-alpha.c:6157
#, c-format
msgid "STO_W (store word)\n"
msgstr "STO_W (stocke mot)\n"
-#: vms-alpha.c:6104
+#: vms-alpha.c:6160
#, c-format
msgid "STO_LW (store longword)\n"
msgstr "STO_LW (stocke mot long)\n"
-#: vms-alpha.c:6107
+#: vms-alpha.c:6163
#, c-format
msgid "STO_QW (store quadword)\n"
msgstr "STO_QW (stocke quad mot)\n"
-#: vms-alpha.c:6113
+#: vms-alpha.c:6169
#, c-format
msgid "STO_IMMR (store immediate repeat) %u bytes\n"
msgstr "STO_IMMR (stock répétition immédiate) %u octets\n"
-#: vms-alpha.c:6120
+#: vms-alpha.c:6176
#, c-format
msgid "STO_GBL (store global) %.*s\n"
msgstr "STO_GBL (stocke globale) %.*s\n"
-#: vms-alpha.c:6124
+#: vms-alpha.c:6180
#, c-format
msgid "STO_CA (store code address) %.*s\n"
msgstr "STO_CA (stock adresse code) %.*s\n"
-#: vms-alpha.c:6128
+#: vms-alpha.c:6184
#, c-format
msgid "STO_RB (store relative branch)\n"
msgstr "STO_RB (stocke branche relative)\n"
-#: vms-alpha.c:6131
+#: vms-alpha.c:6187
#, c-format
msgid "STO_AB (store absolute branch)\n"
msgstr "STO_AB (stocke branche absolue)\n"
-#: vms-alpha.c:6134
+#: vms-alpha.c:6190
#, c-format
msgid "STO_OFF (store offset to psect)\n"
msgstr "STO_OFF (stocke offset de psect)\n"
-#: vms-alpha.c:6140
+#: vms-alpha.c:6196
#, c-format
msgid "STO_IMM (store immediate) %u bytes\n"
msgstr "STO_IMM (stocke immediat) %u octets\n"
-#: vms-alpha.c:6147
+#: vms-alpha.c:6203
#, c-format
msgid "STO_GBL_LW (store global longword) %.*s\n"
msgstr "STO_GBL_LW (stocke mot long global) %.*s\n"
-#: vms-alpha.c:6151
+#: vms-alpha.c:6207
#, c-format
msgid "STO_OFF (store LP with procedure signature)\n"
msgstr "STO_OFF (stocke LP avec la signature de la procédure)\n"
-#: vms-alpha.c:6154
+#: vms-alpha.c:6210
#, c-format
msgid "STO_BR_GBL (store branch global) *todo*\n"
msgstr "STO_BR_GBL (stocke branche globale) *todo*\n"
-#: vms-alpha.c:6157
+#: vms-alpha.c:6213
#, c-format
msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
msgstr "STO_BR_PS (stocke branche psect + offset) *todo*\n"
-#: vms-alpha.c:6161
+#: vms-alpha.c:6217
#, c-format
msgid "OPR_NOP (no-operation)\n"
msgstr "OPR_NOP (pas d'operation)\n"
-#: vms-alpha.c:6164
+#: vms-alpha.c:6220
#, c-format
msgid "OPR_ADD (add)\n"
msgstr "OPR_ADD (ajout)\n"
-#: vms-alpha.c:6167
+#: vms-alpha.c:6223
#, c-format
msgid "OPR_SUB (substract)\n"
msgstr "OPR_SUB (soustraction)\n"
-#: vms-alpha.c:6170
+#: vms-alpha.c:6226
#, c-format
msgid "OPR_MUL (multiply)\n"
msgstr "OPR_MUL (multiplication)\n"
-#: vms-alpha.c:6173
+#: vms-alpha.c:6229
#, c-format
msgid "OPR_DIV (divide)\n"
msgstr "OPR_DIV (division)\n"
-#: vms-alpha.c:6176
+#: vms-alpha.c:6232
#, c-format
msgid "OPR_AND (logical and)\n"
msgstr "OPR_AND (et logique)\n"
-#: vms-alpha.c:6179
+#: vms-alpha.c:6235
#, c-format
msgid "OPR_IOR (logical inclusive or)\n"
msgstr "OPR_IOR (ou inclusif logique)\n"
-#: vms-alpha.c:6182
+#: vms-alpha.c:6238
#, c-format
msgid "OPR_EOR (logical exclusive or)\n"
msgstr "OPR_EOR (ou exclusif logique)\n"
-#: vms-alpha.c:6185
+#: vms-alpha.c:6241
#, c-format
msgid "OPR_NEG (negate)\n"
msgstr "OPR_NEG (négation)\n"
-#: vms-alpha.c:6188
+#: vms-alpha.c:6244
#, c-format
msgid "OPR_COM (complement)\n"
msgstr "OPR_COM (complément)\n"
-#: vms-alpha.c:6191
+#: vms-alpha.c:6247
#, c-format
msgid "OPR_INSV (insert field)\n"
msgstr "OPR_INSV (insertion champ)\n"
-#: vms-alpha.c:6194
+#: vms-alpha.c:6250
#, c-format
msgid "OPR_ASH (arithmetic shift)\n"
msgstr "OPR_ASH (décalage arithmetique)\n"
-#: vms-alpha.c:6197
+#: vms-alpha.c:6253
#, c-format
msgid "OPR_USH (unsigned shift)\n"
msgstr "OPR_USH (décalage non signé)\n"
-#: vms-alpha.c:6200
+#: vms-alpha.c:6256
#, c-format
msgid "OPR_ROT (rotate)\n"
msgstr "OPR_ROT (rotation)\n"
-#: vms-alpha.c:6203
+#: vms-alpha.c:6259
#, c-format
msgid "OPR_SEL (select)\n"
msgstr "OPR_SEL (selection)\n"
-#: vms-alpha.c:6206
+#: vms-alpha.c:6262
#, c-format
msgid "OPR_REDEF (redefine symbol to curr location)\n"
msgstr "OPR_REDEF (redéfini le symbole à la position actuelle)\n"
-#: vms-alpha.c:6209
+#: vms-alpha.c:6265
#, c-format
msgid "OPR_REDEF (define a literal)\n"
msgstr "OPR_REDEF (définir un litéral)\n"
-#: vms-alpha.c:6213
+#: vms-alpha.c:6269
#, c-format
msgid "STC_LP (store cond linkage pair)\n"
msgstr "STC_LP (stocke pair de liaison cond)\n"
-#: vms-alpha.c:6217
+#: vms-alpha.c:6273
#, c-format
msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
msgstr "STC_LP_PSB (stocke pair de liaison cond + signature)\n"
-#: vms-alpha.c:6218
+#: vms-alpha.c:6275
#, c-format
msgid " linkage index: %u, procedure: %.*s\n"
msgstr " index liaison: %u, procédure: %.*s\n"
-#: vms-alpha.c:6221
+#: vms-alpha.c:6278
#, c-format
msgid " signature: %.*s\n"
msgstr " signature: %.*s\n"
-#: vms-alpha.c:6224
+#: vms-alpha.c:6281
#, c-format
msgid "STC_GBL (store cond global)\n"
msgstr "STC_GBL (stocke cond globale)\n"
-#: vms-alpha.c:6225
+#: vms-alpha.c:6283
#, c-format
msgid " linkage index: %u, global: %.*s\n"
msgstr " index liaison: %u, globale: %.*s\n"
-#: vms-alpha.c:6229
+#: vms-alpha.c:6287
#, c-format
msgid "STC_GCA (store cond code address)\n"
msgstr "STC_GCA (stocke adresse code cond)\n"
-#: vms-alpha.c:6230
+#: vms-alpha.c:6289
#, c-format
msgid " linkage index: %u, procedure name: %.*s\n"
msgstr " index liaison: %u, nom procédure: %.*s\n"
-#: vms-alpha.c:6234
+#: vms-alpha.c:6293
#, c-format
msgid "STC_PS (store cond psect + offset)\n"
msgstr "STC_PS (stocke psect cond + offset)\n"
-#: vms-alpha.c:6236
+#: vms-alpha.c:6296
#, c-format
msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
msgstr " index liaison: %u, psect: %u, offset: 0x%08x %08x\n"
-#: vms-alpha.c:6243
+#: vms-alpha.c:6303
#, c-format
msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
msgstr "STC_NOP_GBL (stocke NOP cond à l'adresse globale)\n"
-#: vms-alpha.c:6247
+#: vms-alpha.c:6307
#, c-format
msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
msgstr "STC_NOP_PS (stocke NOP cond à psect + offset)\n"
-#: vms-alpha.c:6251
+#: vms-alpha.c:6311
#, c-format
msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
msgstr "STC_BSR_GBL (stocke BSR cond à l'adresse globale)\n"
-#: vms-alpha.c:6255
+#: vms-alpha.c:6315
#, c-format
msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
msgstr "STC_BSR_PS (stocke BSR cond à psect + offset)\n"
-#: vms-alpha.c:6259
+#: vms-alpha.c:6319
#, c-format
msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
msgstr "STC_LDA_GBL (stocke LDA cond à l'adresse globale)\n"
-#: vms-alpha.c:6263
+#: vms-alpha.c:6323
#, c-format
msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
msgstr "STC_LDA_PS (stocke LDA cond à psect + offset)\n"
-#: vms-alpha.c:6267
+#: vms-alpha.c:6327
#, c-format
msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
msgstr "STC_BOH_GBL (stocke BOH cond à l'adresse globale)\n"
-#: vms-alpha.c:6271
+#: vms-alpha.c:6331
#, c-format
msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
msgstr "STC_BOH_PS (stocke BOH cond à psect + offset)\n"
-#: vms-alpha.c:6276
+#: vms-alpha.c:6336
#, c-format
msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
msgstr "STC_NBH_GBL (stocke cond ou suggestion à l'adresse globale)\n"
-#: vms-alpha.c:6280
+#: vms-alpha.c:6340
#, c-format
msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
msgstr "STC_NBH_PS (stocke cond or suggestion à psect + offset)\n"
-#: vms-alpha.c:6284
+#: vms-alpha.c:6344
#, c-format
msgid "CTL_SETRB (set relocation base)\n"
msgstr "CTL_SETRB (fixe la base du réadressage)\n"
-#: vms-alpha.c:6290
+#: vms-alpha.c:6350
#, c-format
msgid "CTL_AUGRB (augment relocation base) %u\n"
msgstr "CTL_AUGRB (augmente la base du réadressage) %u\n"
-#: vms-alpha.c:6294
+#: vms-alpha.c:6354
#, c-format
msgid "CTL_DFLOC (define location)\n"
msgstr "CTL_DFLOC (définir position)\n"
-#: vms-alpha.c:6297
+#: vms-alpha.c:6357
#, c-format
msgid "CTL_STLOC (set location)\n"
msgstr "CTL_STLOC (fixer position)\n"
-#: vms-alpha.c:6300
+#: vms-alpha.c:6360
#, c-format
msgid "CTL_STKDL (stack defined location)\n"
msgstr "CTL_STKDL (position définie dans la pile)\n"
-#: vms-alpha.c:6303 vms-alpha.c:6717
+#: vms-alpha.c:6363 vms-alpha.c:6787 vms-alpha.c:6913
#, c-format
msgid "*unhandled*\n"
msgstr "*non pris en charge*\n"
-#: vms-alpha.c:6333 vms-alpha.c:6372
+#: vms-alpha.c:6393 vms-alpha.c:6432
#, c-format
msgid "cannot read GST record length\n"
msgstr "impossible de lire la longueur de l'enregistrement GST\n"
#. Ill-formed.
-#: vms-alpha.c:6354
+#: vms-alpha.c:6414
#, c-format
msgid "cannot find EMH in first GST record\n"
msgstr "impossible de trouver le EMH dans le premier enregistrement GST\n"
-#: vms-alpha.c:6380
+#: vms-alpha.c:6440
#, c-format
msgid "cannot read GST record header\n"
msgstr "impossible de lire l'en-tête de l'enregistrement GST\n"
-#: vms-alpha.c:6393
+#: vms-alpha.c:6453
#, c-format
msgid " corrupted GST\n"
msgstr " GST corrompu\n"
-#: vms-alpha.c:6401
+#: vms-alpha.c:6461
#, c-format
msgid "cannot read GST record\n"
msgstr "ne peut lire l'enregistrement GST\n"
-#: vms-alpha.c:6430
+#: vms-alpha.c:6490
#, c-format
msgid " unhandled EOBJ record type %u\n"
msgstr " type d'enregistrement EOBJ %u non supporté\n"
-#: vms-alpha.c:6453
+#: vms-alpha.c:6514
#, c-format
msgid " bitcount: %u, base addr: 0x%08x\n"
msgstr " décompte des bits: %u, adr base: 0x%08x\n"
-#: vms-alpha.c:6466
+#: vms-alpha.c:6528
#, c-format
msgid " bitmap: 0x%08x (count: %u):\n"
msgstr " carte des bits: 0x%08x (occurrence: %u):\n"
-#: vms-alpha.c:6473
+#: vms-alpha.c:6535
#, c-format
msgid " %08x"
msgstr " %08x"
-#: vms-alpha.c:6498
+#: vms-alpha.c:6561
#, c-format
msgid " image %u (%u entries)\n"
msgstr " image %u (%u entrées)\n"
-#: vms-alpha.c:6503
+#: vms-alpha.c:6567
#, c-format
msgid " offset: 0x%08x, val: 0x%08x\n"
msgstr " offset: 0x%08x, val: 0x%08x\n"
-#: vms-alpha.c:6524
+#: vms-alpha.c:6589
#, c-format
msgid " image %u (%u entries), offsets:\n"
msgstr " image %u (%u entrées), offsets:\n"
-#: vms-alpha.c:6531
+#: vms-alpha.c:6596
#, c-format
msgid " 0x%08x"
msgstr " 0x%08x"
#. 64 bits.
-#: vms-alpha.c:6653
+#: vms-alpha.c:6718
#, c-format
msgid "64 bits *unhandled*\n"
msgstr "64 bits *non supporté*\n"
-#: vms-alpha.c:6657
+#: vms-alpha.c:6723
#, c-format
msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
msgstr "classe: %u, dtype: %u, longueur: %u, pointeur: 0x%08x\n"
-#: vms-alpha.c:6668
+#: vms-alpha.c:6734
#, c-format
msgid "non-contiguous array of %s\n"
msgstr "table de %s non contiguë\n"
-#: vms-alpha.c:6672
+#: vms-alpha.c:6739
#, c-format
msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
msgstr "dimct: %u, aflags: 0x%02x, digits: %u, échelle: %u\n"
-#: vms-alpha.c:6676
+#: vms-alpha.c:6744
#, c-format
msgid "arsize: %u, a0: 0x%08x\n"
msgstr "arsize: %u, a0: 0x%08x\n"
-#: vms-alpha.c:6680
+#: vms-alpha.c:6748
#, c-format
msgid "Strides:\n"
msgstr "Pas:\n"
-#: vms-alpha.c:6685
-#, c-format
-msgid "[%u]: %u\n"
-msgstr "[%u]: %u\n"
-
-#: vms-alpha.c:6690
+#: vms-alpha.c:6758
#, c-format
msgid "Bounds:\n"
msgstr "Limites:\n"
-#: vms-alpha.c:6695
+#: vms-alpha.c:6764
#, c-format
msgid "[%u]: Lower: %u, upper: %u\n"
msgstr "[%u]: Inférieure: %u, supérieure: %u\n"
-#: vms-alpha.c:6707
+#: vms-alpha.c:6776
#, c-format
msgid "unaligned bit-string of %s\n"
msgstr "chaine de bits de %s désalignée\n"
-#: vms-alpha.c:6711
+#: vms-alpha.c:6781
#, c-format
msgid "base: %u, pos: %u\n"
msgstr "base: %u, pos: %u\n"
-#: vms-alpha.c:6731
+#: vms-alpha.c:6802
#, c-format
msgid "vflags: 0x%02x, value: 0x%08x "
msgstr "vflags: 0x%02x, valeur: 0x%08x "
-#: vms-alpha.c:6737
+#: vms-alpha.c:6808
#, c-format
msgid "(no value)\n"
msgstr "(pas de valeur)\n"
-#: vms-alpha.c:6740
+#: vms-alpha.c:6811
#, c-format
msgid "(not active)\n"
msgstr "(pas active)\n"
-#: vms-alpha.c:6743
+#: vms-alpha.c:6814
#, c-format
msgid "(not allocated)\n"
msgstr "(pas allouée)\n"
-#: vms-alpha.c:6746
+#: vms-alpha.c:6817
#, c-format
msgid "(descriptor)\n"
msgstr "(descripteur)\n"
-#: vms-alpha.c:6750
+#: vms-alpha.c:6821
#, c-format
msgid "(trailing value)\n"
msgstr "(valeur postérieure)\n"
-#: vms-alpha.c:6753
+#: vms-alpha.c:6824
#, c-format
msgid "(value spec follows)\n"
msgstr "(spécificités de la valeur suivent)\n"
-#: vms-alpha.c:6756
+#: vms-alpha.c:6827
#, c-format
msgid "(at bit offset %u)\n"
msgstr "(à l'offset de bit %u)\n"
-#: vms-alpha.c:6759
+#: vms-alpha.c:6831
#, c-format
msgid "(reg: %u, disp: %u, indir: %u, kind: "
msgstr "(reg: %u, aff: %u, indir: %u, type: "
-#: vms-alpha.c:6766
+#: vms-alpha.c:6838
msgid "literal"
msgstr "litérale"
-#: vms-alpha.c:6769
+#: vms-alpha.c:6841
msgid "address"
msgstr "adresse"
-#: vms-alpha.c:6772
+#: vms-alpha.c:6844
msgid "desc"
msgstr "desc"
-#: vms-alpha.c:6775
+#: vms-alpha.c:6847
msgid "reg"
msgstr "reg"
-#: vms-alpha.c:6850
+#: vms-alpha.c:6864
+#, c-format
+msgid "len: %2u, kind: %2u "
+msgstr "long: %2u, type: %2u "
+
+#: vms-alpha.c:6870
+#, c-format
+msgid "atomic, type=0x%02x %s\n"
+msgstr "atomique, type=0x%02x %s\n"
+
+#: vms-alpha.c:6874
+#, c-format
+msgid "indirect, defined at 0x%08x\n"
+msgstr "indirect, défini à 0x%08x\n"
+
+#: vms-alpha.c:6878
+#, c-format
+msgid "typed pointer\n"
+msgstr "pointeur typé\n"
+
+#: vms-alpha.c:6882
+#, c-format
+msgid "pointer\n"
+msgstr "pointeur\n"
+
+#: vms-alpha.c:6890
+#, c-format
+msgid "array, dim: %u, bitmap: "
+msgstr "tableau, dim: %u, bitmpa: "
+
+#: vms-alpha.c:6897
+#, c-format
+msgid "array descriptor:\n"
+msgstr "descripteur de tableau:\n"
+
+#: vms-alpha.c:6904
+#, c-format
+msgid "type spec for element:\n"
+msgstr "spec de type pour élément:\n"
+
+#: vms-alpha.c:6906
+#, c-format
+msgid "type spec for subscript %u:\n"
+msgstr "spec de type pour l'indice %u:\n"
+
+#: vms-alpha.c:6924
#, c-format
msgid "Debug symbol table:\n"
msgstr "Table des symboles de debug:\n"
-#: vms-alpha.c:6861
+#: vms-alpha.c:6935
#, c-format
msgid "cannot read DST header\n"
msgstr "impossible de lire l'en-tête DST\n"
-#: vms-alpha.c:6866
+#: vms-alpha.c:6941
#, c-format
msgid " type: %3u, len: %3u (at 0x%08x): "
msgstr " type: %3u, long: %3u (à 0x%08x): "
-#: vms-alpha.c:6880
+#: vms-alpha.c:6955
#, c-format
msgid "cannot read DST symbol\n"
msgstr "ne peut lire le symbole DST\n"
-#: vms-alpha.c:6923
+#: vms-alpha.c:6998
#, c-format
msgid "standard data: %s\n"
msgstr "données standards: %s\n"
-#: vms-alpha.c:6926 vms-alpha.c:7010
+#: vms-alpha.c:7001 vms-alpha.c:7089
#, c-format
msgid " name: %.*s\n"
msgstr " nom: %.*s\n"
-#: vms-alpha.c:6933
+#: vms-alpha.c:7008
#, c-format
msgid "modbeg\n"
msgstr "début module\n"
-#: vms-alpha.c:6934
+#: vms-alpha.c:7010
#, c-format
msgid " flags: %d, language: %u, major: %u, minor: %u\n"
msgstr " fanions: %d, language: %u, majeur: %u, mineur: %u\n"
-#: vms-alpha.c:6940 vms-alpha.c:7206
+#: vms-alpha.c:7016 vms-alpha.c:7290
#, c-format
msgid " module name: %.*s\n"
msgstr " nom du module: %.*s\n"
-#: vms-alpha.c:6943
+#: vms-alpha.c:7019
#, c-format
msgid " compiler : %.*s\n"
msgstr " compilateur : %.*s\n"
-#: vms-alpha.c:6948
+#: vms-alpha.c:7024
#, c-format
msgid "modend\n"
msgstr "fin module\n"
-#: vms-alpha.c:6955
+#: vms-alpha.c:7031
msgid "rtnbeg\n"
msgstr "début rtn\n"
-#: vms-alpha.c:6956
+#: vms-alpha.c:7033
#, c-format
msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
msgstr " fanions: %u, adresse: 0x%08x, pd-adresse: 0x%08x\n"
-#: vms-alpha.c:6961
+#: vms-alpha.c:7038
#, c-format
msgid " routine name: %.*s\n"
msgstr " nom routine : %.*s\n"
-#: vms-alpha.c:6969
+#: vms-alpha.c:7046
#, c-format
msgid "rtnend: size 0x%08x\n"
msgstr "fin rtn: taille 0x%08x\n"
-#: vms-alpha.c:6977
+#: vms-alpha.c:7054
#, c-format
msgid "prolog: bkpt address 0x%08x\n"
msgstr "prologue: adresse bkpt 0x%08x\n"
-#: vms-alpha.c:6985
+#: vms-alpha.c:7063
#, c-format
msgid "epilog: flags: %u, count: %u\n"
msgstr "épilogue: fanions: %u, nombre: %u\n"
-#: vms-alpha.c:6994
+#: vms-alpha.c:7073
#, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
msgstr "début blk: adresse: 0x%08x, nom: %.*s\n"
-#: vms-alpha.c:7003
+#: vms-alpha.c:7082
#, c-format
msgid "blkend: size: 0x%08x\n"
msgstr "fin blk: taille: 0x%08x\n"
-#: vms-alpha.c:7009
+#: vms-alpha.c:7088
#, c-format
msgid "typspec (len: %u)\n"
msgstr "typspec (long: %u)\n"
-#: vms-alpha.c:7016
+#: vms-alpha.c:7095
#, c-format
msgid "septyp, name: %.*s\n"
msgstr "septyp, nom: %.*s\n"
-#: vms-alpha.c:7025
+#: vms-alpha.c:7104
#, c-format
msgid "recbeg: name: %.*s\n"
msgstr "début rec: nom: %.*s\n"
-#: vms-alpha.c:7032
+#: vms-alpha.c:7106
+#, c-format
+msgid " len: %u bits\n"
+msgstr " long: %u bits\n"
+
+#: vms-alpha.c:7111
#, c-format
msgid "recend\n"
msgstr "fin rec\n"
-#: vms-alpha.c:7035
+#: vms-alpha.c:7115
#, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
msgstr "début énumération, long: %u, nom: %.*s\n"
-#: vms-alpha.c:7039
+#: vms-alpha.c:7119
#, c-format
msgid "enumelt, name: %.*s\n"
msgstr "énumération éléments, nom: %.*s\n"
-#: vms-alpha.c:7043
+#: vms-alpha.c:7123
#, c-format
msgid "enumend\n"
msgstr "fin énumération\n"
-#: vms-alpha.c:7060
+#: vms-alpha.c:7128
+#, c-format
+msgid "label, name: %.*s\n"
+msgstr "étiquette, nom: %.*s\n"
+
+#: vms-alpha.c:7130
+#, c-format
+msgid " address: 0x%08x\n"
+msgstr " adresse: 0x%08x\n"
+
+#: vms-alpha.c:7140
#, c-format
msgid "discontiguous range (nbr: %u)\n"
msgstr "plage discontinue (nbr: %u)\n"
-#: vms-alpha.c:7062
+#: vms-alpha.c:7143
#, c-format
msgid " address: 0x%08x, size: %u\n"
msgstr " adresse: 0x%08x, taille: %u\n"
-#: vms-alpha.c:7072
+#: vms-alpha.c:7153
#, c-format
msgid "line num (len: %u)\n"
msgstr "num ligne (long: %u)\n"
-#: vms-alpha.c:7089
+#: vms-alpha.c:7170
#, c-format
msgid "delta_pc_w %u\n"
msgstr "delta_pc_w %u\n"
-#: vms-alpha.c:7096
+#: vms-alpha.c:7177
#, c-format
msgid "incr_linum(b): +%u\n"
msgstr "incr_linum(b): +%u\n"
-#: vms-alpha.c:7102
+#: vms-alpha.c:7183
#, c-format
msgid "incr_linum_w: +%u\n"
msgstr "incr_linum_w: +%u\n"
-#: vms-alpha.c:7108
+#: vms-alpha.c:7189
#, c-format
msgid "incr_linum_l: +%u\n"
msgstr "incr_linum_l: +%u\n"
-#: vms-alpha.c:7114
+#: vms-alpha.c:7195
#, c-format
msgid "set_line_num(w) %u\n"
msgstr "set_line_num(w) %u\n"
-#: vms-alpha.c:7119
+#: vms-alpha.c:7200
#, c-format
msgid "set_line_num_b %u\n"
msgstr "set_line_num_b %u\n"
-#: vms-alpha.c:7124
+#: vms-alpha.c:7205
#, c-format
msgid "set_line_num_l %u\n"
msgstr "set_line_num_l %u\n"
-#: vms-alpha.c:7129
+#: vms-alpha.c:7210
#, c-format
msgid "set_abs_pc: 0x%08x\n"
msgstr "set_abs_pc: 0x%08x\n"
-#: vms-alpha.c:7133
+#: vms-alpha.c:7214
#, c-format
msgid "delta_pc_l: +0x%08x\n"
msgstr "delta_pc_l: +0x%08x\n"
-#: vms-alpha.c:7138
+#: vms-alpha.c:7219
#, c-format
msgid "term(b): 0x%02x"
msgstr "term(b): 0x%02x"
-#: vms-alpha.c:7140
+#: vms-alpha.c:7221
#, c-format
msgid " pc: 0x%08x\n"
msgstr " pc: 0x%08x\n"
-#: vms-alpha.c:7145
+#: vms-alpha.c:7226
#, c-format
msgid "term_w: 0x%04x"
msgstr "term_w: 0x%04x"
-#: vms-alpha.c:7147
+#: vms-alpha.c:7228
#, c-format
msgid " pc: 0x%08x\n"
msgstr " pc: 0x%08x\n"
-#: vms-alpha.c:7153
+#: vms-alpha.c:7234
#, c-format
msgid "delta pc +%-4d"
msgstr "delta pc +%-4d"
-#: vms-alpha.c:7156
+#: vms-alpha.c:7238
#, c-format
msgid " pc: 0x%08x line: %5u\n"
msgstr " pc: 0x%08x ligne: %5u\n"
-#: vms-alpha.c:7161
+#: vms-alpha.c:7243
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr " cmd %u *non gérée*\n"
-#: vms-alpha.c:7176
+#: vms-alpha.c:7258
#, c-format
msgid "source (len: %u)\n"
msgstr "source (long: %u)\n"
-#: vms-alpha.c:7190
+#: vms-alpha.c:7273
#, c-format
msgid " declfile: len: %u, flags: %u, fileid: %u\n"
msgstr " declfile: long: %u, fanions: %u, id fichier: %u\n"
-#: vms-alpha.c:7194
+#: vms-alpha.c:7278
#, c-format
msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
msgstr " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
-#: vms-alpha.c:7203
+#: vms-alpha.c:7287
#, c-format
msgid " filename : %.*s\n"
msgstr " nom fichier: %.*s\n"
-#: vms-alpha.c:7212
+#: vms-alpha.c:7296
#, c-format
msgid " setfile %u\n"
msgstr " setfile %u\n"
-#: vms-alpha.c:7217 vms-alpha.c:7222
+#: vms-alpha.c:7301 vms-alpha.c:7306
#, c-format
msgid " setrec %u\n"
msgstr " setrec %u\n"
-#: vms-alpha.c:7227 vms-alpha.c:7232
+#: vms-alpha.c:7311 vms-alpha.c:7316
#, c-format
msgid " setlnum %u\n"
msgstr " setlnum %u\n"
-#: vms-alpha.c:7237 vms-alpha.c:7242
+#: vms-alpha.c:7321 vms-alpha.c:7326
#, c-format
msgid " deflines %u\n"
msgstr " deflines %u\n"
-#: vms-alpha.c:7246
+#: vms-alpha.c:7330
#, c-format
msgid " formfeed\n"
msgstr " formfeed\n"
-#: vms-alpha.c:7250
+#: vms-alpha.c:7334
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr " cmd %u *non gérée*\n"
-#: vms-alpha.c:7262
+#: vms-alpha.c:7346
#, c-format
msgid "*unhandled* dst type %u\n"
msgstr "type dst %u *non géré*\n"
-#: vms-alpha.c:7294
+#: vms-alpha.c:7378
#, c-format
msgid "cannot read EIHD\n"
msgstr "ne peut lire EIHD\n"
-#: vms-alpha.c:7297
+#: vms-alpha.c:7382
#, c-format
msgid "EIHD: (size: %u, nbr blocks: %u)\n"
msgstr "EIHD: (taille: %u, nbr blocs: %u)\n"
-#: vms-alpha.c:7300
+#: vms-alpha.c:7386
#, c-format
msgid " majorid: %u, minorid: %u\n"
msgstr " id majeur: %u, id mineur: %u\n"
-#: vms-alpha.c:7308
+#: vms-alpha.c:7394
msgid "executable"
msgstr "exécutable"
-#: vms-alpha.c:7311
+#: vms-alpha.c:7397
msgid "linkable image"
msgstr "image liable"
-#: vms-alpha.c:7317
+#: vms-alpha.c:7404
#, c-format
msgid " image type: %u (%s)"
msgstr " type image: %u (%s)"
-#: vms-alpha.c:7323
+#: vms-alpha.c:7410
msgid "native"
msgstr "natif"
-#: vms-alpha.c:7326
+#: vms-alpha.c:7413
msgid "CLI"
msgstr "CLI"
-#: vms-alpha.c:7332
+#: vms-alpha.c:7420
#, c-format
msgid ", subtype: %u (%s)\n"
msgstr ", sous-type: %u (%s)\n"
-#: vms-alpha.c:7338
+#: vms-alpha.c:7427
#, c-format
msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
msgstr " offsets: isd: %u, actif: %u, debug symbol: %u, id image: %u, patch: %u\n"
-#: vms-alpha.c:7342
+#: vms-alpha.c:7431
#, c-format
msgid " fixup info rva: "
msgstr " correctif info rva: "
-#: vms-alpha.c:7344
+#: vms-alpha.c:7433
#, c-format
msgid ", symbol vector rva: "
msgstr ", vecteur de symbol rva: "
-#: vms-alpha.c:7347
+#: vms-alpha.c:7436
#, c-format
msgid ""
"\n"
@@ -5251,694 +7399,688 @@ msgstr ""
"\n"
" offset tableau version: %u\n"
-#: vms-alpha.c:7351
+#: vms-alpha.c:7441
#, c-format
msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
msgstr " décompte E/S img: %u, nbr canaux: %u, priv req: %08x%08x\n"
-#: vms-alpha.c:7357
+#: vms-alpha.c:7447
#, c-format
msgid " linker flags: %08x:"
msgstr " fanions lieur: %08x:"
-#: vms-alpha.c:7387
+#: vms-alpha.c:7478
#, c-format
msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
msgstr " ident: 0x%08x, ver sys: 0x%08x, apparier ctrl: %u, taille vectsym: %u\n"
-#: vms-alpha.c:7393
+#: vms-alpha.c:7484
#, c-format
msgid " BPAGE: %u"
msgstr " BPAGE: %u"
-#: vms-alpha.c:7399
+#: vms-alpha.c:7491
#, c-format
msgid ", ext fixup offset: %u, no_opt psect off: %u"
msgstr ", offset correctif étendu: %u, offset no_opt psect: %u"
-#: vms-alpha.c:7402
+#: vms-alpha.c:7494
#, c-format
msgid ", alias: %u\n"
msgstr ", alias: %u\n"
-#: vms-alpha.c:7410
+#: vms-alpha.c:7502
#, c-format
msgid "system version array information:\n"
msgstr "information sur table de version système:\n"
-#: vms-alpha.c:7414
+#: vms-alpha.c:7506
#, c-format
msgid "cannot read EIHVN header\n"
msgstr "ne peut lire l'en-tête EIHVN\n"
-#: vms-alpha.c:7424
+#: vms-alpha.c:7516
#, c-format
msgid "cannot read EIHVN version\n"
msgstr "ne peut lire la version EIHVN\n"
-#: vms-alpha.c:7427
+#: vms-alpha.c:7519
#, c-format
msgid " %02u "
msgstr " %02u "
-#: vms-alpha.c:7431
+#: vms-alpha.c:7523
msgid "BASE_IMAGE "
msgstr "BASE_IMAGE "
-#: vms-alpha.c:7434
+#: vms-alpha.c:7526
msgid "MEMORY_MANAGEMENT"
msgstr "MEMORY_MANAGEMENT"
-#: vms-alpha.c:7437
+#: vms-alpha.c:7529
msgid "IO "
msgstr "IO "
-#: vms-alpha.c:7440
+#: vms-alpha.c:7532
msgid "FILES_VOLUMES "
msgstr "FILES_VOLUMES "
-#: vms-alpha.c:7443
+#: vms-alpha.c:7535
msgid "PROCESS_SCHED "
msgstr "PROCESS_SCHED "
-#: vms-alpha.c:7446
+#: vms-alpha.c:7538
msgid "SYSGEN "
msgstr "SYSGEN "
-#: vms-alpha.c:7449
+#: vms-alpha.c:7541
msgid "CLUSTERS_LOCKMGR "
msgstr "CLUSTERS_LOCKMGR "
-#: vms-alpha.c:7452
+#: vms-alpha.c:7544
msgid "LOGICAL_NAMES "
msgstr "LOGICAL_NAMES "
-#: vms-alpha.c:7455
+#: vms-alpha.c:7547
msgid "SECURITY "
msgstr "SECURITY "
-#: vms-alpha.c:7458
+#: vms-alpha.c:7550
msgid "IMAGE_ACTIVATOR "
msgstr "IMAGE_ACTIVATOR "
-#: vms-alpha.c:7461
+#: vms-alpha.c:7553
msgid "NETWORKS "
msgstr "NETWORKS "
-#: vms-alpha.c:7464
+#: vms-alpha.c:7556
msgid "COUNTERS "
msgstr "COUNTERS "
-#: vms-alpha.c:7467
+#: vms-alpha.c:7559
msgid "STABLE "
msgstr "STABLE "
-#: vms-alpha.c:7470
+#: vms-alpha.c:7562
msgid "MISC "
msgstr "MISC "
-#: vms-alpha.c:7473
+#: vms-alpha.c:7565
msgid "CPU "
msgstr "CPU "
-#: vms-alpha.c:7476
+#: vms-alpha.c:7568
msgid "VOLATILE "
msgstr "VOLATILE "
-#: vms-alpha.c:7479
+#: vms-alpha.c:7571
msgid "SHELL "
msgstr "SHELL "
-#: vms-alpha.c:7482
+#: vms-alpha.c:7574
msgid "POSIX "
msgstr "POSIX "
-#: vms-alpha.c:7485
+#: vms-alpha.c:7577
msgid "MULTI_PROCESSING "
msgstr "MULTI_PROCESSING "
-#: vms-alpha.c:7488
+#: vms-alpha.c:7580
msgid "GALAXY "
msgstr "GALAXY "
-#: vms-alpha.c:7491
+#: vms-alpha.c:7583
msgid "*unknown* "
msgstr "*inconnu* "
-#: vms-alpha.c:7494
-#, c-format
-msgid ": %u.%u\n"
-msgstr ": %u.%u\n"
-
-#: vms-alpha.c:7507 vms-alpha.c:7766
+#: vms-alpha.c:7599 vms-alpha.c:7874
#, c-format
msgid "cannot read EIHA\n"
msgstr "ne peut lire EIHA\n"
-#: vms-alpha.c:7510
+#: vms-alpha.c:7602
#, c-format
msgid "Image activation: (size=%u)\n"
msgstr "Activation de l'image: (taille=%u)\n"
-#: vms-alpha.c:7512
+#: vms-alpha.c:7605
#, c-format
msgid " First address : 0x%08x 0x%08x\n"
msgstr " Première adresse : 0x%08x 0x%08x\n"
-#: vms-alpha.c:7515
+#: vms-alpha.c:7609
#, c-format
msgid " Second address: 0x%08x 0x%08x\n"
msgstr " Deuxième adresse : 0x%08x 0x%08x\n"
-#: vms-alpha.c:7518
+#: vms-alpha.c:7613
#, c-format
msgid " Third address : 0x%08x 0x%08x\n"
msgstr " Troisième adresse: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7521
+#: vms-alpha.c:7617
#, c-format
msgid " Fourth address: 0x%08x 0x%08x\n"
msgstr " Quatrième adresse: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7524
+#: vms-alpha.c:7621
#, c-format
msgid " Shared image : 0x%08x 0x%08x\n"
msgstr " Image partagée : 0x%08x 0x%08x\n"
-#: vms-alpha.c:7535
+#: vms-alpha.c:7632
#, c-format
msgid "cannot read EIHI\n"
msgstr "ne peut lire EIHI\n"
-#: vms-alpha.c:7538
+#: vms-alpha.c:7636
#, c-format
msgid "Image identification: (major: %u, minor: %u)\n"
msgstr "Identification d'image: (majeur: %u, mineur: %u)\n"
-#: vms-alpha.c:7541
+#: vms-alpha.c:7639
#, c-format
msgid " image name : %.*s\n"
msgstr " nom de l'image : %.*s\n"
-#: vms-alpha.c:7543
+#: vms-alpha.c:7641
#, c-format
msgid " link time : %s\n"
msgstr " heure de liaison : %s\n"
-#: vms-alpha.c:7545
+#: vms-alpha.c:7643
#, c-format
msgid " image ident : %.*s\n"
msgstr " ident image : %.*s\n"
-#: vms-alpha.c:7547
+#: vms-alpha.c:7645
#, c-format
msgid " linker ident : %.*s\n"
msgstr " ident lieur : %.*s\n"
-#: vms-alpha.c:7549
+#: vms-alpha.c:7647
#, c-format
msgid " image build ident: %.*s\n"
msgstr " ident construction image: %.*s\n"
-#: vms-alpha.c:7559
+#: vms-alpha.c:7657
#, c-format
msgid "cannot read EIHS\n"
msgstr "ne peut lire EIHS\n"
-#: vms-alpha.c:7562
+#: vms-alpha.c:7661
#, c-format
msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
msgstr "Image des symboles et table debug: (majeur: %u, mineur: %u)\n"
-#: vms-alpha.c:7567
+#: vms-alpha.c:7667
#, c-format
msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
msgstr " table des symboles de debug : vbn: %u, taille: %u (0x%x)\n"
-#: vms-alpha.c:7571
+#: vms-alpha.c:7672
#, c-format
msgid " global symbol table: vbn: %u, records: %u\n"
msgstr " table des symboles globale: vbn: %u, enregistrements: %u\n"
-#: vms-alpha.c:7575
+#: vms-alpha.c:7677
#, c-format
msgid " debug module table : vbn: %u, size: %u\n"
msgstr " table des modules de debug: vbn: %u, taille: %u\n"
-#: vms-alpha.c:7588
+#: vms-alpha.c:7690
#, c-format
msgid "cannot read EISD\n"
msgstr "ne peut lire EISD\n"
-#: vms-alpha.c:7598
+#: vms-alpha.c:7701
#, c-format
msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
msgstr "Descripteur de section d'image: (majeur: %u, mineur: %u, taille: %u, offset: %u)\n"
-#: vms-alpha.c:7605
+#: vms-alpha.c:7709
#, c-format
msgid " section: base: 0x%08x%08x size: 0x%08x\n"
msgstr " section: base: 0x%08x%08x taille: 0x%08x\n"
-#: vms-alpha.c:7610
+#: vms-alpha.c:7714
#, c-format
msgid " flags: 0x%04x"
msgstr " fanions: 0x%04x"
-#: vms-alpha.c:7647
+#: vms-alpha.c:7752
#, c-format
msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
msgstr " vbn: %u, pfc: %u, matchctl: %u type: %u ("
-#: vms-alpha.c:7653
+#: vms-alpha.c:7758
msgid "NORMAL"
msgstr "NORMAL"
-#: vms-alpha.c:7656
+#: vms-alpha.c:7761
msgid "SHRFXD"
msgstr "SHRFXD"
-#: vms-alpha.c:7659
+#: vms-alpha.c:7764
msgid "PRVFXD"
msgstr "PRVFXD"
-#: vms-alpha.c:7662
+#: vms-alpha.c:7767
msgid "SHRPIC"
msgstr "SHRPIC"
-#: vms-alpha.c:7665
+#: vms-alpha.c:7770
msgid "PRVPIC"
msgstr "PRVPIC"
-#: vms-alpha.c:7668
+#: vms-alpha.c:7773
msgid "USRSTACK"
msgstr "USRSTACK"
-#: vms-alpha.c:7676
+#: vms-alpha.c:7779
+msgid ")\n"
+msgstr ")\n"
+
+#: vms-alpha.c:7782
#, c-format
msgid " ident: 0x%08x, name: %.*s\n"
msgstr " ident: 0x%08x, nom: %.*s\n"
-#: vms-alpha.c:7686
+#: vms-alpha.c:7792
#, c-format
msgid "cannot read DMT\n"
msgstr "ne peut lire DMT\n"
-#: vms-alpha.c:7690
+#: vms-alpha.c:7796
#, c-format
msgid "Debug module table:\n"
msgstr "Table de debug du module:\n"
-#: vms-alpha.c:7699
+#: vms-alpha.c:7805
#, c-format
msgid "cannot read DMT header\n"
msgstr "ne peut lire l'en-tête DMT\n"
-#: vms-alpha.c:7704
+#: vms-alpha.c:7811
#, c-format
msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
msgstr " offset du module: 0x%08x, taille: 0x%08x, (%u psects)\n"
-#: vms-alpha.c:7714
+#: vms-alpha.c:7821
#, c-format
msgid "cannot read DMT psect\n"
msgstr "ne peut lire le psect DMT\n"
-#: vms-alpha.c:7717
+#: vms-alpha.c:7825
#, c-format
msgid " psect start: 0x%08x, length: %u\n"
msgstr " début psect: 0x%08x, longueur: %u\n"
-#: vms-alpha.c:7730
+#: vms-alpha.c:7838
#, c-format
msgid "cannot read DST\n"
msgstr "ne peut lire DST\n"
-#: vms-alpha.c:7740
+#: vms-alpha.c:7848
#, c-format
msgid "cannot read GST\n"
msgstr "ne peut lire GST\n"
-#: vms-alpha.c:7744
+#: vms-alpha.c:7852
#, c-format
msgid "Global symbol table:\n"
msgstr "Table des symboles globaux:\n"
-#: vms-alpha.c:7772
+#: vms-alpha.c:7881
#, c-format
msgid "Image activator fixup: (major: %u, minor: %u)\n"
msgstr "Correction de l'activateur de l'image: (majeur: %u, mineur: %u)\n"
-#: vms-alpha.c:7775
+#: vms-alpha.c:7885
#, c-format
msgid " iaflink : 0x%08x %08x\n"
msgstr " lien iaf : 0x%08x %08x\n"
-#: vms-alpha.c:7778
+#: vms-alpha.c:7889
#, c-format
msgid " fixuplnk: 0x%08x %08x\n"
msgstr " lien correctif: 0x%08x %08x\n"
-#: vms-alpha.c:7781
+#: vms-alpha.c:7892
#, c-format
msgid " size : %u\n"
msgstr " taille : %u\n"
-#: vms-alpha.c:7783
+#: vms-alpha.c:7894
#, c-format
msgid " flags: 0x%08x\n"
msgstr " fanions: 0x%08x\n"
-#: vms-alpha.c:7787
+#: vms-alpha.c:7899
#, c-format
msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
msgstr " qrelfixoff: %5u, lrelfixoff: %5u\n"
-#: vms-alpha.c:7791
+#: vms-alpha.c:7904
#, c-format
msgid " qdotadroff: %5u, ldotadroff: %5u\n"
msgstr " qdotadroff: %5u, ldotadroff: %5u\n"
-#: vms-alpha.c:7795
+#: vms-alpha.c:7909
#, c-format
msgid " codeadroff: %5u, lpfixoff : %5u\n"
msgstr " codeadroff: %5u, lpfixoff : %5u\n"
-#: vms-alpha.c:7798
+#: vms-alpha.c:7912
#, c-format
msgid " chgprtoff : %5u\n"
msgstr " chgprtoff : %5u\n"
-#: vms-alpha.c:7801
+#: vms-alpha.c:7916
#, c-format
msgid " shlstoff : %5u, shrimgcnt : %5u\n"
msgstr " shlstoff : %5u, shrimgcnt : %5u\n"
-#: vms-alpha.c:7803
+#: vms-alpha.c:7919
#, c-format
msgid " shlextra : %5u, permctx : %5u\n"
msgstr " shlextra : %5u, permctx : %5u\n"
-#: vms-alpha.c:7806
+#: vms-alpha.c:7922
#, c-format
msgid " base_va : 0x%08x\n"
msgstr " base_va : 0x%08x\n"
-#: vms-alpha.c:7808
+#: vms-alpha.c:7924
#, c-format
msgid " lppsbfixoff: %5u\n"
msgstr " lppsbfixoff: %5u\n"
-#: vms-alpha.c:7816
+#: vms-alpha.c:7932
#, c-format
msgid " Shareable images:\n"
msgstr " Images partageables:\n"
-#: vms-alpha.c:7820
+#: vms-alpha.c:7937
#, c-format
msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
msgstr " %u: taille: %u, fanions: 0x%02x, nom: %.*s\n"
-#: vms-alpha.c:7827
+#: vms-alpha.c:7944
#, c-format
msgid " quad-word relocation fixups:\n"
msgstr " correctifs du réadressage des quad-mots:\n"
-#: vms-alpha.c:7832
+#: vms-alpha.c:7949
#, c-format
msgid " long-word relocation fixups:\n"
msgstr " correctifs du réadressage des mots longs:\n"
-#: vms-alpha.c:7837
+#: vms-alpha.c:7954
#, c-format
msgid " quad-word .address reference fixups:\n"
-msgstr " correctifs des références quad-mots «.address»:\n"
+msgstr " correctifs des références quad-mots « .address »:\n"
-#: vms-alpha.c:7842
+#: vms-alpha.c:7959
#, c-format
msgid " long-word .address reference fixups:\n"
-msgstr " correctifs des références mots longs «.address»:\n"
+msgstr " correctifs des références mots longs « .address »:\n"
-#: vms-alpha.c:7847
+#: vms-alpha.c:7964
#, c-format
msgid " Code Address Reference Fixups:\n"
msgstr " Correctifs des références des adresses de code:\n"
-#: vms-alpha.c:7852
+#: vms-alpha.c:7969
#, c-format
-msgid " Linkage Pairs Referece Fixups:\n"
+msgid " Linkage Pairs Reference Fixups:\n"
msgstr " Correctifs des références des paires de liaison:\n"
-#: vms-alpha.c:7861
+#: vms-alpha.c:7978
#, c-format
msgid " Change Protection (%u entries):\n"
msgstr " Changement de protection (%u entrées):\n"
-#: vms-alpha.c:7866
+#: vms-alpha.c:7984
#, c-format
msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
msgstr " base: 0x%08x %08x, taille: 0x%08x, prot: 0x%08x "
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
-#: vms-alpha.c:8706
+#: vms-alpha.c:8824
msgid "%P: relocatable link is not supported\n"
msgstr "%P: lien relocalisable pas supporté\n"
-#: vms-alpha.c:8776
+#: vms-alpha.c:8895
+#, c-format
msgid "%P: multiple entry points: in modules %B and %B\n"
msgstr "%P: points d'entrée multiples: dans les modules %B et %B\n"
-#: vms-lib.c:1423
+#: vms-lib.c:1445
#, c-format
msgid "could not open shared image '%s' from '%s'"
-msgstr "n'a pas su ouvrir l'image partagée «%s» de «%s»"
+msgstr "n'a pas su ouvrir l'image partagée « %s » de « %s »"
-#: vms-misc.c:360
+#: vms-misc.c:361
msgid "_bfd_vms_output_counted called with zero bytes"
msgstr "_bfd_vms_output_counted appelé avec un compte de zéro octet"
-#: vms-misc.c:365
+#: vms-misc.c:366
msgid "_bfd_vms_output_counted called with too many bytes"
msgstr "_bfd_vms_output_counted appelé avec trop d'octets"
-#: xcofflink.c:836
-#, c-format
-msgid "%s: XCOFF shared object when not producing XCOFF output"
-msgstr "%s: objet XCOFF partagé alors qu'on ne produit pas de sortie XCOFF"
+#: xcofflink.c:832
+msgid "%B: XCOFF shared object when not producing XCOFF output"
+msgstr "%B: objet XCOFF partagé alors qu'on ne produit pas de sortie XCOFF"
-#: xcofflink.c:857
-#, c-format
-msgid "%s: dynamic object with no .loader section"
-msgstr "%s: objet dynamique sans section .loader"
+#: xcofflink.c:853
+msgid "%B: dynamic object with no .loader section"
+msgstr "%B: objet dynamique sans section .loader"
-#: xcofflink.c:1416
+#: xcofflink.c:1413
+#, c-format
msgid "%B: `%s' has line numbers but no enclosing section"
-msgstr "%B: «%s» contient des numéros de lignes mais de section d'encadrement"
+msgstr "%B: « %s » contient des numéros de lignes mais de section d'encadrement"
-#: xcofflink.c:1468
+#: xcofflink.c:1466
+#, c-format
msgid "%B: class %d symbol `%s' has no aux entries"
-msgstr "%B: classe %d symbole «%s» n'a pas d'entrée auxiliaire"
+msgstr "%B: classe %d symbole « %s » n'a pas d'entrée auxiliaire"
-#: xcofflink.c:1490
+#: xcofflink.c:1489
+#, c-format
msgid "%B: symbol `%s' has unrecognized csect type %d"
-msgstr "%B: symbole «%s» a un type csect %d non reconnu"
+msgstr "%B: symbole « %s » a un type csect %d non reconnu"
#: xcofflink.c:1502
+#, c-format
msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: symbole XTY_ER «%s» erroné: classe %d scnum %d scnlen %d"
+msgstr "%B: symbole XTY_ER « %s » erroné: classe %d scnum %d scnlen %d"
-#: xcofflink.c:1531
+#: xcofflink.c:1532
+#, c-format
msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: XMC_TC0 symbol «%s» est la classe %d scnlen %d"
+msgstr "%B: XMC_TC0 symbol « %s » est la classe %d scnlen %d"
-#: xcofflink.c:1677
+#: xcofflink.c:1679
+#, c-format
msgid "%B: csect `%s' not in enclosing section"
-msgstr "%B: csect «%s» n'est pas dans un section d'encadrement"
+msgstr "%B: csect « %s » n'est pas dans un section d'encadrement"
-#: xcofflink.c:1784
+#: xcofflink.c:1787
+#, c-format
msgid "%B: misplaced XTY_LD `%s'"
-msgstr "%B: XTY_LD «%s» mal placé"
+msgstr "%B: XTY_LD « %s » mal placé"
-#: xcofflink.c:2103
+#: xcofflink.c:2108
+#, c-format
msgid "%B: reloc %s:%d not in csect"
-msgstr "%B: relocalisation %s:%d n'est pas dans csect"
+msgstr "%B: réadressage %s:%d n'est pas dans csect"
-#: xcofflink.c:3194
+#: xcofflink.c:3198
#, c-format
msgid "%s: no such symbol"
msgstr "%s: pas de tel symbole"
-#: xcofflink.c:3299
+#: xcofflink.c:3303
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
-msgstr "attention: tentative d'exportation d'un symbole non défini «%s»"
+msgstr "attention: tentative d'exportation d'un symbole non défini « %s »"
-#: xcofflink.c:3678
+#: xcofflink.c:3682
msgid "error: undefined symbol __rtinit"
msgstr "erreur: symbole __rtinit non défini"
-#: xcofflink.c:4057
+#: xcofflink.c:4062
+#, c-format
msgid "%B: loader reloc in unrecognized section `%s'"
-msgstr "%B: chargeur de relocalisation dans une section non reconnnue «%s»"
+msgstr "%B: chargeur de réadressage dans une section non reconnue « %s »"
-#: xcofflink.c:4068
+#: xcofflink.c:4074
+#, c-format
msgid "%B: `%s' in loader reloc but not loader sym"
-msgstr "%B: «%s» est dans le chargeur de relocalisation mais pas dans celui des symboles"
+msgstr "%B: « %s » est dans le chargeur de réadressage mais pas dans celui des symboles"
-#: xcofflink.c:4084
+#: xcofflink.c:4091
+#, c-format
msgid "%B: loader reloc in read-only section %A"
-msgstr "%B: chargeur de relocalisation dans la section %A en lecture seule"
+msgstr "%B: chargeur de réadressages dans la section %A en lecture seule"
-#: xcofflink.c:5106
+#: xcofflink.c:5115
#, c-format
msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
msgstr "Débordement de la table des entrées: 0x%lx > 0x10000; essayez l'option -mminimal-toc à la compilation"
-#: elf32-ia64.c:628 elf64-ia64.c:628
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Ne peut relâcher br à 0x%lx dans la section «%A». Veuillez utiliser brl ou un branchement indirect."
-
-#: elf32-ia64.c:2284 elf64-ia64.c:2284
-msgid "@pltoff reloc against local symbol"
-msgstr "relocalisation @pltoff vers un symbole local"
-
-#: elf32-ia64.c:3687 elf64-ia64.c:3687
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:1890
#, c-format
-msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%s: débordement du segment de données court (0x%lx >= 0x400000)"
-
-#: elf32-ia64.c:3698 elf64-ia64.c:3698
-#, c-format
-msgid "%s: __gp does not cover short data segment"
-msgstr "%s: __gp ne couvre pas le segment de données court"
-
-#: elf32-ia64.c:3965 elf64-ia64.c:3965
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: code non pic avec des réadressages imm vers le symbole dynamique « %s »"
+msgid "Invalid AArch64 reloc number: %d"
+msgstr "Numéro de réadressage AArch64 invalide: %d"
-#: elf32-ia64.c:4032 elf64-ia64.c:4032
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: réadressage @gprel vers le symbole dynamique %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4777
+msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgstr "%B: erreur: L'ébauche d'erratum du 835769 est hors limite (fichier d'entrée trop grand)"
-#: elf32-ia64.c:4095 elf64-ia64.c:4095
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: liaison de code non-pic dans un exécutable à position indépendante"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4858
+msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+msgstr "%B: erreur: L'ébauche d'erratum du 843419 est hors limite (fichier d'entrée trop grand)"
-#: elf32-ia64.c:4232 elf64-ia64.c:4232
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: branchement @internal vers le symbole dynamique %s"
-
-#: elf32-ia64.c:4234 elf64-ia64.c:4234
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: spéculation d'ajustements vers le symbole dynamique %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5340
+#, c-format
+msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: réadressage de %s en vertu du symbol « %s » qui peut être lié avec l'extérieur ne peut être utilisé lors de la création d'un objet partagé; recompilez avec -fPIC"
-#: elf32-ia64.c:4236 elf64-ia64.c:4236
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: réadressage @pcrel vers le symbole dynamique %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5431
+#, c-format
+msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%B: La table des descripteurs de symboles locaux peut être NULL en application le réadressage %s sur un symbole local"
-#: elf32-ia64.c:4433 elf64-ia64.c:4433
-msgid "unsupported reloc"
-msgstr "relocalisation non supportée"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6459
+msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Trop d'entrées GOT pour -fpic, recompilez avec -fPIC"
-#: elf32-ia64.c:4471 elf64-ia64.c:4471
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: setion TLS manquante pour le réadressage %s vers « %s » à 0x%lx dans la section « %A »."
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6487
+msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
+msgstr "Une cause possible pour cette erreur est que le symbole est référencé dans le code indiqué comme si il avait un alignement plus grand que celui qui a été déclaré lors de sa définition."
-#: elf32-ia64.c:4486 elf64-ia64.c:4486
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B:Ne peut pas relâcher br (%s) sur «%s» à 0x%lx dans la section «%A» avec la taille 0x%lx (> 0x1000000)."
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2600
+msgid ""
+"%B: ABI is incompatible with that of the selected emulation:\n"
+" target emulation `%s' does not match `%s'"
+msgstr ""
+"%B: l'ABI est incompatible avec celle de l'émulation sélectionnée:\n"
+" l'émulation de la cible « %s » ne correspond pas à « %s »"
-#: elf32-ia64.c:4748 elf64-ia64.c:4748
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: édition de liens trap-on-NULL-dereference avec des fichiers non-trapping"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2620
+msgid "%B: can't link hard-float modules with soft-float modules"
+msgstr "%B: impossible de lier des modules utilisant des flottants matériels avec des modules utilisant des flottants logiciels"
-#: elf32-ia64.c:4757 elf64-ia64.c:4757
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: édition de liens entre des fichiers à octets de poids fort et des fichiers à octets de poids faible"
+#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+msgid "%B: unable to find name for empty section"
+msgstr "%B: impossible de trouver le nom pour une section vide"
-#: elf32-ia64.c:4766 elf64-ia64.c:4766
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: édition de liens entre fichiers 64 bits et fichiers 32 bits"
+#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+msgid "%B: out of memory creating name for empty section"
+msgstr "%B: pas assez de mémoire en créant le nom pour une section vide"
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: édition de liens entre fichiers constant-gp et fichiers non-constant-gp"
+#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+msgid "%B: unable to create fake empty section"
+msgstr "%B: impossible de créer une section vide factice"
-#: elf32-ia64.c:4785 elf64-ia64.c:4785
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: édition de liens entre fichiers auto-pic et fichiers non-auto-pic"
+#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+msgid "%B: aout header specifies an invalid number of data-directory entries: %d"
+msgstr "%B: l'en-tête aout spécifie un nombre invalide d'entrées de répertoire de données: %d"
-#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
#, c-format
-msgid "%s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: débordement du nombre de lignes: 0x%lx > 0xffff"
+msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: débordement du nombre de lignes: 0x%lx > 0xffff"
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
msgid "Export Directory [.edata (or where ever we found it)]"
msgstr "Répertoire d'exportation [.edata (ou là où il a été trouvé)]"
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
msgid "Import Directory [parts of .idata]"
msgstr "Répertoire d'importation [faisant partie de .idata]"
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
msgid "Resource Directory [.rsrc]"
msgstr "Répertoire des resources [.rsrc]"
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
msgid "Exception Directory [.pdata]"
msgstr "Répertoire des exceptions [.pdata]"
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
msgid "Security Directory"
msgstr "Répertoire de la sécurité"
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
msgid "Base Relocation Directory [.reloc]"
msgstr "Répertoire de base du réadressage [.reloc]"
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
msgid "Debug Directory"
msgstr "Répertoire de débug"
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
msgid "Description Directory"
msgstr "Répertoire de description"
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
msgid "Special Directory"
msgstr "Répertoire spécial"
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
msgid "Thread Storage Directory [.tls]"
msgstr "Répertoire des files de stockage [.tls]"
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
msgid "Load Configuration Directory"
msgstr "Répertoire de chargement de configuration"
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
msgid "Bound Import Directory"
msgstr "Répertoire des importations limitées"
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
msgid "Import Address Table Directory"
msgstr "Répertoire de la table d'adresse d'importation"
-#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
msgid "Delay Import Directory"
msgstr "Répertoire des délais d'importation"
-#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
msgid "CLR Runtime Header"
msgstr "En-tête exécutable CLR"
-#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
msgid "Reserved"
msgstr "Réservé"
-#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
#, c-format
msgid ""
"\n"
@@ -5947,7 +8089,16 @@ msgstr ""
"\n"
"Il y a une table d'importation, mais la section la contenant ne peut être repérée\n"
-#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Il y a une table d'importation dans %s, mais cette section n'a pas de contenu\n"
+
+#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
#, c-format
msgid ""
"\n"
@@ -5956,7 +8107,7 @@ msgstr ""
"\n"
"Il y a une table d'importation dans %s à 0x%lx\n"
-#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
#, c-format
msgid ""
"\n"
@@ -5965,12 +8116,12 @@ msgstr ""
"\n"
"Descripteur de fonction localisé à l'adresse de départ: %04lx\n"
-#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
#, c-format
msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
msgstr "\tcode-base %08lx tab. des entrées (chargeable/actuel) %08lx/%08lx\n"
-#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
#, c-format
msgid ""
"\n"
@@ -5979,7 +8130,7 @@ msgstr ""
"\n"
"Pas de section reldata! Descripteur de fonction pas décodé.\n"
-#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
#, c-format
msgid ""
"\n"
@@ -5988,7 +8139,7 @@ msgstr ""
"\n"
"Les tables d'importation (contenus interprété de la section %s)\n"
-#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
#, c-format
msgid ""
" vma: Hint Time Forward DLL First\n"
@@ -5997,30 +8148,36 @@ msgstr ""
" vma: Hint Temps Avant DLL Premier\n"
" Table Estampil. Chaîne Nom Thunk\n"
-#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
#, c-format
msgid ""
"\n"
-"\tDLL Name: %s\n"
+"\tDLL Name: %.*s\n"
msgstr ""
"\n"
-"\tNom DLL: %s\n"
+"\tNom DLL: %.*s\n"
-#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
#, c-format
msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
msgstr "\tvma: Hint/Ord Membre Lien\n"
-#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
#, c-format
msgid ""
"\n"
"There is a first thunk, but the section containing it could not be found\n"
msgstr ""
"\n"
-"Il y a un premier «thunk», mais la section le contenant ne peut être repérée\n"
+"Il y a un premier « thunk », mais la section le contenant ne peut être repérée\n"
+
+#: peigen.c:1518 peigen.c:1556 pepigen.c:1518 pepigen.c:1556 pex64igen.c:1518
+#: pex64igen.c:1556
+#, c-format
+msgid "\t<corrupt: 0x%04lx>"
+msgstr "\t<corrompu: 0x%04lx>"
-#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#: peigen.c:1649 pepigen.c:1649 pex64igen.c:1649
#, c-format
msgid ""
"\n"
@@ -6029,7 +8186,16 @@ msgstr ""
"\n"
"Il y a une table d'exportation, mais la section la contenant n'a pu être repérée\n"
-#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#: peigen.c:1655 pepigen.c:1655 pex64igen.c:1655
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Il y a une table d'exportation dans %s, mais cette section n'a pas de contenu\n"
+
+#: peigen.c:1665 pepigen.c:1665 pex64igen.c:1665
#, c-format
msgid ""
"\n"
@@ -6038,7 +8204,16 @@ msgstr ""
"\n"
"Il y a une table d'exportation dans %s, mais elle ne rentre pas dans la section\n"
-#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#: peigen.c:1676 pepigen.c:1676 pex64igen.c:1676
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it is too small (%d)\n"
+msgstr ""
+"\n"
+"Il y a une table d'exportation dans %s, mais elle est trop petite (%d)\n"
+
+#: peigen.c:1682 pepigen.c:1682 pex64igen.c:1682
#, c-format
msgid ""
"\n"
@@ -6047,7 +8222,7 @@ msgstr ""
"\n"
"Il y a une table d'exportation dans %s à 0x%lx\n"
-#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#: peigen.c:1710 pepigen.c:1710 pex64igen.c:1710
#, c-format
msgid ""
"\n"
@@ -6058,67 +8233,67 @@ msgstr ""
"Les tables d'exportation (contenus interprété de la section %s)\n"
"\n"
-#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
#, c-format
msgid "Export Flags \t\t\t%lx\n"
msgstr "Fanion d'exportation \t\t\t%lx\n"
-#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#: peigen.c:1717 pepigen.c:1717 pex64igen.c:1717
#, c-format
msgid "Time/Date stamp \t\t%lx\n"
msgstr "Tampon Heure/Date \t\t%lx\n"
-#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
#, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
msgstr "Majeur/Mineur \t\t\t%d/%d\n"
-#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#: peigen.c:1724 pepigen.c:1724 pex64igen.c:1724
#, c-format
msgid "Name \t\t\t\t"
msgstr "Nom \t\t\t\t"
-#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#: peigen.c:1735 pepigen.c:1735 pex64igen.c:1735
#, c-format
msgid "Ordinal Base \t\t\t%ld\n"
msgstr "base de nombre ordinal \t\t\t%ld\n"
-#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#: peigen.c:1738 pepigen.c:1738 pex64igen.c:1738
#, c-format
msgid "Number in:\n"
msgstr "Numéro dans:\n"
-#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#: peigen.c:1741 pepigen.c:1741 pex64igen.c:1741
#, c-format
msgid "\tExport Address Table \t\t%08lx\n"
msgstr "\tTable d'adresses d'exportation \t\t%08lx\n"
-#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
#, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
msgstr "\tTable [Nom pointeur/Nombre ordinal]\t%08lx\n"
-#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#: peigen.c:1748 pepigen.c:1748 pex64igen.c:1748
#, c-format
msgid "Table Addresses\n"
msgstr "Table d'adresses\n"
-#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#: peigen.c:1751 pepigen.c:1751 pex64igen.c:1751
#, c-format
msgid "\tExport Address Table \t\t"
msgstr "\tTable d'adresse d'exportation \t\t"
-#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#: peigen.c:1756 pepigen.c:1756 pex64igen.c:1756
#, c-format
msgid "\tName Pointer Table \t\t"
msgstr "\tTable des noms de pointeurs \t\t"
-#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#: peigen.c:1761 pepigen.c:1761 pex64igen.c:1761
#, c-format
msgid "\tOrdinal Table \t\t\t"
msgstr "\tTable des ordinals \t\t\t"
-#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#: peigen.c:1775 pepigen.c:1775 pex64igen.c:1775
#, c-format
msgid ""
"\n"
@@ -6127,15 +8302,20 @@ msgstr ""
"\n"
"Table d'adresses d'exportation -- base de nombre ordinal %ld\n"
-#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+#: peigen.c:1784 pepigen.c:1784 pex64igen.c:1784
+#, c-format
+msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tL'adresse virtuelle relative de la table des adresses exportées (0x%lx) ou le nombre d'entrées (0x%lx) est invalide\n"
+
+#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
msgid "Forwarder RVA"
msgstr "Adresseur RVA"
-#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+#: peigen.c:1815 pepigen.c:1815 pex64igen.c:1815
msgid "Export RVA"
msgstr "Exportation RVA"
-#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#: peigen.c:1822 pepigen.c:1822 pex64igen.c:1822
#, c-format
msgid ""
"\n"
@@ -6144,18 +8324,43 @@ msgstr ""
"\n"
"Table [Ordinal/Nom de pointeur]\n"
-#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
-#: pex64igen.c:1797
+#: peigen.c:1830 pepigen.c:1830 pex64igen.c:1830
+#, c-format
+msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tAdresse virtuelle relative de la table des pointeurs de noms (0x%lx) ou nombre d'entrées (0x%lx) invalide\n"
+
+#: peigen.c:1837 pepigen.c:1837 pex64igen.c:1837
+#, c-format
+msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tAdresse virtuelle relative de la table ordinale (0x%lx) ou nombre d'entrées (0x%lx) invalide\n"
+
+#: peigen.c:1851 pepigen.c:1851 pex64igen.c:1851
+#, c-format
+msgid "\t[%4ld] <corrupt offset: %lx>\n"
+msgstr "\t[%4ld] <offset corrompu: %lx>\n"
+
+#: peigen.c:1905 peigen.c:2102 pepigen.c:1905 pepigen.c:2102 pex64igen.c:1905
+#: pex64igen.c:2102
#, c-format
msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
msgstr "Attention, taille de la section .pdata (%ld) n'est pas un multiple de %d\n"
-#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
+#: pex64igen.c:2106
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+"\n"
+"La table de fonctions (interprétation du contenu de la section .pdata)\n"
+
+#: peigen.c:1912 pepigen.c:1912 pex64igen.c:1912
#, c-format
msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
msgstr " vma:\t\t\tDébut Adresse Fin Adresse Unwind Info\n"
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
#, c-format
msgid ""
" vma:\t\tBegin End EH EH PrologEnd Exception\n"
@@ -6164,22 +8369,27 @@ msgstr ""
" vma:\t\tDébut Fin EH EH FinProlog Exception\n"
" \t\tAdresse Adresse Handler Données Adresse Masque\n"
-#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#: peigen.c:1927 pepigen.c:1927 pex64igen.c:1927
+#, c-format
+msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
+msgstr "La taille virtuelle de la section .pdata (%ld) est plus grande que la taille réelle (%ld)\n"
+
+#: peigen.c:1997 pepigen.c:1997 pex64igen.c:1997
#, c-format
msgid " Register save millicode"
msgstr " Registre a préservé le millicode"
-#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#: peigen.c:2000 pepigen.c:2000 pex64igen.c:2000
#, c-format
msgid " Register restore millicode"
msgstr " Registre a restauré le millicode"
-#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#: peigen.c:2003 pepigen.c:2003 pex64igen.c:2003
#, c-format
msgid " Glue code sequence"
msgstr " Séquence du code de liants"
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:2108 pepigen.c:2108 pex64igen.c:2108
#, c-format
msgid ""
" vma:\t\tBegin Prolog Function Flags Exception EH\n"
@@ -6188,7 +8398,7 @@ msgstr ""
" vma:\t\tDébut Long. Long. Fanions Gestion. EH\n"
" \t\tAdresse Prolog. Fonction 32b exc Exception Données\n"
-#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#: peigen.c:2230 pepigen.c:2230 pex64igen.c:2230
#, c-format
msgid ""
"\n"
@@ -6199,7 +8409,7 @@ msgstr ""
"\n"
"Fichier de base des réadressages PE (contenus interprétés de la section .reloc)\n"
-#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#: peigen.c:2260 pepigen.c:2260 pex64igen.c:2260
#, c-format
msgid ""
"\n"
@@ -6208,15 +8418,143 @@ msgstr ""
"\n"
"Adresse virtuelle: %08lx taille des morceaux %ld (0x%lx) nombre de correctifs %ld\n"
-#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#: peigen.c:2278 pepigen.c:2278 pex64igen.c:2278
#, c-format
msgid "\treloc %4d offset %4x [%4lx] %s"
-msgstr "\trelocalisation %4d décalage %4x [%4lx] %s"
+msgstr "\tréadressage %4d décalage %4x [%4lx] %s"
+
+#: peigen.c:2339 pepigen.c:2339 pex64igen.c:2339
+#, c-format
+msgid "%03x %*.s Entry: "
+msgstr "%03x %*.s Entrée: "
+
+#: peigen.c:2363 pepigen.c:2363 pex64igen.c:2363
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "nom: [val: %08lx long %d]: "
+
+#: peigen.c:2383 pepigen.c:2383 pex64igen.c:2383
+#, c-format
+msgid "<corrupt string length: %#x>\n"
+msgstr "<longueur de la chaîne corrompue: %#x>\n"
+
+#: peigen.c:2393 pepigen.c:2393 pex64igen.c:2393
+#, c-format
+msgid "<corrupt string offset: %#lx>\n"
+msgstr "<offset de la chaîne corrompue: %#lx>\n"
+
+#: peigen.c:2398 pepigen.c:2398 pex64igen.c:2398
+#, c-format
+msgid "ID: %#08lx"
+msgstr "ID: %#08lx"
+
+#: peigen.c:2401 pepigen.c:2401 pex64igen.c:2401
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", Valeur: %#08lx\n"
+
+#: peigen.c:2423 pepigen.c:2423 pex64igen.c:2423
+#, c-format
+msgid "%03x %*.s Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%03x %*.s Feuilles: Adr: %#08lx, Taille: %#08lx, Codepage: %d\n"
+
+#: peigen.c:2465 pepigen.c:2465 pex64igen.c:2465
+#, c-format
+msgid "<unknown directory type: %d>\n"
+msgstr "<type de répertoire inconnu: %d>\n"
+
+#: peigen.c:2473 pepigen.c:2473 pex64igen.c:2473
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr "Table: Car: %d, Temps: %08lx, Ver: %d/%d, Nbr Noms: %d, IDs: %d\n"
+
+#: peigen.c:2562 pepigen.c:2562 pex64igen.c:2562
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr "Détection d'une section .rsrc corrompue !\n"
+
+#: peigen.c:2586 pepigen.c:2586 pex64igen.c:2586
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"ATTENTION: Données en trop dans la section .rsrc – elles seront ignorées par Windows:\n"
+
+#: peigen.c:2592 pepigen.c:2592 pex64igen.c:2592
+#, c-format
+msgid " String table starts at offset: %#03x\n"
+msgstr " La table des chaînes démarre au décalage: %#03x\n"
+
+#: peigen.c:2595 pepigen.c:2595 pex64igen.c:2595
+#, c-format
+msgid " Resources start at offset: %#03x\n"
+msgstr " Les ressources démarrent au décalage: %#03x\n"
+
+#: peigen.c:2647 pepigen.c:2647 pex64igen.c:2647
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"Ceci est un répertoire de débogage, mais la section le contenant ne peut être repérée\n"
+
+#: peigen.c:2653 pepigen.c:2653 pex64igen.c:2653
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"Il y a un répertoire de débogage dans %s, mais cette section n'a pas de contenu\n"
+
+#: peigen.c:2660 pepigen.c:2660 pex64igen.c:2660
+#, c-format
+msgid ""
+"\n"
+"Error: section %s contains the debug data starting address but it is too small\n"
+msgstr ""
+"\n"
+"Erreur: la section %s contient l'adresse de départ des données de débogage mais elle est trop petite\n"
+
+#: peigen.c:2665 pepigen.c:2665 pex64igen.c:2665
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s at 0x%lx\n"
+"\n"
+msgstr ""
+"\n"
+"Il y a un répertoire de débogage dans %s à 0x%lx\n"
+
+#: peigen.c:2672 pepigen.c:2672 pex64igen.c:2672
+#, c-format
+msgid "The debug data size field in the data directory is too big for the section"
+msgstr "Le champ de taille des données de débogage dans le répertoire de données est trop grand pour la section"
+
+# RVA = Adresse Virtuelle Relative mais AVR semble inconnu sur internet. Gageons que les utilisateurs trouverons plus
+# facilement la signification de RVA dans ce contexte.
+#: peigen.c:2677 pepigen.c:2677 pex64igen.c:2677
+#, c-format
+msgid "Type Size Rva Offset\n"
+msgstr "Type Taille Rva Décalage\n"
+
+#: peigen.c:2725 pepigen.c:2725 pex64igen.c:2725
+#, c-format
+msgid "(format %c%c%c%c signature %s age %ld)\n"
+msgstr "(format %c%c%c%c signature %s age %ld)\n"
+
+#: peigen.c:2733 pepigen.c:2733 pex64igen.c:2733
+#, c-format
+msgid "The debug directory size is not a multiple of the debug directory entry size\n"
+msgstr "La taille du répertoire de débogage n'est pas un multiple de la taille d'une entrée du répertoire de débogage\n"
#. The MS dumpbin program reportedly ands with 0xff0f before
#. printing the characteristics field. Not sure why. No reason to
#. emulate it here.
-#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#: peigen.c:2753 pepigen.c:2753 pex64igen.c:2753
#, c-format
msgid ""
"\n"
@@ -6225,48 +8563,245 @@ msgstr ""
"\n"
"Caractéristiques 0x%x\n"
-#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
+#, c-format
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%lx)"
+msgstr "%B: La taille du répertoire de données (%lx) excède l'espace restant dans la section (%lx)"
+
+#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
+msgid "Failed to update file offsets in debug directory"
+msgstr "Échec lors de la mise à jour des décalages du fichier dans le répertoire de débogage"
+
+#: peigen.c:3024 pepigen.c:3024 pex64igen.c:3024
+msgid "%B: Failed to read debug data section"
+msgstr "%B: Échec lors de la lecture de la section des données de débogage"
+
+#: peigen.c:3840 pepigen.c:3840 pex64igen.c:3840
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr "échec de la fusion de .rsrc: ressource chaîne dupliquée: %d"
+
+#: peigen.c:3975 pepigen.c:3975 pex64igen.c:3975
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr "échec de la fusion de .rsrc: plusieurs manifestes pas par défaut"
+
+#: peigen.c:3993 pepigen.c:3993 pex64igen.c:3993
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr "échec de la fusion de .rsrc: un répertoire correspond à une feuille"
+
+#: peigen.c:4035 pepigen.c:4035 pex64igen.c:4035
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr "échec de la fusion de .rsrc: feuille dupliquée"
+
+#: peigen.c:4037 pepigen.c:4037 pex64igen.c:4037
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr "échec de la fusion .rsrc: feuille dupliquée: %s"
+
+#: peigen.c:4103 pepigen.c:4103 pex64igen.c:4103
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr "échec de la fusion .rsrc: répertoires avec des caractéristiques différentes\n"
+
+#: peigen.c:4110 pepigen.c:4110 pex64igen.c:4110
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr "échec de la fusion de .rsrc: versions de répertoires différentes\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:4227 pepigen.c:4227 pex64igen.c:4227
+msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%B: échec de la fusion de .rsrc: section .rsrc corrompue"
+
+#: peigen.c:4235 pepigen.c:4235 pex64igen.c:4235
+msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%B: échec de la fusion de .rsrc: taille de .rsrc inattendue"
+
+#: peigen.c:4374 pepigen.c:4374 pex64igen.c:4374
msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
msgstr "%B: impossible de remplir DataDictionary[1] car .idata$2 est manquant"
-#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+#: peigen.c:4394 pepigen.c:4394 pex64igen.c:4394
msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
msgstr "%B: impossible de remplir DataDictionary[1] car .idata$4 est manquant"
-#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+#: peigen.c:4415 pepigen.c:4415 pex64igen.c:4415
msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
msgstr "%B: impossible de remplir DataDictionary[12] car .idata$5 est manquant"
-#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+#: peigen.c:4435 pepigen.c:4435 pex64igen.c:4435
msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
msgstr "%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] car .idata$6 est manquant"
-#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+#: peigen.c:4477 pepigen.c:4477 pex64igen.c:4477
msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
msgstr "%B: impossible de remplir DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] car .idata$6 est manquant"
-#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+#: peigen.c:4502 pepigen.c:4502 pex64igen.c:4502
msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
msgstr "%B: impossible de remplir DataDictionary[9] car __tls_used est manquant"
-#~ msgid "%B: error: taking the address of protected function '%s' cannot be done when making a shared library"
-#~ msgstr "%B: erreur: l'adresse de la fonction protégée « %s » ne peut être prise lors de la création d'une librairie partagée"
+#~ msgid "Unrecognized reloc"
+#~ msgstr "Relocalisation non reconnue"
+
+#~ msgid "%s: warning: illegal symbol index %ld in relocs"
+#~ msgstr "%s: attention: symbole index illégal %ld dans les relocalisations"
+
+#~ msgid "Dwarf Error: Bad abbrev number: %u."
+#~ msgstr "Erreur DWARF: mauvais numéro abrégé: %u"
+
+#~ msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
+#~ msgstr "%B: je ne sais pas comment traiter la section « %s » [0x%8x] allouée et spécifique à l'application"
+
+#~ msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
+#~ msgstr "%B: je ne sais pas comment traiter la section « %s » [0x%8x] spécifique au processeur"
+
+#~ msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
+#~ msgstr "%B: je ne sais pas comment traiter la section « %s » [0x%8x] spécifique au système d'exploitation"
+
+#~ msgid "%B: don't know how to handle section `%s' [0x%8x]"
+#~ msgstr "%B: je ne sais pas comment traiter la section « %s » [0x%8x]"
+
+#~ msgid " [has entry point]"
+#~ msgstr " [a des points d'entrées]"
+
+#~ msgid "error: required section '%s' not found in the linker script"
+#~ msgstr "erreur: section requise « %s » pas trouvée dans le script de liaison"
+
+#~ msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+#~ msgstr "%s: utilise des champs e_flags (0x%lx) différents des modules précédents (0x%lx)"
+
+#~ msgid "%s: unknown relocation type %d"
+#~ msgstr "%s: type de réadressage %d inconnu"
+
+#~ msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
+#~ msgstr "%s: la cible (%s) du réadressage %s est dans la mauvaise section (%s)"
+
+#~ msgid "%B: %s\n"
+#~ msgstr "%B: %s\n"
+
+#~ msgid "%B(%A): warning: relax is suppressed for sections of alignment %d-bytes > 4-byte."
+#~ msgstr "%B(%A): attention: la relaxation est supprimée pour les sections avec l'alignement %d octets > 4 octets."
+
+#~ msgid "Warning: %B uses soft float, %B uses single-precision hard float"
+#~ msgstr "Attention: %B utilise la virgule flottante logicielle, %B utilise la virgule flottante simple précision matérielle"
+
+#~ msgid "Warning: %B uses unknown floating point ABI %d"
+#~ msgstr "Attention: %B utilise l'ABI inconnu %d pour la gestion des virgules flottantes"
+
+#~ msgid "Warning: %B uses unknown vector ABI %d"
+#~ msgstr "Attention: %B utilise l'ABI inconnu %d pour les vecteurs"
+
+#~ msgid "Warning: %B uses unknown small structure return convention %d"
+#~ msgstr "Attention: %B utilise la convention inconnue %d pour le retour des petites structures"
+
+#~ msgid " [G10]"
+#~ msgstr " [G10]"
+
+#~ msgid "%s: Malformed reloc detected for section %s"
+#~ msgstr "%s: relocalisation mal composée détectée dans la section %s"
+
+#~ msgid " %s: 0x%v\n"
+#~ msgstr " %s: 0x%v\n"
+
+#~ msgid "%s: 0x%v 0x%v\n"
+#~ msgstr "%s: 0x%v 0x%v\n"
+
+#~ msgid " %s%s %s\n"
+#~ msgstr " %s%s %s\n"
+
+#~ msgid ", 8-byte data alignment"
+#~ msgstr ", alignement de données sur 8 octets"
+
+#~ msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
+#~ msgstr "%B: réadressage %s vers le %s non défini « %s » ne peut pas être utilisé en créant un objet partagé %s"
+
+#~ msgid "[%u]: %u\n"
+#~ msgstr "[%u]: %u\n"
+
+#~ msgid ": %u.%u\n"
+#~ msgstr ": %u.%u\n"
+
+#~ msgid ""
+#~ "%B(%s): warning: interworking not enabled.\n"
+#~ " first occurrence: %B: thumb call to arm"
+#~ msgstr ""
+#~ "%B(%s): attention: l'inter-réseautage n'est pas activé.\n"
+#~ " première occurrence: %B: appel de repère vers arm"
+
+#~ msgid "DIV usage mismatch between %B and %B"
+#~ msgstr "incohérence d'utilisation de DIV entre %B et %B"
+
+#~ msgid "%P: dynamic variable `%s' is zero size\n"
+#~ msgstr "%P: la variable dynamique « %s » a une taille nulle\n"
+
+#~ msgid " [dsp]"
+#~ msgstr " [dsp]"
+
+#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+#~ msgstr "%P: %H: TOC multiples et automatiques non supportées utilisant votre fichier crt; recompilez avec -mminimal-toc ou mettez à jour gcc\n"
+
+#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+#~ msgstr "%P: %H: l'optimisation sœurs des appels vers « %s » n'autorise pas de TOC multiples et automatiques; recompilez avec -mminimal-toc ou -fno-optimize-sibling-calls, ou rendez « %s » externe\n"
+
+#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+#~ msgstr "note: « %s » est défini dans le DSO %B donc essayez de l'ajouter à la ligne de commande du lieur"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Attention: %B utilise -msingle-float, %B utilise -mips32r2 -mfp64"
+
+#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "Attention: %B utilise -mdouble-float, %B utilise -mips32r2 -mfp64"
+
+#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+#~ msgstr "bfd_mach_o_read_symtab_symbol: symbole « %s » a la référence non supportée « indirect »: laissé non défini"
+
+#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+#~ msgstr "bfd_mach_o_read_dysymtab_symbol: impossible de lire %lu octets à %lu"
+
+#~ msgid "Mach-O header:\n"
+#~ msgstr "En-tête Mach-O:\n"
+
+#~ msgid " magic : %08lx\n"
+#~ msgstr " magique : %08lx\n"
+
+#~ msgid " cputype : %08lx (%s)\n"
+#~ msgstr " typecpu : %08lx (%s)\n"
+
+#~ msgid " filetype : %08lx (%s)\n"
+#~ msgstr " typefichier: %08lx (%s)\n"
+
+#~ msgid " ncmds : %08lx (%lu)\n"
+#~ msgstr " ncmds : %08lx (%lu)\n"
+
+#~ msgid " sizeofcmds: %08lx\n"
+#~ msgstr " taillecmds: %08lx\n"
+
+#~ msgid " flags : %08lx ("
+#~ msgstr " fanions : %08lx ("
+
+#~ msgid " reserved : %08x\n"
+#~ msgstr " réservé : %08x\n"
+
+#~ msgid "Segments and Sections:\n"
+#~ msgstr "Segments et Sections:\n"
+
+#~ msgid " #: Segment name Section name Address\n"
+#~ msgstr " #: Nom segment Nom section Adresse\n"
+
+#~ msgid "Symbol %s replaced by %s\n"
+#~ msgstr "Symbole %s remplacé par %s\n"
#~ msgid "%B(%A+0x%lx): cannot reach %s"
#~ msgstr "%B(%A+0x%lx): ne peut atteindre %s"
#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
-#~ msgstr "%B: attention: ignore la section dupliquée «%A»\n"
+#~ msgstr "%B: attention: ignore la section dupliquée « %A »\n"
#~ msgid "%B: warning: duplicate section `%A' has different size\n"
-#~ msgstr "%B: attention: section dupliquée «%A» avec des tailles différentes\n"
+#~ msgstr "%B: attention: section dupliquée « %A » avec des tailles différentes\n"
#~ msgid "relocation references a different segment"
#~ msgstr "la relocalisation fait référence à un segment différent"
-#~ msgid "%B: relocation type %d not implemented"
-#~ msgstr "%B: relocalisation de type %d pas implémentée"
-
#~ msgid "warning: %B and %B differ in position-dependence of data addressing"
#~ msgstr "attention: %B et %B divergent sur la dépendance de la position de l'adressage des données"
@@ -6292,7 +8827,7 @@ msgstr "%B: impossible de remplir DataDictionary[9] car __tls_used est manquant"
#~ msgstr "section %s vide ou corrompue dans %B"
#~ msgid "%s: invalid DSO for symbol `%s' definition"
-#~ msgstr "%s: DSO incorrect pour la définition du symbole «%s»"
+#~ msgstr "%s: DSO incorrect pour la définition du symbole « %s »"
#~ msgid "%B: %A+0x%lx: jump to stub routine which is not jal"
#~ msgstr "%B: %A+0x%lx: saut vers la routine dans la partie de l'ébauche (stub) qui n'est pas jal"
diff --git a/bfd/po/hr.po b/bfd/po/hr.po
new file mode 100644
index 0000000..66723ae
--- /dev/null
+++ b/bfd/po/hr.po
@@ -0,0 +1,6138 @@
+# Translation of bfd to Croatian.
+# Copyright © 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bfd 2.22.90\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2011-10-25 11:58+0100\n"
+"PO-Revision-Date: 2013-01-12 00:50+0100\n"
+"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Gtranslator 2.91.6\n"
+
+#: aout-adobe.c:127
+msgid "%B: Unknown section type in a.out.adobe file: %x\n"
+msgstr "%B: Nepoznata vrsta odlomka u a.out.adobe datoteci: %x\n"
+
+#: aout-cris.c:199
+#, c-format
+msgid "%s: Invalid relocation type exported: %d"
+msgstr ""
+
+#: aout-cris.c:242
+msgid "%B: Invalid relocation type imported: %d"
+msgstr ""
+
+#: aout-cris.c:253
+msgid "%B: Bad relocation record imported: %d"
+msgstr ""
+
+#: aoutx.h:1273 aoutx.h:1611
+#, c-format
+msgid "%s: can not represent section `%s' in a.out object file format"
+msgstr ""
+
+#: aoutx.h:1577
+#, c-format
+msgid "%s: can not represent section for symbol `%s' in a.out object file format"
+msgstr ""
+
+#: aoutx.h:1579 vms-alpha.c:7671
+msgid "*unknown*"
+msgstr "*nepoznato*"
+
+#: aoutx.h:4018 aoutx.h:4344
+msgid "%P: %B: unexpected relocation type\n"
+msgstr ""
+
+#: aoutx.h:5375
+#, c-format
+msgid "%s: relocatable link from %s to %s not supported"
+msgstr ""
+
+#: archive.c:2203
+msgid "Warning: writing archive was slow: rewriting timestamp\n"
+msgstr ""
+
+#: archive.c:2491
+msgid "Reading archive file mod timestamp"
+msgstr ""
+
+#: archive.c:2515
+msgid "Writing updated armap timestamp"
+msgstr ""
+
+#: bfd.c:398
+msgid "No error"
+msgstr "Nema greške"
+
+#: bfd.c:399
+msgid "System call error"
+msgstr ""
+
+#: bfd.c:400
+msgid "Invalid bfd target"
+msgstr ""
+
+#: bfd.c:401
+msgid "File in wrong format"
+msgstr ""
+
+#: bfd.c:402
+msgid "Archive object file in wrong format"
+msgstr ""
+
+#: bfd.c:403
+msgid "Invalid operation"
+msgstr ""
+
+#: bfd.c:404
+msgid "Memory exhausted"
+msgstr "Memorija iscrpljena"
+
+#: bfd.c:405
+msgid "No symbols"
+msgstr ""
+
+#: bfd.c:406
+msgid "Archive has no index; run ranlib to add one"
+msgstr ""
+
+#: bfd.c:407
+msgid "No more archived files"
+msgstr ""
+
+#: bfd.c:408
+msgid "Malformed archive"
+msgstr ""
+
+#: bfd.c:409
+msgid "File format not recognized"
+msgstr ""
+
+#: bfd.c:410
+msgid "File format is ambiguous"
+msgstr ""
+
+#: bfd.c:411
+msgid "Section has no contents"
+msgstr ""
+
+#: bfd.c:412
+msgid "Nonrepresentable section on output"
+msgstr ""
+
+#: bfd.c:413
+msgid "Symbol needs debug section which does not exist"
+msgstr ""
+
+#: bfd.c:414
+msgid "Bad value"
+msgstr "Neispravna vrijednost"
+
+#: bfd.c:415
+msgid "File truncated"
+msgstr ""
+
+#: bfd.c:416
+msgid "File too big"
+msgstr "Datoteka je prevelika"
+
+#: bfd.c:417
+#, c-format
+msgid "Error reading %s: %s"
+msgstr "GreÅ¡ka pri Äitanju %s: %s"
+
+#: bfd.c:418
+msgid "#<Invalid error code>"
+msgstr ""
+
+#: bfd.c:945
+#, c-format
+msgid "BFD %s assertion fail %s:%d"
+msgstr ""
+
+#: bfd.c:957
+#, c-format
+msgid "BFD %s internal error, aborting at %s line %d in %s\n"
+msgstr ""
+
+#: bfd.c:961
+#, c-format
+msgid "BFD %s internal error, aborting at %s line %d\n"
+msgstr ""
+
+#: bfd.c:963
+msgid "Please report this bug.\n"
+msgstr "Molim prijavite ovu grešku.\n"
+
+#: bfdwin.c:206
+#, c-format
+msgid "not mapping: data=%lx mapped=%d\n"
+msgstr ""
+
+#: bfdwin.c:209
+#, c-format
+msgid "not mapping: env var not set\n"
+msgstr ""
+
+#: binary.c:271
+#, c-format
+msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
+msgstr ""
+
+#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
+#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
+#: elf64-ia64.c:360
+msgid "%P%F: --relax and -r may not be used together\n"
+msgstr ""
+
+#: cache.c:227
+msgid "reopening %B: %s\n"
+msgstr ""
+
+#: coff-alpha.c:491
+msgid ""
+"%B: Cannot handle compressed Alpha binaries.\n"
+" Use compiler flags, or objZ, to generate uncompressed binaries."
+msgstr ""
+
+#: coff-alpha.c:648
+msgid "%B: unknown/unsupported relocation type %d"
+msgstr ""
+
+#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+msgid "GP relative relocation used when GP not defined"
+msgstr ""
+
+#: coff-alpha.c:1502
+msgid "using multiple gp values"
+msgstr ""
+
+#: coff-alpha.c:1561
+msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
+msgstr ""
+
+#: coff-alpha.c:1568
+msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
+msgstr ""
+
+#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
+#: elf32-ia64.c:3839 elf64-ia64.c:3839
+msgid "%B: unknown relocation type %d"
+msgstr ""
+
+#: coff-arm.c:1038
+#, c-format
+msgid "%B: unable to find THUMB glue '%s' for `%s'"
+msgstr ""
+
+#: coff-arm.c:1067
+#, c-format
+msgid "%B: unable to find ARM glue '%s' for `%s'"
+msgstr ""
+
+#: coff-arm.c:1369 elf32-arm.c:7023
+#, c-format
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+" first occurrence: %B: arm call to thumb"
+msgstr ""
+
+#: coff-arm.c:1459
+#, c-format
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+" first occurrence: %B: thumb call to arm\n"
+" consider relinking with --support-old-code enabled"
+msgstr ""
+
+#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
+msgid "%B: bad reloc address 0x%lx in section `%A'"
+msgstr ""
+
+#: coff-arm.c:2079
+msgid "%B: illegal symbol index in reloc: %d"
+msgstr ""
+
+#: coff-arm.c:2210
+#, c-format
+msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
+msgstr ""
+
+#: coff-arm.c:2226 elf32-arm.c:15621
+#, c-format
+msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
+msgstr ""
+
+#: coff-arm.c:2229 elf32-arm.c:15625
+#, c-format
+msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
+msgstr ""
+
+#: coff-arm.c:2243
+#, c-format
+msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
+msgstr ""
+
+#: coff-arm.c:2246
+#, c-format
+msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
+msgstr ""
+
+#: coff-arm.c:2274 elf32-arm.c:15690
+#, c-format
+msgid "Warning: %B supports interworking, whereas %B does not"
+msgstr ""
+
+#: coff-arm.c:2277 elf32-arm.c:15696
+#, c-format
+msgid "Warning: %B does not support interworking, whereas %B does"
+msgstr ""
+
+#: coff-arm.c:2301
+#, c-format
+msgid "private flags = %x:"
+msgstr ""
+
+#: coff-arm.c:2309 elf32-arm.c:11806
+#, c-format
+msgid " [floats passed in float registers]"
+msgstr ""
+
+#: coff-arm.c:2311
+#, c-format
+msgid " [floats passed in integer registers]"
+msgstr ""
+
+#: coff-arm.c:2314 elf32-arm.c:11809
+#, c-format
+msgid " [position independent]"
+msgstr ""
+
+#: coff-arm.c:2316
+#, c-format
+msgid " [absolute position]"
+msgstr ""
+
+#: coff-arm.c:2320
+#, c-format
+msgid " [interworking flag not initialised]"
+msgstr ""
+
+#: coff-arm.c:2322
+#, c-format
+msgid " [interworking supported]"
+msgstr ""
+
+#: coff-arm.c:2324
+#, c-format
+msgid " [interworking not supported]"
+msgstr ""
+
+#: coff-arm.c:2370 elf32-arm.c:10841
+#, c-format
+msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
+msgstr ""
+
+#: coff-arm.c:2374 elf32-arm.c:10845
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B due to outside request"
+msgstr ""
+
+#: coff-h8300.c:1122
+#, c-format
+msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
+msgstr ""
+
+#: coff-i860.c:147
+#, c-format
+msgid "relocation `%s' not yet implemented"
+msgstr ""
+
+#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+msgid "%B: warning: illegal symbol index %ld in relocs"
+msgstr ""
+
+#: coff-i960.c:144 coff-i960.c:507
+msgid "uncertain calling convention for non-COFF symbol"
+msgstr ""
+
+#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+msgid "unsupported reloc type"
+msgstr ""
+
+#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
+#: elf64-mips.c:2618 elfn32-mips.c:2431
+msgid "GP relative relocation when _gp not defined"
+msgstr ""
+
+#: coff-or32.c:229
+msgid "Unrecognized reloc"
+msgstr ""
+
+#: coff-rs6000.c:2720
+#, c-format
+msgid "%s: unsupported relocation type 0x%02x"
+msgstr ""
+
+#: coff-rs6000.c:2805
+#, c-format
+msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
+msgstr ""
+
+#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+msgid "%B: symbol `%s' has unrecognized smclas %d"
+msgstr ""
+
+#: coff-sh.c:521
+#, c-format
+msgid "SH Error: unknown reloc type %d"
+msgstr ""
+
+#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr ""
+
+#: coff-tic4x.c:240
+#, c-format
+msgid "%s: warning: illegal symbol index %ld in relocs"
+msgstr ""
+
+#: coff-w65.c:367
+#, c-format
+msgid "ignoring reloc %s\n"
+msgstr ""
+
+#: coffcode.h:997
+msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
+msgstr ""
+
+#. Generate a warning message rather using the 'unhandled'
+#. variable as this will allow some .sys files generate by
+#. other toolchains to be processed. See bugzilla issue 196.
+#: coffcode.h:1221
+msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
+msgstr ""
+
+#: coffcode.h:1288
+msgid "%B (%s): Section flag %s (0x%x) ignored"
+msgstr ""
+
+#: coffcode.h:2430
+#, c-format
+msgid "Unrecognized TI COFF target id '0x%x'"
+msgstr ""
+
+#: coffcode.h:2744
+msgid "%B: reloc against a non-existant symbol index: %ld"
+msgstr ""
+
+#: coffcode.h:3302
+msgid "%B: too many sections (%d)"
+msgstr ""
+
+#: coffcode.h:3718
+msgid "%B: section %s: string table overflow at offset %ld"
+msgstr ""
+
+#: coffcode.h:4523
+msgid "%B: warning: line number table read failed"
+msgstr ""
+
+#: coffcode.h:4553
+msgid "%B: warning: illegal symbol index %ld in line numbers"
+msgstr ""
+
+#: coffcode.h:4567
+msgid "%B: warning: duplicate line number information for `%s'"
+msgstr ""
+
+#: coffcode.h:4967
+msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
+msgstr ""
+
+#: coffcode.h:5093
+msgid "warning: %B: local symbol `%s' has no section"
+msgstr ""
+
+#: coffcode.h:5237
+msgid "%B: illegal relocation type %d at address 0x%lx"
+msgstr ""
+
+#: coffgen.c:1595
+msgid "%B: bad string table size %lu"
+msgstr ""
+
+#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+msgid "%F%P: already_linked_table: %E\n"
+msgstr ""
+
+#: cofflink.c:533 elflink.c:4323
+msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
+msgstr ""
+
+#: cofflink.c:2329
+msgid "%B: relocs in section `%A', but it has no contents"
+msgstr ""
+
+#: cofflink.c:2391 elflink.c:9545
+msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
+msgstr ""
+
+#: cofflink.c:2690 coffswap.h:826
+#, c-format
+msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr ""
+
+#: cofflink.c:2699 coffswap.h:812
+#, c-format
+msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr ""
+
+#: cpu-arm.c:189 cpu-arm.c:200
+msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
+msgstr ""
+
+#: cpu-arm.c:333
+#, c-format
+msgid "warning: unable to update contents of %s section in %s"
+msgstr ""
+
+#: dwarf2.c:496
+#, c-format
+msgid "Dwarf Error: Can't find %s section."
+msgstr ""
+
+#: dwarf2.c:525
+#, c-format
+msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
+msgstr ""
+
+#: dwarf2.c:949
+#, c-format
+msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
+msgstr ""
+
+#: dwarf2.c:1200
+msgid "Dwarf Error: mangled line number section (bad file number)."
+msgstr ""
+
+#: dwarf2.c:1453
+#, c-format
+msgid "Dwarf Error: Unhandled .debug_line version %d."
+msgstr ""
+
+#: dwarf2.c:1475
+msgid "Dwarf Error: Invalid maximum operations per instruction."
+msgstr ""
+
+#: dwarf2.c:1662
+msgid "Dwarf Error: mangled line number section."
+msgstr ""
+
+#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#, c-format
+msgid "Dwarf Error: Could not find abbrev number %u."
+msgstr ""
+
+#: dwarf2.c:2355
+#, c-format
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
+msgstr ""
+
+#: dwarf2.c:2362
+#, c-format
+msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
+msgstr ""
+
+#: dwarf2.c:2385
+#, c-format
+msgid "Dwarf Error: Bad abbrev number: %u."
+msgstr ""
+
+#: ecoff.c:1239
+#, c-format
+msgid "Unknown basic type %d"
+msgstr "Nepoznata osnovna vrsta %d"
+
+#: ecoff.c:1496
+#, c-format
+msgid ""
+"\n"
+" End+1 symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1503 ecoff.c:1506
+#, c-format
+msgid ""
+"\n"
+" First symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1518
+#, c-format
+msgid ""
+"\n"
+" End+1 symbol: %-7ld Type: %s"
+msgstr ""
+
+#: ecoff.c:1525
+#, c-format
+msgid ""
+"\n"
+" Local symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1533
+#, c-format
+msgid ""
+"\n"
+" struct; End+1 symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1538
+#, c-format
+msgid ""
+"\n"
+" union; End+1 symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1543
+#, c-format
+msgid ""
+"\n"
+" enum; End+1 symbol: %ld"
+msgstr ""
+
+#: ecoff.c:1549
+#, c-format
+msgid ""
+"\n"
+" Type: %s"
+msgstr ""
+"\n"
+" Vrsta: %s"
+
+#: elf-attrs.c:569
+msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
+msgstr ""
+
+#: elf-attrs.c:578
+msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
+msgstr ""
+
+#: elf-eh-frame.c:917
+msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
+msgstr ""
+
+#: elf-eh-frame.c:1189
+msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr ""
+
+#: elf-eh-frame.c:1605
+msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+msgstr ""
+
+#: elf-ifunc.c:179
+msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
+msgstr ""
+
+#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
+#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
+#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
+#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
+#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
+#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
+#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
+#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
+#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+msgid "internal error: out of range error"
+msgstr ""
+
+#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
+#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
+#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
+#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
+#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
+#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
+#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
+#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
+#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
+#: elfxx-tilegx.c:3581
+msgid "internal error: unsupported relocation error"
+msgstr ""
+
+#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
+#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
+#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
+#: elf32-score7.c:2545 elf32-spu.c:5052
+msgid "internal error: dangerous error"
+msgstr ""
+
+#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
+#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
+#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
+#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
+#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
+#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
+#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
+#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
+#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+msgid "internal error: unknown error"
+msgstr ""
+
+#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
+#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
+#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
+#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
+msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
+msgstr ""
+
+#: elf-m10300.c:1572
+msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
+msgstr ""
+
+#: elf-m10300.c:1575
+msgid "internal error: suspicious relocation type used in shared library"
+msgstr ""
+
+#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
+#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
+#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
+#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
+#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
+#: elfxx-tilegx.c:2261
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr ""
+
+#: elf.c:334
+msgid "%B: invalid string offset %u >= %lu for section `%s'"
+msgstr ""
+
+#: elf.c:446
+msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
+msgstr ""
+
+#: elf.c:602
+msgid "%B: Corrupt size field in group section header: 0x%lx"
+msgstr ""
+
+#: elf.c:638
+msgid "%B: invalid SHT_GROUP entry"
+msgstr ""
+
+#: elf.c:708
+msgid "%B: no group info for section %A"
+msgstr ""
+
+#: elf.c:737 elf.c:3121 elflink.c:10135
+msgid "%B: warning: sh_link not set for section `%A'"
+msgstr ""
+
+#: elf.c:756
+msgid "%B: sh_link [%d] in section `%A' is incorrect"
+msgstr ""
+
+#: elf.c:791
+msgid "%B: unknown [%d] section `%s' in group [%s]"
+msgstr ""
+
+#: elf.c:1041
+msgid "%B: unable to initialize commpress status for section %s"
+msgstr ""
+
+#: elf.c:1061
+msgid "%B: unable to initialize decommpress status for section %s"
+msgstr ""
+
+#: elf.c:1181
+#, c-format
+msgid ""
+"\n"
+"Program Header:\n"
+msgstr ""
+
+#: elf.c:1223
+#, c-format
+msgid ""
+"\n"
+"Dynamic Section:\n"
+msgstr ""
+
+#: elf.c:1359
+#, c-format
+msgid ""
+"\n"
+"Version definitions:\n"
+msgstr ""
+
+#: elf.c:1384
+#, c-format
+msgid ""
+"\n"
+"Version References:\n"
+msgstr ""
+
+#: elf.c:1389
+#, c-format
+msgid " required from %s:\n"
+msgstr ""
+
+#: elf.c:1796
+msgid "%B: invalid link %lu for reloc section %s (index %u)"
+msgstr ""
+
+#: elf.c:1966
+msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
+msgstr ""
+
+#: elf.c:1978
+msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
+msgstr ""
+
+#: elf.c:1989
+msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
+msgstr ""
+
+#: elf.c:1999
+msgid "%B: don't know how to handle section `%s' [0x%8x]"
+msgstr ""
+
+#: elf.c:2634
+#, c-format
+msgid "warning: section `%A' type changed to PROGBITS"
+msgstr ""
+
+#: elf.c:3078
+msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
+msgstr ""
+
+#: elf.c:3101
+msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
+msgstr ""
+
+#: elf.c:4527
+msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
+msgstr ""
+
+#: elf.c:4554
+msgid "%B: Not enough room for program headers, try linking with -N"
+msgstr ""
+
+#: elf.c:4641
+msgid "%B: section %A lma %#lx adjusted to %#lx"
+msgstr ""
+
+#: elf.c:4776
+msgid "%B: section `%A' can't be allocated in segment %d"
+msgstr ""
+
+#: elf.c:4824
+msgid "%B: warning: allocated section `%s' not in segment"
+msgstr ""
+
+#: elf.c:5324
+msgid "%B: symbol `%s' required but not present"
+msgstr ""
+
+#: elf.c:5662
+msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
+msgstr ""
+
+#: elf.c:6692
+#, c-format
+msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
+msgstr ""
+
+#: elf.c:7692
+msgid "%B: unsupported relocation type %s"
+msgstr ""
+
+#: elf32-arm.c:3617
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+" first occurrence: %B: Thumb call to ARM"
+msgstr ""
+
+#: elf32-arm.c:3664
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+" first occurrence: %B: ARM call to Thumb"
+msgstr ""
+
+#: elf32-arm.c:3878 elf32-arm.c:5315
+#, c-format
+msgid "%s: cannot create stub entry %s"
+msgstr ""
+
+#: elf32-arm.c:5431
+#, c-format
+msgid "unable to find THUMB glue '%s' for '%s'"
+msgstr ""
+
+#: elf32-arm.c:5467
+#, c-format
+msgid "unable to find ARM glue '%s' for '%s'"
+msgstr ""
+
+#: elf32-arm.c:6005
+msgid "%B: BE8 images only valid in big-endian mode."
+msgstr ""
+
+#. Give a warning, but do as the user requests anyway.
+#: elf32-arm.c:6235
+msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
+msgstr ""
+
+#: elf32-arm.c:6779 elf32-arm.c:6799
+msgid "%B: unable to find VFP11 veneer `%s'"
+msgstr ""
+
+#: elf32-arm.c:6848
+#, c-format
+msgid "Invalid TARGET2 relocation type '%s'."
+msgstr ""
+
+#: elf32-arm.c:6933
+msgid ""
+"%B(%s): warning: interworking not enabled.\n"
+" first occurrence: %B: thumb call to arm"
+msgstr ""
+
+#: elf32-arm.c:7717
+msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
+msgstr ""
+
+#: elf32-arm.c:7756
+msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
+msgstr ""
+
+#: elf32-arm.c:8209
+msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr ""
+
+#: elf32-arm.c:8622
+msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
+msgstr ""
+
+#: elf32-arm.c:9460
+msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+msgstr ""
+
+#: elf32-arm.c:9483
+msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+msgstr ""
+
+#: elf32-arm.c:9512
+msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
+msgstr ""
+
+#: elf32-arm.c:9727
+msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
+msgstr ""
+
+#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
+msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
+msgstr ""
+
+#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
+msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
+msgstr ""
+
+#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
+msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
+msgstr ""
+
+#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
+msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
+msgstr ""
+
+#: elf32-arm.c:10453 elf32-tic6x.c:2753
+msgid "out of range"
+msgstr ""
+
+#: elf32-arm.c:10457 elf32-tic6x.c:2757
+msgid "unsupported relocation"
+msgstr ""
+
+#: elf32-arm.c:10465 elf32-tic6x.c:2765
+msgid "unknown error"
+msgstr "nepoznata greška"
+
+#: elf32-arm.c:10890
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr ""
+
+#: elf32-arm.c:10984
+msgid "%B: Unknown mandatory EABI object attribute %d"
+msgstr ""
+
+#: elf32-arm.c:10992
+msgid "Warning: %B: Unknown EABI object attribute %d"
+msgstr ""
+
+#: elf32-arm.c:11173
+msgid "error: %B: Unknown CPU architecture"
+msgstr ""
+
+#: elf32-arm.c:11211
+msgid "error: %B: Conflicting CPU architectures %d/%d"
+msgstr ""
+
+#: elf32-arm.c:11260
+msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
+msgstr ""
+
+#: elf32-arm.c:11285
+msgid "error: %B uses VFP register arguments, %B does not"
+msgstr ""
+
+#: elf32-arm.c:11430
+msgid "error: %B: unable to merge virtualization attributes with %B"
+msgstr ""
+
+#: elf32-arm.c:11456
+msgid "error: %B: Conflicting architecture profiles %c/%c"
+msgstr ""
+
+#: elf32-arm.c:11557
+msgid "Warning: %B: Conflicting platform configuration"
+msgstr ""
+
+#: elf32-arm.c:11566
+msgid "error: %B: Conflicting use of R9"
+msgstr ""
+
+#: elf32-arm.c:11578
+msgid "error: %B: SB relative addressing conflicts with use of R9"
+msgstr ""
+
+#: elf32-arm.c:11591
+msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
+msgstr ""
+
+#: elf32-arm.c:11622
+msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
+msgstr ""
+
+#: elf32-arm.c:11634
+msgid "error: %B uses iWMMXt register arguments, %B does not"
+msgstr ""
+
+#: elf32-arm.c:11651
+msgid "error: fp16 format mismatch between %B and %B"
+msgstr ""
+
+#: elf32-arm.c:11675
+msgid "DIV usage mismatch between %B and %B"
+msgstr ""
+
+#: elf32-arm.c:11694
+msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
+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:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
+#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
+#: elfxx-mips.c:14103
+#, c-format
+msgid "private flags = %lx:"
+msgstr ""
+
+#: elf32-arm.c:11791
+#, c-format
+msgid " [interworking enabled]"
+msgstr ""
+
+#: elf32-arm.c:11799
+#, c-format
+msgid " [VFP float format]"
+msgstr ""
+
+#: elf32-arm.c:11801
+#, c-format
+msgid " [Maverick float format]"
+msgstr ""
+
+#: elf32-arm.c:11803
+#, c-format
+msgid " [FPA float format]"
+msgstr ""
+
+#: elf32-arm.c:11812
+#, c-format
+msgid " [new ABI]"
+msgstr ""
+
+#: elf32-arm.c:11815
+#, c-format
+msgid " [old ABI]"
+msgstr ""
+
+#: elf32-arm.c:11818
+#, c-format
+msgid " [software FP]"
+msgstr ""
+
+#: elf32-arm.c:11827
+#, c-format
+msgid " [Version1 EABI]"
+msgstr ""
+
+#: elf32-arm.c:11830 elf32-arm.c:11841
+#, c-format
+msgid " [sorted symbol table]"
+msgstr ""
+
+#: elf32-arm.c:11832 elf32-arm.c:11843
+#, c-format
+msgid " [unsorted symbol table]"
+msgstr ""
+
+#: elf32-arm.c:11838
+#, c-format
+msgid " [Version2 EABI]"
+msgstr ""
+
+#: elf32-arm.c:11846
+#, c-format
+msgid " [dynamic symbols use segment index]"
+msgstr ""
+
+#: elf32-arm.c:11849
+#, c-format
+msgid " [mapping symbols precede others]"
+msgstr ""
+
+#: elf32-arm.c:11856
+#, c-format
+msgid " [Version3 EABI]"
+msgstr ""
+
+#: elf32-arm.c:11860
+#, c-format
+msgid " [Version4 EABI]"
+msgstr ""
+
+#: elf32-arm.c:11864
+#, c-format
+msgid " [Version5 EABI]"
+msgstr ""
+
+#: elf32-arm.c:11867
+#, c-format
+msgid " [BE8]"
+msgstr ""
+
+#: elf32-arm.c:11870
+#, c-format
+msgid " [LE8]"
+msgstr ""
+
+#: elf32-arm.c:11876
+#, c-format
+msgid " <EABI version unrecognised>"
+msgstr ""
+
+#: elf32-arm.c:11883
+#, c-format
+msgid " [relocatable executable]"
+msgstr ""
+
+#: elf32-arm.c:11886
+#, c-format
+msgid " [has entry point]"
+msgstr ""
+
+#: elf32-arm.c:11891
+#, c-format
+msgid "<Unrecognised flag bits set>"
+msgstr ""
+
+#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
+#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
+#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+msgid "%B: bad symbol index: %d"
+msgstr ""
+
+#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr ""
+
+#: elf32-arm.c:13460
+#, c-format
+msgid "Errors encountered processing file %s"
+msgstr ""
+
+#: elf32-arm.c:14837
+msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
+msgstr ""
+
+#. There's not much we can do apart from complain if this
+#. happens.
+#: elf32-arm.c:14864
+msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
+msgstr ""
+
+#: elf32-arm.c:14958 elf32-arm.c:14980
+msgid "%B: error: VFP11 veneer out of range"
+msgstr ""
+
+#: elf32-arm.c:15518
+msgid "error: %B is already in final BE8 format"
+msgstr ""
+
+#: elf32-arm.c:15594
+msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
+msgstr ""
+
+#: elf32-arm.c:15610
+msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
+msgstr ""
+
+#: elf32-arm.c:15635
+msgid "error: %B uses VFP instructions, whereas %B does not"
+msgstr ""
+
+#: elf32-arm.c:15639
+msgid "error: %B uses FPA instructions, whereas %B does not"
+msgstr ""
+
+#: elf32-arm.c:15649
+msgid "error: %B uses Maverick instructions, whereas %B does not"
+msgstr ""
+
+#: elf32-arm.c:15653
+msgid "error: %B does not use Maverick instructions, whereas %B does"
+msgstr ""
+
+#: elf32-arm.c:15672
+msgid "error: %B uses software FP, whereas %B uses hardware FP"
+msgstr ""
+
+#: elf32-arm.c:15676
+msgid "error: %B uses hardware FP, whereas %B uses software FP"
+msgstr ""
+
+#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
+#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
+#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
+#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
+#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
+#: elfxx-tilegx.c:3585
+msgid "internal error: dangerous relocation"
+msgstr ""
+
+#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
+msgid "%B: cannot create stub entry %s"
+msgstr ""
+
+#: elf32-bfin.c:107 elf32-bfin.c:363
+msgid "relocation should be even number"
+msgstr ""
+
+#: elf32-bfin.c:1593
+msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
+msgstr ""
+
+#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
+#: elf64-s390.c:3030 elf64-x86-64.c:4151
+msgid "%B(%A+0x%lx): reloc against `%s': error %d"
+msgstr ""
+
+#: elf32-bfin.c:2725
+msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
+msgstr ""
+
+#: elf32-bfin.c:2741
+msgid "relocation references symbol not defined in the module"
+msgstr ""
+
+#: elf32-bfin.c:2838
+msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
+msgstr ""
+
+#: elf32-bfin.c:2879 elf32-bfin.c:3002
+msgid "cannot emit fixups in read-only section"
+msgstr ""
+
+#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+msgid "cannot emit dynamic relocations in read-only section"
+msgstr ""
+
+#: elf32-bfin.c:2960
+msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
+msgstr ""
+
+#: elf32-bfin.c:3125
+msgid "relocations between different segments are not supported"
+msgstr ""
+
+#: elf32-bfin.c:3126
+msgid "warning: relocation references a different segment"
+msgstr ""
+
+#: elf32-bfin.c:4971
+msgid "%B: unsupported relocation type %i"
+msgstr ""
+
+#: elf32-bfin.c:5125 elf32-frv.c:6808
+#, c-format
+msgid "%s: cannot link non-fdpic object file into fdpic executable"
+msgstr ""
+
+#: elf32-bfin.c:5129 elf32-frv.c:6812
+#, c-format
+msgid "%s: cannot link fdpic object file into non-fdpic executable"
+msgstr ""
+
+#: elf32-bfin.c:5283
+#, c-format
+msgid "*** check this relocation %s"
+msgstr ""
+
+#: elf32-cris.c:1176
+msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
+msgstr ""
+
+#: elf32-cris.c:1238
+msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
+msgstr ""
+
+#: elf32-cris.c:1240
+msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
+msgstr ""
+
+#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
+#: elf32-cris.c:1875 elf32-tic6x.c:2662
+msgid "[whose name is lost]"
+msgstr ""
+
+#: elf32-cris.c:1365 elf32-tic6x.c:2647
+msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
+msgstr ""
+
+#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
+msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
+msgstr ""
+
+#: elf32-cris.c:1399
+msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
+msgstr ""
+
+#: elf32-cris.c:1415
+msgid "%B, section %A: relocation %s with no GOT created"
+msgstr ""
+
+#. We shouldn't get here for GCC-emitted code.
+#: elf32-cris.c:1630
+msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
+msgstr ""
+
+#: elf32-cris.c:2002
+msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
+msgstr ""
+
+#: elf32-cris.c:2055
+msgid "(too many global variables for -fpic: recompile with -fPIC)"
+msgstr ""
+
+#: elf32-cris.c:2062
+msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
+msgstr ""
+
+#: elf32-cris.c:3261
+msgid ""
+"%B, section %A:\n"
+" v10/v32 compatible object %s must not contain a PIC relocation"
+msgstr ""
+
+#: elf32-cris.c:3366
+msgid ""
+"%B, section %A:\n"
+" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
+msgstr ""
+
+#: elf32-cris.c:3580
+msgid ""
+"%B, section %A:\n"
+" relocation %s should not be used in a shared object; recompile with -fPIC"
+msgstr ""
+
+#: elf32-cris.c:4002
+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:4118
+msgid "Unexpected machine number"
+msgstr ""
+
+#: elf32-cris.c:4172
+#, c-format
+msgid " [symbols have a _ prefix]"
+msgstr ""
+
+#: elf32-cris.c:4175
+#, c-format
+msgid " [v10 and v32]"
+msgstr " [v10 i v32]"
+
+#: elf32-cris.c:4178
+#, c-format
+msgid " [v32]"
+msgstr " [v32]"
+
+#: elf32-cris.c:4223
+msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
+msgstr ""
+
+#: elf32-cris.c:4224
+msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
+msgstr ""
+
+#: elf32-cris.c:4243
+msgid "%B contains CRIS v32 code, incompatible with previous objects"
+msgstr ""
+
+#: elf32-cris.c:4245
+msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
+msgstr ""
+
+#: elf32-dlx.c:142
+#, c-format
+msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+msgstr ""
+
+#: elf32-dlx.c:204
+#, c-format
+msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
+msgstr ""
+
+#. Only if it's not an unresolved symbol.
+#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+msgid "unsupported relocation between data/insn address spaces"
+msgstr ""
+
+#: elf32-frv.c:1509 elf32-frv.c:1658
+msgid "relocation requires zero addend"
+msgstr ""
+
+#: elf32-frv.c:2888
+msgid "%H: relocation to `%s+%v' may have caused the error above\n"
+msgstr ""
+
+#: elf32-frv.c:2905
+msgid "%H: relocation references symbol not defined in the module\n"
+msgstr ""
+
+#: elf32-frv.c:2981
+msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3022
+msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3093
+msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3130
+msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3177
+msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3261
+msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3315
+msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3345
+msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3374
+msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3404
+msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3449
+msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3476
+msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
+msgstr ""
+
+#: elf32-frv.c:3597
+msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
+msgstr ""
+
+#: elf32-frv.c:3638 elf32-frv.c:3760
+msgid "%H: cannot emit fixups in read-only section\n"
+msgstr ""
+
+#: elf32-frv.c:3669 elf32-frv.c:3803
+msgid "%H: cannot emit dynamic relocations in read-only section\n"
+msgstr ""
+
+#: elf32-frv.c:3718
+msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
+msgstr ""
+
+#: elf32-frv.c:3974
+msgid "%H: reloc against `%s' references a different segment\n"
+msgstr ""
+
+#: elf32-frv.c:4124
+msgid "%H: reloc against `%s': %s\n"
+msgstr ""
+
+#: elf32-frv.c:6400
+msgid "%B: unsupported relocation type %i\n"
+msgstr ""
+
+#: elf32-frv.c:6722
+#, c-format
+msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
+msgstr ""
+
+#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#, c-format
+msgid "%s: compiled with %s and linked with modules compiled with %s"
+msgstr ""
+
+#: elf32-frv.c:6787
+#, c-format
+msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr ""
+
+#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
+#: elf32-rx.c:3001
+#, c-format
+msgid "private flags = 0x%lx:"
+msgstr ""
+
+#: elf32-gen.c:69 elf64-gen.c:69
+msgid "%B: Relocations in generic ELF (EM: %d)"
+msgstr ""
+
+#: elf32-hppa.c:850 elf32-hppa.c:3598
+msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
+msgstr ""
+
+#: elf32-hppa.c:1284
+msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
+msgstr ""
+
+#: elf32-hppa.c:2791
+msgid "%B: duplicate export stub %s"
+msgstr ""
+
+#: elf32-hppa.c:3437
+msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
+msgstr ""
+
+#: elf32-hppa.c:4284
+msgid "%B(%A+0x%lx): cannot handle %s for %s"
+msgstr ""
+
+#: elf32-hppa.c:4603
+msgid ".got section not immediately after .plt section"
+msgstr ""
+
+#. Unknown relocation.
+#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
+#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+msgid "%B: invalid relocation type %d"
+msgstr ""
+
+#: elf32-i386.c:1404 elf64-x86-64.c:1308
+msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
+msgstr ""
+
+#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
+#: elfxx-sparc.c:3083
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr ""
+
+#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
+#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
+#: elfxx-tilegx.c:1701
+msgid "%B: `%s' accessed both as normal and thread local symbol"
+msgstr ""
+
+#: elf32-i386.c:2539 elf64-x86-64.c:2506
+msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
+msgstr ""
+
+#: elf32-i386.c:2629 elf64-x86-64.c:2593
+msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
+msgstr ""
+
+#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
+msgid "%B: unrecognized relocation (0x%x) in section `%A'"
+msgstr ""
+
+#: elf32-i386.c:3494 elf64-x86-64.c:3513
+msgid "hidden symbol"
+msgstr "skriveni simbol"
+
+#: elf32-i386.c:3497 elf64-x86-64.c:3516
+msgid "internal symbol"
+msgstr "interni simbol"
+
+#: elf32-i386.c:3500 elf64-x86-64.c:3519
+msgid "protected symbol"
+msgstr "zaštićeni simbol"
+
+#: elf32-i386.c:3503 elf64-x86-64.c:3522
+msgid "symbol"
+msgstr "simbol"
+
+#: elf32-i386.c:3508
+msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
+msgstr ""
+
+#: elf32-i386.c:3518
+msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
+msgstr ""
+
+#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
+#: elfxx-tilegx.c:3847
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr ""
+
+#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
+msgid "ip2k relaxer: switch table without complete matching relocation information."
+msgstr ""
+
+#: elf32-ip2k.c:880 elf32-ip2k.c:963
+msgid "ip2k relaxer: switch table header corrupt."
+msgstr ""
+
+#: elf32-ip2k.c:1292
+#, c-format
+msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
+msgstr ""
+
+#: elf32-ip2k.c:1308
+#, c-format
+msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
+msgstr ""
+
+#: elf32-iq2000.c:858 elf32-m32c.c:819
+#, c-format
+msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr ""
+
+#: elf32-lm32.c:706
+msgid "global pointer relative relocation when _gp not defined"
+msgstr ""
+
+#: elf32-lm32.c:761
+msgid "global pointer relative address out of range"
+msgstr ""
+
+#: elf32-lm32.c:1057
+msgid "internal error: addend should be zero for R_LM32_16_GOT"
+msgstr ""
+
+#: elf32-m32r.c:1453
+msgid "SDA relocation when _SDA_BASE_ not defined"
+msgstr ""
+
+#: elf32-m32r.c:3043
+msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
+msgstr ""
+
+#: elf32-m32r.c:3571
+msgid "%B: Instruction set mismatch with previous modules"
+msgstr ""
+
+#: elf32-m32r.c:3592
+#, c-format
+msgid "private flags = %lx"
+msgstr ""
+
+#: elf32-m32r.c:3597
+#, c-format
+msgid ": m32r instructions"
+msgstr ": m32r instrukcije"
+
+#: elf32-m32r.c:3598
+#, c-format
+msgid ": m32rx instructions"
+msgstr ": m32rx instrukcije"
+
+#: elf32-m32r.c:3599
+#, c-format
+msgid ": m32r2 instructions"
+msgstr ": m32r2 instrukcije"
+
+#: elf32-m68hc1x.c:1050
+#, c-format
+msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
+msgstr ""
+
+#: elf32-m68hc1x.c:1073
+#, c-format
+msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
+msgstr ""
+
+#: elf32-m68hc1x.c:1092
+#, c-format
+msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
+msgstr ""
+
+#: elf32-m68hc1x.c:1225
+msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
+msgstr ""
+
+#: elf32-m68hc1x.c:1232
+msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
+msgstr ""
+
+#: elf32-m68hc1x.c:1241
+msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
+msgstr ""
+
+#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
+msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr ""
+
+#: elf32-m68hc1x.c:1285
+#, c-format
+msgid "[abi=32-bit int, "
+msgstr ""
+
+#: elf32-m68hc1x.c:1287
+#, c-format
+msgid "[abi=16-bit int, "
+msgstr ""
+
+#: elf32-m68hc1x.c:1290
+#, c-format
+msgid "64-bit double, "
+msgstr ""
+
+#: elf32-m68hc1x.c:1292
+#, c-format
+msgid "32-bit double, "
+msgstr ""
+
+#: elf32-m68hc1x.c:1295
+#, c-format
+msgid "cpu=HC11]"
+msgstr ""
+
+#: elf32-m68hc1x.c:1297
+#, c-format
+msgid "cpu=HCS12]"
+msgstr ""
+
+#: elf32-m68hc1x.c:1299
+#, c-format
+msgid "cpu=HC12]"
+msgstr ""
+
+#: elf32-m68hc1x.c:1302
+#, c-format
+msgid " [memory=bank-model]"
+msgstr ""
+
+#: elf32-m68hc1x.c:1304
+#, c-format
+msgid " [memory=flat]"
+msgstr ""
+
+#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+msgid "unknown"
+msgstr "nepoznato"
+
+#: elf32-m68k.c:1715
+msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
+msgstr ""
+
+#: elf32-m68k.c:1721
+msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
+msgstr ""
+
+#: elf32-m68k.c:3957
+msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
+msgstr ""
+
+#: elf32-mcore.c:99 elf32-mcore.c:442
+msgid "%B: Relocation %s (%d) is not currently supported.\n"
+msgstr ""
+
+#: elf32-mcore.c:428
+msgid "%B: Unknown relocation type %d\n"
+msgstr ""
+
+#. Pacify gcc -Wall.
+#: elf32-mep.c:157
+#, c-format
+msgid "mep: no reloc for code %d"
+msgstr ""
+
+#: elf32-mep.c:163
+#, c-format
+msgid "MeP: howto %d has type %d"
+msgstr ""
+
+#: elf32-mep.c:648
+msgid "%B and %B are for different cores"
+msgstr ""
+
+#: elf32-mep.c:665
+msgid "%B and %B are for different configurations"
+msgstr ""
+
+#: elf32-mep.c:702
+#, c-format
+msgid "private flags = 0x%lx"
+msgstr ""
+
+#: elf32-microblaze.c:742
+#, c-format
+msgid "%s: unknown relocation type %d"
+msgstr ""
+
+#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#, c-format
+msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
+msgstr ""
+
+#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
+#: elfxx-tilegx.c:3230
+msgid "%B: probably compiled without -fPIC?"
+msgstr ""
+
+#: elf32-microblaze.c:2074
+msgid "%B: bad relocation section name `%s'"
+msgstr ""
+
+#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+msgid "literal relocation occurs for an external symbol"
+msgstr ""
+
+#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
+#: elfn32-mips.c:2528
+msgid "32bits gp relative relocation occurs for an external symbol"
+msgstr ""
+
+#: elf32-ppc.c:1741
+#, c-format
+msgid "generic linker can't handle %s"
+msgstr ""
+
+#: elf32-ppc.c:2184
+msgid "corrupt %s section in %B"
+msgstr ""
+
+#: elf32-ppc.c:2203
+msgid "unable to read in %s section from %B"
+msgstr ""
+
+#: elf32-ppc.c:2244
+msgid "warning: unable to set size of %s section in %B"
+msgstr ""
+
+#: elf32-ppc.c:2294
+msgid "failed to allocate space for new APUinfo section."
+msgstr ""
+
+#: elf32-ppc.c:2313
+msgid "failed to compute new APUinfo section."
+msgstr ""
+
+#: elf32-ppc.c:2316
+msgid "failed to install new APUinfo section."
+msgstr ""
+
+#: elf32-ppc.c:3356
+msgid "%B: relocation %s cannot be used when making a shared object"
+msgstr ""
+
+#. It does not make sense to have a procedure linkage
+#. table entry for a local symbol.
+#: elf32-ppc.c:3700
+msgid "%P: %H: %s reloc against local symbol\n"
+msgstr ""
+
+#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
+#: elfxx-mips.c:13699 elfxx-mips.c:13725
+msgid "Warning: %B uses hard float, %B uses soft float"
+msgstr ""
+
+#: elf32-ppc.c:4042 elf32-ppc.c:4046
+msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
+msgstr ""
+
+#: elf32-ppc.c:4050
+msgid "Warning: %B uses soft float, %B uses single-precision hard float"
+msgstr ""
+
+#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
+msgid "Warning: %B uses unknown floating point ABI %d"
+msgstr ""
+
+#: elf32-ppc.c:4103 elf32-ppc.c:4107
+msgid "Warning: %B uses unknown vector ABI %d"
+msgstr ""
+
+#: elf32-ppc.c:4111
+msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
+msgstr ""
+
+#: elf32-ppc.c:4128 elf32-ppc.c:4131
+msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
+msgstr ""
+
+#: elf32-ppc.c:4134 elf32-ppc.c:4138
+msgid "Warning: %B uses unknown small structure return convention %d"
+msgstr ""
+
+#: elf32-ppc.c:4192
+msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
+msgstr ""
+
+#: elf32-ppc.c:4200
+msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
+msgstr ""
+
+#: elf32-ppc.c:4309
+msgid "%P: bss-plt forced due to %B\n"
+msgstr ""
+
+#: elf32-ppc.c:4312
+msgid "%P: bss-plt forced by profiling\n"
+msgstr ""
+
+#. Uh oh, we didn't find the expected call. We
+#. could just mark this symbol to exclude it
+#. from tls optimization but it's safer to skip
+#. the entire optimization.
+#: elf32-ppc.c:4809 elf64-ppc.c:7858
+msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
+msgstr ""
+
+#: elf32-ppc.c:5044 elf64-ppc.c:6528
+msgid "%P: dynamic variable `%s' is zero size\n"
+msgstr ""
+
+#: elf32-ppc.c:7263 elf64-ppc.c:12675
+msgid "%P: %B: unknown relocation type %d for symbol %s\n"
+msgstr ""
+
+#: elf32-ppc.c:7524
+msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
+msgstr ""
+
+#: elf32-ppc.c:7720 elf64-ppc.c:13181
+msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
+msgstr ""
+
+#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
+msgstr ""
+
+#: elf32-ppc.c:8097
+msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
+msgstr ""
+
+#: elf32-ppc.c:8158 elf64-ppc.c:13467
+msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
+msgstr ""
+
+#: elf32-ppc.c:8205 elf64-ppc.c:13512
+msgid "%P: %H: %s reloc against `%s': error %d\n"
+msgstr ""
+
+#: elf32-ppc.c:8696
+msgid "%P: %s not defined in linker created %s\n"
+msgstr ""
+
+#: elf32-rx.c:563
+msgid "%B:%A: Warning: deprecated Red Hat reloc "
+msgstr ""
+
+#. Check for unsafe relocs in PID mode. These are any relocs where
+#. an absolute address is being computed. There are special cases
+#. for relocs against symbols that are known to be referenced in
+#. crt0.o before the PID base address register has been initialised.
+#: elf32-rx.c:581
+msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
+msgstr ""
+
+#: elf32-rx.c:1157
+msgid "Warning: RX_SYM reloc with an unknown symbol"
+msgstr ""
+
+#: elf32-rx.c:1324
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr ""
+
+#: elf32-rx.c:1338
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr ""
+
+#: elf32-rx.c:1342
+msgid "%B(%A): internal error: out of range error"
+msgstr ""
+
+#: elf32-rx.c:1346
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr ""
+
+#: elf32-rx.c:1350
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr ""
+
+#: elf32-rx.c:1354
+msgid "%B(%A): internal error: unknown error"
+msgstr ""
+
+#: elf32-rx.c:3004
+#, c-format
+msgid " [64-bit doubles]"
+msgstr ""
+
+#: elf32-rx.c:3006
+#, c-format
+msgid " [dsp]"
+msgstr ""
+
+#: elf32-s390.c:2200 elf64-s390.c:2187
+msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
+msgstr ""
+
+#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+msgid "not enough GOT space for local GOT entries"
+msgstr ""
+
+#: elf32-score.c:2742
+msgid "address not word align"
+msgstr ""
+
+#: elf32-score.c:2827 elf32-score7.c:2631
+#, c-format
+msgid "%s: Malformed reloc detected for section %s"
+msgstr ""
+
+#: elf32-score.c:2878 elf32-score7.c:2682
+msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
+msgstr ""
+
+#: elf32-score.c:3997 elf32-score7.c:3803
+#, c-format
+msgid " [pic]"
+msgstr ""
+
+#: elf32-score.c:4001 elf32-score7.c:3807
+#, c-format
+msgid " [fix dep]"
+msgstr ""
+
+#: elf32-score.c:4043 elf32-score7.c:3849
+msgid "%B: warning: linking PIC files with non-PIC files"
+msgstr ""
+
+#: elf32-sh-symbian.c:130
+msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
+msgstr ""
+
+#: elf32-sh-symbian.c:383
+msgid "%B: Unrecognised .directive command: %s"
+msgstr ""
+
+#: elf32-sh-symbian.c:504
+msgid "%B: Failed to add renamed symbol %s"
+msgstr ""
+
+#: elf32-sh.c:568
+msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
+msgstr ""
+
+#: elf32-sh.c:580
+msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr ""
+
+#: elf32-sh.c:597
+msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
+msgstr ""
+
+#: elf32-sh.c:612
+msgid "%B: 0x%lx: warning: could not find expected reloc"
+msgstr ""
+
+#: elf32-sh.c:640
+msgid "%B: 0x%lx: warning: symbol in unexpected section"
+msgstr ""
+
+#: elf32-sh.c:766
+msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
+msgstr ""
+
+#: elf32-sh.c:775
+msgid "%B: 0x%lx: warning: bad count"
+msgstr ""
+
+#: elf32-sh.c:1179 elf32-sh.c:1549
+msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
+msgstr ""
+
+#: elf32-sh.c:4048 elf64-sh64.c:1514
+msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
+msgstr ""
+
+#: elf32-sh.c:4299
+msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
+msgstr ""
+
+#: elf32-sh.c:4332 elf32-sh.c:4347
+msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
+msgstr ""
+
+#: elf32-sh.c:4361
+msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:4375
+msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:4519 elf32-sh.c:4989
+msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
+msgstr ""
+
+#: elf32-sh.c:5096
+msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
+msgstr ""
+
+#: elf32-sh.c:5569
+#, c-format
+msgid "%X%C: relocation to \"%s\" references a different segment\n"
+msgstr ""
+
+#: elf32-sh.c:5575
+#, c-format
+msgid "%C: warning: relocation to \"%s\" references a different segment\n"
+msgstr ""
+
+#: elf32-sh.c:6353 elf32-sh.c:6436
+msgid "%B: `%s' accessed both as normal and FDPIC symbol"
+msgstr ""
+
+#: elf32-sh.c:6358 elf32-sh.c:6440
+msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
+msgstr ""
+
+#: elf32-sh.c:6388
+msgid "%B: Function descriptor relocation with non-zero addend"
+msgstr ""
+
+#: elf32-sh.c:6624 elf64-alpha.c:4652
+msgid "%B: TLS local exec code cannot be linked into shared objects"
+msgstr ""
+
+#: elf32-sh64.c:223 elf64-sh64.c:2318
+#, c-format
+msgid "%s: compiled as 32-bit object and %s is 64-bit"
+msgstr ""
+
+#: elf32-sh64.c:226 elf64-sh64.c:2321
+#, c-format
+msgid "%s: compiled as 64-bit object and %s is 32-bit"
+msgstr ""
+
+#: elf32-sh64.c:228 elf64-sh64.c:2323
+#, c-format
+msgid "%s: object size does not match that of target %s"
+msgstr ""
+
+#: elf32-sh64.c:451 elf64-sh64.c:2837
+#, c-format
+msgid "%s: encountered datalabel symbol in input"
+msgstr ""
+
+#: elf32-sh64.c:528
+msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
+msgstr ""
+
+#: elf32-sh64.c:531
+msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
+msgstr ""
+
+#: elf32-sh64.c:549
+#, c-format
+msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr ""
+
+#: elf32-sh64.c:598
+msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
+msgstr ""
+
+#: elf32-sh64.c:674
+#, c-format
+msgid "%s: could not write out added .cranges entries"
+msgstr ""
+
+#: elf32-sh64.c:734
+#, c-format
+msgid "%s: could not write out sorted .cranges entries"
+msgstr ""
+
+#: elf32-sparc.c:90
+msgid "%B: compiled for a 64 bit system and target is 32 bit"
+msgstr ""
+
+#: elf32-sparc.c:103
+msgid "%B: linking little endian files with big endian files"
+msgstr ""
+
+#: elf32-spu.c:719
+msgid "%X%P: overlay section %A does not start on a cache line.\n"
+msgstr ""
+
+#: elf32-spu.c:727
+msgid "%X%P: overlay section %A is larger than a cache line.\n"
+msgstr ""
+
+#: elf32-spu.c:747
+msgid "%X%P: overlay section %A is not in cache area.\n"
+msgstr ""
+
+#: elf32-spu.c:787
+msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
+msgstr ""
+
+#: elf32-spu.c:1011
+msgid "warning: call to non-function symbol %s defined in %B"
+msgstr ""
+
+#: elf32-spu.c:1361
+msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
+msgstr ""
+
+#: elf32-spu.c:1880
+msgid "%B is not allowed to define %s"
+msgstr "%B nema dozvolu za definiranje %s"
+
+#: elf32-spu.c:1888
+#, c-format
+msgid "you are not allowed to define %s in a script"
+msgstr "nemate dozvolu za definiranje %s u skripti"
+
+#: elf32-spu.c:1922
+#, c-format
+msgid "%s in overlay section"
+msgstr ""
+
+#: elf32-spu.c:1951
+msgid "overlay stub relocation overflow"
+msgstr ""
+
+#: elf32-spu.c:1960
+msgid "stubs don't match calculated size"
+msgstr ""
+
+#: elf32-spu.c:2542
+#, c-format
+msgid "warning: %s overlaps %s\n"
+msgstr "upozorenje: %s se preklapa sa %s\n"
+
+#: elf32-spu.c:2558
+#, c-format
+msgid "warning: %s exceeds section size\n"
+msgstr ""
+
+#: elf32-spu.c:2589
+msgid "%A:0x%v not found in function table\n"
+msgstr "%A:0x%v nije pronađen u tablici funkcija\n"
+
+#: elf32-spu.c:2729
+msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
+msgstr ""
+
+#: elf32-spu.c:3297
+#, c-format
+msgid "Stack analysis will ignore the call from %s to %s\n"
+msgstr ""
+
+#: elf32-spu.c:3988
+msgid " %s: 0x%v\n"
+msgstr " %s: 0x%v\n"
+
+#: elf32-spu.c:3989
+msgid "%s: 0x%v 0x%v\n"
+msgstr "%s: 0x%v 0x%v\n"
+
+#: elf32-spu.c:3994
+msgid " calls:\n"
+msgstr ""
+
+#: elf32-spu.c:4002
+#, c-format
+msgid " %s%s %s\n"
+msgstr " %s%s %s\n"
+
+#: elf32-spu.c:4307
+#, c-format
+msgid "%s duplicated in %s\n"
+msgstr ""
+
+#: elf32-spu.c:4311
+#, c-format
+msgid "%s duplicated\n"
+msgstr ""
+
+#: elf32-spu.c:4318
+msgid "sorry, no support for duplicate object files in auto-overlay script\n"
+msgstr ""
+
+#: elf32-spu.c:4359
+msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
+msgstr ""
+
+#: elf32-spu.c:4514
+msgid "%B:%A%s exceeds overlay size\n"
+msgstr ""
+
+#: elf32-spu.c:4676
+msgid "Stack size for call graph root nodes.\n"
+msgstr ""
+
+#: elf32-spu.c:4677
+msgid ""
+"\n"
+"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
+msgstr ""
+
+#: elf32-spu.c:4687
+msgid "Maximum stack required is 0x%v\n"
+msgstr ""
+
+#: elf32-spu.c:4778
+msgid "fatal error while creating .fixup"
+msgstr ""
+
+#: elf32-spu.c:5008
+msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
+msgstr ""
+
+#: elf32-tic6x.c:1602
+msgid "warning: generating a shared library containing non-PIC code"
+msgstr ""
+
+#: elf32-tic6x.c:1607
+msgid "warning: generating a shared library containing non-PID code"
+msgstr ""
+
+#: elf32-tic6x.c:2541
+msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
+msgstr ""
+
+#: elf32-tic6x.c:2761
+msgid "dangerous relocation"
+msgstr "opasno premještanje"
+
+#: elf32-tic6x.c:3733
+msgid "%B: error: unknown mandatory EABI object attribute %d"
+msgstr ""
+
+#: elf32-tic6x.c:3741
+msgid "%B: warning: unknown EABI object attribute %d"
+msgstr ""
+
+#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+msgid "error: %B requires more stack alignment than %B preserves"
+msgstr ""
+
+#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
+msgstr ""
+
+#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
+msgstr ""
+
+#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+msgid "error: %B requires more array alignment than %B preserves"
+msgstr ""
+
+#: elf32-tic6x.c:3935
+msgid "warning: %B and %B differ in wchar_t size"
+msgstr ""
+
+#: elf32-tic6x.c:3953
+msgid "warning: %B and %B differ in whether code is compiled for DSBT"
+msgstr ""
+
+#: elf32-v850.c:173
+#, c-format
+msgid "Variable `%s' cannot occupy in multiple small data regions"
+msgstr ""
+
+#: elf32-v850.c:176
+#, c-format
+msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
+msgstr ""
+
+#: elf32-v850.c:179
+#, c-format
+msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
+msgstr ""
+
+#: elf32-v850.c:182
+#, c-format
+msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
+msgstr ""
+
+#: elf32-v850.c:185
+#, c-format
+msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
+msgstr ""
+
+#: elf32-v850.c:483
+msgid "FAILED to find previous HI16 reloc"
+msgstr ""
+
+#: elf32-v850.c:2155
+msgid "could not locate special linker symbol __gp"
+msgstr ""
+
+#: elf32-v850.c:2159
+msgid "could not locate special linker symbol __ep"
+msgstr ""
+
+#: elf32-v850.c:2163
+msgid "could not locate special linker symbol __ctbp"
+msgstr ""
+
+#: elf32-v850.c:2341
+msgid "%B: Architecture mismatch with previous modules"
+msgstr ""
+
+#. xgettext:c-format.
+#: elf32-v850.c:2360
+#, c-format
+msgid "private flags = %lx: "
+msgstr ""
+
+#: elf32-v850.c:2365
+#, c-format
+msgid "v850 architecture"
+msgstr ""
+
+#: elf32-v850.c:2366
+#, c-format
+msgid "v850e architecture"
+msgstr ""
+
+#: elf32-v850.c:2367
+#, c-format
+msgid "v850e1 architecture"
+msgstr ""
+
+#: elf32-v850.c:2368
+#, c-format
+msgid "v850e2 architecture"
+msgstr ""
+
+#: elf32-v850.c:2369
+#, c-format
+msgid "v850e2v3 architecture"
+msgstr ""
+
+#: elf32-vax.c:532
+#, c-format
+msgid " [nonpic]"
+msgstr ""
+
+#: elf32-vax.c:535
+#, c-format
+msgid " [d-float]"
+msgstr ""
+
+#: elf32-vax.c:538
+#, c-format
+msgid " [g-float]"
+msgstr ""
+
+#: elf32-vax.c:655
+#, c-format
+msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
+msgstr ""
+
+#: elf32-vax.c:1585
+#, c-format
+msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
+msgstr ""
+
+#: elf32-vax.c:1712
+#, c-format
+msgid "%s: warning: %s relocation against symbol `%s' from %s section"
+msgstr ""
+
+#: elf32-vax.c:1718
+#, c-format
+msgid "%s: warning: %s relocation to 0x%x from %s section"
+msgstr ""
+
+#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+msgid "non-zero addend in @fptr reloc"
+msgstr ""
+
+#: elf32-xtensa.c:918
+msgid "%B(%A): invalid property table"
+msgstr ""
+
+#: elf32-xtensa.c:2777
+msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
+msgstr ""
+
+#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+msgid "dynamic relocation in read-only section"
+msgstr ""
+
+#: elf32-xtensa.c:2953
+msgid "TLS relocation invalid without dynamic sections"
+msgstr ""
+
+#: elf32-xtensa.c:3172
+msgid "internal inconsistency in size of .got.loc section"
+msgstr ""
+
+#: elf32-xtensa.c:3485
+msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
+msgstr ""
+
+#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+msgid "Attempt to convert L32R/CALLX to CALL failed"
+msgstr ""
+
+#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
+msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
+msgstr ""
+
+#: elf32-xtensa.c:7264
+msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
+msgstr ""
+
+#: elf32-xtensa.c:9023
+msgid "invalid relocation address"
+msgstr ""
+
+#: elf32-xtensa.c:9072
+msgid "overflow after relaxation"
+msgstr ""
+
+#: elf32-xtensa.c:10204
+msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
+msgstr ""
+
+#: elf64-alpha.c:460
+msgid "GPDISP relocation did not find ldah and lda instructions"
+msgstr ""
+
+#: elf64-alpha.c:2497
+msgid "%B: .got subsegment exceeds 64K (size %d)"
+msgstr ""
+
+#: elf64-alpha.c:4387 elf64-alpha.c:4399
+msgid "%B: gp-relative relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf64-alpha.c:4425 elf64-alpha.c:4565
+msgid "%B: pc-relative relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf64-alpha.c:4453
+msgid "%B: change in gp: BRSGP %s"
+msgstr ""
+
+#: elf64-alpha.c:4478
+msgid "<unknown>"
+msgstr "<nepoznato>"
+
+#: elf64-alpha.c:4483
+msgid "%B: !samegp reloc against symbol without .prologue: %s"
+msgstr ""
+
+#: elf64-alpha.c:4540
+msgid "%B: unhandled dynamic relocation against %s"
+msgstr ""
+
+#: elf64-alpha.c:4572
+msgid "%B: pc-relative relocation against undefined weak symbol %s"
+msgstr ""
+
+#: elf64-alpha.c:4636
+msgid "%B: dtp-relative relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf64-alpha.c:4659
+msgid "%B: tp-relative relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf64-hppa.c:2083
+#, c-format
+msgid "stub entry for %s cannot load .plt, dp offset = %ld"
+msgstr ""
+
+#: elf64-hppa.c:3275
+msgid "%B(%A+0x"
+msgstr "%B(%A+0x"
+
+#: elf64-mmix.c:1034
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
+msgstr ""
+
+#: elf64-mmix.c:1218
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or compile using the gcc-option \"-mno-base-addresses\"."
+msgstr ""
+
+#: elf64-mmix.c:1244
+#, c-format
+msgid ""
+"%s: Internal inconsistency error for value for\n"
+" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
+msgstr ""
+
+#: elf64-mmix.c:1670
+#, c-format
+msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
+msgstr ""
+
+#: elf64-mmix.c:1675
+#, c-format
+msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
+msgstr ""
+
+#: elf64-mmix.c:1719
+#, c-format
+msgid "%s: register relocation against non-register symbol: (unknown) in %s"
+msgstr ""
+
+#: elf64-mmix.c:1724
+#, c-format
+msgid "%s: register relocation against non-register symbol: %s in %s"
+msgstr ""
+
+#: elf64-mmix.c:1761
+#, c-format
+msgid "%s: directive LOCAL valid only with a register or absolute value"
+msgstr ""
+
+#: elf64-mmix.c:1789
+#, c-format
+msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
+msgstr ""
+
+#: elf64-mmix.c:2253
+#, c-format
+msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr ""
+
+#: elf64-mmix.c:2311
+msgid "Register section has contents\n"
+msgstr ""
+
+#: elf64-mmix.c:2503
+#, c-format
+msgid ""
+"Internal inconsistency: remaining %u != max %u.\n"
+" Please report this bug."
+msgstr ""
+
+#: elf64-ppc.c:4185
+msgid "%P: %B: cannot create stub entry %s\n"
+msgstr ""
+
+#: elf64-ppc.c:6518
+msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr ""
+
+#: elf64-ppc.c:6788
+msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
+msgstr ""
+
+#: elf64-ppc.c:6992
+msgid "%P: dynreloc miscount for %B, section %A\n"
+msgstr ""
+
+#: elf64-ppc.c:7076
+msgid "%B: .opd is not a regular array of opd entries"
+msgstr ""
+
+#: elf64-ppc.c:7085
+msgid "%B: unexpected reloc type %u in .opd section"
+msgstr ""
+
+#: elf64-ppc.c:7106
+msgid "%B: undefined sym `%s' in .opd section"
+msgstr ""
+
+#: elf64-ppc.c:7664
+msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
+msgstr ""
+
+#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#, c-format
+msgid "%s defined on removed toc entry"
+msgstr ""
+
+#: elf64-ppc.c:8521
+msgid "%P: %H: %s relocation references optimized away TOC entry\n"
+msgstr ""
+
+#: elf64-ppc.c:9598
+msgid "%P: cannot find opd entry toc for %s\n"
+msgstr ""
+
+#: elf64-ppc.c:9680
+msgid "%P: long branch stub `%s' offset overflow\n"
+msgstr ""
+
+#: elf64-ppc.c:9739
+msgid "%P: can't find branch stub `%s'\n"
+msgstr ""
+
+#: elf64-ppc.c:9801 elf64-ppc.c:9943
+msgid "%P: linkage table error against `%s'\n"
+msgstr ""
+
+#: elf64-ppc.c:10126
+msgid "%P: can't build branch stub `%s'\n"
+msgstr ""
+
+#: elf64-ppc.c:10941
+msgid "%B section %A exceeds stub group size"
+msgstr ""
+
+#: elf64-ppc.c:11666 elf64-ppc.c:11699
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr ""
+
+#: elf64-ppc.c:11744
+msgid "%P: stubs don't match calculated size\n"
+msgstr ""
+
+#: elf64-ppc.c:11756
+#, c-format
+msgid ""
+"linker stubs in %u group%s\n"
+" branch %lu\n"
+" toc adjust %lu\n"
+" long branch %lu\n"
+" long toc adj %lu\n"
+" plt call %lu"
+msgstr ""
+
+#: elf64-ppc.c:12042
+msgid "%P: %H: %s used with TLS symbol %s\n"
+msgstr ""
+
+#: elf64-ppc.c:12043
+msgid "%P: %H: %s used with non-TLS symbol %s\n"
+msgstr ""
+
+#: elf64-ppc.c:12556
+msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+msgstr ""
+
+#: elf64-ppc.c:12562
+msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+msgstr ""
+
+#: elf64-ppc.c:13286
+msgid "%P: %B: relocation %s is not supported for symbol %s\n"
+msgstr ""
+
+#: elf64-ppc.c:13446
+msgid "%P: %H: error: %s not a multiple of %u\n"
+msgstr ""
+
+#: elf64-sh64.c:1686
+#, c-format
+msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
+msgstr ""
+
+#: elf64-sparc.c:446
+msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
+msgstr ""
+
+#: elf64-sparc.c:466
+msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
+msgstr ""
+
+#: elf64-sparc.c:489
+msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
+msgstr ""
+
+#: elf64-sparc.c:534
+msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
+msgstr ""
+
+#: elf64-sparc.c:687
+msgid "%B: linking UltraSPARC specific with HAL specific code"
+msgstr ""
+
+#: elf64-x86-64.c:1427
+msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
+msgstr ""
+
+#: elf64-x86-64.c:1656
+msgid "%B: '%s' accessed both as normal and thread local symbol"
+msgstr ""
+
+#: elf64-x86-64.c:3150
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
+msgstr ""
+
+#: elf64-x86-64.c:3411
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
+msgstr ""
+
+#: elf64-x86-64.c:3523
+msgid "; recompile with -fPIC"
+msgstr ""
+
+#: elf64-x86-64.c:3528
+msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
+msgstr ""
+
+#: elf64-x86-64.c:3530
+msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
+msgstr ""
+
+#: elfcode.h:767
+#, c-format
+msgid "warning: %s has a corrupt string table index - ignoring"
+msgstr ""
+
+#: elfcode.h:1177
+#, c-format
+msgid "%s: version count (%ld) does not match symbol count (%ld)"
+msgstr ""
+
+#: elfcode.h:1431
+#, c-format
+msgid "%s(%s): relocation %d has invalid symbol index %ld"
+msgstr ""
+
+#: elfcore.h:312
+msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
+msgstr ""
+
+#: elflink.c:1117
+msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
+msgstr ""
+
+#: elflink.c:1121
+msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
+msgstr ""
+
+#: elflink.c:1125
+msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
+msgstr ""
+
+#: elflink.c:1129
+msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
+msgstr ""
+
+#: elflink.c:1762
+msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
+msgstr ""
+
+#: elflink.c:2063
+msgid "%B: version node not found for symbol %s"
+msgstr ""
+
+#: elflink.c:2154
+msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
+msgstr ""
+
+#: elflink.c:2165
+msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
+msgstr ""
+
+#: elflink.c:2355
+msgid "%B: relocation size mismatch in %B section %A"
+msgstr ""
+
+#: elflink.c:2639
+#, c-format
+msgid "warning: type and size of dynamic symbol `%s' are not defined"
+msgstr ""
+
+#: elflink.c:3391
+msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
+msgstr ""
+
+#: elflink.c:4037
+msgid "%B: %s: invalid version %u (max %d)"
+msgstr ""
+
+#: elflink.c:4073
+msgid "%B: %s: invalid needed version %d"
+msgstr ""
+
+#: elflink.c:4269
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr ""
+
+#: elflink.c:4275
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr ""
+
+#: elflink.c:4290
+msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+msgstr ""
+
+#: elflink.c:4463
+msgid "%B: undefined reference to symbol '%s'"
+msgstr ""
+
+#: elflink.c:4466
+msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+msgstr ""
+
+#: elflink.c:5781
+#, c-format
+msgid "%s: undefined version: %s"
+msgstr "%s: nedefinirana inaÄica: %s"
+
+#: elflink.c:5849
+msgid "%B: .preinit_array section is not allowed in DSO"
+msgstr ""
+
+#: elflink.c:7604
+#, c-format
+msgid "undefined %s reference in complex symbol: %s"
+msgstr ""
+
+#: elflink.c:7758
+#, c-format
+msgid "unknown operator '%c' in complex symbol"
+msgstr ""
+
+#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+msgid "%B: Unable to sort relocs - they are in more than one size"
+msgstr ""
+
+#: elflink.c:8128 elflink.c:8182
+msgid "%B: Unable to sort relocs - they are of an unknown size"
+msgstr ""
+
+#: elflink.c:8233
+msgid "Not enough memory to sort relocations"
+msgstr ""
+
+#: elflink.c:8426
+msgid "%B: Too many sections: %d (>= %d)"
+msgstr ""
+
+#: elflink.c:8675
+msgid "%B: internal symbol `%s' in %B is referenced by DSO"
+msgstr ""
+
+#: elflink.c:8677
+msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
+msgstr ""
+
+#: elflink.c:8679
+msgid "%B: local symbol `%s' in %B is referenced by DSO"
+msgstr ""
+
+#: elflink.c:8776
+msgid "%B: could not find output section %A for input section %A"
+msgstr ""
+
+#: elflink.c:8899
+msgid "%B: protected symbol `%s' isn't defined"
+msgstr ""
+
+#: elflink.c:8901
+msgid "%B: internal symbol `%s' isn't defined"
+msgstr ""
+
+#: elflink.c:8903
+msgid "%B: hidden symbol `%s' isn't defined"
+msgstr ""
+
+#: elflink.c:9432
+msgid "error: %B: size of section %A is not multiple of address size"
+msgstr ""
+
+#: elflink.c:9479
+msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
+msgstr ""
+
+#: elflink.c:10214
+msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
+msgstr ""
+
+#: elflink.c:10219
+#, c-format
+msgid "%A has both ordered and unordered sections"
+msgstr ""
+
+#: elflink.c:10784
+msgid "%B: file class %s incompatible with %s"
+msgstr ""
+
+#: elflink.c:11093 elflink.c:11137
+msgid "%B: could not find output section %s"
+msgstr ""
+
+#: elflink.c:11098
+#, c-format
+msgid "warning: %s section has zero size"
+msgstr ""
+
+#: elflink.c:11143
+#, c-format
+msgid "warning: section '%s' is being made into a note"
+msgstr ""
+
+#: elflink.c:11212
+msgid "%P%X: read-only segment has dynamic relocations.\n"
+msgstr ""
+
+#: elflink.c:11215
+msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
+msgstr ""
+
+#: elflink.c:11402
+msgid "%P%X: can not read symbols: %E\n"
+msgstr ""
+
+#: elflink.c:11792
+msgid "Removing unused section '%s' in file '%B'"
+msgstr ""
+
+#: elflink.c:11998
+msgid "Warning: gc-sections option ignored"
+msgstr ""
+
+#: elflink.c:12277
+#, c-format
+msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
+msgstr ""
+
+#: elfxx-mips.c:1234
+msgid "static procedure (no name)"
+msgstr ""
+
+#: elfxx-mips.c:5259
+msgid "MIPS16 and microMIPS functions cannot call each other"
+msgstr ""
+
+#: elfxx-mips.c:5856
+msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
+msgstr ""
+
+#: elfxx-mips.c:6519 elfxx-mips.c:6742
+msgid "%B: Warning: bad `%s' option size %u smaller than its header"
+msgstr ""
+
+#: elfxx-mips.c:7495 elfxx-mips.c:7620
+msgid "%B: Warning: cannot determine the target function for stub section `%s'"
+msgstr ""
+
+#: elfxx-mips.c:7749
+msgid "%B: Malformed reloc detected for section %s"
+msgstr ""
+
+#: elfxx-mips.c:7801
+msgid "%B: GOT reloc at 0x%lx not expected in executables"
+msgstr ""
+
+#: elfxx-mips.c:7930
+msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
+msgstr ""
+
+#: elfxx-mips.c:8645
+#, c-format
+msgid "non-dynamic relocations refer to dynamic symbol %s"
+msgstr ""
+
+#: elfxx-mips.c:9347
+msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
+msgstr ""
+
+#: elfxx-mips.c:9486
+msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
+msgstr ""
+
+#: elfxx-mips.c:9505
+msgid "JALX to a non-word-aligned address"
+msgstr ""
+
+#: elfxx-mips.c:13266
+#, c-format
+msgid "%s: illegal section name `%s'"
+msgstr ""
+
+#: elfxx-mips.c:13645 elfxx-mips.c:13671
+msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
+msgstr ""
+
+#: elfxx-mips.c:13657 elfxx-mips.c:13713
+msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+msgstr ""
+
+#: elfxx-mips.c:13683 elfxx-mips.c:13719
+msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+msgstr ""
+
+#: elfxx-mips.c:13761
+msgid "%B: endianness incompatible with that of the selected emulation"
+msgstr ""
+
+#: elfxx-mips.c:13772
+msgid "%B: ABI is incompatible with that of the selected emulation"
+msgstr ""
+
+#: elfxx-mips.c:13856
+msgid "%B: warning: linking abicalls files with non-abicalls files"
+msgstr ""
+
+#: elfxx-mips.c:13873
+msgid "%B: linking 32-bit code with 64-bit code"
+msgstr ""
+
+#: elfxx-mips.c:13901
+msgid "%B: linking %s module with previous %s modules"
+msgstr ""
+
+#: elfxx-mips.c:13924
+msgid "%B: ABI mismatch: linking %s module with previous %s modules"
+msgstr ""
+
+#: elfxx-mips.c:13948
+msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgstr ""
+
+#: elfxx-mips.c:14106
+#, c-format
+msgid " [abi=O32]"
+msgstr " [abi=O32]"
+
+#: elfxx-mips.c:14108
+#, c-format
+msgid " [abi=O64]"
+msgstr " [abi=O64]"
+
+#: elfxx-mips.c:14110
+#, c-format
+msgid " [abi=EABI32]"
+msgstr " [abi=EABI32]"
+
+#: elfxx-mips.c:14112
+#, c-format
+msgid " [abi=EABI64]"
+msgstr " [abi=EABI64]"
+
+#: elfxx-mips.c:14114
+#, c-format
+msgid " [abi unknown]"
+msgstr " [abi nepoznat]"
+
+#: elfxx-mips.c:14116
+#, c-format
+msgid " [abi=N32]"
+msgstr " [abi=N32]"
+
+#: elfxx-mips.c:14118
+#, c-format
+msgid " [abi=64]"
+msgstr " [abi=64]"
+
+#: elfxx-mips.c:14120
+#, c-format
+msgid " [no abi set]"
+msgstr " [abi nije postavljen]"
+
+#: elfxx-mips.c:14141
+#, c-format
+msgid " [unknown ISA]"
+msgstr " [nepoznat ISA]"
+
+#: elfxx-mips.c:14155
+#, c-format
+msgid " [not 32bitmode]"
+msgstr ""
+
+#: elfxx-sparc.c:596
+#, c-format
+msgid "invalid relocation type %d"
+msgstr ""
+
+#: elfxx-tilegx.c:3952
+msgid "%B: Cannot link together %s and %s objects."
+msgstr ""
+
+#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#, c-format
+msgid "Output file requires shared library `%s'\n"
+msgstr ""
+
+#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#, c-format
+msgid "Output file requires shared library `%s.so.%s'\n"
+msgstr ""
+
+#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
+#: sparclinux.c:648 sparclinux.c:698
+#, c-format
+msgid "Symbol %s not defined for fixups\n"
+msgstr ""
+
+#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+msgid "Warning: fixup count mismatch\n"
+msgstr ""
+
+#: ieee.c:159
+#, c-format
+msgid "%s: string too long (%d chars, max 65535)"
+msgstr ""
+
+#: ieee.c:286
+#, c-format
+msgid "%s: unrecognized symbol `%s' flags 0x%x"
+msgstr ""
+
+#: ieee.c:792
+msgid "%B: unimplemented ATI record %u for symbol %u"
+msgstr ""
+
+#: ieee.c:816
+msgid "%B: unexpected ATN type %d in external part"
+msgstr ""
+
+#: ieee.c:838
+msgid "%B: unexpected type after ATN"
+msgstr ""
+
+#: ihex.c:230
+msgid "%B:%d: unexpected character `%s' in Intel Hex file"
+msgstr ""
+
+#: ihex.c:337
+msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
+msgstr ""
+
+#: ihex.c:392
+msgid "%B:%u: bad extended address record length in Intel Hex file"
+msgstr ""
+
+#: ihex.c:409
+msgid "%B:%u: bad extended start address length in Intel Hex file"
+msgstr ""
+
+#: ihex.c:426
+msgid "%B:%u: bad extended linear address record length in Intel Hex file"
+msgstr ""
+
+#: ihex.c:443
+msgid "%B:%u: bad extended linear start address length in Intel Hex file"
+msgstr ""
+
+#: ihex.c:460
+msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
+msgstr ""
+
+#: ihex.c:579
+msgid "%B: internal error in ihex_read_section"
+msgstr ""
+
+#: ihex.c:613
+msgid "%B: bad section length in ihex_read_section"
+msgstr ""
+
+#: ihex.c:826
+#, c-format
+msgid "%s: address 0x%s out of range for Intel Hex file"
+msgstr ""
+
+#: libbfd.c:863
+msgid "%B: unable to get decompressed section %A"
+msgstr ""
+
+#: libbfd.c:1012
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr ""
+
+#: libbfd.c:1014
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr ""
+
+#: libbfd.c:1043
+#, c-format
+msgid "Deprecated %s called at %s line %d in %s\n"
+msgstr ""
+
+#: libbfd.c:1046
+#, c-format
+msgid "Deprecated %s called\n"
+msgstr ""
+
+#: linker.c:1872
+msgid "%B: indirect symbol `%s' to `%s' is a loop"
+msgstr ""
+
+#: linker.c:2736
+#, c-format
+msgid "Attempt to do relocatable link with %s input and %s output"
+msgstr ""
+
+#: linker.c:3021
+msgid "%B: ignoring duplicate section `%A'\n"
+msgstr ""
+
+#: linker.c:3030 linker.c:3039
+msgid "%B: duplicate section `%A' has different size\n"
+msgstr ""
+
+#: linker.c:3047 linker.c:3052
+msgid "%B: could not read contents of section `%A'\n"
+msgstr ""
+
+#: linker.c:3056
+msgid "%B: duplicate section `%A' has different contents\n"
+msgstr ""
+
+#: mach-o.c:407
+msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
+msgstr ""
+
+#: mach-o.c:1301
+#, c-format
+msgid "unable to write unknown load command 0x%lx"
+msgstr ""
+
+#: mach-o.c:1789
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
+msgstr ""
+
+#: mach-o.c:1807
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
+msgstr ""
+
+#: mach-o.c:1892
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+msgstr ""
+
+#: mach-o.c:1900
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+msgstr ""
+
+#: mach-o.c:1906
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+msgstr ""
+
+#: mach-o.c:1979
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr ""
+
+#: mach-o.c:2014
+#, c-format
+msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+msgstr ""
+
+#: mach-o.c:2734
+#, c-format
+msgid "unable to read unknown load command 0x%lx"
+msgstr ""
+
+#: mach-o.c:2915
+#, c-format
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr ""
+
+#: mach-o.c:3011
+#, c-format
+msgid "unknown header byte-order value 0x%lx"
+msgstr ""
+
+#: mach-o.c:3577
+msgid "Mach-O header:\n"
+msgstr "Mach-O zaglavlje:\n"
+
+#: mach-o.c:3578
+#, c-format
+msgid " magic : %08lx\n"
+msgstr ""
+
+#: mach-o.c:3579
+#, c-format
+msgid " cputype : %08lx (%s)\n"
+msgstr ""
+
+#: mach-o.c:3581
+#, c-format
+msgid " cpusubtype: %08lx\n"
+msgstr ""
+
+#: mach-o.c:3582
+#, c-format
+msgid " filetype : %08lx (%s)\n"
+msgstr ""
+
+#: mach-o.c:3585
+#, c-format
+msgid " ncmds : %08lx (%lu)\n"
+msgstr ""
+
+#: mach-o.c:3586
+#, c-format
+msgid " sizeofcmds: %08lx\n"
+msgstr ""
+
+#: mach-o.c:3587
+#, c-format
+msgid " flags : %08lx ("
+msgstr ""
+
+#: mach-o.c:3589 vms-alpha.c:7674
+msgid ")\n"
+msgstr ")\n"
+
+#: mach-o.c:3590
+#, c-format
+msgid " reserved : %08x\n"
+msgstr ""
+
+#: mach-o.c:3600
+msgid "Segments and Sections:\n"
+msgstr ""
+
+#: mach-o.c:3601
+msgid " #: Segment name Section name Address\n"
+msgstr ""
+
+#: merge.c:832
+#, c-format
+msgid "%s: access beyond end of merged section (%ld)"
+msgstr ""
+
+#: mmo.c:456
+#, c-format
+msgid "%s: No core to allocate section name %s\n"
+msgstr ""
+
+#: mmo.c:531
+#, c-format
+msgid "%s: No core to allocate a symbol %d bytes long\n"
+msgstr ""
+
+#: mmo.c:1187
+#, c-format
+msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr ""
+
+#: mmo.c:1332
+#, c-format
+msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr ""
+
+#: mmo.c:1565
+#, c-format
+msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr ""
+
+#: mmo.c:1575
+#, c-format
+msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr ""
+
+#: mmo.c:1611
+#, c-format
+msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr ""
+
+#: mmo.c:1657
+#, c-format
+msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr ""
+
+#: mmo.c:1696
+#, c-format
+msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr ""
+
+#: mmo.c:1705
+#, c-format
+msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr ""
+
+#: mmo.c:1728
+#, c-format
+msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr ""
+
+#: mmo.c:1751
+#, c-format
+msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
+msgstr ""
+
+#: mmo.c:1771
+#, c-format
+msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr ""
+
+#: mmo.c:1784
+#, c-format
+msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr ""
+
+#: mmo.c:1890
+#, c-format
+msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr ""
+
+#: mmo.c:1926
+#, c-format
+msgid "%s: invalid mmo file: lop_end not last item in file\n"
+msgstr ""
+
+#: mmo.c:1939
+#, c-format
+msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr ""
+
+#: mmo.c:2649
+#, c-format
+msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
+msgstr ""
+
+#: mmo.c:2889
+#, c-format
+msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr ""
+
+#: mmo.c:2981
+#, c-format
+msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
+msgstr ""
+
+#: mmo.c:3026
+#, c-format
+msgid "%s: internal error, symbol table changed size from %d to %d words\n"
+msgstr ""
+
+#: mmo.c:3078
+#, c-format
+msgid "%s: internal error, internal register section %s had contents\n"
+msgstr ""
+
+#: mmo.c:3129
+#, c-format
+msgid "%s: no initialized registers; section length 0\n"
+msgstr ""
+
+#: mmo.c:3135
+#, c-format
+msgid "%s: too many initialized registers; section length %ld\n"
+msgstr ""
+
+#: mmo.c:3140
+#, c-format
+msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
+msgstr ""
+
+#: oasys.c:882
+#, c-format
+msgid "%s: can not represent section `%s' in oasys"
+msgstr ""
+
+#: osf-core.c:140
+#, c-format
+msgid "Unhandled OSF/1 core file section type %d\n"
+msgstr ""
+
+#: pe-mips.c:607
+msgid "%B: `ld -r' not supported with PE MIPS objects\n"
+msgstr ""
+
+#. OK, at this point the following variables are set up:
+#. src = VMA of the memory we're fixing up
+#. mem = pointer to memory we're fixing up
+#. val = VMA of what we need to refer to.
+#: pe-mips.c:719
+msgid "%B: unimplemented %s\n"
+msgstr "%B: neimplementirani %s\n"
+
+#: pe-mips.c:745
+msgid "%B: jump too far away\n"
+msgstr ""
+
+#: pe-mips.c:771
+msgid "%B: bad pair/reflo after refhi\n"
+msgstr ""
+
+#: pef.c:520
+#, c-format
+msgid "bfd_pef_scan: unknown architecture 0x%lx"
+msgstr ""
+
+#: pei-x86_64.c:444
+#, c-format
+msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
+msgstr ""
+
+#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
+#: pex64igen.c:1618 pex64igen.c:1801
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+
+#: pei-x86_64.c:450
+#, c-format
+msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n"
+msgstr ""
+
+#. XXX code yet to be written.
+#: peicode.h:751
+msgid "%B: Unhandled import type; %x"
+msgstr ""
+
+#: peicode.h:756
+msgid "%B: Unrecognised import type; %x"
+msgstr ""
+
+#: peicode.h:770
+msgid "%B: Unrecognised import name type; %x"
+msgstr ""
+
+#: peicode.h:1166
+msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
+msgstr ""
+
+#: peicode.h:1178
+msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
+msgstr ""
+
+#: peicode.h:1196
+msgid "%B: size field is zero in Import Library Format header"
+msgstr ""
+
+#: peicode.h:1227
+msgid "%B: string not null terminated in ILF object file."
+msgstr ""
+
+#: ppcboot.c:414
+#, c-format
+msgid ""
+"\n"
+"ppcboot header:\n"
+msgstr ""
+"\n"
+"ppcboot zaglavlje:\n"
+
+#: ppcboot.c:415
+#, c-format
+msgid "Entry offset = 0x%.8lx (%ld)\n"
+msgstr ""
+
+#: ppcboot.c:417
+#, c-format
+msgid "Length = 0x%.8lx (%ld)\n"
+msgstr ""
+
+#: ppcboot.c:421
+#, c-format
+msgid "Flag field = 0x%.2x\n"
+msgstr ""
+
+#: ppcboot.c:427
+#, c-format
+msgid "Partition name = \"%s\"\n"
+msgstr ""
+
+#: ppcboot.c:446
+#, c-format
+msgid ""
+"\n"
+"Partition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+msgstr ""
+
+#: ppcboot.c:452
+#, c-format
+msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+msgstr ""
+
+#: ppcboot.c:458
+#, c-format
+msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
+msgstr ""
+
+#: ppcboot.c:460
+#, c-format
+msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
+msgstr ""
+
+#: reloc.c:6160
+msgid "INPUT_SECTION_FLAGS are not supported.\n"
+msgstr ""
+
+#: rs6000-core.c:448
+#, c-format
+msgid "%s: warning core file truncated"
+msgstr ""
+
+#: som.c:5471
+#, c-format
+msgid ""
+"\n"
+"Exec Auxiliary Header\n"
+msgstr ""
+
+#: som.c:5776
+msgid "som_sizeof_headers unimplemented"
+msgstr ""
+
+#: srec.c:261
+msgid "%B:%d: Unexpected character `%s' in S-record file\n"
+msgstr ""
+
+#: srec.c:567 srec.c:600
+msgid "%B:%d: Bad checksum in S-record file\n"
+msgstr ""
+
+#: stabs.c:279
+msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
+msgstr ""
+
+#: syms.c:1079
+msgid "Unsupported .stab relocation"
+msgstr ""
+
+#: vms-alpha.c:1299
+#, c-format
+msgid "Unknown EGSD subtype %d"
+msgstr ""
+
+#: vms-alpha.c:1330
+#, c-format
+msgid "Stack overflow (%d) in _bfd_vms_push"
+msgstr ""
+
+#: vms-alpha.c:1343
+msgid "Stack underflow in _bfd_vms_pop"
+msgstr ""
+
+#. These names have not yet been added to this switch statement.
+#: vms-alpha.c:1580
+#, c-format
+msgid "unknown ETIR command %d"
+msgstr ""
+
+#: vms-alpha.c:1767
+#, c-format
+msgid "bad section index in %s"
+msgstr ""
+
+#: vms-alpha.c:1780
+#, c-format
+msgid "unsupported STA cmd %s"
+msgstr ""
+
+#. Insert field.
+#. Unsigned shift.
+#. Rotate.
+#. Redefine symbol to current location.
+#. Define a literal.
+#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#, c-format
+msgid "%s: not supported"
+msgstr "%s: nije podržano"
+
+#: vms-alpha.c:1962
+#, c-format
+msgid "%s: not implemented"
+msgstr "%s: nije implementirano"
+
+#: vms-alpha.c:2218
+#, c-format
+msgid "invalid use of %s with contexts"
+msgstr "neispravno korištenje %s s kontekstima"
+
+#: vms-alpha.c:2252
+#, c-format
+msgid "reserved cmd %d"
+msgstr "rezervirana naredba %d"
+
+#: vms-alpha.c:2337
+msgid "Object module NOT error-free !\n"
+msgstr ""
+
+#: vms-alpha.c:2766
+#, c-format
+msgid "Symbol %s replaced by %s\n"
+msgstr "Simbol %s je zamijenjen sa %s\n"
+
+#: vms-alpha.c:3769
+#, c-format
+msgid "SEC_RELOC with no relocs in section %s"
+msgstr ""
+
+#: vms-alpha.c:3822 vms-alpha.c:4049
+#, c-format
+msgid "Size error in section %s"
+msgstr ""
+
+#: vms-alpha.c:3991
+msgid "Spurious ALPHA_R_BSR reloc"
+msgstr ""
+
+#: vms-alpha.c:4036
+#, c-format
+msgid "Unhandled relocation %s"
+msgstr ""
+
+#: vms-alpha.c:4326
+#, c-format
+msgid "unknown source command %d"
+msgstr ""
+
+#: vms-alpha.c:4387
+msgid "DST__K_SET_LINUM_INCR not implemented"
+msgstr ""
+
+#: vms-alpha.c:4393
+msgid "DST__K_SET_LINUM_INCR_W not implemented"
+msgstr ""
+
+#: vms-alpha.c:4399
+msgid "DST__K_RESET_LINUM_INCR not implemented"
+msgstr ""
+
+#: vms-alpha.c:4405
+msgid "DST__K_BEG_STMT_MODE not implemented"
+msgstr ""
+
+#: vms-alpha.c:4411
+msgid "DST__K_END_STMT_MODE not implemented"
+msgstr ""
+
+#: vms-alpha.c:4438
+msgid "DST__K_SET_PC not implemented"
+msgstr ""
+
+#: vms-alpha.c:4444
+msgid "DST__K_SET_PC_W not implemented"
+msgstr ""
+
+#: vms-alpha.c:4450
+msgid "DST__K_SET_PC_L not implemented"
+msgstr ""
+
+#: vms-alpha.c:4456
+msgid "DST__K_SET_STMTNUM not implemented"
+msgstr ""
+
+#: vms-alpha.c:4499
+#, c-format
+msgid "unknown line command %d"
+msgstr ""
+
+#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
+#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#, c-format
+msgid "Unknown reloc %s + %s"
+msgstr ""
+
+#: vms-alpha.c:5089
+#, c-format
+msgid "Unknown reloc %s"
+msgstr ""
+
+#: vms-alpha.c:5102
+msgid "Invalid section index in ETIR"
+msgstr ""
+
+#: vms-alpha.c:5109
+msgid "Relocation for non-REL psect"
+msgstr ""
+
+#: vms-alpha.c:5156
+#, c-format
+msgid "Unknown symbol in command %s"
+msgstr ""
+
+#: vms-alpha.c:5671
+#, c-format
+msgid " EMH %u (len=%u): "
+msgstr ""
+
+#: vms-alpha.c:5680
+#, c-format
+msgid "Module header\n"
+msgstr "Zaglavlje modula\n"
+
+#: vms-alpha.c:5681
+#, c-format
+msgid " structure level: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5682
+#, c-format
+msgid " max record size: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5685
+#, c-format
+msgid " module name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5687
+#, c-format
+msgid " module version : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5689
+#, c-format
+msgid " compile date : %.17s\n"
+msgstr ""
+
+#: vms-alpha.c:5694
+#, c-format
+msgid "Language Processor Name\n"
+msgstr ""
+
+#: vms-alpha.c:5695
+#, c-format
+msgid " language name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5702
+#, c-format
+msgid "Source Files Header\n"
+msgstr ""
+
+#: vms-alpha.c:5703
+#, c-format
+msgid " file: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5710
+#, c-format
+msgid "Title Text Header\n"
+msgstr ""
+
+#: vms-alpha.c:5711
+#, c-format
+msgid " title: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5718
+#, c-format
+msgid "Copyright Header\n"
+msgstr ""
+
+#: vms-alpha.c:5719
+#, c-format
+msgid " copyright: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5725
+#, c-format
+msgid "unhandled emh subtype %u\n"
+msgstr ""
+
+#: vms-alpha.c:5735
+#, c-format
+msgid " EEOM (len=%u):\n"
+msgstr ""
+
+#: vms-alpha.c:5736
+#, c-format
+msgid " number of cond linkage pairs: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5738
+#, c-format
+msgid " completion code: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5742
+#, c-format
+msgid " transfer addr flags: 0x%02x\n"
+msgstr ""
+
+#: vms-alpha.c:5743
+#, c-format
+msgid " transfer addr psect: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5745
+#, c-format
+msgid " transfer address : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5754
+msgid " WEAK"
+msgstr ""
+
+#: vms-alpha.c:5756
+msgid " DEF"
+msgstr ""
+
+#: vms-alpha.c:5758
+msgid " UNI"
+msgstr ""
+
+#: vms-alpha.c:5760 vms-alpha.c:5781
+msgid " REL"
+msgstr ""
+
+#: vms-alpha.c:5762
+msgid " COMM"
+msgstr ""
+
+#: vms-alpha.c:5764
+msgid " VECEP"
+msgstr ""
+
+#: vms-alpha.c:5766
+msgid " NORM"
+msgstr ""
+
+#: vms-alpha.c:5768
+msgid " QVAL"
+msgstr ""
+
+#: vms-alpha.c:5775
+msgid " PIC"
+msgstr ""
+
+#: vms-alpha.c:5777
+msgid " LIB"
+msgstr ""
+
+#: vms-alpha.c:5779
+msgid " OVR"
+msgstr ""
+
+#: vms-alpha.c:5783
+msgid " GBL"
+msgstr ""
+
+#: vms-alpha.c:5785
+msgid " SHR"
+msgstr ""
+
+#: vms-alpha.c:5787
+msgid " EXE"
+msgstr ""
+
+#: vms-alpha.c:5789
+msgid " RD"
+msgstr ""
+
+#: vms-alpha.c:5791
+msgid " WRT"
+msgstr ""
+
+#: vms-alpha.c:5793
+msgid " VEC"
+msgstr ""
+
+#: vms-alpha.c:5795
+msgid " NOMOD"
+msgstr ""
+
+#: vms-alpha.c:5797
+msgid " COM"
+msgstr ""
+
+#: vms-alpha.c:5799
+msgid " 64B"
+msgstr ""
+
+#: vms-alpha.c:5808
+#, c-format
+msgid " EGSD (len=%u):\n"
+msgstr ""
+
+#: vms-alpha.c:5820
+#, c-format
+msgid " EGSD entry %2u (type: %u, len: %u): "
+msgstr ""
+
+#: vms-alpha.c:5832
+#, c-format
+msgid "PSC - Program section definition\n"
+msgstr ""
+
+#: vms-alpha.c:5833 vms-alpha.c:5850
+#, c-format
+msgid " alignment : 2**%u\n"
+msgstr ""
+
+#: vms-alpha.c:5834 vms-alpha.c:5851
+#, c-format
+msgid " flags : 0x%04x"
+msgstr ""
+
+#: vms-alpha.c:5838
+#, c-format
+msgid " alloc (len): %u (0x%08x)\n"
+msgstr ""
+
+#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#, c-format
+msgid " name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5849
+#, c-format
+msgid "SPSC - Shared Image Program section def\n"
+msgstr ""
+
+#: vms-alpha.c:5855
+#, c-format
+msgid " alloc (len) : %u (0x%08x)\n"
+msgstr ""
+
+#: vms-alpha.c:5856
+#, c-format
+msgid " image offset : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5858
+#, c-format
+msgid " symvec offset : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5860
+#, c-format
+msgid " name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5873
+#, c-format
+msgid "SYM - Global symbol definition\n"
+msgstr ""
+
+#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#, c-format
+msgid " flags: 0x%04x"
+msgstr ""
+
+#: vms-alpha.c:5877
+#, c-format
+msgid " psect offset: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5881
+#, c-format
+msgid " code address: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5883
+#, c-format
+msgid " psect index for entry point : %u\n"
+msgstr ""
+
+#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#, c-format
+msgid " psect index : %u\n"
+msgstr ""
+
+#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#, c-format
+msgid " name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5895
+#, c-format
+msgid "SYM - Global symbol reference\n"
+msgstr ""
+
+#: vms-alpha.c:5907
+#, c-format
+msgid "IDC - Ident Consistency check\n"
+msgstr ""
+
+#: vms-alpha.c:5908
+#, c-format
+msgid " flags : 0x%08x"
+msgstr ""
+
+#: vms-alpha.c:5912
+#, c-format
+msgid " id match : %x\n"
+msgstr ""
+
+#: vms-alpha.c:5914
+#, c-format
+msgid " error severity: %x\n"
+msgstr ""
+
+#: vms-alpha.c:5917
+#, c-format
+msgid " entity name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5919
+#, c-format
+msgid " object name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5922
+#, c-format
+msgid " binary ident : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5925
+#, c-format
+msgid " ascii ident : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:5933
+#, c-format
+msgid "SYMG - Universal symbol definition\n"
+msgstr ""
+
+#: vms-alpha.c:5937
+#, c-format
+msgid " symbol vector offset: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5939
+#, c-format
+msgid " entry point: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5941
+#, c-format
+msgid " proc descr : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5943
+#, c-format
+msgid " psect index: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5954
+#, c-format
+msgid "SYMV - Vectored symbol definition\n"
+msgstr ""
+
+#: vms-alpha.c:5958
+#, c-format
+msgid " vector : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5960 vms-alpha.c:5979
+#, c-format
+msgid " psect offset: %u\n"
+msgstr ""
+
+#: vms-alpha.c:5973
+#, c-format
+msgid "SYMM - Global symbol definition with version\n"
+msgstr ""
+
+#: vms-alpha.c:5977
+#, c-format
+msgid " version mask: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:5988
+#, c-format
+msgid "unhandled egsd entry type %u\n"
+msgstr ""
+
+#: vms-alpha.c:6022
+#, c-format
+msgid " linkage index: %u, replacement insn: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6025
+#, c-format
+msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6029
+#, c-format
+msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6034
+#, c-format
+msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6039
+#, c-format
+msgid " global name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6049
+#, c-format
+msgid " %s (len=%u+%u):\n"
+msgstr ""
+
+#: vms-alpha.c:6064
+#, c-format
+msgid " (type: %3u, size: 4+%3u): "
+msgstr ""
+
+#: vms-alpha.c:6068
+#, c-format
+msgid "STA_GBL (stack global) %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6072
+#, c-format
+msgid "STA_LW (stack longword) 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6076
+#, c-format
+msgid "STA_QW (stack quadword) 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6081
+#, c-format
+msgid "STA_PQ (stack psect base + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6082
+#, c-format
+msgid " psect: %u, offset: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6088
+#, c-format
+msgid "STA_LI (stack literal)\n"
+msgstr ""
+
+#: vms-alpha.c:6091
+#, c-format
+msgid "STA_MOD (stack module)\n"
+msgstr ""
+
+#: vms-alpha.c:6094
+#, c-format
+msgid "STA_CKARG (compare procedure argument)\n"
+msgstr ""
+
+#: vms-alpha.c:6098
+#, c-format
+msgid "STO_B (store byte)\n"
+msgstr ""
+
+#: vms-alpha.c:6101
+#, c-format
+msgid "STO_W (store word)\n"
+msgstr ""
+
+#: vms-alpha.c:6104
+#, c-format
+msgid "STO_LW (store longword)\n"
+msgstr ""
+
+#: vms-alpha.c:6107
+#, c-format
+msgid "STO_QW (store quadword)\n"
+msgstr ""
+
+#: vms-alpha.c:6113
+#, c-format
+msgid "STO_IMMR (store immediate repeat) %u bytes\n"
+msgstr ""
+
+#: vms-alpha.c:6120
+#, c-format
+msgid "STO_GBL (store global) %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6124
+#, c-format
+msgid "STO_CA (store code address) %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6128
+#, c-format
+msgid "STO_RB (store relative branch)\n"
+msgstr ""
+
+#: vms-alpha.c:6131
+#, c-format
+msgid "STO_AB (store absolute branch)\n"
+msgstr ""
+
+#: vms-alpha.c:6134
+#, c-format
+msgid "STO_OFF (store offset to psect)\n"
+msgstr ""
+
+#: vms-alpha.c:6140
+#, c-format
+msgid "STO_IMM (store immediate) %u bytes\n"
+msgstr ""
+
+#: vms-alpha.c:6147
+#, c-format
+msgid "STO_GBL_LW (store global longword) %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6151
+#, c-format
+msgid "STO_OFF (store LP with procedure signature)\n"
+msgstr ""
+
+#: vms-alpha.c:6154
+#, c-format
+msgid "STO_BR_GBL (store branch global) *todo*\n"
+msgstr ""
+
+#: vms-alpha.c:6157
+#, c-format
+msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
+msgstr ""
+
+#: vms-alpha.c:6161
+#, c-format
+msgid "OPR_NOP (no-operation)\n"
+msgstr ""
+
+#: vms-alpha.c:6164
+#, c-format
+msgid "OPR_ADD (add)\n"
+msgstr ""
+
+#: vms-alpha.c:6167
+#, c-format
+msgid "OPR_SUB (substract)\n"
+msgstr ""
+
+#: vms-alpha.c:6170
+#, c-format
+msgid "OPR_MUL (multiply)\n"
+msgstr ""
+
+#: vms-alpha.c:6173
+#, c-format
+msgid "OPR_DIV (divide)\n"
+msgstr ""
+
+#: vms-alpha.c:6176
+#, c-format
+msgid "OPR_AND (logical and)\n"
+msgstr ""
+
+#: vms-alpha.c:6179
+#, c-format
+msgid "OPR_IOR (logical inclusive or)\n"
+msgstr ""
+
+#: vms-alpha.c:6182
+#, c-format
+msgid "OPR_EOR (logical exclusive or)\n"
+msgstr ""
+
+#: vms-alpha.c:6185
+#, c-format
+msgid "OPR_NEG (negate)\n"
+msgstr ""
+
+#: vms-alpha.c:6188
+#, c-format
+msgid "OPR_COM (complement)\n"
+msgstr ""
+
+#: vms-alpha.c:6191
+#, c-format
+msgid "OPR_INSV (insert field)\n"
+msgstr ""
+
+#: vms-alpha.c:6194
+#, c-format
+msgid "OPR_ASH (arithmetic shift)\n"
+msgstr ""
+
+#: vms-alpha.c:6197
+#, c-format
+msgid "OPR_USH (unsigned shift)\n"
+msgstr ""
+
+#: vms-alpha.c:6200
+#, c-format
+msgid "OPR_ROT (rotate)\n"
+msgstr ""
+
+#: vms-alpha.c:6203
+#, c-format
+msgid "OPR_SEL (select)\n"
+msgstr ""
+
+#: vms-alpha.c:6206
+#, c-format
+msgid "OPR_REDEF (redefine symbol to curr location)\n"
+msgstr ""
+
+#: vms-alpha.c:6209
+#, c-format
+msgid "OPR_REDEF (define a literal)\n"
+msgstr ""
+
+#: vms-alpha.c:6213
+#, c-format
+msgid "STC_LP (store cond linkage pair)\n"
+msgstr ""
+
+#: vms-alpha.c:6217
+#, c-format
+msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
+msgstr ""
+
+#: vms-alpha.c:6218
+#, c-format
+msgid " linkage index: %u, procedure: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6221
+#, c-format
+msgid " signature: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6224
+#, c-format
+msgid "STC_GBL (store cond global)\n"
+msgstr ""
+
+#: vms-alpha.c:6225
+#, c-format
+msgid " linkage index: %u, global: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6229
+#, c-format
+msgid "STC_GCA (store cond code address)\n"
+msgstr ""
+
+#: vms-alpha.c:6230
+#, c-format
+msgid " linkage index: %u, procedure name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6234
+#, c-format
+msgid "STC_PS (store cond psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6236
+#, c-format
+msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:6243
+#, c-format
+msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
+msgstr ""
+
+#: vms-alpha.c:6247
+#, c-format
+msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6251
+#, c-format
+msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
+msgstr ""
+
+#: vms-alpha.c:6255
+#, c-format
+msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6259
+#, c-format
+msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
+msgstr ""
+
+#: vms-alpha.c:6263
+#, c-format
+msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6267
+#, c-format
+msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
+msgstr ""
+
+#: vms-alpha.c:6271
+#, c-format
+msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6276
+#, c-format
+msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
+msgstr ""
+
+#: vms-alpha.c:6280
+#, c-format
+msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
+msgstr ""
+
+#: vms-alpha.c:6284
+#, c-format
+msgid "CTL_SETRB (set relocation base)\n"
+msgstr ""
+
+#: vms-alpha.c:6290
+#, c-format
+msgid "CTL_AUGRB (augment relocation base) %u\n"
+msgstr ""
+
+#: vms-alpha.c:6294
+#, c-format
+msgid "CTL_DFLOC (define location)\n"
+msgstr ""
+
+#: vms-alpha.c:6297
+#, c-format
+msgid "CTL_STLOC (set location)\n"
+msgstr ""
+
+#: vms-alpha.c:6300
+#, c-format
+msgid "CTL_STKDL (stack defined location)\n"
+msgstr ""
+
+#: vms-alpha.c:6303 vms-alpha.c:6717
+#, c-format
+msgid "*unhandled*\n"
+msgstr "*nekontrolirano*\n"
+
+#: vms-alpha.c:6333 vms-alpha.c:6372
+#, c-format
+msgid "cannot read GST record length\n"
+msgstr ""
+
+#. Ill-formed.
+#: vms-alpha.c:6354
+#, c-format
+msgid "cannot find EMH in first GST record\n"
+msgstr ""
+
+#: vms-alpha.c:6380
+#, c-format
+msgid "cannot read GST record header\n"
+msgstr ""
+
+#: vms-alpha.c:6393
+#, c-format
+msgid " corrupted GST\n"
+msgstr " oštećeni GST\n"
+
+#: vms-alpha.c:6401
+#, c-format
+msgid "cannot read GST record\n"
+msgstr "ne mogu Äitati GST zapis\n"
+
+#: vms-alpha.c:6430
+#, c-format
+msgid " unhandled EOBJ record type %u\n"
+msgstr ""
+
+#: vms-alpha.c:6453
+#, c-format
+msgid " bitcount: %u, base addr: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6466
+#, c-format
+msgid " bitmap: 0x%08x (count: %u):\n"
+msgstr ""
+
+#: vms-alpha.c:6473
+#, c-format
+msgid " %08x"
+msgstr " %08x"
+
+#: vms-alpha.c:6498
+#, c-format
+msgid " image %u (%u entries)\n"
+msgstr ""
+
+#: vms-alpha.c:6503
+#, c-format
+msgid " offset: 0x%08x, val: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6524
+#, c-format
+msgid " image %u (%u entries), offsets:\n"
+msgstr ""
+
+#: vms-alpha.c:6531
+#, c-format
+msgid " 0x%08x"
+msgstr " 0x%08x"
+
+#. 64 bits.
+#: vms-alpha.c:6653
+#, c-format
+msgid "64 bits *unhandled*\n"
+msgstr ""
+
+#: vms-alpha.c:6657
+#, c-format
+msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6668
+#, c-format
+msgid "non-contiguous array of %s\n"
+msgstr ""
+
+#: vms-alpha.c:6672
+#, c-format
+msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
+msgstr ""
+
+#: vms-alpha.c:6676
+#, c-format
+msgid "arsize: %u, a0: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6680
+#, c-format
+msgid "Strides:\n"
+msgstr ""
+
+#: vms-alpha.c:6685
+#, c-format
+msgid "[%u]: %u\n"
+msgstr "[%u]: %u\n"
+
+#: vms-alpha.c:6690
+#, c-format
+msgid "Bounds:\n"
+msgstr ""
+
+#: vms-alpha.c:6695
+#, c-format
+msgid "[%u]: Lower: %u, upper: %u\n"
+msgstr ""
+
+#: vms-alpha.c:6707
+#, c-format
+msgid "unaligned bit-string of %s\n"
+msgstr ""
+
+#: vms-alpha.c:6711
+#, c-format
+msgid "base: %u, pos: %u\n"
+msgstr ""
+
+#: vms-alpha.c:6731
+#, c-format
+msgid "vflags: 0x%02x, value: 0x%08x "
+msgstr ""
+
+#: vms-alpha.c:6737
+#, c-format
+msgid "(no value)\n"
+msgstr ""
+
+#: vms-alpha.c:6740
+#, c-format
+msgid "(not active)\n"
+msgstr ""
+
+#: vms-alpha.c:6743
+#, c-format
+msgid "(not allocated)\n"
+msgstr ""
+
+#: vms-alpha.c:6746
+#, c-format
+msgid "(descriptor)\n"
+msgstr ""
+
+#: vms-alpha.c:6750
+#, c-format
+msgid "(trailing value)\n"
+msgstr ""
+
+#: vms-alpha.c:6753
+#, c-format
+msgid "(value spec follows)\n"
+msgstr ""
+
+#: vms-alpha.c:6756
+#, c-format
+msgid "(at bit offset %u)\n"
+msgstr ""
+
+#: vms-alpha.c:6759
+#, c-format
+msgid "(reg: %u, disp: %u, indir: %u, kind: "
+msgstr ""
+
+#: vms-alpha.c:6766
+msgid "literal"
+msgstr ""
+
+#: vms-alpha.c:6769
+msgid "address"
+msgstr "adresa"
+
+#: vms-alpha.c:6772
+msgid "desc"
+msgstr "opis"
+
+#: vms-alpha.c:6775
+msgid "reg"
+msgstr "reg"
+
+#: vms-alpha.c:6850
+#, c-format
+msgid "Debug symbol table:\n"
+msgstr ""
+
+#: vms-alpha.c:6861
+#, c-format
+msgid "cannot read DST header\n"
+msgstr ""
+
+#: vms-alpha.c:6866
+#, c-format
+msgid " type: %3u, len: %3u (at 0x%08x): "
+msgstr ""
+
+#: vms-alpha.c:6880
+#, c-format
+msgid "cannot read DST symbol\n"
+msgstr ""
+
+#: vms-alpha.c:6923
+#, c-format
+msgid "standard data: %s\n"
+msgstr "standardni podaci: %s\n"
+
+#: vms-alpha.c:6926 vms-alpha.c:7010
+#, c-format
+msgid " name: %.*s\n"
+msgstr " ime: %.*s\n"
+
+#: vms-alpha.c:6933
+#, c-format
+msgid "modbeg\n"
+msgstr ""
+
+#: vms-alpha.c:6934
+#, c-format
+msgid " flags: %d, language: %u, major: %u, minor: %u\n"
+msgstr ""
+
+#: vms-alpha.c:6940 vms-alpha.c:7206
+#, c-format
+msgid " module name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6943
+#, c-format
+msgid " compiler : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6948
+#, c-format
+msgid "modend\n"
+msgstr ""
+
+#: vms-alpha.c:6955
+msgid "rtnbeg\n"
+msgstr ""
+
+#: vms-alpha.c:6956
+#, c-format
+msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6961
+#, c-format
+msgid " routine name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:6969
+#, c-format
+msgid "rtnend: size 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6977
+#, c-format
+msgid "prolog: bkpt address 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:6985
+#, c-format
+msgid "epilog: flags: %u, count: %u\n"
+msgstr ""
+
+#: vms-alpha.c:6994
+#, c-format
+msgid "blkbeg: address: 0x%08x, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7003
+#, c-format
+msgid "blkend: size: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7009
+#, c-format
+msgid "typspec (len: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7016
+#, c-format
+msgid "septyp, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7025
+#, c-format
+msgid "recbeg: name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7032
+#, c-format
+msgid "recend\n"
+msgstr ""
+
+#: vms-alpha.c:7035
+#, c-format
+msgid "enumbeg, len: %u, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7039
+#, c-format
+msgid "enumelt, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7043
+#, c-format
+msgid "enumend\n"
+msgstr ""
+
+#: vms-alpha.c:7060
+#, c-format
+msgid "discontiguous range (nbr: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7062
+#, c-format
+msgid " address: 0x%08x, size: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7072
+#, c-format
+msgid "line num (len: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7089
+#, c-format
+msgid "delta_pc_w %u\n"
+msgstr "delta_pc_w %u\n"
+
+#: vms-alpha.c:7096
+#, c-format
+msgid "incr_linum(b): +%u\n"
+msgstr "incr_linum(b): +%u\n"
+
+#: vms-alpha.c:7102
+#, c-format
+msgid "incr_linum_w: +%u\n"
+msgstr "incr_linum_w: +%u\n"
+
+#: vms-alpha.c:7108
+#, c-format
+msgid "incr_linum_l: +%u\n"
+msgstr "incr_linum_l: +%u\n"
+
+#: vms-alpha.c:7114
+#, c-format
+msgid "set_line_num(w) %u\n"
+msgstr "set_line_num(w) %u\n"
+
+#: vms-alpha.c:7119
+#, c-format
+msgid "set_line_num_b %u\n"
+msgstr "set_line_num_b %u\n"
+
+#: vms-alpha.c:7124
+#, c-format
+msgid "set_line_num_l %u\n"
+msgstr "set_line_num_l %u\n"
+
+#: vms-alpha.c:7129
+#, c-format
+msgid "set_abs_pc: 0x%08x\n"
+msgstr "set_abs_pc: 0x%08x\n"
+
+#: vms-alpha.c:7133
+#, c-format
+msgid "delta_pc_l: +0x%08x\n"
+msgstr "delta_pc_l: +0x%08x\n"
+
+#: vms-alpha.c:7138
+#, c-format
+msgid "term(b): 0x%02x"
+msgstr ""
+
+#: vms-alpha.c:7140
+#, c-format
+msgid " pc: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7145
+#, c-format
+msgid "term_w: 0x%04x"
+msgstr ""
+
+#: vms-alpha.c:7147
+#, c-format
+msgid " pc: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7153
+#, c-format
+msgid "delta pc +%-4d"
+msgstr ""
+
+#: vms-alpha.c:7156
+#, c-format
+msgid " pc: 0x%08x line: %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7161
+#, c-format
+msgid " *unhandled* cmd %u\n"
+msgstr ""
+
+#: vms-alpha.c:7176
+#, c-format
+msgid "source (len: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7190
+#, c-format
+msgid " declfile: len: %u, flags: %u, fileid: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7194
+#, c-format
+msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7203
+#, c-format
+msgid " filename : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7212
+#, c-format
+msgid " setfile %u\n"
+msgstr ""
+
+#: vms-alpha.c:7217 vms-alpha.c:7222
+#, c-format
+msgid " setrec %u\n"
+msgstr ""
+
+#: vms-alpha.c:7227 vms-alpha.c:7232
+#, c-format
+msgid " setlnum %u\n"
+msgstr ""
+
+#: vms-alpha.c:7237 vms-alpha.c:7242
+#, c-format
+msgid " deflines %u\n"
+msgstr ""
+
+#: vms-alpha.c:7246
+#, c-format
+msgid " formfeed\n"
+msgstr ""
+
+#: vms-alpha.c:7250
+#, c-format
+msgid " *unhandled* cmd %u\n"
+msgstr ""
+
+#: vms-alpha.c:7262
+#, c-format
+msgid "*unhandled* dst type %u\n"
+msgstr ""
+
+#: vms-alpha.c:7294
+#, c-format
+msgid "cannot read EIHD\n"
+msgstr ""
+
+#: vms-alpha.c:7297
+#, c-format
+msgid "EIHD: (size: %u, nbr blocks: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7300
+#, c-format
+msgid " majorid: %u, minorid: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7308
+msgid "executable"
+msgstr ""
+
+#: vms-alpha.c:7311
+msgid "linkable image"
+msgstr ""
+
+#: vms-alpha.c:7317
+#, c-format
+msgid " image type: %u (%s)"
+msgstr ""
+
+#: vms-alpha.c:7323
+msgid "native"
+msgstr ""
+
+#: vms-alpha.c:7326
+msgid "CLI"
+msgstr ""
+
+#: vms-alpha.c:7332
+#, c-format
+msgid ", subtype: %u (%s)\n"
+msgstr ""
+
+#: vms-alpha.c:7338
+#, c-format
+msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7342
+#, c-format
+msgid " fixup info rva: "
+msgstr ""
+
+#: vms-alpha.c:7344
+#, c-format
+msgid ", symbol vector rva: "
+msgstr ""
+
+#: vms-alpha.c:7347
+#, c-format
+msgid ""
+"\n"
+" version array off: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7351
+#, c-format
+msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7357
+#, c-format
+msgid " linker flags: %08x:"
+msgstr ""
+
+#: vms-alpha.c:7387
+#, c-format
+msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7393
+#, c-format
+msgid " BPAGE: %u"
+msgstr ""
+
+#: vms-alpha.c:7399
+#, c-format
+msgid ", ext fixup offset: %u, no_opt psect off: %u"
+msgstr ""
+
+#: vms-alpha.c:7402
+#, c-format
+msgid ", alias: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7410
+#, c-format
+msgid "system version array information:\n"
+msgstr ""
+
+#: vms-alpha.c:7414
+#, c-format
+msgid "cannot read EIHVN header\n"
+msgstr ""
+
+#: vms-alpha.c:7424
+#, c-format
+msgid "cannot read EIHVN version\n"
+msgstr ""
+
+#: vms-alpha.c:7427
+#, c-format
+msgid " %02u "
+msgstr ""
+
+#: vms-alpha.c:7431
+msgid "BASE_IMAGE "
+msgstr ""
+
+#: vms-alpha.c:7434
+msgid "MEMORY_MANAGEMENT"
+msgstr "UPRAVLJANJE_MEMORIJOM"
+
+#: vms-alpha.c:7437
+msgid "IO "
+msgstr ""
+
+#: vms-alpha.c:7440
+msgid "FILES_VOLUMES "
+msgstr ""
+
+#: vms-alpha.c:7443
+msgid "PROCESS_SCHED "
+msgstr ""
+
+#: vms-alpha.c:7446
+msgid "SYSGEN "
+msgstr ""
+
+#: vms-alpha.c:7449
+msgid "CLUSTERS_LOCKMGR "
+msgstr ""
+
+#: vms-alpha.c:7452
+msgid "LOGICAL_NAMES "
+msgstr ""
+
+#: vms-alpha.c:7455
+msgid "SECURITY "
+msgstr ""
+
+#: vms-alpha.c:7458
+msgid "IMAGE_ACTIVATOR "
+msgstr ""
+
+#: vms-alpha.c:7461
+msgid "NETWORKS "
+msgstr ""
+
+#: vms-alpha.c:7464
+msgid "COUNTERS "
+msgstr ""
+
+#: vms-alpha.c:7467
+msgid "STABLE "
+msgstr ""
+
+#: vms-alpha.c:7470
+msgid "MISC "
+msgstr ""
+
+#: vms-alpha.c:7473
+msgid "CPU "
+msgstr ""
+
+#: vms-alpha.c:7476
+msgid "VOLATILE "
+msgstr ""
+
+#: vms-alpha.c:7479
+msgid "SHELL "
+msgstr ""
+
+#: vms-alpha.c:7482
+msgid "POSIX "
+msgstr ""
+
+#: vms-alpha.c:7485
+msgid "MULTI_PROCESSING "
+msgstr ""
+
+#: vms-alpha.c:7488
+msgid "GALAXY "
+msgstr ""
+
+#: vms-alpha.c:7491
+msgid "*unknown* "
+msgstr ""
+
+#: vms-alpha.c:7494
+#, c-format
+msgid ": %u.%u\n"
+msgstr ""
+
+#: vms-alpha.c:7507 vms-alpha.c:7766
+#, c-format
+msgid "cannot read EIHA\n"
+msgstr ""
+
+#: vms-alpha.c:7510
+#, c-format
+msgid "Image activation: (size=%u)\n"
+msgstr ""
+
+#: vms-alpha.c:7512
+#, c-format
+msgid " First address : 0x%08x 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7515
+#, c-format
+msgid " Second address: 0x%08x 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7518
+#, c-format
+msgid " Third address : 0x%08x 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7521
+#, c-format
+msgid " Fourth address: 0x%08x 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7524
+#, c-format
+msgid " Shared image : 0x%08x 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7535
+#, c-format
+msgid "cannot read EIHI\n"
+msgstr "ne mogu Äitati EIHI\n"
+
+#: vms-alpha.c:7538
+#, c-format
+msgid "Image identification: (major: %u, minor: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7541
+#, c-format
+msgid " image name : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7543
+#, c-format
+msgid " link time : %s\n"
+msgstr ""
+
+#: vms-alpha.c:7545
+#, c-format
+msgid " image ident : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7547
+#, c-format
+msgid " linker ident : %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7549
+#, c-format
+msgid " image build ident: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7559
+#, c-format
+msgid "cannot read EIHS\n"
+msgstr ""
+
+#: vms-alpha.c:7562
+#, c-format
+msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7567
+#, c-format
+msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
+msgstr ""
+
+#: vms-alpha.c:7571
+#, c-format
+msgid " global symbol table: vbn: %u, records: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7575
+#, c-format
+msgid " debug module table : vbn: %u, size: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7588
+#, c-format
+msgid "cannot read EISD\n"
+msgstr "ne mogu Äitati EISD\n"
+
+#: vms-alpha.c:7598
+#, c-format
+msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7605
+#, c-format
+msgid " section: base: 0x%08x%08x size: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7610
+#, c-format
+msgid " flags: 0x%04x"
+msgstr ""
+
+#: vms-alpha.c:7647
+#, c-format
+msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
+msgstr ""
+
+#: vms-alpha.c:7653
+msgid "NORMAL"
+msgstr ""
+
+#: vms-alpha.c:7656
+msgid "SHRFXD"
+msgstr ""
+
+#: vms-alpha.c:7659
+msgid "PRVFXD"
+msgstr ""
+
+#: vms-alpha.c:7662
+msgid "SHRPIC"
+msgstr ""
+
+#: vms-alpha.c:7665
+msgid "PRVPIC"
+msgstr ""
+
+#: vms-alpha.c:7668
+msgid "USRSTACK"
+msgstr ""
+
+#: vms-alpha.c:7676
+#, c-format
+msgid " ident: 0x%08x, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7686
+#, c-format
+msgid "cannot read DMT\n"
+msgstr ""
+
+#: vms-alpha.c:7690
+#, c-format
+msgid "Debug module table:\n"
+msgstr ""
+
+#: vms-alpha.c:7699
+#, c-format
+msgid "cannot read DMT header\n"
+msgstr ""
+
+#: vms-alpha.c:7704
+#, c-format
+msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
+msgstr ""
+
+#: vms-alpha.c:7714
+#, c-format
+msgid "cannot read DMT psect\n"
+msgstr ""
+
+#: vms-alpha.c:7717
+#, c-format
+msgid " psect start: 0x%08x, length: %u\n"
+msgstr ""
+
+#: vms-alpha.c:7730
+#, c-format
+msgid "cannot read DST\n"
+msgstr "ne mogu Äitati DST\n"
+
+#: vms-alpha.c:7740
+#, c-format
+msgid "cannot read GST\n"
+msgstr "ne mogu Äitati GST\n"
+
+#: vms-alpha.c:7744
+#, c-format
+msgid "Global symbol table:\n"
+msgstr ""
+
+#: vms-alpha.c:7772
+#, c-format
+msgid "Image activator fixup: (major: %u, minor: %u)\n"
+msgstr ""
+
+#: vms-alpha.c:7775
+#, c-format
+msgid " iaflink : 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:7778
+#, c-format
+msgid " fixuplnk: 0x%08x %08x\n"
+msgstr ""
+
+#: vms-alpha.c:7781
+#, c-format
+msgid " size : %u\n"
+msgstr ""
+
+#: vms-alpha.c:7783
+#, c-format
+msgid " flags: 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7787
+#, c-format
+msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7791
+#, c-format
+msgid " qdotadroff: %5u, ldotadroff: %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7795
+#, c-format
+msgid " codeadroff: %5u, lpfixoff : %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7798
+#, c-format
+msgid " chgprtoff : %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7801
+#, c-format
+msgid " shlstoff : %5u, shrimgcnt : %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7803
+#, c-format
+msgid " shlextra : %5u, permctx : %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7806
+#, c-format
+msgid " base_va : 0x%08x\n"
+msgstr ""
+
+#: vms-alpha.c:7808
+#, c-format
+msgid " lppsbfixoff: %5u\n"
+msgstr ""
+
+#: vms-alpha.c:7816
+#, c-format
+msgid " Shareable images:\n"
+msgstr ""
+
+#: vms-alpha.c:7820
+#, c-format
+msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
+msgstr ""
+
+#: vms-alpha.c:7827
+#, c-format
+msgid " quad-word relocation fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7832
+#, c-format
+msgid " long-word relocation fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7837
+#, c-format
+msgid " quad-word .address reference fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7842
+#, c-format
+msgid " long-word .address reference fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7847
+#, c-format
+msgid " Code Address Reference Fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7852
+#, c-format
+msgid " Linkage Pairs Referece Fixups:\n"
+msgstr ""
+
+#: vms-alpha.c:7861
+#, c-format
+msgid " Change Protection (%u entries):\n"
+msgstr ""
+
+#: vms-alpha.c:7866
+#, c-format
+msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
+msgstr ""
+
+#. FIXME: we do not yet support relocatable link. It is not obvious
+#. how to do it for debug infos.
+#: vms-alpha.c:8706
+msgid "%P: relocatable link is not supported\n"
+msgstr ""
+
+#: vms-alpha.c:8776
+msgid "%P: multiple entry points: in modules %B and %B\n"
+msgstr ""
+
+#: vms-lib.c:1423
+#, c-format
+msgid "could not open shared image '%s' from '%s'"
+msgstr ""
+
+#: vms-misc.c:360
+msgid "_bfd_vms_output_counted called with zero bytes"
+msgstr ""
+
+#: vms-misc.c:365
+msgid "_bfd_vms_output_counted called with too many bytes"
+msgstr ""
+
+#: xcofflink.c:836
+#, c-format
+msgid "%s: XCOFF shared object when not producing XCOFF output"
+msgstr ""
+
+#: xcofflink.c:857
+#, c-format
+msgid "%s: dynamic object with no .loader section"
+msgstr ""
+
+#: xcofflink.c:1416
+msgid "%B: `%s' has line numbers but no enclosing section"
+msgstr ""
+
+#: xcofflink.c:1468
+msgid "%B: class %d symbol `%s' has no aux entries"
+msgstr ""
+
+#: xcofflink.c:1490
+msgid "%B: symbol `%s' has unrecognized csect type %d"
+msgstr ""
+
+#: xcofflink.c:1502
+msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
+msgstr ""
+
+#: xcofflink.c:1531
+msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
+msgstr ""
+
+#: xcofflink.c:1677
+msgid "%B: csect `%s' not in enclosing section"
+msgstr ""
+
+#: xcofflink.c:1784
+msgid "%B: misplaced XTY_LD `%s'"
+msgstr ""
+
+#: xcofflink.c:2103
+msgid "%B: reloc %s:%d not in csect"
+msgstr ""
+
+#: xcofflink.c:3194
+#, c-format
+msgid "%s: no such symbol"
+msgstr "%s: nema takvog simbola"
+
+#: xcofflink.c:3299
+#, c-format
+msgid "warning: attempt to export undefined symbol `%s'"
+msgstr ""
+
+#: xcofflink.c:3678
+msgid "error: undefined symbol __rtinit"
+msgstr "greška: nedefinirani simbol __rtinit"
+
+#: xcofflink.c:4057
+msgid "%B: loader reloc in unrecognized section `%s'"
+msgstr ""
+
+#: xcofflink.c:4068
+msgid "%B: `%s' in loader reloc but not loader sym"
+msgstr ""
+
+#: xcofflink.c:4084
+msgid "%B: loader reloc in read-only section %A"
+msgstr ""
+
+#: xcofflink.c:5106
+#, c-format
+msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
+msgstr ""
+
+#: elf32-ia64.c:628 elf64-ia64.c:628
+msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
+msgstr ""
+
+#: elf32-ia64.c:2284 elf64-ia64.c:2284
+msgid "@pltoff reloc against local symbol"
+msgstr ""
+
+#: elf32-ia64.c:3687 elf64-ia64.c:3687
+#, c-format
+msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
+msgstr ""
+
+#: elf32-ia64.c:3698 elf64-ia64.c:3698
+#, c-format
+msgid "%s: __gp does not cover short data segment"
+msgstr ""
+
+#: elf32-ia64.c:3965 elf64-ia64.c:3965
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr ""
+
+#: elf32-ia64.c:4032 elf64-ia64.c:4032
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf32-ia64.c:4095 elf64-ia64.c:4095
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr ""
+
+#: elf32-ia64.c:4232 elf64-ia64.c:4232
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr ""
+
+#: elf32-ia64.c:4234 elf64-ia64.c:4234
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr ""
+
+#: elf32-ia64.c:4236 elf64-ia64.c:4236
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr ""
+
+#: elf32-ia64.c:4433 elf64-ia64.c:4433
+msgid "unsupported reloc"
+msgstr ""
+
+#: elf32-ia64.c:4471 elf64-ia64.c:4471
+msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
+msgstr ""
+
+#: elf32-ia64.c:4486 elf64-ia64.c:4486
+msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
+msgstr ""
+
+#: elf32-ia64.c:4748 elf64-ia64.c:4748
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr ""
+
+#: elf32-ia64.c:4757 elf64-ia64.c:4757
+msgid "%B: linking big-endian files with little-endian files"
+msgstr ""
+
+#: elf32-ia64.c:4766 elf64-ia64.c:4766
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr ""
+
+#: elf32-ia64.c:4775 elf64-ia64.c:4775
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr ""
+
+#: elf32-ia64.c:4785 elf64-ia64.c:4785
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr ""
+
+#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#, c-format
+msgid "%s: line number overflow: 0x%lx > 0xffff"
+msgstr ""
+
+#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+msgid "Export Directory [.edata (or where ever we found it)]"
+msgstr ""
+
+#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+msgid "Import Directory [parts of .idata]"
+msgstr ""
+
+#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+msgid "Resource Directory [.rsrc]"
+msgstr ""
+
+#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+msgid "Exception Directory [.pdata]"
+msgstr ""
+
+#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+msgid "Security Directory"
+msgstr ""
+
+#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+msgid "Base Relocation Directory [.reloc]"
+msgstr ""
+
+#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+msgid "Debug Directory"
+msgstr ""
+
+#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+msgid "Description Directory"
+msgstr ""
+
+#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+msgid "Special Directory"
+msgstr ""
+
+#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+msgid "Thread Storage Directory [.tls]"
+msgstr ""
+
+#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+msgid "Load Configuration Directory"
+msgstr ""
+
+#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+msgid "Bound Import Directory"
+msgstr ""
+
+#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+msgid "Import Address Table Directory"
+msgstr ""
+
+#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+msgid "Delay Import Directory"
+msgstr ""
+
+#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+msgid "CLR Runtime Header"
+msgstr ""
+
+#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+msgid "Reserved"
+msgstr "Rezervirano"
+
+#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#, c-format
+msgid ""
+"\n"
+"There is an import table, but the section containing it could not be found\n"
+msgstr ""
+
+#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s at 0x%lx\n"
+msgstr ""
+
+#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#, c-format
+msgid ""
+"\n"
+"Function descriptor located at the start address: %04lx\n"
+msgstr ""
+
+#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#, c-format
+msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
+msgstr ""
+
+#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#, c-format
+msgid ""
+"\n"
+"No reldata section! Function descriptor not decoded.\n"
+msgstr ""
+
+#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#, c-format
+msgid ""
+"\n"
+"The Import Tables (interpreted %s section contents)\n"
+msgstr ""
+
+#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#, c-format
+msgid ""
+" vma: Hint Time Forward DLL First\n"
+" Table Stamp Chain Name Thunk\n"
+msgstr ""
+
+#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#, c-format
+msgid ""
+"\n"
+"\tDLL Name: %s\n"
+msgstr ""
+
+#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#, c-format
+msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
+msgstr ""
+
+#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#, c-format
+msgid ""
+"\n"
+"There is a first thunk, but the section containing it could not be found\n"
+msgstr ""
+
+#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#, c-format
+msgid ""
+"\n"
+"There is an export table, but the section containing it could not be found\n"
+msgstr ""
+
+#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it does not fit into that section\n"
+msgstr ""
+
+#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s at 0x%lx\n"
+msgstr ""
+
+#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#, c-format
+msgid ""
+"\n"
+"The Export Tables (interpreted %s section contents)\n"
+"\n"
+msgstr ""
+
+#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#, c-format
+msgid "Export Flags \t\t\t%lx\n"
+msgstr ""
+
+#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#, c-format
+msgid "Time/Date stamp \t\t%lx\n"
+msgstr ""
+
+#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#, c-format
+msgid "Major/Minor \t\t\t%d/%d\n"
+msgstr ""
+
+#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#, c-format
+msgid "Name \t\t\t\t"
+msgstr ""
+
+#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#, c-format
+msgid "Ordinal Base \t\t\t%ld\n"
+msgstr ""
+
+#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#, c-format
+msgid "Number in:\n"
+msgstr ""
+
+#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#, c-format
+msgid "\tExport Address Table \t\t%08lx\n"
+msgstr ""
+
+#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#, c-format
+msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
+msgstr ""
+
+#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#, c-format
+msgid "Table Addresses\n"
+msgstr ""
+
+#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#, c-format
+msgid "\tExport Address Table \t\t"
+msgstr ""
+
+#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#, c-format
+msgid "\tName Pointer Table \t\t"
+msgstr ""
+
+#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#, c-format
+msgid "\tOrdinal Table \t\t\t"
+msgstr ""
+
+#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#, c-format
+msgid ""
+"\n"
+"Export Address Table -- Ordinal Base %ld\n"
+msgstr ""
+
+#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+msgid "Forwarder RVA"
+msgstr ""
+
+#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+msgid "Export RVA"
+msgstr ""
+
+#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#, c-format
+msgid ""
+"\n"
+"[Ordinal/Name Pointer] Table\n"
+msgstr ""
+
+#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
+#: pex64igen.c:1797
+#, c-format
+msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
+msgstr ""
+
+#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#, c-format
+msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
+msgstr ""
+
+#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#, c-format
+msgid ""
+" vma:\t\tBegin End EH EH PrologEnd Exception\n"
+" \t\tAddress Address Handler Data Address Mask\n"
+msgstr ""
+
+#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#, c-format
+msgid " Register save millicode"
+msgstr ""
+
+#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#, c-format
+msgid " Register restore millicode"
+msgstr ""
+
+#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#, c-format
+msgid " Glue code sequence"
+msgstr ""
+
+#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#, c-format
+msgid ""
+" vma:\t\tBegin Prolog Function Flags Exception EH\n"
+" \t\tAddress Length Length 32b exc Handler Data\n"
+msgstr ""
+
+#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#, c-format
+msgid ""
+"\n"
+"\n"
+"PE File Base Relocations (interpreted .reloc section contents)\n"
+msgstr ""
+
+#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#, c-format
+msgid ""
+"\n"
+"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"
+msgstr ""
+
+#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#, c-format
+msgid "\treloc %4d offset %4x [%4lx] %s"
+msgstr ""
+
+#. The MS dumpbin program reportedly ands with 0xff0f before
+#. printing the characteristics field. Not sure why. No reason to
+#. emulate it here.
+#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#, c-format
+msgid ""
+"\n"
+"Characteristics 0x%x\n"
+msgstr ""
+
+#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
+msgstr ""
+
+#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
+msgstr ""
+
+#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
+msgstr ""
+
+#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
+msgstr ""
+
+#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
+msgstr ""
+
+#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
+msgstr ""
diff --git a/bfd/po/id.po b/bfd/po/id.po
index 018d716..b0acde8 100644
--- a/bfd/po/id.po
+++ b/bfd/po/id.po
@@ -1,16 +1,18 @@
# Pesan Bahasa Indonesia untuk BFD
# Copyright (C) 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: bfd 2.20\n"
+"Project-Id-Version: bfd 2.23.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:05+0200\n"
-"PO-Revision-Date: 2009-11-11 08:00+0700\n"
+"POT-Creation-Date: 2011-10-25 11:58+0100\n"
+"PO-Revision-Date: 2014-09-16 08:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -19,155 +21,155 @@ msgstr ""
msgid "%B: Unknown section type in a.out.adobe file: %x\n"
msgstr "%B: Tipe bagian tidak diketahui dalam berkas a.out.adobe: %x\n"
-#: aout-cris.c:204
+#: aout-cris.c:199
#, c-format
msgid "%s: Invalid relocation type exported: %d"
msgstr "%s: Tipe relokasi tidak valid terekspor: %d"
-#: aout-cris.c:247
+#: aout-cris.c:242
msgid "%B: Invalid relocation type imported: %d"
msgstr "%B: Tipe relokasi tidak valid terimpor: %d"
-#: aout-cris.c:258
+#: aout-cris.c:253
msgid "%B: Bad relocation record imported: %d"
msgstr "%B: Catatan relokasi buruk terimpor: %d"
-#: aoutx.h:1271 aoutx.h:1609
+#: aoutx.h:1273 aoutx.h:1611
#, c-format
msgid "%s: can not represent section `%s' in a.out object file format"
msgstr "%s: tidak dapat merepresentasikan bagian `%s' dalam a.out objek format berkas"
-#: aoutx.h:1575
+#: aoutx.h:1577
#, c-format
msgid "%s: can not represent section for symbol `%s' in a.out object file format"
msgstr "%s: tidak dapat merepresentasikan bagian untuk simbol `%s' dalam format berkas a.out objek"
-#: aoutx.h:1577
+#: aoutx.h:1579 vms-alpha.c:7671
msgid "*unknown*"
msgstr "*tidak diketahui*"
-#: aoutx.h:3994 aoutx.h:4320
+#: aoutx.h:4018 aoutx.h:4344
msgid "%P: %B: unexpected relocation type\n"
msgstr "%P: %B: tipe relokasi tidak diduga\n"
-#: aoutx.h:5354
+#: aoutx.h:5375
#, c-format
msgid "%s: relocatable link from %s to %s not supported"
msgstr "%s: link relokasi dari %s ke %s tidak didukung"
-#: archive.c:2056
+#: archive.c:2203
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr "Peringatan: penulisan archive lambat: menulis ulang timestamp\n"
-#: archive.c:2342
+#: archive.c:2491
msgid "Reading archive file mod timestamp"
msgstr "Membaca berkas mod timestamp archive"
-#: archive.c:2366
+#: archive.c:2515
msgid "Writing updated armap timestamp"
msgstr "Menulis armap timestamp terupdate"
-#: bfd.c:375
+#: bfd.c:398
msgid "No error"
msgstr "Tidak error"
-#: bfd.c:376
+#: bfd.c:399
msgid "System call error"
msgstr "Pemanggilan sistem error"
-#: bfd.c:377
+#: bfd.c:400
msgid "Invalid bfd target"
msgstr "Target bfd tidak valid"
-#: bfd.c:378
+#: bfd.c:401
msgid "File in wrong format"
msgstr "Berkas dalam format salah"
-#: bfd.c:379
+#: bfd.c:402
msgid "Archive object file in wrong format"
msgstr "Archive berkas objek dalam format salah"
-#: bfd.c:380
+#: bfd.c:403
msgid "Invalid operation"
msgstr "Operasi tidak valid"
-#: bfd.c:381
+#: bfd.c:404
msgid "Memory exhausted"
msgstr "Kehabisan memori"
-#: bfd.c:382
+#: bfd.c:405
msgid "No symbols"
msgstr "Bukan simbol"
-#: bfd.c:383
+#: bfd.c:406
msgid "Archive has no index; run ranlib to add one"
msgstr "Archive tidak memiliki indek; jalankan ranlib untuk menambahkan satu"
-#: bfd.c:384
+#: bfd.c:407
msgid "No more archived files"
msgstr "Tidak lagi berkas yang ter-archive"
-#: bfd.c:385
+#: bfd.c:408
msgid "Malformed archive"
msgstr "Archive tidak terformat"
-#: bfd.c:386
+#: bfd.c:409
msgid "File format not recognized"
msgstr "Berkas format tidak dikenal"
-#: bfd.c:387
+#: bfd.c:410
msgid "File format is ambiguous"
msgstr "Berkas format ambigu"
-#: bfd.c:388
+#: bfd.c:411
msgid "Section has no contents"
msgstr "Bagian tidak memiliki isi"
-#: bfd.c:389
+#: bfd.c:412
msgid "Nonrepresentable section on output"
msgstr "Bagian tidak dapat direpresentasikan di keluaran"
-#: bfd.c:390
+#: bfd.c:413
msgid "Symbol needs debug section which does not exist"
msgstr "Simbol membutuhkan bagian debug yang mana bagian tersebut tidak ada"
-#: bfd.c:391
+#: bfd.c:414
msgid "Bad value"
msgstr "Nilai buruk"
-#: bfd.c:392
+#: bfd.c:415
msgid "File truncated"
msgstr "Berkas terpotong"
-#: bfd.c:393
+#: bfd.c:416
msgid "File too big"
msgstr "Berkas terlalu besar"
-#: bfd.c:394
+#: bfd.c:417
#, c-format
msgid "Error reading %s: %s"
msgstr "Error membaca %s: %s"
-#: bfd.c:395
+#: bfd.c:418
msgid "#<Invalid error code>"
msgstr "#<Kode error tidak valid>"
-#: bfd.c:919
+#: bfd.c:945
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr "BFD %s assertion gagal %s:%d"
-#: bfd.c:931
+#: bfd.c:957
#, c-format
msgid "BFD %s internal error, aborting at %s line %d in %s\n"
msgstr "BFD %s error internal, menggagalkan di %s baris %d dalam %s\n"
-#: bfd.c:935
+#: bfd.c:961
#, c-format
msgid "BFD %s internal error, aborting at %s line %d\n"
msgstr "BFD %s error internal, menggagalkan di %s baris %d\n"
-#: bfd.c:937
+#: bfd.c:963
msgid "Please report this bug.\n"
msgstr "Tolong laporkan bug ini.\n"
@@ -181,22 +183,22 @@ msgstr "tidak termap: data=%lx mapped=%d\n"
msgid "not mapping: env var not set\n"
msgstr "tidak termap; env var tidak terset\n"
-#: binary.c:284
+#: binary.c:271
#, c-format
msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
msgstr "Peringatan: Menulis bagian `%s' terlalu besar (ie negatif) berkas ofset 0x%lx."
-#: bout.c:1150 elf-m10300.c:2078 elf32-avr.c:1639 elf32-frv.c:5743
-#: elf32-xtensa.c:6639 elfxx-sparc.c:2456 reloc.c:5386 reloc16.c:162
-#: vms.c:1918 elf32-ia64.c:788 elf64-ia64.c:788
+#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
+#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
+#: elf64-ia64.c:360
msgid "%P%F: --relax and -r may not be used together\n"
msgstr "%P%F: --relax dan -r tidak boleh digunakan secara bersamaan\n"
-#: cache.c:226
+#: cache.c:227
msgid "reopening %B: %s\n"
msgstr "membuka kembali %B: %s\n"
-#: coff-alpha.c:490
+#: coff-alpha.c:491
msgid ""
"%B: Cannot handle compressed Alpha binaries.\n"
" Use compiler flags, or objZ, to generate uncompressed binaries."
@@ -204,42 +206,42 @@ msgstr ""
"%B: Tidak dapat menangani binari yang dikompres Alpha.\n"
" Menggunakan tanda kompiler, atau objZ, untuk menghasilkan binari tidak terkompres."
-#: coff-alpha.c:647
+#: coff-alpha.c:648
msgid "%B: unknown/unsupported relocation type %d"
msgstr "%B; tidak diketahui/tidak didukung tipe relokasi %d"
-#: coff-alpha.c:899 coff-alpha.c:936 coff-alpha.c:2024 coff-mips.c:1003
+#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
msgid "GP relative relocation used when GP not defined"
msgstr "GP relatif relokasi digunakan ketika GP tidak didefinisikan"
-#: coff-alpha.c:1501
+#: coff-alpha.c:1502
msgid "using multiple gp values"
msgstr "menggunakan nilai gp multiple"
-#: coff-alpha.c:1560
+#: coff-alpha.c:1561
msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
msgstr "%B: relokasi tidak didukung: ALPHA_R_GPRELHIGH"
-#: coff-alpha.c:1567
+#: coff-alpha.c:1568
msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
msgstr "%B: relokasi tidak didukung: ALPHA_R_GPRELLOW"
-#: coff-alpha.c:1574 elf32-m32r.c:2477 elf64-alpha.c:3943 elf64-alpha.c:4098
-#: elf32-ia64.c:4462 elf64-ia64.c:4462
+#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
+#: elf32-ia64.c:3839 elf64-ia64.c:3839
msgid "%B: unknown relocation type %d"
msgstr "%B: tipe relokasi %d tidak diketahui"
-#: coff-arm.c:1039
+#: coff-arm.c:1038
#, c-format
msgid "%B: unable to find THUMB glue '%s' for `%s'"
msgstr "%B: tidak dapat menemukan lem THUMB '%s' untuk `%s'"
-#: coff-arm.c:1068
+#: coff-arm.c:1067
#, c-format
msgid "%B: unable to find ARM glue '%s' for `%s'"
msgstr "%B: tidak dapat menemukan lem ARM '%s' untuk `%s'"
-#: coff-arm.c:1370 elf32-arm.c:6372
+#: coff-arm.c:1369 elf32-arm.c:7023
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -248,7 +250,7 @@ msgstr ""
"%B(%s): peringatan: antar-kerja tidak diaktifkan.\n"
" pertemuan pertama: %B: arm panggil ke thumb"
-#: coff-arm.c:1460
+#: coff-arm.c:1459
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -259,95 +261,95 @@ msgstr ""
" pertemuan pertama: %B: panggilan thumb ke arm\n"
" pertimbangkan relinking dengan --support-old-code aktif"
-#: coff-arm.c:1755 coff-tic80.c:695 cofflink.c:3027
+#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
msgid "%B: bad reloc address 0x%lx in section `%A'"
msgstr "%B: alamat relokasi buruk 0x%lx dalam bagian `%A'"
-#: coff-arm.c:2080
+#: coff-arm.c:2079
msgid "%B: illegal symbol index in reloc: %d"
msgstr "%B: indek simbol ilegal dalam relokasi: %d"
-#: coff-arm.c:2211
+#: coff-arm.c:2210
#, c-format
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr "error: %B dikompile untuk APCS-%d, dimana %B dikompile untuk APCS-%d"
-#: coff-arm.c:2227 elf32-arm.c:10327
+#: coff-arm.c:2226 elf32-arm.c:15621
#, c-format
msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
msgstr "error: %B melewati float dalam register float, dimana %B melewatinya register integer"
-#: coff-arm.c:2230 elf32-arm.c:10331
+#: coff-arm.c:2229 elf32-arm.c:15625
#, c-format
msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
msgstr "error: %B melewati float dalam register integer, dimana %B melewatinya float register"
-#: coff-arm.c:2244
+#: coff-arm.c:2243
#, c-format
msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
msgstr "error: %B dikompile sebagai kode bebas posisi, dimana target %B yang memiliki posisi absolute"
-#: coff-arm.c:2247
+#: coff-arm.c:2246
#, c-format
msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
msgstr "error: %B dikompile sebagai kode absolute posisi, dimana target %B adalah bebas posisi"
-#: coff-arm.c:2275 elf32-arm.c:10396
+#: coff-arm.c:2274 elf32-arm.c:15690
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr "Peringatan: %B mendukung antar-kerja, dimana %B tidak"
-#: coff-arm.c:2278 elf32-arm.c:10402
+#: coff-arm.c:2277 elf32-arm.c:15696
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr "Peringatan: %B tidak mendukung antar-kerja, dimana %B ya"
-#: coff-arm.c:2302
+#: coff-arm.c:2301
#, c-format
msgid "private flags = %x:"
msgstr "tanda private = %x:"
-#: coff-arm.c:2310 elf32-arm.c:10453
+#: coff-arm.c:2309 elf32-arm.c:11806
#, c-format
msgid " [floats passed in float registers]"
msgstr " [floats melewati dalam register float]"
-#: coff-arm.c:2312
+#: coff-arm.c:2311
#, c-format
msgid " [floats passed in integer registers]"
msgstr " [float melewati register integer]"
-#: coff-arm.c:2315 elf32-arm.c:10456
+#: coff-arm.c:2314 elf32-arm.c:11809
#, c-format
msgid " [position independent]"
msgstr " [bebas posisi]"
-#: coff-arm.c:2317
+#: coff-arm.c:2316
#, c-format
msgid " [absolute position]"
msgstr " [absolute posisi]"
-#: coff-arm.c:2321
+#: coff-arm.c:2320
#, c-format
msgid " [interworking flag not initialised]"
msgstr " [tanda antar-kerja tidak terinisialisasi]"
-#: coff-arm.c:2323
+#: coff-arm.c:2322
#, c-format
msgid " [interworking supported]"
msgstr " [antar-kerja didukung]"
-#: coff-arm.c:2325
+#: coff-arm.c:2324
#, c-format
msgid " [interworking not supported]"
msgstr " [antar-kerja tidak didukung]"
-#: coff-arm.c:2371 elf32-arm.c:9360
+#: coff-arm.c:2370 elf32-arm.c:10841
#, c-format
msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
msgstr "Peringatan: Tidak menset tanda antar-kerja dari %B karena itu telah terspesifikasi sebagai bukan-antar-kerja"
-#: coff-arm.c:2375 elf32-arm.c:9364
+#: coff-arm.c:2374 elf32-arm.c:10845
#, c-format
msgid "Warning: Clearing the interworking flag of %B due to outside request"
msgstr "Peringatan: Menghapus tanda antar-kerja dari %B karena diluar permintaan"
@@ -359,43 +361,23 @@ msgstr "tidak dapat menangani R_MEM_INDIRECT relokasi ketika menggunakan keluara
#: coff-i860.c:147
#, c-format
-msgid "Relocation `%s' not yet implemented\n"
-msgstr "Relokasi `%s' belum terimplementasi\n"
+msgid "relocation `%s' not yet implemented"
+msgstr "relokasi `%s' belum terimplementasi"
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5143
+#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
msgid "%B: warning: illegal symbol index %ld in relocs"
msgstr "%B: peringatan: indek simbol ilegal %ld dalam relokasi"
-#: coff-i960.c:143 coff-i960.c:506
+#: coff-i960.c:144 coff-i960.c:507
msgid "uncertain calling convention for non-COFF symbol"
msgstr "tidak tentu pemanggilan konvensi untuk non-COFF simbol"
-#: coff-m68k.c:506 elf32-bfin.c:5693 elf32-cr16.c:2965 elf32-m68k.c:4615
+#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
msgid "unsupported reloc type"
msgstr "tipe relokasi tidak didukung"
-#: coff-maxq.c:126
-msgid "Can't Make it a Short Jump"
-msgstr "Tidak dapat membuka ini sebuah lompatan pendek"
-
-#: coff-maxq.c:191
-msgid "Exceeds Long Jump Range"
-msgstr "Melewati jangkauan lompatan panjang"
-
-#: coff-maxq.c:202 coff-maxq.c:276
-msgid "Absolute address Exceeds 16 bit Range"
-msgstr "Alamat absolut melewati jangkauan 16 bit"
-
-#: coff-maxq.c:240
-msgid "Absolute address Exceeds 8 bit Range"
-msgstr "Alamat absolute melewati jangkauan 8 bit"
-
-#: coff-maxq.c:333
-msgid "Unrecognized Reloc Type"
-msgstr "Tipe relokasi tidak dikenal"
-
-#: coff-mips.c:688 elf32-mips.c:1014 elf32-score.c:441 elf32-score7.c:341
-#: elf64-mips.c:2018 elfn32-mips.c:1832
+#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
+#: elf64-mips.c:2618 elfn32-mips.c:2431
msgid "GP relative relocation when _gp not defined"
msgstr "GP relokasi relatif ketika _gp tidak terdefinisi"
@@ -403,20 +385,25 @@ msgstr "GP relokasi relatif ketika _gp tidak terdefinisi"
msgid "Unrecognized reloc"
msgstr "Relokasi tidak dikenal"
-#: coff-rs6000.c:2787
+#: coff-rs6000.c:2720
#, c-format
msgid "%s: unsupported relocation type 0x%02x"
msgstr "%s: tipe relokasi tidak didukung 0x%02x"
-#: coff-rs6000.c:2880
+#: coff-rs6000.c:2805
#, c-format
msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
msgstr "%s: TOC relokasi di 0x%x untuk simbol `%s' dengan tidak ada masukan TOC"
-#: coff-rs6000.c:3646 coff64-rs6000.c:2168
+#: coff-rs6000.c:3556 coff64-rs6000.c:2111
msgid "%B: symbol `%s' has unrecognized smclas %d"
msgstr "%B: simbol `%s' memiliki smclas tidak dikenal %d"
+#: coff-sh.c:521
+#, c-format
+msgid "SH Error: unknown reloc type %d"
+msgstr "SH Error: tipe relokasi %d tidak diketahui"
+
#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
#, c-format
msgid "Unrecognized reloc type 0x%x"
@@ -432,76 +419,88 @@ msgstr "%s: peringatan: indek simbol ilegal %ld dalam relokasi"
msgid "ignoring reloc %s\n"
msgstr "mengabaikan relokasi %s\n"
-#: coffcode.h:960
+#: coffcode.h:997
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
msgstr "%B: peringatan: COMDAT simbol '%s' tidak cocok dengan nama bagian '%s'"
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
-#: coffcode.h:1176
+#: coffcode.h:1221
msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
msgstr "%B: Peringatan: Mengabaikan tanda bagian IMAGE_SCN_MEM_NOT_PAGED dalam bagian %s"
-#: coffcode.h:1240
+#: coffcode.h:1288
msgid "%B (%s): Section flag %s (0x%x) ignored"
msgstr "%B (%s): Tanda bagian %s (0x%x) diabaikan"
-#: coffcode.h:2382
+#: coffcode.h:2430
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
msgstr "Target id '0x%x' TI COFF tidak dikenal"
-#: coffcode.h:2696
+#: coffcode.h:2744
msgid "%B: reloc against a non-existant symbol index: %ld"
msgstr "%B: relokasi terhadap simbol indek yang tidak ada: %ld"
-#: coffcode.h:3669
+#: coffcode.h:3302
+msgid "%B: too many sections (%d)"
+msgstr "%B: terlalu banyak bagian (%d)"
+
+#: coffcode.h:3718
msgid "%B: section %s: string table overflow at offset %ld"
msgstr "%B: bagian %s: tabel string overflow di offset %ld"
-#: coffcode.h:4477
+#: coffcode.h:4523
msgid "%B: warning: line number table read failed"
msgstr "%B: peringatan: pembacaan tabel nomor baris gagal"
-#: coffcode.h:4507
+#: coffcode.h:4553
msgid "%B: warning: illegal symbol index %ld in line numbers"
msgstr "%B: peringatan: simbol index %ld ilegal dalam nomor baris"
-#: coffcode.h:4521
+#: coffcode.h:4567
msgid "%B: warning: duplicate line number information for `%s'"
msgstr "%B: peringatan: duplikasi informasi nomor baris untuk `%s'"
-#: coffcode.h:4912
+#: coffcode.h:4967
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
msgstr "%B: kelas %d penyimpanan tidak dikenal untuk %s simbol `%s'"
-#: coffcode.h:5038
+#: coffcode.h:5093
msgid "warning: %B: local symbol `%s' has no section"
msgstr "peringatan: %B: simbol lokal `%s' tidak memiliki bagian"
-#: coffcode.h:5181
+#: coffcode.h:5237
msgid "%B: illegal relocation type %d at address 0x%lx"
msgstr "%B: tipe relokasi %d ilegal di alamat 0x%lx"
-#: coffgen.c:1571
+#: coffgen.c:1595
msgid "%B: bad string table size %lu"
msgstr "%B: string buruk ukuran tabel %lu"
-#: cofflink.c:513 elflink.c:4307
+#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+msgid "%F%P: already_linked_table: %E\n"
+msgstr "%F%P: already_linked_table: %E\n"
+
+#: cofflink.c:533 elflink.c:4323
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
msgstr "Peringatan: tipe dari simbole `%s' berubah dari %d ke %d dalam %B"
-#: cofflink.c:2305
+#: cofflink.c:2329
msgid "%B: relocs in section `%A', but it has no contents"
msgstr "%B: relokasi dalam bagian `%A', tetapi ini tidak memiliki isi"
-#: cofflink.c:2636 coffswap.h:826
+#: cofflink.c:2391 elflink.c:9545
+msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
+msgstr "%X`%s' direferensikan dalam daerah `%A' dari %B: didefinisikan dalam daerah diabaikan `%A' dari %B\n"
+
+#: cofflink.c:2690 coffswap.h:826
#, c-format
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
msgstr "%s: %s: relokasi overflow: 0x%lx > 0xffff"
-#: cofflink.c:2645 coffswap.h:812
+#: cofflink.c:2699 coffswap.h:812
#, c-format
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
msgstr "%s: peringatan: %s: nomor baris overflow: 0x%lx > 0xffff"
@@ -510,65 +509,69 @@ msgstr "%s: peringatan: %s: nomor baris overflow: 0x%lx > 0xffff"
msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
msgstr "error: %B dikompile untuk EP9312, dimana %B dikompile untuk XScale"
-#: cpu-arm.c:332
+#: cpu-arm.c:333
#, c-format
msgid "warning: unable to update contents of %s section in %s"
msgstr "peringatan: tidak dapat mengupdate isi dari %s bagian dalam %s"
-#: dwarf2.c:430
+#: dwarf2.c:496
#, c-format
msgid "Dwarf Error: Can't find %s section."
msgstr "Dwarf Error: Tidak dapat menemukan bagian %s."
-#: dwarf2.c:457
-#, c-format
-msgid "Dwarf Error: unable to decompress %s section."
-msgstr "Dwarf Error: tidak dapat mengekstrak bagian %s."
-
-#: dwarf2.c:468
+#: dwarf2.c:525
#, c-format
msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
msgstr "Dwarf Error: Ofset (%lu) lebih besar atau sama dengan %s ukuran (%lu)."
-#: dwarf2.c:865
+#: dwarf2.c:949
#, c-format
msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
msgstr "Dwarf Error: Tidak valid atau nilai FORM tidak tertangani: %u."
-#: dwarf2.c:1079
+#: dwarf2.c:1200
msgid "Dwarf Error: mangled line number section (bad file number)."
msgstr "Dwarf Error: mangled bagian nomor baris (nomor berkas buruk)."
-#: dwarf2.c:1413
+#: dwarf2.c:1453
+#, c-format
+msgid "Dwarf Error: Unhandled .debug_line version %d."
+msgstr "Dwarf Error: Tidak tertangani .debug_line versi %d."
+
+#: dwarf2.c:1475
+msgid "Dwarf Error: Invalid maximum operations per instruction."
+msgstr "Dwarf Error: Tidak valid jumlah maksimal operasi per instruksi."
+
+#: dwarf2.c:1662
msgid "Dwarf Error: mangled line number section."
msgstr "Dwarf Error: mangled bagian nomor baris."
-#: dwarf2.c:1760 dwarf2.c:1867 dwarf2.c:2139
+#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr "Dwarf Error: Tidak dapat menemukan nomor singkat %u."
-#: dwarf2.c:2100
+#: dwarf2.c:2355
#, c-format
-msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2 and 3 information."
-msgstr "Dwarf Error: menemukan versi dwarf '%u', pembaca ini hanya menangani informasi versi 2 dan 3."
+msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
+msgstr "Dwarf Error: menemukan versi dwarf '%u', pembaca ini hanya menangani informasi versi 2, 3 dan 4."
-#: dwarf2.c:2107
+#: dwarf2.c:2362
#, c-format
msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
msgstr "Dwarf Error: menemukan ukuran alamat '%u', pembaca ini tidak dapat menangani ukuran lebih besar dari '%u'."
-#: dwarf2.c:2130
+#: dwarf2.c:2385
#, c-format
msgid "Dwarf Error: Bad abbrev number: %u."
msgstr "Dwarf Error: Nomor singkat buruk: %u."
-#: ecoff.c:1238
+#: ecoff.c:1239
#, c-format
msgid "Unknown basic type %d"
msgstr "Tipe dasar %d tidak diketahui"
-#: ecoff.c:1495
+#: ecoff.c:1496
#, c-format
msgid ""
"\n"
@@ -577,7 +580,7 @@ msgstr ""
"\n"
" Simbol End+1: %ld"
-#: ecoff.c:1502 ecoff.c:1505
+#: ecoff.c:1503 ecoff.c:1506
#, c-format
msgid ""
"\n"
@@ -586,7 +589,7 @@ msgstr ""
"\n"
" Simbol pertama: %ld"
-#: ecoff.c:1517
+#: ecoff.c:1518
#, c-format
msgid ""
"\n"
@@ -595,7 +598,7 @@ msgstr ""
"\n"
" Simbol End+1: %-7ld Tipe: %s"
-#: ecoff.c:1524
+#: ecoff.c:1525
#, c-format
msgid ""
"\n"
@@ -604,7 +607,7 @@ msgstr ""
"\n"
" Simbol lokal: %ld"
-#: ecoff.c:1532
+#: ecoff.c:1533
#, c-format
msgid ""
"\n"
@@ -613,7 +616,7 @@ msgstr ""
"\n"
" struct; simbol End+1: %ld"
-#: ecoff.c:1537
+#: ecoff.c:1538
#, c-format
msgid ""
"\n"
@@ -622,7 +625,7 @@ msgstr ""
"\n"
" union: End+1 simbol: %ld"
-#: ecoff.c:1542
+#: ecoff.c:1543
#, c-format
msgid ""
"\n"
@@ -631,7 +634,7 @@ msgstr ""
"\n"
" enum; End+1 simbol: %ld"
-#: ecoff.c:1548
+#: ecoff.c:1549
#, c-format
msgid ""
"\n"
@@ -640,124 +643,140 @@ msgstr ""
"\n"
" Tipe: %s"
-#: elf-attrs.c:567
-msgid "error: %B: Must be processed by '%s' toolchain"
-msgstr "error: %B: Harus diproses dengan '%s' toolchain"
+#: elf-attrs.c:569
+msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
+msgstr "error: %B: Objek yang memiliki konten vendor-specific harus diproses dengan '%s' toolchain"
-#: elf-attrs.c:575
+#: elf-attrs.c:578
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
msgstr "error: %B: Objek tag '%d, %s' tidak kompatibel dengan tag '%d, %s'"
-#: elf-eh-frame.c:884
+#: elf-eh-frame.c:917
msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
msgstr "%P: error dalam %B(%A); tidak ada .eh_frame_hdr tabel yang akan dibuat.\n"
-#: elf-eh-frame.c:1122
+#: elf-eh-frame.c:1189
msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
msgstr "%P: fde enkoding dalam %B(%A) menjaga .eh_frame_hdr tabel untuk dibuat.\n"
+#: elf-eh-frame.c:1605
+msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+msgstr "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+
#: elf-ifunc.c:179
msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
msgstr "%F%P: dynamic STT_GNU_IFUNC simbol '%s' dengan penunjuk persamaan dalam `%B' tidak dapat digunakan ketika membuat sebuah pelaksana; rekompilasi dengan -fPIE dan hubungkan kembali dengan -pie\n"
-#: elf-m10200.c:456 elf-m10300.c:1575 elf32-avr.c:1251 elf32-bfin.c:3200
-#: elf32-cr16.c:1517 elf32-cr16c.c:790 elf32-cris.c:2089 elf32-crx.c:933
-#: elf32-d10v.c:516 elf32-fr30.c:616 elf32-frv.c:4114 elf32-h8300.c:516
-#: elf32-i860.c:1218 elf32-ip2k.c:1499 elf32-iq2000.c:691 elf32-lm32.c:1171
-#: elf32-m32c.c:560 elf32-m32r.c:3102 elf32-m68hc1x.c:1136 elf32-mep.c:541
-#: elf32-microblaze.c:1226 elf32-moxie.c:291 elf32-msp430.c:493 elf32-mt.c:402
-#: elf32-openrisc.c:411 elf32-score.c:2752 elf32-score7.c:2591
-#: elf32-spu.c:5045 elf32-v850.c:1701 elf32-xstormy16.c:948 elf64-mmix.c:1533
+#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
+#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
+#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
+#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
+#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
+#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
+#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
+#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
+#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
msgid "internal error: out of range error"
msgstr "internal error: diluar jangkauan error"
-#: elf-m10200.c:460 elf-m10300.c:1579 elf32-avr.c:1255 elf32-bfin.c:3204
-#: elf32-cr16.c:1521 elf32-cr16c.c:794 elf32-cris.c:2093 elf32-crx.c:937
-#: elf32-d10v.c:520 elf32-fr30.c:620 elf32-frv.c:4118 elf32-h8300.c:520
-#: elf32-i860.c:1222 elf32-iq2000.c:695 elf32-lm32.c:1175 elf32-m32c.c:564
-#: elf32-m32r.c:3106 elf32-m68hc1x.c:1140 elf32-mep.c:545
-#: elf32-microblaze.c:1230 elf32-moxie.c:295 elf32-msp430.c:497
-#: elf32-openrisc.c:415 elf32-score.c:2756 elf32-score7.c:2595
-#: elf32-spu.c:5049 elf32-v850.c:1705 elf32-xstormy16.c:952 elf64-mmix.c:1537
-#: elfxx-mips.c:9103
+#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
+#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
+#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
+#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
+#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
+#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
+#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
+#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
+#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
+#: elfxx-tilegx.c:3581
msgid "internal error: unsupported relocation error"
msgstr "internal error: relokasi tidak didukung error"
-#: elf-m10200.c:464 elf32-cr16.c:1525 elf32-cr16c.c:798 elf32-crx.c:941
-#: elf32-d10v.c:524 elf32-h8300.c:524 elf32-lm32.c:1179 elf32-m32r.c:3110
-#: elf32-m68hc1x.c:1144 elf32-microblaze.c:1234 elf32-score.c:2760
-#: elf32-score7.c:2599 elf32-spu.c:5053
+#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
+#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
+#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
+#: elf32-score7.c:2545 elf32-spu.c:5052
msgid "internal error: dangerous error"
msgstr "internal error error berbahaya"
-#: elf-m10200.c:468 elf-m10300.c:1592 elf32-avr.c:1263 elf32-bfin.c:3212
-#: elf32-cr16.c:1529 elf32-cr16c.c:802 elf32-cris.c:2101 elf32-crx.c:945
-#: elf32-d10v.c:528 elf32-fr30.c:628 elf32-frv.c:4126 elf32-h8300.c:528
-#: elf32-i860.c:1230 elf32-ip2k.c:1514 elf32-iq2000.c:703 elf32-lm32.c:1183
-#: elf32-m32c.c:572 elf32-m32r.c:3114 elf32-m68hc1x.c:1148 elf32-mep.c:553
-#: elf32-microblaze.c:1238 elf32-moxie.c:303 elf32-msp430.c:505 elf32-mt.c:410
-#: elf32-openrisc.c:423 elf32-score.c:2769 elf32-score7.c:2603
-#: elf32-spu.c:5057 elf32-v850.c:1725 elf32-xstormy16.c:960 elf64-mmix.c:1545
+#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
+#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
+#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
+#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
+#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
+#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
+#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
+#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
+#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
msgid "internal error: unknown error"
msgstr "internal error: error tidak diketahui"
-#: elf-m10300.c:1512 elf32-arm.c:8963 elf32-i386.c:3984 elf32-m32r.c:2588
-#: elf32-m68k.c:4099 elf32-ppc.c:7906 elf32-s390.c:3015 elf32-sh.c:3429
-#: elf32-xtensa.c:3027 elf64-ppc.c:12063 elf64-s390.c:2974 elf64-sh64.c:1648
-#: elf64-x86-64.c:3657 elfxx-sparc.c:3317
+#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
+#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
+#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
+#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): tidak teresolf %s relokasi terhadap simbol `%s'"
-#: elf-m10300.c:1584
+#: elf-m10300.c:1572
msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
msgstr "error: tipe relokasi tidak sesuai untuk shared library (apakah anda lupa -fpic?)"
-#: elf-m10300.c:1587
+#: elf-m10300.c:1575
msgid "internal error: suspicious relocation type used in shared library"
msgstr "internal erro: suspicious tipe relokasi digunakan dalam shared library"
-#: elf-m10300.c:4385 elf32-arm.c:11346 elf32-cr16.c:2519 elf32-cris.c:3030
-#: elf32-hppa.c:1891 elf32-i370.c:506 elf32-i386.c:1975 elf32-lm32.c:1873
-#: elf32-m32r.c:1921 elf32-m68k.c:3188 elf32-ppc.c:4953 elf32-s390.c:1650
-#: elf32-sh.c:2574 elf32-vax.c:1052 elf64-ppc.c:6348 elf64-s390.c:1623
-#: elf64-sh64.c:3396 elf64-x86-64.c:1821 elfxx-sparc.c:1802
+#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
+#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
+#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
+#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
+#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
+#: elfxx-tilegx.c:2261
#, c-format
msgid "dynamic variable `%s' is zero size"
msgstr "variabel dinamik `%s' memiliki ukuran nol"
-#: elf.c:329
+#: elf.c:334
msgid "%B: invalid string offset %u >= %lu for section `%s'"
msgstr "%B: string ofset tidak valid %u >= %lu untuk bagian `%s'"
-#: elf.c:439
+#: elf.c:446
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr "%B nomor simbol %lu referensi tidak ada SHT_SYMTAB_SHNDX bagian"
-#: elf.c:595
+#: elf.c:602
msgid "%B: Corrupt size field in group section header: 0x%lx"
msgstr "%B: Ukuran bagian korup dalam grup bagian kepala: 0x%lx"
-#: elf.c:631
+#: elf.c:638
msgid "%B: invalid SHT_GROUP entry"
msgstr "%B: masukan SHT_GROUP tidak valid"
-#: elf.c:701
+#: elf.c:708
msgid "%B: no group info for section %A"
msgstr "%B: tidak ada informasi grup untuk bagian %A"
-#: elf.c:730 elf.c:2960 elflink.c:9912
+#: elf.c:737 elf.c:3121 elflink.c:10135
msgid "%B: warning: sh_link not set for section `%A'"
msgstr "%B: peringatan: sh_link tidak diset untuk bagian `%A'"
-#: elf.c:749
+#: elf.c:756
msgid "%B: sh_link [%d] in section `%A' is incorrect"
msgstr "%B: sh_link [%ld] dalam bagian `%A' tidak benar"
-#: elf.c:784
+#: elf.c:791
msgid "%B: unknown [%d] section `%s' in group [%s]"
msgstr "%B: tidak diketahui [%d] bagian `%s' dalam grup [%s]"
-#: elf.c:1104
+#: elf.c:1041
+msgid "%B: unable to initialize commpress status for section %s"
+msgstr "%B: tidak dapat untuk menginisialisasi status kompresi untuk bagian %s"
+
+#: elf.c:1061
+msgid "%B: unable to initialize decommpress status for section %s"
+msgstr "%B: tidak dapat untuk menginisialisasi ekstraksi status untuk bagian %s."
+
+#: elf.c:1181
#, c-format
msgid ""
"\n"
@@ -766,7 +785,7 @@ msgstr ""
"\n"
"Kepala Aplikasi:\n"
-#: elf.c:1146
+#: elf.c:1223
#, c-format
msgid ""
"\n"
@@ -775,7 +794,7 @@ msgstr ""
"\n"
"Bagian Dinamis:\n"
-#: elf.c:1282
+#: elf.c:1359
#, c-format
msgid ""
"\n"
@@ -784,7 +803,7 @@ msgstr ""
"\n"
"Definisi Versi:\n"
-#: elf.c:1307
+#: elf.c:1384
#, c-format
msgid ""
"\n"
@@ -793,82 +812,82 @@ msgstr ""
"\n"
"Referensi Versi:\n"
-#: elf.c:1312
+#: elf.c:1389
#, c-format
msgid " required from %s:\n"
msgstr " dibutuhkan dari %s:\n"
-#: elf.c:1702
+#: elf.c:1796
msgid "%B: invalid link %lu for reloc section %s (index %u)"
msgstr "%B: link tidak valid %lu untuk bagian relokasi %s (indek %u)"
-#: elf.c:1870
+#: elf.c:1966
msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
msgstr "%B: tidak tahu bagaimana menangani alokasi, bagian spesifik aplikasi `%s' [0x%8x]"
-#: elf.c:1882
+#: elf.c:1978
msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
msgstr "%B: tidak tahu bagaimana menangani bagian spesifik prosesor `%s' [0x%8x]"
-#: elf.c:1893
+#: elf.c:1989
msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
msgstr "%B: tidak tahu bagaimana menangani bagian spesifik OS `%s' [0x%8x]"
-#: elf.c:1903
+#: elf.c:1999
msgid "%B: don't know how to handle section `%s' [0x%8x]"
msgstr "%B: tidak tahu bagaimana menangani bagian `%s' [0x%8x]"
-#: elf.c:2500
+#: elf.c:2634
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
msgstr "peringatan: bagian `%A' tipe berubah ke PROGBITS"
-#: elf.c:2917
+#: elf.c:3078
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
msgstr "%B: sh_link dari bagian `%A' menunjuk ke bagian terbuang `%A' dari `%B'"
-#: elf.c:2940
+#: elf.c:3101
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
msgstr "%B: sh_link dari bagian `%A' menunjuk ke bagian terhapus `%A' dari `%B'"
-#: elf.c:4311
+#: elf.c:4527
msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr "%B: bagian pertama dalam segmen PT_DYNAMIC tidak dalam bagian .dynamic"
-#: elf.c:4338
+#: elf.c:4554
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr "%B: tidak cukup ruang untuk kepala aplikasi, coba linking dengan -N"
-#: elf.c:4420
-msgid "%B: section %A vma 0x%lx overlaps previous sections"
-msgstr "%B: bagian %A vma 0x%lx overlaps bagian sebelumnya"
+#: elf.c:4641
+msgid "%B: section %A lma %#lx adjusted to %#lx"
+msgstr "%B: bagian %A lma %#lx dibenarkan ke %#lx"
-#: elf.c:4515
+#: elf.c:4776
msgid "%B: section `%A' can't be allocated in segment %d"
msgstr "%B: bagian `%A' tidak dapat dialokasikan dalam segmen %d"
-#: elf.c:4565
+#: elf.c:4824
msgid "%B: warning: allocated section `%s' not in segment"
msgstr "%B: peringatan: alokasi bagian `%s' tidak dalam segmen"
-#: elf.c:5065
+#: elf.c:5324
msgid "%B: symbol `%s' required but not present"
msgstr "%B: simbol `%s' dibutuhkan tetapi tidak ada"
-#: elf.c:5404
+#: elf.c:5662
msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
msgstr "%B: peringatan: loadable segmen kosong terdeteksi, apakah ini sengaja ?\n"
-#: elf.c:6370
+#: elf.c:6692
#, c-format
msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr "Tidak dapat menemukan bagian keluaran ekuivalen untuk simbol '%s' dari bagian '%s'"
-#: elf.c:7356
+#: elf.c:7692
msgid "%B: unsupported relocation type %s"
msgstr "%B: tipe relokasi tidak didukung %s"
-#: elf32-arm.c:3149
+#: elf32-arm.c:3617
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: Thumb call to ARM"
@@ -876,7 +895,7 @@ msgstr ""
"%B(%s): peringatan: antar-kerja tidak aktif.\n"
" pertemuan pertama: %B: Thumb call ke ARM"
-#: elf32-arm.c:3190
+#: elf32-arm.c:3664
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: ARM call to Thumb"
@@ -884,40 +903,40 @@ msgstr ""
"%B(%s): peringatan: antar-kerja tidak diaktifkan.\n"
" pertemuan pertama: %B: ARM panggil ke Thumb"
-#: elf32-arm.c:3387 elf32-arm.c:4692
+#: elf32-arm.c:3878 elf32-arm.c:5315
#, c-format
msgid "%s: cannot create stub entry %s"
msgstr "%s: tidak dapat membuat masukan stub %s"
-#: elf32-arm.c:4804
+#: elf32-arm.c:5431
#, c-format
msgid "unable to find THUMB glue '%s' for '%s'"
msgstr "tidak dapat menemukan THUMB lem '%s' untuk '%s'"
-#: elf32-arm.c:4838
+#: elf32-arm.c:5467
#, c-format
msgid "unable to find ARM glue '%s' for '%s'"
msgstr "tidak dapat menemukan ARM lem '%s' untuk '%s'"
-#: elf32-arm.c:5365
+#: elf32-arm.c:6005
msgid "%B: BE8 images only valid in big-endian mode."
msgstr "%B: hanya images BE8 valid dalam mode big-endian."
#. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:5590
+#: elf32-arm.c:6235
msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
msgstr "%B: peringatan: memilih VFP11 erratum penyelesaian adalah tidak diperlukan untuk arsitektur target"
-#: elf32-arm.c:6130 elf32-arm.c:6150
+#: elf32-arm.c:6779 elf32-arm.c:6799
msgid "%B: unable to find VFP11 veneer `%s'"
msgstr "%B: tidak dapat menemukan VFP11 veneer `%s'"
-#: elf32-arm.c:6196
+#: elf32-arm.c:6848
#, c-format
msgid "Invalid TARGET2 relocation type '%s'."
msgstr "Tipe relokasi '%s' TARGET2 tidak valid."
-#: elf32-arm.c:6281
+#: elf32-arm.c:6933
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: thumb call to arm"
@@ -925,359 +944,401 @@ msgstr ""
"%B(%s): peringatan: antar-kerja tidak aktif.\n"
" pertemuan pertama: %B: thumb call ke arm"
-#: elf32-arm.c:7003
+#: elf32-arm.c:7717
+msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
+msgstr "%B(%A+0x%lx):tidak terduga instruksi Thumb '0x%x' dalam TLS trampoline"
+
+#: elf32-arm.c:7756
+msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
+msgstr "%B(%A+0x%lx):tidak terduga instruksi ARM '0x%x' dalam TLS trampoline"
+
+#: elf32-arm.c:8209
msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr "\\%B: Peringatan: Arm BLK instruksi target Arm fungsi '%s'."
-#: elf32-arm.c:7405
+#: elf32-arm.c:8622
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr "%B: Peringatan: Thumb BLX instruksi target thumb fungsi '%s'."
-#: elf32-arm.c:8085
+#: elf32-arm.c:9460
+msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+msgstr "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+
+#: elf32-arm.c:9483
+msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+msgstr "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+
+#: elf32-arm.c:9512
msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): R_ARM_TLS_LE32 relokasi tidak diperbolehkan dalam objek terbagi"
-#: elf32-arm.c:8300
+#: elf32-arm.c:9727
msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
msgstr "%B(%A+0x%lx): Hanya ADD atau SUB instruksi yang diperbolehkan untuk grup ALU relokasi"
-#: elf32-arm.c:8340 elf32-arm.c:8427 elf32-arm.c:8510 elf32-arm.c:8595
+#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
msgstr "%B(%A+0x%lx): Overflow ketika membagi 0x%lx untuk relokasi grup %s"
-#: elf32-arm.c:8821 elf32-sh.c:3325 elf64-sh64.c:1556
+#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
msgstr "%B(%A+0x%lx): %s relokasi terhadap bagian SEC_MERGE"
-#: elf32-arm.c:8939 elf32-m68k.c:4134 elf32-xtensa.c:2765 elf64-ppc.c:10743
+#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
msgstr "%B(%A+0x%lx): %s digunakan dengan simbol TLS %s"
-#: elf32-arm.c:8940 elf32-m68k.c:4135 elf32-xtensa.c:2766 elf64-ppc.c:10744
+#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
msgstr "%B(%A+0x%lx): %s digunakan dengan simbol bukan-TLS %s"
-#: elf32-arm.c:8997
+#: elf32-arm.c:10453 elf32-tic6x.c:2753
msgid "out of range"
msgstr "diluar jangkauan"
-#: elf32-arm.c:9001
+#: elf32-arm.c:10457 elf32-tic6x.c:2757
msgid "unsupported relocation"
msgstr "relokasi tidak didukung"
-#: elf32-arm.c:9009
+#: elf32-arm.c:10465 elf32-tic6x.c:2765
msgid "unknown error"
msgstr "error tidak diketahui"
-#: elf32-arm.c:9409
+#: elf32-arm.c:10890
msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
msgstr "Peringatan: Menghapus tanda antar-kerja dari %B karena bukan kode antar-kerja dalam %B telah dihubungkan dengan itu"
-#: elf32-arm.c:9652
+#: elf32-arm.c:10984
+msgid "%B: Unknown mandatory EABI object attribute %d"
+msgstr "%B: atribut objek wajib EABI tidak diketahui %d"
+
+#: elf32-arm.c:10992
+msgid "Warning: %B: Unknown EABI object attribute %d"
+msgstr "Peringatan: %B: atribut objek EABI tidak diketahui %d"
+
+#: elf32-arm.c:11173
msgid "error: %B: Unknown CPU architecture"
msgstr "error: %B: Arsitektur CPU tidak diketahui"
-#: elf32-arm.c:9690
+#: elf32-arm.c:11211
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr "error: %B: Profil arsitektur konflik %c/%c"
-#: elf32-arm.c:9747
+#: elf32-arm.c:11260
+msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
+msgstr "Error: %B has both the current and legacy Tag_MPextension_use attributes"
+
+#: elf32-arm.c:11285
msgid "error: %B uses VFP register arguments, %B does not"
msgstr "error: %B menggunakan reguster argumen VFP, %B tidak"
-#: elf32-arm.c:9897
+#: elf32-arm.c:11430
+msgid "error: %B: unable to merge virtualization attributes with %B"
+msgstr "error: %B: unable to merge virtualization attributes with %B"
+
+#: elf32-arm.c:11456
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr "error: %B: Profil arsitektur konflik %c/%c"
-#: elf32-arm.c:9921
+#: elf32-arm.c:11557
msgid "Warning: %B: Conflicting platform configuration"
msgstr "Peringatan: %B: Konflik konfigurasi platform"
-#: elf32-arm.c:9930
+#: elf32-arm.c:11566
msgid "error: %B: Conflicting use of R9"
msgstr "error: %B: Konflik penggunaan R9"
-#: elf32-arm.c:9942
+#: elf32-arm.c:11578
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr "error: %B: SB pengalamatan relatif konflik dengan penggunaan dari R9"
-#: elf32-arm.c:9955
+#: elf32-arm.c:11591
msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
msgstr "peringatan: %B menggunakan %u-byte wchar_t tapi keluaran menggunakan %u-byte wchar_t; menggunakan nilai wchar_t melewati objek mungkin gagal"
-#: elf32-arm.c:9986
+#: elf32-arm.c:11622
msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
msgstr "peringatan: %B menggunakan %s enums tapi keluaran menggunakan %s enums; menggunakan nilai dari enum dari objek mungkin gagal"
-#: elf32-arm.c:9998
+#: elf32-arm.c:11634
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr "error: %B menggunakan iWMMXt argumen register, %B tidak"
-#: elf32-arm.c:10020
+#: elf32-arm.c:11651
msgid "error: fp16 format mismatch between %B and %B"
msgstr "error: fp16 format tidak cocok diantara %B dan %B"
-#: elf32-arm.c:10063 elf32-arm.c:10156
-msgid "%B: Unknown mandatory EABI object attribute %d"
-msgstr "%B: atribut objek wajib EABI tidak diketahui %d"
+#: elf32-arm.c:11675
+msgid "DIV usage mismatch between %B and %B"
+msgstr "DIV penggunaan tidak cocok diantara %B dan %B"
-#: elf32-arm.c:10071 elf32-arm.c:10164
-msgid "Warning: %B: Unknown EABI object attribute %d"
-msgstr "Peringatan: %B: atribut objek EABI tidak diketahui %d"
-
-#: elf32-arm.c:10224
-msgid "error: %B is already in final BE8 format"
-msgstr "error: %B telah dalam format akhir BE8"
-
-#: elf32-arm.c:10300
-msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
-msgstr "error: Sumber objek %B memiliki versi EABI %d, tetapi target %B memiliki versi EABI %d"
-
-#: elf32-arm.c:10316
-msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
-msgstr "error: %B dikompile untuk APCS-%d, dimana target %B menggunakan APCS-%d"
-
-#: elf32-arm.c:10341
-msgid "error: %B uses VFP instructions, whereas %B does not"
-msgstr "error: %B menggunakan VFP instruksi, dimana %B tidak"
-
-#: elf32-arm.c:10345
-msgid "error: %B uses FPA instructions, whereas %B does not"
-msgstr "error: %B menggunakan FPA instruksi, dimana %B tidak"
-
-#: elf32-arm.c:10355
-msgid "error: %B uses Maverick instructions, whereas %B does not"
-msgstr "error: %B menggunakan Maverick instruksi, dimana %B tidak"
-
-#: elf32-arm.c:10359
-msgid "error: %B does not use Maverick instructions, whereas %B does"
-msgstr "error: %B tidak menggunakan Maveric instruksi, dimana %B menggunakan"
-
-#: elf32-arm.c:10378
-msgid "error: %B uses software FP, whereas %B uses hardware FP"
-msgstr "error: %B menggunakan software FP, dimana %B menggunakan hardware FP"
-
-#: elf32-arm.c:10382
-msgid "error: %B uses hardware FP, whereas %B uses software FP"
-msgstr "error: %B menggunakan hardware FP, dimana %B menggunakan software FP"
+#: elf32-arm.c:11694
+msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
+msgstr "%B has has both the current and legacy Tag_MPextension_use attributes"
#. 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:10429 elf32-bfin.c:5082 elf32-cris.c:4110 elf32-m68hc1x.c:1280
-#: elf32-m68k.c:1169 elf32-score.c:4039 elf32-score7.c:3876 elf32-vax.c:540
-#: elfxx-mips.c:12755
+#: elf32-arm.c:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
+#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
+#: elfxx-mips.c:14103
#, c-format
msgid "private flags = %lx:"
msgstr "tanda private = %lx:"
-#: elf32-arm.c:10438
+#: elf32-arm.c:11791
#, c-format
msgid " [interworking enabled]"
msgstr " [antar-kerja aktif]"
-#: elf32-arm.c:10446
+#: elf32-arm.c:11799
#, c-format
msgid " [VFP float format]"
msgstr " [VFP float format]"
-#: elf32-arm.c:10448
+#: elf32-arm.c:11801
#, c-format
msgid " [Maverick float format]"
msgstr " [Maverick float format]"
-#: elf32-arm.c:10450
+#: elf32-arm.c:11803
#, c-format
msgid " [FPA float format]"
msgstr " [FPA float format]"
-#: elf32-arm.c:10459
+#: elf32-arm.c:11812
#, c-format
msgid " [new ABI]"
msgstr " [ABI baru]"
-#: elf32-arm.c:10462
+#: elf32-arm.c:11815
#, c-format
msgid " [old ABI]"
msgstr " [ABI lama]"
-#: elf32-arm.c:10465
+#: elf32-arm.c:11818
#, c-format
msgid " [software FP]"
msgstr " [software FP]"
-#: elf32-arm.c:10474
+#: elf32-arm.c:11827
#, c-format
msgid " [Version1 EABI]"
msgstr " [EABI Versi 1]"
-#: elf32-arm.c:10477 elf32-arm.c:10488
+#: elf32-arm.c:11830 elf32-arm.c:11841
#, c-format
msgid " [sorted symbol table]"
msgstr " [simbol tabel terurut]"
-#: elf32-arm.c:10479 elf32-arm.c:10490
+#: elf32-arm.c:11832 elf32-arm.c:11843
#, c-format
msgid " [unsorted symbol table]"
msgstr " [simbol tabel tidak terurut]"
-#: elf32-arm.c:10485
+#: elf32-arm.c:11838
#, c-format
msgid " [Version2 EABI]"
msgstr " [EABI Versi 2]"
-#: elf32-arm.c:10493
+#: elf32-arm.c:11846
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr " [simbol dinamis menggunakan segmen indek]"
-#: elf32-arm.c:10496
+#: elf32-arm.c:11849
#, c-format
msgid " [mapping symbols precede others]"
msgstr " [simbol map mendahului yang lain]"
-#: elf32-arm.c:10503
+#: elf32-arm.c:11856
#, c-format
msgid " [Version3 EABI]"
msgstr " [EABI Versi 3]"
-#: elf32-arm.c:10507
+#: elf32-arm.c:11860
#, c-format
msgid " [Version4 EABI]"
msgstr " [EABI Versi 4]"
-#: elf32-arm.c:10511
+#: elf32-arm.c:11864
#, c-format
msgid " [Version5 EABI]"
msgstr " [EABI Versi 5]"
-#: elf32-arm.c:10514
+#: elf32-arm.c:11867
#, c-format
msgid " [BE8]"
msgstr " [BE8]"
-#: elf32-arm.c:10517
+#: elf32-arm.c:11870
#, c-format
msgid " [LE8]"
msgstr " [LE8]"
-#: elf32-arm.c:10523
+#: elf32-arm.c:11876
#, c-format
msgid " <EABI version unrecognised>"
msgstr " <EABI versi tidak dikenal>"
-#: elf32-arm.c:10530
+#: elf32-arm.c:11883
#, c-format
msgid " [relocatable executable]"
msgstr " [relocatable executable]"
-#: elf32-arm.c:10533
+#: elf32-arm.c:11886
#, c-format
msgid " [has entry point]"
msgstr " [memiliki titik masuk]"
-#: elf32-arm.c:10538
+#: elf32-arm.c:11891
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr "<Tanda bit tidak dikenal terset>"
-#: elf32-arm.c:10783 elf32-i386.c:1300 elf32-s390.c:998 elf32-xtensa.c:1000
-#: elf64-s390.c:952 elf64-x86-64.c:1082 elfxx-sparc.c:1121
+#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
+#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
+#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
msgid "%B: bad symbol index: %d"
msgstr "%B: memiliki indek simbol: %d"
-#: elf32-arm.c:10904 elf64-x86-64.c:1242 elf64-x86-64.c:1411 elfxx-mips.c:7870
+#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
msgstr "%B: relokasi %s terhadap `%s' tidak dapat digunkan ketika membuat sebuah objek terbagi; rekompile dengan -fPIC"
-#: elf32-arm.c:11893
+#: elf32-arm.c:13460
#, c-format
msgid "Errors encountered processing file %s"
msgstr "Errors ditemui dalam pemrosesan berkas %s"
-#: elf32-arm.c:13339
+#: elf32-arm.c:14837
msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
msgstr "%B: error: Cortex-A8 erratum stub dialokasikan dalam lokasi yang tidak aman"
#. There's not much we can do apart from complain if this
#. happens.
-#: elf32-arm.c:13366
+#: elf32-arm.c:14864
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr "%B: error: Cortex-A8 erratum stub diluar dari jangkauan (berkas masukan terlalu besar)"
-#: elf32-arm.c:13457 elf32-arm.c:13479
+#: elf32-arm.c:14958 elf32-arm.c:14980
msgid "%B: error: VFP11 veneer out of range"
msgstr "%B: error: VFP11 veneer diluar jangkauan"
-#: elf32-avr.c:1259 elf32-bfin.c:3208 elf32-cris.c:2097 elf32-fr30.c:624
-#: elf32-frv.c:4122 elf32-i860.c:1226 elf32-ip2k.c:1510 elf32-iq2000.c:699
-#: elf32-m32c.c:568 elf32-mep.c:549 elf32-moxie.c:299 elf32-msp430.c:501
-#: elf32-mt.c:406 elf32-openrisc.c:419 elf32-v850.c:1709 elf32-xstormy16.c:956
-#: elf64-mmix.c:1541
+#: elf32-arm.c:15518
+msgid "error: %B is already in final BE8 format"
+msgstr "error: %B telah dalam format akhir BE8"
+
+#: elf32-arm.c:15594
+msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
+msgstr "error: Sumber objek %B memiliki versi EABI %d, tetapi target %B memiliki versi EABI %d"
+
+#: elf32-arm.c:15610
+msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
+msgstr "error: %B dikompile untuk APCS-%d, dimana target %B menggunakan APCS-%d"
+
+#: elf32-arm.c:15635
+msgid "error: %B uses VFP instructions, whereas %B does not"
+msgstr "error: %B menggunakan VFP instruksi, dimana %B tidak"
+
+#: elf32-arm.c:15639
+msgid "error: %B uses FPA instructions, whereas %B does not"
+msgstr "error: %B menggunakan FPA instruksi, dimana %B tidak"
+
+#: elf32-arm.c:15649
+msgid "error: %B uses Maverick instructions, whereas %B does not"
+msgstr "error: %B menggunakan Maverick instruksi, dimana %B tidak"
+
+#: elf32-arm.c:15653
+msgid "error: %B does not use Maverick instructions, whereas %B does"
+msgstr "error: %B tidak menggunakan Maveric instruksi, dimana %B menggunakan"
+
+#: elf32-arm.c:15672
+msgid "error: %B uses software FP, whereas %B uses hardware FP"
+msgstr "error: %B menggunakan software FP, dimana %B menggunakan hardware FP"
+
+#: elf32-arm.c:15676
+msgid "error: %B uses hardware FP, whereas %B uses software FP"
+msgstr "error: %B menggunakan hardware FP, dimana %B menggunakan software FP"
+
+#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
+#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
+#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
+#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
+#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
+#: elfxx-tilegx.c:3585
msgid "internal error: dangerous relocation"
msgstr "internal error: relokasi berbahaya"
-#: elf32-avr.c:2409 elf32-hppa.c:605 elf32-m68hc1x.c:165 elf64-ppc.c:4141
+#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
msgid "%B: cannot create stub entry %s"
msgstr "%B: tidak dapat membuat masukan stub %s"
-#: elf32-bfin.c:1581
+#: elf32-bfin.c:107 elf32-bfin.c:363
+msgid "relocation should be even number"
+msgstr "relocation should be even number"
+
+#: elf32-bfin.c:1593
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): relokasi tidak teresolf terhadap simbol `%s'"
-#: elf32-bfin.c:1614 elf32-i386.c:4026 elf32-m68k.c:4176 elf32-s390.c:3067
-#: elf64-s390.c:3026 elf64-x86-64.c:3697
+#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
+#: elf64-s390.c:3030 elf64-x86-64.c:4151
msgid "%B(%A+0x%lx): reloc against `%s': error %d"
msgstr "%B(%A+0x%lx): relokasi terhadap `%s': error %d"
-#: elf32-bfin.c:2714
+#: elf32-bfin.c:2725
msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
msgstr "%B: relokasi di `%A+0x%x' simbol referensi `%s' dengan bukan nol ditambahkan"
-#: elf32-bfin.c:2728 elf32-frv.c:2904
+#: elf32-bfin.c:2741
msgid "relocation references symbol not defined in the module"
msgstr "relokasi referensi simbol tidak didefinisikan dalam modul"
-#: elf32-bfin.c:2825
+#: elf32-bfin.c:2838
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC referensi simbol dinamis dengan bukan nol ditambahkan"
-#: elf32-bfin.c:2866 elf32-bfin.c:2989 elf32-frv.c:3641 elf32-frv.c:3762
+#: elf32-bfin.c:2879 elf32-bfin.c:3002
msgid "cannot emit fixups in read-only section"
msgstr "tidak dapat mengeluarkan fixups dalam bagian baca-saja"
-#: elf32-bfin.c:2897 elf32-bfin.c:3027 elf32-frv.c:3672 elf32-frv.c:3806
-#: elf32-lm32.c:1104
+#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
msgid "cannot emit dynamic relocations in read-only section"
msgstr "tidak dapat mengeluarkan relokasi dinamis dalam bagian baca-saja"
-#: elf32-bfin.c:2947
+#: elf32-bfin.c:2960
msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC_VALUE referensi simbol dinamis dengan bukan nol ditambahkan"
-#: elf32-bfin.c:3112
+#: elf32-bfin.c:3125
msgid "relocations between different segments are not supported"
msgstr "relokasi diantara segmen berbeda tidak didukung"
-#: elf32-bfin.c:3113
+#: elf32-bfin.c:3126
msgid "warning: relocation references a different segment"
msgstr "peringatan: relokasi referensi sebuah segmen berbeda"
-#: elf32-bfin.c:4974 elf32-frv.c:6408
+#: elf32-bfin.c:4971
msgid "%B: unsupported relocation type %i"
msgstr "%B: tipe relokasi %i tidak didukung"
-#: elf32-bfin.c:5127 elf32-frv.c:6816
+#: elf32-bfin.c:5125 elf32-frv.c:6808
#, c-format
msgid "%s: cannot link non-fdpic object file into fdpic executable"
msgstr "%s: tidak dapat menghubungkan berkas objek bukan-fdpic kedalam aplikasi fdpic"
-#: elf32-bfin.c:5131 elf32-frv.c:6820
+#: elf32-bfin.c:5129 elf32-frv.c:6812
#, c-format
msgid "%s: cannot link fdpic object file into non-fdpic executable"
msgstr "%s: tidak dapat menghubungkan berkas objek fdpic kedalam aplikasi bukan-fdpic"
-#: elf32-cris.c:1169
+#: elf32-bfin.c:5283
+#, c-format
+msgid "*** check this relocation %s"
+msgstr "*** periksa relokasi ini %s"
+
+#: elf32-cris.c:1176
msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
msgstr "%B, bagian %A: relokasi tidak teresolf %s terhadap simbol `%s'"
@@ -1289,16 +1350,16 @@ msgstr "%B, bagian %A: Bukan PLT atau GOT untuk relokasi %s terhadap simbol `%s'
msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
msgstr "%B, bagian %A: Bukan PLT untuk relokasi %s terhadap simbol `%s'"
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1641 elf32-cris.c:1730
-#: elf32-cris.c:1883
+#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
+#: elf32-cris.c:1875 elf32-tic6x.c:2662
msgid "[whose name is lost]"
msgstr "[yang namanya hilang]"
-#: elf32-cris.c:1365
+#: elf32-cris.c:1365 elf32-tic6x.c:2647
msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
msgstr "%B, bagian %A: relokasi %s dengan bukan-nol ditambahkan %d terhadap simbol lokal"
-#: elf32-cris.c:1373 elf32-cris.c:1724 elf32-cris.c:1877
+#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
msgstr "%B, bagian %A: relokasi %s dengan bukan-nol ditambakan %d terhadap simbol `%s'"
@@ -1311,23 +1372,23 @@ msgid "%B, section %A: relocation %s with no GOT created"
msgstr "%B, bagian %A: relokasi %s dengan tidak GOT dibuat"
#. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1632
+#: elf32-cris.c:1630
msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
msgstr "%B, bagian %A: relokasi %s memiliki sebuah referensi tidak terdefinisi ke `%s', mungkin sebuah kesalahan deklarasi?"
-#: elf32-cris.c:2010
+#: elf32-cris.c:2002
msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
msgstr "%B, bagian %A: relokasi %s tidak diperbolehkan untuk simbol global: `%s' yang didefinisikan diluar aplikasi, mungkin sebuah kesalahan deklarasi?"
-#: elf32-cris.c:2063
+#: elf32-cris.c:2055
msgid "(too many global variables for -fpic: recompile with -fPIC)"
msgstr "(terlalu banyak variabel global untuk -fpic: rekompilasi dengan -fPIC)"
-#: elf32-cris.c:2070
+#: elf32-cris.c:2062
msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
msgstr "(thread-local data terlalu besar untuk -fpic atau -msmall-tls: rekompilasi dengan -fPIC atau -mno-small-tls)"
-#: elf32-cris.c:3204
+#: elf32-cris.c:3261
msgid ""
"%B, section %A:\n"
" v10/v32 compatible object %s must not contain a PIC relocation"
@@ -1335,7 +1396,7 @@ msgstr ""
"%B, bagian %A:\n"
" v10/v32 objek kompatibel %s harus berisi sebuah relokasi PIC"
-#: elf32-cris.c:3309
+#: elf32-cris.c:3366
msgid ""
"%B, section %A:\n"
" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
@@ -1343,7 +1404,7 @@ msgstr ""
"%B, bagian %A:\n"
" relokasi %s tidak valid dalam sebuah objek terbagi; umumnya sebuah kesalahan pilihan, rekompile dengan -fPIC"
-#: elf32-cris.c:3523
+#: elf32-cris.c:3580
msgid ""
"%B, section %A:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1351,7 +1412,7 @@ msgstr ""
"%B, bagian %A:\n"
" relokasi %s seharusnya digunakan dalam sebuah objek terbagi; rekompile dengan -fPIC"
-#: elf32-cris.c:3940
+#: elf32-cris.c:4002
msgid ""
"%B, section `%A', to symbol `%s':\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1359,129 +1420,161 @@ msgstr ""
"%B, bagian `%A', ke simbol `%s':\n"
" relokasi %s seharusnya digunakan dalam sebuah objek terbagi; rekompilasi dengan -fPIC"
-#: elf32-cris.c:4059
+#: elf32-cris.c:4118
msgid "Unexpected machine number"
msgstr "Nomor mesin tidak terduga"
-#: elf32-cris.c:4113
+#: elf32-cris.c:4172
#, c-format
msgid " [symbols have a _ prefix]"
msgstr " [simbol memiliki sebuah awalan _]"
-#: elf32-cris.c:4116
+#: elf32-cris.c:4175
#, c-format
msgid " [v10 and v32]"
msgstr " [v10 dan v32]"
-#: elf32-cris.c:4119
+#: elf32-cris.c:4178
#, c-format
msgid " [v32]"
msgstr " [v32]"
-#: elf32-cris.c:4164
+#: elf32-cris.c:4223
msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr "%B: menggunakan awalan _ simbol, tetapi menulis berkas dengan simbol tanpa awalan"
-#: elf32-cris.c:4165
+#: elf32-cris.c:4224
msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr "%B: menggunakan simbol tanpa awalan, tetapi menulis berkas dengan simbol awalan _"
-#: elf32-cris.c:4184
+#: elf32-cris.c:4243
msgid "%B contains CRIS v32 code, incompatible with previous objects"
msgstr "%B berisi kode CRIS v32, tidak kompatibel dengan objek sebelumnya"
-#: elf32-cris.c:4186
+#: elf32-cris.c:4245
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr "%B berisi kode bukan CRIS v32, tidak kompatibel dengan objek sebelumnya"
-#: elf32-frv.c:1507 elf32-frv.c:1656
+#: elf32-dlx.c:142
+#, c-format
+msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+msgstr "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+
+#: elf32-dlx.c:204
+#, c-format
+msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
+msgstr "BFD Link Error: jump (PC rel26) to section (%s) not supported"
+
+#. Only if it's not an unresolved symbol.
+#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+msgid "unsupported relocation between data/insn address spaces"
+msgstr "relokasi tidak didukung diantara data/insn ruang alamat"
+
+#: elf32-frv.c:1509 elf32-frv.c:1658
msgid "relocation requires zero addend"
msgstr "relokasi membutuhkan penambahan nol"
-#: elf32-frv.c:2891
-msgid "%B(%A+0x%x): relocation to `%s+%x' may have caused the error above"
-msgstr "%B(%A+0x%x): relokasi ke `%s+%x' mungkin menyebabkan error diatas"
+#: elf32-frv.c:2888
+msgid "%H: relocation to `%s+%v' may have caused the error above\n"
+msgstr "%H: relokasi ke `%s+%v' mungkin telah menyebabkan error diatas\n"
-#: elf32-frv.c:2980
-msgid "R_FRV_GETTLSOFF not applied to a call instruction"
-msgstr "R_FRV_GETTLSOFF tidak teraplikasi untuk sebuah panggilan instruksi"
+#: elf32-frv.c:2905
+msgid "%H: relocation references symbol not defined in the module\n"
+msgstr "%H: relokasi referensi simbol tidak didefinisikan dalam modul\n"
+
+#: elf32-frv.c:2981
+msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
+msgstr "%H: R_FRV_GETTLSOFF tidak teraplikasi untuk sebuah panggilan instruksi\n"
#: elf32-frv.c:3022
-msgid "R_FRV_GOTTLSDESC12 not applied to an lddi instruction"
-msgstr "R_FRV_GOTTLSDESC12 tidak teraplikasi untuk sebuah instruksi lddi"
+msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESC12 tidak teraplikasi untuk sebuah instruksi lddi\n"
#: elf32-frv.c:3093
-msgid "R_FRV_GOTTLSDESCHI not applied to a sethi instruction"
-msgstr "R_FRV_GOTTLSDESCHI tidak teraplikasi untuk sebuah instruksi sethi"
+msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESCHI tidak teraplikasi untuk sebuah instruksi sethi\n"
#: elf32-frv.c:3130
-msgid "R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction"
-msgstr "R_FRV_GOTTLSDESCLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos"
+msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
+msgstr "%H: R_FRV_GOTTLSDESCLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos\n"
+
+#: elf32-frv.c:3177
+msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
+msgstr "%H: R_FRV_TLSDESC_RELAX tidak teraplikasi untuk sebuah instruksi ldd\n"
-#: elf32-frv.c:3178
-msgid "R_FRV_TLSDESC_RELAX not applied to an ldd instruction"
-msgstr "R_FRV_TLSDESC_RELAX tidak teraplikasi untuk sebuah instruksi ldd"
+#: elf32-frv.c:3261
+msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
+msgstr "%H: R_FRV_GETTLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi calll\n"
-#: elf32-frv.c:3262
-msgid "R_FRV_GETTLSOFF_RELAX not applied to a calll instruction"
-msgstr "R_FRV_GETTLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi calll"
+#: elf32-frv.c:3315
+msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
+msgstr "%H: R_FRV_GETTLSOFF12 tidak teraplikasi untuk sebuah instruksi ldi\n"
-#: elf32-frv.c:3317
-msgid "R_FRV_GOTTLSOFF12 not applied to an ldi instruction"
-msgstr "R_FRV_GETTLSOFF12 tidak teraplikasi untuk sebuah instruksi ldi"
+#: elf32-frv.c:3345
+msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_GOTTLSOFFHI tidak teraplikasi untuk sebuah instruksi sethi\n"
-#: elf32-frv.c:3347
-msgid "R_FRV_GOTTLSOFFHI not applied to a sethi instruction"
-msgstr "R_FRV_GOTTLSOFFHI tidak teraplikasi untuk sebuah instruksi sethi"
+#: elf32-frv.c:3374
+msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
+msgstr "%H: R_FRV_GOTTLSOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos\n"
-#: elf32-frv.c:3376
-msgid "R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction"
-msgstr "R_FRV_GOTTLSOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos"
+#: elf32-frv.c:3404
+msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
+msgstr "%H: R_FRV_TLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi ld\n"
-#: elf32-frv.c:3407
-msgid "R_FRV_TLSOFF_RELAX not applied to an ld instruction"
-msgstr "R_FRV_TLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi ld"
+#: elf32-frv.c:3449
+msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
+msgstr "%H: R_FRV_TLSMOFFHI tidak teraplikasi untuk sebuah instruksi sethi\n"
-#: elf32-frv.c:3452
-msgid "R_FRV_TLSMOFFHI not applied to a sethi instruction"
-msgstr "R_FRV_TLSMOFFHI tidak teraplikasi untuk sebuah instruksi sethi"
+#: elf32-frv.c:3476
+msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
+msgstr "R_FRV_TLSMOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos\n"
-#: elf32-frv.c:3479
-msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction"
-msgstr "R_FRV_TLSMOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos"
+#: elf32-frv.c:3597
+msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
+msgstr "%H: R_FRV_FUNCDESC referensi simbol dinamis dengan penambahan bukan nol\n"
-#: elf32-frv.c:3600
-msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend"
-msgstr "R_FRV_FUNCDESC referensi simbol dinamis dengan penambahan bukan nol"
+#: elf32-frv.c:3638 elf32-frv.c:3760
+msgid "%H: cannot emit fixups in read-only section\n"
+msgstr "%H: tidak dapat mengeluarkan fixups dalam bagian baca-saja\n"
-#: elf32-frv.c:3720
-msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
-msgstr "R_FRV_FUNCDESC_VALUE referensi simbol dinamis dengan penambahan bukan nol"
+#: elf32-frv.c:3669 elf32-frv.c:3803
+msgid "%H: cannot emit dynamic relocations in read-only section\n"
+msgstr "%H: tidak dapat mengeluarkan relokasi dinamis dalam bagian baca-saja\n"
-#: elf32-frv.c:3977 elf32-frv.c:4133
-msgid "%B(%A+0x%lx): reloc against `%s': %s"
-msgstr "%B(%A+0x%lx): relokasi terhadap `%s': %s"
+#: elf32-frv.c:3718
+msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
+msgstr "%H: R_FRV_FUNCDESC_VALUE referensi simbol dinamis dengan penambahan bukan nol\n"
-#: elf32-frv.c:3979 elf32-frv.c:3983
-msgid "relocation references a different segment"
-msgstr "relokasi referensi ke segmen berbeda"
+#: elf32-frv.c:3974
+msgid "%H: reloc against `%s' references a different segment\n"
+msgstr "%H: relokasi terhadap `%s' referensi ke segmen berbeda\n"
-#: elf32-frv.c:6730
+#: elf32-frv.c:4124
+msgid "%H: reloc against `%s': %s\n"
+msgstr "%H: relokasi terhadap `%s': %s\n"
+
+#: elf32-frv.c:6400
+msgid "%B: unsupported relocation type %i\n"
+msgstr "%B: tipe relokasi %i tidak didukung\n"
+
+#: elf32-frv.c:6722
#, c-format
msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
msgstr "%s: terkompile dengan %s dan terhubung dengan modul yang menggunakan relokasi bukan-pic"
-#: elf32-frv.c:6783 elf32-iq2000.c:852 elf32-m32c.c:814
+#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
#, c-format
msgid "%s: compiled with %s and linked with modules compiled with %s"
msgstr "%s: terkompile dengan %s dan terhubung dengan modul terkompile dengan %s"
-#: elf32-frv.c:6795
+#: elf32-frv.c:6787
#, c-format
msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr "%s: menggunakan bagian e_flags (0x%lx) berbeda yang tidak dikenal dari modul sebelumnya (0x%lx)"
-#: elf32-frv.c:6845 elf32-iq2000.c:889 elf32-m32c.c:850 elf32-mt.c:583
+#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
+#: elf32-rx.c:3001
#, c-format
msgid "private flags = 0x%lx:"
msgstr "private flags = 0x%lx:"
@@ -1490,113 +1583,125 @@ msgstr "private flags = 0x%lx:"
msgid "%B: Relocations in generic ELF (EM: %d)"
msgstr "%B: Relokasi dalam ELF standar (EM: %d)"
-#: elf32-hppa.c:854 elf32-hppa.c:3570
+#: elf32-hppa.c:850 elf32-hppa.c:3598
msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
msgstr "%B(%A+0x%lx): tidak dapat mencapai %s, rekompile dengan -ffunction-sections"
-#: elf32-hppa.c:1286
+#: elf32-hppa.c:1284
msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
msgstr "%B: relokasi %s tidak dapat digunakan ketika membuat sebuah objek terbagi; rekompile dengan -fPIC"
-#: elf32-hppa.c:2780
+#: elf32-hppa.c:2791
msgid "%B: duplicate export stub %s"
msgstr "%B: duplikasi export stub %s"
-#: elf32-hppa.c:3406
+#: elf32-hppa.c:3437
msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
msgstr "%B(%A+0x%lx): %s fixup untuk insn 0x%x tidak didukung dalam sebuah sambunga tidak terbagi"
-#: elf32-hppa.c:4260
+#: elf32-hppa.c:4284
msgid "%B(%A+0x%lx): cannot handle %s for %s"
msgstr "%B(%A+0x%lx): tidak dapat menangani %s untuk %s"
-#: elf32-hppa.c:4567
+#: elf32-hppa.c:4603
msgid ".got section not immediately after .plt section"
msgstr "bagian .got tidak mengikuti bagian .plt"
-#: elf32-i386.c:371 elf32-ppc.c:1666 elf32-s390.c:379 elf64-ppc.c:2283
-#: elf64-s390.c:403 elf64-x86-64.c:234
+#. Unknown relocation.
+#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
+#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
msgid "%B: invalid relocation type %d"
msgstr "%B: tipe relokasi %d tidak valid"
-#: elf32-i386.c:1246 elf64-x86-64.c:1029
+#: elf32-i386.c:1404 elf64-x86-64.c:1308
msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
msgstr "%B: TLS transisi dari %s ke %s terhadap `%s' di 0x%lx dalam bagian `%A' gagal"
-#: elf32-i386.c:1387 elf32-i386.c:2970 elf64-x86-64.c:1171 elf64-x86-64.c:2680
+#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
+#: elfxx-sparc.c:3083
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
msgstr "%B: relokasi %s terhadap STT_GNU_IFUNC simbol `%s' tidak ditangani oleh %s"
-#: elf32-i386.c:1548 elf32-s390.c:1180 elf32-sh.c:5065 elf32-xtensa.c:1173
-#: elf64-s390.c:1143 elfxx-sparc.c:1257
+#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
+#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
+#: elfxx-tilegx.c:1701
msgid "%B: `%s' accessed both as normal and thread local symbol"
msgstr "%B: `%s' terakses kedua sebagai normal dan memperlakukan lokal simbol"
-#: elf32-i386.c:2805
+#: elf32-i386.c:2539 elf64-x86-64.c:2506
+msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
+msgstr "%P: %B: peringatan: relokasi terhadap `%s' dalam bagian baca-saja `%A'.\n"
+
+#: elf32-i386.c:2629 elf64-x86-64.c:2593
+msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
+msgstr "%P: %B: peringatan: relokasi dalam daerah baca-saja `%A'.\n"
+
+#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
msgid "%B: unrecognized relocation (0x%x) in section `%A'"
msgstr "%B: relokasi tidak dikenal (0x%x) dalam bagian `%A'"
-#: elf32-i386.c:3219 elf64-x86-64.c:3081
+#: elf32-i386.c:3494 elf64-x86-64.c:3513
msgid "hidden symbol"
msgstr "simbol tersembunyi"
-#: elf32-i386.c:3222 elf64-x86-64.c:3084
+#: elf32-i386.c:3497 elf64-x86-64.c:3516
msgid "internal symbol"
msgstr "internal simbol"
-#: elf32-i386.c:3225 elf64-x86-64.c:3087
+#: elf32-i386.c:3500 elf64-x86-64.c:3519
msgid "protected symbol"
msgstr "simbol terproteksi"
-#: elf32-i386.c:3228 elf64-x86-64.c:3090
+#: elf32-i386.c:3503 elf64-x86-64.c:3522
msgid "symbol"
msgstr "simbol"
-#: elf32-i386.c:3233
+#: elf32-i386.c:3508
msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
msgstr "%B: relokasi R_386_GOTOFF terhadap %s `%s' tidak terdefinisi tidak dapat digunakan ketika membuah sebuah objek terbagi"
-#: elf32-i386.c:3243
+#: elf32-i386.c:3518
msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
msgstr "%B: relokasi R_386_GOTOFF terhadap fungsi terproteksi `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi"
-#: elf32-ip2k.c:868 elf32-ip2k.c:874 elf32-ip2k.c:941 elf32-ip2k.c:947
+#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
+#: elfxx-tilegx.c:3847
+#, c-format
+msgid "discarded output section: `%A'"
+msgstr "diabaikan daerah keluaran: `%A'"
+
+#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
msgid "ip2k relaxer: switch table without complete matching relocation information."
msgstr "ip2k relaxer: tabel switch tanpa pencocokan informasi relokasi lengkap."
-#: elf32-ip2k.c:891 elf32-ip2k.c:974
+#: elf32-ip2k.c:880 elf32-ip2k.c:963
msgid "ip2k relaxer: switch table header corrupt."
msgstr "ip2k relaxer: switch tabel header terkorupsi."
-#: elf32-ip2k.c:1316
+#: elf32-ip2k.c:1292
#, c-format
msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "ip2k linker: hilang halaman instruksi di 0x%08lx (dest = 0x%08lx)."
-#: elf32-ip2k.c:1332
+#: elf32-ip2k.c:1308
#, c-format
msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "ip2k linker: redundant halaman instruksi di 0x%08lx (dest = 0x%08lx)."
-#. Only if it's not an unresolved symbol.
-#: elf32-ip2k.c:1506
-msgid "unsupported relocation between data/insn address spaces"
-msgstr "relokasi tidak didukung diantara data/insn ruang alamat"
-
-#: elf32-iq2000.c:865 elf32-m32c.c:826
+#: elf32-iq2000.c:858 elf32-m32c.c:819
#, c-format
msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr "%s: menggunakan e_flags (0x%lx) field berbeda dari modul sebelumnya (0x%lx)"
-#: elf32-lm32.c:698
+#: elf32-lm32.c:706
msgid "global pointer relative relocation when _gp not defined"
msgstr "penunjuk global relokasi relatif waktu _gp tidak terdefinisi"
-#: elf32-lm32.c:753
+#: elf32-lm32.c:761
msgid "global pointer relative address out of range"
msgstr "penunjuk global alamat relatif diluar dari jangkauan"
-#: elf32-lm32.c:1058
+#: elf32-lm32.c:1057
msgid "internal error: addend should be zero for R_LM32_16_GOT"
msgstr "kesalahan internal: addend seharusnya nol untuk R_LM32_16_GOT"
@@ -1604,123 +1709,123 @@ msgstr "kesalahan internal: addend seharusnya nol untuk R_LM32_16_GOT"
msgid "SDA relocation when _SDA_BASE_ not defined"
msgstr "SDA relokasi ketika _SDA_BASE_ tidak terdefinisi"
-#: elf32-m32r.c:3039
+#: elf32-m32r.c:3043
msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
msgstr "%B: Target (%s) dari sebuah %s relokasi berada dalam bagian yang salah (%A)"
-#: elf32-m32r.c:3567
+#: elf32-m32r.c:3571
msgid "%B: Instruction set mismatch with previous modules"
msgstr "%B: Set Instruksi tidak cocok dengan modul sebelumnya"
-#: elf32-m32r.c:3588
+#: elf32-m32r.c:3592
#, c-format
msgid "private flags = %lx"
msgstr "private flags = %lx"
-#: elf32-m32r.c:3593
+#: elf32-m32r.c:3597
#, c-format
msgid ": m32r instructions"
msgstr ": m32r instruksi"
-#: elf32-m32r.c:3594
+#: elf32-m32r.c:3598
#, c-format
msgid ": m32rx instructions"
msgstr ": m32rx instruksi"
-#: elf32-m32r.c:3595
+#: elf32-m32r.c:3599
#, c-format
msgid ": m32r2 instructions"
msgstr ": m32r2 instruksi"
-#: elf32-m68hc1x.c:1048
+#: elf32-m68hc1x.c:1050
#, c-format
msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
msgstr "Referensi ke simbol jauh `%s' menggunakan relokasi salah mungkin akan menghasilkan eksekusi salah"
-#: elf32-m68hc1x.c:1071
+#: elf32-m68hc1x.c:1073
#, c-format
msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
msgstr "banked address [%lx:%04lx] (%lx) tidak dalam bank yang sama seperti dalam alamat bank sekarang [%lx:%04lx] (%lx)"
-#: elf32-m68hc1x.c:1090
+#: elf32-m68hc1x.c:1092
#, c-format
msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
msgstr "referensi ke alamat bank [%lx:%04lx] dalam ruang alamat normal di %04lx"
-#: elf32-m68hc1x.c:1223
+#: elf32-m68hc1x.c:1225
msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
msgstr "%B: menghubungkan berkas yang dikompile untuk 16-bit integer (-mshort) dan yang lain untuk 32-bit integer"
-#: elf32-m68hc1x.c:1230
+#: elf32-m68hc1x.c:1232
msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
msgstr "%B: menghubungkan berkas yang dikompile untuk 32-bit double (-fshort-double) dan yang lain untuk 64-bit double"
-#: elf32-m68hc1x.c:1239
+#: elf32-m68hc1x.c:1241
msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
msgstr "%B: menghubungkan berkas dikompile untuk HCS12 dengan yang lain dikompile untuk HC12"
-#: elf32-m68hc1x.c:1255 elf32-ppc.c:4255 elf64-sparc.c:698 elfxx-mips.c:12617
+#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr "%B: menggunakan field e_flags (0x%lx) berbeda dari modul sebelumnya (0x%lx)"
-#: elf32-m68hc1x.c:1283
+#: elf32-m68hc1x.c:1285
#, c-format
msgid "[abi=32-bit int, "
msgstr "[abi=32-bit int, "
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1287
#, c-format
msgid "[abi=16-bit int, "
msgstr "[abi=16-bit int, "
-#: elf32-m68hc1x.c:1288
+#: elf32-m68hc1x.c:1290
#, c-format
msgid "64-bit double, "
msgstr "64-bit double, "
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1292
#, c-format
msgid "32-bit double, "
msgstr "32-bit double, "
-#: elf32-m68hc1x.c:1293
+#: elf32-m68hc1x.c:1295
#, c-format
msgid "cpu=HC11]"
msgstr "cpu=HC11]"
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1297
#, c-format
msgid "cpu=HCS12]"
msgstr "cpu=HCS12]"
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1299
#, c-format
msgid "cpu=HC12]"
msgstr "cpu=HC12]"
-#: elf32-m68hc1x.c:1300
+#: elf32-m68hc1x.c:1302
#, c-format
msgid " [memory=bank-model]"
msgstr " [memory=bank-model]"
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1304
#, c-format
msgid " [memory=flat]"
msgstr " [memory=flat]"
-#: elf32-m68k.c:1184 elf32-m68k.c:1185
+#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
msgid "unknown"
msgstr "tidak dikenal"
-#: elf32-m68k.c:1645
+#: elf32-m68k.c:1715
msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
msgstr "%B: GOT overflow: Jumlah dari relokasi dengan offset 8-bit > %d"
-#: elf32-m68k.c:1651
+#: elf32-m68k.c:1721
msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
msgstr "%B: GOT overflow: Jumlah dari relokasi dengan offset 8- atau 16-bit > %d"
-#: elf32-m68k.c:3902
+#: elf32-m68k.c:3957
msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): R_68K_TLS_LE32 relokasi tidak diperbolehkan dalam objek terbagi"
@@ -1732,195 +1837,272 @@ msgstr "%B: Relokasi %s (%d) saat ini tidak didukung.\n"
msgid "%B: Unknown relocation type %d\n"
msgstr "%B: Tipe relokasi %d tidak dikenal\n"
-#: elf32-mep.c:654
+#. Pacify gcc -Wall.
+#: elf32-mep.c:157
+#, c-format
+msgid "mep: no reloc for code %d"
+msgstr "mep: no reloc for code %d"
+
+#: elf32-mep.c:163
+#, c-format
+msgid "MeP: howto %d has type %d"
+msgstr "MeP: howto %d has type %d"
+
+#: elf32-mep.c:648
msgid "%B and %B are for different cores"
msgstr "%B dan %B adalah untuk cores berbeda"
-#: elf32-mep.c:671
+#: elf32-mep.c:665
msgid "%B and %B are for different configurations"
msgstr "%B dan %B adalah untuk konfigurasi berbeda"
-#: elf32-mep.c:708
+#: elf32-mep.c:702
#, c-format
msgid "private flags = 0x%lx"
msgstr "private flags = 0x%lx"
-#: elf32-microblaze.c:737
+#: elf32-microblaze.c:742
#, c-format
msgid "%s: unknown relocation type %d"
msgstr "%s: tipe relokasi %d tidak diketahui"
-#: elf32-microblaze.c:862 elf32-microblaze.c:907
+#: elf32-microblaze.c:867 elf32-microblaze.c:912
#, c-format
msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
msgstr "%s: Target (%s) dari sebuah %s relokasi berada dalam bagian yang salah (%s)"
-#: elf32-microblaze.c:1150 elfxx-sparc.c:2957
+#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
+#: elfxx-tilegx.c:3230
msgid "%B: probably compiled without -fPIC?"
msgstr "%B: mungkin dikompile tanpa -fPIC?"
-#: elf32-microblaze.c:2086 elflink.c:12444
+#: elf32-microblaze.c:2074
msgid "%B: bad relocation section name `%s'"
msgstr "%B: relokasi bagian nama `%s' buruk"
-#: elf32-mips.c:1045 elf64-mips.c:2083 elfn32-mips.c:1888
+#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
msgid "literal relocation occurs for an external symbol"
msgstr "literal relokasi terjadi untuk simbol eksternal"
-#: elf32-mips.c:1085 elf32-score.c:580 elf32-score7.c:480 elf64-mips.c:2126
-#: elfn32-mips.c:1929
+#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
+#: elfn32-mips.c:2528
msgid "32bits gp relative relocation occurs for an external symbol"
msgstr "32bit gp relative relokasi terjadi untuk sebuah simbol eksternal"
-#: elf32-ppc.c:1731
+#: elf32-ppc.c:1741
#, c-format
msgid "generic linker can't handle %s"
msgstr "linker generik tidak dapat menangani %s"
-#: elf32-ppc.c:2211
-msgid "corrupt or empty %s section in %B"
-msgstr "korup atau kosong %s bagian dalam %B"
+#: elf32-ppc.c:2184
+msgid "corrupt %s section in %B"
+msgstr "korup bagian %s dalam %B"
-#: elf32-ppc.c:2218
+#: elf32-ppc.c:2203
msgid "unable to read in %s section from %B"
msgstr "tidak dapat membaca dalam bagian %s dari %B"
-#: elf32-ppc.c:2224
-msgid "corrupt %s section in %B"
-msgstr "korup bagian %s dalam %B"
-
-#: elf32-ppc.c:2267
+#: elf32-ppc.c:2244
msgid "warning: unable to set size of %s section in %B"
msgstr "peringatan: tidak dapat menset ukuran bagian %s dalam %B"
-#: elf32-ppc.c:2315
+#: elf32-ppc.c:2294
msgid "failed to allocate space for new APUinfo section."
msgstr "gagal mengalokasikan ruang untuk bagian baru APUinfo."
-#: elf32-ppc.c:2334
+#: elf32-ppc.c:2313
msgid "failed to compute new APUinfo section."
msgstr "gagal untuk menghitung bagian baru APUinfo."
-#: elf32-ppc.c:2337
+#: elf32-ppc.c:2316
msgid "failed to install new APUinfo section."
msgstr "gagal untuk memasang bagian baru APUinfo."
-#: elf32-ppc.c:3364
+#: elf32-ppc.c:3356
msgid "%B: relocation %s cannot be used when making a shared object"
msgstr "%B: relokasi %s tidak dapat digunakan ketika membuat sebuah objek terbagi"
#. It does not make sense to have a procedure linkage
#. table entry for a local symbol.
-#: elf32-ppc.c:3723
-msgid "%B(%A+0x%lx): %s reloc against local symbol"
-msgstr "%B(%A+0x%lx): %s relokasi terhadap simbol lokal"
+#: elf32-ppc.c:3700
+msgid "%P: %H: %s reloc against local symbol\n"
+msgstr "%P: %H: %s relokasi terhadap simbol lokal\n"
-#: elf32-ppc.c:4067 elf32-ppc.c:4082 elfxx-mips.c:12324 elfxx-mips.c:12350
-#: elfxx-mips.c:12372 elfxx-mips.c:12398
+#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
+#: elfxx-mips.c:13699 elfxx-mips.c:13725
msgid "Warning: %B uses hard float, %B uses soft float"
msgstr "Peringatan: %B menggunakan hard float, %B menggunakan soft float"
-#: elf32-ppc.c:4070 elf32-ppc.c:4074
+#: elf32-ppc.c:4042 elf32-ppc.c:4046
msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
msgstr "Peringatan: %B menggunakan double-precision hard float, %B menggunakan single-precision hard float"
-#: elf32-ppc.c:4078
+#: elf32-ppc.c:4050
msgid "Warning: %B uses soft float, %B uses single-precision hard float"
msgstr "Peringatan: %B menggunakan soft float, %B menggunakan single-precision hard float"
-#: elf32-ppc.c:4085 elf32-ppc.c:4089 elfxx-mips.c:12304 elfxx-mips.c:12308
+#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
msgid "Warning: %B uses unknown floating point ABI %d"
msgstr "Peringatan: %B menggunkaan floating point ABI %d"
-#: elf32-ppc.c:4131 elf32-ppc.c:4135
+#: elf32-ppc.c:4103 elf32-ppc.c:4107
msgid "Warning: %B uses unknown vector ABI %d"
msgstr "Peringatan: %B menggunakan vector ABI %d tidak dikenal"
-#: elf32-ppc.c:4139
+#: elf32-ppc.c:4111
msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
msgstr "Peringatan: %B menggunakan vector ABI \"%s\", %B menggunakan \"%s\""
-#: elf32-ppc.c:4156 elf32-ppc.c:4159
+#: elf32-ppc.c:4128 elf32-ppc.c:4131
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
msgstr "Peringatan: %B menggunakan r3/34 untuk arsitektur kembali kecil, %B menggunakan memori"
-#: elf32-ppc.c:4162 elf32-ppc.c:4166
+#: elf32-ppc.c:4134 elf32-ppc.c:4138
msgid "Warning: %B uses unknown small structure return convention %d"
msgstr "Peringatan: %B menggunakan konvensi struktur kembali kecil %d tidak diketahui"
-#: elf32-ppc.c:4220
+#: elf32-ppc.c:4192
msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
msgstr "%B: dikompile dengan -mrelocatable dan dihubungkan dengan module yang dikompile secara normal"
-#: elf32-ppc.c:4228
+#: elf32-ppc.c:4200
msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr "%B: dikompile secara normal dan dihubungkan dengan modul yang dikompile dengan -mrelocatable"
-#: elf32-ppc.c:4314
-msgid "Using bss-plt due to %B"
-msgstr "Menggunakan bss-plt karena %B"
+#: elf32-ppc.c:4309
+msgid "%P: bss-plt forced due to %B\n"
+msgstr "%P: bss-plt dipaksa karena ada %B\n"
+
+#: elf32-ppc.c:4312
+msgid "%P: bss-plt forced by profiling\n"
+msgstr "%P: bss-plt forced by profiling\n"
+
+#. Uh oh, we didn't find the expected call. We
+#. could just mark this symbol to exclude it
+#. from tls optimization but it's safer to skip
+#. the entire optimization.
+#: elf32-ppc.c:4809 elf64-ppc.c:7858
+msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
+msgstr "%H arg lost __tls_get_addr, TLS optimization disabled\n"
+
+#: elf32-ppc.c:5044 elf64-ppc.c:6528
+msgid "%P: dynamic variable `%s' is zero size\n"
+msgstr "%P: variabel dinamik `%s' memiliki ukuran nol\n"
+
+#: elf32-ppc.c:7263 elf64-ppc.c:12675
+msgid "%P: %B: unknown relocation type %d for symbol %s\n"
+msgstr "%P: %B: tipe relokasi %d tidak dikenal untuk simbol %s\n"
+
+#: elf32-ppc.c:7524
+msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%P: %H: bukan-nol ditambahkan di %s relokasi terhadap `%s'\n"
+
+#: elf32-ppc.c:7720 elf64-ppc.c:13181
+msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
+msgstr "%P: %H: relokasi %s untuk fungsi tidak langsung %s tidak didukung\n"
+
+#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
+msgstr "%P: %B: target (%s) dari sebuah relokasi %s berada dalam daerah keluaran salah (%s)\n"
+
+#: elf32-ppc.c:8097
+msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
+msgstr "%P: %B: relokasi %s tidak didukung untuk simbol %s\n"
+
+#: elf32-ppc.c:8158 elf64-ppc.c:13467
+msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%P: %H: tidak teresolf %s relokasi terhadap simbol `%s'\n"
+
+#: elf32-ppc.c:8205 elf64-ppc.c:13512
+msgid "%P: %H: %s reloc against `%s': error %d\n"
+msgstr "%P: %H: %s relokasi terhadap `%s': error %d\n"
+
+#: elf32-ppc.c:8696
+msgid "%P: %s not defined in linker created %s\n"
+msgstr "%P: %s tidak didefinisikan dalam penyambung dibuat oleh %s\n"
+
+#: elf32-rx.c:563
+msgid "%B:%A: Warning: deprecated Red Hat reloc "
+msgstr "%B:%A: Peringatan: tertinggal Red Hat relokasi"
-#: elf32-ppc.c:7056 elf64-ppc.c:11364
-msgid "%B: unknown relocation type %d for symbol %s"
-msgstr "%B: tipe relokasi %d tidak dikenal untuk simbol %s"
+#. Check for unsafe relocs in PID mode. These are any relocs where
+#. an absolute address is being computed. There are special cases
+#. for relocs against symbols that are known to be referenced in
+#. crt0.o before the PID base address register has been initialised.
+#: elf32-rx.c:581
+msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
+msgstr "%B(%A): tidak aman PID relokasi %s di 0x%08lx (terhadap %s dalam %s)"
-#: elf32-ppc.c:7316
-msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'"
-msgstr "%B(%A+0x%lx): bukan-nol ditambahkan di %s relokasi terhadap `%s'"
+#: elf32-rx.c:1157
+msgid "Warning: RX_SYM reloc with an unknown symbol"
+msgstr "Warning: RX_SYM reloc with an unknown symbol"
-#: elf32-ppc.c:7499 elf64-ppc.c:11854
-msgid "%B(%A+0x%lx): relocation %s for indirect function %s unsupported"
-msgstr "%B(%A+0x%lx): Relokasi %s untuk fungsi tidak langsung %s tidak didukung."
+#: elf32-rx.c:1324
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): error: call to undefined function '%s'"
-#: elf32-ppc.c:7709 elf32-ppc.c:7736 elf32-ppc.c:7787
-msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
-msgstr "%B: target (%s) dari sebuah relokasi %s berada dalam daerah keluaran salah (%s)"
+#: elf32-rx.c:1338
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): peringatan: tidak alignment akses ke simbol '%s' dalam area data kecil"
-#: elf32-ppc.c:7847
-msgid "%B: relocation %s is not yet supported for symbol %s."
-msgstr "%B: relokasi %s tidak didukung untuk simbol %s."
+#: elf32-rx.c:1342
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): internal error: diluar jangkauan error"
-#: elf32-ppc.c:7955 elf64-ppc.c:12110
-msgid "%B(%A+0x%lx): %s reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): %s relokasi terhadap `%s': error %d"
+#: elf32-rx.c:1346
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): internal error: relokasi tidak didukung error"
-#: elf32-ppc.c:8423
+#: elf32-rx.c:1350
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): internal error: relokasi berbahaya"
+
+#: elf32-rx.c:1354
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): internal error: error tidak diketahui"
+
+#: elf32-rx.c:3004
+#, c-format
+msgid " [64-bit doubles]"
+msgstr " [64-bit doubles]"
+
+#: elf32-rx.c:3006
#, c-format
-msgid "%s not defined in linker created %s"
-msgstr "%s tidak didefinisikan dalam %s yang dibuat oleh penyambung"
+msgid " [dsp]"
+msgstr " [dsp]"
-#: elf32-s390.c:2207 elf64-s390.c:2179
+#: elf32-s390.c:2200 elf64-s390.c:2187
msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
msgstr "%B(%A+0x%lx): instruksi tidak valid untuk relokasi TLS %s"
-#: elf32-score.c:1533 elf32-score7.c:1424 elfxx-mips.c:3299
+#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
msgid "not enough GOT space for local GOT entries"
msgstr "tidak cukup ruang GOT untuk masukan lokal GOT"
-#: elf32-score.c:2765
+#: elf32-score.c:2742
msgid "address not word align"
msgstr "alamat tidak selaras dengan ukuran word"
-#: elf32-score.c:2850 elf32-score7.c:2685
+#: elf32-score.c:2827 elf32-score7.c:2631
#, c-format
msgid "%s: Malformed reloc detected for section %s"
msgstr "%s: relokasi malformat terdeteksi untuk bagian %s"
-#: elf32-score.c:2901 elf32-score7.c:2736
+#: elf32-score.c:2878 elf32-score7.c:2682
msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
msgstr "%B: CALL15 relokasi di 0x%lx tidak terhadap simbol global"
-#: elf32-score.c:4042 elf32-score7.c:3879
+#: elf32-score.c:3997 elf32-score7.c:3803
#, c-format
msgid " [pic]"
msgstr " [pic]"
-#: elf32-score.c:4046 elf32-score7.c:3883
+#: elf32-score.c:4001 elf32-score7.c:3807
#, c-format
msgid " [fix dep]"
msgstr " [fix dep]"
-#: elf32-score.c:4088 elf32-score7.c:3925
+#: elf32-score.c:4043 elf32-score7.c:3849
msgid "%B: warning: linking PIC files with non-PIC files"
msgstr "%B: peringatan: menghubungkan berkas PIC dengan berkas bukan-PIC"
@@ -1932,182 +2114,212 @@ msgstr "%B: IMPORT SEBAGAI direktif untuk %s menyembunyikan IMPORT SEBAGAI sebel
msgid "%B: Unrecognised .directive command: %s"
msgstr "%B: Perintah .directive tidak dikenal: %s"
-#: elf32-sh-symbian.c:503
+#: elf32-sh-symbian.c:504
msgid "%B: Failed to add renamed symbol %s"
msgstr "%B: Gagal menambahkan simbol diubah namanya %s"
-#: elf32-sh.c:533
+#: elf32-sh.c:568
msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
msgstr "%B: 0x%lx: peringatan: ofset R_SH_USES buruk"
-#: elf32-sh.c:545
+#: elf32-sh.c:580
msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
msgstr "%B: 0x%lx: peringatan: R_SH_USES titik tidak dikenal insn 0x%x"
-#: elf32-sh.c:562
+#: elf32-sh.c:597
msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
msgstr "%B: 0x%lx: peringatan: ofset R_SH_USES beban buruk"
-#: elf32-sh.c:577
+#: elf32-sh.c:612
msgid "%B: 0x%lx: warning: could not find expected reloc"
msgstr "%B: 0x%lx: peringatan: tidak dapat menemukan relokasi yang diperkirakan"
-#: elf32-sh.c:605
+#: elf32-sh.c:640
msgid "%B: 0x%lx: warning: symbol in unexpected section"
msgstr "%B: 0x%lx: peringatan: simbol dalam bagian yang tidak diperkirakan"
-#: elf32-sh.c:731
+#: elf32-sh.c:766
msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
msgstr "%B: 0x%lx: peringatan: tidak dapat menemukan COUNT relokasi"
-#: elf32-sh.c:740
+#: elf32-sh.c:775
msgid "%B: 0x%lx: warning: bad count"
msgstr "%B: 0x%lx: peringatan: jumlah buruk"
-#: elf32-sh.c:1144 elf32-sh.c:1514
+#: elf32-sh.c:1179 elf32-sh.c:1549
msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
msgstr "%B: 0x%lx: fatal: relokasi overflow ketika relaxing"
-#: elf32-sh.c:3270 elf64-sh64.c:1526
+#: elf32-sh.c:4048 elf64-sh64.c:1514
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr "Tidak diperkirakan STO_SH5_ISA32 di simbol lokal tidak ditangani"
-#: elf32-sh.c:3507
+#: elf32-sh.c:4299
msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
msgstr "%B: 0x%lx: fatal: unaligned branch target untuk relax-support relokasi"
-#: elf32-sh.c:3540 elf32-sh.c:3555
+#: elf32-sh.c:4332 elf32-sh.c:4347
msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
msgstr "%B: 0x%lx: fatal: unaligned %s relokasi 0x%lx"
-#: elf32-sh.c:3569
+#: elf32-sh.c:4361
msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
msgstr "%B: 0x%lx: fatal: R_SH_PSHA relokasi %d tidak dalam jangkauan -32..32"
-#: elf32-sh.c:3583
+#: elf32-sh.c:4375
msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
msgstr "%B: 0x%lx: fatal: R_SH_PSHL relokasi %d tidak dalam jangkauan -32..32"
-#: elf32-sh.c:5256 elf64-alpha.c:4525
+#: elf32-sh.c:4519 elf32-sh.c:4989
+msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
+msgstr "%B(%A+0x%lx): tidak dapat mengeluarkan fixups `%s' dalam bagian baca-saja"
+
+#: elf32-sh.c:5096
+msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
+msgstr "%B(%A+0x%lx): %s relokasi terhadap simbol eksternal \"%s\""
+
+#: elf32-sh.c:5569
+#, c-format
+msgid "%X%C: relocation to \"%s\" references a different segment\n"
+msgstr "%X%C: relokasi referensi ke \"%s\" segmen berbeda\n"
+
+#: elf32-sh.c:5575
+#, c-format
+msgid "%C: warning: relocation to \"%s\" references a different segment\n"
+msgstr "%C: peringatan: relokasi referensi ke \"%s\" sebuah segmen berbeda\n"
+
+#: elf32-sh.c:6353 elf32-sh.c:6436
+msgid "%B: `%s' accessed both as normal and FDPIC symbol"
+msgstr "%B: `%s' terakses kedua sebagai normal dan FDPIC simbol"
+
+#: elf32-sh.c:6358 elf32-sh.c:6440
+msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
+msgstr "%B: `%s' terakses kedua sebagai FDPIC dan memperlakukan lokal simbol"
+
+#: elf32-sh.c:6388
+msgid "%B: Function descriptor relocation with non-zero addend"
+msgstr "%B: Fungsi deskripsi relokasi dengan bukan-nol ditambakan"
+
+#: elf32-sh.c:6624 elf64-alpha.c:4652
msgid "%B: TLS local exec code cannot be linked into shared objects"
msgstr "%B: TLS lokal exec kode tidak dapat dihubungkan dalam objek terbagi"
-#: elf32-sh64.c:222 elf64-sh64.c:2333
+#: elf32-sh64.c:223 elf64-sh64.c:2318
#, c-format
msgid "%s: compiled as 32-bit object and %s is 64-bit"
msgstr "%s: dikompile sebagai 32-bit objek dan %s adalah 64-bit"
-#: elf32-sh64.c:225 elf64-sh64.c:2336
+#: elf32-sh64.c:226 elf64-sh64.c:2321
#, c-format
msgid "%s: compiled as 64-bit object and %s is 32-bit"
msgstr "%s: dikompile sebagai 64-bit objek dan %s adalah 32-bit"
-#: elf32-sh64.c:227 elf64-sh64.c:2338
+#: elf32-sh64.c:228 elf64-sh64.c:2323
#, c-format
msgid "%s: object size does not match that of target %s"
msgstr "%s: ukuran objek tidak cocok dari target %s"
-#: elf32-sh64.c:450 elf64-sh64.c:2852
+#: elf32-sh64.c:451 elf64-sh64.c:2837
#, c-format
msgid "%s: encountered datalabel symbol in input"
msgstr "%s: ditemui datalabel simbol dalam masukan"
-#: elf32-sh64.c:527
+#: elf32-sh64.c:528
msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
msgstr "PTB tidak cocok: sebuah SHmedia alamat (bit 0 ==1)"
-#: elf32-sh64.c:530
+#: elf32-sh64.c:531
msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
msgstr "PTA tidak cocok: sebuah SHcompact alamat (bit 0 == 0)"
-#: elf32-sh64.c:548
+#: elf32-sh64.c:549
#, c-format
msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
msgstr "%s: GAS error: tidak diduga PTB insn dengan R_SH_PT_16"
-#: elf32-sh64.c:597
+#: elf32-sh64.c:598
msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
msgstr "%B: error: tipe relokasi unaligned %d di %08x relokasi %p\n"
-#: elf32-sh64.c:673
+#: elf32-sh64.c:674
#, c-format
msgid "%s: could not write out added .cranges entries"
msgstr "%s: tidak dapat menulis masukan tambahan .cranges"
-#: elf32-sh64.c:733
+#: elf32-sh64.c:734
#, c-format
msgid "%s: could not write out sorted .cranges entries"
msgstr "%s: tidak dapat menulis masukan terurut .cranges"
-#: elf32-sparc.c:89
+#: elf32-sparc.c:90
msgid "%B: compiled for a 64 bit system and target is 32 bit"
msgstr "%B: dikompile untuk sebuah sistem 64 bit dan target adalah 32 bit"
-#: elf32-sparc.c:102
+#: elf32-sparc.c:103
msgid "%B: linking little endian files with big endian files"
msgstr "%B: menghubungkan berkas little endian dengan berkas big endian"
-#: elf32-spu.c:723
+#: elf32-spu.c:719
msgid "%X%P: overlay section %A does not start on a cache line.\n"
msgstr "%X%P: bagian overlay %A jangan diawali di sebuah baris cache.\n"
-#: elf32-spu.c:731
+#: elf32-spu.c:727
msgid "%X%P: overlay section %A is larger than a cache line.\n"
msgstr "%X%P: bagian overlay %A lebih besar daripada baris cache.\n"
-#: elf32-spu.c:751
+#: elf32-spu.c:747
msgid "%X%P: overlay section %A is not in cache area.\n"
msgstr "%X%P: bagian overlay %A tidak berada dalam daerah cache.\n"
-#: elf32-spu.c:791
+#: elf32-spu.c:787
msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
msgstr "%X%P: bagian overlay %A dan %A jangan diawali di alamat yang sama.\n"
-#: elf32-spu.c:1015
+#: elf32-spu.c:1011
msgid "warning: call to non-function symbol %s defined in %B"
msgstr "peringatan: panggilan bukan-fungsi simbol %s didefinisikan dalam %B"
-#: elf32-spu.c:1365
+#: elf32-spu.c:1361
msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
msgstr "%A:0x%v lrlive .brinfo (%u) berbeda dari analisa (%u)\n"
-#: elf32-spu.c:1884
+#: elf32-spu.c:1880
msgid "%B is not allowed to define %s"
msgstr "%B tidak diperbolehkan untuk didefinisikan %s"
-#: elf32-spu.c:1892
+#: elf32-spu.c:1888
#, c-format
msgid "you are not allowed to define %s in a script"
msgstr "anda tidak diperbolehkan untuk mendefinisikan %s dalam sebuah script"
-#: elf32-spu.c:1926
+#: elf32-spu.c:1922
#, c-format
msgid "%s in overlay section"
msgstr "%s dalam daerah overlay"
-#: elf32-spu.c:1955
+#: elf32-spu.c:1951
msgid "overlay stub relocation overflow"
msgstr "relokasi stub overlay overflow"
-#: elf32-spu.c:1964 elf64-ppc.c:10441
+#: elf32-spu.c:1960
msgid "stubs don't match calculated size"
msgstr "stub tidak cocok dengan ukuran yang dihitung"
-#: elf32-spu.c:2546
+#: elf32-spu.c:2542
#, c-format
msgid "warning: %s overlaps %s\n"
msgstr "peringatan: %s timpang tindih %s\n"
-#: elf32-spu.c:2562
+#: elf32-spu.c:2558
#, c-format
msgid "warning: %s exceeds section size\n"
msgstr "peringatan: %s melebihi ukuran daerah\n"
-#: elf32-spu.c:2593
+#: elf32-spu.c:2589
msgid "%A:0x%v not found in function table\n"
msgstr "%A:0x%v tidak ditemukan dalam tabel fungsi\n"
-#: elf32-spu.c:2740
+#: elf32-spu.c:2729
msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
msgstr "%B(%A+0x%v): panggilan untuk daerah bukan-kode %B(%A), analysis tidak lengkap\n"
@@ -2133,33 +2345,33 @@ msgstr " panggilan:\n"
msgid " %s%s %s\n"
msgstr " %s%s %s\n"
-#: elf32-spu.c:4304
+#: elf32-spu.c:4307
#, c-format
msgid "%s duplicated in %s\n"
msgstr "%s duplikasi dalam %s\n"
-#: elf32-spu.c:4308
+#: elf32-spu.c:4311
#, c-format
msgid "%s duplicated\n"
msgstr "%s duplikasi\n"
-#: elf32-spu.c:4315
+#: elf32-spu.c:4318
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
msgstr "maaf, tidak ada dukungan untuk duplikasi berkas objek dalam auto-overlay script\n"
-#: elf32-spu.c:4356
+#: elf32-spu.c:4359
msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
msgstr "ukuran non-overlay dari 0x%v plus maksimul overlay size dari 0x%v melebihi lokal store\n"
-#: elf32-spu.c:4512
+#: elf32-spu.c:4514
msgid "%B:%A%s exceeds overlay size\n"
msgstr "%B:%A%s melebihi ukuran overlay\n"
-#: elf32-spu.c:4669
+#: elf32-spu.c:4676
msgid "Stack size for call graph root nodes.\n"
msgstr "Ukuran stack untuk panggilan graph titik root.\n"
-#: elf32-spu.c:4670
+#: elf32-spu.c:4677
msgid ""
"\n"
"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
@@ -2167,225 +2379,303 @@ msgstr ""
"\n"
"Ukuran stack untuk fungsi. Anotasi: '*' max stack, 't' tail call\n"
-#: elf32-spu.c:4680
+#: elf32-spu.c:4687
msgid "Maximum stack required is 0x%v\n"
msgstr "Maksimal stack dibutuhkan adalah 0x%v\n"
-#: elf32-spu.c:4771
+#: elf32-spu.c:4778
msgid "fatal error while creating .fixup"
msgstr "kesalahan fatal ketika membuat .fixup"
-#: elf32-spu.c:5009
+#: elf32-spu.c:5008
msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%s=0x%lx): tidak teresolf %s relokasi terhadap simbol `%s'"
-#: elf32-v850.c:163
+#: elf32-tic6x.c:1602
+msgid "warning: generating a shared library containing non-PIC code"
+msgstr "warning: generating a shared library containing non-PIC code"
+
+#: elf32-tic6x.c:1607
+msgid "warning: generating a shared library containing non-PID code"
+msgstr "warning: generating a shared library containing non-PID code"
+
+#: elf32-tic6x.c:2541
+msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
+msgstr "%B: SB-relative relokasi tetapi __c6xabi_DSBT_BASE tidak terdefinisi"
+
+#: elf32-tic6x.c:2761
+msgid "dangerous relocation"
+msgstr "relokasi berbahaya"
+
+#: elf32-tic6x.c:3733
+msgid "%B: error: unknown mandatory EABI object attribute %d"
+msgstr "%B: error: tidak diketahui EABI wajib atribut objek %d"
+
+#: elf32-tic6x.c:3741
+msgid "%B: warning: unknown EABI object attribute %d"
+msgstr "%B: peringatan: atribut objek EABI tidak diketahui %d"
+
+#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+msgid "error: %B requires more stack alignment than %B preserves"
+msgstr "error: %B requires more stack alignment than %B preserves"
+
+#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
+msgstr "error: unknown Tag_ABI_array_object_alignment value in %B"
+
+#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
+msgstr "error: unknown Tag_ABI_array_object_align_expected value in %B"
+
+#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+msgid "error: %B requires more array alignment than %B preserves"
+msgstr "error: %B requires more array alignment than %B preserves"
+
+#: elf32-tic6x.c:3935
+msgid "warning: %B and %B differ in wchar_t size"
+msgstr "peringatan: %B dan %B berbeda dalam ukuran wchar_t"
+
+#: elf32-tic6x.c:3953
+msgid "warning: %B and %B differ in whether code is compiled for DSBT"
+msgstr "warning: %B and %B differ in whether code is compiled for DSBT"
+
+#: elf32-v850.c:173
#, c-format
msgid "Variable `%s' cannot occupy in multiple small data regions"
msgstr "Variabel `%s' tidak dapat mengisi dalam beberapa daerah data kecil"
-#: elf32-v850.c:166
+#: elf32-v850.c:176
#, c-format
msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
msgstr "Variabel `%s' hanya dapat berada dalam satu dari kecil, nol, dan sangat kecil daerah data"
-#: elf32-v850.c:169
+#: elf32-v850.c:179
#, c-format
msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
msgstr "Variabel `%s' tidak dapat berada dalam kecil dan nol daerah data secara bersamaan"
-#: elf32-v850.c:172
+#: elf32-v850.c:182
#, c-format
msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
msgstr "Variabel `%s' tidak dapat berada dalam kecil dan sangat kecil daerah data secara bersamaan"
-#: elf32-v850.c:175
+#: elf32-v850.c:185
#, c-format
msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
msgstr "variabel `%s' tidak dapat dalam nol dan kecil daerah data secara bersamaan"
-#: elf32-v850.c:478
-#, c-format
-msgid "FAILED to find previous HI16 reloc\n"
-msgstr "GAGAL untuk menemukan relokasi HI16 sebelumnya\n"
+#: elf32-v850.c:483
+msgid "FAILED to find previous HI16 reloc"
+msgstr "GAGAL untuk menemukan relokasi HI16 sebelumnya"
-#: elf32-v850.c:1713
+#: elf32-v850.c:2155
msgid "could not locate special linker symbol __gp"
msgstr "tidak dapat menemukan simbol linker spesial __gp"
-#: elf32-v850.c:1717
+#: elf32-v850.c:2159
msgid "could not locate special linker symbol __ep"
msgstr "tidak dapat menemukan simbol linker spesial __ep"
-#: elf32-v850.c:1721
+#: elf32-v850.c:2163
msgid "could not locate special linker symbol __ctbp"
msgstr "tidak dapat menemukan simbol linker spesial __ctbp"
-#: elf32-v850.c:1871
+#: elf32-v850.c:2341
msgid "%B: Architecture mismatch with previous modules"
msgstr "%B: Arsitektur tidak cocok dengan modul sebelumnya"
-#: elf32-v850.c:1890
+#. xgettext:c-format.
+#: elf32-v850.c:2360
#, c-format
msgid "private flags = %lx: "
msgstr "private flags = %lx: "
-#: elf32-v850.c:1895
+#: elf32-v850.c:2365
#, c-format
msgid "v850 architecture"
msgstr "v850 arsitektur"
-#: elf32-v850.c:1896
+#: elf32-v850.c:2366
#, c-format
msgid "v850e architecture"
msgstr "v850e arsitektur"
-#: elf32-v850.c:1897
+#: elf32-v850.c:2367
#, c-format
msgid "v850e1 architecture"
msgstr "v850e1 arsitektur"
-#: elf32-vax.c:543
+#: elf32-v850.c:2368
+#, c-format
+msgid "v850e2 architecture"
+msgstr "v850e2 arsitektur"
+
+#: elf32-v850.c:2369
+#, c-format
+msgid "v850e2v3 architecture"
+msgstr "v850e2v3 arsitektur"
+
+#: elf32-vax.c:532
#, c-format
msgid " [nonpic]"
msgstr " [bukan-pic]"
-#: elf32-vax.c:546
+#: elf32-vax.c:535
#, c-format
msgid " [d-float]"
msgstr " [d-float]"
-#: elf32-vax.c:549
+#: elf32-vax.c:538
#, c-format
msgid " [g-float]"
msgstr " [g-float]"
-#: elf32-vax.c:666
+#: elf32-vax.c:655
#, c-format
msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
msgstr "%s: peringatan: GOT ditambahkan dari %ld ke `%s' tidak cocok dengan penambahan GOT sebelumnya dari %ld"
-#: elf32-vax.c:1608
+#: elf32-vax.c:1585
#, c-format
msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
msgstr "%s: peringatan: PLT ditambahkan dari %d ke `%s' dari %s bagian diabaikan"
-#: elf32-vax.c:1735
+#: elf32-vax.c:1712
#, c-format
msgid "%s: warning: %s relocation against symbol `%s' from %s section"
msgstr "%s: peringatan: %s relokasi terhadap simbol `%s' dari bagian %s"
-#: elf32-vax.c:1741
+#: elf32-vax.c:1718
#, c-format
msgid "%s: warning: %s relocation to 0x%x from %s section"
msgstr "%s: peringatan: relokasi %s ke 0x%x dari daerah %s"
-#: elf32-xstormy16.c:451 elf32-ia64.c:2791 elf64-ia64.c:2791
+#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
msgid "non-zero addend in @fptr reloc"
msgstr "bukan-nol ditambahkan dalam @fptr relokasi"
-#: elf32-xtensa.c:912
+#: elf32-xtensa.c:918
msgid "%B(%A): invalid property table"
msgstr "%B(%A): tabel properti tidak valid"
-#: elf32-xtensa.c:2740
+#: elf32-xtensa.c:2777
msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
msgstr "%B(%A+0x%lx): ofset relokasi diluar jangkauan (size=0x%x)"
-#: elf32-xtensa.c:2819 elf32-xtensa.c:2940
+#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
msgid "dynamic relocation in read-only section"
msgstr "relokasi dinamis dalam bagian baca-saja"
-#: elf32-xtensa.c:2916
+#: elf32-xtensa.c:2953
msgid "TLS relocation invalid without dynamic sections"
msgstr "relokasi TLS tidak valid tanpa bagian dinamis"
-#: elf32-xtensa.c:3133
+#: elf32-xtensa.c:3172
msgid "internal inconsistency in size of .got.loc section"
msgstr "internal tidak konsisten dalam ukuran dari daerah .got.loc"
-#: elf32-xtensa.c:3443
+#: elf32-xtensa.c:3485
msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
msgstr "%B: tipe mesin tidak kompatibel. Keluaran adalah 0x%x. Masukan adalah 0x%x"
-#: elf32-xtensa.c:4672 elf32-xtensa.c:4680
+#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
msgid "Attempt to convert L32R/CALLX to CALL failed"
msgstr "Mencoba untuk mengubah L32R/CALLX ke CALL gagal"
-#: elf32-xtensa.c:6290 elf32-xtensa.c:6366 elf32-xtensa.c:7486
+#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
msgstr "%B(%A+0x%lx): tidak dapat mendeko instruksi; mungkin konfigurasi tidak cocok"
-#: elf32-xtensa.c:7226
+#: elf32-xtensa.c:7264
msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
msgstr "%B(%A+0x%lx): tidak dapat mendeko instruksi untuk XTENSA_ASM_SIMPLIFY relokasi; mungkin konfigurasi tidak cocok"
-#: elf32-xtensa.c:8987
+#: elf32-xtensa.c:9023
msgid "invalid relocation address"
msgstr "alamat relokasi tidak valid"
-#: elf32-xtensa.c:9036
+#: elf32-xtensa.c:9072
msgid "overflow after relaxation"
msgstr "overflow setelah relaksasi"
-#: elf32-xtensa.c:10167
+#: elf32-xtensa.c:10204
msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
msgstr "%B(%A+0x%lx): unexpected fix untuk relokasi %s"
-#: elf64-alpha.c:452
+#: elf64-alpha.c:460
msgid "GPDISP relocation did not find ldah and lda instructions"
msgstr "GPDISP relokasi tidak dapat menemukan instruksi ldah dan lda"
-#: elf64-alpha.c:2389
+#: elf64-alpha.c:2497
msgid "%B: .got subsegment exceeds 64K (size %d)"
msgstr "%B: .got subsegmen melebihi 64K (size %d)"
-#: elf64-alpha.c:4269 elf64-alpha.c:4281
+#: elf64-alpha.c:4387 elf64-alpha.c:4399
msgid "%B: gp-relative relocation against dynamic symbol %s"
msgstr "%B: gp-relative relokasi terhadap simbol dinamis %s"
-#: elf64-alpha.c:4307 elf64-alpha.c:4442
+#: elf64-alpha.c:4425 elf64-alpha.c:4565
msgid "%B: pc-relative relocation against dynamic symbol %s"
msgstr "%B: pc-relative relokasi terhadap simbol dinamis %s"
-#: elf64-alpha.c:4335
+#: elf64-alpha.c:4453
msgid "%B: change in gp: BRSGP %s"
msgstr "%B: perubahan dalam gp: BRSGP %s"
-#: elf64-alpha.c:4360
+#: elf64-alpha.c:4478
msgid "<unknown>"
msgstr "<tidak dikenal>"
-#: elf64-alpha.c:4365
+#: elf64-alpha.c:4483
msgid "%B: !samegp reloc against symbol without .prologue: %s"
msgstr "%B: !samegp relokasi terhadap simbol tanpa .prologue: %s"
-#: elf64-alpha.c:4417
+#: elf64-alpha.c:4540
msgid "%B: unhandled dynamic relocation against %s"
msgstr "%B: relokasi dinamis tidak ditangani terhadap %s"
-#: elf64-alpha.c:4449
+#: elf64-alpha.c:4572
msgid "%B: pc-relative relocation against undefined weak symbol %s"
msgstr "%B: pc-relative relokasi terhadap simbol lemah tidak terdefinisi %s"
-#: elf64-alpha.c:4509
+#: elf64-alpha.c:4636
msgid "%B: dtp-relative relocation against dynamic symbol %s"
msgstr "%B: dtp-relative relokasi terhadap simbol dinamis %s"
-#: elf64-alpha.c:4532
+#: elf64-alpha.c:4659
msgid "%B: tp-relative relocation against dynamic symbol %s"
msgstr "%B: tp-relative relokasi terhadap simbol dinamis %s"
-#: elf64-hppa.c:2091
+#: elf64-hppa.c:2083
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %ld"
msgstr "masukan stub untuk %s tidak dapat diload .plt, dp ofset = %ld"
-#: elf64-hppa.c:3273
-msgid "%B(%A+0x%lx): cannot reach %s"
-msgstr "%B(%A+0x%lx): tidak dapat mencapai %s"
+#: elf64-hppa.c:3275
+msgid "%B(%A+0x"
+msgstr "%B(%A+0x"
+
+#: elf64-mmix.c:1034
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
+msgstr ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or assemble using \"-no-expand\" (for gcc, \"-Wa,-no-expand\""
-#: elf64-mmix.c:1177
+#: elf64-mmix.c:1218
+msgid ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or compile using the gcc-option \"-mno-base-addresses\"."
+msgstr ""
+"invalid input relocation when producing non-ELF, non-mmo format output.\n"
+" Please use the objcopy program to convert from ELF or mmo,\n"
+" or compile using the gcc-option \"-mno-base-addresses\"."
+
+#: elf64-mmix.c:1244
#, c-format
msgid ""
"%s: Internal inconsistency error for value for\n"
@@ -2394,46 +2684,46 @@ msgstr ""
"%s: Internal tidak konsisten error untuk nilai untuk\n"
" linker-allocated global register: terhubung: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
-#: elf64-mmix.c:1618
+#: elf64-mmix.c:1670
#, c-format
msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
msgstr "%s: base-plus-offset relokasi terhadap simbol register: (tidak diketahui) dalam %s"
-#: elf64-mmix.c:1623
+#: elf64-mmix.c:1675
#, c-format
msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
msgstr "%s: base-plus-offset relokasi terhadap simbol register: %s dalam %s"
-#: elf64-mmix.c:1667
+#: elf64-mmix.c:1719
#, c-format
msgid "%s: register relocation against non-register symbol: (unknown) in %s"
msgstr "%s: register relokasi terhadap non-register simbol: (tidak diketahui) dalam %s"
-#: elf64-mmix.c:1672
+#: elf64-mmix.c:1724
#, c-format
msgid "%s: register relocation against non-register symbol: %s in %s"
msgstr "%s: register relokasi terhadap bukan-register simbol: %s dalam %s"
-#: elf64-mmix.c:1709
+#: elf64-mmix.c:1761
#, c-format
msgid "%s: directive LOCAL valid only with a register or absolute value"
msgstr "%s: direktif LOKAL hanya valid dengan sebuah register atau nilai absolut"
-#: elf64-mmix.c:1737
+#: elf64-mmix.c:1789
#, c-format
msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
msgstr "%s: LOKAL direktif: Register $%ld bukan sebuah lokal register. Pertama global registar adala $%ld."
-#: elf64-mmix.c:2201
+#: elf64-mmix.c:2253
#, c-format
msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
msgstr "%s: Error: multiple definisi dari `%s'; awal dari %s adalah diset dalam sebuah sebelum berkas terlink\n"
-#: elf64-mmix.c:2259
+#: elf64-mmix.c:2311
msgid "Register section has contents\n"
msgstr "Daerah register memiliki isi\n"
-#: elf64-mmix.c:2451
+#: elf64-mmix.c:2503
#, c-format
msgid ""
"Internal inconsistency: remaining %u != max %u.\n"
@@ -2442,65 +2732,80 @@ msgstr ""
"Internal tidak konsisten: sisa %u != max %u.\n"
" Tolong laporkan bug ini."
-#: elf64-ppc.c:2691 libbfd.c:978
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr "%B: dikompile untuk sebuah sistem big endian dan target adalah little endian"
+#: elf64-ppc.c:4185
+msgid "%P: %B: cannot create stub entry %s\n"
+msgstr "%P: %B: tidak dapat membuat masukan stub %s\n"
-#: elf64-ppc.c:2694 libbfd.c:980
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr "%B: dikompile untuk sebuah sistem little endian dan target adalah big endian"
+#: elf64-ppc.c:6518
+msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: salin relokasi terhadap `%s' membutuhkan lazy plt linking; hindari konfigurasi LD_BIND_NOW=1 atau upgrade gcc\n"
-#: elf64-ppc.c:6338
-#, c-format
-msgid "copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc"
-msgstr "salin relokasi terhadap `%s' membutuhkan lazy plt linking; hindari konfigurasi LD_BIND_NOW=1 atau upgrade gcc"
+#: elf64-ppc.c:6788
+msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
+msgstr "%B: tidak terdefinisi simbol dalam relokasi R_PPC64_TOCSAVE"
-#: elf64-ppc.c:6767
-msgid "dynreloc miscount for %B, section %A"
-msgstr "dynareloc miscount untuk %B, bagian %A"
+#: elf64-ppc.c:6992
+msgid "%P: dynreloc miscount for %B, section %A\n"
+msgstr "%P: dynareloc miscount untuk %B, bagian %A\n"
-#: elf64-ppc.c:6851
+#: elf64-ppc.c:7076
msgid "%B: .opd is not a regular array of opd entries"
msgstr "%B: .opd adalah bukan array regular dari masukan opd"
-#: elf64-ppc.c:6860
+#: elf64-ppc.c:7085
msgid "%B: unexpected reloc type %u in .opd section"
msgstr "%B: tipe relokasi %u tidak diduga dalam bagian .opd"
-#: elf64-ppc.c:6881
+#: elf64-ppc.c:7106
msgid "%B: undefined sym `%s' in .opd section"
msgstr "%B: tidak terdefinisi simbol `%s' dalam bagian .opd"
-#: elf64-ppc.c:7640 elf64-ppc.c:8017
+#: elf64-ppc.c:7664
+msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
+msgstr "%H __tls_get_addr lost arg, TLS optimization disabled\n"
+
+#: elf64-ppc.c:8003 elf64-ppc.c:8564
#, c-format
-msgid "%s defined in removed toc entry"
+msgid "%s defined on removed toc entry"
msgstr "%s terdefinisi dalam masukan toc terhapus"
-#: elf64-ppc.c:8910
-#, c-format
-msgid "long branch stub `%s' offset overflow"
-msgstr "stub brach panjang `%s' ofset overflow"
+#: elf64-ppc.c:8521
+msgid "%P: %H: %s relocation references optimized away TOC entry\n"
+msgstr "%P: %H: %s relocation references optimized away TOC entry\n"
-#: elf64-ppc.c:8969
-#, c-format
-msgid "can't find branch stub `%s'"
-msgstr "tidak dapat menemukan branch stub `%s'"
+#: elf64-ppc.c:9598
+msgid "%P: cannot find opd entry toc for %s\n"
+msgstr "%P: tidak dapat menemukan masukan opdd toc untuk %s\n"
-#: elf64-ppc.c:9031 elf64-ppc.c:9169
-#, c-format
-msgid "linkage table error against `%s'"
-msgstr "linkage tabel error terhadap `%s'"
+#: elf64-ppc.c:9680
+msgid "%P: long branch stub `%s' offset overflow\n"
+msgstr "%P: stub brach panjang `%s' ofset overflow\n"
-#: elf64-ppc.c:9326
-#, c-format
-msgid "can't build branch stub `%s'"
-msgstr "tidak dapat membuat branch stub `%s'"
+#: elf64-ppc.c:9739
+msgid "%P: can't find branch stub `%s'\n"
+msgstr "%P: tidak dapat menemukan branch stub `%s'\n"
+
+#: elf64-ppc.c:9801 elf64-ppc.c:9943
+msgid "%P: linkage table error against `%s'\n"
+msgstr "%P: linkage tabel error terhadap `%s'\n"
-#: elf64-ppc.c:9799
+#: elf64-ppc.c:10126
+msgid "%P: can't build branch stub `%s'\n"
+msgstr "%P: tidak dapat membuat branch stub `%s'\n"
+
+#: elf64-ppc.c:10941
msgid "%B section %A exceeds stub group size"
msgstr "%B bagian %A melebihi ukuran grup stub"
-#: elf64-ppc.c:10453
+#: elf64-ppc.c:11666 elf64-ppc.c:11699
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: %s offset too large for .eh_frame sdata4 encoding"
+
+#: elf64-ppc.c:11744
+msgid "%P: stubs don't match calculated size\n"
+msgstr "%P: stub tidak cocok dengan ukuran yang dihitung\n"
+
+#: elf64-ppc.c:11756
#, c-format
msgid ""
"linker stubs in %u group%s\n"
@@ -2517,423 +2822,468 @@ msgstr ""
" long toc adj %lu\n"
" plt call %lu"
-#: elf64-ppc.c:11252
-msgid "%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc"
-msgstr "%B(%A+0x%lx): otomatis multiple TOC tidak didukung menggunakan berkas crt anda; rekompile dengan -mminimal-toc atau upgrade gcc"
+#: elf64-ppc.c:12042
+msgid "%P: %H: %s used with TLS symbol %s\n"
+msgstr "%P: %H: %s digunakan dengan simbol TLS %s\n"
+
+#: elf64-ppc.c:12043
+msgid "%P: %H: %s used with non-TLS symbol %s\n"
+msgstr "%P: %H: %s digunakan dengan simbol bukan-TLS %s\n"
+
+#: elf64-ppc.c:12556
+msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+msgstr "%P: %H: otomatis multiple TOC tidak didukung menggunakan berkas crt anda; rekompile dengan -mminimal-toc atau upgrade gcc\n"
-#: elf64-ppc.c:11260
-msgid "%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern"
-msgstr "%B(%A+0x%lx): sibling call optimization ke `%s' tidak membolehkan otomatis multiple TOC; rekompile dengan -mminimal-toc atau -fno-optimize-sibling-calls, atau buat `%s' extern"
+#: elf64-ppc.c:12562
+msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+msgstr "%P: %H: sibling call optimization ke `%s' tidak membolehkan otomatis multiple TOC; rekompile dengan -mminimal-toc atau -fno-optimize-sibling-calls, atau buat `%s' extern\n"
-#: elf64-ppc.c:11961
-msgid "%B: relocation %s is not supported for symbol %s."
-msgstr "%B: relokasi %s tidak didukung untuk simbol %s."
+#: elf64-ppc.c:13286
+msgid "%P: %B: relocation %s is not supported for symbol %s\n"
+msgstr "%P: %B: relokasi %s tidak didukung untuk simbol %s\n"
-#: elf64-ppc.c:12044
-msgid "%B: error: relocation %s not a multiple of %d"
-msgstr "%B: error: relokasi %s bukan multiple dari %d"
+#: elf64-ppc.c:13446
+msgid "%P: %H: error: %s not a multiple of %u\n"
+msgstr "%P: %H: error: %s bukan multiple dari %u\n"
-#: elf64-sh64.c:1701
+#: elf64-sh64.c:1686
#, c-format
msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
msgstr "%s: error: tipe relokasi %d unaligned di %08x relokasi %08x\n"
-#: elf64-sparc.c:439
+#: elf64-sparc.c:446
msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
msgstr "%B: Hanya register %%g[2367] dapat dideklarasikan menggunakan STT_REGISTER"
-#: elf64-sparc.c:459
+#: elf64-sparc.c:466
msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
msgstr "Register %%g%d digunakan tidak kompatibel: %s dalam %B, sebelumnya %s dalam %B"
-#: elf64-sparc.c:482
+#: elf64-sparc.c:489
msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
msgstr "Simbol `%s' memiliki tipe berbeda: REGISTER dalam %B, sebelumnya %s dalam %B"
-#: elf64-sparc.c:527
+#: elf64-sparc.c:534
msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
msgstr "Simbol `%s' memiliki tipe berbeda: %s dalam %B, sebelumnya REGISTER dalam %B"
-#: elf64-sparc.c:679
+#: elf64-sparc.c:687
msgid "%B: linking UltraSPARC specific with HAL specific code"
msgstr "%B: menghubungkan UltraSPARC spesifik dengan HAL spesifik kode"
-#: elf64-x86-64.c:1337
+#: elf64-x86-64.c:1427
+msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
+msgstr "%B: relokasi %s terhadap simbol `%s' tidak didukung dalam mode x32"
+
+#: elf64-x86-64.c:1656
msgid "%B: '%s' accessed both as normal and thread local symbol"
msgstr "%B: '%s' keduanya diakses secara normal dan thread simbol lokal"
-#: elf64-x86-64.c:2701
+#: elf64-x86-64.c:3150
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
msgstr "%B: relokasi %s terhadap STT_GNU_IFUNC simbol `%s' memiliki addend bukan-nol: %d"
-#: elf64-x86-64.c:2980
+#: elf64-x86-64.c:3411
msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
msgstr "%B: relokasi R_X86_64_GOTOFF64 terhadap fungsi terproteksi `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi"
-#: elf64-x86-64.c:3091
+#: elf64-x86-64.c:3523
msgid "; recompile with -fPIC"
msgstr "; rekompile dengan -fPIC"
-#: elf64-x86-64.c:3096
+#: elf64-x86-64.c:3528
msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
msgstr "%B: relokasi %s terhadap %s `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi%s"
-#: elf64-x86-64.c:3098
+#: elf64-x86-64.c:3530
msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
msgstr "%B: relokasi %s terhadap tidak terdefinisi %s `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi %s"
-#: elfcode.h:795
+#: elfcode.h:767
#, c-format
msgid "warning: %s has a corrupt string table index - ignoring"
msgstr "peringatan: %s memiliki sebuah string tabel korup index - diabaikan"
-#: elfcode.h:1201
+#: elfcode.h:1177
#, c-format
msgid "%s: version count (%ld) does not match symbol count (%ld)"
msgstr "%s: versi terhitung (%ld) tidak cocok dengan simbol terhitung (%ld)"
-#: elfcode.h:1441
+#: elfcode.h:1431
#, c-format
msgid "%s(%s): relocation %d has invalid symbol index %ld"
msgstr "%s(%s): relokasi %d memiliki indek simbol tidak valid %ld"
-#: elfcore.h:251
+#: elfcore.h:312
msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
msgstr "Peringatan: %B terpotong: diperkirakan ukuran berkas core >= %lu, ditemukan: %lu."
-#: elflink.c:1113
+#: elflink.c:1117
msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
msgstr "%s: TLS definisi dalam %B bagian %A tidak cocok bukan-TLS definisi dalam %B bagian %A"
-#: elflink.c:1117
+#: elflink.c:1121
msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
msgstr "%s: TLS referensi dalam %B tidak cocok bukan-TLS referensi dalam %B"
-#: elflink.c:1121
+#: elflink.c:1125
msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
msgstr "%s: TLS definisi dalam %B bagian %A tidak cocok bukan-TLS referensi dalam %B"
-#: elflink.c:1125
+#: elflink.c:1129
msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
msgstr "%s: TLS referensi dalam %B tidak cocok bukan-TLS definisi dalam %B bagian %A"
-#: elflink.c:1764
+#: elflink.c:1762
msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
msgstr "%B: tidak diduga redefinisi dari indirek versioned simbol `%s'"
-#: elflink.c:2077
+#: elflink.c:2063
msgid "%B: version node not found for symbol %s"
msgstr "%B: titik versi tidak ditemukan untuk simbol %s"
-#: elflink.c:2167
+#: elflink.c:2154
msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
msgstr "%B: bad relokasi simbol indeks (0x%lx >= 0x%lx) untuk ofset 0x%lx dalam daerah `%A'"
-#: elflink.c:2178
+#: elflink.c:2165
msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
msgstr "%B: bukan-nol simbol indeks (0x%lx) untuk offset 0x%lx dalam bagian `%A' ketika berkas objek tidak memiliki tabel simbol"
-#: elflink.c:2375
+#: elflink.c:2355
msgid "%B: relocation size mismatch in %B section %A"
msgstr "%B: ukuran relokasi tidak cocok dalam %B bagian %A"
-#: elflink.c:2678
+#: elflink.c:2639
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
msgstr "peringatan: tipe dan ukuran dari simbol dinamis `%s' tidak terdefinisi"
-#: elflink.c:3424
+#: elflink.c:3391
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
msgstr "%P: kode mesin alternatif untuk ELF ditemukan (%d) dalam %B, diduga %d\n"
-#: elflink.c:4032
+#: elflink.c:4037
msgid "%B: %s: invalid version %u (max %d)"
msgstr "%B: %s: versi %u tidak valid (max %d)"
-#: elflink.c:4068
+#: elflink.c:4073
msgid "%B: %s: invalid needed version %d"
msgstr "%B: %s: tidak valid dibutuhkan versi %d"
-#: elflink.c:4253
+#: elflink.c:4269
msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
msgstr "Peringatan: alignmen %u dari simbol umum `%s' dalam %B adalah lebih besar daripada alignment (%u) dari bagian ini %A"
-#: elflink.c:4259
+#: elflink.c:4275
msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
msgstr "Peringatan: alignment %u dari simbol `%s' dalam %B adalah lebih kecil daripada %u dalam %B"
-#: elflink.c:4274
+#: elflink.c:4290
msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
msgstr "Peringatan: ukuran dari simbol `%s' berubah dari %lu dalam %B ke %lu dalam %B"
-#: elflink.c:4438
-#, c-format
-msgid "%s: invalid DSO for symbol `%s' definition"
-msgstr "%s: tidak valid DSO untuk simbol `%s' definisi"
+#: elflink.c:4463
+msgid "%B: undefined reference to symbol '%s'"
+msgstr "%B: tidak terdefinisi referensi ke simbol '%s'"
-#: elflink.c:5688
+#: elflink.c:4466
+msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+msgstr "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+
+#: elflink.c:5781
#, c-format
msgid "%s: undefined version: %s"
msgstr "%s: versi tidak terdefinisi: %s"
-#: elflink.c:5756
+#: elflink.c:5849
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr "%B: .preinit_array bagian tidak diperbolehkan dalam DSO"
-#: elflink.c:7484
+#: elflink.c:7604
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr "undefined %s referensi dalam simbol kompleks: %s"
-#: elflink.c:7638
+#: elflink.c:7758
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr "operator tidak diketahui '%c' dalam simbol kompleks"
-#: elflink.c:7976 elflink.c:7993 elflink.c:8030 elflink.c:8047
+#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
msgid "%B: Unable to sort relocs - they are in more than one size"
msgstr "%B: Tidak dapat mengurutkan relokasi - mereka berada dalam lebih dari satu ukuran"
-#: elflink.c:8007 elflink.c:8061
+#: elflink.c:8128 elflink.c:8182
msgid "%B: Unable to sort relocs - they are of an unknown size"
msgstr "%B: Tidak dapat mengurutkan relokasi - mereka dari ukuran yang tidak diketahui"
-#: elflink.c:8112
+#: elflink.c:8233
msgid "Not enough memory to sort relocations"
msgstr "Tidak cukup memori untuk mengurutkan relokasi"
-#: elflink.c:8304
+#: elflink.c:8426
msgid "%B: Too many sections: %d (>= %d)"
msgstr "%B: Terlalu banyak bagian: %d (>= %d)"
-#: elflink.c:8540
-msgid "%B: %s symbol `%s' in %B is referenced by DSO"
-msgstr "%B: %s simbol `%s' dalam %B adalah direferensikan oleh DSO"
+#: elflink.c:8675
+msgid "%B: internal symbol `%s' in %B is referenced by DSO"
+msgstr "%B: internal simbol `%s' dalam %B adalah direferensikan oleh DSO"
+
+#: elflink.c:8677
+msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
+msgstr "%B: tersembunyi simbol `%s' dalam %B adalah direferensikan oleh DSO"
-#: elflink.c:8625
+#: elflink.c:8679
+msgid "%B: local symbol `%s' in %B is referenced by DSO"
+msgstr "%B: lokal simbol `%s' dalam %B adalah direferensikan oleh DSO"
+
+#: elflink.c:8776
msgid "%B: could not find output section %A for input section %A"
msgstr "%B: tidak dapat menemukan bagian keluaran %A untuk daerah masukan %A"
-#: elflink.c:8745
-msgid "%B: %s symbol `%s' isn't defined"
-msgstr "%B: %s simbol `%s' tidak didefinisikan"
+#: elflink.c:8899
+msgid "%B: protected symbol `%s' isn't defined"
+msgstr "%B: terproteksi simbol `%s' tidak didefinisikan"
+
+#: elflink.c:8901
+msgid "%B: internal symbol `%s' isn't defined"
+msgstr "%B: internal simbol `%s' tidak didefinisikan"
+
+#: elflink.c:8903
+msgid "%B: hidden symbol `%s' isn't defined"
+msgstr "%B: tersembunyi simbol `%s' tidak didefinisikan"
+
+#: elflink.c:9432
+msgid "error: %B: size of section %A is not multiple of address size"
+msgstr "error: %B: ukuran dari bagian %A bukan multiple dari ukuran alamat"
-#: elflink.c:9301
+#: elflink.c:9479
msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
msgstr "error: %B berisi sebuah relokasi (0x%s) untuk daerah %A yang mereferensikan sebuah bukan-exist simbol global"
-#: elflink.c:9366
-msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
-msgstr "%X`%s' direferensikan dalam daerah `%A' dari %B: didefinisikan dalam daerah diabaikan `%A' dari %B\n"
-
-#: elflink.c:9991
+#: elflink.c:10214
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
msgstr "%A memiliki keduanya terurut [`%A' dalam %B] dan daerah tidak terurut [`%A' dalam %B]"
-#: elflink.c:9996
+#: elflink.c:10219
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr "%A memiliki daerah terurut dan tidak terurut"
-#: elflink.c:10872 elflink.c:10916
+#: elflink.c:10784
+msgid "%B: file class %s incompatible with %s"
+msgstr "%B: berkas kelas %s tidak kompatibel dengan %s"
+
+#: elflink.c:11093 elflink.c:11137
msgid "%B: could not find output section %s"
msgstr "%B: tidak dapat menemukan daerah keluaran %s"
-#: elflink.c:10877
+#: elflink.c:11098
#, c-format
msgid "warning: %s section has zero size"
msgstr "peringatan: %s daerah memiliki ukuran nol"
-#: elflink.c:10982
+#: elflink.c:11143
+#, c-format
+msgid "warning: section '%s' is being made into a note"
+msgstr "peringatan: bagian '%s' dibuat dalam sebuah catatan"
+
+#: elflink.c:11212
+msgid "%P%X: read-only segment has dynamic relocations.\n"
+msgstr "%P%X: read-only segment has dynamic relocations.\n"
+
+#: elflink.c:11215
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr "%P: peringatan: membuat sebuah DT_TEXTREL dalam sebuah objek terbagi.\n"
-#: elflink.c:11165
+#: elflink.c:11402
msgid "%P%X: can not read symbols: %E\n"
msgstr "%P%X: tidak dapat membaca simbol: %E\n"
-#: elflink.c:11483
+#: elflink.c:11792
msgid "Removing unused section '%s' in file '%B'"
msgstr "Menghapus daerah tidak digunakan '%s' dalam berkas '%B'"
-#: elflink.c:11695
+#: elflink.c:11998
msgid "Warning: gc-sections option ignored"
msgstr "Peringatan: gc-sections pilihan diabaikan"
-#: elflink.c:12242
-msgid "%B: ignoring duplicate section `%A'"
-msgstr "%B: peringatan daerah duplikasi `%A'"
-
-#: elflink.c:12249 elflink.c:12256
-msgid "%B: duplicate section `%A' has different size"
-msgstr "%B: daerah duplikasi `%A' memiliki ukuran berbeda"
-
-#: elflink.c:12264 elflink.c:12269
-msgid "%B: warning: could not read contents of section `%A'"
-msgstr "%B: peringatan: tidak dapat membaca isi dari daerah `%A'"
-
-#: elflink.c:12273
-msgid "%B: warning: duplicate section `%A' has different contents"
-msgstr "%B: peringatan: duplikasi daerah `%A' memiliki isi berbeda"
-
-#: elflink.c:12374 linker.c:3098
-msgid "%F%P: already_linked_table: %E\n"
-msgstr "%F%P: already_linked_table: %E\n"
+#: elflink.c:12277
+#, c-format
+msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
+msgstr "Unrecognized INPUT_SECTION_FLAG %s\n"
-#: elfxx-mips.c:1222
+#: elfxx-mips.c:1234
msgid "static procedure (no name)"
msgstr "prosedur statis (tidak bernama)"
-#: elfxx-mips.c:5588
-msgid "%B: %A+0x%lx: jump to stub routine which is not jal"
-msgstr "%B: %A+0x%lx: lompat ke routine stub dimana bukan jal"
+#: elfxx-mips.c:5259
+msgid "MIPS16 and microMIPS functions cannot call each other"
+msgstr "MIPS16 and microMIPS functions cannot call each other"
-#: elfxx-mips.c:6235 elfxx-mips.c:6458
+#: elfxx-mips.c:5856
+msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
+msgstr "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
+
+#: elfxx-mips.c:6519 elfxx-mips.c:6742
msgid "%B: Warning: bad `%s' option size %u smaller than its header"
msgstr "%B: Peringatan: pilihan `%s' buruk ukuran %u lebih kecil dari headernya"
-#: elfxx-mips.c:7205 elfxx-mips.c:7330
+#: elfxx-mips.c:7495 elfxx-mips.c:7620
msgid "%B: Warning: cannot determine the target function for stub section `%s'"
msgstr "%B: Peringatan: tidak dapat menentukan fungsi terget untuk daerah stub `%s'"
-#: elfxx-mips.c:7459
+#: elfxx-mips.c:7749
msgid "%B: Malformed reloc detected for section %s"
msgstr "%B: Malformed relokasi terdeteksi untuk daerah %s"
-#: elfxx-mips.c:7499
+#: elfxx-mips.c:7801
msgid "%B: GOT reloc at 0x%lx not expected in executables"
msgstr "%B: GOT relokasi di 0x%lx tidak diduga dalam aplikasi"
-#: elfxx-mips.c:7602
+#: elfxx-mips.c:7930
msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
msgstr "%B: CALL16 relokasi di 0x%lx tidak terhadap simbol global"
-#: elfxx-mips.c:8280
+#: elfxx-mips.c:8645
#, c-format
msgid "non-dynamic relocations refer to dynamic symbol %s"
msgstr "bukan-dinamis relokasi refer ke simbol dinamis %s"
-#: elfxx-mips.c:8985
+#: elfxx-mips.c:9347
msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
msgstr "%B: Tidak dapat menemukan cocok LO16 relokasi terhadap `%s' untuk %s di 0x%lx di daerah `%A'"
-#: elfxx-mips.c:9124
+#: elfxx-mips.c:9486
msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
msgstr "daerah data-kecil melebihi 64KB; dibawah data-kecil batas ukuran (lihat pilihan -G)"
-#: elfxx-mips.c:11940
+#: elfxx-mips.c:9505
+msgid "JALX to a non-word-aligned address"
+msgstr "JALX to a non-word-aligned address"
+
+#: elfxx-mips.c:13266
#, c-format
msgid "%s: illegal section name `%s'"
msgstr "%s: nama daerah `%s' ilegal"
-#: elfxx-mips.c:12318 elfxx-mips.c:12344
+#: elfxx-mips.c:13645 elfxx-mips.c:13671
msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
msgstr "Peringatan: %B menggunakan 0msingle-float, %B menggunakan -mdouble-float"
-#: elfxx-mips.c:12330 elfxx-mips.c:12386
+#: elfxx-mips.c:13657 elfxx-mips.c:13713
msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
msgstr "Peringatan: %B menggunakan -msingle-float, %B menggunakan -mips32r2 -mfp64"
-#: elfxx-mips.c:12356 elfxx-mips.c:12392
+#: elfxx-mips.c:13683 elfxx-mips.c:13719
msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
msgstr "Peringatan: %B menggunakan -mdouble-float, %B menggunakan -mips32r2 -mfp64"
-#: elfxx-mips.c:12434
+#: elfxx-mips.c:13761
msgid "%B: endianness incompatible with that of the selected emulation"
msgstr "%B: endianness tidak kompatibel dengan yang dipilih di emulasi"
-#: elfxx-mips.c:12445
+#: elfxx-mips.c:13772
msgid "%B: ABI is incompatible with that of the selected emulation"
msgstr "%B: ABI tidak kompatibel dengan yang dipilih di emulasi"
-#: elfxx-mips.c:12526
+#: elfxx-mips.c:13856
msgid "%B: warning: linking abicalls files with non-abicalls files"
msgstr "%B: peringatan: menghubungkan berkas abicalls dengan berkas bukan-abicalls"
-#: elfxx-mips.c:12543
+#: elfxx-mips.c:13873
msgid "%B: linking 32-bit code with 64-bit code"
msgstr "%B: menghubungkan 32-bit kode dengan 64-bit kode"
-#: elfxx-mips.c:12571
+#: elfxx-mips.c:13901
msgid "%B: linking %s module with previous %s modules"
msgstr "%B: menghubungkan %s modul dengan modul %s sebelumnya"
-#: elfxx-mips.c:12594
+#: elfxx-mips.c:13924
msgid "%B: ABI mismatch: linking %s module with previous %s modules"
msgstr "%B: ABI tidak cocok: menghubungkan modul %s dengan modul %s sebelumnya"
-#: elfxx-mips.c:12758
+#: elfxx-mips.c:13948
+msgid "%B: ASE mismatch: linking %s module with previous %s modules"
+msgstr "%B: ASE tidak cocok: menghubungkan modul %s dengan modul %s sebelumnya"
+
+#: elfxx-mips.c:14106
#, c-format
msgid " [abi=O32]"
msgstr " [abi=032]"
-#: elfxx-mips.c:12760
+#: elfxx-mips.c:14108
#, c-format
msgid " [abi=O64]"
msgstr " [abi=064]"
-#: elfxx-mips.c:12762
+#: elfxx-mips.c:14110
#, c-format
msgid " [abi=EABI32]"
msgstr " [abi=EABI32]"
-#: elfxx-mips.c:12764
+#: elfxx-mips.c:14112
#, c-format
msgid " [abi=EABI64]"
msgstr " [abi=EABI64]"
-#: elfxx-mips.c:12766
+#: elfxx-mips.c:14114
#, c-format
msgid " [abi unknown]"
msgstr " [abi tidak diketahui]"
-#: elfxx-mips.c:12768
+#: elfxx-mips.c:14116
#, c-format
msgid " [abi=N32]"
msgstr " [abi=N32]"
-#: elfxx-mips.c:12770
+#: elfxx-mips.c:14118
#, c-format
msgid " [abi=64]"
msgstr " [abi=64]"
-#: elfxx-mips.c:12772
+#: elfxx-mips.c:14120
#, c-format
msgid " [no abi set]"
msgstr " [bukan abi set]"
-#: elfxx-mips.c:12793
+#: elfxx-mips.c:14141
#, c-format
msgid " [unknown ISA]"
msgstr " [ISA tidak diketahui]"
-#: elfxx-mips.c:12804
+#: elfxx-mips.c:14155
#, c-format
msgid " [not 32bitmode]"
msgstr " [bukan 32bitmode]"
-#: elfxx-sparc.c:440
+#: elfxx-sparc.c:596
#, c-format
msgid "invalid relocation type %d"
msgstr "tipe relokasi %d tidak valid"
-#: i386linux.c:455 m68klinux.c:459 sparclinux.c:453
+#: elfxx-tilegx.c:3952
+msgid "%B: Cannot link together %s and %s objects."
+msgstr "%B: Cannot link together %s and %s objects."
+
+#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
#, c-format
msgid "Output file requires shared library `%s'\n"
msgstr "Berkas keluaran membutuhkan library terbagi `%s'\n"
-#: i386linux.c:463 m68klinux.c:467 sparclinux.c:461
+#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
#, c-format
msgid "Output file requires shared library `%s.so.%s'\n"
msgstr "Berkas keluaran membutuhkan library terbagi `%s.so.%s'\n"
-#: i386linux.c:652 i386linux.c:702 m68klinux.c:659 m68klinux.c:707
-#: sparclinux.c:651 sparclinux.c:701
+#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
+#: sparclinux.c:648 sparclinux.c:698
#, c-format
msgid "Symbol %s not defined for fixups\n"
msgstr "Simbol %s tidak terdefinisi untuk fixups\n"
-#: i386linux.c:726 m68klinux.c:731 sparclinux.c:725
+#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
msgid "Warning: fixup count mismatch\n"
msgstr "Peringatan: jumlah fixup tidak cocok\n"
@@ -2947,15 +3297,15 @@ msgstr "%s: string terlalu panjang (%d chars, max 65535)"
msgid "%s: unrecognized symbol `%s' flags 0x%x"
msgstr "%s: simbol tidak dikenal `%s' flags 0x%x"
-#: ieee.c:788
+#: ieee.c:792
msgid "%B: unimplemented ATI record %u for symbol %u"
msgstr "%B: tidak terimplementasi ATI record %u untuk simbol %u"
-#: ieee.c:812
+#: ieee.c:816
msgid "%B: unexpected ATN type %d in external part"
msgstr "%B: tipe ATN %d tidak diduga dalam bagian luar"
-#: ieee.c:834
+#: ieee.c:838
msgid "%B: unexpected type after ATN"
msgstr "%B: tidak diduga tipe sesudah ATN"
@@ -2995,99 +3345,173 @@ msgstr "%B: internal error dalam ihex_read_section"
msgid "%B: bad section length in ihex_read_section"
msgstr "%B: buruk panjang bagian dalam ihex_read_section"
-#: ihex.c:825
+#: ihex.c:826
#, c-format
msgid "%s: address 0x%s out of range for Intel Hex file"
msgstr "%s: alamat 0x%s diluar jangkauan untuk berkas Intel Hex"
-#: libbfd.c:1008
+#: libbfd.c:863
+msgid "%B: unable to get decompressed section %A"
+msgstr "%B: tidak dapat memperoleh mengekstrak bagian %A"
+
+#: libbfd.c:1012
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr "%B: dikompile untuk sebuah sistem big endian dan target adalah little endian"
+
+#: libbfd.c:1014
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr "%B: dikompile untuk sebuah sistem little endian dan target adalah big endian"
+
+#: libbfd.c:1043
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr "Deprecated %s dipanggil di %s baris %d dalam %s\n"
-#: libbfd.c:1011
+#: libbfd.c:1046
#, c-format
msgid "Deprecated %s called\n"
msgstr "Deprecated %s dipanggil\n"
-#: linker.c:1874
+#: linker.c:1872
msgid "%B: indirect symbol `%s' to `%s' is a loop"
msgstr "%B: indirect simbol `%s' ke `%s' adalah sebuah loop"
-#: linker.c:2740
+#: linker.c:2736
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
msgstr "Mencoba untuk merelokasi link dengan masukan %s dan keluaran %s"
-#: linker.c:3065
-msgid "%B: warning: ignoring duplicate section `%A'\n"
-msgstr "%B: peringatan: mengabaikan bagiann terduplikasi `%A'\n"
+#: linker.c:3021
+msgid "%B: ignoring duplicate section `%A'\n"
+msgstr "%B: mengabaikan daerah duplikasi `%A'\n"
+
+#: linker.c:3030 linker.c:3039
+msgid "%B: duplicate section `%A' has different size\n"
+msgstr "%B: daerah duplikasi `%A' memiliki ukuran berbeda\n"
+
+#: linker.c:3047 linker.c:3052
+msgid "%B: could not read contents of section `%A'\n"
+msgstr "%B: tidak dapat membaca isi dari daerah `%A'\n"
+
+#: linker.c:3056
+msgid "%B: duplicate section `%A' has different contents\n"
+msgstr "%B: duplikasi daerah `%A' memiliki isi berbeda\n"
+
+#: mach-o.c:407
+msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
+msgstr "bfd_mach_o_canonicalize_symtab: unable to load symbols"
+
+#: mach-o.c:1301
+#, c-format
+msgid "unable to write unknown load command 0x%lx"
+msgstr "unable to write unknown load command 0x%lx"
+
+#: mach-o.c:1789
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
+msgstr "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
+
+#: mach-o.c:1807
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
+msgstr "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
+
+#: mach-o.c:1892
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
+
+#: mach-o.c:1900
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+
+#: mach-o.c:1906
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+msgstr "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
+
+#: mach-o.c:1979
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+
+#: mach-o.c:2014
+#, c-format
+msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+msgstr "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-#: linker.c:3079
-msgid "%B: warning: duplicate section `%A' has different size\n"
-msgstr "%B: peringatan: bagian terduplikasi `%A' memiliki ukuran berbeda\n"
+#: mach-o.c:2734
+#, c-format
+msgid "unable to read unknown load command 0x%lx"
+msgstr "unable to read unknown load command 0x%lx"
+
+#: mach-o.c:2915
+#, c-format
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
-#: mach-o.c:3195
+#: mach-o.c:3011
#, c-format
+msgid "unknown header byte-order value 0x%lx"
+msgstr "unknown header byte-order value 0x%lx"
+
+#: mach-o.c:3577
msgid "Mach-O header:\n"
msgstr "Kepala Mach-O:\n"
-#: mach-o.c:3196
+#: mach-o.c:3578
#, c-format
msgid " magic : %08lx\n"
msgstr " majik : %08lx\n"
-#: mach-o.c:3197
+#: mach-o.c:3579
#, c-format
msgid " cputype : %08lx (%s)\n"
msgstr " tipe-cpu : %08lx (%s)\n"
-#: mach-o.c:3199
+#: mach-o.c:3581
#, c-format
msgid " cpusubtype: %08lx\n"
msgstr " subtipecpu: %08lx\n"
-#: mach-o.c:3200
+#: mach-o.c:3582
#, c-format
msgid " filetype : %08lx (%s)\n"
msgstr " tipe-berkas : %08lx (%s)\n"
-#: mach-o.c:3203
+#: mach-o.c:3585
#, c-format
-msgid " ncmds : %08lx\n"
-msgstr " ncmds : %08lx\n"
+msgid " ncmds : %08lx (%lu)\n"
+msgstr " ncmds : %08lx (%lu)\n"
-#: mach-o.c:3204
+#: mach-o.c:3586
#, c-format
msgid " sizeofcmds: %08lx\n"
msgstr " besardariperintah: %08lx\n"
-#: mach-o.c:3205
+#: mach-o.c:3587
#, c-format
msgid " flags : %08lx ("
msgstr " tanda : %08lx ("
-#: mach-o.c:3207
-#, c-format
+#: mach-o.c:3589 vms-alpha.c:7674
msgid ")\n"
msgstr ")\n"
-#: mach-o.c:3208
+#: mach-o.c:3590
#, c-format
msgid " reserved : %08x\n"
msgstr " direserve : %08x\n"
-#: mach-o.c:3218
-#, c-format
+#: mach-o.c:3600
msgid "Segments and Sections:\n"
msgstr "Bagian dan Daerah:\n"
-#: mach-o.c:3219
-#, c-format
+#: mach-o.c:3601
msgid " #: Segment name Section name Address\n"
msgstr " #: Nama bagian Nama daerah Alamat\n"
-#: merge.c:829
+#: merge.c:832
#, c-format
msgid "%s: access beyond end of merged section (%ld)"
msgstr "%s: akses diluar dari daerah merged (%ld)"
@@ -3112,122 +3536,122 @@ msgstr "%s: berkas mmo tidak valid: nilai inisialisasi untuk $255 bukan `Main'\n
msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
msgstr "%s: tidak didukung dengan urutan karakter lebar 0x%02X 0x%02X sesudah nama simbol dimulai dengan `%s'\n"
-#: mmo.c:1566
+#: mmo.c:1565
#, c-format
msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
msgstr "%s: berkas mmo tidak valid: lopcode tidak didukung `%d'\n"
-#: mmo.c:1576
+#: mmo.c:1575
#, c-format
msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
msgstr "%s: berka mmo tidak valid: diduga YZ = 1 diperoleh YZ = %d untuk lop_quote\n"
-#: mmo.c:1612
+#: mmo.c:1611
#, c-format
msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
msgstr "%s: berkas mmo tidak valid: diduga z = 1 atau z = 2, diperoleh z = %d untuk lop_loc\n"
-#: mmo.c:1658
+#: mmo.c:1657
#, c-format
msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
msgstr "%s: berkas mmo tidak valid: diduga z = 1 atau z = 2, diperoleh z = %d untuk lop_fixo\n"
-#: mmo.c:1697
+#: mmo.c:1696
#, c-format
msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
msgstr "%s: berkas mmo tidak valid: diduga y = 0, diperoleh y = %d untuk lop_fixrx\n"
-#: mmo.c:1706
+#: mmo.c:1705
#, c-format
msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
msgstr "%s: berkas mmo tidak valid: diduga z = 16 atau z = 24, diperoleh z = %d untuk lop_fixrx\n"
-#: mmo.c:1729
+#: mmo.c:1728
#, c-format
msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
msgstr "%s: berkas mmo tidak valid: awalan byte dari kata operand harus 0 atau 1, diperoleh %d untuk lop_fixrx\n"
-#: mmo.c:1752
+#: mmo.c:1751
#, c-format
msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
msgstr "%s: tidak dapat mengalokasikan nama berkas untuk nomor berkas %d, %d bytes\n"
-#: mmo.c:1772
+#: mmo.c:1771
#, c-format
msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
msgstr "%s: berkas mmo tidak valid: nomor berkas %d `%s', telah dimasukan sebagai `%s'\n"
-#: mmo.c:1785
+#: mmo.c:1784
#, c-format
msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
msgstr "%s: berkas mmo tidak valid: nama berkas untuk nomor %d telah dispesifikasikan sebelum digunakan\n"
-#: mmo.c:1892
+#: mmo.c:1890
#, c-format
msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
msgstr "%s: berkas mmo tidak valid: daerah y dan z dari lop_stab bukan-nol, y: %d, z: %d\n"
-#: mmo.c:1928
+#: mmo.c:1926
#, c-format
msgid "%s: invalid mmo file: lop_end not last item in file\n"
msgstr "%s: berkas mmo tidak valid: lop_end bukan item terakhir dalam berkas\n"
-#: mmo.c:1941
+#: mmo.c:1939
#, c-format
msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
msgstr "%s: berkas mmo tidak valid: YZ dari lop_end (%ld) tidak sama dengan jumlah dari tetras yang mengawali lop_stab (%ld)\n"
-#: mmo.c:2651
+#: mmo.c:2649
#, c-format
msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
msgstr "%s: tabel simbol tidak valid: duplikasi simbol `%s'\n"
-#: mmo.c:2894
+#: mmo.c:2889
#, c-format
msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
msgstr "%s: Definisi simbol buruk: `Main' di set ke %s daripada ke awal alamat %s\n"
-#: mmo.c:2986
+#: mmo.c:2981
#, c-format
msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
msgstr "%s: Peringatan: tabel simbol terlalu besar untuk mmo, lebih besar daripada 65535 32-bit words: %d. Hanya `Main' yang akan dikeluarkan.\n"
-#: mmo.c:3031
+#: mmo.c:3026
#, c-format
msgid "%s: internal error, symbol table changed size from %d to %d words\n"
msgstr "%s: internal error, tabel simbol berubah ukuran dari %d ke %d kata\n"
-#: mmo.c:3083
+#: mmo.c:3078
#, c-format
msgid "%s: internal error, internal register section %s had contents\n"
msgstr "%s: internal error, daerah internal register %s memiliki isi\n"
-#: mmo.c:3134
+#: mmo.c:3129
#, c-format
msgid "%s: no initialized registers; section length 0\n"
msgstr "%s: tidak ada register yang terinisialisasi; panjang daerah 0\n"
-#: mmo.c:3140
+#: mmo.c:3135
#, c-format
msgid "%s: too many initialized registers; section length %ld\n"
msgstr "%s: terlalu banyak register yang terinisialisasi; panjang daerah %ld\n"
-#: mmo.c:3145
+#: mmo.c:3140
#, c-format
msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
msgstr "%s: awal alaman tidak valid untuk register terinisialisasi dari panjang %ld: 0x%lx%08lx\n"
-#: oasys.c:881
+#: oasys.c:882
#, c-format
msgid "%s: can not represent section `%s' in oasys"
msgstr "%s: tidak dapat merepresentasikan daerah `%s' dalam oasys"
-#: osf-core.c:139
+#: osf-core.c:140
#, c-format
msgid "Unhandled OSF/1 core file section type %d\n"
msgstr "Tidak tertangani berkas core OSF/1 daerah tipe %d\n"
-#: pe-mips.c:613
+#: pe-mips.c:607
msgid "%B: `ld -r' not supported with PE MIPS objects\n"
msgstr "%B: `ld -r' tidak didukung dengan PE MIPS objek\n"
@@ -3235,25 +3659,30 @@ msgstr "%B: `ld -r' tidak didukung dengan PE MIPS objek\n"
#. src = VMA of the memory we're fixing up
#. mem = pointer to memory we're fixing up
#. val = VMA of what we need to refer to.
-#: pe-mips.c:729
+#: pe-mips.c:719
msgid "%B: unimplemented %s\n"
msgstr "%B: tidak terimplementasi %s\n"
-#: pe-mips.c:755
+#: pe-mips.c:745
msgid "%B: jump too far away\n"
msgstr "%B: lompat terlalu jauh\n"
-#: pe-mips.c:781
+#: pe-mips.c:771
msgid "%B: bad pair/reflo after refhi\n"
msgstr "%B: pasangan/reflo buruk setelah refhi\n"
-#: pei-x86_64.c:465
+#: pef.c:520
+#, c-format
+msgid "bfd_pef_scan: unknown architecture 0x%lx"
+msgstr "bfd_pef_scan: unknown architecture 0x%lx"
+
+#: pei-x86_64.c:444
#, c-format
msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
msgstr "peringatan: besar (%ld) daerah .pdata tidak dalam kelipatan dari %d\n"
-#: pei-x86_64.c:469 peigen.c:1620 peigen.c:1799 pepigen.c:1620 pepigen.c:1799
-#: pex64igen.c:1620 pex64igen.c:1799
+#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
+#: pex64igen.c:1618 pex64igen.c:1801
#, c-format
msgid ""
"\n"
@@ -3262,37 +3691,37 @@ msgstr ""
"\n"
"Tabel Fungsi (diinterpretasikan isi daerah .pdata)\n"
-#: pei-x86_64.c:471
+#: pei-x86_64.c:450
#, c-format
msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n"
msgstr " vma:\t\t\tAlamatAwal \t AlamatAkhir\t UnwindData\n"
#. XXX code yet to be written.
-#: peicode.h:752
+#: peicode.h:751
msgid "%B: Unhandled import type; %x"
msgstr "%B: Tipe impor tidak tertangani; %x"
-#: peicode.h:757
+#: peicode.h:756
msgid "%B: Unrecognised import type; %x"
msgstr "%B: Tipe impor tidak dikenal; %x"
-#: peicode.h:771
+#: peicode.h:770
msgid "%B: Unrecognised import name type; %x"
msgstr "%B: Nama tipe impor tidak dikenal; %x"
-#: peicode.h:1154
+#: peicode.h:1166
msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
msgstr "%B: Tipe mesin (0x%x) tidak dikenal dalam Import Library Format archive"
-#: peicode.h:1166
+#: peicode.h:1178
msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
msgstr "%B: Dikenal tetapi tidak tertangani tipe mesin (0x%x) dalam Import Library Format archive"
-#: peicode.h:1184
+#: peicode.h:1196
msgid "%B: size field is zero in Import Library Format header"
msgstr "%B: besar field adalah nol dalam Import Library Format header"
-#: peicode.h:1215
+#: peicode.h:1227
msgid "%B: string not null terminated in ILF object file."
msgstr "%B: string tidak diakhiri kosong dalam berkas objek ILF."
@@ -3349,7 +3778,16 @@ msgstr "Daerah partisi[%d] = 0x%.8lx (%ld)\n"
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr "Panjang partisi[%d] = 0x%.8lx (%ld)\n"
-#: som.c:5114
+#: reloc.c:6160
+msgid "INPUT_SECTION_FLAGS are not supported.\n"
+msgstr "INPUT_SECTION_FLAGS are not supported.\n"
+
+#: rs6000-core.c:448
+#, c-format
+msgid "%s: warning core file truncated"
+msgstr "%s: warning core file truncated"
+
+#: som.c:5471
#, c-format
msgid ""
"\n"
@@ -3358,7 +3796,7 @@ msgstr ""
"\n"
"Tambahan exec header\n"
-#: som.c:5417
+#: som.c:5776
msgid "som_sizeof_headers unimplemented"
msgstr "som_sizeof_headers tidak terimplementasi"
@@ -3378,240 +3816,1906 @@ msgstr "%B(%A+0x%lx): Masukan stabs memiliki index string tidak valid."
msgid "Unsupported .stab relocation"
msgstr "Relokasi .stab tidak didukung"
-#: vms-gsd.c:350
+#: vms-alpha.c:1299
+#, c-format
+msgid "Unknown EGSD subtype %d"
+msgstr "Tidak diketahui EGSD subtype %d"
+
+#: vms-alpha.c:1330
+#, c-format
+msgid "Stack overflow (%d) in _bfd_vms_push"
+msgstr "Stack overflow (%d) dalam _bfd_vms_push"
+
+#: vms-alpha.c:1343
+msgid "Stack underflow in _bfd_vms_pop"
+msgstr "Stack underflow dalam _bfd_vms_pop"
+
+#. These names have not yet been added to this switch statement.
+#: vms-alpha.c:1580
+#, c-format
+msgid "unknown ETIR command %d"
+msgstr "perintah ETIR %d tidak diketahui"
+
+#: vms-alpha.c:1767
+#, c-format
+msgid "bad section index in %s"
+msgstr "Indek daerah buruk dalam %s"
+
+#: vms-alpha.c:1780
+#, c-format
+msgid "unsupported STA cmd %s"
+msgstr "perintah %s STA tidak didukung"
+
+#. Insert field.
+#. Unsigned shift.
+#. Rotate.
+#. Redefine symbol to current location.
+#. Define a literal.
+#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
#, c-format
-msgid "bfd_make_section (%s) failed"
-msgstr "bfd_make_section (%s) gagal"
+msgid "%s: not supported"
+msgstr "%s: tidak didukung"
-#: vms-gsd.c:365
+#: vms-alpha.c:1962
#, c-format
-msgid "bfd_set_section_flags (%s, %x) failed"
-msgstr "bfd_set_section_flags (%s, %x) gagal"
+msgid "%s: not implemented"
+msgstr "%s: tidak terimplementasi"
-#: vms-gsd.c:399
+#: vms-alpha.c:2218
#, c-format
-msgid "Size mismatch section %s=%lx, %s=%lx"
-msgstr "Ukuran tidak cocok daerah %s=%lx, %s=%lx"
+msgid "invalid use of %s with contexts"
+msgstr "invalid use of %s with contexts"
-#: vms-gsd.c:754
+#: vms-alpha.c:2252
#, c-format
-msgid "Unknown GSD/EGSD subtype %d"
-msgstr "tidak diketahui GDS/EGSD subtype %d"
+msgid "reserved cmd %d"
+msgstr "perintah %d direserve"
-#: vms-hdr.c:364
+#: vms-alpha.c:2337
msgid "Object module NOT error-free !\n"
msgstr "Modul objek Tidak bebas-error !\n"
-#: vms-hdr.c:878
+#: vms-alpha.c:2766
+#, c-format
+msgid "Symbol %s replaced by %s\n"
+msgstr "Simbol %s digantikan oleh %s\n"
+
+#: vms-alpha.c:3769
+#, c-format
+msgid "SEC_RELOC with no relocs in section %s"
+msgstr "SEC_RELOC dengan tidak ada relokasi dalam daerah %s"
+
+#: vms-alpha.c:3822 vms-alpha.c:4049
+#, c-format
+msgid "Size error in section %s"
+msgstr "Kesalahan ukuran dalam daerah %s"
+
+#: vms-alpha.c:3991
+msgid "Spurious ALPHA_R_BSR reloc"
+msgstr "Spurious ALPHA_R_BSR relokasi"
+
+#: vms-alpha.c:4036
+#, c-format
+msgid "Unhandled relocation %s"
+msgstr "Relokasi %s tidak tertangani"
+
+#: vms-alpha.c:4326
#, c-format
msgid "unknown source command %d"
msgstr "sumber perintah %d tidak diketahui"
-#: vms-hdr.c:951
-msgid "DST_S_C_SET_LINUM_INCR not implemented"
-msgstr "DST_S_C_SET_LINUM_INCR belum diimplementasikan"
+#: vms-alpha.c:4387
+msgid "DST__K_SET_LINUM_INCR not implemented"
+msgstr "DST__K_SET_LINUM_INCR belum diimplementasikan"
-#: vms-hdr.c:957
-msgid "DST_S_C_SET_LINUM_INCR_W not implemented"
-msgstr "DST_S_C_SET_LINUM_INCR_W belum diimplementasikan"
+#: vms-alpha.c:4393
+msgid "DST__K_SET_LINUM_INCR_W not implemented"
+msgstr "DST__K_SET_LINUM_INCR_W belum diimplementasikan"
-#: vms-hdr.c:963
-msgid "DST_S_C_RESET_LINUM_INCR not implemented"
-msgstr "DST_S_C_RESET_LINUM_INCR belum diimplementasikan"
+#: vms-alpha.c:4399
+msgid "DST__K_RESET_LINUM_INCR not implemented"
+msgstr "DST__K_RESET_LINUM_INCR belum diimplementasikan"
-#: vms-hdr.c:969
-msgid "DST_S_C_BEG_STMT_MODE not implemented"
-msgstr "DST_S_C_BEG_STMT_MODE belum diimplementasikan"
+#: vms-alpha.c:4405
+msgid "DST__K_BEG_STMT_MODE not implemented"
+msgstr "DST__K_BEG_STMT_MODE belum diimplementasikan"
-#: vms-hdr.c:975
-msgid "DST_S_C_END_STMT_MODE not implemented"
-msgstr "DST_S_C_END_STMT_MODE belum diimplementasikan"
+#: vms-alpha.c:4411
+msgid "DST__K_END_STMT_MODE not implemented"
+msgstr "DST__K_END_STMT_MODE belum diimplementasikan"
-#: vms-hdr.c:1008
-msgid "DST_S_C_SET_PC not implemented"
-msgstr "DST_S_C_SET_PC belum diimplementasikan"
+#: vms-alpha.c:4438
+msgid "DST__K_SET_PC not implemented"
+msgstr "DST__K_SET_PC belum diimplementasikan"
-#: vms-hdr.c:1014
-msgid "DST_S_C_SET_PC_W not implemented"
-msgstr "DST_S_C_SET_PC_W belum diimplementasikan"
+#: vms-alpha.c:4444
+msgid "DST__K_SET_PC_W not implemented"
+msgstr "DST__K_SET_PC_W belum diimplementasikan"
-#: vms-hdr.c:1020
-msgid "DST_S_C_SET_PC_L not implemented"
-msgstr "DST_S_C_SET_PC_L belum diimplementasikan"
+#: vms-alpha.c:4450
+msgid "DST__K_SET_PC_L not implemented"
+msgstr "DST__K_SET_PC_L belum diimplementasikan"
-#: vms-hdr.c:1026
-msgid "DST_S_C_SET_STMTNUM not implemented"
-msgstr "DST_S_C_SET_STMTNUM belum diimplementasikan"
+#: vms-alpha.c:4456
+msgid "DST__K_SET_STMTNUM not implemented"
+msgstr "DST__K_SET_STMTNUM belum diimplementasikan"
-#: vms-hdr.c:1079
+#: vms-alpha.c:4499
#, c-format
msgid "unknown line command %d"
msgstr "baris perintah %d tidak diketahui"
-#: vms-misc.c:588
+#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
+#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
#, c-format
-msgid "Stack overflow (%d) in _bfd_vms_push"
-msgstr "Stack overflow (%d) dalam _bfd_vms_push"
+msgid "Unknown reloc %s + %s"
+msgstr "Relokasi %s + %s tidak diketahui"
-#: vms-misc.c:603
-msgid "Stack underflow in _bfd_vms_pop"
-msgstr "Stack underflow dalam _bfd_vms_pop"
+#: vms-alpha.c:5089
+#, c-format
+msgid "Unknown reloc %s"
+msgstr "Relokasi %s tidak diketahui"
-#: vms-misc.c:844
-msgid "_bfd_vms_output_counted called with zero bytes"
-msgstr "_bfd_vms_output_counted dipanggil dengan zero bytes"
+#: vms-alpha.c:5102
+msgid "Invalid section index in ETIR"
+msgstr "Indek daerah tidak valid dalam ETIR"
-#: vms-misc.c:849
-msgid "_bfd_vms_output_counted called with too many bytes"
-msgstr "_bfd_vms_output_counted dipanggil dengan terlalu banyak bytes"
+#: vms-alpha.c:5109
+msgid "Relocation for non-REL psect"
+msgstr "Relocation for non-REL psect"
-#: vms-misc.c:967
+#: vms-alpha.c:5156
#, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Simbol %s digantikan oleh %s\n"
+msgid "Unknown symbol in command %s"
+msgstr "Simbol tidak diketahui dalam perintah %s"
-#: vms-misc.c:1026
+#: vms-alpha.c:5671
#, c-format
-msgid "failed to enter %s"
-msgstr "gagal untuk memasuki %s"
+msgid " EMH %u (len=%u): "
+msgstr " EMH %u (len=%u): "
-#: vms-tir.c:83
-msgid "No Mem !"
-msgstr "Tidak ada Memori !"
+#: vms-alpha.c:5680
+#, c-format
+msgid "Module header\n"
+msgstr "Kepala module\n"
-#. These names have not yet been added to this switch statement.
-#: vms-tir.c:346
+#: vms-alpha.c:5681
#, c-format
-msgid "unknown ETIR command %d"
-msgstr "perintah ETIR %d tidak diketahui"
+msgid " structure level: %u\n"
+msgstr " structure level: %u\n"
-#: vms-tir.c:440
+#: vms-alpha.c:5682
#, c-format
-msgid "bad section index in %s"
-msgstr "Indek daerah buruk dalam %s"
+msgid " max record size: %u\n"
+msgstr " max record size: %u\n"
-#: vms-tir.c:459
+#: vms-alpha.c:5685
#, c-format
-msgid "unsupported STA cmd %s"
-msgstr "perintah %s STA tidak didukung"
+msgid " module name : %.*s\n"
+msgstr " module name : %.*s\n"
-#: vms-tir.c:464 vms-tir.c:1304
+#: vms-alpha.c:5687
#, c-format
-msgid "reserved STA cmd %d"
-msgstr "perintah %d STA direserve"
+msgid " module version : %.*s\n"
+msgstr " module versi : %.*s\n"
-#. Unsigned shift.
-#. Rotate.
-#. Redefine symbol to current location.
-#. Define a literal.
-#: vms-tir.c:655 vms-tir.c:774 vms-tir.c:894 vms-tir.c:1624
+#: vms-alpha.c:5689
#, c-format
-msgid "%s: not supported"
-msgstr "%s: tidak didukung"
+msgid " compile date : %.17s\n"
+msgstr " compile date : %.17s\n"
-#: vms-tir.c:661 vms-tir.c:1481
+#: vms-alpha.c:5694
#, c-format
-msgid "%s: not implemented"
-msgstr "%s: tidak terimplementasi"
+msgid "Language Processor Name\n"
+msgstr "Language Processor Name\n"
-#: vms-tir.c:666 vms-tir.c:1485
+#: vms-alpha.c:5695
#, c-format
-msgid "reserved STO cmd %d"
-msgstr "reserved STO perintah %d"
+msgid " language name: %.*s\n"
+msgstr " language name: %.*s\n"
-#: vms-tir.c:789 vms-tir.c:1629
+#: vms-alpha.c:5702
#, c-format
-msgid "reserved OPR cmd %d"
-msgstr "reserved OPR perintah %d"
+msgid "Source Files Header\n"
+msgstr "Source Files Header\n"
-#: vms-tir.c:852 vms-tir.c:1693
+#: vms-alpha.c:5703
#, c-format
-msgid "reserved CTL cmd %d"
-msgstr "reserved CTL perintah %d"
+msgid " file: %.*s\n"
+msgstr " file: %.*s\n"
-#: vms-tir.c:966
+#: vms-alpha.c:5710
#, c-format
-msgid "reserved STC cmd %d"
-msgstr "perintah %d direserve"
+msgid "Title Text Header\n"
+msgstr "Title Text Header\n"
-#. stack byte from image
-#. arg: none.
-#: vms-tir.c:1212
-msgid "stack-from-image not implemented"
-msgstr "stack-from-image tidak terimplementasi"
+#: vms-alpha.c:5711
+#, c-format
+msgid " title: %.*s\n"
+msgstr " title: %.*s\n"
-#: vms-tir.c:1230
-msgid "stack-entry-mask not fully implemented"
-msgstr "stack-entry-mask tidak terimplementasi secara penuh"
+#: vms-alpha.c:5718
+#, c-format
+msgid "Copyright Header\n"
+msgstr "Copyright Header\n"
-#. compare procedure argument
-#. arg: cs symbol name
-#. by argument index
-#. da argument descriptor
-#.
-#. compare argument descriptor with symbol argument (ARG$V_PASSMECH)
-#. and stack TRUE (args match) or FALSE (args dont match) value.
-#: vms-tir.c:1244
-msgid "PASSMECH not fully implemented"
-msgstr "PASSMECH tidak terimplementasi secara penuh"
+#: vms-alpha.c:5719
+#, c-format
+msgid " copyright: %.*s\n"
+msgstr " copyright: %.*s\n"
-#: vms-tir.c:1263
-msgid "stack-local-symbol not fully implemented"
-msgstr "stack-local-symbol tidak terimplementasi secara penuh"
+#: vms-alpha.c:5725
+#, c-format
+msgid "unhandled emh subtype %u\n"
+msgstr "subtipe emh tidak tertangani %u\n"
-#: vms-tir.c:1276
-msgid "stack-literal not fully implemented"
-msgstr "stack-literal tidak terimplementasi secara penuh"
+#: vms-alpha.c:5735
+#, c-format
+msgid " EEOM (len=%u):\n"
+msgstr " EEOM (len=%u):\n"
-#: vms-tir.c:1297
-msgid "stack-local-symbol-entry-point-mask not fully implemented"
-msgstr "stack-local-symbol-entry-point-mask tidak terimplementasi secara penuh"
+#: vms-alpha.c:5736
+#, c-format
+msgid " number of cond linkage pairs: %u\n"
+msgstr " number of cond linkage pairs: %u\n"
-#: vms-tir.c:1571 vms-tir.c:1583 vms-tir.c:1595 vms-tir.c:1607 vms-tir.c:1672
-#: vms-tir.c:1680 vms-tir.c:1688
+#: vms-alpha.c:5738
#, c-format
-msgid "%s: not fully implemented"
-msgstr "%s: tidak terimplementasi secara penuh"
+msgid " completion code: %u\n"
+msgstr " completion code: %u\n"
-#: vms-tir.c:1746
+#: vms-alpha.c:5742
#, c-format
-msgid "obj code %d not found"
-msgstr "obj kode %d tidak ditemukan"
+msgid " transfer addr flags: 0x%02x\n"
+msgstr " transfer addr flags: 0x%02x\n"
-#: vms-tir.c:2019
+#: vms-alpha.c:5743
#, c-format
-msgid "Reloc size error in section %s"
-msgstr "Kesalahan ukuran relokasi dalam daerah %s"
+msgid " transfer addr psect: %u\n"
+msgstr " transfer addr psect: %u\n"
-#: vms-tir.c:2112 vms-tir.c:2129 vms-tir.c:2147 vms-tir.c:2159 vms-tir.c:2170
-#: vms-tir.c:2182
+#: vms-alpha.c:5745
#, c-format
-msgid "Unknown reloc %s + %s"
-msgstr "Relokasi %s + %s tidak diketahui"
+msgid " transfer address : 0x%08x\n"
+msgstr " transfer alamat : 0x%08x\n"
+
+#: vms-alpha.c:5754
+msgid " WEAK"
+msgstr " WEAK"
+
+#: vms-alpha.c:5756
+msgid " DEF"
+msgstr " DEF"
+
+#: vms-alpha.c:5758
+msgid " UNI"
+msgstr " UNI"
+
+#: vms-alpha.c:5760 vms-alpha.c:5781
+msgid " REL"
+msgstr " REL"
+
+#: vms-alpha.c:5762
+msgid " COMM"
+msgstr " COMM"
+
+#: vms-alpha.c:5764
+msgid " VECEP"
+msgstr " VECEP"
+
+#: vms-alpha.c:5766
+msgid " NORM"
+msgstr " NORM"
+
+#: vms-alpha.c:5768
+msgid " QVAL"
+msgstr " QVAL"
+
+#: vms-alpha.c:5775
+msgid " PIC"
+msgstr " PIC"
+
+#: vms-alpha.c:5777
+msgid " LIB"
+msgstr " LIB"
+
+#: vms-alpha.c:5779
+msgid " OVR"
+msgstr " OVR"
+
+#: vms-alpha.c:5783
+msgid " GBL"
+msgstr " GBL"
+
+#: vms-alpha.c:5785
+msgid " SHR"
+msgstr " SHR"
+
+#: vms-alpha.c:5787
+msgid " EXE"
+msgstr " EXE"
+
+#: vms-alpha.c:5789
+msgid " RD"
+msgstr " RD"
-#: vms-tir.c:2249
+#: vms-alpha.c:5791
+msgid " WRT"
+msgstr " WRT"
+
+#: vms-alpha.c:5793
+msgid " VEC"
+msgstr " VEC"
+
+#: vms-alpha.c:5795
+msgid " NOMOD"
+msgstr " NOMOD"
+
+#: vms-alpha.c:5797
+msgid " COM"
+msgstr " COM"
+
+#: vms-alpha.c:5799
+msgid " 64B"
+msgstr " 64B"
+
+#: vms-alpha.c:5808
#, c-format
-msgid "Unknown symbol %s in command %s"
-msgstr "Simbol %s tidak diketahui dalam perintah %s"
+msgid " EGSD (len=%u):\n"
+msgstr " EGSD (len=%u):\n"
-#: vms-tir.c:2504
+#: vms-alpha.c:5820
#, c-format
-msgid "SEC_RELOC with no relocs in section %s"
-msgstr "SEC_RELOC dengan tidak ada relokasi dalam daerah %s"
+msgid " EGSD entry %2u (type: %u, len: %u): "
+msgstr " EGSD entry %2u (type: %u, len: %u): "
-#: vms-tir.c:2556 vms-tir.c:2783
+#: vms-alpha.c:5832
#, c-format
-msgid "Size error in section %s"
-msgstr "Kesalahan ukuran dalam daerah %s"
+msgid "PSC - Program section definition\n"
+msgstr "PSC - Definisi bagian program\n"
-#: vms-tir.c:2725
-msgid "Spurious ALPHA_R_BSR reloc"
-msgstr "Spurious ALPHA_R_BSR relokasi"
+#: vms-alpha.c:5833 vms-alpha.c:5850
+#, c-format
+msgid " alignment : 2**%u\n"
+msgstr " alignment : 2**%u\n"
-#: vms-tir.c:2770
+#: vms-alpha.c:5834 vms-alpha.c:5851
#, c-format
-msgid "Unhandled relocation %s"
-msgstr "Relokasi %s tidak tertangani"
+msgid " flags : 0x%04x"
+msgstr " tanda : 0x%04x"
+
+#: vms-alpha.c:5838
+#, c-format
+msgid " alloc (len): %u (0x%08x)\n"
+msgstr " alloc (len): %u (0x%08x)\n"
+
+#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#, c-format
+msgid " name : %.*s\n"
+msgstr " nama : %.*s\n"
+
+#: vms-alpha.c:5849
+#, c-format
+msgid "SPSC - Shared Image Program section def\n"
+msgstr "SPSC - Shared Image Program section def\n"
+
+#: vms-alpha.c:5855
+#, c-format
+msgid " alloc (len) : %u (0x%08x)\n"
+msgstr " alloc (len) : %u (0x%08x)\n"
+
+#: vms-alpha.c:5856
+#, c-format
+msgid " image offset : 0x%08x\n"
+msgstr " besar byte : 0x%08x\n"
+
+#: vms-alpha.c:5858
+#, c-format
+msgid " symvec offset : 0x%08x\n"
+msgstr " symvec offset : 0x%08x\n"
+
+#: vms-alpha.c:5860
+#, c-format
+msgid " name : %.*s\n"
+msgstr " nama : %.*s\n"
+
+#: vms-alpha.c:5873
+#, c-format
+msgid "SYM - Global symbol definition\n"
+msgstr "SYM - Global symbol definition\n"
+
+#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#, c-format
+msgid " flags: 0x%04x"
+msgstr " tanda: 0x%04x"
+
+#: vms-alpha.c:5877
+#, c-format
+msgid " psect offset: 0x%08x\n"
+msgstr " psect offset: 0x%08x\n"
+
+#: vms-alpha.c:5881
+#, c-format
+msgid " code address: 0x%08x\n"
+msgstr " code address: 0x%08x\n"
+
+#: vms-alpha.c:5883
+#, c-format
+msgid " psect index for entry point : %u\n"
+msgstr " psect index for entry point : %u\n"
+
+#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#, c-format
+msgid " psect index : %u\n"
+msgstr " psect indeks: %u\n"
+
+#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#, c-format
+msgid " name : %.*s\n"
+msgstr " nama : %.*s\n"
+
+#: vms-alpha.c:5895
+#, c-format
+msgid "SYM - Global symbol reference\n"
+msgstr "SYM - Global symbol reference\n"
+
+#: vms-alpha.c:5907
+#, c-format
+msgid "IDC - Ident Consistency check\n"
+msgstr "IDC - Ident Consistency check\n"
+
+#: vms-alpha.c:5908
+#, c-format
+msgid " flags : 0x%08x"
+msgstr " tanda : 0x%08x"
+
+#: vms-alpha.c:5912
+#, c-format
+msgid " id match : %x\n"
+msgstr " besar byte : %x\n"
+
+#: vms-alpha.c:5914
+#, c-format
+msgid " error severity: %x\n"
+msgstr " error severity: %x\n"
+
+#: vms-alpha.c:5917
+#, c-format
+msgid " entity name : %.*s\n"
+msgstr " entity name : %.*s\n"
+
+#: vms-alpha.c:5919
+#, c-format
+msgid " object name : %.*s\n"
+msgstr " object name : %.*s\n"
+
+#: vms-alpha.c:5922
+#, c-format
+msgid " binary ident : 0x%08x\n"
+msgstr " binary ident : 0x%08x\n"
+
+#: vms-alpha.c:5925
+#, c-format
+msgid " ascii ident : %.*s\n"
+msgstr " ascii ident : %.*s\n"
+
+#: vms-alpha.c:5933
+#, c-format
+msgid "SYMG - Universal symbol definition\n"
+msgstr "SYMG - Universal symbol definition\n"
+
+#: vms-alpha.c:5937
+#, c-format
+msgid " symbol vector offset: 0x%08x\n"
+msgstr " symbol vector offset: 0x%08x\n"
+
+#: vms-alpha.c:5939
+#, c-format
+msgid " entry point: 0x%08x\n"
+msgstr " titik masuk: 0x%08x\n"
+
+#: vms-alpha.c:5941
+#, c-format
+msgid " proc descr : 0x%08x\n"
+msgstr " deskripsi proses : 0x%08x\n"
+
+#: vms-alpha.c:5943
+#, c-format
+msgid " psect index: %u\n"
+msgstr " psect indeks: %u\n"
+
+#: vms-alpha.c:5954
+#, c-format
+msgid "SYMV - Vectored symbol definition\n"
+msgstr "SYMV - Vectored definisi simbol\n"
+
+#: vms-alpha.c:5958
+#, c-format
+msgid " vector : 0x%08x\n"
+msgstr " vector : 0x%08x\n"
+
+#: vms-alpha.c:5960 vms-alpha.c:5979
+#, c-format
+msgid " psect offset: %u\n"
+msgstr " psect offset: %u\n"
+
+#: vms-alpha.c:5973
+#, c-format
+msgid "SYMM - Global symbol definition with version\n"
+msgstr "SYMM - Global symbol definition with version\n"
+
+#: vms-alpha.c:5977
+#, c-format
+msgid " version mask: 0x%08x\n"
+msgstr " version mask: 0x%08x\n"
+
+#: vms-alpha.c:5988
+#, c-format
+msgid "unhandled egsd entry type %u\n"
+msgstr "unhandled egsd entry type %u\n"
+
+#: vms-alpha.c:6022
+#, c-format
+msgid " linkage index: %u, replacement insn: 0x%08x\n"
+msgstr " linkage index: %u, replacement insn: 0x%08x\n"
+
+#: vms-alpha.c:6025
+#, c-format
+msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
+msgstr " psect idx 1: %u, offset 1: 0x%08x %08x\n"
+
+#: vms-alpha.c:6029
+#, c-format
+msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
+msgstr " psect idx 2: %u, offset 2: 0x%08x %08x\n"
+
+#: vms-alpha.c:6034
+#, c-format
+msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
+msgstr " psect idx 3: %u, offset 3: 0x%08x %08x\n"
+
+#: vms-alpha.c:6039
+#, c-format
+msgid " global name: %.*s\n"
+msgstr " global name: %.*s\n"
+
+#: vms-alpha.c:6049
+#, c-format
+msgid " %s (len=%u+%u):\n"
+msgstr " %s (len=%u+%u):\n"
+
+#: vms-alpha.c:6064
+#, c-format
+msgid " (type: %3u, size: 4+%3u): "
+msgstr " (type: %3u, size: 4+%3u): "
+
+#: vms-alpha.c:6068
+#, c-format
+msgid "STA_GBL (stack global) %.*s\n"
+msgstr "STA_GBL (stack global) %.*s\n"
+
+#: vms-alpha.c:6072
+#, c-format
+msgid "STA_LW (stack longword) 0x%08x\n"
+msgstr "STA_LW (stack longword) 0x%08x\n"
+
+#: vms-alpha.c:6076
+#, c-format
+msgid "STA_QW (stack quadword) 0x%08x %08x\n"
+msgstr "STA_QW (stack quadword) 0x%08x %08x\n"
+
+#: vms-alpha.c:6081
+#, c-format
+msgid "STA_PQ (stack psect base + offset)\n"
+msgstr "STA_PQ (stack psect base + offset)\n"
+
+#: vms-alpha.c:6082
+#, c-format
+msgid " psect: %u, offset: 0x%08x %08x\n"
+msgstr " psect: %u, offset: 0x%08x %08x\n"
+
+#: vms-alpha.c:6088
+#, c-format
+msgid "STA_LI (stack literal)\n"
+msgstr "STA_LI (stack literal)\n"
+
+#: vms-alpha.c:6091
+#, c-format
+msgid "STA_MOD (stack module)\n"
+msgstr "STA_MOD (stack module)\n"
+
+#: vms-alpha.c:6094
+#, c-format
+msgid "STA_CKARG (compare procedure argument)\n"
+msgstr "STA_CKARG (compare procedure argument)\n"
+
+#: vms-alpha.c:6098
+#, c-format
+msgid "STO_B (store byte)\n"
+msgstr "STO_B (store byte)\n"
+
+#: vms-alpha.c:6101
+#, c-format
+msgid "STO_W (store word)\n"
+msgstr "STO_W (store word)\n"
+
+#: vms-alpha.c:6104
+#, c-format
+msgid "STO_LW (store longword)\n"
+msgstr "STO_LW (store longword)\n"
+
+#: vms-alpha.c:6107
+#, c-format
+msgid "STO_QW (store quadword)\n"
+msgstr "STO_QW (store quadword)\n"
+
+#: vms-alpha.c:6113
+#, c-format
+msgid "STO_IMMR (store immediate repeat) %u bytes\n"
+msgstr "STO_IMMR (store immediate repeat) %u bytes\n"
+
+#: vms-alpha.c:6120
+#, c-format
+msgid "STO_GBL (store global) %.*s\n"
+msgstr "STO_GBL (store global) %.*s\n"
+
+#: vms-alpha.c:6124
+#, c-format
+msgid "STO_CA (store code address) %.*s\n"
+msgstr "STO_CA (store code address) %.*s\n"
+
+#: vms-alpha.c:6128
+#, c-format
+msgid "STO_RB (store relative branch)\n"
+msgstr "STO_RB (store relative branch)\n"
+
+#: vms-alpha.c:6131
+#, c-format
+msgid "STO_AB (store absolute branch)\n"
+msgstr "STO_AB (store absolute branch)\n"
+
+#: vms-alpha.c:6134
+#, c-format
+msgid "STO_OFF (store offset to psect)\n"
+msgstr "STO_OFF (store offset to psect)\n"
+
+#: vms-alpha.c:6140
+#, c-format
+msgid "STO_IMM (store immediate) %u bytes\n"
+msgstr "STO_IMM (store immediate) %u bytes\n"
+
+#: vms-alpha.c:6147
+#, c-format
+msgid "STO_GBL_LW (store global longword) %.*s\n"
+msgstr "STO_GBL_LW (store global longword) %.*s\n"
+
+#: vms-alpha.c:6151
+#, c-format
+msgid "STO_OFF (store LP with procedure signature)\n"
+msgstr "STO_OFF (store LP with procedure signature)\n"
+
+#: vms-alpha.c:6154
+#, c-format
+msgid "STO_BR_GBL (store branch global) *todo*\n"
+msgstr "STO_BR_GBL (store branch global) *todo*\n"
+
+#: vms-alpha.c:6157
+#, c-format
+msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
+msgstr "STO_BR_PS (store branch psect + offset) *todo*\n"
+
+#: vms-alpha.c:6161
+#, c-format
+msgid "OPR_NOP (no-operation)\n"
+msgstr "OPR_NOP (no-operation)\n"
+
+#: vms-alpha.c:6164
+#, c-format
+msgid "OPR_ADD (add)\n"
+msgstr "OPR_ADD (add)\n"
+
+#: vms-alpha.c:6167
+#, c-format
+msgid "OPR_SUB (substract)\n"
+msgstr "OPR_SUB (substract)\n"
+
+#: vms-alpha.c:6170
+#, c-format
+msgid "OPR_MUL (multiply)\n"
+msgstr "OPR_MUL (multiply)\n"
+
+#: vms-alpha.c:6173
+#, c-format
+msgid "OPR_DIV (divide)\n"
+msgstr "OPR_DIV (divide)\n"
+
+#: vms-alpha.c:6176
+#, c-format
+msgid "OPR_AND (logical and)\n"
+msgstr "OPR_AND (logical and)\n"
+
+#: vms-alpha.c:6179
+#, c-format
+msgid "OPR_IOR (logical inclusive or)\n"
+msgstr "OPR_IOR (logical inclusive or)\n"
+
+#: vms-alpha.c:6182
+#, c-format
+msgid "OPR_EOR (logical exclusive or)\n"
+msgstr "OPR_EOR (logical exclusive or)\n"
+
+#: vms-alpha.c:6185
+#, c-format
+msgid "OPR_NEG (negate)\n"
+msgstr "OPR_NEG (negate)\n"
+
+#: vms-alpha.c:6188
+#, c-format
+msgid "OPR_COM (complement)\n"
+msgstr "OPR_COM (complement)\n"
+
+#: vms-alpha.c:6191
+#, c-format
+msgid "OPR_INSV (insert field)\n"
+msgstr "OPR_INSV (insert field)\n"
+
+#: vms-alpha.c:6194
+#, c-format
+msgid "OPR_ASH (arithmetic shift)\n"
+msgstr "OPR_ASH (arithmetic shift)\n"
+
+#: vms-alpha.c:6197
+#, c-format
+msgid "OPR_USH (unsigned shift)\n"
+msgstr "OPR_USH (unsigned shift)\n"
+
+#: vms-alpha.c:6200
+#, c-format
+msgid "OPR_ROT (rotate)\n"
+msgstr "OPR_ROT (rotate)\n"
+
+#: vms-alpha.c:6203
+#, c-format
+msgid "OPR_SEL (select)\n"
+msgstr "OPR_SEL (select)\n"
+
+#: vms-alpha.c:6206
+#, c-format
+msgid "OPR_REDEF (redefine symbol to curr location)\n"
+msgstr "OPR_REDEF (redefine symbol to curr location)\n"
+
+#: vms-alpha.c:6209
+#, c-format
+msgid "OPR_REDEF (define a literal)\n"
+msgstr "OPR_REDEF (define a literal)\n"
+
+#: vms-alpha.c:6213
+#, c-format
+msgid "STC_LP (store cond linkage pair)\n"
+msgstr "STC_LP (store cond linkage pair)\n"
+
+#: vms-alpha.c:6217
+#, c-format
+msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
+msgstr "STC_LP_PSB (store cond linkage pair + signature)\n"
+
+#: vms-alpha.c:6218
+#, c-format
+msgid " linkage index: %u, procedure: %.*s\n"
+msgstr " linkage index: %u, procedure: %.*s\n"
+
+#: vms-alpha.c:6221
+#, c-format
+msgid " signature: %.*s\n"
+msgstr " signature: %.*s\n"
+
+#: vms-alpha.c:6224
+#, c-format
+msgid "STC_GBL (store cond global)\n"
+msgstr "STC_GBL (store cond global)\n"
+
+#: vms-alpha.c:6225
+#, c-format
+msgid " linkage index: %u, global: %.*s\n"
+msgstr " linkage index: %u, global: %.*s\n"
+
+#: vms-alpha.c:6229
+#, c-format
+msgid "STC_GCA (store cond code address)\n"
+msgstr "STC_GCA (store cond code address)\n"
+
+#: vms-alpha.c:6230
+#, c-format
+msgid " linkage index: %u, procedure name: %.*s\n"
+msgstr " linkage index: %u, procedure name: %.*s\n"
+
+#: vms-alpha.c:6234
+#, c-format
+msgid "STC_PS (store cond psect + offset)\n"
+msgstr "STC_PS (store cond psect + offset)\n"
+
+#: vms-alpha.c:6236
+#, c-format
+msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
+msgstr " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
+
+#: vms-alpha.c:6243
+#, c-format
+msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
+msgstr "STC_NOP_GBL (store cond NOP at global addr)\n"
+
+#: vms-alpha.c:6247
+#, c-format
+msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
+msgstr "STC_NOP_PS (store cond NOP at psect + offset)\n"
+
+#: vms-alpha.c:6251
+#, c-format
+msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
+msgstr "STC_BSR_GBL (store cond BSR at global addr)\n"
+
+#: vms-alpha.c:6255
+#, c-format
+msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
+msgstr "STC_BSR_PS (store cond BSR at psect + offset)\n"
+
+#: vms-alpha.c:6259
+#, c-format
+msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
+msgstr "STC_LDA_GBL (store cond LDA at global addr)\n"
+
+#: vms-alpha.c:6263
+#, c-format
+msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
+msgstr "STC_LDA_PS (store cond LDA at psect + offset)\n"
+
+#: vms-alpha.c:6267
+#, c-format
+msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
+msgstr "STC_BOH_GBL (store cond BOH at global addr)\n"
+
+#: vms-alpha.c:6271
+#, c-format
+msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
+msgstr "STC_BOH_PS (store cond BOH at psect + offset)\n"
+
+#: vms-alpha.c:6276
+#, c-format
+msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
+msgstr "STC_NBH_GBL (store cond or hint at global addr)\n"
+
+#: vms-alpha.c:6280
+#, c-format
+msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
+msgstr "STC_NBH_PS (store cond or hint at psect + offset)\n"
+
+#: vms-alpha.c:6284
+#, c-format
+msgid "CTL_SETRB (set relocation base)\n"
+msgstr "CTL_SETRB (set relocation base)\n"
+
+#: vms-alpha.c:6290
+#, c-format
+msgid "CTL_AUGRB (augment relocation base) %u\n"
+msgstr "CTL_AUGRB (augment relocation base) %u\n"
+
+#: vms-alpha.c:6294
+#, c-format
+msgid "CTL_DFLOC (define location)\n"
+msgstr "CTL_DFLOC (define location)\n"
+
+#: vms-alpha.c:6297
+#, c-format
+msgid "CTL_STLOC (set location)\n"
+msgstr "CTL_STLOC (set location)\n"
+
+#: vms-alpha.c:6300
+#, c-format
+msgid "CTL_STKDL (stack defined location)\n"
+msgstr "CTL_STKDL (stack defined location)\n"
+
+#: vms-alpha.c:6303 vms-alpha.c:6717
+#, c-format
+msgid "*unhandled*\n"
+msgstr "*unhandled*\n"
+
+#: vms-alpha.c:6333 vms-alpha.c:6372
+#, c-format
+msgid "cannot read GST record length\n"
+msgstr "cannot read GST record length\n"
+
+#. Ill-formed.
+#: vms-alpha.c:6354
+#, c-format
+msgid "cannot find EMH in first GST record\n"
+msgstr "cannot find EMH in first GST record\n"
+
+#: vms-alpha.c:6380
+#, c-format
+msgid "cannot read GST record header\n"
+msgstr "cannot read GST record header\n"
+
+#: vms-alpha.c:6393
+#, c-format
+msgid " corrupted GST\n"
+msgstr " corrupted GST\n"
+
+#: vms-alpha.c:6401
+#, c-format
+msgid "cannot read GST record\n"
+msgstr "cannot read GST record\n"
+
+#: vms-alpha.c:6430
+#, c-format
+msgid " unhandled EOBJ record type %u\n"
+msgstr " tipe rekaman EOBJ tidak tertangani %u\n"
+
+#: vms-alpha.c:6453
+#, c-format
+msgid " bitcount: %u, base addr: 0x%08x\n"
+msgstr " bitcount: %u, base addr: 0x%08x\n"
+
+#: vms-alpha.c:6466
+#, c-format
+msgid " bitmap: 0x%08x (count: %u):\n"
+msgstr " bitmap: 0x%08x (count: %u):\n"
+
+#: vms-alpha.c:6473
+#, c-format
+msgid " %08x"
+msgstr " %08x"
+
+#: vms-alpha.c:6498
+#, c-format
+msgid " image %u (%u entries)\n"
+msgstr " image %u (%u entries)\n"
+
+#: vms-alpha.c:6503
+#, c-format
+msgid " offset: 0x%08x, val: 0x%08x\n"
+msgstr " offset: 0x%08x, val: 0x%08x\n"
+
+#: vms-alpha.c:6524
+#, c-format
+msgid " image %u (%u entries), offsets:\n"
+msgstr " image %u (%u entries), offsets:\n"
+
+#: vms-alpha.c:6531
+#, c-format
+msgid " 0x%08x"
+msgstr " 0x%08x"
+
+#. 64 bits.
+#: vms-alpha.c:6653
+#, c-format
+msgid "64 bits *unhandled*\n"
+msgstr "64 bits *unhandled*\n"
+
+#: vms-alpha.c:6657
+#, c-format
+msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
+msgstr "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
+
+#: vms-alpha.c:6668
+#, c-format
+msgid "non-contiguous array of %s\n"
+msgstr "non-contiguous array of %s\n"
+
+#: vms-alpha.c:6672
+#, c-format
+msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
+msgstr "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
+
+#: vms-alpha.c:6676
+#, c-format
+msgid "arsize: %u, a0: 0x%08x\n"
+msgstr "arsize: %u, a0: 0x%08x\n"
+
+#: vms-alpha.c:6680
+#, c-format
+msgid "Strides:\n"
+msgstr "Strides:\n"
+
+#: vms-alpha.c:6685
+#, c-format
+msgid "[%u]: %u\n"
+msgstr "[%u]: %u\n"
+
+#: vms-alpha.c:6690
+#, c-format
+msgid "Bounds:\n"
+msgstr "Bounds:\n"
+
+#: vms-alpha.c:6695
+#, c-format
+msgid "[%u]: Lower: %u, upper: %u\n"
+msgstr "[%u]: Lower: %u, upper: %u\n"
+
+#: vms-alpha.c:6707
+#, c-format
+msgid "unaligned bit-string of %s\n"
+msgstr "unaligned bit-string of %s\n"
+
+#: vms-alpha.c:6711
+#, c-format
+msgid "base: %u, pos: %u\n"
+msgstr "base: %u, pos: %u\n"
+
+#: vms-alpha.c:6731
+#, c-format
+msgid "vflags: 0x%02x, value: 0x%08x "
+msgstr "vflags: 0x%02x, value: 0x%08x "
+
+#: vms-alpha.c:6737
+#, c-format
+msgid "(no value)\n"
+msgstr "(tidak ada nilai)\n"
+
+#: vms-alpha.c:6740
+#, c-format
+msgid "(not active)\n"
+msgstr "(not active)\n"
+
+#: vms-alpha.c:6743
+#, c-format
+msgid "(not allocated)\n"
+msgstr "(not allocated)\n"
+
+#: vms-alpha.c:6746
+#, c-format
+msgid "(descriptor)\n"
+msgstr "(descriptor)\n"
+
+#: vms-alpha.c:6750
+#, c-format
+msgid "(trailing value)\n"
+msgstr "(trailing value)\n"
+
+#: vms-alpha.c:6753
+#, c-format
+msgid "(value spec follows)\n"
+msgstr "(value spec follows)\n"
+
+#: vms-alpha.c:6756
+#, c-format
+msgid "(at bit offset %u)\n"
+msgstr "(at bit offset %u)\n"
+
+#: vms-alpha.c:6759
+#, c-format
+msgid "(reg: %u, disp: %u, indir: %u, kind: "
+msgstr "(reg: %u, disp: %u, indir: %u, kind: "
+
+#: vms-alpha.c:6766
+msgid "literal"
+msgstr "literal"
+
+#: vms-alpha.c:6769
+msgid "address"
+msgstr "alamat"
+
+#: vms-alpha.c:6772
+msgid "desc"
+msgstr "desc"
+
+#: vms-alpha.c:6775
+msgid "reg"
+msgstr "reg"
+
+#: vms-alpha.c:6850
+#, c-format
+msgid "Debug symbol table:\n"
+msgstr "Simbol tabel penelusuran:\n"
+
+#: vms-alpha.c:6861
+#, c-format
+msgid "cannot read DST header\n"
+msgstr "cannot read DST header\n"
+
+#: vms-alpha.c:6866
+#, c-format
+msgid " type: %3u, len: %3u (at 0x%08x): "
+msgstr " type: %3u, len: %3u (at 0x%08x): "
+
+#: vms-alpha.c:6880
+#, c-format
+msgid "cannot read DST symbol\n"
+msgstr "tidak dapat membaca DST simbol\n"
+
+#: vms-alpha.c:6923
+#, c-format
+msgid "standard data: %s\n"
+msgstr "standard data: %s\n"
+
+#: vms-alpha.c:6926 vms-alpha.c:7010
+#, c-format
+msgid " name: %.*s\n"
+msgstr " nama: %.*s\n"
+
+#: vms-alpha.c:6933
+#, c-format
+msgid "modbeg\n"
+msgstr "modbeg\n"
+
+#: vms-alpha.c:6934
+#, c-format
+msgid " flags: %d, language: %u, major: %u, minor: %u\n"
+msgstr " flags: %d, language: %u, major: %u, minor: %u\n"
+
+#: vms-alpha.c:6940 vms-alpha.c:7206
+#, c-format
+msgid " module name: %.*s\n"
+msgstr " module name: %.*s\n"
+
+#: vms-alpha.c:6943
+#, c-format
+msgid " compiler : %.*s\n"
+msgstr " compiler : %.*s\n"
+
+#: vms-alpha.c:6948
+#, c-format
+msgid "modend\n"
+msgstr "modend\n"
+
+#: vms-alpha.c:6955
+msgid "rtnbeg\n"
+msgstr "rtnbeg\n"
+
+#: vms-alpha.c:6956
+#, c-format
+msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
+msgstr " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
+
+#: vms-alpha.c:6961
+#, c-format
+msgid " routine name: %.*s\n"
+msgstr " routine name: %.*s\n"
+
+#: vms-alpha.c:6969
+#, c-format
+msgid "rtnend: size 0x%08x\n"
+msgstr "rtnend: size 0x%08x\n"
+
+#: vms-alpha.c:6977
+#, c-format
+msgid "prolog: bkpt address 0x%08x\n"
+msgstr "prolog: bkpt address 0x%08x\n"
+
+#: vms-alpha.c:6985
+#, c-format
+msgid "epilog: flags: %u, count: %u\n"
+msgstr "epilog: flags: %u, count: %u\n"
+
+#: vms-alpha.c:6994
+#, c-format
+msgid "blkbeg: address: 0x%08x, name: %.*s\n"
+msgstr "blkbeg: address: 0x%08x, name: %.*s\n"
+
+#: vms-alpha.c:7003
+#, c-format
+msgid "blkend: size: 0x%08x\n"
+msgstr "blkend: ukuran: 0x%08x\n"
+
+#: vms-alpha.c:7009
+#, c-format
+msgid "typspec (len: %u)\n"
+msgstr "typspec (len: %u)\n"
+
+#: vms-alpha.c:7016
+#, c-format
+msgid "septyp, name: %.*s\n"
+msgstr "septyp, name: %.*s\n"
+
+#: vms-alpha.c:7025
+#, c-format
+msgid "recbeg: name: %.*s\n"
+msgstr "recbeg: name: %.*s\n"
+
+#: vms-alpha.c:7032
+#, c-format
+msgid "recend\n"
+msgstr "recend\n"
+
+#: vms-alpha.c:7035
+#, c-format
+msgid "enumbeg, len: %u, name: %.*s\n"
+msgstr "enumbeg, len: %u, name: %.*s\n"
+
+#: vms-alpha.c:7039
+#, c-format
+msgid "enumelt, name: %.*s\n"
+msgstr "enumelt, name: %.*s\n"
+
+#: vms-alpha.c:7043
+#, c-format
+msgid "enumend\n"
+msgstr "enumend\n"
+
+#: vms-alpha.c:7060
+#, c-format
+msgid "discontiguous range (nbr: %u)\n"
+msgstr "discontiguous range (nbr: %u)\n"
+
+#: vms-alpha.c:7062
+#, c-format
+msgid " address: 0x%08x, size: %u\n"
+msgstr " address: 0x%08x, size: %u\n"
+
+#: vms-alpha.c:7072
+#, c-format
+msgid "line num (len: %u)\n"
+msgstr "line num (len: %u)\n"
+
+#: vms-alpha.c:7089
+#, c-format
+msgid "delta_pc_w %u\n"
+msgstr "delta_pc_w %u\n"
+
+#: vms-alpha.c:7096
+#, c-format
+msgid "incr_linum(b): +%u\n"
+msgstr "incr_linum(b): +%u\n"
+
+#: vms-alpha.c:7102
+#, c-format
+msgid "incr_linum_w: +%u\n"
+msgstr "incr_linum_w: +%u\n"
+
+#: vms-alpha.c:7108
+#, c-format
+msgid "incr_linum_l: +%u\n"
+msgstr "incr_linum_l: +%u\n"
+
+#: vms-alpha.c:7114
+#, c-format
+msgid "set_line_num(w) %u\n"
+msgstr "set_line_num(w) %u\n"
+
+#: vms-alpha.c:7119
+#, c-format
+msgid "set_line_num_b %u\n"
+msgstr "set_line_num_b %u\n"
+
+#: vms-alpha.c:7124
+#, c-format
+msgid "set_line_num_l %u\n"
+msgstr "set_line_num_l %u\n"
+
+#: vms-alpha.c:7129
+#, c-format
+msgid "set_abs_pc: 0x%08x\n"
+msgstr "set_abs_pc: 0x%08x\n"
+
+#: vms-alpha.c:7133
+#, c-format
+msgid "delta_pc_l: +0x%08x\n"
+msgstr "delta_pc_l: +0x%08x\n"
+
+#: vms-alpha.c:7138
+#, c-format
+msgid "term(b): 0x%02x"
+msgstr "term(b): 0x%02x"
+
+#: vms-alpha.c:7140
+#, c-format
+msgid " pc: 0x%08x\n"
+msgstr "program counter: 0x%08x\n"
+
+#: vms-alpha.c:7145
+#, c-format
+msgid "term_w: 0x%04x"
+msgstr "term_w: 0x%04x"
+
+#: vms-alpha.c:7147
+#, c-format
+msgid " pc: 0x%08x\n"
+msgstr "program counter: 0x%08x\n"
+
+#: vms-alpha.c:7153
+#, c-format
+msgid "delta pc +%-4d"
+msgstr "delta pc +%-4d"
+
+#: vms-alpha.c:7156
+#, c-format
+msgid " pc: 0x%08x line: %5u\n"
+msgstr " pc: 0x%08x line: %5u\n"
+
+#: vms-alpha.c:7161
+#, c-format
+msgid " *unhandled* cmd %u\n"
+msgstr " *unhandled* cmd %u\n"
+
+#: vms-alpha.c:7176
+#, c-format
+msgid "source (len: %u)\n"
+msgstr "source (len: %u)\n"
+
+#: vms-alpha.c:7190
+#, c-format
+msgid " declfile: len: %u, flags: %u, fileid: %u\n"
+msgstr " declfile: len: %u, flags: %u, fileid: %u\n"
+
+#: vms-alpha.c:7194
+#, c-format
+msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+msgstr " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+
+#: vms-alpha.c:7203
+#, c-format
+msgid " filename : %.*s\n"
+msgstr " filename : %.*s\n"
+
+#: vms-alpha.c:7212
+#, c-format
+msgid " setfile %u\n"
+msgstr " setfile %u\n"
+
+#: vms-alpha.c:7217 vms-alpha.c:7222
+#, c-format
+msgid " setrec %u\n"
+msgstr " setrec %u\n"
+
+#: vms-alpha.c:7227 vms-alpha.c:7232
+#, c-format
+msgid " setlnum %u\n"
+msgstr " setlnum %u\n"
+
+#: vms-alpha.c:7237 vms-alpha.c:7242
+#, c-format
+msgid " deflines %u\n"
+msgstr " deflines %u\n"
+
+#: vms-alpha.c:7246
+#, c-format
+msgid " formfeed\n"
+msgstr " formfeed\n"
+
+#: vms-alpha.c:7250
+#, c-format
+msgid " *unhandled* cmd %u\n"
+msgstr " *unhandled* cmd %u\n"
+
+#: vms-alpha.c:7262
+#, c-format
+msgid "*unhandled* dst type %u\n"
+msgstr "*tidak tertangani* tipe dst %u\n"
+
+#: vms-alpha.c:7294
+#, c-format
+msgid "cannot read EIHD\n"
+msgstr "cannot read EIHD\n"
+
+#: vms-alpha.c:7297
+#, c-format
+msgid "EIHD: (size: %u, nbr blocks: %u)\n"
+msgstr "EIHD: (size: %u, nbr blocks: %u)\n"
+
+#: vms-alpha.c:7300
+#, c-format
+msgid " majorid: %u, minorid: %u\n"
+msgstr " majorid: %u, minorid: %u\n"
+
+#: vms-alpha.c:7308
+msgid "executable"
+msgstr "executable"
+
+#: vms-alpha.c:7311
+msgid "linkable image"
+msgstr "linkable image"
+
+#: vms-alpha.c:7317
+#, c-format
+msgid " image type: %u (%s)"
+msgstr " tipe gambar: %u (%s)"
+
+#: vms-alpha.c:7323
+msgid "native"
+msgstr "native"
+
+#: vms-alpha.c:7326
+msgid "CLI"
+msgstr "CLI"
+
+#: vms-alpha.c:7332
+#, c-format
+msgid ", subtype: %u (%s)\n"
+msgstr ", subtipe: %u (%s)\n"
+
+#: vms-alpha.c:7338
+#, c-format
+msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+msgstr " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+
+#: vms-alpha.c:7342
+#, c-format
+msgid " fixup info rva: "
+msgstr " fixup info rva: "
+
+#: vms-alpha.c:7344
+#, c-format
+msgid ", symbol vector rva: "
+msgstr ", symbol vector rva: "
+
+#: vms-alpha.c:7347
+#, c-format
+msgid ""
+"\n"
+" version array off: %u\n"
+msgstr ""
+"\n"
+" version array off: %u\n"
+
+#: vms-alpha.c:7351
+#, c-format
+msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
+msgstr " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
+
+#: vms-alpha.c:7357
+#, c-format
+msgid " linker flags: %08x:"
+msgstr " tanda penyambung: %08x;"
+
+#: vms-alpha.c:7387
+#, c-format
+msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+
+#: vms-alpha.c:7393
+#, c-format
+msgid " BPAGE: %u"
+msgstr " BPAGE: %u"
+
+#: vms-alpha.c:7399
+#, c-format
+msgid ", ext fixup offset: %u, no_opt psect off: %u"
+msgstr ", ext fixup offset: %u, no_opt psect off: %u"
+
+#: vms-alpha.c:7402
+#, c-format
+msgid ", alias: %u\n"
+msgstr ", alias: %u\n"
+
+#: vms-alpha.c:7410
+#, c-format
+msgid "system version array information:\n"
+msgstr "system version array information:\n"
+
+#: vms-alpha.c:7414
+#, c-format
+msgid "cannot read EIHVN header\n"
+msgstr "cannot read EIHVN header\n"
+
+#: vms-alpha.c:7424
+#, c-format
+msgid "cannot read EIHVN version\n"
+msgstr "cannot read EIHVN version\n"
+
+#: vms-alpha.c:7427
+#, c-format
+msgid " %02u "
+msgstr " %02u "
+
+#: vms-alpha.c:7431
+msgid "BASE_IMAGE "
+msgstr "BASE_IMAGE "
+
+#: vms-alpha.c:7434
+msgid "MEMORY_MANAGEMENT"
+msgstr "MEMORY_MANAGEMENT"
+
+#: vms-alpha.c:7437
+msgid "IO "
+msgstr "IO "
+
+#: vms-alpha.c:7440
+msgid "FILES_VOLUMES "
+msgstr "FILES_VOLUMES "
+
+#: vms-alpha.c:7443
+msgid "PROCESS_SCHED "
+msgstr "PROCESS_SCHED "
+
+#: vms-alpha.c:7446
+msgid "SYSGEN "
+msgstr "SYSGEN "
+
+#: vms-alpha.c:7449
+msgid "CLUSTERS_LOCKMGR "
+msgstr "CLUSTERS_LOCKMGR "
+
+#: vms-alpha.c:7452
+msgid "LOGICAL_NAMES "
+msgstr "LOGICAL_NAMES "
+
+#: vms-alpha.c:7455
+msgid "SECURITY "
+msgstr "SECURITY "
+
+#: vms-alpha.c:7458
+msgid "IMAGE_ACTIVATOR "
+msgstr "IMAGE_ACTIVATOR "
+
+#: vms-alpha.c:7461
+msgid "NETWORKS "
+msgstr "NETWORKS "
+
+#: vms-alpha.c:7464
+msgid "COUNTERS "
+msgstr "COUNTERS "
+
+#: vms-alpha.c:7467
+msgid "STABLE "
+msgstr "STABLE "
+
+#: vms-alpha.c:7470
+msgid "MISC "
+msgstr "MISC "
+
+#: vms-alpha.c:7473
+msgid "CPU "
+msgstr "CPU "
+
+#: vms-alpha.c:7476
+msgid "VOLATILE "
+msgstr "VOLATILE "
+
+#: vms-alpha.c:7479
+msgid "SHELL "
+msgstr "SHELL "
+
+#: vms-alpha.c:7482
+msgid "POSIX "
+msgstr "POSIX "
+
+#: vms-alpha.c:7485
+msgid "MULTI_PROCESSING "
+msgstr "MULTI_PROCESSING "
+
+#: vms-alpha.c:7488
+msgid "GALAXY "
+msgstr "GALAXY "
+
+#: vms-alpha.c:7491
+msgid "*unknown* "
+msgstr "*tidak diketahui* "
+
+#: vms-alpha.c:7494
+#, c-format
+msgid ": %u.%u\n"
+msgstr ": %u.%u\n"
+
+#: vms-alpha.c:7507 vms-alpha.c:7766
+#, c-format
+msgid "cannot read EIHA\n"
+msgstr "cannot read EIHA\n"
+
+#: vms-alpha.c:7510
+#, c-format
+msgid "Image activation: (size=%u)\n"
+msgstr "Image activation: (size=%u)\n"
+
+#: vms-alpha.c:7512
+#, c-format
+msgid " First address : 0x%08x 0x%08x\n"
+msgstr " First address : 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7515
+#, c-format
+msgid " Second address: 0x%08x 0x%08x\n"
+msgstr " Second address: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7518
+#, c-format
+msgid " Third address : 0x%08x 0x%08x\n"
+msgstr " Third address : 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7521
+#, c-format
+msgid " Fourth address: 0x%08x 0x%08x\n"
+msgstr " Fourth address: 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7524
+#, c-format
+msgid " Shared image : 0x%08x 0x%08x\n"
+msgstr " Shared image : 0x%08x 0x%08x\n"
+
+#: vms-alpha.c:7535
+#, c-format
+msgid "cannot read EIHI\n"
+msgstr "cannot read EIHI\n"
+
+#: vms-alpha.c:7538
+#, c-format
+msgid "Image identification: (major: %u, minor: %u)\n"
+msgstr "Image identification: (major: %u, minor: %u)\n"
+
+#: vms-alpha.c:7541
+#, c-format
+msgid " image name : %.*s\n"
+msgstr " nama program : %.*s\n"
+
+#: vms-alpha.c:7543
+#, c-format
+msgid " link time : %s\n"
+msgstr " waktu penyambungan: %s\n"
+
+#: vms-alpha.c:7545
+#, c-format
+msgid " image ident : %.*s\n"
+msgstr " identitas program: %.*s\n"
+
+#: vms-alpha.c:7547
+#, c-format
+msgid " linker ident : %.*s\n"
+msgstr " linker ident : %.*s\n"
+
+#: vms-alpha.c:7549
+#, c-format
+msgid " image build ident: %.*s\n"
+msgstr " image build ident: %.*s\n"
+
+#: vms-alpha.c:7559
+#, c-format
+msgid "cannot read EIHS\n"
+msgstr "cannot read EIHS\n"
+
+#: vms-alpha.c:7562
+#, c-format
+msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
+msgstr "Image symbol & debug table: (major: %u, minor: %u)\n"
+
+#: vms-alpha.c:7567
+#, c-format
+msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
+msgstr " debug symbol table : vbn: %u, size: %u (0x%x)\n"
+
+#: vms-alpha.c:7571
+#, c-format
+msgid " global symbol table: vbn: %u, records: %u\n"
+msgstr " global symbol table: vbn: %u, records: %u\n"
+
+#: vms-alpha.c:7575
+#, c-format
+msgid " debug module table : vbn: %u, size: %u\n"
+msgstr " debug module table : vbn: %u, size: %u\n"
+
+#: vms-alpha.c:7588
+#, c-format
+msgid "cannot read EISD\n"
+msgstr "cannot read EISD\n"
+
+#: vms-alpha.c:7598
+#, c-format
+msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
+msgstr "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
+
+#: vms-alpha.c:7605
+#, c-format
+msgid " section: base: 0x%08x%08x size: 0x%08x\n"
+msgstr " section: base: 0x%08x%08x size: 0x%08x\n"
+
+#: vms-alpha.c:7610
+#, c-format
+msgid " flags: 0x%04x"
+msgstr " tanda: 0x%04x"
+
+#: vms-alpha.c:7647
+#, c-format
+msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
+msgstr " vbn: %u, pfc: %u, matchctl: %u type: %u ("
+
+#: vms-alpha.c:7653
+msgid "NORMAL"
+msgstr "NORMAL"
+
+#: vms-alpha.c:7656
+msgid "SHRFXD"
+msgstr "SHRFXD"
+
+#: vms-alpha.c:7659
+msgid "PRVFXD"
+msgstr "PRVFXD"
+
+#: vms-alpha.c:7662
+msgid "SHRPIC"
+msgstr "SHRPIC"
+
+#: vms-alpha.c:7665
+msgid "PRVPIC"
+msgstr "PRVPIC"
+
+#: vms-alpha.c:7668
+msgid "USRSTACK"
+msgstr "USRSTACK"
+
+#: vms-alpha.c:7676
+#, c-format
+msgid " ident: 0x%08x, name: %.*s\n"
+msgstr " ident: 0x%08x, name: %.*s\n"
+
+#: vms-alpha.c:7686
+#, c-format
+msgid "cannot read DMT\n"
+msgstr "cannot read DMT\n"
+
+#: vms-alpha.c:7690
+#, c-format
+msgid "Debug module table:\n"
+msgstr "Debug module table:\n"
+
+#: vms-alpha.c:7699
+#, c-format
+msgid "cannot read DMT header\n"
+msgstr "cannot read DMT header\n"
+
+#: vms-alpha.c:7704
+#, c-format
+msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
+msgstr " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
+
+#: vms-alpha.c:7714
+#, c-format
+msgid "cannot read DMT psect\n"
+msgstr "cannot read DMT psect\n"
+
+#: vms-alpha.c:7717
+#, c-format
+msgid " psect start: 0x%08x, length: %u\n"
+msgstr " psect start: 0x%08x, length: %u\n"
+
+#: vms-alpha.c:7730
+#, c-format
+msgid "cannot read DST\n"
+msgstr "cannot read DST\n"
+
+#: vms-alpha.c:7740
+#, c-format
+msgid "cannot read GST\n"
+msgstr "cannot read GST\n"
+
+#: vms-alpha.c:7744
+#, c-format
+msgid "Global symbol table:\n"
+msgstr "Simbol tabel global:\n"
+
+#: vms-alpha.c:7772
+#, c-format
+msgid "Image activator fixup: (major: %u, minor: %u)\n"
+msgstr "Image activator fixup: (major: %u, minor: %u)\n"
+
+#: vms-alpha.c:7775
+#, c-format
+msgid " iaflink : 0x%08x %08x\n"
+msgstr " iaflink : 0x%08x %08x\n"
+
+#: vms-alpha.c:7778
+#, c-format
+msgid " fixuplnk: 0x%08x %08x\n"
+msgstr " fixuplnk: 0x%08x %08x\n"
+
+#: vms-alpha.c:7781
+#, c-format
+msgid " size : %u\n"
+msgstr " size : %u\n"
+
+#: vms-alpha.c:7783
+#, c-format
+msgid " flags: 0x%08x\n"
+msgstr " tanda: 0x%08x\n"
+
+#: vms-alpha.c:7787
+#, c-format
+msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
+msgstr " qrelfixoff: %5u, lrelfixoff: %5u\n"
+
+#: vms-alpha.c:7791
+#, c-format
+msgid " qdotadroff: %5u, ldotadroff: %5u\n"
+msgstr " qdotadroff: %5u, ldotadroff: %5u\n"
+
+#: vms-alpha.c:7795
+#, c-format
+msgid " codeadroff: %5u, lpfixoff : %5u\n"
+msgstr " codeadroff: %5u, lpfixoff : %5u\n"
+
+#: vms-alpha.c:7798
+#, c-format
+msgid " chgprtoff : %5u\n"
+msgstr " chgprtoff : %5u\n"
+
+#: vms-alpha.c:7801
+#, c-format
+msgid " shlstoff : %5u, shrimgcnt : %5u\n"
+msgstr " shlstoff : %5u, shrimgcnt : %5u\n"
+
+#: vms-alpha.c:7803
+#, c-format
+msgid " shlextra : %5u, permctx : %5u\n"
+msgstr " shlextra : %5u, permctx : %5u\n"
+
+#: vms-alpha.c:7806
+#, c-format
+msgid " base_va : 0x%08x\n"
+msgstr " basis alamat : 0x%08x\n"
+
+#: vms-alpha.c:7808
+#, c-format
+msgid " lppsbfixoff: %5u\n"
+msgstr " lppsbfixoff: %5u\n"
+
+#: vms-alpha.c:7816
+#, c-format
+msgid " Shareable images:\n"
+msgstr " Shareable images:\n"
+
+#: vms-alpha.c:7820
+#, c-format
+msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
+msgstr " %u: size: %u, flags: 0x%02x, name: %.*s\n"
+
+#: vms-alpha.c:7827
+#, c-format
+msgid " quad-word relocation fixups:\n"
+msgstr " relokasi empat-kata tidak dibenarkan:\n"
+
+#: vms-alpha.c:7832
+#, c-format
+msgid " long-word relocation fixups:\n"
+msgstr " long-word relocation fixups:\n"
+
+#: vms-alpha.c:7837
+#, c-format
+msgid " quad-word .address reference fixups:\n"
+msgstr " quad-word .address reference fixups:\n"
+
+#: vms-alpha.c:7842
+#, c-format
+msgid " long-word .address reference fixups:\n"
+msgstr " long-word .address reference fixups:\n"
+
+#: vms-alpha.c:7847
+#, c-format
+msgid " Code Address Reference Fixups:\n"
+msgstr " Kode Alamat Referensi Dibenarkan:\n"
+
+#: vms-alpha.c:7852
+#, c-format
+msgid " Linkage Pairs Referece Fixups:\n"
+msgstr " Linkage Pairs Referece Fixups:\n"
+
+#: vms-alpha.c:7861
+#, c-format
+msgid " Change Protection (%u entries):\n"
+msgstr " Change Protection (%u entries):\n"
+
+#: vms-alpha.c:7866
+#, c-format
+msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
+msgstr " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
+
+#. FIXME: we do not yet support relocatable link. It is not obvious
+#. how to do it for debug infos.
+#: vms-alpha.c:8706
+msgid "%P: relocatable link is not supported\n"
+msgstr "%P: link relokasi tidak didukung\n"
+
+#: vms-alpha.c:8776
+msgid "%P: multiple entry points: in modules %B and %B\n"
+msgstr "%P: multiple entry points: in modules %B and %B\n"
+
+#: vms-lib.c:1423
+#, c-format
+msgid "could not open shared image '%s' from '%s'"
+msgstr "could not open shared image '%s' from '%s'"
+
+#: vms-misc.c:360
+msgid "_bfd_vms_output_counted called with zero bytes"
+msgstr "_bfd_vms_output_counted dipanggil dengan zero bytes"
+
+#: vms-misc.c:365
+msgid "_bfd_vms_output_counted called with too many bytes"
+msgstr "_bfd_vms_output_counted dipanggil dengan terlalu banyak bytes"
#: xcofflink.c:836
#, c-format
@@ -3623,213 +5727,213 @@ msgstr "%s: XCOFF objek shared ketika tidak menghasilkan keluaran XCOFF"
msgid "%s: dynamic object with no .loader section"
msgstr "%s: objek dinamis dengan tidak ada daerah .loader"
-#: xcofflink.c:1415
+#: xcofflink.c:1416
msgid "%B: `%s' has line numbers but no enclosing section"
msgstr "%B: `%s' memiliki nomor baris tetapi tidak ditutupi daerah"
-#: xcofflink.c:1467
+#: xcofflink.c:1468
msgid "%B: class %d symbol `%s' has no aux entries"
msgstr "%B: kelas %d simbol `%s' tidak memiliki tambahan masukan"
-#: xcofflink.c:1489
+#: xcofflink.c:1490
msgid "%B: symbol `%s' has unrecognized csect type %d"
msgstr "%B: simbol `%s' memiliki tipe %d csect tidak dikenal"
-#: xcofflink.c:1501
+#: xcofflink.c:1502
msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
msgstr "%B: simbol XTY_ER buruk `%s': kelas %d scnum %d scnlen %d"
-#: xcofflink.c:1530
+#: xcofflink.c:1531
msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
msgstr "%B: XMC_TC0 simbol `%s' adalah kelas %d scnlen %d"
-#: xcofflink.c:1676
+#: xcofflink.c:1677
msgid "%B: csect `%s' not in enclosing section"
msgstr "%B: csect `%s' tidak dalam lingkup daerah"
-#: xcofflink.c:1783
+#: xcofflink.c:1784
msgid "%B: misplaced XTY_LD `%s'"
msgstr "%B: salah tempat XTY_LD `%s'"
-#: xcofflink.c:2102
+#: xcofflink.c:2103
msgid "%B: reloc %s:%d not in csect"
msgstr "%B: relokasi %s:%d tidak dalam csect"
-#: xcofflink.c:3177
+#: xcofflink.c:3194
#, c-format
msgid "%s: no such symbol"
msgstr "%s: tidak ada simbol seperti itu"
-#: xcofflink.c:3282
+#: xcofflink.c:3299
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
msgstr "peringatan: mencoba untuk mengekspor simbol tidak terdefinisi `%s'"
-#: xcofflink.c:3664
+#: xcofflink.c:3678
msgid "error: undefined symbol __rtinit"
msgstr "error: simbol tidak terdefinisi __rtinit"
-#: xcofflink.c:4041
+#: xcofflink.c:4057
msgid "%B: loader reloc in unrecognized section `%s'"
msgstr "%B: loader relokasi dalam daerah tidak dikenal `%s'"
-#: xcofflink.c:4052
+#: xcofflink.c:4068
msgid "%B: `%s' in loader reloc but not loader sym"
msgstr "%B: `%s' dalam relokasi loader tetapi bukan loader sym"
-#: xcofflink.c:4068
+#: xcofflink.c:4084
msgid "%B: loader reloc in read-only section %A"
msgstr "%B: loader relokasi dalam daerah baca-saja %A"
-#: xcofflink.c:5086
+#: xcofflink.c:5106
#, c-format
msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
msgstr "TOC overflow: 0x%lx > 0x10000; coba -mminimal-toc ketika mengkompile"
-#: elf32-ia64.c:1050 elf64-ia64.c:1050
+#: elf32-ia64.c:628 elf64-ia64.c:628
msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
msgstr "%B: Tidak dapat relaks br di 0x%lx dalam daerah `%A'. Tolong gunakan brl atau indirect branch."
-#: elf32-ia64.c:2739 elf64-ia64.c:2739
+#: elf32-ia64.c:2284 elf64-ia64.c:2284
msgid "@pltoff reloc against local symbol"
msgstr "@pltoff relokasi terhadap simbol lokal"
-#: elf32-ia64.c:4314 elf64-ia64.c:4314
+#: elf32-ia64.c:3687 elf64-ia64.c:3687
#, c-format
msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
msgstr "%s: short data segment overflowed (0x%lx >= 0x400000)"
-#: elf32-ia64.c:4325 elf64-ia64.c:4325
+#: elf32-ia64.c:3698 elf64-ia64.c:3698
#, c-format
msgid "%s: __gp does not cover short data segment"
msgstr "%s: __gp tidak meliputi segmen data pendek"
-#: elf32-ia64.c:4595 elf64-ia64.c:4595
+#: elf32-ia64.c:3965 elf64-ia64.c:3965
msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
msgstr "%B: bukan-pic kode dengan relokasi imm terhadap simbol dinamis `%s'"
-#: elf32-ia64.c:4662 elf64-ia64.c:4662
+#: elf32-ia64.c:4032 elf64-ia64.c:4032
msgid "%B: @gprel relocation against dynamic symbol %s"
msgstr "%B: @gprel relokasi terhadap simbol dinamis %s"
-#: elf32-ia64.c:4725 elf64-ia64.c:4725
+#: elf32-ia64.c:4095 elf64-ia64.c:4095
msgid "%B: linking non-pic code in a position independent executable"
msgstr "%B: menghubungkan dengan kode bukan-pic dalam sebuah executable bebas posisi"
-#: elf32-ia64.c:4862 elf64-ia64.c:4862
+#: elf32-ia64.c:4232 elf64-ia64.c:4232
msgid "%B: @internal branch to dynamic symbol %s"
msgstr "%B: @internal branck ke simbol dinamis %s"
-#: elf32-ia64.c:4864 elf64-ia64.c:4864
+#: elf32-ia64.c:4234 elf64-ia64.c:4234
msgid "%B: speculation fixup to dynamic symbol %s"
msgstr "%B: spekulasi fixup ke simbol dinamis %s"
-#: elf32-ia64.c:4866 elf64-ia64.c:4866
+#: elf32-ia64.c:4236 elf64-ia64.c:4236
msgid "%B: @pcrel relocation against dynamic symbol %s"
msgstr "%B: @pcrel relokasi terhadap simbol dinamis %s"
-#: elf32-ia64.c:5063 elf64-ia64.c:5063
+#: elf32-ia64.c:4433 elf64-ia64.c:4433
msgid "unsupported reloc"
msgstr "relokasi tidak didukung"
-#: elf32-ia64.c:5101 elf64-ia64.c:5101
+#: elf32-ia64.c:4471 elf64-ia64.c:4471
msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
msgstr "%B: hilang daerah TLS untuk relokasi %s terhadap `%s' di 0x%lx dalam daerah `%A'."
-#: elf32-ia64.c:5116 elf64-ia64.c:5116
+#: elf32-ia64.c:4486 elf64-ia64.c:4486
msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
msgstr "%B: Tidak dapat relaks br (%s) ke `%s' di 0x%lx dalam daerah `%A' dengan ukuran 0x%lx (> 0x1000000)."
-#: elf32-ia64.c:5372 elf64-ia64.c:5372
+#: elf32-ia64.c:4748 elf64-ia64.c:4748
msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
msgstr "%B: menghubungkan trap-on-NULL-dereference dengan berkas bukan-trapping"
-#: elf32-ia64.c:5381 elf64-ia64.c:5381
+#: elf32-ia64.c:4757 elf64-ia64.c:4757
msgid "%B: linking big-endian files with little-endian files"
msgstr "%B: menghubungkan berkas big-endian dengan berkas little-endian"
-#: elf32-ia64.c:5390 elf64-ia64.c:5390
+#: elf32-ia64.c:4766 elf64-ia64.c:4766
msgid "%B: linking 64-bit files with 32-bit files"
msgstr "%B: menghubungkan berkas 64-bit dengan berkas 32-bit"
-#: elf32-ia64.c:5399 elf64-ia64.c:5399
+#: elf32-ia64.c:4775 elf64-ia64.c:4775
msgid "%B: linking constant-gp files with non-constant-gp files"
msgstr "%B: menghubungkan berkas constant-gp dengan berkas bukan-constant-gp"
-#: elf32-ia64.c:5409 elf64-ia64.c:5409
+#: elf32-ia64.c:4785 elf64-ia64.c:4785
msgid "%B: linking auto-pic files with non-auto-pic files"
msgstr "%B: menghubungkan berkas auto-pic dengan berkas non-auto-pic"
-#: peigen.c:999 pepigen.c:999 pex64igen.c:999
+#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
#, c-format
msgid "%s: line number overflow: 0x%lx > 0xffff"
msgstr "%s: nomor baris overflow: 0x%lx > 0xffff"
-#: peigen.c:1026 pepigen.c:1026 pex64igen.c:1026
+#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
msgid "Export Directory [.edata (or where ever we found it)]"
msgstr "Direktori expor [.edata (atau dimanapun kita menemukannya)]"
-#: peigen.c:1027 pepigen.c:1027 pex64igen.c:1027
+#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
msgid "Import Directory [parts of .idata]"
msgstr "Impor Direktori [bagian dari .idata]"
-#: peigen.c:1028 pepigen.c:1028 pex64igen.c:1028
+#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
msgid "Resource Directory [.rsrc]"
msgstr "Resource Direktori [.rsrc]"
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
msgid "Exception Directory [.pdata]"
msgstr "Exception Direktori [.pdata]"
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
msgid "Security Directory"
msgstr "Direktori Keamanan"
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
msgid "Base Relocation Directory [.reloc]"
msgstr "Dasar Relokasi Direktori [.reloc]"
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
msgid "Debug Directory"
msgstr "Debug Direktori"
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
msgid "Description Directory"
msgstr "Direktori Penjelasan"
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
msgid "Special Directory"
msgstr "Direktori Spesial"
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
msgid "Thread Storage Directory [.tls]"
msgstr "Thread Storage Direktori [.tls]"
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
msgid "Load Configuration Directory"
msgstr "Direktori Konfigurasi Beban"
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
msgid "Bound Import Directory"
msgstr "Direktori Bound Impor"
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
msgid "Import Address Table Directory"
msgstr "Direktori Impor Tabel Alamat"
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
msgid "Delay Import Directory"
msgstr "Delay Impor Direktori"
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
msgid "CLR Runtime Header"
msgstr "CLR Runtime Header"
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
msgid "Reserved"
msgstr "Reserved"
-#: peigen.c:1101 pepigen.c:1101 pex64igen.c:1101
+#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
#, c-format
msgid ""
"\n"
@@ -3838,7 +5942,7 @@ msgstr ""
"\n"
"Ada tabel impor, tetapi daerah yang berisi itu tidak dapat ditemukan\n"
-#: peigen.c:1106 pepigen.c:1106 pex64igen.c:1106
+#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
#, c-format
msgid ""
"\n"
@@ -3847,7 +5951,7 @@ msgstr ""
"\n"
"Ada impor tabel di %s pada 0x%lx\n"
-#: peigen.c:1149 pepigen.c:1149 pex64igen.c:1149
+#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
#, c-format
msgid ""
"\n"
@@ -3856,12 +5960,12 @@ msgstr ""
"\n"
"Deskripsi fungsi ditempatkan di awal alamat: %04lx\n"
-#: peigen.c:1152 pepigen.c:1152 pex64igen.c:1152
+#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
#, c-format
msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
msgstr "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
-#: peigen.c:1160 pepigen.c:1160 pex64igen.c:1160
+#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
#, c-format
msgid ""
"\n"
@@ -3870,7 +5974,7 @@ msgstr ""
"\n"
"Tidak ada daerah reldata! Deskripsi fungsi tidak terdekode.\n"
-#: peigen.c:1165 pepigen.c:1165 pex64igen.c:1165
+#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
#, c-format
msgid ""
"\n"
@@ -3879,7 +5983,7 @@ msgstr ""
"\n"
"Tabel Impor (diinterpretasikan isi daerah %s)\n"
-#: peigen.c:1168 pepigen.c:1168 pex64igen.c:1168
+#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
#, c-format
msgid ""
" vma: Hint Time Forward DLL First\n"
@@ -3888,7 +5992,7 @@ msgstr ""
"vma: Tips Waktu Forward DLL Pertama\n"
" Tabel Stamp Rantai Nama Thunk\n"
-#: peigen.c:1216 pepigen.c:1216 pex64igen.c:1216
+#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
#, c-format
msgid ""
"\n"
@@ -3897,12 +6001,12 @@ msgstr ""
"\n"
"\tNama DLL: %s\n"
-#: peigen.c:1227 pepigen.c:1227 pex64igen.c:1227
+#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
#, c-format
msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
msgstr "\tvma: Tips/Ord Nama-Anggota Terikat-Ke\n"
-#: peigen.c:1252 pepigen.c:1252 pex64igen.c:1252
+#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
#, c-format
msgid ""
"\n"
@@ -3911,7 +6015,7 @@ msgstr ""
"\n"
"Ada thunk pertama, tetapi daerah yang berisi itu tidak dapat ditemukan\n"
-#: peigen.c:1417 pepigen.c:1417 pex64igen.c:1417
+#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
#, c-format
msgid ""
"\n"
@@ -3920,7 +6024,7 @@ msgstr ""
"\n"
"Ada tabel expor, tetapi daerah yang berisi itu tidak dapat ditemukan\n"
-#: peigen.c:1426 pepigen.c:1426 pex64igen.c:1426
+#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
#, c-format
msgid ""
"\n"
@@ -3929,7 +6033,7 @@ msgstr ""
"\n"
"Ada tabel expor dalam %s, tetapi ini tidak masuk dalam daerah itu\n"
-#: peigen.c:1432 pepigen.c:1432 pex64igen.c:1432
+#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
#, c-format
msgid ""
"\n"
@@ -3938,7 +6042,7 @@ msgstr ""
"\n"
"Ada sebuah tabel expor dalam %s di 0x%lx\n"
-#: peigen.c:1460 pepigen.c:1460 pex64igen.c:1460
+#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
#, c-format
msgid ""
"\n"
@@ -3948,67 +6052,67 @@ msgstr ""
"\n"
"Tabel expor (diinterpretasikan isi daerah %s)\n"
-#: peigen.c:1464 pepigen.c:1464 pex64igen.c:1464
+#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
#, c-format
msgid "Export Flags \t\t\t%lx\n"
msgstr "Tanda Expor \t\t\t%lx\n"
-#: peigen.c:1467 pepigen.c:1467 pex64igen.c:1467
+#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
#, c-format
msgid "Time/Date stamp \t\t%lx\n"
msgstr "Waktu/Tanggal stamp \t\t%lx\n"
-#: peigen.c:1470 pepigen.c:1470 pex64igen.c:1470
+#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
#, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
msgstr "Mayor/Minor \t\t\t%d/%d\n"
-#: peigen.c:1473 pepigen.c:1473 pex64igen.c:1473
+#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
#, c-format
msgid "Name \t\t\t\t"
msgstr "Nama \t\t\t\t"
-#: peigen.c:1479 pepigen.c:1479 pex64igen.c:1479
+#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
#, c-format
msgid "Ordinal Base \t\t\t%ld\n"
msgstr "Dasar Ordinal \t\t\t%ld\n"
-#: peigen.c:1482 pepigen.c:1482 pex64igen.c:1482
+#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
#, c-format
msgid "Number in:\n"
msgstr "Nomor dalam:\n"
-#: peigen.c:1485 pepigen.c:1485 pex64igen.c:1485
+#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
#, c-format
msgid "\tExport Address Table \t\t%08lx\n"
msgstr "\tTabel Alamat Expor \t\t%08lx\n"
-#: peigen.c:1489 pepigen.c:1489 pex64igen.c:1489
+#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
#, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
msgstr "\t[Nama Pointer/Ordinal] Tabel\t%08lx\n"
-#: peigen.c:1492 pepigen.c:1492 pex64igen.c:1492
+#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
#, c-format
msgid "Table Addresses\n"
msgstr "Tabel Alamat\n"
-#: peigen.c:1495 pepigen.c:1495 pex64igen.c:1495
+#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
#, c-format
msgid "\tExport Address Table \t\t"
msgstr "\tTabel Alamat Expor \t\t"
-#: peigen.c:1500 pepigen.c:1500 pex64igen.c:1500
+#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
#, c-format
msgid "\tName Pointer Table \t\t"
msgstr "\tTabel Nama Pointer \t\t"
-#: peigen.c:1505 pepigen.c:1505 pex64igen.c:1505
+#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
#, c-format
msgid "\tOrdinal Table \t\t\t"
msgstr "\tTabel Ordinal \t\t\t"
-#: peigen.c:1519 pepigen.c:1519 pex64igen.c:1519
+#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
#, c-format
msgid ""
"\n"
@@ -4017,15 +6121,15 @@ msgstr ""
"\n"
"Tabel Alamat Expor -- Ordinal Base %ld\n"
-#: peigen.c:1538 pepigen.c:1538 pex64igen.c:1538
+#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
msgid "Forwarder RVA"
msgstr "Forwarder RVA"
-#: peigen.c:1549 pepigen.c:1549 pex64igen.c:1549
+#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
msgid "Export RVA"
msgstr "Expor RVA"
-#: peigen.c:1556 pepigen.c:1556 pex64igen.c:1556
+#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
#, c-format
msgid ""
"\n"
@@ -4034,18 +6138,18 @@ msgstr ""
"\n"
"[Ordinal/Nama Pointer] Tabel\n"
-#: peigen.c:1616 peigen.c:1795 pepigen.c:1616 pepigen.c:1795 pex64igen.c:1616
-#: pex64igen.c:1795
+#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
+#: pex64igen.c:1797
#, c-format
msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
msgstr "Peringatan, besar (%ld) daerah .pdata tidak dalam kelipatan dari %d\n"
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
#, c-format
msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
msgstr " vma:\t\t\tAwal Alamat Akhir Alamat Unwind Informasi\n"
-#: peigen.c:1625 pepigen.c:1625 pex64igen.c:1625
+#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
#, c-format
msgid ""
" vma:\t\tBegin End EH EH PrologEnd Exception\n"
@@ -4054,22 +6158,22 @@ msgstr ""
" vma:\t\tAwal Akhir EH EH PrologEnd Exception\n"
" \t\tAlamat Alamat Handler Data Alamat Topeng\n"
-#: peigen.c:1695 pepigen.c:1695 pex64igen.c:1695
+#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
#, c-format
msgid " Register save millicode"
msgstr " Register simpan millicode"
-#: peigen.c:1698 pepigen.c:1698 pex64igen.c:1698
+#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
#, c-format
msgid " Register restore millicode"
msgstr " Register restore millicode"
-#: peigen.c:1701 pepigen.c:1701 pex64igen.c:1701
+#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
#, c-format
msgid " Glue code sequence"
msgstr " Urutan kode pengikat"
-#: peigen.c:1801 pepigen.c:1801 pex64igen.c:1801
+#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
#, c-format
msgid ""
" vma:\t\tBegin Prolog Function Flags Exception EH\n"
@@ -4078,7 +6182,7 @@ msgstr ""
" vma:\t\tMulai Prolog Fungsi Flags Exception EH\n"
" \t\tAlamat Panjang Panjang 32b exc Handler Data\n"
-#: peigen.c:1933 pepigen.c:1933 pex64igen.c:1933
+#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
#, c-format
msgid ""
"\n"
@@ -4089,7 +6193,7 @@ msgstr ""
"\n"
"Berkas Dasar Relokasi PE (diinterpretasikan isi daerah .reloc)\n"
-#: peigen.c:1963 pepigen.c:1963 pex64igen.c:1963
+#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
#, c-format
msgid ""
"\n"
@@ -4098,7 +6202,7 @@ msgstr ""
"\n"
"Alamat Maya: %08lx Besar potongan %ld (0x%lx) Jumlah dari perbaikan %ld\n"
-#: peigen.c:1976 pepigen.c:1976 pex64igen.c:1976
+#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
#, c-format
msgid "\treloc %4d offset %4x [%4lx] %s"
msgstr "\trelokasi %4d ofset %4x [%4lx] %s"
@@ -4106,7 +6210,7 @@ msgstr "\trelokasi %4d ofset %4x [%4lx] %s"
#. The MS dumpbin program reportedly ands with 0xff0f before
#. printing the characteristics field. Not sure why. No reason to
#. emulate it here.
-#: peigen.c:2015 pepigen.c:2015 pex64igen.c:2015
+#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
#, c-format
msgid ""
"\n"
@@ -4115,26 +6219,117 @@ msgstr ""
"\n"
"Karakteristik 0x%x\n"
-#: peigen.c:2292 pepigen.c:2292 pex64igen.c:2292
+#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
msgstr "%B: tidak dapat mengisi dalam DataDictionary[1] karena .idata$2 hilang"
-#: peigen.c:2312 pepigen.c:2312 pex64igen.c:2312
+#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
msgstr "%B: tidak dapat mengisi dalam DataDictionary[1] karena .data$4 hilang"
-#: peigen.c:2333 pepigen.c:2333 pex64igen.c:2333
+#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
msgstr "%B: tidak dapat mengisi dalam DataDictionary[12] karena .idata$5 hilang"
-#: peigen.c:2353 pepigen.c:2353 pex64igen.c:2353
+#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
msgstr "%B: tidak dapat mengisi dalam DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] karena .idata$6 hilang"
-#: peigen.c:2375 pepigen.c:2375 pex64igen.c:2375
+#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
+msgstr "%B: tidak dapat mengisi dalam DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] karena .idata$6 hilang"
+
+#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
msgstr "%B: tidak dapat mengisi dalam DataDictionary[9] karena __tls_used hilang"
+#~ msgid "Can't Make it a Short Jump"
+#~ msgstr "Tidak dapat membuka ini sebuah lompatan pendek"
+
+#~ msgid "Exceeds Long Jump Range"
+#~ msgstr "Melewati jangkauan lompatan panjang"
+
+#~ msgid "Absolute address Exceeds 16 bit Range"
+#~ msgstr "Alamat absolut melewati jangkauan 16 bit"
+
+#~ msgid "Absolute address Exceeds 8 bit Range"
+#~ msgstr "Alamat absolute melewati jangkauan 8 bit"
+
+#~ msgid "Unrecognized Reloc Type"
+#~ msgstr "Tipe relokasi tidak dikenal"
+
+#~ msgid "corrupt or empty %s section in %B"
+#~ msgstr "korup atau kosong %s bagian dalam %B"
+
+#~ msgid "%B(%A+0x%lx): cannot reach %s"
+#~ msgstr "%B(%A+0x%lx): tidak dapat mencapai %s"
+
+#~ msgid "%s: invalid DSO for symbol `%s' definition"
+#~ msgstr "%s: tidak valid DSO untuk simbol `%s' definisi"
+
+#~ msgid "%B: %A+0x%lx: jump to stub routine which is not jal"
+#~ msgstr "%B: %A+0x%lx: lompat ke routine stub dimana bukan jal"
+
+#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
+#~ msgstr "%B: peringatan: mengabaikan bagiann terduplikasi `%A'\n"
+
+#~ msgid "%B: warning: duplicate section `%A' has different size\n"
+#~ msgstr "%B: peringatan: bagian terduplikasi `%A' memiliki ukuran berbeda\n"
+
+#~ msgid "bfd_make_section (%s) failed"
+#~ msgstr "bfd_make_section (%s) gagal"
+
+#~ msgid "bfd_set_section_flags (%s, %x) failed"
+#~ msgstr "bfd_set_section_flags (%s, %x) gagal"
+
+#~ msgid "Size mismatch section %s=%lx, %s=%lx"
+#~ msgstr "Ukuran tidak cocok daerah %s=%lx, %s=%lx"
+
+#~ msgid "failed to enter %s"
+#~ msgstr "gagal untuk memasuki %s"
+
+#~ msgid "No Mem !"
+#~ msgstr "Tidak ada Memori !"
+
+#~ msgid "reserved STO cmd %d"
+#~ msgstr "reserved STO perintah %d"
+
+#~ msgid "reserved OPR cmd %d"
+#~ msgstr "reserved OPR perintah %d"
+
+#~ msgid "reserved CTL cmd %d"
+#~ msgstr "reserved CTL perintah %d"
+
+#~ msgid "reserved STC cmd %d"
+#~ msgstr "perintah %d direserve"
+
+#~ msgid "stack-from-image not implemented"
+#~ msgstr "stack-from-image tidak terimplementasi"
+
+#~ msgid "stack-entry-mask not fully implemented"
+#~ msgstr "stack-entry-mask tidak terimplementasi secara penuh"
+
+#~ msgid "PASSMECH not fully implemented"
+#~ msgstr "PASSMECH tidak terimplementasi secara penuh"
+
+#~ msgid "stack-local-symbol not fully implemented"
+#~ msgstr "stack-local-symbol tidak terimplementasi secara penuh"
+
+#~ msgid "stack-literal not fully implemented"
+#~ msgstr "stack-literal tidak terimplementasi secara penuh"
+
+#~ msgid "stack-local-symbol-entry-point-mask not fully implemented"
+#~ msgstr "stack-local-symbol-entry-point-mask tidak terimplementasi secara penuh"
+
+#~ msgid "%s: not fully implemented"
+#~ msgstr "%s: tidak terimplementasi secara penuh"
+
+#~ msgid "obj code %d not found"
+#~ msgstr "obj kode %d tidak ditemukan"
+
+#~ msgid "Reloc size error in section %s"
+#~ msgstr "Kesalahan ukuran relokasi dalam daerah %s"
+
#~ msgid "ERROR: %B: Incompatible object tag '%s':%d"
#~ msgstr "ERROR: %B: Tanda objek tidak kompatibel '%s':%d"
diff --git a/bfd/po/ja.po b/bfd/po/ja.po
index 9f36883..da371dc 100644
--- a/bfd/po/ja.po
+++ b/bfd/po/ja.po
@@ -12,6 +12,7 @@ msgstr ""
"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/ro.po b/bfd/po/ro.po
index 5706e4f..372c843 100644
--- a/bfd/po/ro.po
+++ b/bfd/po/ro.po
@@ -9,6 +9,7 @@ msgstr ""
"PO-Revision-Date: 2003-11-25 08:39+0200\n"
"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/ru.po b/bfd/po/ru.po
index bd29081..94f8bc8 100644
--- a/bfd/po/ru.po
+++ b/bfd/po/ru.po
@@ -12,6 +12,7 @@ msgstr ""
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/sr.po b/bfd/po/sr.po
index 49a42c4..c0e8a24 100644
--- a/bfd/po/sr.po
+++ b/bfd/po/sr.po
@@ -11,6 +11,7 @@ msgstr ""
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/sv.po b/bfd/po/sv.po
index df85670..7213fe2 100644
--- a/bfd/po/sv.po
+++ b/bfd/po/sv.po
@@ -13,6 +13,7 @@ msgstr ""
"Last-Translator: Josef Andersson <josef.andersson@fripost.org>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/tr.po b/bfd/po/tr.po
index 11630c6..17ba556 100644
--- a/bfd/po/tr.po
+++ b/bfd/po/tr.po
@@ -9,6 +9,7 @@ msgstr ""
"PO-Revision-Date: 2003-07-13 22:07+0300\n"
"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/po/uk.po b/bfd/po/uk.po
index 644f436..a2e49ea 100644
--- a/bfd/po/uk.po
+++ b/bfd/po/uk.po
@@ -2,175 +2,191 @@
# Copyright (C) 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
#
-# Yuri Chornoivan <yurchor@ukr.net>, 2012.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2014, 2017.
msgid ""
msgstr ""
-"Project-Id-Version: bfd 2.22.90\n"
+"Project-Id-Version: bfd 2.28.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-09-09 21:27+0300\n"
+"POT-Creation-Date: 2017-07-03 16:54+0200\n"
+"PO-Revision-Date: 2017-07-07 21:57+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 1.5\n"
-#: aout-adobe.c:127
+#: aout-adobe.c:126
+#, c-format
msgid "%B: Unknown section type in a.out.adobe file: %x\n"
msgstr "%B: невідомий тип розділу у файлі a.out.adobe: %x\n"
-#: aout-cris.c:199
+#: aout-cris.c:200
#, c-format
-msgid "%s: Invalid relocation type exported: %d"
-msgstr "%s: екÑпортовано некоректний тип переÑуваннÑ: %d"
+msgid "%B: Invalid relocation type exported: %d"
+msgstr "%B: екÑпортовано некоректний тип переÑуваннÑ: %d"
-#: aout-cris.c:242
+#: aout-cris.c:244
+#, c-format
msgid "%B: Invalid relocation type imported: %d"
msgstr "%B: імпортовано некоректний тип переÑуваннÑ: %d"
-#: aout-cris.c:253
+#: aout-cris.c:256
+#, c-format
msgid "%B: Bad relocation record imported: %d"
msgstr "%B: імпортовано помилковий Ð·Ð°Ð¿Ð¸Ñ Ð¿ÐµÑ€ÐµÑуваннÑ: %d"
-#: aoutx.h:1273 aoutx.h:1611
+#: aoutx.h:1284 aoutx.h:1621 pdp11.c:1152 pdp11.c:1413
#, c-format
-msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%s» у форматі об’єктних файлів a.out неможливе"
+msgid "%B: can not represent section `%A' in a.out object file format"
+msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%A» у форматі об’єктних файлів a.out неможливе"
-#: aoutx.h:1577
+#: aoutx.h:1585 pdp11.c:1385
#, c-format
-msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ Ñимволу «%s» у форматі об’єктних файлів a.out неможливе"
+msgid "%B: can not represent section for symbol `%s' in a.out object file format"
+msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð´Ð»Ñ Ñимволу «%s» у форматі об’єктних файлів a.out неможливе"
-#: aoutx.h:1579 vms-alpha.c:7671
+#: aoutx.h:1588 vms-alpha.c:7776
msgid "*unknown*"
msgstr "*невідомо*"
-#: aoutx.h:4018 aoutx.h:4344
+#: aoutx.h:2407 aoutx.h:2425
+msgid "%B: attempt to write out unknown reloc type"
+msgstr "%B: Ñпроба випиÑати невідомий тип переÑуваннÑ"
+
+#: aoutx.h:4077 aoutx.h:4398
msgid "%P: %B: unexpected relocation type\n"
msgstr "%P: %B: неочікуваний тип переÑуваннÑ\n"
-#: aoutx.h:5375
+#: aoutx.h:5424 pdp11.c:3708
#, c-format
-msgid "%s: relocatable link from %s to %s not supported"
-msgstr "%s: підтримки придатних до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñилань з %s до %s не передбачено"
+msgid "%B: relocatable link from %s to %s not supported"
+msgstr "%B: підтримки придатних до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñилань з %s до %s не передбачено"
-#: archive.c:2203
+#: archive.c:2293
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr "ПопередженнÑ: запиÑÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ було повільним: перезапиÑуємо чаÑову позначку\n"
-#: archive.c:2491
+#: archive.c:2405 linker.c:1408
+msgid "%B: plugin needed to handle lto object"
+msgstr "%B: Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ об'єкта lto потрібен додаток"
+
+#: archive.c:2634
msgid "Reading archive file mod timestamp"
msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‡Ð°Ñової позначки mod архівного файла"
-#: archive.c:2515
+#: archive.c:2658
msgid "Writing updated armap timestamp"
msgstr "ЗапиÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾Ñ— чаÑової позначки armap"
-#: bfd.c:398
+#: bfd.c:454
msgid "No error"
msgstr "Ðемає помилок"
-#: bfd.c:399
+#: bfd.c:455
msgid "System call error"
msgstr "Помилка ÑиÑтемного виклику"
-#: bfd.c:400
+#: bfd.c:456
msgid "Invalid bfd target"
msgstr "Ðекоректне Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ bfd"
-#: bfd.c:401
+#: bfd.c:457
msgid "File in wrong format"
msgstr "Файл у помилковому форматі"
-#: bfd.c:402
+#: bfd.c:458
msgid "Archive object file in wrong format"
msgstr "Ðрхівний об’єктний файл у помилковому форматі"
-#: bfd.c:403
+#: bfd.c:459
msgid "Invalid operation"
msgstr "Ðекоректна діÑ"
-#: bfd.c:404
+#: bfd.c:460
msgid "Memory exhausted"
msgstr "Пам’ÑÑ‚ÑŒ вичерпано"
-#: bfd.c:405
+#: bfd.c:461
msgid "No symbols"
msgstr "Ðемає Ñимволів"
-#: bfd.c:406
+#: bfd.c:462
msgid "Archive has no index; run ranlib to add one"
msgstr "У архіві немає покажчика; запуÑÑ‚Ñ–Ñ‚ÑŒ ranlib, щоб його додати"
-#: bfd.c:407
+#: bfd.c:463
msgid "No more archived files"
msgstr "Більше архівованих файлів немає"
-#: bfd.c:408
+#: bfd.c:464
msgid "Malformed archive"
msgstr "Ðрхів з пошкодженим форматуваннÑм"
-#: bfd.c:409
+#: bfd.c:465
+msgid "DSO missing from command line"
+msgstr "у командному Ñ€Ñдку пропущено DSO"
+
+#: bfd.c:466
msgid "File format not recognized"
msgstr "Формат файла не розпізнано"
-#: bfd.c:410
+#: bfd.c:467
msgid "File format is ambiguous"
msgstr "Формат файла є неоднозначним"
-#: bfd.c:411
+#: bfd.c:468
msgid "Section has no contents"
msgstr "Розділ не має вміÑту"
-#: bfd.c:412
+#: bfd.c:469
msgid "Nonrepresentable section on output"
msgstr "Розділ, непридатний Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…"
-#: bfd.c:413
+#: bfd.c:470
msgid "Symbol needs debug section which does not exist"
msgstr "Символ потребує розділу діагноÑтики, Ñкого не Ñ–Ñнує"
-#: bfd.c:414
+#: bfd.c:471
msgid "Bad value"
msgstr "помилкове значеннÑ"
-#: bfd.c:415
+#: bfd.c:472
msgid "File truncated"
msgstr "Файл обрізано"
-#: bfd.c:416
+#: bfd.c:473
msgid "File too big"
msgstr "Файл є надто великим"
-#: bfd.c:417
+#: bfd.c:474
#, c-format
msgid "Error reading %s: %s"
msgstr "Помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ %s: %s"
-#: bfd.c:418
+#: bfd.c:475
msgid "#<Invalid error code>"
msgstr "#<некоректний код помилки>"
-#: bfd.c:945
+#: bfd.c:1138
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr "Оператором контролю BFD %s виÑвлено помилку %s:%d"
-#: bfd.c:957
+#: bfd.c:1151
#, c-format
-msgid "BFD %s internal error, aborting at %s line %d in %s\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, перериваємо роботу у %s, Ñ€Ñдок %d у %s\n"
+msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, перериваємо роботу у %s:%d у %s\n"
-#: bfd.c:961
+#: bfd.c:1156
#, c-format
-msgid "BFD %s internal error, aborting at %s line %d\n"
-msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, перериваємо роботу у %s, Ñ€Ñдок %d\n"
+msgid "BFD %s internal error, aborting at %s:%d\n"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° BFD %s, перериваємо роботу у %s:%d\n"
-#: bfd.c:963
+#: bfd.c:1158
msgid "Please report this bug.\n"
msgstr "Будь лаÑка, повідомте про цю ваду.\n"
@@ -184,22 +200,23 @@ msgstr "не відображено: дані=%lx відображено=%d\n"
msgid "not mapping: env var not set\n"
msgstr "не відображено: не вÑтановлено змінну Ñередовища var\n"
-#: binary.c:271
+#: binary.c:276
#, c-format
-msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "ПопередженнÑ: виконуєтьÑÑ Ð·Ð°Ð¿Ð¸Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%s» за надто великим (тобто від’ємним) відÑтупом у файлі, 0x%lx."
+msgid "warning: writing section `%A' at huge (ie negative) file offset 0x%lx."
+msgstr "попередженнÑ: виконуєтьÑÑ Ð·Ð°Ð¿Ð¸Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%A» за надто великим (тобто від’ємним) відÑтупом у файлі, 0x%lx."
-#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
-#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
-#: elf64-ia64.c:360
+#: bout.c:1142 elf-m10300.c:2651 elf32-avr.c:2484 elf32-frv.c:5633
+#: elf64-ia64-vms.c:353 elfxx-sparc.c:2989 reloc.c:8017 reloc16.c:156
+#: elf32-ia64.c:351 elf64-ia64.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr "%P%F: --relax Ñ– -r не можна викориÑтовувати одночаÑно\n"
-#: cache.c:227
+#: cache.c:273
+#, c-format
msgid "reopening %B: %s\n"
msgstr "повторне Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ %B: %s\n"
-#: coff-alpha.c:491
+#: coff-alpha.c:450
msgid ""
"%B: Cannot handle compressed Alpha binaries.\n"
" Use compiler flags, or objZ, to generate uncompressed binaries."
@@ -207,42 +224,44 @@ msgstr ""
"%B: обробка ÑтиÑнутих двійкових файлів Alpha неможлива.\n"
" СкориÑтайтеÑÑ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñми компілÑтора або objZ Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½ÐµÑтиÑнених двійкових файлів."
-#: coff-alpha.c:648
+#: coff-alpha.c:602
msgid "%B: unknown/unsupported relocation type %d"
msgstr "%B: невідомий або непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
-#: coff-alpha.c:900 coff-alpha.c:937 coff-alpha.c:2025 coff-mips.c:1003
+#: coff-alpha.c:851 coff-alpha.c:888 coff-alpha.c:1961 coff-mips.c:944
msgid "GP relative relocation used when GP not defined"
msgstr "ВикориÑтано відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ GP, втім, GP не визначено"
-#: coff-alpha.c:1502
+#: coff-alpha.c:1444
msgid "using multiple gp values"
msgstr "викориÑтовуєтьÑÑ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ° значень gp"
-#: coff-alpha.c:1561
+#: coff-alpha.c:1503
msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH"
msgstr "%B: переÑуваннÑ, підтримки Ñкого не передбачено: ALPHA_R_GPRELHIGH"
-#: coff-alpha.c:1568
+#: coff-alpha.c:1510
msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
msgstr "%B: переÑуваннÑ, підтримки Ñкого не передбачено: ALPHA_R_GPRELLOW"
-#: coff-alpha.c:1575 elf32-m32r.c:2484 elf64-alpha.c:4074 elf64-alpha.c:4224
-#: elf32-ia64.c:3839 elf64-ia64.c:3839
+#: coff-alpha.c:1518 elf32-i370.c:1085 elf32-m32r.c:2418
+#: elf32-microblaze.c:952 elf64-alpha.c:4167 elf64-alpha.c:4315
+#: elf64-ia64-vms.c:3431 elf32-ia64.c:3839 elf64-ia64.c:3839
+#, c-format
msgid "%B: unknown relocation type %d"
msgstr "%B: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
-#: coff-arm.c:1038
+#: coff-arm.c:1032
#, c-format
msgid "%B: unable to find THUMB glue '%s' for `%s'"
msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñклейку THUMB «%s» Ð´Ð»Ñ Â«%s»"
-#: coff-arm.c:1067
+#: coff-arm.c:1061
#, c-format
msgid "%B: unable to find ARM glue '%s' for `%s'"
msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñклейку ARM «%s» Ð´Ð»Ñ Â«%s»"
-#: coff-arm.c:1369 elf32-arm.c:7023
+#: coff-arm.c:1363 elf32-arm.c:8896
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -251,7 +270,7 @@ msgstr ""
"%B(%s): попередженнÑ: ÑуміÑну роботу не увімкнено.\n"
" перша згадка: %B: виклик arm до thumb"
-#: coff-arm.c:1459
+#: coff-arm.c:1453
#, c-format
msgid ""
"%B(%s): warning: interworking not enabled.\n"
@@ -262,317 +281,488 @@ msgstr ""
" перша згадка: %B: виклик arm до arm\n"
" Ñпробуйте повторне Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· увімкненим --support-old-code"
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
+#: coff-arm.c:1746 coff-tic80.c:670 cofflink.c:3123
+#, c-format
msgid "%B: bad reloc address 0x%lx in section `%A'"
msgstr "%B: помилкова адреÑа переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%lx у розділі «%A»"
-#: coff-arm.c:2079
+#: coff-arm.c:2071
+#, c-format
msgid "%B: illegal symbol index in reloc: %d"
msgstr "%B: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу у переÑуванні: %d"
-#: coff-arm.c:2210
+#: coff-arm.c:2203
#, c-format
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr "помилка: %B зібрано Ð´Ð»Ñ APCS-%d, а %B зібрано Ð´Ð»Ñ APCS-%d"
-#: coff-arm.c:2226 elf32-arm.c:15621
+#: coff-arm.c:2216 elf32-arm.c:19756
#, c-format
msgid "error: %B passes floats in float registers, whereas %B passes them in integer registers"
msgstr "помилка: %B передає чиÑла з рухомою комою до регіÑтрів, а %B передає Ñ—Ñ… у цілочиÑельні регіÑтри"
-#: coff-arm.c:2229 elf32-arm.c:15625
+#: coff-arm.c:2221 elf32-arm.c:19760
#, c-format
msgid "error: %B passes floats in integer registers, whereas %B passes them in float registers"
msgstr "помилка: %B передає цілі чиÑла до регіÑтрів, а %B передає Ñ—Ñ… у регіÑтри чиÑел з рухомою комою"
-#: coff-arm.c:2243
+#: coff-arm.c:2233
#, c-format
msgid "error: %B is compiled as position independent code, whereas target %B is absolute position"
msgstr "помилка: %B зібрано Ñк код з незалежним позиціюваннÑм, а Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %B визначено у форматі абÑолютної позиції"
-#: coff-arm.c:2246
+#: coff-arm.c:2238
#, c-format
msgid "error: %B is compiled as absolute position code, whereas target %B is position independent"
msgstr "помилка: %B зібрано Ñк код з абÑолютним позиціюваннÑм, а Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %B визначено у форматі незалежної позиції"
-#: coff-arm.c:2274 elf32-arm.c:15690
+#: coff-arm.c:2265 elf32-arm.c:19825
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr "ПопередженнÑ: у %B передбачено ÑуміÑну роботу, а у %B не передбачено"
-#: coff-arm.c:2277 elf32-arm.c:15696
+#: coff-arm.c:2270 elf32-arm.c:19831
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr "ПопередженнÑ: у %B не передбачено ÑуміÑної роботи, а у %B передбачено"
-#: coff-arm.c:2301
+#: coff-arm.c:2293
#, c-format
msgid "private flags = %x:"
msgstr "закриті прапорці = %x:"
-#: coff-arm.c:2309 elf32-arm.c:11806
+#: coff-arm.c:2301 elf32-arm.c:14156
#, c-format
msgid " [floats passed in float registers]"
msgstr " [чиÑла з рухомою комою передано до регіÑтрів чиÑел з рухомою комою]"
-#: coff-arm.c:2311
+#: coff-arm.c:2303
#, c-format
msgid " [floats passed in integer registers]"
msgstr " [чиÑла з рухомою комою передано до цілочиÑельних регіÑтрів]"
-#: coff-arm.c:2314 elf32-arm.c:11809
+#: coff-arm.c:2306 elf32-arm.c:14159
#, c-format
msgid " [position independent]"
msgstr " [незалежний від позиції]"
-#: coff-arm.c:2316
+#: coff-arm.c:2308
#, c-format
msgid " [absolute position]"
msgstr " [з абÑолютним позиціюваннÑм]"
-#: coff-arm.c:2320
+#: coff-arm.c:2312
#, c-format
msgid " [interworking flag not initialised]"
msgstr " [прапорець ÑуміÑної роботи не ініціалізовано]"
-#: coff-arm.c:2322
+#: coff-arm.c:2314
#, c-format
msgid " [interworking supported]"
msgstr " [підтримуєтьÑÑ ÑуміÑна робота]"
-#: coff-arm.c:2324
+#: coff-arm.c:2316
#, c-format
msgid " [interworking not supported]"
msgstr " [ÑуміÑна робота не підтримуєтьÑÑ]"
-#: coff-arm.c:2370 elf32-arm.c:10841
-#, c-format
+#: coff-arm.c:2361 elf32-arm.c:13017
msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"
msgstr "ПопередженнÑ: прапорець ÑуміÑної роботи у %B не вÑтановлено, оÑкільки його вже було визначено так, щоб він заборонÑв ÑуміÑну роботу"
-#: coff-arm.c:2374 elf32-arm.c:10845
-#, c-format
+#: coff-arm.c:2364 elf32-arm.c:13021
msgid "Warning: Clearing the interworking flag of %B due to outside request"
msgstr "ПопередженнÑ: знÑто прапорець ÑуміÑної роботи у %B у відповідь на запит ззовні"
-#: coff-h8300.c:1122
+#: coff-arm.c:2421 elf32-arm.c:13066
+#, c-format
+msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
+msgstr "ПопередженнÑ: знÑто прапорець ÑуміÑної роботи у %B, оÑкільки з ним компонуєтьÑÑ ÐºÐ¾Ð´, Ñкий непридатний до Ñпільної роботи, у %B"
+
+#: coff-h8300.c:1068
#, c-format
msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ обробити R_MEM_INDIRECT, Ñкщо викориÑтано Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾ %s"
-#: coff-i860.c:147
+#: coff-i860.c:146
#, c-format
msgid "relocation `%s' not yet implemented"
msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%s» ще не реалізовано"
-#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
+#: coff-i860.c:608 coff-tic4x.c:227 coff-tic54x.c:365 coffcode.h:5314
+#, c-format
msgid "%B: warning: illegal symbol index %ld in relocs"
msgstr "%B: попередженнÑ: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %ld у переÑуваннÑÑ…"
-#: coff-i960.c:144 coff-i960.c:507
+#: coff-i960.c:122 coff-i960.c:475
msgid "uncertain calling convention for non-COFF symbol"
msgstr "непевні правила виклику Ð´Ð»Ñ Ñимволу поза COFF"
-#: coff-m68k.c:506 elf32-bfin.c:5690 elf32-cr16.c:2897 elf32-m68k.c:4677
+#: coff-m68k.c:483 elf32-bfin.c:5530 elf32-cr16.c:2817 elf32-m68k.c:4574
msgid "unsupported reloc type"
msgstr "непідтримуваний тип переÑуваннÑ"
-#: coff-mips.c:688 elf32-mips.c:1516 elf32-score.c:431 elf32-score7.c:330
-#: elf64-mips.c:2618 elfn32-mips.c:2431
+#: coff-mips.c:634 elf32-mips.c:1744 elf32-score.c:430 elf32-score7.c:330
+#: elf64-mips.c:3135 elfn32-mips.c:2954
msgid "GP relative relocation when _gp not defined"
msgstr "відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ GP, але _gp не визначено"
-#: coff-or32.c:229
-msgid "Unrecognized reloc"
-msgstr "Ðерозпізнане переÑуваннÑ"
-
-#: coff-rs6000.c:2720
+#: coff-rs6000.c:2747
#, c-format
-msgid "%s: unsupported relocation type 0x%02x"
-msgstr "%s: непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%02x"
+msgid "%B: unsupported relocation type 0x%02x"
+msgstr "%B: непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%02x"
-#: coff-rs6000.c:2805
+#: coff-rs6000.c:2833
#, c-format
-msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%s: переÑÑƒÐ²Ð°Ð½Ð½Ñ TOC за адреÑою 0x%x до Ñимволу «%s», Ñкий немає запиÑу у TOC"
+msgid "%B: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ TOC за адреÑою 0x%x до Ñимволу «%s», Ñкий немає запиÑу у TOC"
-#: coff-rs6000.c:3556 coff64-rs6000.c:2111
+#: coff-rs6000.c:3579 coff64-rs6000.c:2110
+#, c-format
msgid "%B: symbol `%s' has unrecognized smclas %d"
msgstr "%B: Ñимвол «%s» належить до нерозпізнаного smclas %d"
-#: coff-sh.c:521
+#: coff-sh.c:504
#, c-format
msgid "SH Error: unknown reloc type %d"
msgstr "Помилка SH: невідомий тип переÑуваннÑ, %d"
-#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
+#: coff-sh.c:778 elf32-sh.c:580
#, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr "Ðерозпізнаний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%x"
+msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
+msgstr "%B: 0x%lx: попередженнÑ: помилковий відÑтуп R_SH_USES"
+
+#: coff-sh.c:789 elf32-sh.c:592
+#, c-format
+msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: попередженнÑ: R_SH_USES вказує на нерозпізнану інÑтрукцію 0x%x"
+
+#: coff-sh.c:807 elf32-sh.c:610
+#, c-format
+msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
+msgstr "%B: 0x%lx: попередженнÑ: помилковий відÑтуп Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ R_SH_USES"
+
+#: coff-sh.c:832 elf32-sh.c:626
+#, c-format
+msgid "%B: 0x%lx: warning: could not find expected reloc"
+msgstr "%B: 0x%lx: попередженнÑ: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очікуване переÑуваннÑ"
+
+#: coff-sh.c:849 elf32-sh.c:655
+#, c-format
+msgid "%B: 0x%lx: warning: symbol in unexpected section"
+msgstr "%B: 0x%lx: попередженнÑ: Ñимвол у неочікуваному розділі"
+
+#: coff-sh.c:975 elf32-sh.c:785
+#, c-format
+msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
+msgstr "%B: 0x%lx: попередженнÑ: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очікуване переÑÑƒÐ²Ð°Ð½Ð½Ñ COUNT"
+
+#: coff-sh.c:985 elf32-sh.c:795
+#, c-format
+msgid "%B: 0x%lx: warning: bad count"
+msgstr "%B: 0x%lx: попередженнÑ: помилковий лічильник"
-#: coff-tic4x.c:240
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1199 elf32-sh.c:1570
#, c-format
-msgid "%s: warning: illegal symbol index %ld in relocs"
-msgstr "%s: попередженнÑ: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %ld у переÑуваннÑÑ…"
+msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
+msgstr "%B: 0x%lx: критична помилка: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— розміру"
-#: coff-w65.c:367
+#: coff-sh.c:1452
+msgid "%B: fatal: generic symbols retrieved before relaxing"
+msgstr "%B: критична помилка: отримано загальні Ñимволи до оптимізації розміру"
+
+#: coff-sh.c:2783 cofflink.c:2961
+#, c-format
+msgid "%B: illegal symbol index %ld in relocs"
+msgstr "%B: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %ld у переÑуваннÑÑ…"
+
+#: coff-tic4x.c:183 coff-tic54x.c:278 coff-tic80.c:439
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr "Ðерозпізнаний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%x"
+
+#: coff-w65.c:352
#, c-format
msgid "ignoring reloc %s\n"
msgstr "ігноруємо переÑÑƒÐ²Ð°Ð½Ð½Ñ %s\n"
-#: coffcode.h:997
+#: coffcode.h:968
+msgid "%B: unable to load COMDAT section name"
+msgstr "%B: не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ назву розділу COMDAT"
+
+#: coffcode.h:1009
+#, c-format
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
msgstr "%B: попередженнÑ: Ñимвол COMDAT «%s» не відповідає назві розділу «%s»"
+#: coffcode.h:1019
+#, c-format
+msgid "%B: warning: No symbol for section '%s' found"
+msgstr "%B: попередженнÑ: не знайдено Ñимволу Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%s»"
+
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
-#: coffcode.h:1221
+#: coffcode.h:1245
+#, c-format
msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"
msgstr "%B: попередженнÑ: ігноруємо прапорець розділу IMAGE_SCN_MEM_NOT_PAGED у розділі %s"
-#: coffcode.h:1288
+#: coffcode.h:1314
+#, c-format
msgid "%B (%s): Section flag %s (0x%x) ignored"
msgstr "%B (%s): прапорець розділу %s (0x%x) проігноровано"
-#: coffcode.h:2430
+#: coffcode.h:1949
+msgid "%B: warning: claims to have 0xffff relocs, without overflow"
+msgstr "%B: попередженнÑ: вимога щодо 0xffff переÑувань без переповненнÑ"
+
+#: coffcode.h:2465
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
msgstr "Ðерозпізнаний ідентифікатор Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TI COFF, «0x%x»"
-#: coffcode.h:2744
-msgid "%B: reloc against a non-existant symbol index: %ld"
+#: coffcode.h:2783
+#, c-format
+msgid "%B: reloc against a non-existent symbol index: %ld"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° неÑтвореним індекÑом Ñимволу: %ld"
-#: coffcode.h:3302
+#: coffcode.h:3186
+#, c-format
+msgid "%B: page size is too large (0x%x)"
+msgstr "%B: надто великий розмір Ñторінки (0x%x)"
+
+#: coffcode.h:3346
+#, c-format
msgid "%B: too many sections (%d)"
msgstr "%B: занадто багато розділів (%d)"
-#: coffcode.h:3718
-msgid "%B: section %s: string table overflow at offset %ld"
-msgstr "%B: розділ %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñдків за відÑтупом %ld"
+#: coffcode.h:3767
+#, c-format
+msgid "%B: section %A: string table overflow at offset %ld"
+msgstr "%B: розділ %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñдків за відÑтупом %ld"
-#: coffcode.h:4523
+#: coffcode.h:4585
msgid "%B: warning: line number table read failed"
msgstr "%B: попередженнÑ: помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· таблиці номерів Ñ€Ñдків"
-#: coffcode.h:4553
-msgid "%B: warning: illegal symbol index %ld in line numbers"
-msgstr "%B: попередженнÑ: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %ld у номерах Ñ€Ñдків"
+#: coffcode.h:4619 coffcode.h:4633
+#, c-format
+msgid "%B: warning: illegal symbol index 0x%lx in line number entry %d"
+msgstr "%B: попередженнÑ: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу 0x%lx у запиÑÑ– номера Ñ€Ñдка %d"
+
+#: coffcode.h:4647
+#, c-format
+msgid "%B: warning: illegal symbol in line number entry %d"
+msgstr "%B: попередженнÑ: некоректний Ñимвол у запиÑÑ– номера Ñ€Ñдка %d"
-#: coffcode.h:4567
+#: coffcode.h:4660
+#, c-format
msgid "%B: warning: duplicate line number information for `%s'"
msgstr "%B: попередженнÑ: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… щодо номерів Ñ€Ñдків Ð´Ð»Ñ Â«%s»"
-#: coffcode.h:4967
+#: coffcode.h:5074
+#, c-format
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
msgstr "%B: невідомий ÐºÐ»Ð°Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %d Ð´Ð»Ñ Ñимволу %s «%s»"
-#: coffcode.h:5093
+#: coffcode.h:5207
+#, c-format
msgid "warning: %B: local symbol `%s' has no section"
msgstr "попередженнÑ: %B: локальний Ñимвол «%s» не має розділу"
-#: coffcode.h:5237
+#: coffcode.h:5354
+#, c-format
msgid "%B: illegal relocation type %d at address 0x%lx"
msgstr "%B: некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d за адреÑою 0x%lx"
-#: coffgen.c:1595
+#: coffgen.c:178 elf.c:1181
+#, c-format
+msgid "%B: unable to initialize compress status for section %s"
+msgstr "%B: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñтан ÑтиÑÐºÐ°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+
+#: coffgen.c:202 elf.c:1192
+#, c-format
+msgid "%B: unable to initialize decompress status for section %s"
+msgstr "%B: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñтан Ñ€Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+
+#. PR 21013: Provide an error message when the alloc fails.
+#: coffgen.c:1648
+msgid "%B: Not enough memory to allocate space for %lu symbols"
+msgstr "%B: недоÑтатньо пам'ÑÑ‚Ñ– Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð´Ð»Ñ %lu Ñимволів"
+
+#: coffgen.c:1716
+#, c-format
msgid "%B: bad string table size %lu"
msgstr "%B: помилковий розмір таблиці Ñ€Ñдків %lu"
-#: coffgen.c:2500 elflink.c:12689 linker.c:3122
+#: coffgen.c:1885 coffgen.c:1945 coffgen.c:1963 cofflink.c:2041
+#: xcofflink.c:4507
+msgid "<corrupt>"
+msgstr "<пошкоджено>"
+
+#: coffgen.c:2087
+#, c-format
+msgid "<corrupt info> %s"
+msgstr "<пошкоджені дані> %s"
+
+#: coffgen.c:2666 elflink.c:14044 linker.c:2931
msgid "%F%P: already_linked_table: %E\n"
msgstr "%F%P: already_linked_table: %E\n"
-#: cofflink.c:533 elflink.c:4323
+#: coffgen.c:3007 elflink.c:13059
+#, c-format
+msgid "Removing unused section '%A' in file '%B'"
+msgstr "Вилучаємо невикориÑтовуваний розділ «%A» у файлі «%B»"
+
+#: coffgen.c:3084 elflink.c:13304
+msgid "Warning: gc-sections option ignored"
+msgstr "ПопередженнÑ: параметр gc-sections проігноровано"
+
+#: cofflink.c:348
+#, c-format
+msgid "Warning: symbol `%s' is both section and non-section"
+msgstr "ПопередженнÑ: Ñимвол «%s» Ñ” у розділі Ñ– поза розділом"
+
+#: cofflink.c:450 elf64-ia64-vms.c:5188 elflink.c:4788
+#, c-format
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
msgstr "ПопередженнÑ: тип Ñимволу «%s» змінено з %d на %d у %B"
-#: cofflink.c:2329
+#: cofflink.c:2369
+#, c-format
msgid "%B: relocs in section `%A', but it has no contents"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі «%A», але у цьому розділі немає зміÑту"
-#: cofflink.c:2391 elflink.c:9545
+#: cofflink.c:2432 elflink.c:10567
+#, c-format
msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
msgstr "Ðа %X«%s» поÑилаєтьÑÑ Ñ€Ð¾Ð·Ð´Ñ–Ð» «%A» %B: визначено у відкинутому розділі «%A» %B\n"
-#: cofflink.c:2690 coffswap.h:826
+#: cofflink.c:2730
+#, c-format
+msgid "%B: %A: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑуваннÑ: 0x%lx > 0xffff"
+
+#: cofflink.c:2738
+#, c-format
+msgid "%B: warning: %A: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: попередженнÑ: %A: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка: 0x%lx > 0xffff"
+
+#: coffswap.h:811
#, c-format
-msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
-msgstr "%s: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑуваннÑ: 0x%lx > 0xffff"
+msgid "%B: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: попередженнÑ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка: 0x%lx > 0xffff"
-#: cofflink.c:2699 coffswap.h:812
+#: coffswap.h:825
#, c-format
-msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: попередженнÑ: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка: 0x%lx > 0xffff"
+msgid "%B: %s: reloc overflow: 0x%lx > 0xffff"
+msgstr "%B: %s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑуваннÑ: 0x%lx > 0xffff"
-#: cpu-arm.c:189 cpu-arm.c:200
+#: compress.c:255
+#, c-format
+msgid "error: %B(%A) is too large (%#lx bytes)"
+msgstr "помилка: %B(%A) є надто великим (%#lx байтів)"
+
+#: cpu-arm.c:192 cpu-arm.c:204
+#, c-format
msgid "error: %B is compiled for the EP9312, whereas %B is compiled for XScale"
msgstr "помилка: B зібрано Ð´Ð»Ñ EP9312, а %B зібрано Ð´Ð»Ñ XScale"
-#: cpu-arm.c:333
+#: cpu-arm.c:338
#, c-format
-msgid "warning: unable to update contents of %s section in %s"
-msgstr "попередженнÑ: не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ зміÑÑ‚ розділу %s у %s"
+msgid "warning: unable to update contents of %s section in %B"
+msgstr "попередженнÑ: не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ зміÑÑ‚ розділу %s у %B"
-#: dwarf2.c:496
+#: dwarf2.c:532
#, c-format
msgid "Dwarf Error: Can't find %s section."
msgstr "Помилка dwarf: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ розділ %s."
-#: dwarf2.c:525
+#: dwarf2.c:562
#, c-format
msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
msgstr "Помилка dwarf: відÑтуп (%lu) Ñ” більшим або рівним за розмір %s (%lu)."
-#: dwarf2.c:949
+#: dwarf2.c:1028
+msgid "Dwarf Error: Info pointer extends beyond end of attributes"
+msgstr "Помилка dwarf: вказівник на дані виходить за кінець атрибутів"
+
+#: dwarf2.c:1185
#, c-format
-msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
-msgstr "Помилка dwarf: некоректне або непридатне до обробки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ FORM: %u."
+msgid "Dwarf Error: Invalid or unhandled FORM value: %#x."
+msgstr "Помилка dwarf: некоректне або непридатне до обробки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ FORM: %#x."
-#: dwarf2.c:1200
+#: dwarf2.c:1491
msgid "Dwarf Error: mangled line number section (bad file number)."
msgstr "Помилка dwarf: пошкоджений розділ номерів Ñ€Ñдків (помилковий номер файла)."
-#: dwarf2.c:1453
+#: dwarf2.c:1779
+#, c-format
+msgid "Dwarf Error: Line info section is too small (%ld)"
+msgstr "Помилка dwarf: розділ даних щодо Ñ€Ñдків Ñ” надто малим (%ld)"
+
+#: dwarf2.c:1809
+#, c-format
+msgid "Dwarf Error: Line info data is bigger (0x%lx) than the section (0x%lx)"
+msgstr "Помилка dwarf: дані щодо Ñ€Ñдків Ñ” більшими (0x%lx) за розділ (0x%lx)"
+
+#: dwarf2.c:1821
#, c-format
msgid "Dwarf Error: Unhandled .debug_line version %d."
msgstr "Помилка dwarf: непридатна до обробки верÑÑ–Ñ .debug_line, %d."
-#: dwarf2.c:1475
+#: dwarf2.c:1830
+msgid "Dwarf Error: Ran out of room reading prologue"
+msgstr "Помилка dwarf: вихід за межі облаÑÑ‚Ñ– під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ñтупу"
+
+#: dwarf2.c:1855
msgid "Dwarf Error: Invalid maximum operations per instruction."
msgstr "Помилка dwarf: некоректна макÑимальна кількіÑÑ‚ÑŒ дій на команду."
-#: dwarf2.c:1662
+#: dwarf2.c:1874
+msgid "Dwarf Error: Ran out of room reading opcodes"
+msgstr "Помилка dwarf: вихід за межі облаÑÑ‚Ñ– під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñ–Ð² операцій"
+
+#: dwarf2.c:2069
msgid "Dwarf Error: mangled line number section."
msgstr "Помилка dwarf: пошкоджений розділ номерів Ñ€Ñдків."
-#: dwarf2.c:1989 dwarf2.c:2109 dwarf2.c:2394
+#: dwarf2.c:2575
+#, c-format
+msgid "Dwarf Error: Unable to read alt ref %u."
+msgstr "Помилка Dwarf: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ альтернативне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %u."
+
+#: dwarf2.c:2600 dwarf2.c:2750 dwarf2.c:3071
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr "Помилка dwarf: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñкорочений номер %u."
-#: dwarf2.c:2355
+#: dwarf2.c:3023
#, c-format
msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
msgstr "Помилка dwarf: виÑвлено верÑÑ–ÑŽ dwarf «%u», але у цій функції Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¾ обробку лише верÑій даних 2, 3 Ñ– 4."
-#: dwarf2.c:2362
+#: dwarf2.c:3034
#, c-format
msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
msgstr "Помилка у dwarf: виÑвлено розмір адреÑи «%u», втім у функції Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ðµ передбачено розмірів, що перевищують «%u»."
-#: dwarf2.c:2385
+#: dwarf2.c:3137
+msgid "Dwarf Error: DW_AT_comp_dir attribute encountered with a non-string form."
+msgstr "Помилка dwarf: виÑвлено атрибут DW_AT_comp_dir із нерÑдковою формою."
+
+#: ecoff.c:964
#, c-format
-msgid "Dwarf Error: Bad abbrev number: %u."
-msgstr "Помилка dwarf: помилковий Ñкорочений номер: %u."
+msgid "%B: warning: isymMax (%ld) is greater than ifdMax (%d)\n"
+msgstr "%B: попередженнÑ: isymMax (%ld) перевищує ifdMax (%d)\n"
-#: ecoff.c:1239
+#: ecoff.c:1261
#, c-format
msgid "Unknown basic type %d"
msgstr "Ðевідомий оÑновний тип %d"
-#: ecoff.c:1496
+#: ecoff.c:1518
#, c-format
msgid ""
"\n"
@@ -581,7 +771,7 @@ msgstr ""
"\n"
" Символ за кінцем: %ld"
-#: ecoff.c:1503 ecoff.c:1506
+#: ecoff.c:1525 ecoff.c:1528
#, c-format
msgid ""
"\n"
@@ -590,7 +780,7 @@ msgstr ""
"\n"
" Перший Ñимвол: %ld"
-#: ecoff.c:1518
+#: ecoff.c:1541
#, c-format
msgid ""
"\n"
@@ -599,7 +789,7 @@ msgstr ""
"\n"
" Символ за кінцем: %-7ld Тип: %s"
-#: ecoff.c:1525
+#: ecoff.c:1548
#, c-format
msgid ""
"\n"
@@ -608,7 +798,7 @@ msgstr ""
"\n"
" Локальний Ñимвол: %ld"
-#: ecoff.c:1533
+#: ecoff.c:1556
#, c-format
msgid ""
"\n"
@@ -617,7 +807,7 @@ msgstr ""
"\n"
" struct; Ñимвол за кінцем: %ld"
-#: ecoff.c:1538
+#: ecoff.c:1561
#, c-format
msgid ""
"\n"
@@ -626,7 +816,7 @@ msgstr ""
"\n"
" union; Ñимвол за кінцем: %ld"
-#: ecoff.c:1543
+#: ecoff.c:1566
#, c-format
msgid ""
"\n"
@@ -635,7 +825,7 @@ msgstr ""
"\n"
" enum; Ñимвол за кінцем: %ld"
-#: ecoff.c:1549
+#: ecoff.c:1572
#, c-format
msgid ""
"\n"
@@ -644,140 +834,269 @@ msgstr ""
"\n"
" Тип: %s"
-#: elf-attrs.c:569
+#: elf-attrs.c:595
+#, c-format
msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
msgstr "помилка: %B: у об’єкті міÑÑ‚ÑÑ‚ÑŒÑÑ Ð´Ð°Ð½Ñ– у Ñпецифічному форматі, ці дані має бути оброблено набором інÑтрументів «%s»"
-#: elf-attrs.c:578
+#: elf-attrs.c:605
+#, c-format
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
msgstr "помилка: %B: мітка об’єкта «%d, %s» неÑуміÑна з міткою «%d, %s»"
-#: elf-eh-frame.c:917
+#: elf-eh-frame.c:946
+#, c-format
+msgid "discarding zero address range FDE in %B(%A).\n"
+msgstr "відкидаємо FDE нульового діапазону Ð°Ð´Ñ€ÐµÑ Ñƒ %B(%A).\n"
+
+#: elf-eh-frame.c:1051
+#, c-format
msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
msgstr "%P: помилка у %B(%A); таблицю .eh_frame_hdr не буде Ñтворено.\n"
-#: elf-eh-frame.c:1189
-msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
-msgstr "%P: ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ fde у %B(%A) перешкоджає Ñтворенню таблиці .eh_frame_hdr.\n"
+#: elf-eh-frame.c:1541
+#, c-format
+msgid "%P: FDE encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
+msgstr "%P: ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ FDE у %B(%A) перешкоджає Ñтворенню таблиці .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:1548
+msgid "%P: Further warnings about FDE encoding preventing .eh_frame_hdr generation dropped.\n"
+msgstr "%P: подальші Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ FDE, Ñке заважає Ñтворенню .eh_frame_hdr, пропущено.\n"
-#: elf-eh-frame.c:1605
+#: elf-eh-frame.c:1879
+#, c-format
+msgid "%B: %A not in order"
+msgstr "%B: %A Ñ” невпорÑдкованим"
+
+#: elf-eh-frame.c:1893
+#, c-format
+msgid "%B: %A invalid input section size"
+msgstr "%B: %A некоректних розмір розділу вхідних даних"
+
+#: elf-eh-frame.c:1901
+#, c-format
+msgid "%B: %A points past end of text section"
+msgstr "%B: %A вказує на адреÑу за кінцем текÑтового розділу"
+
+#: elf-eh-frame.c:2150
msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
msgstr "%P: DW_EH_PE_datarel не визначено Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— архітектури.\n"
-#: elf-ifunc.c:179
+#: elf-eh-frame.c:2320
+#, c-format
+msgid "Invalid output section for .eh_frame_entry: %A"
+msgstr "Ðекоректний роздInvalid output section for .eh_frame_entry: %A"
+
+#: elf-eh-frame.c:2343
+#, c-format
+msgid "Invalid contents in %A section"
+msgstr "Ðекоректний вміÑÑ‚ у розділі %A"
+
+#: elf-eh-frame.c:2499
+msgid "%P: .eh_frame_hdr entry overflow.\n"
+msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу .eh_frame_hdr.\n"
+
+#: elf-eh-frame.c:2502
+msgid "%P: .eh_frame_hdr refers to overlapping FDEs.\n"
+msgstr "%P: .eh_frame_hdr поÑилаєтьÑÑ Ð½Ð° FDE, Ñкі перекриваютьÑÑ.\n"
+
+#: elf-ifunc.c:142
+#, c-format
msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
msgstr "%F%P: динамічний Ñимвол STT_GNU_IFUNC «%s» з рівніÑÑ‚ÑŽ вказівників у «%B» не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ файла; виконайте повторну компілÑцію з -fPIE Ñ– повторне ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ -pie\n"
-#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
-#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
-#: elf32-d10v.c:509 elf32-epiphany.c:556 elf32-fr30.c:609 elf32-frv.c:4105
-#: elf32-h8300.c:509 elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684
-#: elf32-lm32.c:1168 elf32-m32c.c:553 elf32-m32r.c:3106 elf32-m68hc1x.c:1138
-#: elf32-mep.c:535 elf32-microblaze.c:1231 elf32-moxie.c:282
-#: elf32-msp430.c:486 elf32-mt.c:395 elf32-openrisc.c:404 elf32-score.c:2729
-#: elf32-score7.c:2537 elf32-spu.c:5044 elf32-tilepro.c:3214 elf32-v850.c:2143
-#: elf32-xstormy16.c:935 elf64-mmix.c:1590 elfxx-tilegx.c:3577
+#: elf-m10200.c:425 elf-m10300.c:2149 elf32-avr.c:1502 elf32-bfin.c:3194
+#: elf32-cr16.c:1466 elf32-cr16c.c:780 elf32-cris.c:2025 elf32-crx.c:924
+#: elf32-d10v.c:513 elf32-epiphany.c:563 elf32-fr30.c:591 elf32-frv.c:4041
+#: elf32-ft32.c:334 elf32-h8300.c:522 elf32-i860.c:1210 elf32-ip2k.c:1475
+#: elf32-iq2000.c:693 elf32-lm32.c:1126 elf32-m32c.c:621 elf32-m32r.c:3044
+#: elf32-m68hc1x.c:1269 elf32-mep.c:524 elf32-metag.c:2001
+#: elf32-microblaze.c:1570 elf32-moxie.c:285 elf32-mt.c:400 elf32-nds32.c:5402
+#: elf32-or1k.c:1258 elf32-score.c:2731 elf32-score7.c:2540 elf32-spu.c:5076
+#: elf32-tilepro.c:3665 elf32-v850.c:2287 elf32-visium.c:677
+#: elf32-xstormy16.c:927 elf64-mmix.c:1540 elfxx-tilegx.c:4052
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2267
msgid "internal error: out of range error"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вихід за межі діапазону"
-#: elf-m10200.c:454 elf-m10300.c:1567 elf32-avr.c:1225 elf32-bfin.c:3217
-#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2085 elf32-crx.c:926
-#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4109 elf32-h8300.c:513
-#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3110 elf32-m68hc1x.c:1142 elf32-mep.c:539
-#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
-#: elf32-openrisc.c:408 elf32-score.c:2733 elf32-score7.c:2541
-#: elf32-spu.c:5048 elf32-tilepro.c:3218 elf32-v850.c:2147
-#: elf32-xstormy16.c:939 elf64-mmix.c:1594 elfxx-mips.c:9465
-#: elfxx-tilegx.c:3581
+#: elf-m10200.c:429 elf-m10300.c:2153 elf32-avr.c:1506 elf32-bfin.c:3198
+#: elf32-cr16.c:1470 elf32-cr16c.c:784 elf32-cris.c:2029 elf32-crx.c:928
+#: elf32-d10v.c:517 elf32-fr30.c:595 elf32-frv.c:4045 elf32-ft32.c:338
+#: elf32-h8300.c:526 elf32-i860.c:1214 elf32-iq2000.c:697 elf32-lm32.c:1130
+#: elf32-m32c.c:625 elf32-m32r.c:3048 elf32-m68hc1x.c:1273 elf32-mep.c:528
+#: elf32-metag.c:2005 elf32-microblaze.c:1574 elf32-moxie.c:289
+#: elf32-msp430.c:1361 elf32-nds32.c:5406 elf32-or1k.c:1262 elf32-score.c:2735
+#: elf32-score7.c:2544 elf32-spu.c:5080 elf32-tilepro.c:3669 elf32-v850.c:2291
+#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1544
+#: elfxx-mips.c:10258 elfxx-tilegx.c:4056
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2271
msgid "internal error: unsupported relocation error"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: непідтримувана помилка переÑуваннÑ"
-#: elf-m10200.c:458 elf32-cr16.c:1490 elf32-cr16c.c:788 elf32-crx.c:930
-#: elf32-d10v.c:517 elf32-h8300.c:517 elf32-lm32.c:1176 elf32-m32r.c:3114
-#: elf32-m68hc1x.c:1146 elf32-microblaze.c:1239 elf32-score.c:2737
-#: elf32-score7.c:2545 elf32-spu.c:5052
+#: elf-m10200.c:433 elf32-cr16.c:1474 elf32-cr16c.c:788 elf32-crx.c:932
+#: elf32-d10v.c:521 elf32-h8300.c:530 elf32-lm32.c:1134 elf32-m32r.c:3052
+#: elf32-m68hc1x.c:1277 elf32-microblaze.c:1578 elf32-nds32.c:5410
+#: elf32-score.c:2739 elf32-score7.c:2548 elf32-spu.c:5084
msgid "internal error: dangerous error"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезпечна помилка"
-#: elf-m10200.c:462 elf-m10300.c:1580 elf32-avr.c:1233 elf32-bfin.c:3225
-#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2093 elf32-crx.c:934
-#: elf32-d10v.c:521 elf32-epiphany.c:571 elf32-fr30.c:621 elf32-frv.c:4117
-#: elf32-h8300.c:521 elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696
-#: elf32-lm32.c:1180 elf32-m32c.c:565 elf32-m32r.c:3118 elf32-m68hc1x.c:1150
-#: elf32-mep.c:547 elf32-microblaze.c:1243 elf32-moxie.c:294
-#: elf32-msp430.c:498 elf32-mt.c:403 elf32-openrisc.c:416 elf32-score.c:2746
-#: elf32-score7.c:2549 elf32-spu.c:5056 elf32-tilepro.c:3226 elf32-v850.c:2167
-#: elf32-xstormy16.c:947 elf64-mmix.c:1602 elfxx-tilegx.c:3589
+#: elf-m10200.c:437 elf-m10300.c:2170 elf32-avr.c:1514 elf32-bfin.c:3206
+#: elf32-cr16.c:1478 elf32-cr16c.c:792 elf32-cris.c:2037 elf32-crx.c:936
+#: elf32-d10v.c:525 elf32-epiphany.c:578 elf32-fr30.c:603 elf32-frv.c:4053
+#: elf32-ft32.c:346 elf32-h8300.c:534 elf32-i860.c:1222 elf32-ip2k.c:1490
+#: elf32-iq2000.c:705 elf32-lm32.c:1138 elf32-m32c.c:633 elf32-m32r.c:3056
+#: elf32-m68hc1x.c:1281 elf32-mep.c:536 elf32-metag.c:2013
+#: elf32-microblaze.c:1582 elf32-moxie.c:297 elf32-msp430.c:1369
+#: elf32-mt.c:408 elf32-nds32.c:5414 elf32-or1k.c:1270 elf32-score.c:2748
+#: elf32-score7.c:2552 elf32-spu.c:5088 elf32-tilepro.c:3677 elf32-v850.c:2311
+#: elf32-visium.c:689 elf32-xstormy16.c:939 elf64-mmix.c:1552
+#: elfxx-tilegx.c:4064
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2279
msgid "internal error: unknown error"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: невідома помилка"
-#: elf-m10300.c:1507 elf32-arm.c:10419 elf32-i386.c:4264 elf32-m32r.c:2599
-#: elf32-m68k.c:4156 elf32-s390.c:3003 elf32-sh.c:4218 elf32-tilepro.c:3117
-#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
-#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
+#: elf-m10300.c:812
+#, c-format
+msgid "%B: unrecognised MN10300 reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MN10300: %d"
+
+#: elf-m10300.c:1028
+#, c-format
+msgid "%B: Unsupported transition from %s to %s"
+msgstr "%B: непідтримуваний перехід з %s до %s"
+
+#: elf-m10300.c:1201
+#, c-format
+msgid "%B: %s' accessed both as normal and thread local symbol"
+msgstr "%B: доÑтуп до «%s» виконуєтьÑÑ Ñк до звичайного Ñимволу та локального Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñимволу"
+
+#: elf-m10300.c:2097 elf32-arm.c:12532 elf32-i386.c:5372 elf32-m32r.c:2540
+#: elf32-m68k.c:4084 elf32-s390.c:3372 elf32-sh.c:4127 elf32-tilepro.c:3569
+#: elf32-xtensa.c:3074 elf64-s390.c:3296 elf64-sh64.c:1636 elf64-x86-64.c:5753
+#: elfxx-sparc.c:4086 elfxx-tilegx.c:3976
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6437
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2236
+#, c-format
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%A+0x%lx): нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»"
-#: elf-m10300.c:1572
+#: elf-m10300.c:2158
msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
msgstr "помилка: невідповідний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ (забули -fpic?)"
-#: elf-m10300.c:1575
+#: elf-m10300.c:2162
+#, c-format
+msgid "%B: taking the address of protected function '%s' cannot be done when making a shared library"
+msgstr "%B: не можна виконувати Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи захищеної функції «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñпільного викориÑтаннÑ"
+
+#: elf-m10300.c:2165
msgid "internal error: suspicious relocation type used in shared library"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: підозріливий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ бібліотеці Ñпільного викориÑтаннÑ"
-#: elf-m10300.c:4372 elf32-arm.c:12800 elf32-cr16.c:2451 elf32-cris.c:3057
-#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2182 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3253 elf32-s390.c:1652 elf32-sh.c:2931
-#: elf32-tic6x.c:2162 elf32-tilepro.c:1940 elf32-vax.c:1041 elf64-s390.c:1635
-#: elf64-sh64.c:3381 elf64-x86-64.c:2176 elfxx-sparc.c:2119
-#: elfxx-tilegx.c:2261
+#: elf-properties.c:65
+msgid "%B: out of memory in _bfd_elf_get_property"
+msgstr "%B: вихід за межі ділÑнки пам'ÑÑ‚Ñ– у _bfd_elf_get_property"
+
+#: elf-properties.c:91
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"
+msgstr "попередженнÑ: %B: пошкоджено GNU_PROPERTY_TYPE (%ld), розмір: %#lx"
+
+#: elf-properties.c:107
+msgid "warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"
+msgstr "попередженнÑ: %B: пошкоджено GNU_PROPERTY_TYPE (%ld), тип (0x%x), обÑÑг даних: 0x%x"
+
+#: elf-properties.c:146
+msgid "warning: %B: corrupt stack size: 0x%x"
+msgstr "попередженнÑ: %B: пошкоджено розмір Ñтека: 0x%x"
+
+#: elf-properties.c:164
+msgid "warning: %B: corrupt no copy on protected size: 0x%x"
+msgstr "попередженнÑ: %B: пошкоджено «не копіювати захищене», розмір: 0x%x"
+
+#: elf-properties.c:180
+msgid "warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"
+msgstr "попередженнÑ: %B: непідтримуваний тип GNU_PROPERTY_TYPE (%ld): 0x%x"
+
+#. PR 17512: file: f057ec89.
+#: elf.c:342
#, c-format
-msgid "dynamic variable `%s' is zero size"
-msgstr "динамічна змінна «%s» має нульовий розмір"
+msgid "%B: attempt to load strings from a non-string section (number %d)"
+msgstr "%B: Ñпроба Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ñдків із нерÑдкового розділу (номер %d)"
-#: elf.c:334
+#: elf.c:357
+#, c-format
msgid "%B: invalid string offset %u >= %lu for section `%s'"
msgstr "%B: некоректний відÑтуп Ñ€Ñдка, %u >= %lu, Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%s»"
-#: elf.c:446
+#: elf.c:496
+#, c-format
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr "%B номер Ñимволу %lu поÑилаєтьÑÑ Ð½Ð° розділ SHT_SYMTAB_SHNDX, Ñкого не Ñ–Ñнує"
-#: elf.c:602
-msgid "%B: Corrupt size field in group section header: 0x%lx"
-msgstr "%B: пошкоджені дані Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ у заголовку розділу груп: 0x%lx"
+#: elf.c:660
+#, c-format
+msgid "%B: corrupt size field in group section header: %#Lx"
+msgstr "%B: пошкоджені дані Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ у заголовку розділу груп: %#Lx"
+
+#: elf.c:675
+#, c-format
+msgid "%B: invalid size field in group section header: %#Lx"
+msgstr "%B: некоректні дані Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ у заголовку розділу груп: %#Lx"
-#: elf.c:638
+#: elf.c:711
msgid "%B: invalid SHT_GROUP entry"
msgstr "%B: некоректний Ð·Ð°Ð¿Ð¸Ñ SHT_GROUP"
-#: elf.c:708
+#: elf.c:730
+msgid "%B: no valid group sections found"
+msgstr "%B: не знайдено коректних розділів групи"
+
+#: elf.c:804
+#, c-format
msgid "%B: no group info for section %A"
msgstr "%B: немає даних щодо групи Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A"
-#: elf.c:737 elf.c:3121 elflink.c:10135
+#: elf.c:835 elf.c:3819 elflink.c:11155
+#, c-format
msgid "%B: warning: sh_link not set for section `%A'"
msgstr "%B: попередженнÑ: не вÑтановлено sh_link Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%A»"
-#: elf.c:756
+#: elf.c:855
+#, c-format
msgid "%B: sh_link [%d] in section `%A' is incorrect"
msgstr "%B: sh_link [%d] у розділі «%A» є некоректним"
-#: elf.c:791
-msgid "%B: unknown [%d] section `%s' in group [%s]"
-msgstr "%B: невідомий [%d] розділ «%s» у групі [%s]"
+#: elf.c:868
+#, c-format
+msgid "%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"
+msgstr "%B: розділ SHT_GROUP [Ñ–Ð½Ð´ÐµÐºÑ %d] не має розділів SHF_GROUP"
+
+#: elf.c:889
+#, c-format
+msgid "%B: section group entry number %u is corrupt"
+msgstr "%B: Ð·Ð°Ð¿Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¸ розділів із номером %u пошкоджено"
-#: elf.c:1041
-msgid "%B: unable to initialize commpress status for section %s"
-msgstr "%B: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñтан ÑтиÑÐºÐ°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+#: elf.c:914
+#, c-format
+msgid "%B: unknown type [%#x] section `%s' in group [%A]"
+msgstr "%B: невідомий тип, [%#x], розділу «%s» у групі [%A]"
+
+#: elf.c:1373
+#, c-format
+msgid "%B: Invalid sh_link field (%d) in section number %d"
+msgstr "%B: некоректне поле sh_link (%d) у розділі з номером %d"
-#: elf.c:1061
-msgid "%B: unable to initialize decommpress status for section %s"
-msgstr "%B: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ñтан Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s"
+#: elf.c:1389
+#, c-format
+msgid "%B: Failed to find link section for section %d"
+msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ розділ зв’Ñзків Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
-#: elf.c:1181
+#: elf.c:1416
+#, c-format
+msgid "%B: Failed to find info section for section %d"
+msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ інформації Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d"
+
+#: elf.c:1588
#, c-format
msgid ""
"\n"
@@ -786,7 +1105,7 @@ msgstr ""
"\n"
"Заголовок програми:\n"
-#: elf.c:1223
+#: elf.c:1630
#, c-format
msgid ""
"\n"
@@ -795,7 +1114,7 @@ msgstr ""
"\n"
"Динамічний розділ:\n"
-#: elf.c:1359
+#: elf.c:1771
#, c-format
msgid ""
"\n"
@@ -804,7 +1123,7 @@ msgstr ""
"\n"
"Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€Ñій:\n"
-#: elf.c:1384
+#: elf.c:1796
#, c-format
msgid ""
"\n"
@@ -813,82 +1132,263 @@ msgstr ""
"\n"
"ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° верÑÑ–Ñ—:\n"
-#: elf.c:1389
+#: elf.c:1801
#, c-format
msgid " required from %s:\n"
msgstr " потрібні %s:\n"
-#: elf.c:1796
-msgid "%B: invalid link %lu for reloc section %s (index %u)"
-msgstr "%B: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %lu Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ переÑÑƒÐ²Ð°Ð½Ð½Ñ %s (Ñ–Ð½Ð´ÐµÐºÑ %u)"
+#: elf.c:1999
+msgid "%B: warning: loop in section dependencies detected"
+msgstr "%B: попередженнÑ: виÑвлено зацикленіÑÑ‚ÑŒ залежноÑтей розділу"
+
+#: elf.c:2107
+#, c-format
+msgid "%B: warning: multiple symbol tables detected - ignoring the table in section %u"
+msgstr "%B: попередженнÑ: виÑвлено декілька таблиць Ñимволів — ігноруємо таблицю у розділі %u"
-#: elf.c:1966
-msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-msgstr "%B: ÑпоÑіб обробки розміщеного невідомий, Ñпецифічний Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ розділ «%s» [0x%8x]"
+#: elf.c:2191
+#, c-format
+msgid "%B: warning: multiple dynamic symbol tables detected - ignoring the table in section %u"
+msgstr "%B: попередженнÑ: виÑвлено декілька таблиць динамічних Ñимволів — ігноруємо таблицю у розділі %u"
-#: elf.c:1978
-msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-msgstr "%B: ÑпоÑіб обробки Ñпецифічного Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора розділу `%s' [0x%8x] невідомий"
+#: elf.c:2304
+#, c-format
+msgid "%B: invalid link %u for reloc section %s (index %u)"
+msgstr "%B: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %u Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ переÑÑƒÐ²Ð°Ð½Ð½Ñ %s (Ñ–Ð½Ð´ÐµÐºÑ %u)"
-#: elf.c:1989
-msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-msgstr "%B: ÑпоÑіб обробки Ñпецифічного Ð´Ð»Ñ ÐžÐ¡ розділу «%s» [0x%8x] невідомий"
+#: elf.c:2463 elf.c:2478 elf.c:2489 elf.c:2502
+#, c-format
+msgid "%B: unknown type [%#x] section `%s'"
+msgstr "%B: розділ невідомого типу [%#x], «%s»"
-#: elf.c:1999
-msgid "%B: don't know how to handle section `%s' [0x%8x]"
-msgstr "%B: ÑпоÑіб обробки розділу «%s» [0x%8x] невідомий"
+#: elf.c:3206
+#, c-format
+msgid "%B: error: Alignment power %d of section `%A' is too big"
+msgstr "%B: помилка: Ñтепінь Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %d розділу «%A» Ñ” надто великою"
-#: elf.c:2634
+#: elf.c:3236
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
msgstr "попередженнÑ: тип розділу «%A» змінено на PROGBITS"
-#: elf.c:3078
+#: elf.c:3687
+#, c-format
+msgid "%B: too many sections: %u"
+msgstr "%B: занадто багато розділів %u"
+
+#: elf.c:3772
+#, c-format
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
msgstr "%B: sh_link розділу «%A» вказує на відкинутий розділ «%A» «%B»"
-#: elf.c:3101
+#: elf.c:3797
+#, c-format
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
msgstr "%B: sh_link розділу «%A» вказує на вилучений розділ «%A» «%B»"
-#: elf.c:4527
+#: elf.c:4349
+#, c-format
+msgid "%B: GNU_MBIN section `%A' has invalid sh_info field: %d"
+msgstr "%B: у розділі GNU_MBIN «%A» міÑтитьÑÑ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ поле sh_info: %d"
+
+#: elf.c:4891
+msgid "%B: TLS sections are not adjacent:"
+msgstr "%B: розділи TLS не Ñ” ÑуÑідніми:"
+
+#: elf.c:4898
+#, c-format
+msgid "\t TLS: %A"
+msgstr "\t TLS: %A"
+
+#: elf.c:4902
+#, c-format
+msgid "\tnon-TLS: %A"
+msgstr "\tне-TLS: %A"
+
+#: elf.c:5398
msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr "%B: перший розділ у Ñегменті PT_DYNAMIC не Ñ” розділом .dynamic"
-#: elf.c:4554
+#: elf.c:5426
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr "%B: недоÑтатньо міÑÑ†Ñ Ð´Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑ–Ð² програми, Ñпробуйте виконати ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· -N"
-#: elf.c:4641
-msgid "%B: section %A lma %#lx adjusted to %#lx"
-msgstr "%B: lma %#lx розділу %A Ñкориговано до %#lx"
+#: elf.c:5514
+#, c-format
+msgid "%B: section %A lma %#Lx adjusted to %#Lx"
+msgstr "%B: lma %#Lx розділу %A Ñкориговано до %#Lx"
-#: elf.c:4776
+#: elf.c:5651
+#, c-format
msgid "%B: section `%A' can't be allocated in segment %d"
msgstr "%B: розділ «%A» не може бути розподілено у Ñегменті %d"
-#: elf.c:4824
+#: elf.c:5699
+#, c-format
msgid "%B: warning: allocated section `%s' not in segment"
msgstr "%B: попередженнÑ: розподілений розділ «%s» перебуває за межами Ñегмента"
-#: elf.c:5324
+#: elf.c:5897
+msgid "%B: error: non-load segment %d includes file header and/or program header"
+msgstr "%B: помилка: незавантажуваний Ñегмент %d включає заголовок файла Ñ–/або заголовок програми"
+
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually. Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:6074
+msgid "%B: error: PHDR segment not covered by LOAD segment"
+msgstr "%B: помилка: Ñегмент PHDR не покриваєтьÑÑ Ñегментом LOAD"
+
+#: elf.c:6418
+#, c-format
msgid "%B: symbol `%s' required but not present"
msgstr "%B: потрібен Ñимвол «%s», але його немає"
-#: elf.c:5662
-msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
-msgstr "%B: попередженнÑ: виÑвлено порожній завантажувальний Ñегмент, так Ñ– треба?\n"
+#: elf.c:6761
+#, c-format
+msgid "%B: warning: Empty loadable segment detected at vaddr=%#Lx, is this intentional?"
+msgstr "%B: попередженнÑ: виÑвлено порожній завантажувальний Ñегмент за vaddr=%#Lx, так Ñ– треба?"
-#: elf.c:6692
+#: elf.c:7375
+#, c-format
+msgid "%B: warning: segment alignment of %#Lx is too large"
+msgstr "%B: попередженнÑ: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñегмента %#Lx Ñ” надто великим"
+
+#: elf.c:7856
#, c-format
msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ рівноцінний розділ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ Ñимволу «%s» з розділу «%s»"
-#: elf.c:7692
+#: elf.c:8188
+msgid "%B: .gnu.version_r invalid entry"
+msgstr "%B: некоректний Ð·Ð°Ð¿Ð¸Ñ .gnu.version_r"
+
+#: elf.c:8315
+msgid "%B: .gnu.version_d invalid entry"
+msgstr "%B: некоректний Ð·Ð°Ð¿Ð¸Ñ .gnu.version_d"
+
+#: elf.c:8867
+#, c-format
msgid "%B: unsupported relocation type %s"
msgstr "%B: непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: elf32-arm.c:3617
+#: elf32-arc.c:433 elf32-frv.c:6626 elf32-iq2000.c:870 elf32-m32c.c:915
+#: elf32-mt.c:564 elf32-rl78.c:1256 elf32-rx.c:3177 elf32-visium.c:837
+#: elf64-ppc.c:6078
+#, c-format
+msgid "private flags = 0x%lx:"
+msgstr "закриті прапорці = 0x%lx:"
+
+#: elf32-arc.c:611
+msgid "Warning: %B: Conflicting platform configuration %s with %s.\n"
+msgstr "ПопередженнÑ: %B: конфлікт налаштувань платформ, %s з %s.\n"
+
+#: elf32-arc.c:630
+msgid "error: %B: unable to merge CPU base attributes %s with %s.\n"
+msgstr "помилка: %B: не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ базові атрибути процеÑора %s з %s.\n"
+
+#: elf32-arc.c:667
+msgid "error: %B: unable to merge ISA extension attributes %s.\n"
+msgstr "помилка: %B: не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ атрибути Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ ISA %s.\n"
+
+#: elf32-arc.c:691
+msgid "error: %B: conflicting ISA extension attributes %s with %s.\n"
+msgstr "помилка: %B: конфлікт атрибутів Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ ISA, %s з %s.\n"
+
+#: elf32-arc.c:726
+msgid "error: %B: cannot mix rf16 with full register set %B.\n"
+msgstr "помилка: %B: не можна одночаÑно викориÑтовувати rf16 Ñ– повний набір регіÑтрів %B.\n"
+
+#: elf32-arc.c:752
+msgid "error: %B: conflicting attributes %s: %s with %s.\n"
+msgstr "помилка: %B: конфлікт атрибутів %s: %s з %s.\n"
+
+#: elf32-arc.c:777
+msgid "error: %B: conflicting attributes %s.\n"
+msgstr "помилка: %B: конфлікт атрибутів %s.\n"
+
+#: elf32-arc.c:877
+#, c-format
+msgid "ERROR: Attempting to link %B with a binary %B of different architecture"
+msgstr "ПОМИЛКÐ: Ñпроба ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ %B зі виконуваним файлом %B іншої архітектури"
+
+#: elf32-arc.c:891 elf32-i370.c:359 elf32-iq2000.c:846 elf32-m32c.c:890
+#: elf32-m68hc1x.c:1388 elf64-sparc.c:727 elfxx-mips.c:15127
+#, c-format
+msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr "%B: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
+
+#: elf32-arc.c:980
+msgid "Error: The ARC4 architecture is no longer supported.\n"
+msgstr "Помилка: підтримку архітектури ARC4 припинено.\n"
+
+#: elf32-arc.c:986
+msgid ""
+"Warning: unset or old architecture flags. \n"
+"\t Use default machine.\n"
+msgstr ""
+"ПопередженнÑ: не вÑтановлено прапорці архітектури або вÑтановлено заÑтарілі. \n"
+"\t ВикориÑтовуємо типову архітектуру.\n"
+
+#: elf32-arc.c:1119
+#, c-format
+msgid "%B(%A+0x%lx): CMEM relocation to `%s' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
+msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ CMEM до «%s» Ñ” некоректним, 16 MSB має бути 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0x%lx)"
+
+#: elf32-arc.c:1130
+#, c-format
+msgid "%B(%A+0x%lx): CMEM relocation to `%s+0x%lx' is invalid, 16 MSB should be 0x%04x (value is 0x%lx)"
+msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ CMEM до «%s+0x%lx» Ñ” некоректним, 16 MSB має бути 0x%04x (Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0x%lx)"
+
+#: elf32-arc.c:1835
+msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker."
+msgstr "ПереÑÑƒÐ²Ð°Ð½Ð½Ñ GOT Ñ– PLT не може бути виправлено, Ñкщо компонувальник Ñ” нединамічним."
+
+#: elf32-arc.c:1859 elf32-rl78.c:1094 elf32-rx.c:1448
+#, c-format
+msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
+msgstr "%B(%A): попередженнÑ: невирівнÑний доÑтуп до Ñимволу «%s» у малій облаÑÑ‚Ñ– даних"
+
+#: elf32-arc.c:1864 elf32-rl78.c:1099 elf32-rx.c:1453
+#, c-format
+msgid "%B(%A): internal error: out of range error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вихід за межі діапазону"
+
+#: elf32-arc.c:1869 elf32-rl78.c:1104 elf32-rx.c:1458
+#, c-format
+msgid "%B(%A): internal error: unsupported relocation error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: непідтримувана помилка переÑуваннÑ"
+
+#: elf32-arc.c:1874 elf32-rl78.c:1109 elf32-rx.c:1463
+#, c-format
+msgid "%B(%A): internal error: dangerous relocation"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезпечне переÑуваннÑ"
+
+#: elf32-arc.c:1879 elf32-rl78.c:1114 elf32-rx.c:1468
+#, c-format
+msgid "%B(%A): internal error: unknown error"
+msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: невідома помилка"
+
+#: elf32-arc.c:1967 elf32-arm.c:14714 elf32-metag.c:2272 elfxx-mips.c:8883
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7224
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:484
+#, c-format
+msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s» не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ; повторно зберіть з -fPIC"
+
+#: elf32-arc.c:2859
+msgid "%B: Unknown mandatory ARC object attribute %d."
+msgstr "%B: невідомий обов’Ñзковий атрибути об’єкта ARC %d"
+
+#: elf32-arc.c:2867
+msgid "Warning: %B: Unknown ARC object attribute %d."
+msgstr "ПопередженнÑ: %B: невідомий атрибут об’єкта ARC %d"
+
+#: elf32-arm.c:4022 elf32-arm.c:4056 elf32-arm.c:4075 elf32-arm.c:4127
+msgid "%B(%A): warning: long branch veneers used in section with SHF_ARM_PURECODE section attribute is only supported for M-profile targets that implement the movw instruction."
+msgstr "%B(%A): попередженнÑ: викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… зовнішніх гілок у розділах із атрибутом розділу SHF_ARM_PURECODE передбачено лише Ð´Ð»Ñ Ñ†Ñ–Ð»ÐµÐ¹ з профілем M, у Ñких реалізовано інÑтрукцію movw."
+
+#: elf32-arm.c:4087 elf32-arm.c:8806
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: Thumb call to ARM"
@@ -896,7 +1396,7 @@ msgstr ""
"%B(%s): попередженнÑ: ÑуміÑну роботу не увімкнено.\n"
" перша згадка: %B: виклик thumb до ARM"
-#: elf32-arm.c:3664
+#: elf32-arm.c:4141
msgid ""
"%B(%s): warning: interworking not enabled.\n"
" first occurrence: %B: ARM call to Thumb"
@@ -904,492 +1404,679 @@ msgstr ""
"%B(%s): попередженнÑ: ÑуміÑну роботу не увімкнено.\n"
" перша згадка: %B: виклик ARM до Thumb"
-#: elf32-arm.c:3878 elf32-arm.c:5315
+#: elf32-arm.c:4415
#, c-format
-msgid "%s: cannot create stub entry %s"
-msgstr "%s: не вдалоÑÑ Ñтворити шаблонний Ð·Ð°Ð¿Ð¸Ñ %s"
+msgid "No address assigned to the veneers output section %s"
+msgstr "Із розділом Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð½Ð°Ð·Ð¾Ð²Ð½Ñ– %s не пов’Ñзано адреÑи"
-#: elf32-arm.c:5431
+#: elf32-arm.c:4490 elf32-arm.c:6627 elf32-hppa.c:587 elf32-m68hc1x.c:165
+#: elf32-metag.c:1198 elf32-nios2.c:2227
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2852
+#, c-format
+msgid "%B: cannot create stub entry %s"
+msgstr "%B: не вдалоÑÑ Ñтворити шаблонний Ð·Ð°Ð¿Ð¸Ñ %s"
+
+#: elf32-arm.c:5675
+msgid "%B: Special symbol `%s' only allowed for ARMv8-M architecture or later."
+msgstr "%B: Ñпеціальний Ñимвол «%s» можна викориÑтовувати лише Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ ARMv8-M Ñ– новіших архітектур."
+
+#: elf32-arm.c:5684
+msgid "%B: invalid special symbol `%s'."
+msgstr "%B: некоректний Ñпеціальний Ñимвол «%s»."
+
+#: elf32-arm.c:5686 elf32-arm.c:5726
+msgid "It must be a global or weak function symbol."
+msgstr "Це має бути загальний (global) або Ñлабкий (weak) Ñимвол функції."
+
+#: elf32-arm.c:5724
+msgid "%B: invalid standard symbol `%s'."
+msgstr "%B: некоректний Ñтандартний Ñимвол «%s»."
+
+#: elf32-arm.c:5730
+msgid "%B: absent standard symbol `%s'."
+msgstr "%B: немає Ñтандартного Ñимволу «%s»."
+
+#: elf32-arm.c:5742
+msgid "%B: `%s' and its special symbol are in different sections."
+msgstr "%B: «%s» Ñ– Ñ—Ñ— Ñпеціальний Ñимвол перебувають у різних розділах."
+
+#: elf32-arm.c:5754
+msgid "%B: entry function `%s' not output."
+msgstr "%B: вхідна Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s» не виводить даних."
+
+#: elf32-arm.c:5761
+msgid "%B: entry function `%s' is empty."
+msgstr "%B: вхідна Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s» Ñ” порожньою."
+
+#: elf32-arm.c:5890
+msgid "%B: --in-implib only supported for Secure Gateway import libraries."
+msgstr "%B: підтримку --in-implib передбачено лише Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº Secure Gateway."
+
+#: elf32-arm.c:5936
+msgid "%B: invalid import library entry: `%s'."
+msgstr "%B: некоректний вхід до імпортованої бібліотеки: «%s»."
+
+#: elf32-arm.c:5938
+msgid "Symbol should be absolute, global and refer to Thumb functions."
+msgstr "Символ має бути абÑолютним, загальним Ñ– поÑилатиÑÑ Ð½Ð° функції Thumb."
+
+#: elf32-arm.c:5958
+#, c-format
+msgid "Entry function `%s' disappeared from secure code."
+msgstr "Вхідна Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s» зникла з безпечного коду."
+
+#: elf32-arm.c:5982
+#, c-format
+msgid "`%s' refers to a non entry function."
+msgstr "«%s» поÑилаєтьÑÑ Ð½Ð° функцію без входу."
+
+#: elf32-arm.c:5997
+msgid "%B: visibility of symbol `%s' has changed."
+msgstr "%B: змінено видиміÑÑ‚ÑŒ Ñимволу «%s»."
+
+#: elf32-arm.c:6006
+msgid "%B: incorrect size for symbol `%s'."
+msgstr "%B: некоректний розмір Ñимволу «%s»."
+
+#: elf32-arm.c:6025
+#, c-format
+msgid "Offset of veneer for entry function `%s' not a multiple of its size."
+msgstr "ЗÑув обгортки Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— функції «%s» не Ñ” кратним до Ñ—Ñ— розміру."
+
+#: elf32-arm.c:6045
+msgid "new entry function(s) introduced but no output import library specified:"
+msgstr "впроваджено нові вхідні функції, але не вказано бібліотеки Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…:"
+
+#: elf32-arm.c:6053
+#, c-format
+msgid "Start address of `%s' is different from previous link."
+msgstr "Початкова адреÑа «%s» Ñ” іншою з попереднього поÑиланнÑ."
+
+#: elf32-arm.c:6760
#, c-format
msgid "unable to find THUMB glue '%s' for '%s'"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñклейку THUMB «%s» Ð´Ð»Ñ Â«%s»"
-#: elf32-arm.c:5467
+#: elf32-arm.c:6796
#, c-format
msgid "unable to find ARM glue '%s' for '%s'"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñклейку ARM «%s» Ð´Ð»Ñ Â«%s»"
-#: elf32-arm.c:6005
+#: elf32-arm.c:7511
msgid "%B: BE8 images only valid in big-endian mode."
msgstr "%B: образи BE8 є чинними лише у режимі big-endian."
#. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:6235
+#: elf32-arm.c:7742
msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture"
msgstr "%B: попередженнÑ: вибраний ÑпоÑіб ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ VFP11 не Ñ” необхідним Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ призначеннÑ"
-#: elf32-arm.c:6779 elf32-arm.c:6799
+#: elf32-arm.c:7769
+msgid "%B: warning: selected STM32L4XX erratum workaround is not necessary for target architecture"
+msgstr "%B: попередженнÑ: вибраний ÑпоÑіб ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ STM32L4XX не Ñ” необхідним Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ призначеннÑ"
+
+#: elf32-arm.c:8306 elf32-arm.c:8326
msgid "%B: unable to find VFP11 veneer `%s'"
msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ обгортку VFP11 «%s»"
-#: elf32-arm.c:6848
+#: elf32-arm.c:8392 elf32-arm.c:8411
+msgid "%B: unable to find STM32L4XX veneer `%s'"
+msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ обгортку STM32L4XX «%s»"
+
+#: elf32-arm.c:8618
+#, c-format
+msgid ""
+"%B(%A+0x%lx): error: multiple load detected in non-last IT block instruction : STM32L4XX veneer cannot be generated.\n"
+"Use gcc option -mrestrict-it to generate only one instruction per IT block.\n"
+msgstr ""
+"%B(%A+0x%lx): помилка: виÑвлено декілька завантажень у неоÑтанній інÑтрукції блоку IT: обгортку STM32L4XX не може бути Ñтворено.\n"
+"СкориÑтайтеÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ gcc -mrestrict-it, щоб Ñтворювати лише одну інÑтрукцію на блок IT.\n"
+
+#: elf32-arm.c:8716
#, c-format
msgid "Invalid TARGET2 relocation type '%s'."
msgstr "Ðекоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ TARGET2, «%s»."
-#: elf32-arm.c:6933
-msgid ""
-"%B(%s): warning: interworking not enabled.\n"
-" first occurrence: %B: thumb call to arm"
-msgstr ""
-"%B(%s): попередженнÑ: ÑуміÑну роботу не увімкнено.\n"
-" перша згадка: %B: виклик thumb до arm"
+#. FIXME: We ought to be able to generate thumb-1 PLT
+#. instructions...
+#: elf32-arm.c:9458
+msgid "%B: Warning: thumb-1 mode PLT generation not currently supported"
+msgstr "%B: попередженнÑ: у поточній верÑÑ–Ñ— не передбачено підтримки ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ PLT у режимі thumb-1"
-#: elf32-arm.c:7717
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
+#: elf32-arm.c:9723
+#, c-format
+msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' in TLS trampoline"
msgstr "%B(%A+0x%lx): неочікувана команда Thumb, «0x%x», у трампліні TLS"
-#: elf32-arm.c:7756
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
+#: elf32-arm.c:9763
+#, c-format
+msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' in TLS trampoline"
msgstr "%B(%A+0x%lx): неочікувана команда ARM, «0x%x», у трампліні TLS"
-#: elf32-arm.c:8209
+#: elf32-arm.c:10097
+msgid "shared object"
+msgstr "Ñпільний об'єкт"
+
+#: elf32-arm.c:10100
+msgid "PIE executable"
+msgstr "Виконуваний файл PIE"
+
+#: elf32-arm.c:10103
+msgid "%B: relocation %s against external or undefined symbol `%s' can not be used when making a %s; recompile with -fPIC"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо зовнішнього або невизначено Ñимволу «%s» не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ %s; повторно зберіть з -fPIC"
+
+#: elf32-arm.c:10234
msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr "\\%B: попередженнÑ: команда Arm BLX вказує на функцію Arm «%s»."
-#: elf32-arm.c:8622
+#: elf32-arm.c:10660
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr "%B: попередженнÑ: команда Thumb BLX вказує на функцію Arm «%s»."
-#: elf32-arm.c:9460
-msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
+#: elf32-arm.c:11527
+#, c-format
+msgid "%B(%A+0x%lx): unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
msgstr "%B(%A+0x%lx): неочікувана команда Thumb, «0x%x», на Ñку поÑилаєтьÑÑ TLS_GOTDESC"
-#: elf32-arm.c:9483
-msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
+#: elf32-arm.c:11551
+#, c-format
+msgid "%B(%A+0x%lx): unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
msgstr "%B(%A+0x%lx): неочікувана команда ARM, «0x%x», на Ñку поÑилаєтьÑÑ TLS_GOTDESC"
-#: elf32-arm.c:9512
+#: elf32-arm.c:11581
+#, c-format
msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ R_ARM_TLS_LE32 у об’єкті Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
-#: elf32-arm.c:9727
+#: elf32-arm.c:11795
+#, c-format
msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations"
msgstr "%B(%A+0x%lx): Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑувань груп ALU можна викориÑтовувати лише команди ADD або SUB"
-#: elf32-arm.c:9767 elf32-arm.c:9854 elf32-arm.c:9937 elf32-arm.c:10022
+#: elf32-arm.c:11836 elf32-arm.c:11927 elf32-arm.c:12013 elf32-arm.c:12101
+#, c-format
msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
msgstr "%B(%A+0x%lx): Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ñпроби поділу 0x%lx з метою групового переÑÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: elf32-arm.c:10261 elf32-sh.c:4103 elf64-sh64.c:1544
+#: elf32-arm.c:12365 elf32-sh.c:4009 elf64-sh64.c:1539
+#, c-format
msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо розділу SEC_MERGE"
-#: elf32-arm.c:10372 elf32-m68k.c:4191 elf32-xtensa.c:2802
+#: elf32-arm.c:12477 elf32-m68k.c:4120 elf32-xtensa.c:2816
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6165
+#, c-format
msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
msgstr "%B(%A+0x%lx): %s викориÑтовуєтьÑÑ Ð· Ñимволом TLS %s"
-#: elf32-arm.c:10373 elf32-m68k.c:4192 elf32-xtensa.c:2803
+#: elf32-arm.c:12479 elf32-m68k.c:4122 elf32-xtensa.c:2818
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6167
+#, c-format
msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
msgstr "%B(%A+0x%lx): %s викориÑтовуєтьÑÑ Ð· Ñимволом поза TLS %s"
-#: elf32-arm.c:10453 elf32-tic6x.c:2753
+#: elf32-arm.c:12561 elf32-tic6x.c:2739
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6500
msgid "out of range"
msgstr "поза діапазоном"
-#: elf32-arm.c:10457 elf32-tic6x.c:2757
+#: elf32-arm.c:12565 elf32-nios2.c:4505 elf32-pru.c:821 elf32-tic6x.c:2743
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6504
msgid "unsupported relocation"
msgstr "непідтримуване переÑуваннÑ"
-#: elf32-arm.c:10465 elf32-tic6x.c:2765
+#: elf32-arm.c:12573 elf32-nios2.c:4515 elf32-pru.c:831 elf32-tic6x.c:2751
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6512
msgid "unknown error"
msgstr "невідома помилка"
-#: elf32-arm.c:10890
-msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"
-msgstr "ПопередженнÑ: знÑто прапорець ÑуміÑної роботи у %B, оÑкільки з ним компонуєтьÑÑ ÐºÐ¾Ð´, Ñкий непридатний до Ñпільної роботи, у %B"
-
-#: elf32-arm.c:10984
+#: elf32-arm.c:13153
msgid "%B: Unknown mandatory EABI object attribute %d"
msgstr "%B: невідомий обов’Ñзковий атрибути об’єкта EABI %d"
-#: elf32-arm.c:10992
+#: elf32-arm.c:13161
msgid "Warning: %B: Unknown EABI object attribute %d"
msgstr "ПопередженнÑ: %B: невідомий атрибут об’єкта EABI %d"
-#: elf32-arm.c:11173
+#: elf32-arm.c:13428
msgid "error: %B: Unknown CPU architecture"
msgstr "помилка: %B: невідома архітектура процеÑора"
-#: elf32-arm.c:11211
+#: elf32-arm.c:13466 elf32-nios2.c:2965
+#, c-format
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr "помилка: %B: конфлікт архітектур процеÑорів %d/%d"
-#: elf32-arm.c:11260
+#: elf32-arm.c:13563
msgid "Error: %B has both the current and legacy Tag_MPextension_use attributes"
msgstr "Помилка: Ð´Ð»Ñ %B визначено одразу обидва атрибути Tag_MPextension_use, current Ñ– legacy"
-#: elf32-arm.c:11285
+#: elf32-arm.c:13592
msgid "error: %B uses VFP register arguments, %B does not"
msgstr "помилка: у %B викориÑтовуютьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ регіÑтри VFP, а у %B — ні"
-#: elf32-arm.c:11430
+#: elf32-arm.c:13750
msgid "error: %B: unable to merge virtualization attributes with %B"
msgstr "помилка: %B: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² віртуалізації з %B неможливе"
-#: elf32-arm.c:11456
+#: elf32-arm.c:13776
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr "помилка: %B: конфлікт профілів архітектур, %c/%c"
-#: elf32-arm.c:11557
+#: elf32-arm.c:13915
msgid "Warning: %B: Conflicting platform configuration"
msgstr "ПопередженнÑ: %B: конфлікт налаштувань платформ"
-#: elf32-arm.c:11566
+#: elf32-arm.c:13924
msgid "error: %B: Conflicting use of R9"
msgstr "помилка: %B: конфлікт у викориÑтанні R9"
-#: elf32-arm.c:11578
+#: elf32-arm.c:13936
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr "помилка: %B: викориÑÑ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñної адреÑації SB конфліктує з викориÑтаннÑм R9"
-#: elf32-arm.c:11591
+#: elf32-arm.c:13949
msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
msgstr "попередженнÑ: у %B викориÑтовуєтьÑÑ %u-байтовий wchar_t, хоча у виведенні викориÑтовуєтьÑÑ %u-байтовий wchar_t; викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ wchar_t між об’єктами може зазнати невдачі"
-#: elf32-arm.c:11622
+#: elf32-arm.c:13980
msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
msgstr "попередженнÑ: у %B викориÑтовуютьÑÑ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s, хоча у виведенні викориÑтовуютьÑÑ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÐ¸ %s; викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ переліків між об’єктами може зазнати невдачі"
-#: elf32-arm.c:11634
+#: elf32-arm.c:13992
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr "помилка: у %B викориÑтовуютьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸-регіÑтри iWMMXt, а у %B — ні"
-#: elf32-arm.c:11651
+#: elf32-arm.c:14009
msgid "error: fp16 format mismatch between %B and %B"
msgstr "помилка: розбіжноÑÑ‚Ñ– у визначенні Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ fp16 між %B та %B"
-#: elf32-arm.c:11675
-msgid "DIV usage mismatch between %B and %B"
-msgstr "розбіжноÑÑ‚Ñ– у викориÑтанні DIV між %B та %B"
-
-#: elf32-arm.c:11694
+#: elf32-arm.c:14045
msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
msgstr "Ð´Ð»Ñ %B визначено одразу обидва атрибути Tag_MPextension_use, current Ñ– legacy"
#. 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:11782 elf32-bfin.c:5079 elf32-cris.c:4169 elf32-m68hc1x.c:1282
-#: elf32-m68k.c:1236 elf32-score.c:3994 elf32-score7.c:3800 elf32-vax.c:529
-#: elfxx-mips.c:14103
+#. Ignore init flag - it may not be set, despite the flags field
+#. containing valid data.
+#: elf32-arm.c:14132 elf32-bfin.c:4919 elf32-cris.c:4089 elf32-m68hc1x.c:1413
+#: elf32-m68k.c:1200 elf32-score.c:4002 elf32-score7.c:3807 elf32-vax.c:536
+#: elf32-xgate.c:669 elfxx-mips.c:15802
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6666
#, c-format
msgid "private flags = %lx:"
msgstr "закриті прапорці = %lx:"
-#: elf32-arm.c:11791
+#: elf32-arm.c:14141
#, c-format
msgid " [interworking enabled]"
msgstr " [увімкнено ÑуміÑну роботу]"
-#: elf32-arm.c:11799
+#: elf32-arm.c:14149
#, c-format
msgid " [VFP float format]"
msgstr " [формат float VFP]"
-#: elf32-arm.c:11801
+#: elf32-arm.c:14151
#, c-format
msgid " [Maverick float format]"
msgstr " [формат float Maverick]"
-#: elf32-arm.c:11803
+#: elf32-arm.c:14153
#, c-format
msgid " [FPA float format]"
msgstr " [формат float FPA]"
-#: elf32-arm.c:11812
+#: elf32-arm.c:14162
#, c-format
msgid " [new ABI]"
msgstr " [новий ABI]"
-#: elf32-arm.c:11815
+#: elf32-arm.c:14165
#, c-format
msgid " [old ABI]"
msgstr " [Ñтарий ABI]"
-#: elf32-arm.c:11818
+#: elf32-arm.c:14168
#, c-format
msgid " [software FP]"
msgstr " [програмна FP]"
-#: elf32-arm.c:11827
+#: elf32-arm.c:14177
#, c-format
msgid " [Version1 EABI]"
msgstr " [ВерÑÑ–Ñ1 EABI]"
-#: elf32-arm.c:11830 elf32-arm.c:11841
+#: elf32-arm.c:14180 elf32-arm.c:14191
#, c-format
msgid " [sorted symbol table]"
msgstr " [впорÑдкована Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів]"
-#: elf32-arm.c:11832 elf32-arm.c:11843
+#: elf32-arm.c:14182 elf32-arm.c:14193
#, c-format
msgid " [unsorted symbol table]"
msgstr " [невпорÑдкована Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів]"
-#: elf32-arm.c:11838
+#: elf32-arm.c:14188
#, c-format
msgid " [Version2 EABI]"
msgstr " [ВерÑÑ–Ñ2 EABI]"
-#: elf32-arm.c:11846
+#: elf32-arm.c:14196
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr " [динамічні Ñимволи викориÑтовують Ñ–Ð½Ð´ÐµÐºÑ Ñегмента]"
-#: elf32-arm.c:11849
+#: elf32-arm.c:14199
#, c-format
msgid " [mapping symbols precede others]"
msgstr " [Ñимволи Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ÑƒÑŽÑ‚ÑŒ іншим]"
-#: elf32-arm.c:11856
+#: elf32-arm.c:14206
#, c-format
msgid " [Version3 EABI]"
msgstr " [ВерÑÑ–Ñ3 EABI]"
-#: elf32-arm.c:11860
+#: elf32-arm.c:14210
#, c-format
msgid " [Version4 EABI]"
msgstr " [ВерÑÑ–Ñ4 EABI]"
-#: elf32-arm.c:11864
+#: elf32-arm.c:14214
#, c-format
msgid " [Version5 EABI]"
msgstr " [ВерÑÑ–Ñ5 EABI]"
-#: elf32-arm.c:11867
+#: elf32-arm.c:14217
+#, c-format
+msgid " [soft-float ABI]"
+msgstr " [ABI програмної рухомої крапки]"
+
+#: elf32-arm.c:14220
+#, c-format
+msgid " [hard-float ABI]"
+msgstr " [ABI апаратної рухомої крапки]"
+
+#: elf32-arm.c:14226
#, c-format
msgid " [BE8]"
msgstr " [BE8]"
-#: elf32-arm.c:11870
+#: elf32-arm.c:14229
#, c-format
msgid " [LE8]"
msgstr " [LE8]"
-#: elf32-arm.c:11876
+#: elf32-arm.c:14235
#, c-format
msgid " <EABI version unrecognised>"
msgstr " <нерозпізнана верÑÑ–Ñ EABI>"
-#: elf32-arm.c:11883
+#: elf32-arm.c:14242
#, c-format
msgid " [relocatable executable]"
msgstr " [придатний до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¸Ð¹ файл]"
-#: elf32-arm.c:11886
-#, c-format
-msgid " [has entry point]"
-msgstr " [має вхідну точку]"
-
-#: elf32-arm.c:11891
+#: elf32-arm.c:14247
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6669
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr "<Ðерозпізнаний набір бітів прапорців>"
-#: elf32-arm.c:12189 elf32-i386.c:1461 elf32-s390.c:1000 elf32-tic6x.c:2829
-#: elf32-tilepro.c:1336 elf32-xtensa.c:1009 elf64-s390.c:960
-#: elf64-x86-64.c:1364 elfxx-sparc.c:1371 elfxx-tilegx.c:1586
+#: elf32-arm.c:14557 elf32-i386.c:2053 elf32-s390.c:956 elf32-tic6x.c:2814
+#: elf32-tilepro.c:1491 elf32-xtensa.c:1018 elf64-s390.c:875
+#: elf64-x86-64.c:2444 elfxx-sparc.c:1440 elfxx-tilegx.c:1708
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:7115
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:526
+#, c-format
msgid "%B: bad symbol index: %d"
msgstr "%B: помилковий Ñ–Ð½Ð´ÐµÐºÑ Ñимволу: %d"
-#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
-msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s» не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ; повторно зберіть з -fPIC"
+#: elf32-arm.c:16055
+msgid "Errors encountered processing file %B"
+msgstr "Під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ файла ÑталиÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %B"
-#: elf32-arm.c:13460
+#: elf32-arm.c:16493 elflink.c:12297 elflink.c:12344
#, c-format
-msgid "Errors encountered processing file %s"
-msgstr "Під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ файла ÑталиÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸, %s"
+msgid "could not find section %s"
+msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ розділ %s"
-#: elf32-arm.c:14837
+#: elf32-arm.c:17669
msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
msgstr "%B: помилка: замінник Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° помилки Cortex-A8 розташовано за небезпечною адреÑою"
#. There's not much we can do apart from complain if this
#. happens.
-#: elf32-arm.c:14864
+#: elf32-arm.c:17696
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr "%B: помилка: замінник Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° помилки Cortex-A8 перебуває поза доÑтупним діапазоном (файл вхідних даних Ñ” надто великим)"
-#: elf32-arm.c:14958 elf32-arm.c:14980
+#: elf32-arm.c:18523 elf32-arm.c:18545
msgid "%B: error: VFP11 veneer out of range"
msgstr "%B: помилка: обгортка VFP11 поза діапазоном"
-#: elf32-arm.c:15518
+#: elf32-arm.c:18596
+msgid "%B(%#x): error: Cannot create STM32L4XX veneer. Jump out of range by %ld bytes. Cannot encode branch instruction. "
+msgstr "%B(%#x): помилка: не вдалоÑÑ Ñтворити обгортку STM32L4XX. Перехід за межі припуÑтимого діапазону на %ld байтів. ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрукції Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ. "
+
+#: elf32-arm.c:18634
+msgid "%B: error: Cannot create STM32L4XX veneer."
+msgstr "%B: помилка: не вдалоÑÑ Ñтворити обгортку STM32L4XX."
+
+#: elf32-arm.c:19655
msgid "error: %B is already in final BE8 format"
msgstr "помилка: %B вже зберігаєтьÑÑ Ñƒ оÑтаточному форматі BE8"
-#: elf32-arm.c:15594
+#: elf32-arm.c:19731
msgid "error: Source object %B has EABI version %d, but target %B has EABI version %d"
msgstr "помилка: об’єкт-джерело, %B, викориÑтовує верÑÑ–ÑŽ EABI %d, а призначеннÑ, %B, викориÑтовує верÑÑ–ÑŽ EABI %d"
-#: elf32-arm.c:15610
+#: elf32-arm.c:19746
msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
msgstr "помилка: %B зібрано Ð´Ð»Ñ APCS-%d, тоді Ñк %B викориÑтовує APCS-%d"
-#: elf32-arm.c:15635
+#: elf32-arm.c:19770
msgid "error: %B uses VFP instructions, whereas %B does not"
msgstr "помилка: у %B викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ VFP, а у %B — ні"
-#: elf32-arm.c:15639
+#: elf32-arm.c:19774
msgid "error: %B uses FPA instructions, whereas %B does not"
msgstr "помилка: у %B викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ FPA, а у %B — ні"
-#: elf32-arm.c:15649
+#: elf32-arm.c:19784
msgid "error: %B uses Maverick instructions, whereas %B does not"
msgstr "помилка: у %B викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, а у %B — ні"
-#: elf32-arm.c:15653
+#: elf32-arm.c:19788
msgid "error: %B does not use Maverick instructions, whereas %B does"
msgstr "помилка: у %B не викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Maverick, а у %B — так"
-#: elf32-arm.c:15672
+#: elf32-arm.c:19807
msgid "error: %B uses software FP, whereas %B uses hardware FP"
msgstr "помилка: у %B викориÑтовуютьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ñ– FP, а у %B — апаратні FP"
-#: elf32-arm.c:15676
+#: elf32-arm.c:19811
msgid "error: %B uses hardware FP, whereas %B uses software FP"
msgstr "помилка: у %B викориÑтовуютьÑÑ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ñ– FP, а у %B — програмні FP"
-#: elf32-avr.c:1229 elf32-bfin.c:3221 elf32-cris.c:2089 elf32-epiphany.c:567
-#: elf32-fr30.c:617 elf32-frv.c:4113 elf32-i860.c:1219 elf32-ip2k.c:1479
-#: elf32-iq2000.c:692 elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290
-#: elf32-msp430.c:494 elf32-mt.c:399 elf32-openrisc.c:412 elf32-tilepro.c:3222
-#: elf32-v850.c:2151 elf32-xstormy16.c:943 elf64-mmix.c:1598
-#: elfxx-tilegx.c:3585
+#: elf32-avr.c:959
+#, c-format
+msgid "%B: invalid AVR reloc number: %d"
+msgstr "%B: некоректний номер переÑÑƒÐ²Ð°Ð½Ð½Ñ AVR: %d"
+
+#: elf32-avr.c:1510 elf32-bfin.c:3202 elf32-cris.c:2033 elf32-epiphany.c:574
+#: elf32-fr30.c:599 elf32-frv.c:4049 elf32-ft32.c:342 elf32-i860.c:1218
+#: elf32-ip2k.c:1486 elf32-iq2000.c:701 elf32-m32c.c:629 elf32-mep.c:532
+#: elf32-metag.c:2009 elf32-moxie.c:293 elf32-msp430.c:1365 elf32-mt.c:404
+#: elf32-or1k.c:1266 elf32-tilepro.c:3673 elf32-v850.c:2295 elf32-visium.c:685
+#: elf32-xstormy16.c:935 elf64-mmix.c:1548 elfxx-tilegx.c:4060
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2275
msgid "internal error: dangerous relocation"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезпечне переÑуваннÑ"
-#: elf32-avr.c:2415 elf32-hppa.c:598 elf32-m68hc1x.c:166
-msgid "%B: cannot create stub entry %s"
-msgstr "%B: не вдалоÑÑ Ñтворити шаблонний Ð·Ð°Ð¿Ð¸Ñ %s"
+#: elf32-avr.c:3319
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:2880
+#, c-format
+msgid "cannot create stub entry %s"
+msgstr "не вдалоÑÑ Ñтворити шаблонний Ð·Ð°Ð¿Ð¸Ñ %s"
-#: elf32-bfin.c:107 elf32-bfin.c:363
+#: elf32-bfin.c:106 elf32-bfin.c:362
msgid "relocation should be even number"
msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð°Ñ” бути вказано парним чиÑлом"
-#: elf32-bfin.c:1593
+#: elf32-bfin.c:1581
+#, c-format
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
msgstr "B(%A+0x%lx): нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ Ñимволу «%s»"
-#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
-#: elf64-s390.c:3030 elf64-x86-64.c:4151
+#: elf32-bfin.c:1612 elf32-i386.c:5412 elf32-m68k.c:4160 elf32-s390.c:3429
+#: elf64-s390.c:3353 elf64-x86-64.c:5793
+#, c-format
msgid "%B(%A+0x%lx): reloc against `%s': error %d"
msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s»: помилка %d"
-#: elf32-bfin.c:2725
+#: elf32-bfin.c:2706
+#, c-format
msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ «%A+0x%x» поÑилаєтьÑÑ Ð½Ð° Ñимвол «%s» з ненульовим доданком"
-#: elf32-bfin.c:2741
+#: elf32-bfin.c:2722
msgid "relocation references symbol not defined in the module"
msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÑилаєтьÑÑ Ð½Ð° Ñимвол, Ñкий не визначено у модулі"
-#: elf32-bfin.c:2838
+#: elf32-bfin.c:2819
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC поÑилаєтьÑÑ Ð½Ð° динамічний Ñимвол з ненульовим доданком"
-#: elf32-bfin.c:2879 elf32-bfin.c:3002
+#: elf32-bfin.c:2860 elf32-bfin.c:2983
msgid "cannot emit fixups in read-only section"
msgstr "не можна викориÑтовувати адреÑну прив’Ñзку у розділі, придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
-#: elf32-bfin.c:2910 elf32-bfin.c:3040 elf32-lm32.c:1103 elf32-sh.c:5016
+#: elf32-bfin.c:2891 elf32-bfin.c:3021 elf32-lm32.c:1064 elf32-sh.c:4930
msgid "cannot emit dynamic relocations in read-only section"
msgstr "не можна викориÑтовувати динамічні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі, призначеному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
-#: elf32-bfin.c:2960
+#: elf32-bfin.c:2941
msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr "R_BFIN_FUNCDESC_VALUE поÑилаєтьÑÑ Ð½Ð° динамічний Ñимвол з ненульовим доданком"
-#: elf32-bfin.c:3125
+#: elf32-bfin.c:3106
msgid "relocations between different segments are not supported"
msgstr "підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð¶ різними Ñегментами не передбачено"
-#: elf32-bfin.c:3126
+#: elf32-bfin.c:3107
msgid "warning: relocation references a different segment"
msgstr "попередженнÑ: у переÑуванні виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° інший Ñегмент"
-#: elf32-bfin.c:4971
+#: elf32-bfin.c:4877
+#, c-format
msgid "%B: unsupported relocation type %i"
msgstr "%B: непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %i"
-#: elf32-bfin.c:5125 elf32-frv.c:6808
-#, c-format
-msgid "%s: cannot link non-fdpic object file into fdpic executable"
-msgstr "%s: не можна компонувати об’єктний файл не-fdpic до виконуваного файла fdpic"
+#: elf32-bfin.c:4966 elf32-frv.c:6599
+msgid "%B: cannot link non-fdpic object file into fdpic executable"
+msgstr "%B: не можна компонувати об’єктний файл не-fdpic до виконуваного файла fdpic"
-#: elf32-bfin.c:5129 elf32-frv.c:6812
-#, c-format
-msgid "%s: cannot link fdpic object file into non-fdpic executable"
-msgstr "%s: не можна компонувати об’єктний файл fdpic до виконуваного файла не-fdpic"
+#: elf32-bfin.c:4970 elf32-frv.c:6603
+msgid "%B: cannot link fdpic object file into non-fdpic executable"
+msgstr "%B: не можна компонувати об’єктний файл fdpic до виконуваного файла не-fdpic"
-#: elf32-bfin.c:5283
+#: elf32-bfin.c:5120
#, c-format
msgid "*** check this relocation %s"
msgstr "*** перевірте це переÑуваннÑ: %s"
-#: elf32-cris.c:1176
+#: elf32-bfin.c:5236
+msgid "the bfin target does not currently support the generation of copy relocations"
+msgstr "у поточній верÑÑ–Ñ— не передбачено Ð´Ð»Ñ Ñ†Ñ–Ð»Ñ– bfin ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑувань копіюваннÑ"
+
+#: elf32-cr16.c:653
+#, c-format
+msgid "Unsupported CR16 relocation type: 0x%x\n"
+msgstr "Ðепідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ CR16: 0x%x\n"
+
+#: elf32-cr16.c:682
+#, c-format
+msgid "%B: unrecognised CR16 reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ CR16: %d"
+
+#: elf32-cr16c.c:186
+#, c-format
+msgid "%B: invalid CR16C reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ CR16C: %d"
+
+#: elf32-cris.c:467
+#, c-format
+msgid "%B: invalid CRIS reloc number: %d"
+msgstr "%B: некоректний номер переÑÑƒÐ²Ð°Ð½Ð½Ñ CRIS: %d"
+
+#: elf32-cris.c:1115
+#, c-format
msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
msgstr "%B, розділ %A: нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»"
-#: elf32-cris.c:1238
+#: elf32-cris.c:1177
+#, c-format
msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
msgstr "%B, розділ %A: немає ні PLT, ні GOT Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»"
-#: elf32-cris.c:1240
+#: elf32-cris.c:1180
+#, c-format
msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
msgstr "%B, розділ %A: немає PLT Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»"
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
-#: elf32-cris.c:1875 elf32-tic6x.c:2662
+#: elf32-cris.c:1186 elf32-cris.c:1319 elf32-cris.c:1583 elf32-cris.c:1666
+#: elf32-cris.c:1819 elf32-tic6x.c:2651
msgid "[whose name is lost]"
msgstr "[чию назву втрачено]"
-#: elf32-cris.c:1365 elf32-tic6x.c:2647
+#: elf32-cris.c:1304 elf32-tic6x.c:2635
+#, c-format
msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol"
msgstr "%B, розділ %A: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s з ненульовим доданком, %d, щодо локального Ñимволу"
-#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
+#: elf32-cris.c:1313 elf32-cris.c:1660 elf32-cris.c:1813 elf32-tic6x.c:2644
+#, c-format
msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
msgstr "%B, розділ %A: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s з ненульовим доданком, %d, щодо Ñимволу «%s»"
-#: elf32-cris.c:1399
+#: elf32-cris.c:1340
+#, c-format
msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
msgstr "%B, розділ %A: не можна виконувати переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñимволу: «%s»"
-#: elf32-cris.c:1415
+#: elf32-cris.c:1357
+#, c-format
msgid "%B, section %A: relocation %s with no GOT created"
msgstr "%B, розділ %A: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s без Ñтвореного GOT"
#. We shouldn't get here for GCC-emitted code.
-#: elf32-cris.c:1630
+#: elf32-cris.c:1573
+#, c-format
msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
msgstr "%B, розділ %A: у переÑуванні %s Ñ” невизначене поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° «%s», можливо, адреÑна прив’Ñзка оголошеннÑ?"
-#: elf32-cris.c:2002
+#: elf32-cris.c:1576
+#, c-format
+msgid "%B, section %A: relocation %s is not allowed for `%s', a global symbol with default visibility, perhaps a declaration mixup?"
+msgstr "%B, розділ %A: не можна виконувати переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ñимволу «%s», загального Ñимволу із типовою видиміÑÑ‚ÑŽ. Можливо, помилка у оголошенні?"
+
+#: elf32-cris.c:1947
+#, c-format
msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
msgstr "%B, розділ %A: не можна виконувати переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ñимволу «%s», Ñкий визначено поза програмою. Можливо, помилка у оголошенні?"
-#: elf32-cris.c:2055
+#: elf32-cris.c:2000
msgid "(too many global variables for -fpic: recompile with -fPIC)"
msgstr "(забагато загальних змінних Ð´Ð»Ñ -fpic: виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -fPIC)"
-#: elf32-cris.c:2062
+#: elf32-cris.c:2007
msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
msgstr "(дані локального потоку Ñ” надто великими Ð´Ð»Ñ -fpic або -msmall-tls: повторно зберіть з -fPIC або -mno-small-tls)"
-#: elf32-cris.c:3261
+#: elf32-cris.c:3233
+#, c-format
msgid ""
"%B, section %A:\n"
" v10/v32 compatible object %s must not contain a PIC relocation"
@@ -1397,7 +2084,8 @@ msgstr ""
"%B, розділ %A:\n"
" об’єкт верÑÑ–Ñ— 10/32, %s, не повинен міÑтити переÑÑƒÐ²Ð°Ð½Ð½Ñ PIC"
-#: elf32-cris.c:3366
+#: elf32-cris.c:3287
+#, c-format
msgid ""
"%B, section %A:\n"
" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
@@ -1405,7 +2093,8 @@ msgstr ""
"%B, розділ %A:\n"
" переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не Ñ” коректним у Ñпільному об’єкті; типовою причиною Ñ” конфлікт параметрів, перекомпілюйте з -fPIC"
-#: elf32-cris.c:3580
+#: elf32-cris.c:3505
+#, c-format
msgid ""
"%B, section %A:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
@@ -1413,7 +2102,8 @@ msgstr ""
"%B, розділ %A:\n"
" переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не Ñлід викориÑтовувати у Ñпільному об’єкті; перекомпілюйте з -fPIC"
-#: elf32-cris.c:4002
+#: 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"
@@ -1421,42 +2111,57 @@ msgstr ""
"%B, розділ «%A» до Ñимволу «%s»:\n"
" переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не Ñлід викориÑтовувати у Ñпільному об’єкті; перекомпілюйте з -fPIC"
-#: elf32-cris.c:4118
+#: elf32-cris.c:4041
msgid "Unexpected machine number"
msgstr "Ðеочікуваний номер машини"
-#: elf32-cris.c:4172
+#: elf32-cris.c:4092
#, c-format
msgid " [symbols have a _ prefix]"
msgstr " [Ñимволи міÑÑ‚ÑÑ‚ÑŒ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ _]"
-#: elf32-cris.c:4175
+#: elf32-cris.c:4095
#, c-format
msgid " [v10 and v32]"
msgstr " [v10 та v32]"
-#: elf32-cris.c:4178
+#: elf32-cris.c:4098
#, c-format
msgid " [v32]"
msgstr " [v32]"
-#: elf32-cris.c:4223
+#: elf32-cris.c:4142
msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr "%B: викориÑтовуютьÑÑ Ñимволи з префікÑом «_», але виконуєтьÑÑ Ð·Ð°Ð¿Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° з Ñимволами без префікÑів"
-#: elf32-cris.c:4224
+#: elf32-cris.c:4143
msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr "%B: викориÑтовуютьÑÑ Ñимволи без префікÑа «_», але виконуєтьÑÑ Ð·Ð°Ð¿Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° з Ñимволами з префікÑами «_»"
-#: elf32-cris.c:4243
+#: elf32-cris.c:4162
msgid "%B contains CRIS v32 code, incompatible with previous objects"
msgstr "у %B міÑтитьÑÑ ÐºÐ¾Ð´ v32 CRIS, неÑуміÑний з попередніми об’єктами"
-#: elf32-cris.c:4245
+#: elf32-cris.c:4164
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr "у %B міÑтитьÑÑ ÐºÐ¾Ð´, Ñкий не Ñ” кодом v32 CRIS, неÑуміÑний з попередніми об’єктами"
-#: elf32-dlx.c:142
+#: elf32-crx.c:429
+#, c-format
+msgid "%B: unrecognised CRX reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ CRX: %d"
+
+#: elf32-d10v.c:234
+#, c-format
+msgid "%B: invalid D10V reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ D10V: %d"
+
+#: elf32-d30v.c:522 elf32-d30v.c:541
+#, c-format
+msgid "%B: invalid D30V reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ D30V: %d"
+
+#: elf32-dlx.c:141
#, c-format
msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
msgstr "Помилка ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ BFD: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ (PC rel16) до розділу (%s) не підтримуєтьÑÑ"
@@ -1466,519 +2171,994 @@ msgstr "Помилка ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ BFD: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ (P
msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
msgstr "Помилка ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ BFD: не передбачено підтримки переходу (PC rel26) до розділу (%s)"
+#: elf32-dlx.c:552
+#, c-format
+msgid "Invalid DLX reloc number: %d"
+msgstr "Ðекоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ DLX: %d"
+
+#: elf32-epiphany.c:376
+#, c-format
+msgid "%B: invalid Epiphany reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ Epiphany: %d"
+
#. Only if it's not an unresolved symbol.
-#: elf32-epiphany.c:563 elf32-ip2k.c:1475
+#: elf32-epiphany.c:570 elf32-ip2k.c:1482
msgid "unsupported relocation between data/insn address spaces"
msgstr "непідтримуване переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð¶ проÑторами Ð°Ð´Ñ€ÐµÑ data та insn"
-#: elf32-frv.c:1509 elf32-frv.c:1658
+#: elf32-fr30.c:381
+#, c-format
+msgid "%B: invalid FR30 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ FR30: %d"
+
+#: elf32-frv.c:1451 elf32-frv.c:1602
msgid "relocation requires zero addend"
msgstr "Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±ÐµÐ½ нульовий доданок"
-#: elf32-frv.c:2888
+#: elf32-frv.c:2557
+#, c-format
+msgid "%B: invalid FRV reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ FRV: %d"
+
+#: elf32-frv.c:2823
+#, c-format
msgid "%H: relocation to `%s+%v' may have caused the error above\n"
msgstr "%H: Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку, наведене вище, можливо Ñпричинене переÑуваннÑм до «%s+%v»\n"
-#: elf32-frv.c:2905
+#: elf32-frv.c:2840
msgid "%H: relocation references symbol not defined in the module\n"
msgstr "%H: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÑилаєтьÑÑ Ð½Ð° Ñимвол, Ñкий не визначено у модулі\n"
-#: elf32-frv.c:2981
+#: elf32-frv.c:2916
msgid "%H: R_FRV_GETTLSOFF not applied to a call instruction\n"
msgstr "%H: R_FRV_GETTLSOFF Ñ” незаÑтоÑовним до команди виклику (call)\n"
-#: elf32-frv.c:3022
+#: elf32-frv.c:2957
msgid "%H: R_FRV_GOTTLSDESC12 not applied to an lddi instruction\n"
msgstr "%H: R_FRV_GOTTLSDESC12 Ñ” незаÑтоÑовним до команди lddi\n"
-#: elf32-frv.c:3093
+#: elf32-frv.c:3028
msgid "%H: R_FRV_GOTTLSDESCHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_GOTTLSDESCHI Ñ” незаÑтоÑовним до команди sethi\n"
-#: elf32-frv.c:3130
+#: elf32-frv.c:3065
msgid "%H: R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction\n"
msgstr "%H: R_FRV_GOTTLSDESCLO Ñ” незаÑтоÑовним до команди setlo або setlos\n"
-#: elf32-frv.c:3177
+#: elf32-frv.c:3112
msgid "%H: R_FRV_TLSDESC_RELAX not applied to an ldd instruction\n"
msgstr "%H: R_FRV_TLSDESC_RELAX Ñ” незаÑтоÑовним до команди ldd\n"
-#: elf32-frv.c:3261
+#: elf32-frv.c:3196
msgid "%H: R_FRV_GETTLSOFF_RELAX not applied to a calll instruction\n"
msgstr "%H: R_FRV_GETTLSOFF_RELAX Ñ” незаÑтоÑовним до команди calll\n"
-#: elf32-frv.c:3315
+#: elf32-frv.c:3250
msgid "%H: R_FRV_GOTTLSOFF12 not applied to an ldi instruction\n"
msgstr "%H: R_FRV_GOTTLSOFF12 Ñ” незаÑтоÑовним до команди ldi\n"
-#: elf32-frv.c:3345
+#: elf32-frv.c:3280
msgid "%H: R_FRV_GOTTLSOFFHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_GOTTLSOFFHI Ñ” незаÑтоÑовним до команди sethi\n"
-#: elf32-frv.c:3374
+#: elf32-frv.c:3309
msgid "%H: R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction\n"
msgstr "%H: R_FRV_GOTTLSOFFLO Ñ” незаÑтоÑовним до команди setlo або setlos\n"
-#: elf32-frv.c:3404
+#: elf32-frv.c:3339
msgid "%H: R_FRV_TLSOFF_RELAX not applied to an ld instruction\n"
msgstr "%H: R_FRV_TLSOFF_RELAX Ñ” незаÑтоÑовним до команди ld\n"
-#: elf32-frv.c:3449
+#: elf32-frv.c:3384
msgid "%H: R_FRV_TLSMOFFHI not applied to a sethi instruction\n"
msgstr "%H: R_FRV_TLSMOFFHI Ñ” незаÑтоÑовним до команди sethi\n"
-#: elf32-frv.c:3476
+#: elf32-frv.c:3411
msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
msgstr "R_FRV_TLSMOFFLO Ñ” незаÑтоÑовним до команди setlo або setlos\n"
-#: elf32-frv.c:3597
+#: elf32-frv.c:3532
msgid "%H: R_FRV_FUNCDESC references dynamic symbol with nonzero addend\n"
msgstr "%H: R_FRV_FUNCDESC поÑилаєтьÑÑ Ð½Ð° динамічний Ñимвол з ненульовим доданком\n"
-#: elf32-frv.c:3638 elf32-frv.c:3760
+#: elf32-frv.c:3573 elf32-frv.c:3695
msgid "%H: cannot emit fixups in read-only section\n"
msgstr "%H: не можна викориÑтовувати адреÑну прив’Ñзку у розділі, придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ\n"
-#: elf32-frv.c:3669 elf32-frv.c:3803
+#: elf32-frv.c:3604 elf32-frv.c:3738
msgid "%H: cannot emit dynamic relocations in read-only section\n"
msgstr "%H: не можна викориÑтовувати динамічні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі, призначеному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ\n"
-#: elf32-frv.c:3718
+#: elf32-frv.c:3653
msgid "%H: R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend\n"
msgstr "%H: R_FRV_FUNCDESC_VALUE поÑилаєтьÑÑ Ð½Ð° динамічний Ñимвол з ненульовим доданком\n"
-#: elf32-frv.c:3974
+#: elf32-frv.c:3910
+#, c-format
msgid "%H: reloc against `%s' references a different segment\n"
msgstr "%H: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s» поÑилаєтьÑÑ Ð½Ð° інший Ñегмент\n"
-#: elf32-frv.c:4124
+#: elf32-frv.c:4061
+#, c-format
msgid "%H: reloc against `%s': %s\n"
msgstr "%H: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s»: %s\n"
-#: elf32-frv.c:6400
+#: elf32-frv.c:6258
+#, c-format
msgid "%B: unsupported relocation type %i\n"
msgstr "%B: непідтримуваний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %i\n"
-#: elf32-frv.c:6722
-#, c-format
-msgid "%s: compiled with %s and linked with modules that use non-pic relocations"
-msgstr "%s: зібрано з %s Ñ– Ñкомпоновано з модулÑми, у Ñких викориÑтовуютьÑÑ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ-pic"
-
-#: elf32-frv.c:6775 elf32-iq2000.c:845 elf32-m32c.c:807
+#: elf32-frv.c:6510
#, c-format
-msgid "%s: compiled with %s and linked with modules compiled with %s"
-msgstr "%s: зібрано з %s Ñ– Ñкомпоновано з модулÑми, зібраними з %s"
+msgid "%B: compiled with %s and linked with modules that use non-pic relocations"
+msgstr "%B: зібрано з %s Ñ– Ñкомпоновано з модулÑми, у Ñких викориÑтовуютьÑÑ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ-pic"
-#: elf32-frv.c:6787
+#: elf32-frv.c:6564 elf32-iq2000.c:832 elf32-m32c.c:877
#, c-format
-msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– невідомі Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
+msgid "%B: compiled with %s and linked with modules compiled with %s"
+msgstr "%B: зібрано з %s Ñ– Ñкомпоновано з модулÑми, зібраними з %s"
-#: elf32-frv.c:6837 elf32-iq2000.c:882 elf32-m32c.c:843 elf32-mt.c:576
-#: elf32-rx.c:3001
+#: elf32-frv.c:6577
#, c-format
-msgid "private flags = 0x%lx:"
-msgstr "закриті прапорці = 0x%lx:"
+msgid "%B: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)"
+msgstr "%B: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– невідомі Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
#: elf32-gen.c:69 elf64-gen.c:69
+#, c-format
msgid "%B: Relocations in generic ELF (EM: %d)"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ типовому ELF (EM: %d)"
-#: elf32-hppa.c:850 elf32-hppa.c:3598
+#: elf32-hppa.c:839 elf32-hppa.c:3599
+#, c-format
msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
msgstr "%B(%A+0x%lx): не вдалоÑÑ Ð´Ð¾ÑÑгти %s, повторно зберіть з -ffunction-sections"
-#: elf32-hppa.c:1284
+#: elf32-hppa.c:1270
+#, c-format
msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ; повторно зберіть з -fPIC"
-#: elf32-hppa.c:2791
+#: elf32-hppa.c:2778
+#, c-format
msgid "%B: duplicate export stub %s"
msgstr "%B: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: elf32-hppa.c:3437
+#: elf32-hppa.c:3433
+#, c-format
msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
msgstr "%B(%A+0x%lx): підтримки адреÑної прив’Ñзки %s Ð´Ð»Ñ Ñ–Ð½Ñтрукції 0x%x не передбачено у поÑиланні неÑпільного викориÑтаннÑ"
-#: elf32-hppa.c:4284
+#: elf32-hppa.c:4290
+#, c-format
msgid "%B(%A+0x%lx): cannot handle %s for %s"
msgstr "%B(%A+0x%lx): не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ %s"
-#: elf32-hppa.c:4603
+#: elf32-hppa.c:4588
msgid ".got section not immediately after .plt section"
msgstr "Розділ .got не перебуває одразу за розділом .plt"
+#: elf32-i370.c:307
+#, c-format
+msgid "%B: unrecognised I370 reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ I370: %d"
+
+#: elf32-i370.c:1168
+msgid "%B: unknown relocation type %d for symbol %s"
+msgstr "%B: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d Ð´Ð»Ñ Ñимволу %s"
+
+#: elf32-i370.c:1310
+#, c-format
+msgid "%B: Relocation %s is not yet supported for symbol %s."
+msgstr "%B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ñимволу %s ще не передбачено."
+
#. Unknown relocation.
-#: elf32-i386.c:373 elf32-m68k.c:384 elf32-ppc.c:1676 elf32-s390.c:379
-#: elf32-tic6x.c:2684 elf64-ppc.c:2300 elf64-s390.c:403 elf64-x86-64.c:265
+#: elf32-i386.c:387 elf32-m68k.c:352 elf32-ppc.c:2074 elf32-s390.c:346
+#: elf32-tic6x.c:2674 elf32-wasm32.c:106 elf64-ppc.c:2516 elf64-s390.c:373
+#: elf64-x86-64.c:289
+#, c-format
msgid "%B: invalid relocation type %d"
msgstr "%B: некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
-#: elf32-i386.c:1404 elf64-x86-64.c:1308
+#: elf32-i386.c:1711 elf64-x86-64.c:1888
+#, c-format
msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
msgstr "%B: перенеÑÐµÐ½Ð½Ñ TLS з %s до %s щодо «%s» у 0x%lx у розділі «%A» зазнало невдачі"
-#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
-#: elfxx-sparc.c:3083
-msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу STT_GNU_IFUNC «%s» не оброблÑєтьÑÑ %s"
+#: elf32-i386.c:1799
+#, c-format
+msgid "%B: direct GOT relocation R_386_GOT32X against `%s' without base register can not be used when making a shared object"
+msgstr "%B: безпоÑереднє переÑÑƒÐ²Ð°Ð½Ð½Ñ GOT R_386_GOT32X щодо «%s» без базового регіÑтра не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
-#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
-#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
-#: elfxx-tilegx.c:1701
+#: elf32-i386.c:2237 elf32-s390.c:1188 elf32-sh.c:6056 elf32-tilepro.c:1608
+#: elf32-xtensa.c:1196 elf64-s390.c:1117 elfxx-sparc.c:1625
+#: elfxx-tilegx.c:1817
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:440
+#, c-format
msgid "%B: `%s' accessed both as normal and thread local symbol"
msgstr "%B: доÑтуп до «%s» виконуєтьÑÑ Ñк до звичайного Ñимволу, так Ñ– до локального Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñимволу"
-#: elf32-i386.c:2539 elf64-x86-64.c:2506
-msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s» у придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– «%A».\n"
+#: elf32-i386.c:2314
+#, c-format
+msgid "%B: unsupported non-PIC call to IFUNC `%s'"
+msgstr "%B: непідтримуваний виклик без PIC IFUNC «%s»"
-#: elf32-i386.c:2629 elf64-x86-64.c:2593
-msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
-msgstr "%P: %B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі, придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%A».\n"
+#: elf32-i386.c:3189 elf64-x86-64.c:3589
+#, c-format
+msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'\n"
+msgstr "%P: %B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s» у придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ– «%A»\n"
-#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
+#: elf32-i386.c:3402 elf64-x86-64.c:3798
+#, c-format
+msgid "%P: %B: warning: relocation in readonly section `%A'\n"
+msgstr "%P: %B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі, придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Â«%A»\n"
+
+#: elf32-i386.c:3705 elf64-x86-64.c:4114
+msgid "%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+msgstr "%P%X: Ñегмент, призначений лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, міÑтить динамічні переÑÑƒÐ²Ð°Ð½Ð½Ñ IFUNC. Спробуйте зібрати з -fPIC\n"
+
+#: elf32-i386.c:3945 elf32-tilepro.c:2868 elf64-x86-64.c:4321
+#: elfxx-tilegx.c:3167
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6082
+#, c-format
msgid "%B: unrecognized relocation (0x%x) in section `%A'"
msgstr "%B: нерозпізнане переÑÑƒÐ²Ð°Ð½Ð½Ñ (0x%x) у розділі «%A»"
-#: elf32-i386.c:3494 elf64-x86-64.c:3513
+#: elf32-i386.c:4240 elf64-x86-64.c:4550
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
+msgstr "%B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу STT_GNU_IFUNC «%s» не передбачено"
+
+#: elf32-i386.c:4275 elf32-i386.c:5642 elf32-i386.c:5781 elf64-x86-64.c:4609
+#: elf64-x86-64.c:5982 elf64-x86-64.c:6136
+msgid "Local IFUNC function `%s' in %B\n"
+msgstr "Локальна Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ IFUNC «%s» у %B\n"
+
+#: elf32-i386.c:4508
+#, c-format
+msgid "%B: direct GOT relocation %s against `%s' without base register can not be used when making a shared object"
+msgstr "%B: безпоÑереднє переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s» без базового регіÑтра не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
+
+#: elf32-i386.c:4543 elf64-x86-64.c:4816
msgid "hidden symbol"
-msgstr "прихований Ñимвол"
+msgstr "прихованого Ñимволу"
-#: elf32-i386.c:3497 elf64-x86-64.c:3516
+#: elf32-i386.c:4546 elf64-x86-64.c:4819
msgid "internal symbol"
-msgstr "внутрішній Ñимвол"
+msgstr "внутрішнього Ñимволу"
-#: elf32-i386.c:3500 elf64-x86-64.c:3519
+#: elf32-i386.c:4549 elf64-x86-64.c:4822
msgid "protected symbol"
-msgstr "захищений Ñимвол"
+msgstr "захищеного Ñимволу"
-#: elf32-i386.c:3503 elf64-x86-64.c:3522
+#: elf32-i386.c:4552 elf64-x86-64.c:4825
msgid "symbol"
-msgstr "Ñимвол"
+msgstr "Ñимволу"
-#: elf32-i386.c:3508
+#: elf32-i386.c:4558
+#, c-format
msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
-msgstr "B: переÑÑƒÐ²Ð°Ð½Ð½Ñ R_386_GOTOFF щодо невизначеного %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ R_386_GOTOFF щодо невизначеного %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
-#: elf32-i386.c:3518
-msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: не можна викориÑтовувати R_386_GOTOFF переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ захищеної функції «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
+#: elf32-i386.c:4571
+#, c-format
+msgid "%B: relocation R_386_GOTOFF against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: не можна викориÑтовувати R_386_GOTOFF переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ захищеної %s «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
-#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
-#: elfxx-tilegx.c:3847
+#: elf32-i386.c:6116 elf32-tilepro.c:3920 elf64-x86-64.c:6483
+#: elfxx-tilegx.c:4327
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:9261
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2522
#, c-format
msgid "discarded output section: `%A'"
msgstr "відкинуто розділ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…: «%A»"
-#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
+#: elf32-i386.c:6693 elf64-x86-64.c:7228
+msgid "error: %B: <corrupt x86 ISA used size: 0x%x>"
+msgstr "помилка: %B: <пошкоджений розмір викориÑтаного ISA x86: 0x%x>"
+
+#: elf32-i386.c:6695 elf64-x86-64.c:7230
+msgid "error: %B: <corrupt x86 ISA needed size: 0x%x>"
+msgstr "помилка: %B: <пошкоджений розмір потрібного ISA x86: 0x%x>"
+
+#: elf32-i386.c:6696 elf64-x86-64.c:7231
+msgid "error: %B: <corrupt x86 feature size: 0x%x>"
+msgstr "помилка: %B: <пошкоджений розмір можливоÑÑ‚Ñ– x86: 0x%x>"
+
+#: elf32-i386.c:6873 elf64-x86-64.c:7408
+#, c-format
+msgid "%F: failed to create GNU property section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ влаÑтивоÑтей GNU\n"
+
+#: elf32-i386.c:6959
+#, c-format
+msgid "%F: failed to create VxWorks dynamic sections\n"
+msgstr "%F: не вдалоÑÑ Ñтворити динамічні розділи VxWorks\n"
+
+#: elf32-i386.c:7026 elf64-x86-64.c:7568
+#, c-format
+msgid "%F: failed to create GOT sections\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділи GOT\n"
+
+#: elf32-i386.c:7031 elf64-x86-64.c:7584
+#, c-format
+msgid "%F: failed to create ifunc sections\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділи ifunc\n"
+
+#: elf32-i386.c:7074 elf64-x86-64.c:7627
+#, c-format
+msgid "%F: failed to create GOT PLT section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ PLT GOT\n"
+
+#: elf32-i386.c:7095 elf64-x86-64.c:7648
+#, c-format
+msgid "%F: failed to create IBT-enabled PLT section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ PLT із увімкненим IBT\n"
+
+#: elf32-i386.c:7116 elf64-x86-64.c:7684
+#, c-format
+msgid "%F: failed to create PLT .eh_frame section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ .eh_frame PLT\n"
+
+#: elf32-i386.c:7129 elf64-x86-64.c:7698
+#, c-format
+msgid "%F: failed to create GOT PLT .eh_frame section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ .eh_frame PLT GOT\n"
+
+#: elf32-i386.c:7149 elf64-x86-64.c:7414
+#, c-format
+msgid "%F%A: failed to align section\n"
+msgstr "%F%A: не вдалоÑÑ Ð²Ð¸Ñ€Ñ–Ð²Ð½Ñти розмір\n"
+
+#: elf32-i960.c:140
+#, c-format
+msgid "%B: invalid i960 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ i960: %d"
+
+#: elf32-ip2k.c:856 elf32-ip2k.c:862 elf32-ip2k.c:929 elf32-ip2k.c:935
msgid "ip2k relaxer: switch table without complete matching relocation information."
msgstr "Оптимізатор розміру ip2k: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½ÑŒ без повних даних щодо відповідноÑÑ‚Ñ– переÑувань."
-#: elf32-ip2k.c:880 elf32-ip2k.c:963
+#: elf32-ip2k.c:879 elf32-ip2k.c:962
msgid "ip2k relaxer: switch table header corrupt."
msgstr "Оптимізатор розміру ip2k: пошкоджено заголовок таблиці перемикань"
-#: elf32-ip2k.c:1292
+#: elf32-ip2k.c:1245
+#, c-format
+msgid "%B: invalid IP2K reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ IP2K: %d"
+
+#: elf32-ip2k.c:1298
#, c-format
msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "компонувальник ip2k: не виÑтачає інÑтрукції щодо Ñторінки у 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ = 0x%08lx)."
-#: elf32-ip2k.c:1308
+#: elf32-ip2k.c:1315
#, c-format
msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr "компонувальник ip2k: зайва інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ñ‰Ð¾Ð´Ð¾ Ñторінки у 0x%08lx (Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ = 0x%08lx)."
-#: elf32-iq2000.c:858 elf32-m32c.c:819
+#: elf32-iq2000.c:441
+#, c-format
+msgid "%B: invalid IQ2000 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ IQ2000: %d"
+
+#: elf32-lm32.c:559
#, c-format
-msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%s: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
+msgid "%B: invalid LM32 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ LM32: %d"
-#: elf32-lm32.c:706
+#: elf32-lm32.c:668 elf32-nios2.c:3153
msgid "global pointer relative relocation when _gp not defined"
msgstr "відноÑне перенеÑÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ вказівника без Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ _gp"
-#: elf32-lm32.c:761
+#: elf32-lm32.c:723 elf32-nios2.c:3590
msgid "global pointer relative address out of range"
msgstr "відноÑна адреÑа загального вказівника лежить за межами дозволеного діапазону"
-#: elf32-lm32.c:1057
+#: elf32-lm32.c:1018
msgid "internal error: addend should be zero for R_LM32_16_GOT"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: доданок має бути нульовим Ð´Ð»Ñ R_LM32_16_GOT"
-#: elf32-m32r.c:1453
+#: elf32-m32c.c:305
+#, c-format
+msgid "%B: invalid M32C reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ M32C: %d"
+
+#: elf32-m32r.c:1286
+#, c-format
+msgid "%B: invalid M32R reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ M32R: %d"
+
+#: elf32-m32r.c:1458
msgid "SDA relocation when _SDA_BASE_ not defined"
msgstr "перенеÑÐµÐ½Ð½Ñ SDA без Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ _SDA_BASE_"
-#: elf32-m32r.c:3043
+#: elf32-m32r.c:2984 elf32-microblaze.c:1080 elf32-microblaze.c:1128
+#, c-format
msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
msgstr ""
"%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%s) переÑÑƒÐ²Ð°Ð½Ð½Ñ %s перебуває у помилковому розділі (%A)\n"
")"
-#: elf32-m32r.c:3571
+#: elf32-m32r.c:3486
msgid "%B: Instruction set mismatch with previous modules"
msgstr "%B: невідповідніÑÑ‚ÑŒ набору команду цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ команд попередніх модулів"
-#: elf32-m32r.c:3592
+#: elf32-m32r.c:3507 elf32-nds32.c:6111
#, c-format
msgid "private flags = %lx"
msgstr "закриті прапорці = %lx"
-#: elf32-m32r.c:3597
+#: elf32-m32r.c:3512
#, c-format
msgid ": m32r instructions"
msgstr ": команди m32r"
-#: elf32-m32r.c:3598
+#: elf32-m32r.c:3513
#, c-format
msgid ": m32rx instructions"
msgstr ": команди m32rx"
-#: elf32-m32r.c:3599
+#: elf32-m32r.c:3514
#, c-format
msgid ": m32r2 instructions"
msgstr ": команди m32r2"
-#: elf32-m68hc1x.c:1050
+#: elf32-m68hc11.c:390
+#, c-format
+msgid "%B: invalid M68HC11 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ M68HC11: %d"
+
+#: elf32-m68hc12.c:510
+#, c-format
+msgid "%B: invalid M68HC12 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ M68HC12: %d"
+
+#: elf32-m68hc1x.c:1119
#, c-format
msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° віддалений Ñимвол «%s», що викориÑтовує помилкове переÑуваннÑ, може призвеÑти до помилок у виконанні."
-#: elf32-m68hc1x.c:1073
+#: elf32-m68hc1x.c:1153
+#, c-format
+msgid "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you must manually offset the address, and possibly manage the page, in your code."
+msgstr "ÐдреÑа XGATE (%lx) розташована поза RAM Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ (0xE000-0xFFFF), тому вам Ñлід вручну вÑтановити відÑтуп адреÑи Ñ–, ймовірно, керувати Ñторінкою пам’ÑÑ‚Ñ– у вашому коді."
+
+#: elf32-m68hc1x.c:1171
#, c-format
msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)"
msgstr "занеÑена до банку адреÑа [%lx:%04lx] (%lx) не перебуває у одному банку з поточною адреÑою, занеÑеною до банку, [%lx:%04lx] (%lx)"
-#: elf32-m68hc1x.c:1092
+#: elf32-m68hc1x.c:1187
#, c-format
msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx"
msgstr "поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° занеÑену до банку адреÑу [%lx:%04lx] у звичайному проÑторі адреÑ, %04lx"
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1228
+#, c-format
+msgid "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you must manually offset the address in your code"
+msgstr "ÐдреÑа S12 (%lx) розташована поза RAM Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ (0x2000-x4000), тому вам Ñлід вручну вÑтановити відÑтуп адреÑи у вашому коді"
+
+#: elf32-m68hc1x.c:1355
msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers"
msgstr "%B: компоновані файли зібрано Ð´Ð»Ñ 16-бітових цілих (-mshort), а решту файлів — Ð´Ð»Ñ 32-бітових цілих чиÑел"
-#: elf32-m68hc1x.c:1232
+#: elf32-m68hc1x.c:1362
msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double"
msgstr "%B: компоновані файли зібрано Ð´Ð»Ñ 32-бітових дійÑних чиÑел з подвійною точніÑÑ‚ÑŽ (-fshort-double), а інші — Ð´Ð»Ñ 64-бітових дійÑних чиÑел з подвійною точніÑÑ‚ÑŽ."
-#: elf32-m68hc1x.c:1241
+#: elf32-m68hc1x.c:1371
msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
msgstr "%B: компоновані файли зібрано Ð´Ð»Ñ HCS12, інші ж — Ð´Ð»Ñ HC12"
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4227 elf64-sparc.c:706 elfxx-mips.c:13965
-msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
-msgstr "%B: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
-
-#: elf32-m68hc1x.c:1285
+#: elf32-m68hc1x.c:1416 elf32-xgate.c:672
#, c-format
msgid "[abi=32-bit int, "
msgstr "[abi=32-бітове ціле, "
-#: elf32-m68hc1x.c:1287
+#: elf32-m68hc1x.c:1418 elf32-xgate.c:674
#, c-format
msgid "[abi=16-bit int, "
msgstr "[abi=16-бітове ціле, "
-#: elf32-m68hc1x.c:1290
+#: elf32-m68hc1x.c:1421 elf32-xgate.c:677
#, c-format
msgid "64-bit double, "
msgstr "64-бітове double, "
-#: elf32-m68hc1x.c:1292
+#: elf32-m68hc1x.c:1423 elf32-xgate.c:679
#, c-format
msgid "32-bit double, "
msgstr "32-бітове double, "
-#: elf32-m68hc1x.c:1295
+#: elf32-m68hc1x.c:1426
#, c-format
msgid "cpu=HC11]"
msgstr "процеÑор=HC11]"
-#: elf32-m68hc1x.c:1297
+#: elf32-m68hc1x.c:1428
#, c-format
msgid "cpu=HCS12]"
msgstr "процеÑор=HCS12]"
-#: elf32-m68hc1x.c:1299
+#: elf32-m68hc1x.c:1430
#, c-format
msgid "cpu=HC12]"
msgstr "процеÑор=HC12]"
-#: elf32-m68hc1x.c:1302
+#: elf32-m68hc1x.c:1433
#, c-format
msgid " [memory=bank-model]"
msgstr " [пам’ÑÑ‚ÑŒ=модель з банками]"
-#: elf32-m68hc1x.c:1304
+#: elf32-m68hc1x.c:1435
#, c-format
msgid " [memory=flat]"
msgstr " [пам’ÑÑ‚ÑŒ=плоÑка модель]"
-#: elf32-m68k.c:1251 elf32-m68k.c:1252 vms-alpha.c:7314 vms-alpha.c:7329
+#: elf32-m68hc1x.c:1438
+#, c-format
+msgid " [XGATE RAM offsetting]"
+msgstr " [вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñтупу RAM XGATE]"
+
+#: elf32-m68k.c:1215 elf32-m68k.c:1216 vms-alpha.c:7400 vms-alpha.c:7416
msgid "unknown"
msgstr "невідомо"
-#: elf32-m68k.c:1715
+#: elf32-m68k.c:1680
+#, c-format
msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ GOT: кількіÑÑ‚ÑŒ переÑувань з 8-бітовим відÑтупом > %d"
-#: elf32-m68k.c:1721
+#: elf32-m68k.c:1687
+#, c-format
msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ GOT: кількіÑÑ‚ÑŒ переÑувань з 8- або 16-бітовим відÑтупом > %d"
-#: elf32-m68k.c:3957
+#: elf32-m68k.c:3890
+#, c-format
msgid "%B(%A+0x%lx): R_68K_TLS_LE32 relocation not permitted in shared object"
msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ R_68K_TLS_LE32 у об’єкті Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
-#: elf32-mcore.c:99 elf32-mcore.c:442
+#: elf32-mcore.c:100 elf32-mcore.c:455
+#, c-format
msgid "%B: Relocation %s (%d) is not currently supported.\n"
msgstr "%B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s (%d) у поточній верÑÑ–Ñ— не передбачено.\n"
-#: elf32-mcore.c:428
+#: elf32-mcore.c:355
+#, c-format
+msgid "%B: unrecognised MCore reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MCore: %d"
+
+#: elf32-mcore.c:440
+#, c-format
msgid "%B: Unknown relocation type %d\n"
msgstr "%B: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d\n"
#. Pacify gcc -Wall.
-#: elf32-mep.c:157
+#: elf32-mep.c:139
#, c-format
msgid "mep: no reloc for code %d"
msgstr "mep: немає переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð´Ñƒ %d"
-#: elf32-mep.c:163
+#: elf32-mep.c:146
#, c-format
msgid "MeP: howto %d has type %d"
msgstr "MeP: howto %d належить до типу %d"
-#: elf32-mep.c:648
+#: elf32-mep.c:390
+#, c-format
+msgid "%B: invalid MEP reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MEP: %d"
+
+#: elf32-mep.c:620
+#, c-format
msgid "%B and %B are for different cores"
msgstr "%B Ñ– %B призначено Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… Ñдер"
-#: elf32-mep.c:665
+#: elf32-mep.c:639
+#, c-format
msgid "%B and %B are for different configurations"
msgstr "%B Ñ– %B призначено Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… конфігурацій"
-#: elf32-mep.c:702
+#: elf32-mep.c:677
#, c-format
msgid "private flags = 0x%lx"
msgstr "закриті прапорці = 0x%lx"
-#: elf32-microblaze.c:742
+#: elf32-metag.c:893
+#, c-format
+msgid "%B: invalid METAG reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ METAG: %d"
+
+#: elf32-metag.c:1875
+msgid "%B(%A): multiple TLS models are not supported"
+msgstr "%B(%A): підтримки декількох моделей TLS не передбачено"
+
+#: elf32-metag.c:1878
+msgid "%B(%A): shared library symbol %s encountered whilst performing a static link"
+msgstr "%B(%A): під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñтатичного ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñвлено Ñимвол бібліотеки Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ %s"
+
+#: elf32-metag.c:1931
#, c-format
-msgid "%s: unknown relocation type %d"
-msgstr "%s: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
+msgid "%B(%A+0x%lx): R_METAG_TLS_LE/IENONPIC relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ R_METAG_TLS_LE/IENONPIC у об’єкті Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
-#: elf32-microblaze.c:867 elf32-microblaze.c:912
+#: elf32-microblaze.c:656
#, c-format
-msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
-msgstr ""
-"%s: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%s) переÑÑƒÐ²Ð°Ð½Ð½Ñ %s перебуває у помилковому розділі (%s)\n"
-")"
+msgid "%B: unrecognised MicroBlaze reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MicroBlaze: %d"
-#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
-#: elfxx-tilegx.c:3230
+#: elf32-microblaze.c:1496 elf32-or1k.c:1072 elf32-tilepro.c:3317
+#: elfxx-sparc.c:3705 elfxx-tilegx.c:3726
msgid "%B: probably compiled without -fPIC?"
msgstr "%B: ймовірно зібрано без -fPIC?"
-#: elf32-microblaze.c:2074
-msgid "%B: bad relocation section name `%s'"
-msgstr "%B: помилкова назва розділу Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»"
-
-#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
+#: elf32-mips.c:1777 elf64-mips.c:3200 elfn32-mips.c:3010
msgid "literal relocation occurs for an external symbol"
msgstr "відбуваєтьÑÑ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ðµ переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñимволу"
-#: elf32-mips.c:1596 elf32-score.c:570 elf32-score7.c:469 elf64-mips.c:2726
-#: elfn32-mips.c:2528
+#: elf32-mips.c:1824 elf32-score.c:569 elf32-score7.c:469 elf64-mips.c:3243
+#: elfn32-mips.c:3051
msgid "32bits gp relative relocation occurs for an external symbol"
msgstr "відбуваєтьÑÑ 32-бітове відноÑне gp-переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ Ñимволу"
-#: elf32-ppc.c:1741
+#: elf32-mips.c:2225
+#, c-format
+msgid "Unrecognised MIPS reloc number: %d"
+msgstr "Ðевідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MIPS: %d"
+
+#: elf32-moxie.c:137
+#, c-format
+msgid "%B: invalid Moxie reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ Moxie: %d"
+
+#: elf32-msp430.c:648
+#, c-format
+msgid "%B: invalid MSP430X reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MSP430X: %d"
+
+#: elf32-msp430.c:658
+#, c-format
+msgid "%B: invalid MSP430 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MSP430: %d"
+
+#: elf32-msp430.c:836 elf32-msp430.c:1150
+msgid "Try enabling relaxation to avoid relocation truncations"
+msgstr "Спробуйте увімкнути оптимізацію розміру Ð´Ð»Ñ ÑƒÐ½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑувань"
+
+#: elf32-msp430.c:1357
+msgid "internal error: branch/jump to an odd address detected"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: виÑвлено Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ перехід до непарної адреÑи"
+
+#: elf32-msp430.c:2354
+#, c-format
+msgid "Warning: %B: Unknown MSPABI object attribute %d"
+msgstr "ПопередженнÑ: %B: невідомий атрибут об’єкта MSPABI %d"
+
+#: elf32-msp430.c:2447
+#, c-format
+msgid "error: %B uses %s instructions but %B uses %s"
+msgstr "помилка: %B викориÑтовує інÑтрукції %s, але %B викориÑтовує %s"
+
+#: elf32-msp430.c:2459
+#, c-format
+msgid "error: %B uses the %s code model whereas %B uses the %s code model"
+msgstr "помилка: %B викориÑтовує модель коду %s, тоді Ñк %B викориÑтовує модель коду %s"
+
+#: elf32-msp430.c:2471
+#, c-format
+msgid "error: %B uses the large code model but %B uses MSP430 instructions"
+msgstr "помилка: %B викориÑтовує модель великого коду, а %B викориÑтовує інÑтрукції MSP430"
+
+#: elf32-msp430.c:2482
+#, c-format
+msgid "error: %B uses the %s data model whereas %B uses the %s data model"
+msgstr "помилка: %B викориÑтовує модель даних %s, тоді Ñк %B викориÑтовує модель даних %s"
+
+#: elf32-msp430.c:2494
+#, c-format
+msgid "error: %B uses the small code model but %B uses the %s data model"
+msgstr "помилка: %B викориÑтовує модель малого коду, а %B викориÑтовує модель даних %s"
+
+#: elf32-msp430.c:2506
+#, c-format
+msgid "error: %B uses the %s data model but %B only uses MSP430 instructions"
+msgstr "помилка: %B викориÑтовує модель даних %s, а у %B викориÑтовуютьÑÑ Ð»Ð¸ÑˆÐµ інÑтрукції MSP430"
+
+#: elf32-mt.c:242
+#, c-format
+msgid "%B: invalid MT reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MT: %d"
+
+#: elf32-nds32.c:2974
+#, c-format
+msgid "%B: invalid NDS32 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ NDS32: %d"
+
+#: elf32-nds32.c:3309
+msgid "error: Can't find symbol: _SDA_BASE_."
+msgstr "помилка: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол _SDA_BASE_."
+
+#: elf32-nds32.c:4484 elf32-nds32.c:11978
+msgid "%B: error: Cannot set _ITB_BASE_"
+msgstr "%B: помилка: не вдалоÑÑ Ð²Ñтановити _ITB_BASE_"
+
+#: elf32-nds32.c:4492
+msgid "error: IFC relocation error."
+msgstr "помилка: помилка переÑÑƒÐ²Ð°Ð½Ð½Ñ IFC."
+
+#: elf32-nds32.c:4526
+#, c-format
+msgid "%B: error: unknown relocation type %d."
+msgstr "%B: помилка: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d."
+
+#: elf32-nds32.c:4972
+msgid "%B: warning: cannot deal R_NDS32_25_ABS_RELA in shared mode."
+msgstr "%B: попередженнÑ: обробка R_NDS32_25_ABS_RELA у режимі Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°."
+
+#: elf32-nds32.c:5106
+msgid "%B: warning: unaligned access to GOT entry."
+msgstr "%B: попередженнÑ: невирівнÑний доÑтуп до запиÑу GOT."
+
+#: elf32-nds32.c:5148
+msgid "%B: warning: relocate SDA_BASE failed."
+msgstr "%B: попередженнÑ: помилка переÑÑƒÐ²Ð°Ð½Ð½Ñ SDA_BASE."
+
+#: elf32-nds32.c:5170
+#, c-format
+msgid "%B(%A): warning: unaligned small data access of type %d."
+msgstr "%B(%A): попередженнÑ: невирівнÑний доÑтуп до малих даних типу %d."
+
+#: elf32-nds32.c:5918
+#, c-format
+msgid "%B: ISR vector size mismatch with previous modules, previous %u-byte, current %u-byte"
+msgstr "%B: невідповідніÑÑ‚ÑŒ розмірів векторів ISR із попередніми модулÑми, попередні Ñ” %u-байтовими, поточні Ñ” %u-байтовими"
+
+#: elf32-nds32.c:5962
+msgid "%B: warning: Endian mismatch with previous modules."
+msgstr "%B: попередженнÑ: невідповідніÑÑ‚ÑŒ порÑдку байтів із попередніми модулÑми."
+
+#: elf32-nds32.c:5972
+msgid "%B: warning: Older version of object file encountered, Please recompile with current tool chain."
+msgstr "%B: попередженнÑ: виÑвлено Ñтарішу верÑÑ–ÑŽ об’єктного файла. Будь лаÑка, виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· поточним набором інÑтрументів."
+
+#: elf32-nds32.c:6050
+msgid "%B: error: ABI mismatch with previous modules."
+msgstr "%B: помилка: невідповідніÑÑ‚ÑŒ ABI з попередніми модулÑми."
+
+#: elf32-nds32.c:6061
+msgid "%B: error: Instruction set mismatch with previous modules."
+msgstr "%B: помилка: невідповідніÑÑ‚ÑŒ набору команду цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ команд попередніх модулів."
+
+#: elf32-nds32.c:6087
+#, c-format
+msgid "%B: warning: Incompatible elf-versions %s and %s."
+msgstr "%B: попередженнÑ: неÑуміÑні верÑÑ–Ñ— elf, %s та %s."
+
+#: elf32-nds32.c:6117
+#, c-format
+msgid ": n1 instructions"
+msgstr ": інÑтрукції n1"
+
+#: elf32-nds32.c:6120
+#, c-format
+msgid ": n1h instructions"
+msgstr ": інÑтрукції n1h"
+
+#: elf32-nds32.c:8730
+msgid "%B: Error: search_nds32_elf_blank reports wrong node\n"
+msgstr "%B: помилка: search_nds32_elf_blank повідомлÑÑ” про помилковий вузол\n"
+
+#: elf32-nds32.c:8989
+#, c-format
+msgid "%B: warning: %s points to unrecognized reloc at 0x%lx."
+msgstr "%B: попередженнÑ: %s вказує на невідоме переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾ 0x%lx."
+
+#: elf32-nds32.c:11850 elf32-nds32.c:11867
+msgid "error: Jump IFC Fail."
+msgstr "помилка: помилка переходу IFC."
+
+#: elf32-nds32.c:12724
+#, c-format
+msgid "%B: Nested OMIT_FP in %A."
+msgstr "%B: вкладене OMIT_FP у %A."
+
+#: elf32-nds32.c:12743
+#, c-format
+msgid "%B: Unmatched OMIT_FP in %A."
+msgstr "%B: OMIT_FP без відповідника у %A."
+
+#: elf32-nds32.c:13026 reloc.c:8231
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" goes out of range\n"
+msgstr "%X%P: %B(%A): переÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%R» виводить за межі припуÑтимого діапазону\n"
+
+#: elf32-nds32.c:14802
+msgid "Linker: cannot init ex9 hash table error \n"
+msgstr "Компонувальник: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ex9, помилка у таблиці хешів \n"
+
+#: elf32-nds32.c:15211 elf32-nds32.c:15225
+msgid "Linker: error cannot fixed ex9 relocation \n"
+msgstr "Компонувальник: помилка, не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ñ–ÐºÑованого ex9 \n"
+
+#: elf32-nds32.c:15436
+#, c-format
+msgid "%B: warning: unaligned small data access. For entry: {%d, %d, %d}, addr = 0x%x, align = 0x%x."
+msgstr "%B: попередженнÑ: невирівнÑний доÑтуп до малих даних. ЗапиÑ: {%d, %d, %d}, адреÑа = 0x%x, Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ = 0x%x."
+
+#: elf32-nds32.c:15469
+msgid "%P%F: failed creating ex9.it %s hash table: %E\n"
+msgstr "%P%F: не вдалоÑÑ Ñтворити таблицю хешів ex9.it %s: %E\n"
+
+#: elf32-nios2.c:2949
+msgid "error: %B: Big-endian R2 is not supported."
+msgstr "помилка: %B: підтримки зворотного порÑдку байтів R2 не передбачено."
+
+#: elf32-nios2.c:3830
+#, c-format
+msgid "global pointer relative relocation at address 0x%08x when _gp not defined\n"
+msgstr "відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ вказівника за адреÑою 0x%08x, втім, _gp не визначено\n"
+
+#: elf32-nios2.c:3850
+#, c-format
+msgid "Unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because the offset (%d) is out of the allowed range, -32678 to 32767.\n"
+msgstr "Ðеможливо доÑÑгти %s (за адреÑою 0x%08x) із загального вказівника (за адреÑою 0x%08x), оÑкільки Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ (%d) лежить поза межами дозволеного діапазону, від -32678 до 32767.\n"
+
+#: elf32-nios2.c:4372
+#, c-format
+msgid "%B(%A+0x%lx): R_NIOS2_TLS_LE16 relocation not permitted in shared object"
+msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ R_NIOS2_TLS_LE16 у об’єкті Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾"
+
+#: elf32-nios2.c:4500 elf32-pru.c:816
+msgid "relocation out of range"
+msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° межі діапазону"
+
+#: elf32-nios2.c:4510 elf32-pru.c:826 elf32-tic6x.c:2747
+msgid "dangerous relocation"
+msgstr "небезпечне переÑуваннÑ"
+
+#: elf32-nios2.c:5491
+#, c-format
+msgid "dynamic variable `%s' is zero size"
+msgstr "динамічна змінна «%s» має нульовий розмір"
+
+#: elf32-or1k.c:735
+#, c-format
+msgid "%B: invalid OR1K reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ OR1K: %d"
+
+#: elf32-or1k.c:985
+msgid "internal error: addend should be zero for R_OR1K_GOT16"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: доданок має бути нульовим Ð´Ð»Ñ R_OR1K_GOT16"
+
+#: elf32-or1k.c:1094
+msgid "%B: support for local dynamic not implemented"
+msgstr "%B: підтримку Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— динаміки не реалізовано"
+
+#: elf32-or1k.c:1229
+msgid "%B: will not resolve runtime TLS relocation"
+msgstr "%B: не буде визначено переÑÑƒÐ²Ð°Ð½Ð½Ñ TLS у динамічному режимі"
+
+#: elf32-or1k.c:1599
+#, c-format
+msgid "%B: bad relocation section name `%s'"
+msgstr "%B: помилкова назва розділу Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»"
+
+#: elf32-or1k.c:2704
+msgid "%B: EF_OR1K_NODELAY flag mismatch with previous modules"
+msgstr "%B: невідповідніÑÑ‚ÑŒ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ EF_OR1K_NODELAY попереднім модулÑм"
+
+#: elf32-pj.c:325
+#, c-format
+msgid "%B: unrecognised PicoJava reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ PicoJava: %d"
+
+#: elf32-ppc.c:2062
+#, c-format
+msgid "%B: unrecognised PPC reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ PPC: %d"
+
+#: elf32-ppc.c:2147
#, c-format
msgid "generic linker can't handle %s"
msgstr "типовий компонувальник не може оброблÑти %s"
-#: elf32-ppc.c:2184
+#: elf32-ppc.c:2781
+#, c-format
msgid "corrupt %s section in %B"
msgstr "пошкоджений розділ %s у %B"
-#: elf32-ppc.c:2203
+#: elf32-ppc.c:2801
+#, c-format
msgid "unable to read in %s section from %B"
msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñƒ розділі %s неможливе з %B"
-#: elf32-ppc.c:2244
+#: elf32-ppc.c:2843
+#, c-format
msgid "warning: unable to set size of %s section in %B"
msgstr "попередженнÑ: не вдалоÑÑ Ð²Ñтановити Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ розділу %s Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %B"
-#: elf32-ppc.c:2294
+#: elf32-ppc.c:2893
msgid "failed to allocate space for new APUinfo section."
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити новий розділ APUinfo."
-#: elf32-ppc.c:2313
+#: elf32-ppc.c:2912
msgid "failed to compute new APUinfo section."
msgstr "не вдалоÑÑ Ð¾Ð±Ñ‡Ð¸Ñлити новий розділ APUinfo."
-#: elf32-ppc.c:2316
+#: elf32-ppc.c:2915
msgid "failed to install new APUinfo section."
msgstr "не вдалоÑÑ Ð²Ñтановити новий розділ APUinfo."
-#: elf32-ppc.c:3356
+#: elf32-ppc.c:3975
+#, c-format
msgid "%B: relocation %s cannot be used when making a shared object"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
-#. It does not make sense to have a procedure linkage
-#. table entry for a local symbol.
-#: elf32-ppc.c:3700
-msgid "%P: %H: %s reloc against local symbol\n"
-msgstr "%P: %H: %s переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° локальним Ñимволом\n"
+#: elf32-ppc.c:4329 elf64-ppc.c:5591
+#, c-format
+msgid "%H: %s reloc against local symbol\n"
+msgstr "%H: %s переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° локальним Ñимволом\n"
-#: elf32-ppc.c:4039 elf32-ppc.c:4054 elfxx-mips.c:13651 elfxx-mips.c:13677
-#: elfxx-mips.c:13699 elfxx-mips.c:13725
+#: elf32-ppc.c:4691 elf32-ppc.c:4695
+#, c-format
msgid "Warning: %B uses hard float, %B uses soft float"
msgstr "ПопередженнÑ: у %B викориÑтовуєтьÑÑ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° підтримка дійÑних чиÑел, а у %B — програмна"
-#: elf32-ppc.c:4042 elf32-ppc.c:4046
+#: elf32-ppc.c:4699 elf32-ppc.c:4704
+#, c-format
msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float"
msgstr "ПопередженнÑ: у %B викориÑтовуєтьÑÑ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð° підтримка дійÑних чиÑел з подвійною точніÑÑ‚ÑŽ, а у %B — апаратна підтримка Ð´Ð»Ñ Ð´Ñ–Ð¹Ñних чиÑел з одинарною точніÑÑ‚ÑŽ"
-#: elf32-ppc.c:4050
-msgid "Warning: %B uses soft float, %B uses single-precision hard float"
-msgstr "ПопередженнÑ: у %B викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° підтримка дійÑних чиÑел, а у %B — апаратна підтримка Ð´Ð»Ñ Ð´Ñ–Ð¹Ñних чиÑел з одинарною точніÑÑ‚ÑŽ"
-
-#: elf32-ppc.c:4057 elf32-ppc.c:4061 elfxx-mips.c:13631 elfxx-mips.c:13635
-msgid "Warning: %B uses unknown floating point ABI %d"
-msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI роботи з чиÑлами з рухомою крапкою, %d"
+#: elf32-ppc.c:4719 elf32-ppc.c:4724
+#, c-format
+msgid "Warning: %B uses 64-bit long double, %B uses 128-bit long double"
+msgstr "ПопередженнÑ: у %B викориÑтано 64-бітові довгі цілі Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð· подвійною точніÑÑ‚ÑŽ, а у %B — 128-бітові"
-#: elf32-ppc.c:4103 elf32-ppc.c:4107
-msgid "Warning: %B uses unknown vector ABI %d"
-msgstr "ПопередженнÑ: %B викориÑтовує невідомий векторний ABI %d"
+#: elf32-ppc.c:4729 elf32-ppc.c:4734
+#, c-format
+msgid "Warning: %B uses IBM long double, %B uses IEEE long double"
+msgstr "ПопередженнÑ: у %B викориÑтано довгі цілі Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð· подвійною точніÑÑ‚ÑŽ IBM, а у %B — IEEE"
-#: elf32-ppc.c:4111
-msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
-msgstr "ПопередженнÑ: у %B викориÑтовуєтьÑÑ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¸Ð¹ ABI «%s», а у %B — «%s»"
+#: elf32-ppc.c:4785 elf32-ppc.c:4790
+#, c-format
+msgid "Warning: %B uses AltiVec vector ABI, %B uses SPE vector ABI"
+msgstr "ПопередженнÑ: %B викориÑтовує векторний ABI AltiVec, %B викориÑтовує векторний ABI SPE"
-#: elf32-ppc.c:4128 elf32-ppc.c:4131
+#: elf32-ppc.c:4813 elf32-ppc.c:4818
+#, c-format
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
msgstr "ПопередженнÑ: у %B r3/r4 викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð¼Ð°Ð»Ð¸Ñ… Ñтруктур, а у %B Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ викориÑтовуєтьÑÑ Ð¿Ð°Ð¼â€™ÑÑ‚ÑŒ"
-#: elf32-ppc.c:4134 elf32-ppc.c:4138
-msgid "Warning: %B uses unknown small structure return convention %d"
-msgstr "ПопередженнÑ: у %B викориÑтано невідому угоду, %d, щодо Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ñтруктур"
-
-#: elf32-ppc.c:4192
+#: elf32-ppc.c:4873
msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
msgstr "%B: зібрано з -mrelocatable Ñ– Ñкомпоновано з модулÑми, зібраними у звичайному режимі"
-#: elf32-ppc.c:4200
+#: elf32-ppc.c:4881
msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr "%B: зібрано у звичайному режимі Ñ– Ñкомпоновано з модулÑми, зібраними з -mrelocatable"
-#: elf32-ppc.c:4309
+#: elf32-ppc.c:4909
+#, c-format
+msgid "%B: uses different e_flags (%#x) fields than previous modules (%#x)"
+msgstr "%B: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ e_flags (%#x) ніж у попередніх модулÑÑ… (%#x)"
+
+#: elf32-ppc.c:4950
+#, c-format
+msgid "%B(%A+0x%lx): expected 16A style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): очікувалоÑÑ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтилю 16A на інÑтрукції 0x%08x"
+
+#: elf32-ppc.c:4969
+#, c-format
+msgid "%B(%A+0x%lx): expected 16D style relocation on 0x%08x insn"
+msgstr "%B(%A+0x%lx): очікувалоÑÑ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтилю 16D на інÑтрукції 0x%08x"
+
+#: elf32-ppc.c:5043
msgid "%P: bss-plt forced due to %B\n"
msgstr "%P: примуÑово викориÑтано bss-plt через %B\n"
-#: elf32-ppc.c:4312
+#: elf32-ppc.c:5046
msgid "%P: bss-plt forced by profiling\n"
msgstr "%P: профілюваннÑм примуÑово визначено bss-plt\n"
@@ -1986,47 +3166,159 @@ msgstr "%P: профілюваннÑм примуÑово визначено bss
#. could just mark this symbol to exclude it
#. from tls optimization but it's safer to skip
#. the entire optimization.
-#: elf32-ppc.c:4809 elf64-ppc.c:7858
+#: elf32-ppc.c:5544 elf64-ppc.c:8798
+#, c-format
msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
msgstr "%H: у аргументів не виÑтачає __tls_get_addr, оптимізацію TLS вимкнено.\n"
-#: elf32-ppc.c:5044 elf64-ppc.c:6528
-msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: динамічна змінна «%s» має нульовий розмір\n"
+#: elf32-ppc.c:8249
+msgid "%H: fixup branch overflow\n"
+msgstr "%H: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ñ–Ð· адреÑною прив’Ñзкою\n"
-#: elf32-ppc.c:7263 elf64-ppc.c:12675
+#: elf32-ppc.c:8289 elf32-ppc.c:8324
+#, c-format
+msgid "%H: error: %s with unexpected instruction %x\n"
+msgstr "%H: помилка: %s із неочікуваною інÑтрукцією %x\n"
+
+#: elf32-ppc.c:8380
+#, c-format
+msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
+msgstr "%X%H: непідтримувана bss-plt -fPIC ifunc %s\n"
+
+#: elf32-ppc.c:8434
+#, c-format
msgid "%P: %B: unknown relocation type %d for symbol %s\n"
msgstr "%P: %B: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d Ð´Ð»Ñ Ñимволу %s\n"
-#: elf32-ppc.c:7524
-msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: ненульовий додаток до переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s»\n"
+#: elf32-ppc.c:8723
+#, c-format
+msgid "%H: non-zero addend on %s reloc against `%s'\n"
+msgstr "%H: ненульовий додаток до переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s»\n"
-#: elf32-ppc.c:7720 elf64-ppc.c:13181
-msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
-msgstr "%P: %H: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s опоÑередкованої функції %s не передбачено\n"
+#. @local on an ifunc does not really make sense since
+#. the ifunc resolver can take you anywhere. More
+#. seriously, calls to ifuncs must go through a plt call
+#. stub, and for pic the plt call stubs uses r30 to
+#. access the PLT. The problem is that a call that is
+#. local won't have the +32k reloc addend trick marking
+#. -fPIC code, so the linker won't know whether r30 is
+#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
+#: elf32-ppc.c:8755
+#, c-format
+msgid "%X%H: @local call to ifunc %s\n"
+msgstr "%X%H: виклик @local ifunc %s\n"
+
+#: elf32-ppc.c:8935
+#, c-format
+msgid "%H: relocation %s for indirect function %s unsupported\n"
+msgstr "%H: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s опоÑередкованої функції %s не передбачено\n"
-#: elf32-ppc.c:7948 elf32-ppc.c:7978 elf32-ppc.c:8025
+#: elf32-ppc.c:9232 elf32-ppc.c:9263 elf32-ppc.c:9354
+#, c-format
msgid "%P: %B: the target (%s) of a %s relocation is in the wrong output section (%s)\n"
msgstr "%P: %B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%s) переÑÑƒÐ²Ð°Ð½Ð½Ñ %s перебуває у помилковому розділі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ (%s)\n"
-#: elf32-ppc.c:8097
+#: elf32-ppc.c:9442
+#, c-format
+msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
+msgstr "%B: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%s) переÑÑƒÐ²Ð°Ð½Ð½Ñ %s перебуває у помилковому розділі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ (%s)"
+
+#: elf32-ppc.c:9546
+#, c-format
msgid "%P: %B: relocation %s is not yet supported for symbol %s\n"
msgstr "%P: %B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ñимволу %s ще не передбачено\n"
-#: elf32-ppc.c:8158 elf64-ppc.c:13467
-msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»\n"
+#: elf32-ppc.c:9631
+#, c-format
+msgid "%H: error: %s against `%s' not a multiple of %u\n"
+msgstr "%H: помилка: %s Ð´Ð»Ñ Â«%s» не Ñ” кратним до %u\n"
+
+#: elf32-ppc.c:9660
+#, c-format
+msgid "%H: unresolvable %s relocation against symbol `%s'\n"
+msgstr "%H: нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»\n"
+
+#: elf32-ppc.c:9741
+#, c-format
+msgid "%H: %s reloc against `%s': error %d\n"
+msgstr "%H: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s»: помилка %d\n"
-#: elf32-ppc.c:8205 elf64-ppc.c:13512
-msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s»: помилка %d\n"
+#: elf32-ppc.c:10505 elf64-ppc.c:15719
+msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
+msgstr "%X%P: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту Ñ– опоÑередкованих функцій GNU призведе до помилки Ñегментації під Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку\n"
-#: elf32-ppc.c:8696
+#: elf32-ppc.c:10509 elf64-ppc.c:15723
+msgid "%P: warning: text relocations and GNU indirect functions may result in a segfault at runtime\n"
+msgstr "%P: попередженнÑ: Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту Ñ– опоÑередкованих функцій GNU може призвеÑти до помилки Ñегментації під Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку\n"
+
+#: elf32-ppc.c:10554
+#, c-format
msgid "%P: %s not defined in linker created %s\n"
msgstr "%P: %s не визначено у компонувальнику, Ñтвореному %s\n"
-#: elf32-rx.c:563
+#: elf32-rl78.c:291
+#, c-format
+msgid "%B: invalid RL78 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ RL78: %d"
+
+#: elf32-rl78.c:369
+msgid "Internal Error: RL78 reloc stack overflow"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñтека переÑувань RL78"
+
+#: elf32-rl78.c:380
+msgid "Internal Error: RL78 reloc stack underflow"
+msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð²Ð¸Ñ‡ÐµÑ€Ð¿Ð°Ð½Ð½Ñ Ñтека переÑувань RL78"
+
+#: elf32-rl78.c:1049
+msgid "Warning: RL78_SYM reloc with an unknown symbol"
+msgstr "ПопередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ RL78_SYM з невідомим Ñимволом"
+
+#: elf32-rl78.c:1080 elf32-rx.c:1434
+#, c-format
+msgid "%B(%A): error: call to undefined function '%s'"
+msgstr "%B(%A): помилка: виклик невизначеної функції «%s»"
+
+#: elf32-rl78.c:1201
+#, c-format
+msgid "RL78 ABI conflict: G10 file %B cannot be linked with %s file %B"
+msgstr "Конфлікт ABI RL78: файл G10 %B не можна компонувати з %s, файл %B"
+
+#: elf32-rl78.c:1218
+#, c-format
+msgid "RL78 ABI conflict: cannot link %s file %B with %s file %B"
+msgstr "Конфлікт ABI RL78: не можна компонувати %s, файл %B з %s, файл %B"
+
+#: elf32-rl78.c:1227
+msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
+msgstr "Конфлікт Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ RL78: не можна компонувати 32-бітові Ñ– 64-бітові об’єкти"
+
+#: elf32-rl78.c:1231 elf32-rl78.c:1235
+#, c-format
+msgid "- %B is 64-bit, %B is not"
+msgstr "- %B є 64-бітовим, а %B — ні"
+
+#: elf32-rl78.c:1262
+#, c-format
+msgid " [64-bit doubles]"
+msgstr " [64-бітові double]"
+
+#: elf32-rx.c:313
+#, c-format
+msgid "%B: invalid RX reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ RX: %d"
+
+#: elf32-rx.c:594
+#, c-format
+msgid "%B:%A: table entry %s outside table"
+msgstr "%B:%A: Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s поза таблицею"
+
+#: elf32-rx.c:601
+#, c-format
+msgid "%B:%A: table entry %s not word-aligned within table"
+msgstr "%B:%A: Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– %s не вирівнÑно на межу Ñлова вÑередині таблиці"
+
+#: elf32-rx.c:667
+#, c-format
msgid "%B:%A: Warning: deprecated Red Hat reloc "
msgstr "%B:%A: попередженнÑ: заÑтарілий формат переÑÑƒÐ²Ð°Ð½Ð½Ñ Red Hat "
@@ -2034,349 +3326,346 @@ msgstr "%B:%A: попередженнÑ: заÑтарілий формат пеÑ
#. an absolute address is being computed. There are special cases
#. for relocs against symbols that are known to be referenced in
#. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:581
+#: elf32-rx.c:686
+#, c-format
msgid "%B(%A): unsafe PID relocation %s at 0x%08lx (against %s in %s)"
msgstr "%B(%A): небезпечне переÑÑƒÐ²Ð°Ð½Ð½Ñ PID %s до 0x%08lx (щодо %s у %s)"
-#: elf32-rx.c:1157
+#: elf32-rx.c:1266
msgid "Warning: RX_SYM reloc with an unknown symbol"
msgstr "ПопередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ RX_SYM з невідомим Ñимволом"
-#: elf32-rx.c:1324
-msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): помилка: виклик невизначеної функції «%s»"
-
-#: elf32-rx.c:1338
-msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): попередженнÑ: невирівнÑний доÑтуп до Ñимволу «%s» у малій облаÑÑ‚Ñ– даних"
+#: elf32-rx.c:3145
+msgid "There is a conflict merging the ELF header flags from %B"
+msgstr "Під Ñ‡Ð°Ñ Ñпроби Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ–Ð² заголовка ELF з %B виник конфлікт"
-#: elf32-rx.c:1342
-msgid "%B(%A): internal error: out of range error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вихід за межі діапазону"
-
-#: elf32-rx.c:1346
-msgid "%B(%A): internal error: unsupported relocation error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: непідтримувана помилка переÑуваннÑ"
-
-#: elf32-rx.c:1350
-msgid "%B(%A): internal error: dangerous relocation"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезпечне переÑуваннÑ"
+#: elf32-rx.c:3148
+#, c-format
+msgid " the input file's flags: %s"
+msgstr " прапорці файла вхідних даних: %s"
-#: elf32-rx.c:1354
-msgid "%B(%A): internal error: unknown error"
-msgstr "%B(%A): Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: невідома помилка"
+#: elf32-rx.c:3150
+#, c-format
+msgid " the output file's flags: %s"
+msgstr " прапорці файла результатів: %s"
-#: elf32-rx.c:3004
+#: elf32-rx.c:3757
#, c-format
-msgid " [64-bit doubles]"
-msgstr " [64-бітові double]"
+msgid "%B:%A: table %s missing corresponding %s"
+msgstr "%B:%A: у таблиці %s немає відповідного %s"
-#: elf32-rx.c:3006
+#: elf32-rx.c:3765
#, c-format
-msgid " [dsp]"
-msgstr " [dsp]"
+msgid "%B:%A: %s and %s must be in the same input section"
+msgstr "%B:%A: %s і %s мають перебувати у одному розділі вхідних даних"
-#: elf32-s390.c:2200 elf64-s390.c:2187
+#: elf32-s390.c:2310 elf64-s390.c:2257
+#, c-format
msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s"
msgstr "%B(%A+0x%lx): некоректна інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ TLS %s"
-#: elf32-score.c:1520 elf32-score7.c:1379 elfxx-mips.c:3435
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3756
msgid "not enough GOT space for local GOT entries"
msgstr "недоÑтатньо проÑтору GOT Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… запиÑів GOT"
-#: elf32-score.c:2742
+#: elf32-score.c:2744
msgid "address not word align"
msgstr "адреÑу не вирівнÑно за межею Ñлова"
-#: elf32-score.c:2827 elf32-score7.c:2631
+#: elf32-score.c:2825 elf32-score7.c:2630
#, c-format
-msgid "%s: Malformed reloc detected for section %s"
-msgstr "%s: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s виÑвлено помилку у форматуванні перенеÑеннÑ"
+msgid "%B: Malformed reloc detected for section %A"
+msgstr "%B: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A виÑвлено помилку у форматуванні перенеÑеннÑ"
-#: elf32-score.c:2878 elf32-score7.c:2682
+#: elf32-score.c:2883 elf32-score7.c:2688
+#, c-format
msgid "%B: CALL15 reloc at 0x%lx not against global symbol"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ CALL15 у 0x%lx не відноÑно загального Ñимволу"
-#: elf32-score.c:3997 elf32-score7.c:3803
+#: elf32-score.c:4005 elf32-score7.c:3810
#, c-format
msgid " [pic]"
msgstr " [pic]"
-#: elf32-score.c:4001 elf32-score7.c:3807
+#: elf32-score.c:4009 elf32-score7.c:3814
#, c-format
msgid " [fix dep]"
msgstr " [фікÑ. розт.]"
-#: elf32-score.c:4043 elf32-score7.c:3849
+#: elf32-score.c:4052 elf32-score7.c:3857
msgid "%B: warning: linking PIC files with non-PIC files"
msgstr "%B: попередженнÑ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² PIC з файлами, Ñкі не Ñ” файлами PIC"
#: elf32-sh-symbian.c:130
+#, c-format
msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS"
msgstr "%B: директива IMPORT AS Ð´Ð»Ñ %s приховує попередню директиву IMPORT AS"
-#: elf32-sh-symbian.c:383
+#: elf32-sh-symbian.c:384
+#, c-format
msgid "%B: Unrecognised .directive command: %s"
msgstr "%B: нерозпізнана команда .directive: %s"
-#: elf32-sh-symbian.c:504
+#: elf32-sh-symbian.c:502
+#, c-format
msgid "%B: Failed to add renamed symbol %s"
msgstr "%B: не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ перейменований Ñимвол %s"
-#: elf32-sh.c:568
-msgid "%B: 0x%lx: warning: bad R_SH_USES offset"
-msgstr "%B: 0x%lx: попередженнÑ: помилковий відÑтуп R_SH_USES"
-
-#: elf32-sh.c:580
-msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
-msgstr "%B: 0x%lx: попередженнÑ: R_SH_USES вказує на нерозпізнану інÑтрукцію 0x%x"
-
-#: elf32-sh.c:597
-msgid "%B: 0x%lx: warning: bad R_SH_USES load offset"
-msgstr "%B: 0x%lx: попередженнÑ: помилковий відÑтуп Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ R_SH_USES"
-
-#: elf32-sh.c:612
-msgid "%B: 0x%lx: warning: could not find expected reloc"
-msgstr "%B: 0x%lx: попередженнÑ: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очікуване переÑуваннÑ"
-
-#: elf32-sh.c:640
-msgid "%B: 0x%lx: warning: symbol in unexpected section"
-msgstr "%B: 0x%lx: попередженнÑ: Ñимвол у неочікуваному розділі"
-
-#: elf32-sh.c:766
-msgid "%B: 0x%lx: warning: could not find expected COUNT reloc"
-msgstr "%B: 0x%lx: попередженнÑ: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очікуване переÑÑƒÐ²Ð°Ð½Ð½Ñ COUNT"
-
-#: elf32-sh.c:775
-msgid "%B: 0x%lx: warning: bad count"
-msgstr "%B: 0x%lx: попередженнÑ: помилковий лічильник"
-
-#: elf32-sh.c:1179 elf32-sh.c:1549
-msgid "%B: 0x%lx: fatal: reloc overflow while relaxing"
-msgstr "%B: 0x%lx: критична помилка: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— розміру"
+#: elf32-sh.c:491
+#, c-format
+msgid "%B: unrecognised SH reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ SH: %d"
-#: elf32-sh.c:4048 elf64-sh64.c:1514
+#: elf32-sh.c:3953 elf64-sh64.c:1508
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr "Ðеочікувану команду STO_SH5_ISA32 над локальним Ñимволом не оброблено"
-#: elf32-sh.c:4299
+#: elf32-sh.c:4206
+#, c-format
msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"
msgstr "%B: 0x%lx: критична помилка: невирівнÑне розгалужене Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ð· підтримкою оптимізації розміру"
-#: elf32-sh.c:4332 elf32-sh.c:4347
+#: elf32-sh.c:4240 elf32-sh.c:4256
+#, c-format
msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"
msgstr "%B: 0x%lx: критична помилка: невирівнÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s, 0x%lx"
-#: elf32-sh.c:4361
+#: elf32-sh.c:4271
+#, c-format
msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
msgstr "%B: 0x%lx: критична помилка: переÑÑƒÐ²Ð°Ð½Ð½Ñ R_SH_PSHA %d не у діапазоні -32..32"
-#: elf32-sh.c:4375
+#: elf32-sh.c:4286
+#, c-format
msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
msgstr "%B: 0x%lx: критична помилка: переÑÑƒÐ²Ð°Ð½Ð½Ñ R_SH_PSHL %d не у діапазоні -32..32"
-#: elf32-sh.c:4519 elf32-sh.c:4989
+#: elf32-sh.c:4431 elf32-sh.c:4903
+#, c-format
msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
msgstr "%B(%A+0x%lx): не можна викориÑтовувати адреÑну прив’Ñзку до «%s» у розділі, придатному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
-#: elf32-sh.c:5096
+#: elf32-sh.c:5005
+#, c-format
msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
msgstr "%B(%A+0x%lx): переÑÑƒÐ²Ð°Ð½Ð½Ñ %s за зовнішнім Ñимволом «%s»"
-#: elf32-sh.c:5569
+#: elf32-sh.c:5469
#, c-format
msgid "%X%C: relocation to \"%s\" references a different segment\n"
msgstr "%X%C: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° «%s» поÑилаєтьÑÑ Ð½Ð° інший Ñегмент\n"
-#: elf32-sh.c:5575
+#: elf32-sh.c:5476
#, c-format
msgid "%C: warning: relocation to \"%s\" references a different segment\n"
msgstr "%C: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° «%s» поÑилаєтьÑÑ Ð½Ð° інший Ñегмент\n"
-#: elf32-sh.c:6353 elf32-sh.c:6436
+#: elf32-sh.c:6045 elf32-sh.c:6131
+#, c-format
msgid "%B: `%s' accessed both as normal and FDPIC symbol"
msgstr "%B: доÑтуп до «%s» виконуєтьÑÑ Ñк до звичайного Ñимволу та Ñимволу FDPIC"
-#: elf32-sh.c:6358 elf32-sh.c:6440
+#: elf32-sh.c:6051 elf32-sh.c:6136
+#, c-format
msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
msgstr "%B: доÑтуп до «%s» виконуєтьÑÑ Ñк до Ñимволу FDPIC, так Ñ– до локального Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñимволу"
-#: elf32-sh.c:6388
+#: elf32-sh.c:6082
msgid "%B: Function descriptor relocation with non-zero addend"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´ÐµÑкриптора функції з ненульовим доданком"
-#: elf32-sh.c:6624 elf64-alpha.c:4652
+#: elf32-sh.c:6320 elf64-alpha.c:4757
+#, c-format
msgid "%B: TLS local exec code cannot be linked into shared objects"
msgstr "%B: виконуваний код локального TLS не можна компонувати у об’єкти Ñпільного викориÑтаннÑ"
-#: elf32-sh64.c:223 elf64-sh64.c:2318
+#: elf32-sh.c:6435
+#, c-format
+msgid "%B: uses %s instructions while previous modules use %s instructions"
+msgstr "%B: викориÑтовує інÑтрукції %s, хоча у попередніх модулÑÑ… викориÑтовуютьÑÑ Ñ–Ð½Ñтрукції %s"
+
+#: elf32-sh.c:6447
#, c-format
-msgid "%s: compiled as 32-bit object and %s is 64-bit"
-msgstr "%s: зібрано Ñк 32- бітовий об’єкт, а %s Ñ” 64-бітовим"
+msgid "internal error: merge of architecture '%s' with architecture '%s' produced unknown architecture"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ «%s» з архітектурою «%s» призвело до ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¾Ñ— архітектури"
-#: elf32-sh64.c:226 elf64-sh64.c:2321
+#: elf32-sh.c:6484
+msgid "%B: uses instructions which are incompatible with instructions used in previous modules"
+msgstr "%B: викориÑтовуютьÑÑ Ñ–Ð½Ñтрукції, Ñкі неÑуміÑні із інÑтрукціÑми, викориÑтаними у попередніх модулÑÑ…"
+
+#: elf32-sh.c:6497
+msgid "%B: attempt to mix FDPIC and non-FDPIC objects"
+msgstr "%B: Ñпроба Ñтворити Ñуміш об’єктів FDPIC Ñ– не-FDPIC"
+
+#: elf32-sh64.c:225 elf64-sh64.c:2277
#, c-format
-msgid "%s: compiled as 64-bit object and %s is 32-bit"
-msgstr "%s: зібрано Ñк 64-бітовий об’єкт, а %s Ñ” 32-бітовим"
+msgid "%B: compiled as 32-bit object and %B is 64-bit"
+msgstr "%B: зібрано Ñк 32- бітовий об’єкт, а %B Ñ” 64-бітовим"
-#: elf32-sh64.c:228 elf64-sh64.c:2323
+#: elf32-sh64.c:229 elf64-sh64.c:2281
#, c-format
-msgid "%s: object size does not match that of target %s"
-msgstr "%s: розмір об’єкта не збігаєтьÑÑ Ð· розміром Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s"
+msgid "%B: compiled as 64-bit object and %B is 32-bit"
+msgstr "%B: зібрано Ñк 64-бітовий об’єкт, а %B Ñ” 32-бітовим"
-#: elf32-sh64.c:451 elf64-sh64.c:2837
+#: elf32-sh64.c:232 elf64-sh64.c:2284
#, c-format
-msgid "%s: encountered datalabel symbol in input"
-msgstr "%s: виÑвлено Ñимвол мітки даних у вхідних даних"
+msgid "%B: object size does not match that of target %B"
+msgstr "%B: розмір об’єкта не збігаєтьÑÑ Ð· розміром Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %B"
+
+#: elf32-sh64.c:455 elf64-sh64.c:2776
+msgid "%B: encountered datalabel symbol in input"
+msgstr "%B: виÑвлено Ñимвол мітки даних у вхідних даних"
-#: elf32-sh64.c:528
+#: elf32-sh64.c:531
msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
msgstr "ÐевідповідніÑÑ‚ÑŒ PTB: адреÑа SHmedia (біт 0 == 1)"
-#: elf32-sh64.c:531
+#: elf32-sh64.c:534
msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
msgstr "ÐевідповідніÑÑ‚ÑŒ PTA: адреÑа SHcompact (біт 0 == 0)"
-#: elf32-sh64.c:549
-#, c-format
-msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
-msgstr "%s: помилка GAS: неочікувана інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ PTB з R_SH_PT_16"
+#: elf32-sh64.c:550
+msgid "%B: GAS error: unexpected PTB insn with R_SH_PT_16"
+msgstr "%B: помилка GAS: неочікувана інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ PTB з R_SH_PT_16"
-#: elf32-sh64.c:598
+#: elf32-sh64.c:600
+#, c-format
msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n"
msgstr "%B: помилка: невирівнÑний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d у %08x, переÑÑƒÐ²Ð°Ð½Ð½Ñ %p\n"
-#: elf32-sh64.c:674
-#, c-format
-msgid "%s: could not write out added .cranges entries"
-msgstr "%s: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾Ð´Ð°Ð½Ð¸Ñ… запиÑів .cranges"
+#: elf32-sh64.c:676
+msgid "%B: could not write out added .cranges entries"
+msgstr "%B: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾Ð´Ð°Ð½Ð¸Ñ… запиÑів .cranges"
-#: elf32-sh64.c:734
-#, c-format
-msgid "%s: could not write out sorted .cranges entries"
-msgstr "%s: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð²Ð¿Ð¾Ñ€Ñдкованих запиÑів .cranges"
+#: elf32-sh64.c:735
+msgid "%B: could not write out sorted .cranges entries"
+msgstr "%B: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð²Ð¿Ð¾Ñ€Ñдкованих запиÑів .cranges"
-#: elf32-sparc.c:90
+#: elf32-sparc.c:89
msgid "%B: compiled for a 64 bit system and target is 32 bit"
msgstr "%B: зібрано Ð´Ð»Ñ 64-бітової ÑиÑтеми, ÑиÑтемою ж Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” 32-бітова"
-#: elf32-sparc.c:103
+#: elf32-sparc.c:102
msgid "%B: linking little endian files with big endian files"
msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² зі зворотним порÑдком байтів з файлами з прÑмим порÑдком байтів"
-#: elf32-spu.c:719
+#: elf32-spu.c:160
+#, c-format
+msgid "%B: unrecognised SPU reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ SPU: %d"
+
+#: elf32-spu.c:726
msgid "%X%P: overlay section %A does not start on a cache line.\n"
msgstr "%X%P: розділ накладки %A не починаєтьÑÑ Ð· Ñ€Ñдка кешуваннÑ.\n"
-#: elf32-spu.c:727
+#: elf32-spu.c:734
msgid "%X%P: overlay section %A is larger than a cache line.\n"
msgstr "%X%P: розділ накладки %A Ñ” більшим за Ñ€Ñдок кешуваннÑ.\n"
-#: elf32-spu.c:747
+#: elf32-spu.c:754
msgid "%X%P: overlay section %A is not in cache area.\n"
msgstr "%X%P: розділ накладки %A не перебуває у облаÑÑ‚Ñ– кешуваннÑ.\n"
-#: elf32-spu.c:787
+#: elf32-spu.c:795
+#, c-format
msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
msgstr "%X%P: розділи, що накладаютьÑÑ, %A Ñ– %A, не починаютьÑÑ Ð·Ð° одною адреÑою.\n"
-#: elf32-spu.c:1011
+#: elf32-spu.c:1021
+#, c-format
msgid "warning: call to non-function symbol %s defined in %B"
msgstr "попередженнÑ: виклик нефункціонального Ñимволу, %s, визначеного у %B"
-#: elf32-spu.c:1361
+#: elf32-spu.c:1371
+#, c-format
msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
msgstr "%A:0x%v .brinfo lrlive (%u) відрізнÑєтьÑÑ Ð²Ñ–Ð´ визначеного шлÑхом аналізу (%u)\n"
-#: elf32-spu.c:1880
+#: elf32-spu.c:1903
+#, c-format
msgid "%B is not allowed to define %s"
msgstr "%B не може визначати %s"
-#: elf32-spu.c:1888
+#: elf32-spu.c:1911
#, c-format
msgid "you are not allowed to define %s in a script"
msgstr "не можна визначати %s у Ñкрипті"
-#: elf32-spu.c:1922
+#: elf32-spu.c:1945
#, c-format
msgid "%s in overlay section"
msgstr "%s у розділі накладки"
-#: elf32-spu.c:1951
+#: elf32-spu.c:1974
msgid "overlay stub relocation overflow"
msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° накладки"
-#: elf32-spu.c:1960
+#: elf32-spu.c:1983
msgid "stubs don't match calculated size"
msgstr "шаблони не відповідають обчиÑленому розміру"
-#: elf32-spu.c:2542
+#: elf32-spu.c:2566
#, c-format
msgid "warning: %s overlaps %s\n"
msgstr "попередженнÑ: %s перекриває %s\n"
-#: elf32-spu.c:2558
+#: elf32-spu.c:2582
#, c-format
msgid "warning: %s exceeds section size\n"
msgstr "попередженнÑ: %s перевищує розмір розділу\n"
-#: elf32-spu.c:2589
+#: elf32-spu.c:2614
+#, c-format
msgid "%A:0x%v not found in function table\n"
msgstr "%A:0x%v не знайдено у таблиці функцій\n"
-#: elf32-spu.c:2729
+#: elf32-spu.c:2755
+#, c-format
msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
msgstr "%B(%A+0x%v): виклик розділу, Ñкий не міÑтить код, %B(%A), аналіз Ñ” неповним\n"
-#: elf32-spu.c:3297
+#: elf32-spu.c:3324
#, c-format
msgid "Stack analysis will ignore the call from %s to %s\n"
msgstr "Під Ñ‡Ð°Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ Ñтека буде проігноровано виклик з %s до %s\n"
-#: elf32-spu.c:3988
-msgid " %s: 0x%v\n"
-msgstr " %s: 0x%v\n"
-
-#: elf32-spu.c:3989
-msgid "%s: 0x%v 0x%v\n"
-msgstr "%s: 0x%v 0x%v\n"
-
-#: elf32-spu.c:3994
+#: elf32-spu.c:4021
msgid " calls:\n"
msgstr " виклики:\n"
-#: elf32-spu.c:4002
-#, c-format
-msgid " %s%s %s\n"
-msgstr " %s%s %s\n"
-
-#: elf32-spu.c:4307
+#: elf32-spu.c:4335
#, c-format
msgid "%s duplicated in %s\n"
msgstr "%s повторюєтьÑÑ Ñƒ %s\n"
-#: elf32-spu.c:4311
+#: elf32-spu.c:4339
#, c-format
msgid "%s duplicated\n"
msgstr "%s дубльовано\n"
-#: elf32-spu.c:4318
+#: elf32-spu.c:4346
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
msgstr "вибачте, у Ñкрипті автоматичного Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ Ð½Ðµ передбачено підтримки Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… файлів.\n"
-#: elf32-spu.c:4359
+#: elf32-spu.c:4388
+#, c-format
msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n"
msgstr "Ñума розміру 0x%v без оверлею та макÑимального розміру оверлею 0x%v перевищують міÑткіÑÑ‚ÑŒ локального Ñховища даних\n"
-#: elf32-spu.c:4514
+#: elf32-spu.c:4544
+#, c-format
msgid "%B:%A%s exceeds overlay size\n"
msgstr "%B:%A%s перевищує розмір накладки\n"
-#: elf32-spu.c:4676
+#: elf32-spu.c:4685
+msgid "%F%P: auto overlay error: %E\n"
+msgstr "%F%P: помилка автонакладаннÑ: %E\n"
+
+#: elf32-spu.c:4706
msgid "Stack size for call graph root nodes.\n"
msgstr "Розмір Ñтека Ð´Ð»Ñ ÐºÐ¾Ñ€ÐµÐ½ÐµÐ²Ð¸Ñ… вузлів графу викликів.\n"
-#: elf32-spu.c:4677
+#: elf32-spu.c:4707
msgid ""
"\n"
"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
@@ -2384,283 +3673,618 @@ msgstr ""
"\n"
"Розмір Ñтека Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹. ПозначеннÑ: «*» макÑимальна Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ñƒ Ñтеку, «t» хвоÑтовий виклик\n"
-#: elf32-spu.c:4687
+#: elf32-spu.c:4717
msgid "Maximum stack required is 0x%v\n"
msgstr "МакÑимальний потрібний розмір Ñтека — 0x%v\n"
-#: elf32-spu.c:4778
+#: elf32-spu.c:4736
+msgid "%X%P: stack/lrlive analysis error: %E\n"
+msgstr "%X%P: помилка аналізу Ñтека/lrlive: %E\n"
+
+#: elf32-spu.c:4739
+msgid "%F%P: can not build overlay stubs: %E\n"
+msgstr "%F%P: не вдалоÑÑ Ð·Ñ–Ð±Ñ€Ð°Ñ‚Ð¸ накладні шаблони: %E\n"
+
+#: elf32-spu.c:4808
msgid "fatal error while creating .fixup"
msgstr "критична помилка під Ñ‡Ð°Ñ Ñпроби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ .fixup"
-#: elf32-spu.c:5008
+#: elf32-spu.c:5043
+#, c-format
msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr "%B(%s+0x%lx): нерозв’Ñзне переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s»"
-#: elf32-tic6x.c:1602
+#: elf32-tic6x.c:1596
msgid "warning: generating a shared library containing non-PIC code"
msgstr "попередженнÑ: ÑтворюєтьÑÑ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñпільного викориÑтаннÑ, Ñка міÑтить код, неÑуміÑний з PIC"
-#: elf32-tic6x.c:1607
+#: elf32-tic6x.c:1601
msgid "warning: generating a shared library containing non-PID code"
msgstr "попередженнÑ: ÑтворюєтьÑÑ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° Ñпільного викориÑтаннÑ, Ñка міÑтить код, неÑуміÑний з PID"
-#: elf32-tic6x.c:2541
+#: elf32-tic6x.c:2525
msgid "%B: SB-relative relocation but __c6xabi_DSBT_BASE not defined"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñно SB, але __c6xabi_DSBT_BASE не визначено"
-#: elf32-tic6x.c:2761
-msgid "dangerous relocation"
-msgstr "небезпечне переÑуваннÑ"
-
-#: elf32-tic6x.c:3733
+#: elf32-tic6x.c:3651
+#, c-format
msgid "%B: error: unknown mandatory EABI object attribute %d"
msgstr "%B: помилка: невідомий обов’Ñзковий атрибути об’єкта EABI, %d"
-#: elf32-tic6x.c:3741
+#: elf32-tic6x.c:3660
+#, c-format
msgid "%B: warning: unknown EABI object attribute %d"
msgstr "%B: попередженнÑ: невідомий атрибут об’єкта EABI, %d"
-#: elf32-tic6x.c:3853 elf32-tic6x.c:3861
+#: elf32-tic6x.c:3774 elf32-tic6x.c:3783
+#, c-format
msgid "error: %B requires more stack alignment than %B preserves"
msgstr "помилка: %B потребує більшого Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñтека, ніж збережено у %B"
-#: elf32-tic6x.c:3871 elf32-tic6x.c:3880
+#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
msgid "error: unknown Tag_ABI_array_object_alignment value in %B"
msgstr "помилка: невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Tag_ABI_array_object_alignment у %B"
-#: elf32-tic6x.c:3889 elf32-tic6x.c:3898
+#: elf32-tic6x.c:3811 elf32-tic6x.c:3820
msgid "error: unknown Tag_ABI_array_object_align_expected value in %B"
msgstr "помилка: невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Tag_ABI_array_object_align_expected у %B"
-#: elf32-tic6x.c:3906 elf32-tic6x.c:3913
+#: elf32-tic6x.c:3829 elf32-tic6x.c:3837
+#, c-format
msgid "error: %B requires more array alignment than %B preserves"
msgstr "помилка: %B потребує більшого Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð¼Ð°Ñиву, ніж збережено у %B"
-#: elf32-tic6x.c:3935
+#: elf32-tic6x.c:3860
+#, c-format
msgid "warning: %B and %B differ in wchar_t size"
msgstr "попередженнÑ: %B Ñ– %B відрізнÑÑŽÑ‚ÑŒÑÑ Ð·Ð° розміром wchar_t"
-#: elf32-tic6x.c:3953
+#: elf32-tic6x.c:3879
+#, c-format
msgid "warning: %B and %B differ in whether code is compiled for DSBT"
msgstr "попередженнÑ: %B Ñ– %B відрізнÑÑŽÑ‚ÑŒÑÑ Ð·Ð° тим, чи було Ñ—Ñ… зібрано Ð´Ð»Ñ DSBT"
-#: elf32-v850.c:173
+#: elf32-v850.c:157
#, c-format
msgid "Variable `%s' cannot occupy in multiple small data regions"
msgstr "Змінна «%s» не може займати декілька малих облаÑтей даних"
-#: elf32-v850.c:176
+#: elf32-v850.c:160
#, c-format
msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
msgstr "Змінну «%s» можна зберігати лише у одній з малих, нульових Ñ– малюÑіньких облаÑтей даних"
-#: elf32-v850.c:179
+#: elf32-v850.c:163
#, c-format
msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
msgstr "Змінна «%s» не може зберігатиÑÑ Ñƒ малій Ñ– нульовій облаÑÑ‚Ñ– даних одночаÑно"
-#: elf32-v850.c:182
+#: elf32-v850.c:166
#, c-format
msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
msgstr "Змінна «%s» не може зберігатиÑÑ Ñƒ малій Ñ– малюÑінькій облаÑÑ‚Ñ– даних одночаÑно"
-#: elf32-v850.c:185
+#: elf32-v850.c:169
#, c-format
msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
msgstr "Змінна «%s» не може зберігатиÑÑ Ñƒ нульовій Ñ– малюÑінькій облаÑÑ‚Ñ– даних одночаÑно"
-#: elf32-v850.c:483
+#: elf32-v850.c:467
msgid "FAILED to find previous HI16 reloc"
msgstr "ÐЕ ВДÐЛОСЯ знайти попереднє переÑÑƒÐ²Ð°Ð½Ð½Ñ HI16"
-#: elf32-v850.c:2155
+#: elf32-v850.c:1902 elf32-v850.c:1921
+#, c-format
+msgid "%B: invalid V850 reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ V850: %d"
+
+#: elf32-v850.c:2299
msgid "could not locate special linker symbol __gp"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñпеціальний Ñимвол компонувальника __gp"
-#: elf32-v850.c:2159
+#: elf32-v850.c:2303
msgid "could not locate special linker symbol __ep"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñпеціальний Ñимвол компонувальника __ep"
-#: elf32-v850.c:2163
+#: elf32-v850.c:2307
msgid "could not locate special linker symbol __ctbp"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñпеціальний Ñимвол компонувальника __ctbp"
-#: elf32-v850.c:2341
+#: elf32-v850.c:2528
+#, c-format
+msgid "error: %B needs 8-byte aligment but %B is set for 4-byte alignment"
+msgstr "помилка: %B потребує 8-байтового вирівнюваннÑ, але %B налаштовано на 4-байтове вирівнюваннÑ"
+
+#: elf32-v850.c:2544
+#, c-format
+msgid "error: %B uses 64-bit doubles but %B uses 32-bit doubles"
+msgstr "помилка: у %B викориÑтано 64-бітові дійÑні чиÑла подвійної точноÑÑ‚Ñ–, а у %B — 32-бітові"
+
+#: elf32-v850.c:2559
+#, c-format
+msgid "error: %B uses FPU-3.0 but %B only supports FPU-2.0"
+msgstr "помилка: у %B викориÑтано FPU-3.0, але у %B викориÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ FPU-2.0"
+
+#: elf32-v850.c:2591
+#, c-format
+msgid " alignment of 8-byte entities: "
+msgstr " Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ 8-байтових запиÑів: "
+
+#: elf32-v850.c:2594
+#, c-format
+msgid "4-byte"
+msgstr "4-байтовий"
+
+#: elf32-v850.c:2595
+#, c-format
+msgid "8-byte"
+msgstr "8-байтовий"
+
+#: elf32-v850.c:2596 elf32-v850.c:2608
+#, c-format
+msgid "not set"
+msgstr "не вÑтановлено"
+
+#: elf32-v850.c:2597 elf32-v850.c:2609 elf32-v850.c:2621 elf32-v850.c:2632
+#: elf32-v850.c:2643 elf32-v850.c:2654
+#, c-format
+msgid "unknown: %x"
+msgstr "невідомо: %x"
+
+#: elf32-v850.c:2603
+#, c-format
+msgid " size of doubles: "
+msgstr " розмір double: "
+
+#: elf32-v850.c:2606
+#, c-format
+msgid "4-bytes"
+msgstr "4-байтові"
+
+#: elf32-v850.c:2607
+#, c-format
+msgid "8-bytes"
+msgstr "8-байтові"
+
+#: elf32-v850.c:2615
+#, c-format
+msgid " FPU support required: "
+msgstr " Потрібна підтримка FPU: "
+
+#: elf32-v850.c:2618
+#, c-format
+msgid "FPU-2.0"
+msgstr "FPU-2.0"
+
+#: elf32-v850.c:2619
+#, c-format
+msgid "FPU-3.0"
+msgstr "FPU-3.0"
+
+#: elf32-v850.c:2620
+#, c-format
+msgid "none"
+msgstr "немає"
+
+#: elf32-v850.c:2627
+#, c-format
+msgid "SIMD use: "
+msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ SIMD: "
+
+#: elf32-v850.c:2630 elf32-v850.c:2641 elf32-v850.c:2652
+#, c-format
+msgid "yes"
+msgstr "так"
+
+#: elf32-v850.c:2631 elf32-v850.c:2642 elf32-v850.c:2653
+#, c-format
+msgid "no"
+msgstr "ні"
+
+#: elf32-v850.c:2638
+#, c-format
+msgid "CACHE use: "
+msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ CACHE: "
+
+#: elf32-v850.c:2649
+#, c-format
+msgid "MMU use: "
+msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ MMU: "
+
+#: elf32-v850.c:2816 elf32-v850.c:2872
msgid "%B: Architecture mismatch with previous modules"
msgstr "%B: невідповідніÑÑ‚ÑŒ архітектур з попередніми модулÑми"
#. xgettext:c-format.
-#: elf32-v850.c:2360
+#: elf32-v850.c:2890
#, c-format
msgid "private flags = %lx: "
msgstr "закриті прапорці = %lx: "
-#: elf32-v850.c:2365
+#: elf32-v850.c:2895
+#, c-format
+msgid "unknown v850 architecture"
+msgstr "невідома архітектура v850"
+
+#: elf32-v850.c:2897
+#, c-format
+msgid "v850 E3 architecture"
+msgstr "архітектура v850 E3"
+
+#: elf32-v850.c:2899 elf32-v850.c:2906
#, c-format
msgid "v850 architecture"
msgstr "архітектура v850"
-#: elf32-v850.c:2366
+#: elf32-v850.c:2907
#, c-format
msgid "v850e architecture"
msgstr "архітектура v850e"
-#: elf32-v850.c:2367
+#: elf32-v850.c:2908
#, c-format
msgid "v850e1 architecture"
msgstr "архітектура v850e1"
-#: elf32-v850.c:2368
+#: elf32-v850.c:2909
#, c-format
msgid "v850e2 architecture"
msgstr "архітектура v850e2"
-#: elf32-v850.c:2369
+#: elf32-v850.c:2910
#, c-format
msgid "v850e2v3 architecture"
msgstr "архітектура v850e2v3"
-#: elf32-vax.c:532
+#: elf32-v850.c:2911
+#, c-format
+msgid "v850e3v5 architecture"
+msgstr "архітектура v850e3v5"
+
+#: elf32-v850.c:3605
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insns"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGCALL вказує на нерозпізнані інÑтрукції"
+
+#: elf32-v850.c:3615
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGCALL вказує на нерозпізнану інÑтрукцію 0x%x"
+
+#: elf32-v850.c:3660
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGCALL вказує на нерозпізнане переÑуваннÑ"
+
+#: elf32-v850.c:3700
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGCALL points to unrecognized reloc 0x%lx"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGCALL вказує на нерозпізнане переÑÑƒÐ²Ð°Ð½Ð½Ñ 0x%lx"
+
+#: elf32-v850.c:3843
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insns"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGJUMP вказує на нерозпізнані інÑтрукції"
+
+#: elf32-v850.c:3853
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized insn 0x%x"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGJUMP вказує на нерозпізнану інÑтрукцію 0x%x"
+
+#: elf32-v850.c:3887
+#, c-format
+msgid "%B: 0x%lx: warning: R_V850_LONGJUMP points to unrecognized reloc"
+msgstr "%B: 0x%lx: попередженнÑ: R_V850_LONGJUMP вказує на нерозпізнане переÑуваннÑ"
+
+#: elf32-vax.c:290
+#, c-format
+msgid "%B: unrecognised VAX reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ VAX: %d"
+
+#: elf32-vax.c:539
#, c-format
msgid " [nonpic]"
msgstr " [не-pic]"
-#: elf32-vax.c:535
+#: elf32-vax.c:542
#, c-format
msgid " [d-float]"
msgstr " [d-float]"
-#: elf32-vax.c:538
+#: elf32-vax.c:545
#, c-format
msgid " [g-float]"
msgstr " [g-float]"
-#: elf32-vax.c:655
+#: elf32-vax.c:635
+#, c-format
+msgid "%B: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
+msgstr "%B: попередженнÑ: доданок GOT %ld до «%s» не відповідає попередньому доданку GOT %ld"
+
+#: elf32-vax.c:1511
+#, c-format
+msgid "%B: warning: PLT addend of %d to `%s' from %A section ignored"
+msgstr "%B: попередженнÑ: доданок PLT %d до «%s» з розділу %A проігноровано"
+
+#: elf32-vax.c:1636
+#, c-format
+msgid "%B: warning: %s relocation against symbol `%s' from %A section"
+msgstr "%B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s відноÑно Ñимволу «%s» з розділу %A"
+
+#: elf32-vax.c:1643
#, c-format
-msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%s: попередженнÑ: доданок GOT %ld до «%s» не відповідає попередньому доданку GOT %ld"
+msgid "%B: warning: %s relocation to 0x%x from %A section"
+msgstr "%B: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s до 0x%x з розділу %A"
-#: elf32-vax.c:1585
+#: elf32-visium.c:481
#, c-format
-msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
-msgstr "%s: попередженнÑ: доданок PLT %d до «%s» з розділу %s проігноровано"
+msgid "%B: invalid Visium reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ Visium: %d"
-#: elf32-vax.c:1712
+#: elf32-visium.c:817
#, c-format
-msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s відноÑно Ñимволу «%s» з розділу %s"
+msgid "%B: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
+msgstr "%B: зібрано %s -mtune=%s Ñ– Ñкомпоновано з модулÑми, зібраними %s -mtune=%s"
-#: elf32-vax.c:1718
+#: elf32-xgate.c:428
#, c-format
-msgid "%s: warning: %s relocation to 0x%x from %s section"
-msgstr "%s: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s до 0x%x з розділу %s"
+msgid "%B: invalid XGate reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ XGate: %d"
-#: elf32-xstormy16.c:451 elf32-ia64.c:2336 elf64-ia64.c:2336
+#: elf32-xgate.c:681
+#, c-format
+msgid "cpu=XGATE]"
+msgstr "процеÑор=XGATE]"
+
+#: elf32-xgate.c:683
+#, c-format
+msgid "error reading cpu type from elf private data"
+msgstr "помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… щодо типу процеÑора з приватних даних elf"
+
+#: elf32-xstormy16.c:453 elf64-ia64-vms.c:2074 elf32-ia64.c:2334
+#: elf64-ia64.c:2334
msgid "non-zero addend in @fptr reloc"
msgstr "ненульовий доданок у переÑуванні @fptr"
-#: elf32-xtensa.c:918
+#: elf32-xtensa.c:485
+#, c-format
+msgid "%B: invalid XTENSA reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ XTENSA: %d"
+
+#: elf32-xtensa.c:926
+#, c-format
msgid "%B(%A): invalid property table"
msgstr "%B(%A): некоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð²Ð»Ð°ÑтивоÑтей"
-#: elf32-xtensa.c:2777
+#: elf32-xtensa.c:2790
+#, c-format
msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)"
msgstr "%B(%A+0x%lx): відÑтуп переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð° діапазоном (розмір=0x%x)"
-#: elf32-xtensa.c:2856 elf32-xtensa.c:2977
+#: elf32-xtensa.c:2871 elf32-xtensa.c:2990
msgid "dynamic relocation in read-only section"
msgstr "динамічне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі, призначеному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
-#: elf32-xtensa.c:2953
+#: elf32-xtensa.c:2967
msgid "TLS relocation invalid without dynamic sections"
msgstr "ПереÑÑƒÐ²Ð°Ð½Ð½Ñ TLS Ñ” некоректним без динамічних розділів"
-#: elf32-xtensa.c:3172
+#: elf32-xtensa.c:3178
msgid "internal inconsistency in size of .got.loc section"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð½ÐµÐ¿Ð¾ÑлідовніÑÑ‚ÑŒ у розмірах розділу .got.loc"
#: elf32-xtensa.c:3485
+#, c-format
msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x"
msgstr "%B: неÑуміÑні типи архітектур. Ð’Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ â€” 0x%x. Вхідні дані — 0x%x"
-#: elf32-xtensa.c:4714 elf32-xtensa.c:4722
+#: elf32-xtensa.c:4716 elf32-xtensa.c:4724
msgid "Attempt to convert L32R/CALLX to CALL failed"
msgstr "Спроба Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ L32R/CALLX на CALL зазнала невдачі"
-#: elf32-xtensa.c:6332 elf32-xtensa.c:6408 elf32-xtensa.c:7524
+#: elf32-xtensa.c:6552 elf32-xtensa.c:6629 elf32-xtensa.c:8002
+#, c-format
msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
msgstr "%B(%A+0x%lx): не вдалоÑÑ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ інÑтрукцію, можлива невідповідніÑÑ‚ÑŒ конфігурацій"
-#: elf32-xtensa.c:7264
+#: elf32-xtensa.c:7743
+#, c-format
msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch"
msgstr "%B(%A+0x%lx): не вдалоÑÑ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ñ‚Ð¸ інÑтрукцію Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ XTENSA_ASM_SIMPLIFY, можлива невідповідніÑÑ‚ÑŒ конфігурацій"
-#: elf32-xtensa.c:9023
+#: elf32-xtensa.c:9585
msgid "invalid relocation address"
msgstr "некоректна адреÑа переÑуваннÑ"
-#: elf32-xtensa.c:9072
+#: elf32-xtensa.c:9635
msgid "overflow after relaxation"
msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— розміру"
-#: elf32-xtensa.c:10204
+#: elf32-xtensa.c:10779
+#, c-format
msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
msgstr "%B(%A+0x%lx): неочікуване Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: elf64-alpha.c:460
+#: elf64-alpha.c:472
msgid "GPDISP relocation did not find ldah and lda instructions"
msgstr "ПереÑуваннÑм GPDISP не знайдено інÑтрукції ldah Ñ– lda"
-#: elf64-alpha.c:2497
+#: elf64-alpha.c:1112
+#, c-format
+msgid "%B: unrecognised Alpha reloc number: %d"
+msgstr "%B: невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ Alpha: %d"
+
+#: elf64-alpha.c:2529
+#, c-format
msgid "%B: .got subsegment exceeds 64K (size %d)"
msgstr "%B: розмір підÑегмента .got перевищує 64кБ (розмір — %d)"
-#: elf64-alpha.c:4387 elf64-alpha.c:4399
+#: elf64-alpha.c:3084
+#, c-format
+msgid "%B: %A+0x%lx: warning: %s relocation against unexpected insn"
+msgstr "%B: %A+0x%lx: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо неочікуваної інÑтрукції"
+
+#: elf64-alpha.c:3280
+#, c-format
+msgid "%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn"
+msgstr "%B: %A+0x%lx: попередженнÑ: переÑÑƒÐ²Ð°Ð½Ð½Ñ LITERAL щодо неочікуваної інÑтрукції"
+
+#: elf64-alpha.c:4481 elf64-alpha.c:4494
+#, c-format
msgid "%B: gp-relative relocation against dynamic symbol %s"
msgstr "%B: gp-відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ динамічного Ñимволу %s"
-#: elf64-alpha.c:4425 elf64-alpha.c:4565
+#: elf64-alpha.c:4521 elf64-alpha.c:4665
+#, c-format
msgid "%B: pc-relative relocation against dynamic symbol %s"
msgstr "%B: pc-відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ динамічного Ñимволу %s"
-#: elf64-alpha.c:4453
+#: elf64-alpha.c:4550
+#, c-format
msgid "%B: change in gp: BRSGP %s"
msgstr "%B: зміна у gp: BRSGP %s"
-#: elf64-alpha.c:4478
+#: elf64-alpha.c:4575
msgid "<unknown>"
msgstr "<невідома>"
-#: elf64-alpha.c:4483
+#: elf64-alpha.c:4581
+#, c-format
msgid "%B: !samegp reloc against symbol without .prologue: %s"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ !samegp щодо Ñимволу без .prologue: %s"
-#: elf64-alpha.c:4540
+#: elf64-alpha.c:4639
+#, c-format
msgid "%B: unhandled dynamic relocation against %s"
msgstr "%B: непридатне до обробки динамічне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ %s"
-#: elf64-alpha.c:4572
+#: elf64-alpha.c:4674
+#, c-format
msgid "%B: pc-relative relocation against undefined weak symbol %s"
msgstr "%B: pc-відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ невизначеного Ñлабкого Ñимволу %s"
-#: elf64-alpha.c:4636
+#: elf64-alpha.c:4740
+#, c-format
msgid "%B: dtp-relative relocation against dynamic symbol %s"
msgstr "%B: dtp-відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ динамічного Ñимволу %s"
-#: elf64-alpha.c:4659
+#: elf64-alpha.c:4765
+#, c-format
msgid "%B: tp-relative relocation against dynamic symbol %s"
msgstr "%B: tp-відноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ динамічного Ñимволу %s"
-#: elf64-hppa.c:2083
+#: elf64-hppa.c:2082
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %ld"
msgstr "шаблон запиÑу Ð´Ð»Ñ %s не можна завантажувати .plt, відÑтуп dp = %ld"
-#: elf64-hppa.c:3275
-msgid "%B(%A+0x"
-msgstr "%B(%A+0x"
+#: elf64-hppa.c:3287
+#, c-format
+msgid "%B(%A+0x%"
+msgstr "%B(%A+0x%"
+
+#: elf64-ia64-vms.c:587 elf32-ia64.c:620 elf64-ia64.c:620
+#, c-format
+msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
+msgstr "%B: не вдалоÑÑ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br за адреÑою 0x%lx у розділі «%A». Будь лаÑка, ÑкориÑтайтеÑÑ brl або непрÑмим відгалуженнÑм."
+
+#: elf64-ia64-vms.c:2029 elf32-ia64.c:2282 elf64-ia64.c:2282
+msgid "@pltoff reloc against local symbol"
+msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ @pltoff щодо локального Ñимволу"
+
+#: elf64-ia64-vms.c:3282 elf32-ia64.c:3688 elf64-ia64.c:3688
+#, c-format
+msgid "%B: short data segment overflowed (0x%lx >= 0x400000)"
+msgstr "%B: переповнено короткий Ñегмент даних (0x%lx >= 0x400000)"
+
+#: elf64-ia64-vms.c:3292 elf32-ia64.c:3698 elf64-ia64.c:3698
+msgid "%B: __gp does not cover short data segment"
+msgstr "%B: __gp не вкриває короткого Ñегмента даних"
+
+#: elf64-ia64-vms.c:3558 elf32-ia64.c:3965 elf64-ia64.c:3965
+#, c-format
+msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
+msgstr "%B: не-pic код з переÑуваннÑм imm щодо динамічного Ñимволу «%s»"
+
+#: elf64-ia64-vms.c:3622 elf32-ia64.c:4033 elf64-ia64.c:4033
+#, c-format
+msgid "%B: @gprel relocation against dynamic symbol %s"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ @gprel щодо динамічного Ñимволу %s"
+
+#: elf64-ia64-vms.c:3681 elf32-ia64.c:4096 elf64-ia64.c:4096
+msgid "%B: linking non-pic code in a position independent executable"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ-pic коду у виконуваному файлі з незалежним позиціюваннÑм"
-#: elf64-mmix.c:1034
+#: elf64-ia64-vms.c:3783 elf32-ia64.c:4234 elf64-ia64.c:4234
+#, c-format
+msgid "%B: @internal branch to dynamic symbol %s"
+msgstr "%B: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ @internal до динамічного Ñимволу %s"
+
+#: elf64-ia64-vms.c:3786 elf32-ia64.c:4237 elf64-ia64.c:4237
+#, c-format
+msgid "%B: speculation fixup to dynamic symbol %s"
+msgstr "%B: здогадка щодо адреÑної прив’Ñзки до динамічного Ñимволу %s"
+
+#: elf64-ia64-vms.c:3789 elf32-ia64.c:4240 elf64-ia64.c:4240
+#, c-format
+msgid "%B: @pcrel relocation against dynamic symbol %s"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ @pcrel щодо динамічного Ñимволу %s"
+
+#: elf64-ia64-vms.c:3913 elf32-ia64.c:4437 elf64-ia64.c:4437
+msgid "unsupported reloc"
+msgstr "непідтримуване переÑуваннÑ"
+
+#: elf64-ia64-vms.c:3950 elf32-ia64.c:4475 elf64-ia64.c:4475
+#, c-format
+msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
+msgstr "%B: не виÑтачає розділу TLS Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s» за адреÑою 0x%lx у розділі «%A»."
+
+#: elf64-ia64-vms.c:3967 elf32-ia64.c:4492 elf64-ia64.c:4492
+#, c-format
+msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
+msgstr "%B: не вдалоÑÑ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) до «%s» за адреÑою 0x%lx у розділі «%A» з розміром 0x%lx (> 0x1000000)."
+
+#: elf64-ia64-vms.c:4258 elf32-ia64.c:4749 elf64-ia64.c:4749
+msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ trap-on-NULL-dereference з файлами без Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ (trapping)"
+
+#: elf64-ia64-vms.c:4267 elf32-ia64.c:4758 elf64-ia64.c:4758
+msgid "%B: linking big-endian files with little-endian files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² зі прÑмим порÑдком байтів з файлами зі зворотним порÑдком байтів"
+
+#: elf64-ia64-vms.c:4276 elf32-ia64.c:4767 elf64-ia64.c:4767
+msgid "%B: linking 64-bit files with 32-bit files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ 64-бітових файлів з 32-бітовими файлами"
+
+#: elf64-ia64-vms.c:4285 elf32-ia64.c:4776 elf64-ia64.c:4776
+msgid "%B: linking constant-gp files with non-constant-gp files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² зі Ñталим gp з файлами зі змінним gp"
+
+#: elf64-ia64-vms.c:4295 elf32-ia64.c:4786 elf64-ia64.c:4786
+msgid "%B: linking auto-pic files with non-auto-pic files"
+msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² з автоматичним pic з файлами без автоматичного pic"
+
+#: elf64-ia64-vms.c:5138 elflink.c:4730
+#, c-format
+msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
+msgstr "ПопередженнÑ: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %u загального Ñимволу «%s» у %B перевищує Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ (%u) його розділу %A"
+
+#: elf64-ia64-vms.c:5145 elflink.c:4737
+#, c-format
+msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
+msgstr "ПопередженнÑ: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %u Ñимволу «%s» у %B Ñ” меншим за %u у %B"
+
+#: elf64-ia64-vms.c:5161
+#, c-format
+msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
+msgstr "ПопередженнÑ: розмір Ñимволу «%s» змінено з %lu у %B на %lu у %B"
+
+#: elf64-mips.c:3615 elfn32-mips.c:3439
+#, c-format
+msgid "unrecognised MIPS reloc number: %d"
+msgstr "невідоме чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MIPS: %d"
+
+#: elf64-mmix.c:984
msgid ""
"invalid input relocation when producing non-ELF, non-mmo format output.\n"
" Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2672,7 +4296,7 @@ msgstr ""
" даних з ELF або mmo або зберіть з викориÑтаннÑм «-no-expand»\n"
" (Ð´Ð»Ñ gcc «-Wa,-no-expand»)"
-#: elf64-mmix.c:1218
+#: elf64-mmix.c:1168
msgid ""
"invalid input relocation when producing non-ELF, non-mmo format output.\n"
" Please use the objcopy program to convert from ELF or mmo,\n"
@@ -2684,55 +4308,59 @@ msgstr ""
" даних з ELF або mmo або зберіть з викориÑтаннÑм параметра gcc\n"
" «-mno-base-addresses»."
-#: elf64-mmix.c:1244
+#: elf64-mmix.c:1195
#, c-format
msgid ""
-"%s: Internal inconsistency error for value for\n"
+"%B: Internal inconsistency error for value for\n"
" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n"
msgstr ""
-"%s: помилка через внутрішню непоÑлідовніÑÑ‚ÑŒ Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ\n"
+"%B: помилка через внутрішню непоÑлідовніÑÑ‚ÑŒ Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ\n"
" розміщеного компонувальником загального регіÑтра: компоновано: 0x%lx%08lx != розміщено: 0x%lx%08lx\n"
-#: elf64-mmix.c:1670
+#: elf64-mmix.c:1266
#, c-format
-msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s"
-msgstr "%s: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñнова-плюÑ-відÑтуп щодо Ñимволу регіÑтру: (невідоме) у %s"
+msgid "%B: invalid MMIX reloc number: %d"
+msgstr "%B: некоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ MMIX: %d"
-#: elf64-mmix.c:1675
+#: elf64-mmix.c:1618
#, c-format
-msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
-msgstr "%s: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñнова-плюÑ-відÑтуп щодо Ñимволу регіÑтру: %s у %s"
+msgid "%B: base-plus-offset relocation against register symbol: (unknown) in %A"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñнова-плюÑ-відÑтуп щодо Ñимволу регіÑтру: (невідоме) у %A"
-#: elf64-mmix.c:1719
+#: elf64-mmix.c:1624
#, c-format
-msgid "%s: register relocation against non-register symbol: (unknown) in %s"
-msgstr "%s: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтрів щодо Ñимволу, Ñкий не перебуває у регіÑтрі: (невідоме) у %s"
+msgid "%B: base-plus-offset relocation against register symbol: %s in %A"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñнова-плюÑ-відÑтуп щодо Ñимволу регіÑтру: %s у %A"
-#: elf64-mmix.c:1724
+#: elf64-mmix.c:1669
#, c-format
-msgid "%s: register relocation against non-register symbol: %s in %s"
-msgstr "%s: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтрів щодо Ñимволу, Ñкий не перебуває у регіÑтрі: %s у %s"
+msgid "%B: register relocation against non-register symbol: (unknown) in %A"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтрів щодо Ñимволу, Ñкий не перебуває у регіÑтрі: (невідоме) у %A"
-#: elf64-mmix.c:1761
+#: elf64-mmix.c:1675
#, c-format
-msgid "%s: directive LOCAL valid only with a register or absolute value"
-msgstr "%s: директиву LOCAL можна викориÑтовувати лише зі значеннÑми у регіÑтрах або абÑолютними значеннÑми"
+msgid "%B: register relocation against non-register symbol: %s in %A"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтрів щодо Ñимволу, Ñкий не перебуває у регіÑтрі: %s у %A"
+
+#: elf64-mmix.c:1712
+msgid "%B: directive LOCAL valid only with a register or absolute value"
+msgstr "%B: директиву LOCAL можна викориÑтовувати лише зі значеннÑми у регіÑтрах або абÑолютними значеннÑми"
-#: elf64-mmix.c:1789
+#: elf64-mmix.c:1743
#, c-format
-msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
-msgstr "%s: директива LOCAL: регіÑÑ‚Ñ€ $%ld не Ñ” локальним регіÑтром. Першим загальним регіÑтром Ñ” $%ld."
+msgid "%B: LOCAL directive: Register $%ld is not a local register. First global register is $%ld."
+msgstr "%B: директива LOCAL: регіÑÑ‚Ñ€ $%ld не Ñ” локальним регіÑтром. Першим загальним регіÑтром Ñ” $%ld."
-#: elf64-mmix.c:2253
+#: elf64-mmix.c:2202
#, c-format
-msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
-msgstr "%s: помилка: декілька визначень «%s»; початок %s вÑтановлено у раніше Ñкомпонований файл\n"
+msgid "%B: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
+msgstr "%B: помилка: декілька визначень «%s»; початок %s вÑтановлено у раніше Ñкомпонований файл\n"
-#: elf64-mmix.c:2311
+#: elf64-mmix.c:2257
msgid "Register section has contents\n"
msgstr "У розділі регіÑтрів міÑÑ‚ÑÑ‚ÑŒÑÑ Ð´Ð°Ð½Ñ–\n"
-#: elf64-mmix.c:2503
+#: elf64-mmix.c:2447
#, c-format
msgid ""
"Internal inconsistency: remaining %u != max %u.\n"
@@ -2741,80 +4369,117 @@ msgstr ""
"Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð½ÐµÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ñ–ÑÑ‚ÑŒ: залишилоÑÑ %u != макÑ. %u.\n"
" Будь лаÑка, повідомте про цю ваду."
-#: elf64-ppc.c:4185
+#: elf64-ppc.c:4625
+#, c-format
msgid "%P: %B: cannot create stub entry %s\n"
msgstr "%P: %B: не вдалоÑÑ Ñтворити шаблонний Ð·Ð°Ð¿Ð¸Ñ %s\n"
-#: elf64-ppc.c:6518
-msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s» потребує відкладеного ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ plt; не вÑтановлюйте LD_BIND_NOW=1 або оновіть gcc\n"
+#: elf64-ppc.c:4993
+msgid "%P: symbol '%s' has invalid st_other for ABI version 1\n"
+msgstr "%P: Ñимвол «%s» має некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_other Ð´Ð»Ñ Ð²ÐµÑ€ÑÑ–Ñ— ABI 1\n"
+
+#: elf64-ppc.c:5163
+#, c-format
+msgid "%P: %B .opd not allowed in ABI version %d\n"
+msgstr "%P: .opd %B не можна викориÑтовувати у верÑÑ–Ñ— ABI %d\n"
+
+#: elf64-ppc.c:5639
+#, c-format
+msgid "%H: %s reloc unsupported in shared libraries and PIEs.\n"
+msgstr "%H: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s не передбачено у бібліотеках Ñпільного кориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– PIE.\n"
+
+#: elf64-ppc.c:6046
+#, c-format
+msgid "%B uses unknown e_flags 0x%lx"
+msgstr "%B викориÑтовує невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ e_flags 0x%lx"
+
+#: elf64-ppc.c:6054
+#, c-format
+msgid "%B: ABI version %ld is not compatible with ABI version %ld output"
+msgstr "%B: верÑÑ–Ñ ABI %ld Ñ” неÑуміÑною з верÑією ABI %ld результату"
+
+#: elf64-ppc.c:6082
+#, c-format
+msgid " [abiv%ld]"
+msgstr " [abiv%ld]"
+
+#: elf64-ppc.c:7413
+msgid "%P: copy reloc against `%T' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
+msgstr "%P: ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%T» потребує відкладеного ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ plt; не вÑтановлюйте LD_BIND_NOW=1 або оновіть gcc\n"
-#: elf64-ppc.c:6788
+#: elf64-ppc.c:7680
msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
msgstr "%B: невизначений Ñимвол у переÑуванні R_PPC64_TOCSAVE"
-#: elf64-ppc.c:6992
+#: elf64-ppc.c:7910
+#, c-format
msgid "%P: dynreloc miscount for %B, section %A\n"
msgstr "%P: помилки у обчиÑленні динамічного переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ %B, розділ %A\n"
-#: elf64-ppc.c:7076
+#: elf64-ppc.c:7999
msgid "%B: .opd is not a regular array of opd entries"
msgstr "%B: .opd не Ñ” звичайним маÑивом запиÑів opd"
-#: elf64-ppc.c:7085
+#: elf64-ppc.c:8009
+#, c-format
msgid "%B: unexpected reloc type %u in .opd section"
msgstr "%B: неочікуваний тип переÑуваннÑ, %u, у розділі .opd"
-#: elf64-ppc.c:7106
+#: elf64-ppc.c:8031
+#, c-format
msgid "%B: undefined sym `%s' in .opd section"
msgstr "%B: невизначений Ñимвол, «%s» у розділі .opd"
-#: elf64-ppc.c:7664
+#: elf64-ppc.c:8600
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr "%H __tls_get_addr втрачено аргумент, оптимізацію TLS вимкнено\n"
-#: elf64-ppc.c:8003 elf64-ppc.c:8564
+#: elf64-ppc.c:8943 elf64-ppc.c:9580
#, c-format
msgid "%s defined on removed toc entry"
msgstr "%s визначено у вилученому запиÑÑ– toc"
-#: elf64-ppc.c:8521
-msgid "%P: %H: %s relocation references optimized away TOC entry\n"
-msgstr "%P: %H: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s поÑилаєтьÑÑ Ð½Ð° уÑунутий у результаті оптимізації Ð·Ð°Ð¿Ð¸Ñ TOC\n"
+#: elf64-ppc.c:9308
+#, c-format
+msgid "%H: toc optimization is not supported for %s instruction.\n"
+msgstr "%H: Ð´Ð»Ñ Ñ–Ð½Ñтрукції %s не передбачено підтримки оптимізації toc.\n"
+
+#: elf64-ppc.c:9537
+#, c-format
+msgid "%H: %s references optimized away TOC entry\n"
+msgstr "%H: %s поÑилаєтьÑÑ Ð½Ð° уÑунутий у результаті оптимізації Ð·Ð°Ð¿Ð¸Ñ TOC\n"
-#: elf64-ppc.c:9598
-msgid "%P: cannot find opd entry toc for %s\n"
-msgstr "%P: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ opd у toc Ð´Ð»Ñ %s\n"
+#: elf64-ppc.c:10878
+msgid "%P: cannot find opd entry toc for `%T'\n"
+msgstr "`%P: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ opd у toc Ð´Ð»Ñ Â«%T»\n"
-#: elf64-ppc.c:9680
+#: elf64-ppc.c:10969
msgid "%P: long branch stub `%s' offset overflow\n"
msgstr "%P: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñтупу шаблона довгої гілки, «%s»\n"
-#: elf64-ppc.c:9739
+#: elf64-ppc.c:11028
msgid "%P: can't find branch stub `%s'\n"
msgstr "%P: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ шаблон Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Â«%s»\n"
-#: elf64-ppc.c:9801 elf64-ppc.c:9943
-msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: помилка у таблиці ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%s»\n"
+#: elf64-ppc.c:11092 elf64-ppc.c:11244 elf64-ppc.c:13052
+#, c-format
+msgid "%P: linkage table error against `%T'\n"
+msgstr "%P: помилка у таблиці ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ «%T»\n"
-#: elf64-ppc.c:10126
+#: elf64-ppc.c:11454
msgid "%P: can't build branch stub `%s'\n"
msgstr "%P: не вдалоÑÑ Ð¿Ð¾Ð±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ шаблон Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Â«%s»\n"
-#: elf64-ppc.c:10941
+#: elf64-ppc.c:12227
+#, c-format
msgid "%B section %A exceeds stub group size"
msgstr "Розділ %B, %A, перевищує розміри групи шаблонів"
-#: elf64-ppc.c:11666 elf64-ppc.c:11699
-msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: відÑтуп %s Ñ” надто великим Ð´Ð»Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ sdata4 .eh_frame"
-
-#: elf64-ppc.c:11744
+#: elf64-ppc.c:13331
msgid "%P: stubs don't match calculated size\n"
msgstr "%P: шаблони не відповідають обчиÑленому розміру\n"
-#: elf64-ppc.c:11756
+#: elf64-ppc.c:13343
#, c-format
msgid ""
"linker stubs in %u group%s\n"
@@ -2822,845 +4487,1144 @@ msgid ""
" toc adjust %lu\n"
" long branch %lu\n"
" long toc adj %lu\n"
-" plt call %lu"
+" plt call %lu\n"
+" plt call toc %lu\n"
+" global entry %lu"
msgstr ""
"шаблони компонувальника у %u групах %s\n"
" гілка %lu\n"
" кориг. toc %lu\n"
" довга гілка %lu\n"
" д. кор. toc %lu\n"
-" plt-виклик %lu"
+" plt-виклик %lu\n"
+" toc вик. plt %lu\n"
+" заг. Ð·Ð°Ð¿Ð¸Ñ %lu"
+
+#: elf64-ppc.c:13665
+#, c-format
+msgid "%H: %s used with TLS symbol `%T'\n"
+msgstr "%H: %s викориÑтовуєтьÑÑ Ð· Ñимволом TLS «%T»\n"
+
+#: elf64-ppc.c:13667
+#, c-format
+msgid "%H: %s used with non-TLS symbol `%T'\n"
+msgstr "%H: %s викориÑтовуєтьÑÑ Ð· Ñимволом поза TLS «%T»\n"
+
+#: elf64-ppc.c:14306
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; recompile with -fPIC\n"
+msgstr "%H: у виклику «%T» не виÑтачає nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ toc неможливе; зберіть повторно з -fPIC\n"
+
+#: elf64-ppc.c:14312
+#, c-format
+msgid "%H: call to `%T' lacks nop, can't restore toc; (-mcmodel=small toc adjust stub)\n"
+msgstr "%P: %H: у виклику «%T» не виÑтачає nop, Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ toc неможливе (-mcmodel=small Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°)\n"
+
+#: elf64-ppc.c:14440
+#, c-format
+msgid "%P: %B: unknown relocation type %d for `%T'\n"
+msgstr "%P: %B: невідомий тип переÑуваннÑ, %d, Ð´Ð»Ñ Â«%T»\n"
-#: elf64-ppc.c:12042
-msgid "%P: %H: %s used with TLS symbol %s\n"
-msgstr "%P: %H: %s викориÑтовуєтьÑÑ Ð· Ñимволом TLS %s\n"
+#: elf64-ppc.c:14994
+#, c-format
+msgid "%H: %s for indirect function `%T' unsupported\n"
+msgstr "%H: підтримки %s Ð´Ð»Ñ Ð¾Ð¿Ð¾Ñередкованої функції «%T» не передбачено\n"
+
+#: elf64-ppc.c:15132
+#, c-format
+msgid "%P: %B: %s is not supported for `%T'\n"
+msgstr "%P: %B: підтримки %s Ð´Ð»Ñ Â«%T» не передбачено\n"
-#: elf64-ppc.c:12043
-msgid "%P: %H: %s used with non-TLS symbol %s\n"
-msgstr "%P: %H: %s викориÑтовуєтьÑÑ Ð· Ñимволом поза TLS %s\n"
+#: elf64-ppc.c:15287
+#, c-format
+msgid "%H: error: %s not a multiple of %u\n"
+msgstr "%H: помилка: %s не є кратним до %u\n"
-#: elf64-ppc.c:12556
-msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: автоматичне ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… TOC не можна виконати на оÑнові ваших файлів crt; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -mminimal-toc або оновіть gcc\n"
+#: elf64-ppc.c:15309
+#, c-format
+msgid "%H: unresolvable %s against `%T'\n"
+msgstr "%H: нерозв’Ñзне %s щодо «%T»\n"
-#: elf64-ppc.c:12562
-msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: у разі викориÑÑ‚Ð°Ð½Ð½Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— викликів однакових функцій Ð´Ð»Ñ Â«%s» не даÑÑ‚ÑŒ змоги Ñтворити декілька TOC; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -mminimal-toc або -fno-optimize-sibling-calls чи зробіть «%s» зовнішньою (extern)\n"
+#: elf64-ppc.c:15406
+#, c-format
+msgid "%H: %s against `%T': error %d\n"
+msgstr "%H: %s щодо «%T»: помилка %d\n"
-#: elf64-ppc.c:13286
-msgid "%P: %B: relocation %s is not supported for symbol %s\n"
-msgstr "%P: %B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ñимволу %s не передбачено\n"
+#: elf64-ppc.c:15801 elf64-ppc.c:15830
+msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
+msgstr "%P: відÑтуп %s Ñ” надто великим Ð´Ð»Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ sdata4 .eh_frame"
-#: elf64-ppc.c:13446
-msgid "%P: %H: error: %s not a multiple of %u\n"
-msgstr "%P: %H: помилка: %s не є кратним до %u\n"
+#: elf64-s390.c:2712
+msgid "%B: `%s' non-PLT reloc for symbol defined in shared library and accessed from executable (rebuild file with -fPIC ?)"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ-PLT «%s» Ð´Ð»Ñ Ñимволу, визначеного у бібліотеці Ñпільного викориÑтаннÑ, Ñ– доÑтупного з виконуваного файла (Ñлід повторно зібрати файл із -fPIC ?)"
-#: elf64-sh64.c:1686
+#: elf64-sh64.c:1680
#, c-format
-msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
-msgstr "%s: помилка: невирівнÑний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d у %08x, переÑÑƒÐ²Ð°Ð½Ð½Ñ %08x\n"
+msgid "%B: error: unaligned relocation type %d at %08x reloc %08x\n"
+msgstr "%B: помилка: невирівнÑний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d у %08x, переÑÑƒÐ²Ð°Ð½Ð½Ñ %08x\n"
-#: elf64-sparc.c:446
+#: elf64-sparc.c:460
msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER"
msgstr "%B: за допомогою STT_REGISTER можна оголошувати лише регіÑтри %%g[2367]"
-#: elf64-sparc.c:466
+#: elf64-sparc.c:481
+#, c-format
msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B"
msgstr "ÐеÑуміÑне викориÑÑ‚Ð°Ð½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтру %%g%d: %s у %B, раніше викориÑтано %s у %B"
-#: elf64-sparc.c:489
+#: elf64-sparc.c:505
+#, c-format
msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
msgstr "Символ «%s» належить до різних типів: REGISTER у %B і %s раніше у %B"
-#: elf64-sparc.c:534
+#: elf64-sparc.c:552
+#, c-format
msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
msgstr "Символ «s» належить до різних типів: %s у %B і REGISTER раніше у %B"
-#: elf64-sparc.c:687
+#: elf64-sparc.c:707
msgid "%B: linking UltraSPARC specific with HAL specific code"
msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ UltraSPARC-Ñпецифічного та HAL-Ñпецифічного коду"
-#: elf64-x86-64.c:1427
+#: elf64-x86-64.c:1923
+msgid "hidden symbol "
+msgstr "прихований Ñимвол "
+
+#: elf64-x86-64.c:1926
+msgid "internal symbol "
+msgstr "внутрішній Ñимвол "
+
+#: elf64-x86-64.c:1929
+msgid "protected symbol "
+msgstr "захищений Ñимвол "
+
+#: elf64-x86-64.c:1932
+msgid "symbol "
+msgstr "Ñимвол "
+
+#: elf64-x86-64.c:1933 elf64-x86-64.c:1943
+msgid "; recompile with -fPIC"
+msgstr "; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -fPIC"
+
+#: elf64-x86-64.c:1938
+msgid "undefined "
+msgstr "невизначений "
+
+#: elf64-x86-64.c:1947
+#, c-format
+msgid "%B: relocation %s against %s%s`%s' can not be used when making a shared object%s"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо %s%s«%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ%s"
+
+#: elf64-x86-64.c:2510
+#, c-format
msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
msgstr "%B: підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s» у режимі x32 не передбачено"
-#: elf64-x86-64.c:1656
+#: elf64-x86-64.c:2633
+#, c-format
msgid "%B: '%s' accessed both as normal and thread local symbol"
msgstr "'%B: доÑтуп до «%s» виконуєтьÑÑ Ñк до звичайного Ñимволу та локального Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñимволу"
-#: elf64-x86-64.c:3150
+#: elf64-x86-64.c:4576
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5018
+#, c-format
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу STT_GNU_IFUNC, «%s», міÑтить ненульовий доданок: %d"
-#: elf64-x86-64.c:3411
-msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: не можна викориÑтовувати R_X86_64_GOTOFF64 переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ захищеної функції «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
+#: elf64-x86-64.c:4831
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used when making a shared object"
+msgstr "B: переÑÑƒÐ²Ð°Ð½Ð½Ñ R_X86_64_GOTOFF64 щодо невизначеного %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
-#: elf64-x86-64.c:3523
-msgid "; recompile with -fPIC"
-msgstr "; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -fPIC"
+#: elf64-x86-64.c:4845
+#, c-format
+msgid "%B: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used when making a shared object"
+msgstr "%B: не можна викориÑтовувати R_X86_64_GOTOFF64 переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ захищеної %s «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ"
+
+#: elf64-x86-64.c:5122
+#, c-format
+msgid "%B: addend -0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: доданок -0x%x у переÑуванні %s щодо Ñимволу «%s» за адреÑою 0x%lx у розділі «%A» перебуває поза межами припуÑтимого діапазону"
+
+#: elf64-x86-64.c:5130
+#, c-format
+msgid "%B: addend 0x%x in relocation %s against symbol `%s' at 0x%lx in section `%A' is out of range"
+msgstr "%B: доданок 0x%x у переÑуванні %s щодо Ñимволу «%s» за адреÑою 0x%lx у розділі «%A» перебуває поза межами припуÑтимого діапазону"
+
+#: elf64-x86-64.c:5952
+#, c-format
+msgid "%F%B: PC-relative offset overflow in PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ñуву відноÑно PC у запиÑÑ– PLT Ð´Ð»Ñ Â«%s»\n"
-#: elf64-x86-64.c:3528
-msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ%s"
+#: elf64-x86-64.c:6019
+#, c-format
+msgid "%F%B: branch displacement overflow in PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð³Ñ–Ð»Ð¾Ðº у запиÑÑ– PLT Ð´Ð»Ñ Â«%s»\n"
-#: elf64-x86-64.c:3530
-msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо невизначеного %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ%s"
+#: elf64-x86-64.c:6072
+#, c-format
+msgid "%F%B: PC-relative offset overflow in GOT PLT entry for `%s'\n"
+msgstr "%F%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ñуву відноÑно PC у запиÑÑ– PLT GOT Ð´Ð»Ñ Â«%s»\n"
-#: elfcode.h:767
+#: elf64-x86-64.c:7663
#, c-format
-msgid "warning: %s has a corrupt string table index - ignoring"
-msgstr "попередженнÑ: покажчик таблиці Ñ€Ñдків %s пошкоджено — ігноруєтьÑÑ"
+msgid "%F: failed to create BND PLT section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ PLT BND\n"
-#: elfcode.h:1177
+#: elf64-x86-64.c:7713
#, c-format
-msgid "%s: version count (%ld) does not match symbol count (%ld)"
-msgstr "%s: лічильник верÑÑ–Ñ— (%ld) не збігаєтьÑÑ Ð· лічильником Ñимволу (%ld)"
+msgid "%F: failed to create BND PLT .eh_frame section\n"
+msgstr "%F: не вдалоÑÑ Ñтворити розділ .eh_frame PLT BND\n"
+
+#: elfcode.h:760
+msgid "warning: %B has a corrupt string table index - ignoring"
+msgstr "попередженнÑ: покажчик таблиці Ñ€Ñдків %B пошкоджено — ігноруєтьÑÑ"
-#: elfcode.h:1431
+#: elfcode.h:1193
#, c-format
-msgid "%s(%s): relocation %d has invalid symbol index %ld"
-msgstr "%s(%s): переÑÑƒÐ²Ð°Ð½Ð½Ñ %d міÑтить некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу, %ld"
+msgid "%B: version count (%ld) does not match symbol count (%ld)"
+msgstr "%B: лічильник верÑÑ–Ñ— (%ld) не збігаєтьÑÑ Ð· лічильником Ñимволу (%ld)"
-#: elfcore.h:312
+#: elfcode.h:1448
+#, c-format
+msgid "%B(%A): relocation %d has invalid symbol index %ld"
+msgstr "%B(%A): переÑÑƒÐ²Ð°Ð½Ð½Ñ %d міÑтить некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу, %ld"
+
+#: elfcore.h:300
+#, c-format
msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu."
msgstr "ПопередженнÑ: %B обрізано: очікуваний розмір оÑновного файла >= %lu, виÑвлено: %lu."
-#: elflink.c:1117
+#: elflink.c:1336
+#, c-format
msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"
msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TLS у %B, розділ %A, не збігаєтьÑÑ Ð· визначеннÑм не-TLS у розділі %B %A"
-#: elflink.c:1121
+#: elflink.c:1342
+#, c-format
msgid "%s: TLS reference in %B mismatches non-TLS reference in %B"
msgstr "%s: поÑÐ¸Ð»Ð°Ð½Ð½Ñ TLS у %B не збігаєтьÑÑ Ð· поÑиланнÑм не-TLS у %B"
-#: elflink.c:1125
+#: elflink.c:1348
+#, c-format
msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B"
msgstr "%s: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TLS у %B, розділ %A, не збігаєтьÑÑ Ð· поÑиланнÑм не-TLS у розділі %B, %A"
-#: elflink.c:1129
+#: elflink.c:1354
+#, c-format
msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A"
msgstr "%s: поÑÐ¸Ð»Ð°Ð½Ð½Ñ TLS у %B не збігаєтьÑÑ Ð· визначеннÑм не-TLS у розділі %B %A"
-#: elflink.c:1762
+#: elflink.c:2015
+#, c-format
msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
msgstr "%B: неочікуване Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу з непрÑмим визначеннÑм верÑÑ–Ñ—, «%s»"
-#: elflink.c:2063
+#: elflink.c:2308
+#, c-format
msgid "%B: version node not found for symbol %s"
msgstr "%B: не знайдено вузла верÑÑ–Ñ— Ð´Ð»Ñ Ñимволу %s"
-#: elflink.c:2154
-msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
-msgstr "%B: помилковий Ñ–Ð½Ð´ÐµÐºÑ Ñимволу переÑÑƒÐ²Ð°Ð½Ð½Ñ (0x%lx >= 0x%lx) Ð´Ð»Ñ Ð²Ñ–Ð´Ñтупу 0x%lx у розділі «%A»"
+#: elflink.c:2397
+#, c-format
+msgid "%B: bad reloc symbol index (%#lx >= %#lx) for offset %#Lx in section `%A'"
+msgstr "%B: помилковий Ñ–Ð½Ð´ÐµÐºÑ Ñимволу переÑÑƒÐ²Ð°Ð½Ð½Ñ (%#lx >= %#lx) Ð´Ð»Ñ Ð²Ñ–Ð´Ñтупу %#Lx у розділі «%A»"
-#: elflink.c:2165
-msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
-msgstr "%B: ненульовий Ñ–Ð½Ð´ÐµÐºÑ Ñимволу (0x%lx) Ð´Ð»Ñ Ð²Ñ–Ð´Ñтупу 0x%lx у розділі «%A», але у об’єктному файлі немає таблиці Ñимволів"
+#: elflink.c:2409
+#, c-format
+msgid "%B: non-zero symbol index (%#lx) for offset %#Lx in section `%A' when the object file has no symbol table"
+msgstr "%B: ненульовий Ñ–Ð½Ð´ÐµÐºÑ Ñимволу (%#lx) Ð´Ð»Ñ Ð²Ñ–Ð´Ñтупу %#Lx у розділі «%A», але у об’єктному файлі немає таблиці Ñимволів"
-#: elflink.c:2355
+#: elflink.c:2600
+#, c-format
msgid "%B: relocation size mismatch in %B section %A"
msgstr "%B: невідповідніÑÑ‚ÑŒ розміру переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ розділі %B %A"
-#: elflink.c:2639
+#: elflink.c:2911
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
msgstr "попередженнÑ: тип Ñ– розмір динамічного Ñимволу «%s» не визначено"
-#: elflink.c:3391
+#: elflink.c:2976
+msgid "%P: copy reloc against protected `%T' is dangerous\n"
+msgstr "%P: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð· копіюваннÑм щодо захищеного «%T» Ñ” небезпечним\n"
+
+#: elflink.c:3777
+#, c-format
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
msgstr "%P: виÑвлено альтернативний машинний код ELF (%d) у %B, очікувалоÑÑ %d\n"
-#: elflink.c:4037
+#: elflink.c:4438
+#, c-format
msgid "%B: %s: invalid version %u (max %d)"
msgstr "%B: %s: некоректна верÑÑ–Ñ, %u (макÑимум — %d)"
-#: elflink.c:4073
+#: elflink.c:4475
+#, c-format
msgid "%B: %s: invalid needed version %d"
msgstr "%B: %s: некоректний Ð·Ð°Ð¿Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— верÑÑ–Ñ— %d"
-#: elflink.c:4269
-msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "ПопередженнÑ: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %u загального Ñимволу «%s» у %B перевищує Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ (%u) його розділу %A"
-
-#: elflink.c:4275
-msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "ПопередженнÑ: Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %u Ñимволу «%s» у %B Ñ” меншим за %u у %B"
-
-#: elflink.c:4290
-msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "ПопередженнÑ: розмір Ñимволу «%s» змінено з %lu у %B на %lu у %B"
+#: elflink.c:4754
+#, c-format
+msgid "Warning: size of symbol `%s' changed from %Lu in %B to %Lu in %B"
+msgstr "ПопередженнÑ: розмір Ñимволу «%s» змінено з %Lu у %B на %Lu у %B"
-#: elflink.c:4463
+#: elflink.c:4890
+#, c-format
msgid "%B: undefined reference to symbol '%s'"
msgstr "%B: невизначене поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол «%s»"
-#: elflink.c:4466
-msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "зауваженнÑ: «%s» визначено у %B DSO, отже Ñпробуємо додати його до командного Ñ€Ñдка компонувальника"
+#: elflink.c:5903
+#, c-format
+msgid "%B: stack size specified and %s set"
+msgstr "%B: вказано розміри Ñтека Ñ– вÑтановлено %s"
+
+#: elflink.c:5907
+#, c-format
+msgid "%B: %s not absolute"
+msgstr "%B: %s не Ñ” абÑолютним"
-#: elflink.c:5781
+#: elflink.c:6105
#, c-format
msgid "%s: undefined version: %s"
msgstr "%s: невизначена верÑÑ–Ñ: %s"
-#: elflink.c:5849
+#: elflink.c:6682
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr "%B: не можна викориÑтовувати розділ .preinit_array у DSO"
-#: elflink.c:7604
+#: elflink.c:8122
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr "невизначене поÑиланнÑ, %s, у Ñкладеному Ñимволі: %s"
-#: elflink.c:7758
+#: elflink.c:8277
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr "невідомий оператор, «%c», у Ñкладеному Ñимволі"
-#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
+#. PR 21524: Let the user know if a symbol was removed by garbage collection.
+#: elflink.c:8615
+msgid "%B:%A: error: relocation references symbol %s which was removed by garbage collection."
+msgstr "%B:%A: помилка: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÑилаєтьÑÑ Ð½Ð° Ñимвол %s, Ñкий було вилучено заÑобом Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ ÑміттÑ."
+
+#: elflink.c:8618
+msgid "%B:%A: error: try relinking with --gc-keep-exported enabled."
+msgstr "%B:%A: помилка: Ñпробуйте виконати повторне ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· увімкненим --gc-keep-exported."
+
+#: elflink.c:8855 elflink.c:8873 elflink.c:8912 elflink.c:8930
msgid "%B: Unable to sort relocs - they are in more than one size"
msgstr "%B: не вдалоÑÑ Ð²Ð¿Ð¾Ñ€Ñдкувати переÑуваннÑ: їхні розміри не Ñ” однаковими"
-#: elflink.c:8128 elflink.c:8182
+#. The section size is not divisible by either -
+#. something is wrong.
+#: elflink.c:8889 elflink.c:8946
msgid "%B: Unable to sort relocs - they are of an unknown size"
msgstr "%B: не вдалоÑÑ Ð²Ð¿Ð¾Ñ€Ñдкувати переÑуваннÑ: їхні розміри невідомі"
-#: elflink.c:8233
+#: elflink.c:8998
msgid "Not enough memory to sort relocations"
msgstr "ÐедоÑтатньо пам’ÑÑ‚Ñ– Ð´Ð»Ñ Ð²Ð¿Ð¾Ñ€ÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑувань"
-#: elflink.c:8426
+#: elflink.c:9266
+#, c-format
msgid "%B: Too many sections: %d (>= %d)"
msgstr "%B: забагато розділів: %d (>= %d)"
-#: elflink.c:8675
+#: elflink.c:9546
+#, c-format
msgid "%B: internal symbol `%s' in %B is referenced by DSO"
msgstr "%B: на внутрішній Ñимвол «%s» у %B Ñ–Ñнує поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð· DSO"
-#: elflink.c:8677
+#: elflink.c:9549
+#, c-format
msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
msgstr "%B: на прихований Ñимвол «%s» у %B Ñ–Ñнує поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð· DSO"
-#: elflink.c:8679
+#: elflink.c:9552
+#, c-format
msgid "%B: local symbol `%s' in %B is referenced by DSO"
msgstr "%B: на локальний Ñимвол «%s» у %B Ñ–Ñнує поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð· DSO"
-#: elflink.c:8776
+#: elflink.c:9638
+#, c-format
msgid "%B: could not find output section %A for input section %A"
msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ розділ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %A Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %A"
-#: elflink.c:8899
+#: elflink.c:9792
+#, c-format
msgid "%B: protected symbol `%s' isn't defined"
msgstr "%B: захищений Ñимвол «%s» не визначено"
-#: elflink.c:8901
+#: elflink.c:9795
+#, c-format
msgid "%B: internal symbol `%s' isn't defined"
msgstr "%B: внутрішній Ñимвол «%s» не визначено"
-#: elflink.c:8903
+#: elflink.c:9798
+#, c-format
msgid "%B: hidden symbol `%s' isn't defined"
msgstr "%B: прихований Ñимвол «%s» не визначено"
-#: elflink.c:9432
+#: elflink.c:9829
+#, c-format
+msgid "%B: No symbol version section for versioned symbol `%s'"
+msgstr "%B: немає розділу верÑÑ–Ñ— Ñимволів Ð´Ð»Ñ Ñимволу з верÑією «%s»"
+
+#: elflink.c:10436
+#, c-format
msgid "error: %B: size of section %A is not multiple of address size"
msgstr "помилка: %B: розмір розділу %A не Ñ” кратним до розміру адреÑи"
-#: elflink.c:9479
-msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol"
-msgstr "помилка: %B міÑтить переÑÑƒÐ²Ð°Ð½Ð½Ñ (0x%s) Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A, Ñке поÑилаєтьÑÑ Ð½Ð° загальний Ñимвол, Ñкого не Ñ–Ñнує"
+#: elflink.c:10481
+#, c-format
+msgid "error: %B contains a reloc (%#Lx) for section %A that references a non-existent global symbol"
+msgstr "помилка: %B міÑтить переÑÑƒÐ²Ð°Ð½Ð½Ñ (%#Lx) Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %A, Ñке поÑилаєтьÑÑ Ð½Ð° загальний Ñимвол, Ñкого не Ñ–Ñнує"
-#: elflink.c:10214
+#: elflink.c:11236
+#, c-format
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
msgstr "%A міÑтить одразу впорÑдкований [«%A» у %B] Ñ– невпорÑдкований [«%A» у %B] розділи"
-#: elflink.c:10219
+#: elflink.c:11242
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr "%A міÑтить одразу впорÑдкований Ñ– невпорÑдкований розділи"
-#: elflink.c:10784
+#: elflink.c:11344
+msgid "%B: no symbol found for import library"
+msgstr "%B: не знайдено Ñимволів Ð´Ð»Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ імпортуваннÑ"
+
+#: elflink.c:11966
+#, c-format
msgid "%B: file class %s incompatible with %s"
msgstr "%B: ÐºÐ»Ð°Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² %s Ñ” неÑуміÑним з %s"
-#: elflink.c:11093 elflink.c:11137
-msgid "%B: could not find output section %s"
-msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ розділ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…, %s"
+#: elflink.c:12183
+msgid "%B: failed to generate import library"
+msgstr "%B: не вдалоÑÑ Ñтворити бібліотеку імпортуваннÑ"
-#: elflink.c:11098
+#: elflink.c:12302
#, c-format
msgid "warning: %s section has zero size"
msgstr "попередженнÑ: розмір розділу %s Ñ” нульовим"
-#: elflink.c:11143
+#: elflink.c:12350
#, c-format
msgid "warning: section '%s' is being made into a note"
msgstr "попередженнÑ: розділ «%s» перетворено на нотатку"
-#: elflink.c:11212
+#: elflink.c:12442
msgid "%P%X: read-only segment has dynamic relocations.\n"
msgstr "%P%X: Ñегмент, призначений лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, міÑтить динамічні переÑуваннÑ.\n"
-#: elflink.c:11215
+#: elflink.c:12445
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr "%P: попередженнÑ: Ñтворюємо DT_TEXTREL у об’єкті Ñпільного викориÑтаннÑ.\n"
-#: elflink.c:11402
+#: elflink.c:12570
msgid "%P%X: can not read symbols: %E\n"
msgstr "%P%X: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñимволи: %E\n"
-#: elflink.c:11792
-msgid "Removing unused section '%s' in file '%B'"
-msgstr "Вилучаємо невикориÑтовуваний розділ «%s» у файлі «%B»"
+#: elflink.c:12732
+msgid "%F%P: corrupt input: %B\n"
+msgstr "%F%P: пошкоджені вхідні дані: %B\n"
-#: elflink.c:11998
-msgid "Warning: gc-sections option ignored"
-msgstr "ПопередженнÑ: параметр gc-sections проігноровано"
+#: elflink.c:13421
+#, c-format
+msgid "%B: %A+%#Lx: No symbol found for INHERIT"
+msgstr "%B: %A+%#Lx: не знайдено Ñимволу Ð´Ð»Ñ INHERIT"
-#: elflink.c:12277
+#: elflink.c:13597
#, c-format
msgid "Unrecognized INPUT_SECTION_FLAG %s\n"
msgstr "Ðерозпізнаний INPUT_SECTION_FLAG, %s\n"
-#: elfxx-mips.c:1234
+#: elfxx-mips.c:1444
msgid "static procedure (no name)"
msgstr "Ñтатична процедура (без назви)"
-#: elfxx-mips.c:5259
+#: elfxx-mips.c:5627
msgid "MIPS16 and microMIPS functions cannot call each other"
msgstr "Функції MIPS16 і microMIPS не можуть викликати одна одну"
-#: elfxx-mips.c:5856
-msgid "%B: %A+0x%lx: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled."
-msgstr "%B: %A+0x%lx: безпоÑередні переходи між режимами ISA заборонено; варто виконати повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· увімкненим взаємним компонуваннÑм."
+#: elfxx-mips.c:6370
+msgid "%X%H: Unsupported JALX to the same ISA mode\n"
+msgstr "%X%H: непідтримуваний JALX до того Ñамого режиму ISA\n"
+
+#: elfxx-mips.c:6403
+msgid "%X%H: Unsupported jump between ISA modes; consider recompiling with interlinking enabled\n"
+msgstr "%X%H: непідтримуваний перехід між режимами ISA; Ñпробуйте повторно зібрати з увімкненим взаємним компонуваннÑм\n"
+
+#: elfxx-mips.c:6444
+msgid "%X%H: Cannot convert branch between ISA modes to JALX: relocation out of range\n"
+msgstr "%X%H: не можна перетворювати Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð¼Ñ–Ð¶ режимами ISA на JALX: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° межі припуÑтимого діапазону\n"
+
+#: elfxx-mips.c:6456
+msgid "%X%H: Unsupported branch between ISA modes\n"
+msgstr "%X%H: непідтримуване Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð¼Ñ–Ð¶ режимами ISA\n"
-#: elfxx-mips.c:6519 elfxx-mips.c:6742
+#: elfxx-mips.c:7134 elfxx-mips.c:7369
+#, c-format
msgid "%B: Warning: bad `%s' option size %u smaller than its header"
msgstr "%B: попередженнÑ: помилковий розмір «%s», %u, менший за його заголовок"
-#: elfxx-mips.c:7495 elfxx-mips.c:7620
+#: elfxx-mips.c:8125 elfxx-mips.c:8251
+#, c-format
msgid "%B: Warning: cannot determine the target function for stub section `%s'"
msgstr "%B: попередженнÑ: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ функцію Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ шаблона, «%s»"
-#: elfxx-mips.c:7749
+#: elfxx-mips.c:8383
+#, c-format
msgid "%B: Malformed reloc detected for section %s"
msgstr "%B: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s виÑвлено помилку у форматуванні перенеÑеннÑ"
-#: elfxx-mips.c:7801
+#: elfxx-mips.c:8459
+#, c-format
msgid "%B: GOT reloc at 0x%lx not expected in executables"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ GOT у 0x%lx Ñ” неочікуваним у виконуваних файлах"
-#: elfxx-mips.c:7930
+#: elfxx-mips.c:8597
+#, c-format
msgid "%B: CALL16 reloc at 0x%lx not against global symbol"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ CALL16 у 0x%lx не відноÑно загального Ñимволу"
-#: elfxx-mips.c:8645
+#: elfxx-mips.c:9219
#, c-format
msgid "non-dynamic relocations refer to dynamic symbol %s"
msgstr "нединамічні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÑилаютьÑÑ Ð½Ð° динамічний Ñимвол, %s"
-#: elfxx-mips.c:9347
+#: elfxx-mips.c:10139
+#, c-format
msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ відповідне переÑÑƒÐ²Ð°Ð½Ð½Ñ LO16 щодо «%s» Ð´Ð»Ñ %s у 0x%lx у розділі «%A»"
-#: elfxx-mips.c:9486
+#: elfxx-mips.c:10279
msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
msgstr "розділ малих даних перевищує 64 кБ; нижчий за Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ малих даних (див. параметр -G)"
-#: elfxx-mips.c:9505
-msgid "JALX to a non-word-aligned address"
-msgstr "JALX до не вирівнÑної за Ñловом адреÑи"
+#: elfxx-mips.c:10298
+msgid "Cannot convert a jump to JALX for a non-word-aligned address"
+msgstr "Ðеможливо перетворити перехід на JALX Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑи, Ñку не вирівнÑно на межу Ñлова"
-#: elfxx-mips.c:13266
-#, c-format
-msgid "%s: illegal section name `%s'"
-msgstr "%s: некоректна назва розділу, «%s»"
+#: elfxx-mips.c:10301
+msgid "Jump to a non-word-aligned address"
+msgstr "Перехід до не вирівнÑної за Ñловом адреÑи"
-#: elfxx-mips.c:13645 elfxx-mips.c:13671
-msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "ПопередженнÑ: у %B викориÑтано -msingle-float, а у %B — -mdouble-float"
+#: elfxx-mips.c:10302
+msgid "Jump to a non-instruction-aligned address"
+msgstr "JALX до не вирівнÑної за інÑтрукцією адреÑи"
-#: elfxx-mips.c:13657 elfxx-mips.c:13713
-msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "ПопередженнÑ: у %B викориÑтано -msingle-float, а у %B — -mips32r2 -mfp64"
+#: elfxx-mips.c:10305
+msgid "Cannot convert a branch to JALX for a non-word-aligned address"
+msgstr "Ðеможливо перетворити Ñ€Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð½Ð° JALX Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑи, Ñку не вирівнÑно на межу Ñлова"
-#: elfxx-mips.c:13683 elfxx-mips.c:13719
-msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "ПопередженнÑ: у %B викориÑтано -mdouble-float, а у %B — -mips32r2 -mfp64"
+#: elfxx-mips.c:10307
+msgid "Branch to a non-instruction-aligned address"
+msgstr "Ð Ð¾Ð·Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ Ð´Ð¾ не вирівнÑної за інÑтрукцією адреÑи"
-#: elfxx-mips.c:13761
-msgid "%B: endianness incompatible with that of the selected emulation"
-msgstr "%B: порÑдок байтів Ñ” неÑуміÑним з порÑдком байтів вибраної емулÑції"
+#: elfxx-mips.c:10309
+msgid "PC-relative load from unaligned address"
+msgstr "Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñно PC з невирівнÑної адреÑи"
-#: elfxx-mips.c:13772
-msgid "%B: ABI is incompatible with that of the selected emulation"
-msgstr "%B: ABI Ñ” неÑуміÑним з ABI вибраної емулÑції"
+#: elfxx-mips.c:10683 elfxx-mips.c:11251
+#, c-format
+msgid "%B: `%A' offset of %ld from `%A' beyond the range of ADDIUPC"
+msgstr "%B: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Â«%A» %ld з «%A» перебуває поза межами діапазону ADDIUPC"
-#: elfxx-mips.c:13856
+#: elfxx-mips.c:14174
+#, c-format
+msgid "%B: Unknown architecture %s"
+msgstr "%B: невідома архітектура %s"
+
+#: elfxx-mips.c:14704
+#, c-format
+msgid "%B: illegal section name `%A'"
+msgstr "%B: некоректна назва розділу, «%A»"
+
+#: elfxx-mips.c:14981
msgid "%B: warning: linking abicalls files with non-abicalls files"
msgstr "%B: попередженнÑ: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² abicalls з файлами без abicalls"
-#: elfxx-mips.c:13873
+#: elfxx-mips.c:14998
msgid "%B: linking 32-bit code with 64-bit code"
msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ 32-бітового коду з 64-бітовим кодом"
-#: elfxx-mips.c:13901
+#: elfxx-mips.c:15030 elfxx-mips.c:15096 elfxx-mips.c:15111
+#, c-format
msgid "%B: linking %s module with previous %s modules"
msgstr "%B: компонуємо модуль %s з попередніми модулÑми %s"
-#: elfxx-mips.c:13924
+#: elfxx-mips.c:15054
+#, c-format
msgid "%B: ABI mismatch: linking %s module with previous %s modules"
msgstr "%B: невідповідніÑÑ‚ÑŒ ABI: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ %s з попередніми модулÑми %s"
-#: elfxx-mips.c:13948
+#: elfxx-mips.c:15079
+#, c-format
msgid "%B: ASE mismatch: linking %s module with previous %s modules"
msgstr "%B: невідповідніÑÑ‚ÑŒ ASE: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ %s з попередніми модулÑми %s"
-#: elfxx-mips.c:14106
+#: elfxx-mips.c:15214
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses unknown floating point ABI %d"
+msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI роботи з чиÑлами з рухомою крапкою, %d, (вÑтановлено %B), а %B викориÑтовує невідомий ABI Ð´Ð»Ñ Ñ‡Ð¸Ñел з рухомою крапкою, %d"
+
+#: elfxx-mips.c:15220
+#, c-format
+msgid "Warning: %B uses unknown floating point ABI %d (set by %B), %B uses %s"
+msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI роботи з чиÑлами з рухомою крапкою, %d, (вÑтановлено %B), а %B викориÑтовує %s"
+
+#: elfxx-mips.c:15226
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown floating point ABI %d"
+msgstr "ПопередженнÑ: %B викориÑтовує %s (вÑтановлено %B), а %B викориÑтовує невідомий ABI Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з чиÑлами з рухомою крапкою, %d"
+
+#: elfxx-mips.c:15240
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses %s"
+msgstr "ПопередженнÑ: %B викориÑтовує %s (вÑтановлено %B), а %B викориÑтовує %s"
+
+#: elfxx-mips.c:15259
+#, c-format
+msgid "Warning: %B uses %s (set by %B), %B uses unknown MSA ABI %d"
+msgstr "ПопередженнÑ: %B викориÑтовує %s (вÑтановлено %B), а %B викориÑтовує невідомий ABI MSA, %d"
+
+#: elfxx-mips.c:15271
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses %s"
+msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI MSA, %d, (вÑтановлено %B), а %B викориÑтовує %s"
+
+#: elfxx-mips.c:15280
+#, c-format
+msgid "Warning: %B uses unknown MSA ABI %d (set by %B), %B uses unknown MSA ABI %d"
+msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI MSA %d (вÑтановлено %B), а %B викориÑтовує невідомий ABI MSA, %d"
+
+#: elfxx-mips.c:15342
+msgid "%B: endianness incompatible with that of the selected emulation"
+msgstr "%B: порÑдок байтів Ñ” неÑуміÑним з порÑдком байтів вибраної емулÑції"
+
+#: elfxx-mips.c:15356
+msgid "%B: ABI is incompatible with that of the selected emulation"
+msgstr "%B: ABI Ñ” неÑуміÑним з ABI вибраної емулÑції"
+
+#: elfxx-mips.c:15408
+msgid "%B: warning: Inconsistent ISA between e_flags and .MIPS.abiflags"
+msgstr "%B: попередженнÑ: неÑуміÑніÑÑ‚ÑŒ ISA між e_flags Ñ– .MIPS.abiflags"
+
+#: elfxx-mips.c:15413
+msgid "%B: warning: Inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
+msgstr "%B: попередженнÑ: неÑуміÑніÑÑ‚ÑŒ ABI FP між .gnu.attributes Ñ– .MIPS.abiflags"
+
+#: elfxx-mips.c:15417
+msgid "%B: warning: Inconsistent ASEs between e_flags and .MIPS.abiflags"
+msgstr "%B: попередженнÑ: неÑуміÑніÑÑ‚ÑŒ ASE між e_flags Ñ– .MIPS.abiflags"
+
+#: elfxx-mips.c:15424
+msgid "%B: warning: Inconsistent ISA extensions between e_flags and .MIPS.abiflags"
+msgstr "%B: попередженнÑ: неÑуміÑніÑÑ‚ÑŒ розширень ISA між e_flags Ñ– .MIPS.abiflags"
+
+#: elfxx-mips.c:15428
+msgid "%B: warning: Unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
+msgstr "%B: попередженнÑ: неочікуваний прапорець у полі flags2 .MIPS.abiflags (0x%lx)"
+
+#: elfxx-mips.c:15617
+msgid "-mips32r2 -mfp64 (12 callee-saved)"
+msgstr "-mips32r2 -mfp64 (12 безпечних Ð´Ð»Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² регіÑтрів)"
+
+#: elfxx-mips.c:15667 elfxx-mips.c:15678
+msgid "None"
+msgstr "Ðемає"
+
+#: elfxx-mips.c:15669 elfxx-mips.c:15741
+msgid "Unknown"
+msgstr "Ðевідомий"
+
+#: elfxx-mips.c:15752
+#, c-format
+msgid "Hard or soft float\n"
+msgstr "Ðпаратна або програмна рухома крапка\n"
+
+#: elfxx-mips.c:15755
+#, c-format
+msgid "Hard float (double precision)\n"
+msgstr "Ðпаратна рухома крапка (подвійна точніÑÑ‚ÑŒ)\n"
+
+#: elfxx-mips.c:15758
+#, c-format
+msgid "Hard float (single precision)\n"
+msgstr "Ðпаратна рухома крапка (одинарна точніÑÑ‚ÑŒ)\n"
+
+#: elfxx-mips.c:15761
+#, c-format
+msgid "Soft float\n"
+msgstr "Програма рухома крапка\n"
+
+#: elfxx-mips.c:15764
+#, c-format
+msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
+msgstr "Ðпаратна рухома крапка (64-бітовий ÑпівпроцеÑор MIPS32r2, 12 безпечних Ð´Ð»Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ–Ð² регіÑтрів)\n"
+
+#: elfxx-mips.c:15767
+#, c-format
+msgid "Hard float (32-bit CPU, Any FPU)\n"
+msgstr "Ðпаратна рухома крапка (32-бітовий процеÑор, будь-Ñкий FPU)\n"
+
+#: elfxx-mips.c:15770
+#, c-format
+msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
+msgstr "Ðпаратна рухома крапка (32-бітовий процеÑор, 64-бітовий FPU)\n"
+
+#: elfxx-mips.c:15773
+#, c-format
+msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
+msgstr "СуміÑніÑÑ‚ÑŒ апаратної рухомої крапки (32-бітовий процеÑор, 64-бітовий FPU)\n"
+
+#: elfxx-mips.c:15805
#, c-format
msgid " [abi=O32]"
msgstr " [abi=O32]"
-#: elfxx-mips.c:14108
+#: elfxx-mips.c:15807
#, c-format
msgid " [abi=O64]"
msgstr " [abi=O64]"
-#: elfxx-mips.c:14110
+#: elfxx-mips.c:15809
#, c-format
msgid " [abi=EABI32]"
msgstr " [abi=EABI32]"
-#: elfxx-mips.c:14112
+#: elfxx-mips.c:15811
#, c-format
msgid " [abi=EABI64]"
msgstr " [abi=EABI64]"
-#: elfxx-mips.c:14114
+#: elfxx-mips.c:15813
#, c-format
msgid " [abi unknown]"
msgstr " [невідомий abi]"
-#: elfxx-mips.c:14116
+#: elfxx-mips.c:15815
#, c-format
msgid " [abi=N32]"
msgstr " [abi=N32]"
-#: elfxx-mips.c:14118
+#: elfxx-mips.c:15817
#, c-format
msgid " [abi=64]"
msgstr " [abi=64]"
-#: elfxx-mips.c:14120
+#: elfxx-mips.c:15819
#, c-format
msgid " [no abi set]"
msgstr " [не вÑтановлено abi]"
-#: elfxx-mips.c:14141
+#: elfxx-mips.c:15844
#, c-format
msgid " [unknown ISA]"
msgstr " [невідомий ISA]"
-#: elfxx-mips.c:14155
+#: elfxx-mips.c:15864
#, c-format
msgid " [not 32bitmode]"
msgstr " [не 32-біт.режим]"
-#: elfxx-sparc.c:596
+#: elfxx-riscv.c:948
+#, c-format
+msgid "unrecognized relocation (0x%x)"
+msgstr "нерозпізнане переÑÑƒÐ²Ð°Ð½Ð½Ñ (0x%x)"
+
+#: elfxx-sparc.c:639
#, c-format
msgid "invalid relocation type %d"
msgstr "некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
-#: elfxx-tilegx.c:3952
+#: elfxx-sparc.c:3301
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5002
+#, c-format
+msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу STT_GNU_IFUNC «%s» не оброблÑєтьÑÑ %s"
+
+#: elfxx-tilegx.c:4436
+#, c-format
msgid "%B: Cannot link together %s and %s objects."
msgstr "%B: не вдалоÑÑ Ñкомпонувати об’єкти %s та %s."
-#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
+#: i386linux.c:416 m68klinux.c:419 sparclinux.c:412
#, c-format
msgid "Output file requires shared library `%s'\n"
msgstr "Файлу-результату потрібна бібліотека Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Â«%s»\n"
-#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
+#: i386linux.c:424 m68klinux.c:428 sparclinux.c:421
#, c-format
msgid "Output file requires shared library `%s.so.%s'\n"
msgstr "Файлу-результату потрібна бібліотека Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Â«%s.so.%s»\n"
-#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
-#: sparclinux.c:648 sparclinux.c:698
+#: i386linux.c:611 i386linux.c:661 m68klinux.c:617 m68klinux.c:665
+#: sparclinux.c:608 sparclinux.c:658
#, c-format
msgid "Symbol %s not defined for fixups\n"
msgstr "Символ %s не визначено Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑних прив’Ñзок\n"
-#: i386linux.c:722 m68klinux.c:728 sparclinux.c:722
+#: i386linux.c:685 m68klinux.c:689 sparclinux.c:682
msgid "Warning: fixup count mismatch\n"
msgstr "ПопередженнÑ: невідповідніÑÑ‚ÑŒ кількоÑÑ‚Ñ– адреÑних прив’Ñзок\n"
#: ieee.c:159
#, c-format
-msgid "%s: string too long (%d chars, max 65535)"
-msgstr "%s: занадто довгий Ñ€Ñдок (%d Ñимволів, макÑ. к-Ñ‚ÑŒ — 65535)"
+msgid "%B: string too long (%d chars, max 65535)"
+msgstr "%B: занадто довгий Ñ€Ñдок (%d Ñимволів, макÑ. к-Ñ‚ÑŒ — 65535)"
+
+#: ieee.c:226
+#, c-format
+msgid "IEEE parser: string length: %#lx longer than buffer: %#lx"
+msgstr "обробник IEEE: довжина Ñ€Ñдка: %#lx довший за буфер: %#lx"
-#: ieee.c:286
+#: ieee.c:302
#, c-format
-msgid "%s: unrecognized symbol `%s' flags 0x%x"
-msgstr "%s: нерозпізнані прапорці Ñимволу «%s», 0x%x"
+msgid "%B: unrecognized symbol `%s' flags 0x%x"
+msgstr "%B: нерозпізнані прапорці Ñимволу «%s», 0x%x"
-#: ieee.c:792
+#: ieee.c:837
+#, c-format
msgid "%B: unimplemented ATI record %u for symbol %u"
msgstr "%B: нереалізований Ð·Ð°Ð¿Ð¸Ñ ATI, %u, Ð´Ð»Ñ Ñимволу %u"
-#: ieee.c:816
+#: ieee.c:862
+#, c-format
msgid "%B: unexpected ATN type %d in external part"
msgstr "%B: неочікуваний тип ATN, %d, у зовнішній чаÑтині"
-#: ieee.c:838
+#: ieee.c:884
msgid "%B: unexpected type after ATN"
msgstr "%B: неочікуваний тип піÑÐ»Ñ ATN"
#: ihex.c:230
+#, c-format
msgid "%B:%d: unexpected character `%s' in Intel Hex file"
msgstr "%B:%d: неочікуваний Ñимвол «%s» у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:337
+#: ihex.c:338
+#, c-format
msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"
msgstr "%B:%u: помилкова контрольна Ñума у шіÑтнадцÑтковому файлі Intel (очікувалоÑÑ %u, виÑвлено %u)"
-#: ihex.c:392
+#: ihex.c:394
+#, c-format
msgid "%B:%u: bad extended address record length in Intel Hex file"
msgstr "%B:%u: помилкова довжина запиÑу розширеної адреÑи у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:409
+#: ihex.c:412
+#, c-format
msgid "%B:%u: bad extended start address length in Intel Hex file"
msgstr "%B:%u: помилкова довжина розширеної початкової адреÑи у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:426
+#: ihex.c:430
+#, c-format
msgid "%B:%u: bad extended linear address record length in Intel Hex file"
msgstr "%B:%u: помилкова довжина запиÑу розширеної лінійної адреÑи у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:443
+#: ihex.c:448
+#, c-format
msgid "%B:%u: bad extended linear start address length in Intel Hex file"
msgstr "%B:%u: помилкова довжина розширеної лінійної початкової адреÑи у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:460
+#: ihex.c:466
+#, c-format
msgid "%B:%u: unrecognized ihex type %u in Intel Hex file"
msgstr "%B:%u: невідомий тип ihex %u у шіÑтнадцÑтковому файлі Intel"
-#: ihex.c:579
+#: ihex.c:585
msgid "%B: internal error in ihex_read_section"
msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° у ihex_read_section"
-#: ihex.c:613
+#: ihex.c:619
msgid "%B: bad section length in ihex_read_section"
msgstr "%B: помилкова довжина розділу у ihex_read_section"
-#: ihex.c:826
+#: ihex.c:833
#, c-format
-msgid "%s: address 0x%s out of range for Intel Hex file"
-msgstr "%s: адреÑа 0x%s перебуває за межами шіÑтнадцÑткового файла Intel"
+msgid "%B: address 0x%s out of range for Intel Hex file"
+msgstr "%B: адреÑа 0x%s перебуває за межами шіÑтнадцÑткового файла Intel"
-#: libbfd.c:863
+#: libbfd.c:799
+#, c-format
msgid "%B: unable to get decompressed section %A"
msgstr "%B: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розпакований розділ %A"
-#: libbfd.c:1012
-msgid "%B: compiled for a big endian system and target is little endian"
-msgstr "%B: зібрано Ð´Ð»Ñ ÑиÑтеми з прÑмим порÑдком байтів, а призначеннÑм Ñ” ÑиÑтема зі зворотним порÑдком байтів"
-
-#: libbfd.c:1014
-msgid "%B: compiled for a little endian system and target is big endian"
-msgstr "%B: зібрано Ð´Ð»Ñ ÑиÑтеми зі зворотним порÑдком байтів, а призначеннÑм Ñ” ÑиÑтема зі прÑмим порÑдком байтів"
-
-#: libbfd.c:1043
+#: libbfd.c:963
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr "Викликано заÑтарілу %s у %s, Ñ€Ñдок %d у %s\n"
-#: libbfd.c:1046
+#: libbfd.c:966
#, c-format
msgid "Deprecated %s called\n"
msgstr "Викликано заÑтарілу %s\n"
-#: linker.c:1872
+#: linker.c:1669
+#, c-format
msgid "%B: indirect symbol `%s' to `%s' is a loop"
msgstr "%B: опоÑередкований Ñимвол «%s» Ð´Ð»Ñ Â«%s» Ñ” циклом"
-#: linker.c:2736
+#: linker.c:2539
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
msgstr "Спроба ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð²â€™Ñзку переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð· вхідним %s Ñ– вихідним %s"
-#: linker.c:3021
+#: linker.c:2825
+#, c-format
msgid "%B: ignoring duplicate section `%A'\n"
msgstr "%B: ігноруємо дублікат розділу «%A»\n"
-#: linker.c:3030 linker.c:3039
+#: linker.c:2835 linker.c:2845
+#, c-format
msgid "%B: duplicate section `%A' has different size\n"
msgstr "%B: дублікат розділу «%A» має інший розмір\n"
-#: linker.c:3047 linker.c:3052
+#: linker.c:2854 linker.c:2860
+#, c-format
msgid "%B: could not read contents of section `%A'\n"
msgstr "%B: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ вміÑÑ‚ розділу «%A»\n"
-#: linker.c:3056
+#: linker.c:2865
+#, c-format
msgid "%B: duplicate section `%A' has different contents\n"
msgstr "%B: дублікат розділу «%A» має інший вміÑÑ‚\n"
-#: mach-o.c:407
+#: linker.c:3353
+msgid "%B: compiled for a big endian system and target is little endian"
+msgstr "%B: зібрано Ð´Ð»Ñ ÑиÑтеми з прÑмим порÑдком байтів, а призначеннÑм Ñ” ÑиÑтема зі зворотним порÑдком байтів"
+
+#: linker.c:3356
+msgid "%B: compiled for a little endian system and target is big endian"
+msgstr "%B: зібрано Ð´Ð»Ñ ÑиÑтеми зі зворотним порÑдком байтів, а призначеннÑм Ñ” ÑиÑтема зі прÑмим порÑдком байтів"
+
+#: mach-o.c:779
msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
msgstr "bfd_mach_o_canonicalize_symtab: не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñимволи"
-#: mach-o.c:1301
+#: mach-o.c:1981
+msgid "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab commands."
+msgstr "вибечте, modtab, toc та extrefsyms Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ dysymtab у поточній верÑÑ–Ñ— ще не реалізовано."
+
+#: mach-o.c:2424
+#, c-format
+msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
+msgstr "mach-o: надто багато розділів (%u), макÑимальна кількіÑÑ‚ÑŒ розділів дорівнює 255,\n"
+
+#: mach-o.c:2531
+#, c-format
+msgid "unable to allocate data for load command 0x%lx"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити дані Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ 0x%lx"
+
+#: mach-o.c:2636
#, c-format
msgid "unable to write unknown load command 0x%lx"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати невідому команду завантаженнÑ, 0x%lx"
-#: mach-o.c:1789
+#: mach-o.c:2820
+#, c-format
+msgid "section address (%lx) below start of segment (%lx)"
+msgstr "адреÑа розділу (%lx) нижче за початок Ñегмента (%lx)"
+
+#: mach-o.c:2961
+#, c-format
+msgid "unable to layout unknown load command 0x%lx"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ñ‚Ð¸ невідому команду завантаженнÑ, 0x%lx"
+
+#: mach-o.c:3497
+#, c-format
+msgid "bfd_mach_o_read_section_32: overlarge alignment value: 0x%x, using 32 instead"
+msgstr "bfd_mach_o_read_section_32: надто велике Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ: 0x%x, викориÑтовуємо заміÑÑ‚ÑŒ нього 32"
+
+#: mach-o.c:3540
+#, c-format
+msgid "bfd_mach_o_read_section_64: overlarge alignment value: 0x%x, using 32 instead"
+msgstr "bfd_mach_o_read_section_64: надто велике Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ: 0x%x, викориÑтовуємо заміÑÑ‚ÑŒ нього 32"
+
+#: mach-o.c:3591
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
msgstr "bfd_mach_o_read_symtab_symbol: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %d байтів у %lu"
-#: mach-o.c:1807
+#: mach-o.c:3610
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %lu)"
msgstr "bfd_mach_o_read_symtab_symbol: назва за межами доÑтупного діапазону (%lu >= %lu)"
-#: mach-o.c:1892
+#: mach-o.c:3693
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
msgstr "bfd_mach_o_read_symtab_symbol: Ñимвол «%s» визначає некоректний розділ %d (max %lu): вÑтановлюємо у невизначене значеннÑ"
-#: mach-o.c:1900
-#, c-format
-msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: Ñимвол «%s» Ñ” непідтримуваним поÑиланнÑм «indirect»: вÑтановлюємо у невизначене значеннÑ"
-
-#: mach-o.c:1906
+#: mach-o.c:3712
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
msgstr "bfd_mach_o_read_symtab_symbol: Ñимвол «%s» визначає некоректний тип Ð¿Ð¾Ð»Ñ 0x%x: вÑтановлюємо у невизначене значеннÑ"
-#: mach-o.c:1979
+#: mach-o.c:3786
msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
msgstr "bfd_mach_o_read_symtab_symbols: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ облаÑÑ‚ÑŒ пам’ÑÑ‚Ñ– Ð´Ð»Ñ Ñимволів"
-#: mach-o.c:2014
-#, c-format
-msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
-msgstr "bfd_mach_o_read_dysymtab_symbol: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %lu байтів з %lu"
-
-#: mach-o.c:2734
-#, c-format
-msgid "unable to read unknown load command 0x%lx"
-msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ невідому команду завантаженнÑ, 0x%lx"
+#: mach-o.c:4759
+msgid "%B: unknown load command 0x%lx"
+msgstr "%B: невідома команда завантаженнÑ, 0x%lx"
-#: mach-o.c:2915
+#: mach-o.c:4950
#, c-format
msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
msgstr "bfd_mach_o_scan: невідома архітектура, 0x%lx/0x%lx"
-#: mach-o.c:3011
+#: mach-o.c:5055
#, c-format
msgid "unknown header byte-order value 0x%lx"
msgstr "невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€Ñдку байтів у заголовку, 0x%lx"
-#: mach-o.c:3577
-msgid "Mach-O header:\n"
-msgstr "заголовок Mach-O:\n"
-
-#: mach-o.c:3578
-#, c-format
-msgid " magic : %08lx\n"
-msgstr " magic : %08lx\n"
-
-#: mach-o.c:3579
-#, c-format
-msgid " cputype : %08lx (%s)\n"
-msgstr " тип проц. : %08lx (%s)\n"
-
-#: mach-o.c:3581
-#, c-format
-msgid " cpusubtype: %08lx\n"
-msgstr " підтип проц.: %08lx\n"
-
-#: mach-o.c:3582
-#, c-format
-msgid " filetype : %08lx (%s)\n"
-msgstr " тип файла : %08lx (%s)\n"
-
-#: mach-o.c:3585
-#, c-format
-msgid " ncmds : %08lx (%lu)\n"
-msgstr " кть_команд: %08lx (%lu)\n"
-
-#: mach-o.c:3586
+#: merge.c:864
#, c-format
-msgid " sizeofcmds: %08lx\n"
-msgstr " розмір_кмд: %08lx\n"
+msgid "%B: access beyond end of merged section (%ld)"
+msgstr "%B: доÑтуп за кінцем об’єднаного розділу (%ld)"
-#: mach-o.c:3587
+#: mmo.c:468
#, c-format
-msgid " flags : %08lx ("
-msgstr " прапорці : %08lx ("
+msgid "%B: No core to allocate section name %s\n"
+msgstr "%B: немає оÑнови Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ð·Ð²Ð¸ розділу %s\n"
-#: mach-o.c:3589 vms-alpha.c:7674
-msgid ")\n"
-msgstr ")\n"
-
-#: mach-o.c:3590
-#, c-format
-msgid " reserved : %08x\n"
-msgstr " зарезерв. : %08x\n"
-
-#: mach-o.c:3600
-msgid "Segments and Sections:\n"
-msgstr "Сегменти і розділи:\n"
-
-#: mach-o.c:3601
-msgid " #: Segment name Section name Address\n"
-msgstr " #: Ðазва Ñегмента Ðазва розділу ÐдреÑа\n"
-
-#: merge.c:832
-#, c-format
-msgid "%s: access beyond end of merged section (%ld)"
-msgstr "%s: доÑтуп за кінцем об’єднаного розділу (%ld)"
-
-#: mmo.c:456
+#: mmo.c:544
#, c-format
-msgid "%s: No core to allocate section name %s\n"
-msgstr "%s: немає оÑнови Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ð·Ð²Ð¸ розділу %s\n"
+msgid "%B: No core to allocate a symbol %d bytes long\n"
+msgstr "%B: немає оÑнови Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñимволу довжиною %d байтів\n"
-#: mmo.c:531
+#: mmo.c:958
#, c-format
-msgid "%s: No core to allocate a symbol %d bytes long\n"
-msgstr "%s: немає оÑнови Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñимволу довжиною %d байтів\n"
+msgid "%B: attempt to emit contents at non-multiple-of-4 address 0x%lx\n"
+msgstr "%B: Ñпроба надіÑлати дані на некратну до 4 адреÑу 0x%lx\n"
-#: mmo.c:1187
-#, c-format
-msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%s: некоректний файл mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ $255 не дорівнює «Main»\n"
+#: mmo.c:1255
+msgid "%B: invalid mmo file: initialization value for $255 is not `Main'\n"
+msgstr "%B: некоректний файл mmo: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ð´Ð»Ñ $255 не дорівнює «Main»\n"
-#: mmo.c:1332
+#: mmo.c:1402
#, c-format
-msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%s: непідтримувана широка поÑлідовніÑÑ‚ÑŒ Ñимволів 0x%02X 0x%02X піÑÐ»Ñ Ð½Ð°Ð·Ð²Ð¸ Ñимволу, починаючи з «%s»\n"
+msgid "%B: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
+msgstr "%B: непідтримувана широка поÑлідовніÑÑ‚ÑŒ Ñимволів 0x%02X 0x%02X піÑÐ»Ñ Ð½Ð°Ð·Ð²Ð¸ Ñимволу, починаючи з «%s»\n"
-#: mmo.c:1565
+#: mmo.c:1636
#, c-format
-msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%s: некоректний файл mmo: непідтримуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ lopcode, «%d»\n"
+msgid "%B: invalid mmo file: unsupported lopcode `%d'\n"
+msgstr "%B: некоректний файл mmo: непідтримуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ lopcode, «%d»\n"
-#: mmo.c:1575
+#: mmo.c:1647
#, c-format
-msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
-msgstr "%s: некоректний файл mmo: очікувалоÑÑ YZ = 1, отримано YZ = %d Ð´Ð»Ñ lop_quote\n"
+msgid "%B: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
+msgstr "%B: некоректний файл mmo: очікувалоÑÑ YZ = 1, отримано YZ = %d Ð´Ð»Ñ lop_quote\n"
-#: mmo.c:1611
+#: mmo.c:1685
#, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
-msgstr "%s: некоректний файл mmo: очікувалоÑÑ z = 1 або z = 2, отримано z = %d Ð´Ð»Ñ lop_loc\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
+msgstr "%B: некоректний файл mmo: очікувалоÑÑ z = 1 або z = 2, отримано z = %d Ð´Ð»Ñ lop_loc\n"
-#: mmo.c:1657
+#: mmo.c:1736
#, c-format
-msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%s: некоректний файл mmo: очікувалоÑÑ z = 1 або z = 2, отримано z = %d Ð´Ð»Ñ lop_fixo\n"
+msgid "%B: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
+msgstr "%B: некоректний файл mmo: очікувалоÑÑ z = 1 або z = 2, отримано z = %d Ð´Ð»Ñ lop_fixo\n"
-#: mmo.c:1696
+#: mmo.c:1777
#, c-format
-msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
-msgstr "%s: некоректний файл mmo: очікувалоÑÑ y=0, отримано y = %d Ð´Ð»Ñ lop_fixrx\n"
+msgid "%B: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
+msgstr "%B: некоректний файл mmo: очікувалоÑÑ y=0, отримано y = %d Ð´Ð»Ñ lop_fixrx\n"
-#: mmo.c:1705
+#: mmo.c:1788
#, c-format
-msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
-msgstr "%s: некоректний файл mmo: очікувалоÑÑ z = 16 або z = 24, отримано z = %d Ð´Ð»Ñ lop_fixrx\n"
+msgid "%B: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
+msgstr "%B: некоректний файл mmo: очікувалоÑÑ z = 16 або z = 24, отримано z = %d Ð´Ð»Ñ lop_fixrx\n"
-#: mmo.c:1728
+#: mmo.c:1813
#, c-format
-msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
-msgstr "%s: некоректний файл mmo: початковим байтом Ñлова оператора має бути 0 або 1, отримано ж %d Ð´Ð»Ñ lop_fixrx\n"
+msgid "%B: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n"
+msgstr "%B: некоректний файл mmo: початковим байтом Ñлова оператора має бути 0 або 1, отримано ж %d Ð´Ð»Ñ lop_fixrx\n"
-#: mmo.c:1751
+#: mmo.c:1838
#, c-format
-msgid "%s: cannot allocate file name for file number %d, %d bytes\n"
-msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити назву файла Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° з номером %d, %d байтів\n"
+msgid "%B: cannot allocate file name for file number %d, %d bytes\n"
+msgstr "%B: не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити назву файла Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° з номером %d, %d байтів\n"
-#: mmo.c:1771
+#: mmo.c:1860
#, c-format
-msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%s: некоректний файл mmo: номер файла %d, «%s», уже здійÑнено вхід Ñк у «%s»\n"
+msgid "%B: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
+msgstr "%B: некоректний файл mmo: номер файла %d, «%s», уже здійÑнено вхід Ñк у «%s»\n"
-#: mmo.c:1784
+#: mmo.c:1874
#, c-format
-msgid "%s: invalid mmo file: file name for number %d was not specified before use\n"
-msgstr "%s: некоректний файл mmo: назву файла Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° %d не було вказано до викориÑтаннÑ\n"
+msgid "%B: invalid mmo file: file name for number %d was not specified before use\n"
+msgstr "%B: некоректний файл mmo: назву файла Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° %d не було вказано до викориÑтаннÑ\n"
-#: mmo.c:1890
+#: mmo.c:1981
#, c-format
-msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
-msgstr "%s: некоректний файл mmo: Ð¿Ð¾Ð»Ñ y Ñ– z lop_stab Ñ” ненульовими, y: %d, z: %d\n"
+msgid "%B: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
+msgstr "%B: некоректний файл mmo: Ð¿Ð¾Ð»Ñ y Ñ– z lop_stab Ñ” ненульовими, y: %d, z: %d\n"
-#: mmo.c:1926
+#: mmo.c:2018
#, c-format
-msgid "%s: invalid mmo file: lop_end not last item in file\n"
-msgstr "%s: некоректний файл mmo: lop_end не Ñ” оÑтаннім запиÑом у файлі\n"
+msgid "%B: invalid mmo file: lop_end not last item in file\n"
+msgstr "%B: некоректний файл mmo: lop_end не Ñ” оÑтаннім запиÑом у файлі\n"
-#: mmo.c:1939
+#: mmo.c:2032
#, c-format
-msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
-msgstr "%s: некоректний файл mmo: YZ lop_end (%ld) не дорівнює кількоÑÑ‚Ñ– тетрад до попереднього lop_stab (%ld)\n"
+msgid "%B: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n"
+msgstr "%B: некоректний файл mmo: YZ lop_end (%ld) не дорівнює кількоÑÑ‚Ñ– тетрад до попереднього lop_stab (%ld)\n"
-#: mmo.c:2649
+#: mmo.c:2743
#, c-format
-msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%s: некоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñимволу «%s»\n"
+msgid "%B: invalid symbol table: duplicate symbol `%s'\n"
+msgstr "%B: некоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñимволу «%s»\n"
-#: mmo.c:2889
+#: mmo.c:2986
#, c-format
-msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%s: помилкове Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу: «Main» вÑтановлено у %s, а не у початкову адреÑу %s\n"
+msgid "%B: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
+msgstr "%B: помилкове Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу: «Main» вÑтановлено у %s, а не у початкову адреÑу %s\n"
-#: mmo.c:2981
+#: mmo.c:3085
#, c-format
-msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
-msgstr "%s: попередженнÑ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів Ñ” надто великою Ð´Ð»Ñ mmo, Ñ—Ñ— розмір перевищує 65535 32-бітових Ñлова: %d. Буде випущено лише «Main».\n"
+msgid "%B: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
+msgstr "%B: попередженнÑ: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів Ñ” надто великою Ð´Ð»Ñ mmo, Ñ—Ñ— розмір перевищує 65535 32-бітових Ñлова: %d. Буде випущено лише «Main».\n"
-#: mmo.c:3026
+#: mmo.c:3131
#, c-format
-msgid "%s: internal error, symbol table changed size from %d to %d words\n"
-msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, змінено розмір таблиці Ñимволів з %d до %d Ñлів\n"
+msgid "%B: internal error, symbol table changed size from %d to %d words\n"
+msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, змінено розмір таблиці Ñимволів з %d до %d Ñлів\n"
-#: mmo.c:3078
+#: mmo.c:3184
#, c-format
-msgid "%s: internal error, internal register section %s had contents\n"
-msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, внутрішній розділ регіÑтрів, %s, міÑтив дані\n"
+msgid "%B: internal error, internal register section %A had contents\n"
+msgstr "%B: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, внутрішній розділ регіÑтрів, %A, міÑтив дані\n"
-#: mmo.c:3129
-#, c-format
-msgid "%s: no initialized registers; section length 0\n"
-msgstr "%s: немає ініціалізованих регіÑтрів, довжина розділу дорівнює 0\n"
+#: mmo.c:3235
+msgid "%B: no initialized registers; section length 0\n"
+msgstr "%B: немає ініціалізованих регіÑтрів, довжина розділу дорівнює 0\n"
-#: mmo.c:3135
+#: mmo.c:3242
#, c-format
-msgid "%s: too many initialized registers; section length %ld\n"
-msgstr "%s: занадто багато ініціалізованих регіÑтрів; довжина розділу — %ld\n"
+msgid "%B: too many initialized registers; section length %ld\n"
+msgstr "%B: занадто багато ініціалізованих регіÑтрів; довжина розділу — %ld\n"
-#: mmo.c:3140
+#: mmo.c:3247
#, c-format
-msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
-msgstr "%s: некоректна початкова адреÑа Ð´Ð»Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… регіÑтрів довжини %ld: 0x%lx%08lx\n"
+msgid "%B: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n"
+msgstr "%B: некоректна початкова адреÑа Ð´Ð»Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… регіÑтрів довжини %ld: 0x%lx%08lx\n"
-#: oasys.c:882
+#: oasys.c:881
#, c-format
-msgid "%s: can not represent section `%s' in oasys"
-msgstr "%s: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%s» у форматі oasys неможливе"
+msgid "%B: can not represent section `%A' in oasys"
+msgstr "%B: Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ «%A» у форматі oasys неможливе"
-#: osf-core.c:140
+#: osf-core.c:127
#, c-format
msgid "Unhandled OSF/1 core file section type %d\n"
msgstr "Ðепридатни до обробки тип розділу файла core OSF/1, %d\n"
-#: pe-mips.c:607
+#: pe-mips.c:609
msgid "%B: `ld -r' not supported with PE MIPS objects\n"
msgstr "%B: підтримки «ld -r» з об’єктами PE MIPS не передбачено\n"
@@ -3668,73 +5632,122 @@ msgstr "%B: підтримки «ld -r» з об’єктами PE MIPS не пÐ
#. src = VMA of the memory we're fixing up
#. mem = pointer to memory we're fixing up
#. val = VMA of what we need to refer to.
-#: pe-mips.c:719
+#: pe-mips.c:720
+#, c-format
msgid "%B: unimplemented %s\n"
msgstr "%B: нереалізований %s\n"
-#: pe-mips.c:745
+#: pe-mips.c:746
msgid "%B: jump too far away\n"
msgstr "%B: занадто далекий перехід\n"
-#: pe-mips.c:771
+#: pe-mips.c:772
msgid "%B: bad pair/reflo after refhi\n"
msgstr "%B: помилкове pair/reflo піÑÐ»Ñ refhi\n"
-#: pef.c:520
+#: pef.c:526
#, c-format
msgid "bfd_pef_scan: unknown architecture 0x%lx"
msgstr "bfd_pef_scan: невідома архітектура, 0x%lx"
-#: pei-x86_64.c:444
+#. PR 17512: file: 2245-7442-0.004.
+#: pei-x86_64.c:281
#, c-format
-msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
-msgstr "попередженнÑ: розмір розділу .pdata (%ld) не Ñ” кратним до %d\n"
+msgid "Unknown: %x"
+msgstr "Ðевідомий: %x"
-#: pei-x86_64.c:448 peigen.c:1618 peigen.c:1801 pepigen.c:1618 pepigen.c:1801
-#: pex64igen.c:1618 pex64igen.c:1801
+#: pei-x86_64.c:331
+#, c-format
+msgid "warning: xdata section corrupt\n"
+msgstr "попередженнÑ: пошкоджено розділ xdata\n"
+
+#: pei-x86_64.c:341
+#, c-format
+msgid "warning: xdata section corrupt"
+msgstr "попередженнÑ: пошкоджено розділ xdata"
+
+#: pei-x86_64.c:401
+#, c-format
+msgid "Too many unwind codes (%ld)\n"
+msgstr "Забагато кодів Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ (%ld)\n"
+
+#: pei-x86_64.c:491
+#, c-format
+msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
+msgstr "ПопередженнÑ: розмір розділу %s (%ld) не Ñ” кратним до %d\n"
+
+#: pei-x86_64.c:498
+#, c-format
+msgid "Warning: %s section size is zero\n"
+msgstr "ПопередженнÑ: розмір розділу %s Ñ” нульовим\n"
+
+#: pei-x86_64.c:513
+#, c-format
+msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
+msgstr "ПопередженнÑ: розмір розділу %s (%ld) Ñ” меншим за віртуальний розмір (%ld)\n"
+
+#: pei-x86_64.c:522
#, c-format
msgid ""
"\n"
-"The Function Table (interpreted .pdata section contents)\n"
+"The Function Table (interpreted %s section contents)\n"
msgstr ""
"\n"
-"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ (оброблений вміÑÑ‚ розділу .pdata)\n"
+"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ (оброблений вміÑÑ‚ розділу %s)\n"
-#: pei-x86_64.c:450
+#: pei-x86_64.c:525
#, c-format
msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n"
msgstr "vma:\t\t\tПочаткÐдреÑа\t КінцÐдреÑаs\t ДаніUnwind\n"
+#: pei-x86_64.c:654
+#, c-format
+msgid ""
+"\n"
+"Dump of %s\n"
+msgstr ""
+"\n"
+"Дамп %s\n"
+
#. XXX code yet to be written.
-#: peicode.h:751
+#: peicode.h:775
+#, c-format
msgid "%B: Unhandled import type; %x"
msgstr "%B: непридатний до обробки тип імпортуваннÑ; %x"
-#: peicode.h:756
+#: peicode.h:781
+#, c-format
msgid "%B: Unrecognised import type; %x"
msgstr "%B: нерозпізнаний тип імпортуваннÑ; %x"
-#: peicode.h:770
+#: peicode.h:796
+#, c-format
msgid "%B: Unrecognised import name type; %x"
msgstr "%B: нерозпізнана назва імпортуваннÑ; %x"
-#: peicode.h:1166
+#: peicode.h:1217
+#, c-format
msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
msgstr "%B: нерозпізнаний тип архітектури (0x%x) у архіві Import Library Format"
-#: peicode.h:1178
+#: peicode.h:1230
+#, c-format
msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive"
msgstr "%B: розпізнаний, але непридатний до обробки тип архітектури (0x%x) у архіві Import Library Format"
-#: peicode.h:1196
+#: peicode.h:1248
msgid "%B: size field is zero in Import Library Format header"
msgstr "%B: у заголовку Import Library Format поле розміру є нульовим"
-#: peicode.h:1227
+#: peicode.h:1280
msgid "%B: string not null terminated in ILF object file."
msgstr "%B: у об’єктному файлі ILF Ñ€Ñдок не завершуєтьÑÑ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¼ Ñимволом."
-#: ppcboot.c:414
+#: peicode.h:1333
+msgid "%B: Error: Debug Data ends beyond end of debug directory."
+msgstr "%B: помилка: діагноÑтичні дані завершуютьÑÑ Ð·Ð° кінцем діагноÑтичного каталогу."
+
+#: ppcboot.c:393
#, c-format
msgid ""
"\n"
@@ -3743,27 +5756,27 @@ msgstr ""
"\n"
"Заголовок ppcboot:\n"
-#: ppcboot.c:415
+#: ppcboot.c:394
#, c-format
msgid "Entry offset = 0x%.8lx (%ld)\n"
msgstr "ВідÑтуп входу = 0x%.8lx (%ld)\n"
-#: ppcboot.c:417
+#: ppcboot.c:396
#, c-format
msgid "Length = 0x%.8lx (%ld)\n"
msgstr "Довжина = 0x%.8lx (%ld)\n"
-#: ppcboot.c:421
+#: ppcboot.c:400
#, c-format
msgid "Flag field = 0x%.2x\n"
msgstr "Поле прапорців = 0x%.2x\n"
-#: ppcboot.c:427
+#: ppcboot.c:406
#, c-format
msgid "Partition name = \"%s\"\n"
msgstr "Ðазва розділу = \"%s\"\n"
-#: ppcboot.c:446
+#: ppcboot.c:426
#, c-format
msgid ""
"\n"
@@ -3772,31 +5785,45 @@ msgstr ""
"\n"
"Початок розділу[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
-#: ppcboot.c:452
+#: ppcboot.c:433
#, c-format
msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
msgstr "Кінець розділу[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
-#: ppcboot.c:458
+#: ppcboot.c:440
#, c-format
msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
msgstr "Сектор розділу[%d] = 0x%.8lx (%ld)\n"
-#: ppcboot.c:460
+#: ppcboot.c:444
#, c-format
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr "Довжина розділу[%d] = 0x%.8lx (%ld)\n"
-#: reloc.c:6160
+#: reloc.c:8064
msgid "INPUT_SECTION_FLAGS are not supported.\n"
msgstr "Підтримки INPUT_SECTION_FLAGS не передбачено.\n"
-#: rs6000-core.c:448
+#: reloc.c:8165
+#, c-format
+msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
+msgstr "%X%P: %B(%A): помилка: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð·Ñуву %V не має значеннÑ\n"
+
+#: reloc.c:8241
#, c-format
-msgid "%s: warning core file truncated"
-msgstr "%s: попередженнÑ: файл core обрізано"
+msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
+msgstr "%X%P: %B(%A): підтримки переÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%R» не передбачено\n"
+
+#: reloc.c:8250
+#, c-format
+msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
+msgstr "%X%P: %B(%A): переÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%R» повертає нерозпізнане Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %x\n"
+
+#: rs6000-core.c:471
+msgid "%B: warning core file truncated"
+msgstr "%B: попередженнÑ: файл core обрізано"
-#: som.c:5471
+#: som.c:5478
#, c-format
msgid ""
"\n"
@@ -3805,19 +5832,27 @@ msgstr ""
"\n"
"Допоміжний заголовок виконаннÑ\n"
-#: som.c:5776
+#: som.c:5787
msgid "som_sizeof_headers unimplemented"
msgstr "som_sizeof_headers не реалізовано"
-#: srec.c:261
+#: srec.c:260
+#, c-format
msgid "%B:%d: Unexpected character `%s' in S-record file\n"
msgstr "%B:%d: неочікуваний Ñимвол «%s» у файлі запиÑів S\n"
-#: srec.c:567 srec.c:600
+#: srec.c:488
+#, c-format
+msgid "%B:%d: byte count %d too small\n"
+msgstr "%B:%d: кількіÑÑ‚ÑŒ байтів %d Ñ” надто малою\n"
+
+#: srec.c:581 srec.c:615
+#, c-format
msgid "%B:%d: Bad checksum in S-record file\n"
msgstr "%B:%d: помилкова контрольна Ñума у файлі запиÑів S\n"
#: stabs.c:279
+#, c-format
msgid "%B(%A+0x%lx): Stabs entry has invalid string index."
msgstr "%B(%A+0x%lx): Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs міÑтить некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ñдка."
@@ -3825,32 +5860,60 @@ msgstr "%B(%A+0x%lx): Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– stabs міÑтить некорÐ
msgid "Unsupported .stab relocation"
msgstr "Ðепідтримуване переÑÑƒÐ²Ð°Ð½Ð½Ñ .stab"
-#: vms-alpha.c:1299
+#: vms-alpha.c:652
+#, c-format
+msgid "Unable to read EIHS record at offset %#x"
+msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ EIHS зі зÑувом %#x"
+
+#: vms-alpha.c:1164
+#, c-format
+msgid "Corrupt EGSD record: its size (%#x) is too small"
+msgstr "Пошкоджений Ð·Ð°Ð¿Ð¸Ñ EGSD: його розмір (%#x) Ñ” надто малим"
+
+#: vms-alpha.c:1188
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgstr "Пошкоджений Ð·Ð°Ð¿Ð¸Ñ EGSD: розмір (%#x) Ñ” більшим за залишок міÑÑ†Ñ (%#x)"
+
+#: vms-alpha.c:1196
+#, c-format
+msgid "Corrupt EGSD record: size (%#x) is too small"
+msgstr "Пошкоджений Ð·Ð°Ð¿Ð¸Ñ EGSD: розмір (%#x) Ñ” надто малим"
+
+#: vms-alpha.c:1380
#, c-format
msgid "Unknown EGSD subtype %d"
msgstr "Ðевідомий підтип EGSD, %d"
-#: vms-alpha.c:1330
+#: vms-alpha.c:1413
#, c-format
msgid "Stack overflow (%d) in _bfd_vms_push"
msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñтека (%d) у _bfd_vms_push"
-#: vms-alpha.c:1343
+#: vms-alpha.c:1426
msgid "Stack underflow in _bfd_vms_pop"
msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñтека у _bfd_vms_pop"
#. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1580
+#: vms-alpha.c:1665
#, c-format
msgid "unknown ETIR command %d"
msgstr "невідома команда ETIR, %d"
-#: vms-alpha.c:1767
+#: vms-alpha.c:1696
+msgid "Corrupt vms value"
+msgstr "Пошкоджене Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ vms"
+
+#: vms-alpha.c:1824
+msgid "Corrupt ETIR record encountered"
+msgstr "ВиÑвлено пошкоджений Ð·Ð°Ð¿Ð¸Ñ ETIR"
+
+#: vms-alpha.c:1881
#, c-format
msgid "bad section index in %s"
msgstr "помилковий номер розділу у %s"
-#: vms-alpha.c:1780
+#: vms-alpha.c:1894
#, c-format
msgid "unsupported STA cmd %s"
msgstr "непідтримувана команда STA, %s"
@@ -3860,1393 +5923,1463 @@ msgstr "непідтримувана команда STA, %s"
#. Rotate.
#. Redefine symbol to current location.
#. Define a literal.
-#: vms-alpha.c:1956 vms-alpha.c:1987 vms-alpha.c:2234
+#: vms-alpha.c:2074 vms-alpha.c:2105 vms-alpha.c:2196 vms-alpha.c:2354
#, c-format
msgid "%s: not supported"
msgstr "%s: підтримки не передбачено"
-#: vms-alpha.c:1962
+#: vms-alpha.c:2080
#, c-format
msgid "%s: not implemented"
msgstr "%s: не реалізовано"
-#: vms-alpha.c:2218
+#: vms-alpha.c:2338
#, c-format
msgid "invalid use of %s with contexts"
msgstr "некоректне викориÑÑ‚Ð°Ð½Ð½Ñ %s з контекÑтами"
-#: vms-alpha.c:2252
+#: vms-alpha.c:2372
#, c-format
msgid "reserved cmd %d"
msgstr "зарезервована команда %d"
-#: vms-alpha.c:2337
+#: vms-alpha.c:2457
msgid "Object module NOT error-free !\n"
msgstr "У об’єктному модулі міÑÑ‚ÑÑ‚ÑŒÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸!\n"
-#: vms-alpha.c:2766
+#: vms-alpha.c:3778
#, c-format
-msgid "Symbol %s replaced by %s\n"
-msgstr "Символ %s замінено на %s\n"
+msgid "SEC_RELOC with no relocs in section %A"
+msgstr "SEC_RELOC без переÑувань у розділі %A"
-#: vms-alpha.c:3769
+#: vms-alpha.c:3830 vms-alpha.c:4043
#, c-format
-msgid "SEC_RELOC with no relocs in section %s"
-msgstr "SEC_RELOC без переÑувань у розділі %s"
+msgid "Size error in section %A"
+msgstr "Помилка у розмірі у розділі %A"
-#: vms-alpha.c:3822 vms-alpha.c:4049
-#, c-format
-msgid "Size error in section %s"
-msgstr "Помилка у розмірі у розділі %s"
-
-#: vms-alpha.c:3991
+#: vms-alpha.c:3989
msgid "Spurious ALPHA_R_BSR reloc"
msgstr "Фальшиве переÑÑƒÐ²Ð°Ð½Ð½Ñ ALPHA_R_BSR"
-#: vms-alpha.c:4036
+#: vms-alpha.c:4030
#, c-format
msgid "Unhandled relocation %s"
msgstr "Ðепридатне до обробки переÑÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: vms-alpha.c:4326
+#: vms-alpha.c:4323
#, c-format
msgid "unknown source command %d"
msgstr "невідома початкова команда %d"
-#: vms-alpha.c:4387
+#: vms-alpha.c:4384
msgid "DST__K_SET_LINUM_INCR not implemented"
msgstr "DST__K_SET_LINUM_INCR не реалізовано"
-#: vms-alpha.c:4393
+#: vms-alpha.c:4390
msgid "DST__K_SET_LINUM_INCR_W not implemented"
msgstr "DST__K_SET_LINUM_INCR_W не реалізовано"
-#: vms-alpha.c:4399
+#: vms-alpha.c:4396
msgid "DST__K_RESET_LINUM_INCR not implemented"
msgstr "DST__K_RESET_LINUM_INCR не реалізовано"
-#: vms-alpha.c:4405
+#: vms-alpha.c:4402
msgid "DST__K_BEG_STMT_MODE not implemented"
msgstr "DST__K_BEG_STMT_MODE не реалізовано"
-#: vms-alpha.c:4411
+#: vms-alpha.c:4408
msgid "DST__K_END_STMT_MODE not implemented"
msgstr "DST__K_END_STMT_MODE не реалізовано"
-#: vms-alpha.c:4438
+#: vms-alpha.c:4435
msgid "DST__K_SET_PC not implemented"
msgstr "DST__K_SET_PC не реалізовано"
-#: vms-alpha.c:4444
+#: vms-alpha.c:4441
msgid "DST__K_SET_PC_W not implemented"
msgstr "DST__K_SET_PC_W не реалізовано"
-#: vms-alpha.c:4450
+#: vms-alpha.c:4447
msgid "DST__K_SET_PC_L not implemented"
msgstr "DST__K_SET_PC_L не реалізовано"
-#: vms-alpha.c:4456
+#: vms-alpha.c:4453
msgid "DST__K_SET_STMTNUM not implemented"
msgstr "DST__K_SET_STMTNUM не реалізовано"
-#: vms-alpha.c:4499
+#: vms-alpha.c:4496
#, c-format
msgid "unknown line command %d"
msgstr "невідома Ñ€Ñдкова команда %d"
-#: vms-alpha.c:4953 vms-alpha.c:4970 vms-alpha.c:4984 vms-alpha.c:4999
-#: vms-alpha.c:5011 vms-alpha.c:5022 vms-alpha.c:5034
+#: vms-alpha.c:4956 vms-alpha.c:4974 vms-alpha.c:4989 vms-alpha.c:5005
+#: vms-alpha.c:5018 vms-alpha.c:5030 vms-alpha.c:5043
#, c-format
msgid "Unknown reloc %s + %s"
msgstr "Ðевідоме переÑÑƒÐ²Ð°Ð½Ð½Ñ %s + %s"
-#: vms-alpha.c:5089
+#: vms-alpha.c:5098
#, c-format
msgid "Unknown reloc %s"
msgstr "Ðевідоме переÑÑƒÐ²Ð°Ð½Ð½Ñ %s"
-#: vms-alpha.c:5102
+#: vms-alpha.c:5111
msgid "Invalid section index in ETIR"
msgstr "Ðекоректний номер розділу у ETIR"
-#: vms-alpha.c:5109
+#: vms-alpha.c:5120
msgid "Relocation for non-REL psect"
msgstr "ПереÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ psect, Ñкий не Ñ” REL"
-#: vms-alpha.c:5156
+#: vms-alpha.c:5167
#, c-format
msgid "Unknown symbol in command %s"
msgstr "Ðевідомий Ñимвол у команді %s"
-#: vms-alpha.c:5671
+#: vms-alpha.c:5577
+#, c-format
+msgid "reloc (%d) is *UNKNOWN*"
+msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ (%d) Ñ” *ÐЕВІДОМИМ*"
+
+#: vms-alpha.c:5692
#, c-format
msgid " EMH %u (len=%u): "
msgstr " EMH %u (довж=%u): "
-#: vms-alpha.c:5680
+#: vms-alpha.c:5697
+#, c-format
+msgid " Error: The length is less than the length of an EMH record\n"
+msgstr " Помилка: довжина Ñ” меншою за довжину запиÑу EMH\n"
+
+#: vms-alpha.c:5708
#, c-format
msgid "Module header\n"
msgstr "Заголовок модулÑ\n"
-#: vms-alpha.c:5681
+#: vms-alpha.c:5709
#, c-format
msgid " structure level: %u\n"
msgstr " рівень Ñтрукт. : %u\n"
-#: vms-alpha.c:5682
+#: vms-alpha.c:5710
#, c-format
msgid " max record size: %u\n"
msgstr " макÑ. розм. запиÑу: %u\n"
-#: vms-alpha.c:5685
+#: vms-alpha.c:5713
#, c-format
msgid " module name : %.*s\n"
msgstr " назва Ð¼Ð¾Ð´ÑƒÐ»Ñ : %.*s\n"
-#: vms-alpha.c:5687
+#: vms-alpha.c:5715
#, c-format
msgid " module version : %.*s\n"
msgstr " верÑÑ–Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ : %.*s\n"
-#: vms-alpha.c:5689
+#: vms-alpha.c:5717
#, c-format
msgid " compile date : %.17s\n"
msgstr " дата Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ : %.17s\n"
-#: vms-alpha.c:5694
+#: vms-alpha.c:5722
#, c-format
msgid "Language Processor Name\n"
msgstr "Ðазва обробника мови\n"
-#: vms-alpha.c:5695
+#: vms-alpha.c:5723
#, c-format
msgid " language name: %.*s\n"
msgstr " назва мови : %.*s\n"
-#: vms-alpha.c:5702
+#: vms-alpha.c:5730
#, c-format
msgid "Source Files Header\n"
msgstr "Заголовок файлів коду\n"
-#: vms-alpha.c:5703
+#: vms-alpha.c:5731
#, c-format
msgid " file: %.*s\n"
msgstr " файл: %.*s\n"
-#: vms-alpha.c:5710
+#: vms-alpha.c:5738
#, c-format
msgid "Title Text Header\n"
msgstr "Заголовок титульного текÑту\n"
-#: vms-alpha.c:5711
+#: vms-alpha.c:5739
#, c-format
msgid " title: %.*s\n"
msgstr " заголовок: %.*s\n"
-#: vms-alpha.c:5718
+#: vms-alpha.c:5746
#, c-format
msgid "Copyright Header\n"
msgstr "Заголовок авторÑьких прав\n"
-#: vms-alpha.c:5719
+#: vms-alpha.c:5747
#, c-format
msgid " copyright: %.*s\n"
msgstr " авторÑькі права: %.*s\n"
-#: vms-alpha.c:5725
+#: vms-alpha.c:5753
#, c-format
msgid "unhandled emh subtype %u\n"
msgstr "непридатний до обробки підтип emh, %u\n"
-#: vms-alpha.c:5735
+#: vms-alpha.c:5763
#, c-format
msgid " EEOM (len=%u):\n"
msgstr " EEOM (довж=%u):\n"
-#: vms-alpha.c:5736
+#: vms-alpha.c:5768
+#, c-format
+msgid " Error: The length is less than the length of an EEOM record\n"
+msgstr " Помилка: довжина Ñ” меншою за довжину запиÑу EEOM\n"
+
+#: vms-alpha.c:5772
#, c-format
msgid " number of cond linkage pairs: %u\n"
msgstr " кількіÑÑ‚ÑŒ пар умовного компонуваннÑ: %u\n"
-#: vms-alpha.c:5738
+#: vms-alpha.c:5774
#, c-format
msgid " completion code: %u\n"
msgstr " код завершеннÑ: %u\n"
-#: vms-alpha.c:5742
+#: vms-alpha.c:5778
#, c-format
msgid " transfer addr flags: 0x%02x\n"
msgstr " прапорці Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: 0x%02x\n"
-#: vms-alpha.c:5743
+#: vms-alpha.c:5779
#, c-format
msgid " transfer addr psect: %u\n"
msgstr " psect Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: %u\n"
-#: vms-alpha.c:5745
+#: vms-alpha.c:5781
#, c-format
msgid " transfer address : 0x%08x\n"
msgstr " адреÑа перенеÑÐµÐ½Ð½Ñ : 0x%08x\n"
-#: vms-alpha.c:5754
+#: vms-alpha.c:5790
msgid " WEAK"
msgstr " WEAK"
-#: vms-alpha.c:5756
+#: vms-alpha.c:5792
msgid " DEF"
msgstr " DEF"
-#: vms-alpha.c:5758
+#: vms-alpha.c:5794
msgid " UNI"
msgstr " UNI"
-#: vms-alpha.c:5760 vms-alpha.c:5781
+#: vms-alpha.c:5796 vms-alpha.c:5817
msgid " REL"
msgstr " REL"
-#: vms-alpha.c:5762
+#: vms-alpha.c:5798
msgid " COMM"
msgstr " COMM"
-#: vms-alpha.c:5764
+#: vms-alpha.c:5800
msgid " VECEP"
msgstr " VECEP"
-#: vms-alpha.c:5766
+#: vms-alpha.c:5802
msgid " NORM"
msgstr " NORM"
-#: vms-alpha.c:5768
+#: vms-alpha.c:5804
msgid " QVAL"
msgstr " QVAL"
-#: vms-alpha.c:5775
+#: vms-alpha.c:5811
msgid " PIC"
msgstr " PIC"
-#: vms-alpha.c:5777
+#: vms-alpha.c:5813
msgid " LIB"
msgstr " LIB"
-#: vms-alpha.c:5779
+#: vms-alpha.c:5815
msgid " OVR"
msgstr " OVR"
-#: vms-alpha.c:5783
+#: vms-alpha.c:5819
msgid " GBL"
msgstr " GBL"
-#: vms-alpha.c:5785
+#: vms-alpha.c:5821
msgid " SHR"
msgstr " SHR"
-#: vms-alpha.c:5787
+#: vms-alpha.c:5823
msgid " EXE"
msgstr " EXE"
-#: vms-alpha.c:5789
+#: vms-alpha.c:5825
msgid " RD"
msgstr " RD"
-#: vms-alpha.c:5791
+#: vms-alpha.c:5827
msgid " WRT"
msgstr " WRT"
-#: vms-alpha.c:5793
+#: vms-alpha.c:5829
msgid " VEC"
msgstr " VEC"
-#: vms-alpha.c:5795
+#: vms-alpha.c:5831
msgid " NOMOD"
msgstr " NOMOD"
-#: vms-alpha.c:5797
+#: vms-alpha.c:5833
msgid " COM"
msgstr " COM"
-#: vms-alpha.c:5799
+#: vms-alpha.c:5835
msgid " 64B"
msgstr " 64B"
-#: vms-alpha.c:5808
+#: vms-alpha.c:5844
#, c-format
msgid " EGSD (len=%u):\n"
msgstr " EGSD (довж=%u):\n"
-#: vms-alpha.c:5820
+#: vms-alpha.c:5857
#, c-format
msgid " EGSD entry %2u (type: %u, len: %u): "
msgstr " Ð·Ð°Ð¿Ð¸Ñ EGSD %2u (тип: %u, довж: %u): "
-#: vms-alpha.c:5832
+#: vms-alpha.c:5863 vms-alpha.c:6114
+#, c-format
+msgid " Error: length larger than remaining space in record\n"
+msgstr " Помилка: довжина перевищує міÑце, Ñке лишилоÑÑ Ñƒ запиÑÑ–\n"
+
+#: vms-alpha.c:5875
#, c-format
msgid "PSC - Program section definition\n"
msgstr "PSC — Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ програми\n"
-#: vms-alpha.c:5833 vms-alpha.c:5850
+#: vms-alpha.c:5876 vms-alpha.c:5893
#, c-format
msgid " alignment : 2**%u\n"
msgstr " вирівнюваннÑ: 2**%u\n"
-#: vms-alpha.c:5834 vms-alpha.c:5851
+#: vms-alpha.c:5877 vms-alpha.c:5894
#, c-format
msgid " flags : 0x%04x"
msgstr " прапорці : 0x%04x"
-#: vms-alpha.c:5838
+#: vms-alpha.c:5881
#, c-format
msgid " alloc (len): %u (0x%08x)\n"
msgstr " alloc (довжина): %u (0x%08x)\n"
-#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
+#: vms-alpha.c:5882 vms-alpha.c:5939 vms-alpha.c:5988
#, c-format
msgid " name : %.*s\n"
msgstr " назва : %.*s\n"
-#: vms-alpha.c:5849
+#: vms-alpha.c:5892
#, c-format
msgid "SPSC - Shared Image Program section def\n"
msgstr "SPSC — Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ð³Ð¾ розділу Ñпільного образу\n"
-#: vms-alpha.c:5855
+#: vms-alpha.c:5898
#, c-format
msgid " alloc (len) : %u (0x%08x)\n"
msgstr " alloc (довжина): %u (0x%08x)\n"
-#: vms-alpha.c:5856
+#: vms-alpha.c:5899
#, c-format
msgid " image offset : 0x%08x\n"
msgstr " відÑтуп образу: 0x%08x\n"
-#: vms-alpha.c:5858
+#: vms-alpha.c:5901
#, c-format
msgid " symvec offset : 0x%08x\n"
msgstr " зÑув symvec : 0x%08x\n"
-#: vms-alpha.c:5860
+#: vms-alpha.c:5903
#, c-format
msgid " name : %.*s\n"
msgstr " назва : %.*s\n"
-#: vms-alpha.c:5873
+#: vms-alpha.c:5916
#, c-format
msgid "SYM - Global symbol definition\n"
msgstr "SYM — Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñимволів\n"
-#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
+#: vms-alpha.c:5917 vms-alpha.c:5977 vms-alpha.c:5998 vms-alpha.c:6017
#, c-format
msgid " flags: 0x%04x"
msgstr " прапорці: 0x%04x"
-#: vms-alpha.c:5877
+#: vms-alpha.c:5920
#, c-format
msgid " psect offset: 0x%08x\n"
msgstr " відÑтуп psect: 0x%08x\n"
-#: vms-alpha.c:5881
+#: vms-alpha.c:5924
#, c-format
msgid " code address: 0x%08x\n"
msgstr " адреÑа коду: 0x%08x\n"
-#: vms-alpha.c:5883
+#: vms-alpha.c:5926
#, c-format
msgid " psect index for entry point : %u\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ psect Ð´Ð»Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ входженнÑ: %u\n"
-#: vms-alpha.c:5886 vms-alpha.c:5962 vms-alpha.c:5981
+#: vms-alpha.c:5929 vms-alpha.c:6005 vms-alpha.c:6024
#, c-format
msgid " psect index : %u\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ psect: %u\n"
-#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
+#: vms-alpha.c:5931 vms-alpha.c:6007 vms-alpha.c:6026
#, c-format
msgid " name : %.*s\n"
msgstr " назва : %.*s\n"
-#: vms-alpha.c:5895
+#: vms-alpha.c:5938
#, c-format
msgid "SYM - Global symbol reference\n"
msgstr "SYM — поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° загальні Ñимволи\n"
-#: vms-alpha.c:5907
+#: vms-alpha.c:5950
#, c-format
msgid "IDC - Ident Consistency check\n"
msgstr "IDC — перевірка коректноÑÑ‚Ñ– ідентифікаторів\n"
-#: vms-alpha.c:5908
+#: vms-alpha.c:5951
#, c-format
msgid " flags : 0x%08x"
msgstr " прапорці : 0x%08x"
-#: vms-alpha.c:5912
+#: vms-alpha.c:5955
#, c-format
msgid " id match : %x\n"
msgstr " ід. відповідноÑÑ‚Ñ–: %x\n"
-#: vms-alpha.c:5914
+#: vms-alpha.c:5957
#, c-format
msgid " error severity: %x\n"
msgstr " критичніÑÑ‚ÑŒ помилки: %x\n"
-#: vms-alpha.c:5917
+#: vms-alpha.c:5960
#, c-format
msgid " entity name : %.*s\n"
msgstr " назва елемента: %.*s\n"
-#: vms-alpha.c:5919
+#: vms-alpha.c:5962
#, c-format
msgid " object name : %.*s\n"
msgstr " назва об’єкта : %.*s\n"
-#: vms-alpha.c:5922
+#: vms-alpha.c:5965
#, c-format
msgid " binary ident : 0x%08x\n"
msgstr " двійк. ідент. : 0x%08x\n"
-#: vms-alpha.c:5925
+#: vms-alpha.c:5968
#, c-format
msgid " ascii ident : %.*s\n"
msgstr " ідент. ascii : %.*s\n"
-#: vms-alpha.c:5933
+#: vms-alpha.c:5976
#, c-format
msgid "SYMG - Universal symbol definition\n"
msgstr "SYMG — УніверÑальне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволів\n"
-#: vms-alpha.c:5937
+#: vms-alpha.c:5980
#, c-format
msgid " symbol vector offset: 0x%08x\n"
msgstr " зÑув вектора Ñимволів: 0x%08x\n"
-#: vms-alpha.c:5939
+#: vms-alpha.c:5982
#, c-format
msgid " entry point: 0x%08x\n"
msgstr " точка входу: 0x%08x\n"
-#: vms-alpha.c:5941
+#: vms-alpha.c:5984
#, c-format
msgid " proc descr : 0x%08x\n"
msgstr " деÑкр. процеÑу: 0x%08x\n"
-#: vms-alpha.c:5943
+#: vms-alpha.c:5986
#, c-format
msgid " psect index: %u\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ psect: %u\n"
-#: vms-alpha.c:5954
+#: vms-alpha.c:5997
#, c-format
msgid "SYMV - Vectored symbol definition\n"
msgstr "SYMV — Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñимволу\n"
-#: vms-alpha.c:5958
+#: vms-alpha.c:6001
#, c-format
msgid " vector : 0x%08x\n"
msgstr " вектор : 0x%08x\n"
-#: vms-alpha.c:5960 vms-alpha.c:5979
+#: vms-alpha.c:6003 vms-alpha.c:6022
#, c-format
msgid " psect offset: %u\n"
msgstr " відÑтуп psect: %u\n"
-#: vms-alpha.c:5973
+#: vms-alpha.c:6016
#, c-format
msgid "SYMM - Global symbol definition with version\n"
msgstr "SYMM — Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñимволу з верÑією\n"
-#: vms-alpha.c:5977
+#: vms-alpha.c:6020
#, c-format
msgid " version mask: 0x%08x\n"
msgstr " маÑка верÑÑ–Ñ—: 0x%08x\n"
-#: vms-alpha.c:5988
+#: vms-alpha.c:6031
#, c-format
msgid "unhandled egsd entry type %u\n"
msgstr "непридатний до обробки тип запиÑу egsd, %u\n"
-#: vms-alpha.c:6022
+#: vms-alpha.c:6066
#, c-format
msgid " linkage index: %u, replacement insn: 0x%08x\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ: %u, інÑтрукціÑ-замінник: 0x%08x\n"
-#: vms-alpha.c:6025
+#: vms-alpha.c:6070
#, c-format
msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
msgstr " інд. psect 1: %u, відÑтуп 1: 0x%08x %08x\n"
-#: vms-alpha.c:6029
+#: vms-alpha.c:6075
#, c-format
msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
msgstr " інд. psect 2: %u, відÑтуп 2: 0x%08x %08x\n"
-#: vms-alpha.c:6034
+#: vms-alpha.c:6081
#, c-format
msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
msgstr " інд. psect 3: %u, відÑтуп 3: 0x%08x %08x\n"
-#: vms-alpha.c:6039
+#: vms-alpha.c:6086
#, c-format
msgid " global name: %.*s\n"
msgstr " загальна назва: %.*s\n"
-#: vms-alpha.c:6049
+#: vms-alpha.c:6097
#, c-format
msgid " %s (len=%u+%u):\n"
msgstr " %s (довж=%u+%u):\n"
-#: vms-alpha.c:6064
+#: vms-alpha.c:6119
#, c-format
msgid " (type: %3u, size: 4+%3u): "
msgstr " (тип: %3u, розмір: 4+%3u): "
-#: vms-alpha.c:6068
+#: vms-alpha.c:6123
#, c-format
msgid "STA_GBL (stack global) %.*s\n"
msgstr "STA_GBL (загальний Ñтек) %.*s\n"
-#: vms-alpha.c:6072
+#: vms-alpha.c:6127
#, c-format
msgid "STA_LW (stack longword) 0x%08x\n"
msgstr "STA_LW (Ñтек довгих Ñлів) 0x%08x\n"
-#: vms-alpha.c:6076
+#: vms-alpha.c:6131
#, c-format
msgid "STA_QW (stack quadword) 0x%08x %08x\n"
msgstr "STA_QW (Ñтек четверних Ñлів) 0x%08x %08x\n"
-#: vms-alpha.c:6081
+#: vms-alpha.c:6136
#, c-format
msgid "STA_PQ (stack psect base + offset)\n"
msgstr "STA_PQ (Ñтек оÑнови psect + зÑув)\n"
-#: vms-alpha.c:6082
+#: vms-alpha.c:6138
#, c-format
msgid " psect: %u, offset: 0x%08x %08x\n"
msgstr " psect: %u, зÑув: 0x%08x %08x\n"
-#: vms-alpha.c:6088
+#: vms-alpha.c:6144
#, c-format
msgid "STA_LI (stack literal)\n"
msgstr "STA_LI (Ñтек літералів)\n"
-#: vms-alpha.c:6091
+#: vms-alpha.c:6147
#, c-format
msgid "STA_MOD (stack module)\n"
msgstr "STA_MOD (Ñтек модулів)\n"
-#: vms-alpha.c:6094
+#: vms-alpha.c:6150
#, c-format
msgid "STA_CKARG (compare procedure argument)\n"
msgstr "STA_CKARG (аргумент процедури порівнÑннÑ)\n"
-#: vms-alpha.c:6098
+#: vms-alpha.c:6154
#, c-format
msgid "STO_B (store byte)\n"
msgstr "STO_B (збережений байт)\n"
-#: vms-alpha.c:6101
+#: vms-alpha.c:6157
#, c-format
msgid "STO_W (store word)\n"
msgstr "STO_W (збережене Ñлово)\n"
-#: vms-alpha.c:6104
+#: vms-alpha.c:6160
#, c-format
msgid "STO_LW (store longword)\n"
msgstr "STO_LW (збережене longword)\n"
-#: vms-alpha.c:6107
+#: vms-alpha.c:6163
#, c-format
msgid "STO_QW (store quadword)\n"
msgstr "STO_QW (збережене quadword)\n"
-#: vms-alpha.c:6113
+#: vms-alpha.c:6169
#, c-format
msgid "STO_IMMR (store immediate repeat) %u bytes\n"
msgstr "STO_IMMR (збережене негайне повтореннÑ) %u байтів\n"
-#: vms-alpha.c:6120
+#: vms-alpha.c:6176
#, c-format
msgid "STO_GBL (store global) %.*s\n"
msgstr "STO_GBL (загальне збереженнÑ) %.*s\n"
-#: vms-alpha.c:6124
+#: vms-alpha.c:6180
#, c-format
msgid "STO_CA (store code address) %.*s\n"
msgstr "STO_CA (збережена адреÑа коду) %.*s\n"
-#: vms-alpha.c:6128
+#: vms-alpha.c:6184
#, c-format
msgid "STO_RB (store relative branch)\n"
msgstr "STO_RB (збережене відноÑне відгалуженнÑ)\n"
-#: vms-alpha.c:6131
+#: vms-alpha.c:6187
#, c-format
msgid "STO_AB (store absolute branch)\n"
msgstr "STO_AB (збережене абÑолютне відгалуженнÑ)\n"
-#: vms-alpha.c:6134
+#: vms-alpha.c:6190
#, c-format
msgid "STO_OFF (store offset to psect)\n"
msgstr "STO_OFF (збережений зÑув щодо psect)\n"
-#: vms-alpha.c:6140
+#: vms-alpha.c:6196
#, c-format
msgid "STO_IMM (store immediate) %u bytes\n"
msgstr "STO_IMM (негайне збереженнÑ) %u байт\n"
-#: vms-alpha.c:6147
+#: vms-alpha.c:6203
#, c-format
msgid "STO_GBL_LW (store global longword) %.*s\n"
msgstr "STO_GBL_LW (збережене загальне longword) %.*s\n"
-#: vms-alpha.c:6151
+#: vms-alpha.c:6207
#, c-format
msgid "STO_OFF (store LP with procedure signature)\n"
msgstr "STO_OFF (Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ LP з підпиÑом підпрограми)\n"
-#: vms-alpha.c:6154
+#: vms-alpha.c:6210
#, c-format
msgid "STO_BR_GBL (store branch global) *todo*\n"
msgstr "STO_BR_GBL (збережене загальне відгалуженнÑ) *ще не реалізовано*\n"
-#: vms-alpha.c:6157
+#: vms-alpha.c:6213
#, c-format
msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
msgstr "STO_BR_PS (збережений psect Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ + зÑув) *ще не реалізовано*\n"
-#: vms-alpha.c:6161
+#: vms-alpha.c:6217
#, c-format
msgid "OPR_NOP (no-operation)\n"
msgstr "OPR_NOP (без операції)\n"
-#: vms-alpha.c:6164
+#: vms-alpha.c:6220
#, c-format
msgid "OPR_ADD (add)\n"
msgstr "OPR_ADD (додаваннÑ)\n"
-#: vms-alpha.c:6167
+#: vms-alpha.c:6223
#, c-format
msgid "OPR_SUB (substract)\n"
msgstr "OPR_SUB (відніманнÑ)\n"
-#: vms-alpha.c:6170
+#: vms-alpha.c:6226
#, c-format
msgid "OPR_MUL (multiply)\n"
msgstr "OPR_MUL (множеннÑ)\n"
-#: vms-alpha.c:6173
+#: vms-alpha.c:6229
#, c-format
msgid "OPR_DIV (divide)\n"
msgstr "OPR_DIV (діленнÑ)\n"
-#: vms-alpha.c:6176
+#: vms-alpha.c:6232
#, c-format
msgid "OPR_AND (logical and)\n"
msgstr "OPR_AND (логічне «І»)\n"
-#: vms-alpha.c:6179
+#: vms-alpha.c:6235
#, c-format
msgid "OPR_IOR (logical inclusive or)\n"
msgstr "OPR_IOR (логічне включне «ÐБО»)\n"
-#: vms-alpha.c:6182
+#: vms-alpha.c:6238
#, c-format
msgid "OPR_EOR (logical exclusive or)\n"
msgstr "OPR_EOR (логічне виключне «ÐБО»)\n"
-#: vms-alpha.c:6185
+#: vms-alpha.c:6241
#, c-format
msgid "OPR_NEG (negate)\n"
msgstr "OPR_NEG (запереченнÑ)\n"
-#: vms-alpha.c:6188
+#: vms-alpha.c:6244
#, c-format
msgid "OPR_COM (complement)\n"
msgstr "OPR_COM (доповненнÑ)\n"
-#: vms-alpha.c:6191
+#: vms-alpha.c:6247
#, c-format
msgid "OPR_INSV (insert field)\n"
msgstr "OPR_INSV (вÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ)\n"
-#: vms-alpha.c:6194
+#: vms-alpha.c:6250
#, c-format
msgid "OPR_ASH (arithmetic shift)\n"
msgstr "OPR_ASH (арифметичний зÑув)\n"
-#: vms-alpha.c:6197
+#: vms-alpha.c:6253
#, c-format
msgid "OPR_USH (unsigned shift)\n"
msgstr "OPR_USH (беззнаковий зÑув)\n"
-#: vms-alpha.c:6200
+#: vms-alpha.c:6256
#, c-format
msgid "OPR_ROT (rotate)\n"
msgstr "OPR_ROT (циклічний зÑув)\n"
-#: vms-alpha.c:6203
+#: vms-alpha.c:6259
#, c-format
msgid "OPR_SEL (select)\n"
msgstr "OPR_SEL (вибір)\n"
-#: vms-alpha.c:6206
+#: vms-alpha.c:6262
#, c-format
msgid "OPR_REDEF (redefine symbol to curr location)\n"
msgstr "OPR_REDEF (Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу до поточної позиції)\n"
-#: vms-alpha.c:6209
+#: vms-alpha.c:6265
#, c-format
msgid "OPR_REDEF (define a literal)\n"
msgstr "OPR_REDEF (Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‚ÐµÑ€Ð°Ð»Ð°)\n"
-#: vms-alpha.c:6213
+#: vms-alpha.c:6269
#, c-format
msgid "STC_LP (store cond linkage pair)\n"
msgstr "STC_LP (збережена пара умовного компонуваннÑ)\n"
-#: vms-alpha.c:6217
+#: vms-alpha.c:6273
#, c-format
msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
msgstr "STC_LP_PSB (збережена пара умовного ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ + підпиÑ)\n"
-#: vms-alpha.c:6218
+#: vms-alpha.c:6275
#, c-format
msgid " linkage index: %u, procedure: %.*s\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ: %u, процедура: %.*s\n"
-#: vms-alpha.c:6221
+#: vms-alpha.c:6278
#, c-format
msgid " signature: %.*s\n"
msgstr " підпиÑ: %.*s\n"
-#: vms-alpha.c:6224
+#: vms-alpha.c:6281
#, c-format
msgid "STC_GBL (store cond global)\n"
msgstr "STC_GBL (збережена загальна умова)\n"
-#: vms-alpha.c:6225
+#: vms-alpha.c:6283
#, c-format
msgid " linkage index: %u, global: %.*s\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ: %u, загальний: %.*s\n"
-#: vms-alpha.c:6229
+#: vms-alpha.c:6287
#, c-format
msgid "STC_GCA (store cond code address)\n"
msgstr "STC_GCA (збережена адреÑа умовного коду)\n"
-#: vms-alpha.c:6230
+#: vms-alpha.c:6289
#, c-format
msgid " linkage index: %u, procedure name: %.*s\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ: %u, назва підпрограми: %.*s\n"
-#: vms-alpha.c:6234
+#: vms-alpha.c:6293
#, c-format
msgid "STC_PS (store cond psect + offset)\n"
msgstr "STC_PS (збережений умовний psect + зÑув)\n"
-#: vms-alpha.c:6236
+#: vms-alpha.c:6296
#, c-format
msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
msgstr " Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ: %u, psect: %u, зÑув: 0x%08x %08x\n"
-#: vms-alpha.c:6243
+#: vms-alpha.c:6303
#, c-format
msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
msgstr "STC_NOP_GBL (збережений умовний NOP за загальною адреÑою)\n"
-#: vms-alpha.c:6247
+#: vms-alpha.c:6307
#, c-format
msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
msgstr "STC_NOP_PS (збережений умовний NOP за psect + зÑув)\n"
-#: vms-alpha.c:6251
+#: vms-alpha.c:6311
#, c-format
msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
msgstr "STC_BSR_GBL (збережений умовний BSR за загальною адреÑою)\n"
-#: vms-alpha.c:6255
+#: vms-alpha.c:6315
#, c-format
msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
msgstr "STC_BSR_PS (збережений умовний BSR за psect + зÑув)\n"
-#: vms-alpha.c:6259
+#: vms-alpha.c:6319
#, c-format
msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
msgstr "STC_LDA_GBL (збережений умовний LDA за загальною адреÑою)\n"
-#: vms-alpha.c:6263
+#: vms-alpha.c:6323
#, c-format
msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
msgstr "STC_LDA_PS (збережена умовна LDA за psect + зÑув)\n"
-#: vms-alpha.c:6267
+#: vms-alpha.c:6327
#, c-format
msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
msgstr "STC_BOH_GBL (збережений умовний BOH за загальною адреÑою)\n"
-#: vms-alpha.c:6271
+#: vms-alpha.c:6331
#, c-format
msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
msgstr "STC_BOH_PS (збережений умовний BOH за psect + зÑув)\n"
-#: vms-alpha.c:6276
+#: vms-alpha.c:6336
#, c-format
msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
msgstr "STC_NBH_GBL (збережена умова або вказівка за загальною адреÑою)\n"
-#: vms-alpha.c:6280
+#: vms-alpha.c:6340
#, c-format
msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
msgstr "STC_NBH_PS (збережена умова або вказівка за psect + зÑув)\n"
-#: vms-alpha.c:6284
+#: vms-alpha.c:6344
#, c-format
msgid "CTL_SETRB (set relocation base)\n"
msgstr "CTL_SETRB (вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ñнови переÑуваннÑ)\n"
-#: vms-alpha.c:6290
+#: vms-alpha.c:6350
#, c-format
msgid "CTL_AUGRB (augment relocation base) %u\n"
msgstr "CTL_AUGRB (Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¾Ñнови переÑуваннÑ) %u\n"
-#: vms-alpha.c:6294
+#: vms-alpha.c:6354
#, c-format
msgid "CTL_DFLOC (define location)\n"
msgstr "CTL_DFLOC (визначити розташуваннÑ)\n"
-#: vms-alpha.c:6297
+#: vms-alpha.c:6357
#, c-format
msgid "CTL_STLOC (set location)\n"
msgstr "CTL_STLOC (вказати розташуваннÑ)\n"
-#: vms-alpha.c:6300
+#: vms-alpha.c:6360
#, c-format
msgid "CTL_STKDL (stack defined location)\n"
msgstr "CTL_STKDL (розташуваннÑ, визначене Ñтеком)\n"
-#: vms-alpha.c:6303 vms-alpha.c:6717
+#: vms-alpha.c:6363 vms-alpha.c:6787 vms-alpha.c:6913
#, c-format
msgid "*unhandled*\n"
msgstr "*не оброблено*\n"
-#: vms-alpha.c:6333 vms-alpha.c:6372
+#: vms-alpha.c:6393 vms-alpha.c:6432
#, c-format
msgid "cannot read GST record length\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ довжину запиÑу GST\n"
#. Ill-formed.
-#: vms-alpha.c:6354
+#: vms-alpha.c:6414
#, c-format
msgid "cannot find EMH in first GST record\n"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ EMH у першому запиÑÑ– GST\n"
-#: vms-alpha.c:6380
+#: vms-alpha.c:6440
#, c-format
msgid "cannot read GST record header\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок запиÑу GST\n"
-#: vms-alpha.c:6393
+#: vms-alpha.c:6453
#, c-format
msgid " corrupted GST\n"
msgstr " пошкоджений GST\n"
-#: vms-alpha.c:6401
+#: vms-alpha.c:6461
#, c-format
msgid "cannot read GST record\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ GST\n"
-#: vms-alpha.c:6430
+#: vms-alpha.c:6490
#, c-format
msgid " unhandled EOBJ record type %u\n"
msgstr " непридатний до обробки тип запиÑу EOBJ, %u\n"
-#: vms-alpha.c:6453
+#: vms-alpha.c:6514
#, c-format
msgid " bitcount: %u, base addr: 0x%08x\n"
msgstr " кількіÑÑ‚ÑŒ бітів: %u, базова адреÑа: 0x%08x\n"
-#: vms-alpha.c:6466
+#: vms-alpha.c:6528
#, c-format
msgid " bitmap: 0x%08x (count: %u):\n"
msgstr " бітовий образ: 0x%08x (лічильник: %u):\n"
-#: vms-alpha.c:6473
+#: vms-alpha.c:6535
#, c-format
msgid " %08x"
msgstr " %08x"
-#: vms-alpha.c:6498
+#: vms-alpha.c:6561
#, c-format
msgid " image %u (%u entries)\n"
msgstr " образ %u (%u запиÑів)\n"
-#: vms-alpha.c:6503
+#: vms-alpha.c:6567
#, c-format
msgid " offset: 0x%08x, val: 0x%08x\n"
msgstr " відÑтуп: 0x%08x, значеннÑ: 0x%08x\n"
-#: vms-alpha.c:6524
+#: vms-alpha.c:6589
#, c-format
msgid " image %u (%u entries), offsets:\n"
msgstr " образ %u (%u запиÑів), відÑтупи:\n"
-#: vms-alpha.c:6531
+#: vms-alpha.c:6596
#, c-format
msgid " 0x%08x"
msgstr " 0x%08x"
#. 64 bits.
-#: vms-alpha.c:6653
+#: vms-alpha.c:6718
#, c-format
msgid "64 bits *unhandled*\n"
msgstr "64 біти *не оброблÑєтьÑÑ*\n"
-#: vms-alpha.c:6657
+#: vms-alpha.c:6723
#, c-format
msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
msgstr "клаÑ: %u, dtype: %u, довжина: %u, вказівник: 0x%08x\n"
-#: vms-alpha.c:6668
+#: vms-alpha.c:6734
#, c-format
msgid "non-contiguous array of %s\n"
msgstr "розривний маÑив %s\n"
-#: vms-alpha.c:6672
+#: vms-alpha.c:6739
#, c-format
msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
msgstr "dimct: %u, aflags: 0x%02x, цифр: %u, шкала: %u\n"
-#: vms-alpha.c:6676
+#: vms-alpha.c:6744
#, c-format
msgid "arsize: %u, a0: 0x%08x\n"
msgstr "arsize: %u, a0: 0x%08x\n"
-#: vms-alpha.c:6680
+#: vms-alpha.c:6748
#, c-format
msgid "Strides:\n"
msgstr "Кроки:\n"
-#: vms-alpha.c:6685
-#, c-format
-msgid "[%u]: %u\n"
-msgstr "[%u]: %u\n"
-
-#: vms-alpha.c:6690
+#: vms-alpha.c:6758
#, c-format
msgid "Bounds:\n"
msgstr "Межі:\n"
-#: vms-alpha.c:6695
+#: vms-alpha.c:6764
#, c-format
msgid "[%u]: Lower: %u, upper: %u\n"
msgstr "[%u]: нижнÑ: %u, верхнÑ: %u\n"
-#: vms-alpha.c:6707
+#: vms-alpha.c:6776
#, c-format
msgid "unaligned bit-string of %s\n"
msgstr "невирівнÑний бітовий Ñ€Ñдок %s\n"
-#: vms-alpha.c:6711
+#: vms-alpha.c:6781
#, c-format
msgid "base: %u, pos: %u\n"
msgstr "оÑнова: %u, позиціÑ: %u\n"
-#: vms-alpha.c:6731
+#: vms-alpha.c:6802
#, c-format
msgid "vflags: 0x%02x, value: 0x%08x "
msgstr "vflags: 0x%02x, значеннÑ: 0x%08x "
-#: vms-alpha.c:6737
+#: vms-alpha.c:6808
#, c-format
msgid "(no value)\n"
msgstr "(нема значеннÑ)\n"
-#: vms-alpha.c:6740
+#: vms-alpha.c:6811
#, c-format
msgid "(not active)\n"
msgstr "(неактивне)\n"
-#: vms-alpha.c:6743
+#: vms-alpha.c:6814
#, c-format
msgid "(not allocated)\n"
msgstr "(не розміщено)\n"
-#: vms-alpha.c:6746
+#: vms-alpha.c:6817
#, c-format
msgid "(descriptor)\n"
msgstr "(деÑкриптор)\n"
-#: vms-alpha.c:6750
+#: vms-alpha.c:6821
#, c-format
msgid "(trailing value)\n"
msgstr "(хвоÑтове значеннÑ)\n"
-#: vms-alpha.c:6753
+#: vms-alpha.c:6824
#, c-format
msgid "(value spec follows)\n"
msgstr "(далі ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ)\n"
-#: vms-alpha.c:6756
+#: vms-alpha.c:6827
#, c-format
msgid "(at bit offset %u)\n"
msgstr "(за відÑтупом у бітах %u)\n"
-#: vms-alpha.c:6759
+#: vms-alpha.c:6831
#, c-format
msgid "(reg: %u, disp: %u, indir: %u, kind: "
msgstr "(рег: %u, disp: %u, indir: %u, тип: "
-#: vms-alpha.c:6766
+#: vms-alpha.c:6838
msgid "literal"
msgstr "літерал"
-#: vms-alpha.c:6769
+#: vms-alpha.c:6841
msgid "address"
msgstr "адреÑа"
-#: vms-alpha.c:6772
+#: vms-alpha.c:6844
msgid "desc"
msgstr "деÑк"
-#: vms-alpha.c:6775
+#: vms-alpha.c:6847
msgid "reg"
msgstr "рег"
-#: vms-alpha.c:6850
+#: vms-alpha.c:6864
+#, c-format
+msgid "len: %2u, kind: %2u "
+msgstr "довж.: %2u, тип: %2u "
+
+#: vms-alpha.c:6870
+#, c-format
+msgid "atomic, type=0x%02x %s\n"
+msgstr "атомарний, тип=0x%02x %s\n"
+
+#: vms-alpha.c:6874
+#, c-format
+msgid "indirect, defined at 0x%08x\n"
+msgstr "опоÑередкований, визначено тут: 0x%08x\n"
+
+#: vms-alpha.c:6878
+#, c-format
+msgid "typed pointer\n"
+msgstr "типізований вказівник\n"
+
+#: vms-alpha.c:6882
+#, c-format
+msgid "pointer\n"
+msgstr "вказівник\n"
+
+#: vms-alpha.c:6890
+#, c-format
+msgid "array, dim: %u, bitmap: "
+msgstr "маÑив, розмірніÑÑ‚ÑŒ: %u, бітова карта: "
+
+#: vms-alpha.c:6897
+#, c-format
+msgid "array descriptor:\n"
+msgstr "деÑкриптор маÑиву:\n"
+
+#: vms-alpha.c:6904
+#, c-format
+msgid "type spec for element:\n"
+msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ‚Ð¸Ð¿Ñƒ елемента:\n"
+
+#: vms-alpha.c:6906
+#, c-format
+msgid "type spec for subscript %u:\n"
+msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ‚Ð¸Ð¿Ñƒ Ð´Ð»Ñ ÑпиÑку індекÑів %u:\n"
+
+#: vms-alpha.c:6924
#, c-format
msgid "Debug symbol table:\n"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів зневаджуваннÑ:\n"
-#: vms-alpha.c:6861
+#: vms-alpha.c:6935
#, c-format
msgid "cannot read DST header\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок DST\n"
-#: vms-alpha.c:6866
+#: vms-alpha.c:6941
#, c-format
msgid " type: %3u, len: %3u (at 0x%08x): "
msgstr " тип: %3u, довжина: %3u (за 0x%08x): "
-#: vms-alpha.c:6880
+#: vms-alpha.c:6955
#, c-format
msgid "cannot read DST symbol\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñимвол DST\n"
-#: vms-alpha.c:6923
+#: vms-alpha.c:6998
#, c-format
msgid "standard data: %s\n"
msgstr "Ñтандартні дані: %s\n"
-#: vms-alpha.c:6926 vms-alpha.c:7010
+#: vms-alpha.c:7001 vms-alpha.c:7089
#, c-format
msgid " name: %.*s\n"
msgstr " назва: %.*s\n"
-#: vms-alpha.c:6933
+#: vms-alpha.c:7008
#, c-format
msgid "modbeg\n"
msgstr "modbeg\n"
-#: vms-alpha.c:6934
+#: vms-alpha.c:7010
#, c-format
msgid " flags: %d, language: %u, major: %u, minor: %u\n"
msgstr " прапорці: %d, мова: %u, Ñтарший: %u, молодший: %u\n"
-#: vms-alpha.c:6940 vms-alpha.c:7206
+#: vms-alpha.c:7016 vms-alpha.c:7290
#, c-format
msgid " module name: %.*s\n"
msgstr " назва модулÑ: %.*s\n"
-#: vms-alpha.c:6943
+#: vms-alpha.c:7019
#, c-format
msgid " compiler : %.*s\n"
msgstr " компілÑтор : %.*s\n"
-#: vms-alpha.c:6948
+#: vms-alpha.c:7024
#, c-format
msgid "modend\n"
msgstr "modend\n"
-#: vms-alpha.c:6955
+#: vms-alpha.c:7031
msgid "rtnbeg\n"
msgstr "rtnbeg\n"
-#: vms-alpha.c:6956
+#: vms-alpha.c:7033
#, c-format
msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
msgstr " прапорці: %u, адреÑа: 0x%08x, pd-адреÑа: 0x%08x\n"
-#: vms-alpha.c:6961
+#: vms-alpha.c:7038
#, c-format
msgid " routine name: %.*s\n"
msgstr " назва процедури: %.*s\n"
-#: vms-alpha.c:6969
+#: vms-alpha.c:7046
#, c-format
msgid "rtnend: size 0x%08x\n"
msgstr "rtnend: розмір 0x%08x\n"
-#: vms-alpha.c:6977
+#: vms-alpha.c:7054
#, c-format
msgid "prolog: bkpt address 0x%08x\n"
msgstr "пролог: адреÑа bkpt 0x%08x\n"
-#: vms-alpha.c:6985
+#: vms-alpha.c:7063
#, c-format
msgid "epilog: flags: %u, count: %u\n"
msgstr "епілог: прапорці: %u, лічильник: %u\n"
-#: vms-alpha.c:6994
+#: vms-alpha.c:7073
#, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
msgstr "blkbeg: адреÑа: 0x%08x, назва: %.*s\n"
-#: vms-alpha.c:7003
+#: vms-alpha.c:7082
#, c-format
msgid "blkend: size: 0x%08x\n"
msgstr "blkend: розмір: 0x%08x\n"
-#: vms-alpha.c:7009
+#: vms-alpha.c:7088
#, c-format
msgid "typspec (len: %u)\n"
msgstr "typspec (довж.: %u)\n"
-#: vms-alpha.c:7016
+#: vms-alpha.c:7095
#, c-format
msgid "septyp, name: %.*s\n"
msgstr "septyp, назва: %.*s\n"
-#: vms-alpha.c:7025
+#: vms-alpha.c:7104
#, c-format
msgid "recbeg: name: %.*s\n"
msgstr "recbeg: назва: %.*s\n"
-#: vms-alpha.c:7032
+#: vms-alpha.c:7106
+#, c-format
+msgid " len: %u bits\n"
+msgstr " довжина: %u бітів\n"
+
+#: vms-alpha.c:7111
#, c-format
msgid "recend\n"
msgstr "recend\n"
-#: vms-alpha.c:7035
+#: vms-alpha.c:7115
#, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
msgstr "enumbeg, довжина: %u, назва: %.*s\n"
-#: vms-alpha.c:7039
+#: vms-alpha.c:7119
#, c-format
msgid "enumelt, name: %.*s\n"
msgstr "enumelt, назва: %.*s\n"
-#: vms-alpha.c:7043
+#: vms-alpha.c:7123
#, c-format
msgid "enumend\n"
msgstr "enumend\n"
-#: vms-alpha.c:7060
+#: vms-alpha.c:7128
+#, c-format
+msgid "label, name: %.*s\n"
+msgstr "мітка, назва: %.*s\n"
+
+#: vms-alpha.c:7130
+#, c-format
+msgid " address: 0x%08x\n"
+msgstr " адреÑа: 0x%08x\n"
+
+#: vms-alpha.c:7140
#, c-format
msgid "discontiguous range (nbr: %u)\n"
msgstr "розривний діапазон (nbr: %u)\n"
-#: vms-alpha.c:7062
+#: vms-alpha.c:7143
#, c-format
msgid " address: 0x%08x, size: %u\n"
msgstr " адреÑа: 0x%08x, розмір: %u\n"
-#: vms-alpha.c:7072
+#: vms-alpha.c:7153
#, c-format
msgid "line num (len: %u)\n"
msgstr "номер Ñ€Ñдка (довжина: %u)\n"
-#: vms-alpha.c:7089
+#: vms-alpha.c:7170
#, c-format
msgid "delta_pc_w %u\n"
msgstr "delta_pc_w %u\n"
-#: vms-alpha.c:7096
+#: vms-alpha.c:7177
#, c-format
msgid "incr_linum(b): +%u\n"
msgstr "incr_linum(b): +%u\n"
-#: vms-alpha.c:7102
+#: vms-alpha.c:7183
#, c-format
msgid "incr_linum_w: +%u\n"
msgstr "incr_linum_w: +%u\n"
-#: vms-alpha.c:7108
+#: vms-alpha.c:7189
#, c-format
msgid "incr_linum_l: +%u\n"
msgstr "incr_linum_l: +%u\n"
-#: vms-alpha.c:7114
+#: vms-alpha.c:7195
#, c-format
msgid "set_line_num(w) %u\n"
msgstr "set_line_num(w) %u\n"
-#: vms-alpha.c:7119
+#: vms-alpha.c:7200
#, c-format
msgid "set_line_num_b %u\n"
msgstr "set_line_num_b %u\n"
-#: vms-alpha.c:7124
+#: vms-alpha.c:7205
#, c-format
msgid "set_line_num_l %u\n"
msgstr "set_line_num_l %u\n"
-#: vms-alpha.c:7129
+#: vms-alpha.c:7210
#, c-format
msgid "set_abs_pc: 0x%08x\n"
msgstr "set_abs_pc: 0x%08x\n"
-#: vms-alpha.c:7133
+#: vms-alpha.c:7214
#, c-format
msgid "delta_pc_l: +0x%08x\n"
msgstr "delta_pc_l: +0x%08x\n"
-#: vms-alpha.c:7138
+#: vms-alpha.c:7219
#, c-format
msgid "term(b): 0x%02x"
msgstr "term(b): 0x%02x"
-#: vms-alpha.c:7140
+#: vms-alpha.c:7221
#, c-format
msgid " pc: 0x%08x\n"
msgstr " pc: 0x%08x\n"
-#: vms-alpha.c:7145
+#: vms-alpha.c:7226
#, c-format
msgid "term_w: 0x%04x"
msgstr "term_w: 0x%04x"
-#: vms-alpha.c:7147
+#: vms-alpha.c:7228
#, c-format
msgid " pc: 0x%08x\n"
msgstr " pc: 0x%08x\n"
-#: vms-alpha.c:7153
+#: vms-alpha.c:7234
#, c-format
msgid "delta pc +%-4d"
msgstr "приріÑÑ‚ pc +%-4d"
-#: vms-alpha.c:7156
+#: vms-alpha.c:7238
#, c-format
msgid " pc: 0x%08x line: %5u\n"
msgstr " pc: 0x%08x Ñ€Ñдок: %5u\n"
-#: vms-alpha.c:7161
+#: vms-alpha.c:7243
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr " *непридатна* команда %u\n"
-#: vms-alpha.c:7176
+#: vms-alpha.c:7258
#, c-format
msgid "source (len: %u)\n"
msgstr "джерело (довжина: %u)\n"
-#: vms-alpha.c:7190
+#: vms-alpha.c:7273
#, c-format
msgid " declfile: len: %u, flags: %u, fileid: %u\n"
msgstr " declfile: довжина: %u, прапорці: %u, ід. файла: %u\n"
-#: vms-alpha.c:7194
+#: vms-alpha.c:7278
#, c-format
msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
msgstr " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
-#: vms-alpha.c:7203
+#: vms-alpha.c:7287
#, c-format
msgid " filename : %.*s\n"
msgstr " назва файла: %.*s\n"
-#: vms-alpha.c:7212
+#: vms-alpha.c:7296
#, c-format
msgid " setfile %u\n"
msgstr " setfile %u\n"
-#: vms-alpha.c:7217 vms-alpha.c:7222
+#: vms-alpha.c:7301 vms-alpha.c:7306
#, c-format
msgid " setrec %u\n"
msgstr " setrec %u\n"
-#: vms-alpha.c:7227 vms-alpha.c:7232
+#: vms-alpha.c:7311 vms-alpha.c:7316
#, c-format
msgid " setlnum %u\n"
msgstr " setlnum %u\n"
-#: vms-alpha.c:7237 vms-alpha.c:7242
+#: vms-alpha.c:7321 vms-alpha.c:7326
#, c-format
msgid " deflines %u\n"
msgstr " deflines %u\n"
-#: vms-alpha.c:7246
+#: vms-alpha.c:7330
#, c-format
msgid " formfeed\n"
msgstr " formfeed\n"
-#: vms-alpha.c:7250
+#: vms-alpha.c:7334
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr " *непридатна* команда %u\n"
-#: vms-alpha.c:7262
+#: vms-alpha.c:7346
#, c-format
msgid "*unhandled* dst type %u\n"
msgstr "*непридатний* тип призначеннÑ, %u\n"
-#: vms-alpha.c:7294
+#: vms-alpha.c:7378
#, c-format
msgid "cannot read EIHD\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHD\n"
-#: vms-alpha.c:7297
+#: vms-alpha.c:7382
#, c-format
msgid "EIHD: (size: %u, nbr blocks: %u)\n"
msgstr "EIHD: (розмір: %u, кількіÑÑ‚ÑŒ блоків: %u)\n"
-#: vms-alpha.c:7300
+#: vms-alpha.c:7386
#, c-format
msgid " majorid: %u, minorid: %u\n"
msgstr " majorid: %u, minorid: %u\n"
-#: vms-alpha.c:7308
+#: vms-alpha.c:7394
msgid "executable"
msgstr "виконуваний"
-#: vms-alpha.c:7311
+#: vms-alpha.c:7397
msgid "linkable image"
msgstr "компонований образ"
-#: vms-alpha.c:7317
+#: vms-alpha.c:7404
#, c-format
msgid " image type: %u (%s)"
msgstr " тип образу: %u (%s)"
-#: vms-alpha.c:7323
+#: vms-alpha.c:7410
msgid "native"
msgstr "Ñтандартний"
-#: vms-alpha.c:7326
+#: vms-alpha.c:7413
msgid "CLI"
msgstr "CLI"
-#: vms-alpha.c:7332
+#: vms-alpha.c:7420
#, c-format
msgid ", subtype: %u (%s)\n"
msgstr ", підтип: %u (%s)\n"
-#: vms-alpha.c:7338
+#: vms-alpha.c:7427
#, c-format
msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
msgstr " зÑуви: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
-#: vms-alpha.c:7342
+#: vms-alpha.c:7431
#, c-format
msgid " fixup info rva: "
msgstr " дані щодо прив’Ñзки rva: "
-#: vms-alpha.c:7344
+#: vms-alpha.c:7433
#, c-format
msgid ", symbol vector rva: "
msgstr ", вектор Ñимволів rva: "
-#: vms-alpha.c:7347
+#: vms-alpha.c:7436
#, c-format
msgid ""
"\n"
@@ -5255,694 +7388,688 @@ msgstr ""
"\n"
" відÑтуп маÑиву верÑÑ–Ñ—: %u\n"
-#: vms-alpha.c:7351
+#: vms-alpha.c:7441
#, c-format
msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
msgstr " лічильник введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: %u, к-Ñ‚ÑŒ каналів: %u, пріоритетніÑÑ‚ÑŒ: %08x%08x\n"
-#: vms-alpha.c:7357
+#: vms-alpha.c:7447
#, c-format
msgid " linker flags: %08x:"
msgstr " прапорці компонувальника: %08x:"
-#: vms-alpha.c:7387
+#: vms-alpha.c:7478
#, c-format
msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
msgstr " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
-#: vms-alpha.c:7393
+#: vms-alpha.c:7484
#, c-format
msgid " BPAGE: %u"
msgstr " BPAGE: %u"
-#: vms-alpha.c:7399
+#: vms-alpha.c:7491
#, c-format
msgid ", ext fixup offset: %u, no_opt psect off: %u"
msgstr ", зÑув розшир. прив’зÑки: %u, зÑув psect no_opt: %u"
-#: vms-alpha.c:7402
+#: vms-alpha.c:7494
#, c-format
msgid ", alias: %u\n"
msgstr ", пÑевдонім: %u\n"
-#: vms-alpha.c:7410
+#: vms-alpha.c:7502
#, c-format
msgid "system version array information:\n"
msgstr "маÑив даних щодо верÑÑ–Ñ— ÑиÑтеми:\n"
-#: vms-alpha.c:7414
+#: vms-alpha.c:7506
#, c-format
msgid "cannot read EIHVN header\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок EIHVN\n"
-#: vms-alpha.c:7424
+#: vms-alpha.c:7516
#, c-format
msgid "cannot read EIHVN version\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ верÑÑ–ÑŽ EIHVN\n"
-#: vms-alpha.c:7427
+#: vms-alpha.c:7519
#, c-format
msgid " %02u "
msgstr " %02u "
-#: vms-alpha.c:7431
+#: vms-alpha.c:7523
msgid "BASE_IMAGE "
msgstr "BASE_IMAGE "
-#: vms-alpha.c:7434
+#: vms-alpha.c:7526
msgid "MEMORY_MANAGEMENT"
msgstr "MEMORY_MANAGEMENT"
-#: vms-alpha.c:7437
+#: vms-alpha.c:7529
msgid "IO "
msgstr "IO "
-#: vms-alpha.c:7440
+#: vms-alpha.c:7532
msgid "FILES_VOLUMES "
msgstr "FILES_VOLUMES "
-#: vms-alpha.c:7443
+#: vms-alpha.c:7535
msgid "PROCESS_SCHED "
msgstr "PROCESS_SCHED "
-#: vms-alpha.c:7446
+#: vms-alpha.c:7538
msgid "SYSGEN "
msgstr "SYSGEN "
-#: vms-alpha.c:7449
+#: vms-alpha.c:7541
msgid "CLUSTERS_LOCKMGR "
msgstr "CLUSTERS_LOCKMGR "
-#: vms-alpha.c:7452
+#: vms-alpha.c:7544
msgid "LOGICAL_NAMES "
msgstr "LOGICAL_NAMES "
-#: vms-alpha.c:7455
+#: vms-alpha.c:7547
msgid "SECURITY "
msgstr "SECURITY "
-#: vms-alpha.c:7458
+#: vms-alpha.c:7550
msgid "IMAGE_ACTIVATOR "
msgstr "IMAGE_ACTIVATOR "
-#: vms-alpha.c:7461
+#: vms-alpha.c:7553
msgid "NETWORKS "
msgstr "NETWORKS "
-#: vms-alpha.c:7464
+#: vms-alpha.c:7556
msgid "COUNTERS "
msgstr "COUNTERS "
-#: vms-alpha.c:7467
+#: vms-alpha.c:7559
msgid "STABLE "
msgstr "STABLE "
-#: vms-alpha.c:7470
+#: vms-alpha.c:7562
msgid "MISC "
msgstr "MISC "
-#: vms-alpha.c:7473
+#: vms-alpha.c:7565
msgid "CPU "
msgstr "CPU "
-#: vms-alpha.c:7476
+#: vms-alpha.c:7568
msgid "VOLATILE "
msgstr "VOLATILE "
-#: vms-alpha.c:7479
+#: vms-alpha.c:7571
msgid "SHELL "
msgstr "SHELL "
-#: vms-alpha.c:7482
+#: vms-alpha.c:7574
msgid "POSIX "
msgstr "POSIX "
-#: vms-alpha.c:7485
+#: vms-alpha.c:7577
msgid "MULTI_PROCESSING "
msgstr "MULTI_PROCESSING "
-#: vms-alpha.c:7488
+#: vms-alpha.c:7580
msgid "GALAXY "
msgstr "GALAXY "
-#: vms-alpha.c:7491
+#: vms-alpha.c:7583
msgid "*unknown* "
msgstr "*невідомо* "
-#: vms-alpha.c:7494
-#, c-format
-msgid ": %u.%u\n"
-msgstr ": %u.%u\n"
-
-#: vms-alpha.c:7507 vms-alpha.c:7766
+#: vms-alpha.c:7599 vms-alpha.c:7874
#, c-format
msgid "cannot read EIHA\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHA\n"
-#: vms-alpha.c:7510
+#: vms-alpha.c:7602
#, c-format
msgid "Image activation: (size=%u)\n"
msgstr "ÐÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (розмір=%u)\n"
-#: vms-alpha.c:7512
+#: vms-alpha.c:7605
#, c-format
msgid " First address : 0x%08x 0x%08x\n"
msgstr " Перша адреÑа: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7515
+#: vms-alpha.c:7609
#, c-format
msgid " Second address: 0x%08x 0x%08x\n"
msgstr " Друга адреÑа: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7518
+#: vms-alpha.c:7613
#, c-format
msgid " Third address : 0x%08x 0x%08x\n"
msgstr " Ð¢Ñ€ÐµÑ‚Ñ Ð°Ð´Ñ€ÐµÑа: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7521
+#: vms-alpha.c:7617
#, c-format
msgid " Fourth address: 0x%08x 0x%08x\n"
msgstr " Четверта адреÑа: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7524
+#: vms-alpha.c:7621
#, c-format
msgid " Shared image : 0x%08x 0x%08x\n"
msgstr " Спільний образ: 0x%08x 0x%08x\n"
-#: vms-alpha.c:7535
+#: vms-alpha.c:7632
#, c-format
msgid "cannot read EIHI\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHI\n"
-#: vms-alpha.c:7538
+#: vms-alpha.c:7636
#, c-format
msgid "Image identification: (major: %u, minor: %u)\n"
msgstr "Ð†Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: (Ñтарший: %u, молодший: %u)\n"
-#: vms-alpha.c:7541
+#: vms-alpha.c:7639
#, c-format
msgid " image name : %.*s\n"
msgstr " назва образу : %.*s\n"
-#: vms-alpha.c:7543
+#: vms-alpha.c:7641
#, c-format
msgid " link time : %s\n"
msgstr " Ñ‡Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ : %s\n"
-#: vms-alpha.c:7545
+#: vms-alpha.c:7643
#, c-format
msgid " image ident : %.*s\n"
msgstr " ід. образу : %.*s\n"
-#: vms-alpha.c:7547
+#: vms-alpha.c:7645
#, c-format
msgid " linker ident : %.*s\n"
msgstr " ід. компонувальника: %.*s\n"
-#: vms-alpha.c:7549
+#: vms-alpha.c:7647
#, c-format
msgid " image build ident: %.*s\n"
msgstr " ідентифікатор Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð·Ñƒ: %.*s\n"
-#: vms-alpha.c:7559
+#: vms-alpha.c:7657
#, c-format
msgid "cannot read EIHS\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EIHS\n"
-#: vms-alpha.c:7562
+#: vms-alpha.c:7661
#, c-format
msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів Ñ– діагноÑтики образу (оÑновна: %u, модифікаціÑ: %u)\n"
-#: vms-alpha.c:7567
+#: vms-alpha.c:7667
#, c-format
msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтичних Ñимволів: vbn: %u, розмір: %u (0x%x)\n"
-#: vms-alpha.c:7571
+#: vms-alpha.c:7672
#, c-format
msgid " global symbol table: vbn: %u, records: %u\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñимволів: vbn: %u, запиÑів: %u\n"
-#: vms-alpha.c:7575
+#: vms-alpha.c:7677
#, c-format
msgid " debug module table : vbn: %u, size: %u\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтики модулів: vbn: %u, розмір: %u\n"
-#: vms-alpha.c:7588
+#: vms-alpha.c:7690
#, c-format
msgid "cannot read EISD\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ EISD\n"
-#: vms-alpha.c:7598
+#: vms-alpha.c:7701
#, c-format
msgid "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
msgstr "ДеÑкриптор розділу образу: (оÑновна: %u, модифікаціÑ: %u, розмір: %u, відÑтуп: %u)\n"
-#: vms-alpha.c:7605
+#: vms-alpha.c:7709
#, c-format
msgid " section: base: 0x%08x%08x size: 0x%08x\n"
msgstr " розділ: оÑнова: 0x%08x%08x розмір: 0x%08x\n"
-#: vms-alpha.c:7610
+#: vms-alpha.c:7714
#, c-format
msgid " flags: 0x%04x"
msgstr " прапорці: 0x%04x"
-#: vms-alpha.c:7647
+#: vms-alpha.c:7752
#, c-format
msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
msgstr " vbn: %u, pfc: %u, matchctl: %u тип: %u ("
-#: vms-alpha.c:7653
+#: vms-alpha.c:7758
msgid "NORMAL"
msgstr "NORMAL"
-#: vms-alpha.c:7656
+#: vms-alpha.c:7761
msgid "SHRFXD"
msgstr "SHRFXD"
-#: vms-alpha.c:7659
+#: vms-alpha.c:7764
msgid "PRVFXD"
msgstr "PRVFXD"
-#: vms-alpha.c:7662
+#: vms-alpha.c:7767
msgid "SHRPIC"
msgstr "SHRPIC"
-#: vms-alpha.c:7665
+#: vms-alpha.c:7770
msgid "PRVPIC"
msgstr "PRVPIC"
-#: vms-alpha.c:7668
+#: vms-alpha.c:7773
msgid "USRSTACK"
msgstr "USRSTACK"
-#: vms-alpha.c:7676
+#: vms-alpha.c:7779
+msgid ")\n"
+msgstr ")\n"
+
+#: vms-alpha.c:7782
#, c-format
msgid " ident: 0x%08x, name: %.*s\n"
msgstr " ідентифікатор: 0x%08x, назва: %.*s\n"
-#: vms-alpha.c:7686
+#: vms-alpha.c:7792
#, c-format
msgid "cannot read DMT\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DMT\n"
-#: vms-alpha.c:7690
+#: vms-alpha.c:7796
#, c-format
msgid "Debug module table:\n"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтичних Ñимволів:\n"
-#: vms-alpha.c:7699
+#: vms-alpha.c:7805
#, c-format
msgid "cannot read DMT header\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок DMT\n"
-#: vms-alpha.c:7704
+#: vms-alpha.c:7811
#, c-format
msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
msgstr " відÑтуп модулÑ: 0x%08x, розмір: 0x%08x, (%u psect)\n"
-#: vms-alpha.c:7714
+#: vms-alpha.c:7821
#, c-format
msgid "cannot read DMT psect\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ psect DMT\n"
-#: vms-alpha.c:7717
+#: vms-alpha.c:7825
#, c-format
msgid " psect start: 0x%08x, length: %u\n"
msgstr " початок psect: 0x%08x, довжина: %u\n"
-#: vms-alpha.c:7730
+#: vms-alpha.c:7838
#, c-format
msgid "cannot read DST\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ DST\n"
-#: vms-alpha.c:7740
+#: vms-alpha.c:7848
#, c-format
msgid "cannot read GST\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ GST\n"
-#: vms-alpha.c:7744
+#: vms-alpha.c:7852
#, c-format
msgid "Global symbol table:\n"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñимволів:\n"
-#: vms-alpha.c:7772
+#: vms-alpha.c:7881
#, c-format
msgid "Image activator fixup: (major: %u, minor: %u)\n"
msgstr "Прив’Ñзка адреÑи активатора образу: (оÑновна: %u, модифікаціÑ: %u)\n"
-#: vms-alpha.c:7775
+#: vms-alpha.c:7885
#, c-format
msgid " iaflink : 0x%08x %08x\n"
msgstr " iaflink : 0x%08x %08x\n"
-#: vms-alpha.c:7778
+#: vms-alpha.c:7889
#, c-format
msgid " fixuplnk: 0x%08x %08x\n"
msgstr " fixuplnk: 0x%08x %08x\n"
-#: vms-alpha.c:7781
+#: vms-alpha.c:7892
#, c-format
msgid " size : %u\n"
msgstr " розмір: %u\n"
-#: vms-alpha.c:7783
+#: vms-alpha.c:7894
#, c-format
msgid " flags: 0x%08x\n"
msgstr " прапорці: 0x%08x\n"
-#: vms-alpha.c:7787
+#: vms-alpha.c:7899
#, c-format
msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
msgstr " qrelfixoff: %5u, lrelfixoff: %5u\n"
-#: vms-alpha.c:7791
+#: vms-alpha.c:7904
#, c-format
msgid " qdotadroff: %5u, ldotadroff: %5u\n"
msgstr " qdotadroff: %5u, ldotadroff: %5u\n"
-#: vms-alpha.c:7795
+#: vms-alpha.c:7909
#, c-format
msgid " codeadroff: %5u, lpfixoff : %5u\n"
msgstr " codeadroff: %5u, lpfixoff : %5u\n"
-#: vms-alpha.c:7798
+#: vms-alpha.c:7912
#, c-format
msgid " chgprtoff : %5u\n"
msgstr " chgprtoff : %5u\n"
-#: vms-alpha.c:7801
+#: vms-alpha.c:7916
#, c-format
msgid " shlstoff : %5u, shrimgcnt : %5u\n"
msgstr " shlstoff : %5u, shrimgcnt : %5u\n"
-#: vms-alpha.c:7803
+#: vms-alpha.c:7919
#, c-format
msgid " shlextra : %5u, permctx : %5u\n"
msgstr " shlextra : %5u, permctx : %5u\n"
-#: vms-alpha.c:7806
+#: vms-alpha.c:7922
#, c-format
msgid " base_va : 0x%08x\n"
msgstr " base_va : 0x%08x\n"
-#: vms-alpha.c:7808
+#: vms-alpha.c:7924
#, c-format
msgid " lppsbfixoff: %5u\n"
msgstr " lppsbfixoff: %5u\n"
-#: vms-alpha.c:7816
+#: vms-alpha.c:7932
#, c-format
msgid " Shareable images:\n"
msgstr " Образи Ñпільного викориÑтаннÑ:\n"
-#: vms-alpha.c:7820
+#: vms-alpha.c:7937
#, c-format
msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
msgstr " %u: розмір: %u, прапорці: 0x%02x, назва: %.*s\n"
-#: vms-alpha.c:7827
+#: vms-alpha.c:7944
#, c-format
msgid " quad-word relocation fixups:\n"
msgstr " прив’Ñзки переÑувань у чотири Ñлова:\n"
-#: vms-alpha.c:7832
+#: vms-alpha.c:7949
#, c-format
msgid " long-word relocation fixups:\n"
msgstr " прив’Ñзки переÑувань у довге Ñлово:\n"
-#: vms-alpha.c:7837
+#: vms-alpha.c:7954
#, c-format
msgid " quad-word .address reference fixups:\n"
msgstr " прив’Ñзки поÑилань .address у чотири Ñлова:\n"
-#: vms-alpha.c:7842
+#: vms-alpha.c:7959
#, c-format
msgid " long-word .address reference fixups:\n"
msgstr " прив’Ñзки поÑилань .address у довге Ñлово:\n"
-#: vms-alpha.c:7847
+#: vms-alpha.c:7964
#, c-format
msgid " Code Address Reference Fixups:\n"
msgstr " Прив’Ñзки Ð°Ð´Ñ€ÐµÑ ÐºÐ¾Ð´Ñƒ:\n"
-#: vms-alpha.c:7852
+#: vms-alpha.c:7969
#, c-format
-msgid " Linkage Pairs Referece Fixups:\n"
+msgid " Linkage Pairs Reference Fixups:\n"
msgstr " Прив’Ñзки поÑилань на пари компонуваннÑ:\n"
-#: vms-alpha.c:7861
+#: vms-alpha.c:7978
#, c-format
msgid " Change Protection (%u entries):\n"
msgstr " Зміна захиÑту (%u запиÑи):\n"
-#: vms-alpha.c:7866
+#: vms-alpha.c:7984
#, c-format
msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
msgstr " оÑн.: 0x%08x %08x, розм: 0x%08x, зах.: 0x%08x "
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
-#: vms-alpha.c:8706
+#: vms-alpha.c:8824
msgid "%P: relocatable link is not supported\n"
msgstr "%P: підтримки ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· можливіÑÑ‚ÑŽ переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ передбачено\n"
-#: vms-alpha.c:8776
+#: vms-alpha.c:8895
+#, c-format
msgid "%P: multiple entry points: in modules %B and %B\n"
msgstr "%P: декілька точок входженнÑ: у модулÑÑ… %B Ñ– %B\n"
-#: vms-lib.c:1423
+#: vms-lib.c:1445
#, c-format
msgid "could not open shared image '%s' from '%s'"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ образ Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Â«%s» з «%s»"
-#: vms-misc.c:360
+#: vms-misc.c:361
msgid "_bfd_vms_output_counted called with zero bytes"
msgstr "_bfd_vms_output_counted викликано Ð´Ð»Ñ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ñ— кількоÑÑ‚Ñ– байтів"
-#: vms-misc.c:365
+#: vms-misc.c:366
msgid "_bfd_vms_output_counted called with too many bytes"
msgstr "_bfd_vms_output_counted викликано Ð´Ð»Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ великої кількоÑÑ‚Ñ– байтів"
-#: xcofflink.c:836
-#, c-format
-msgid "%s: XCOFF shared object when not producing XCOFF output"
-msgstr "%s: Ñпільний об’єкт XCOFF, хоча дані XCOFF не ÑтворюютьÑÑ"
+#: xcofflink.c:832
+msgid "%B: XCOFF shared object when not producing XCOFF output"
+msgstr "%B: Ñпільний об’єкт XCOFF, хоча дані XCOFF не ÑтворюютьÑÑ"
-#: xcofflink.c:857
-#, c-format
-msgid "%s: dynamic object with no .loader section"
-msgstr "%s: динамічний об’єкт без розділу .loader"
+#: xcofflink.c:853
+msgid "%B: dynamic object with no .loader section"
+msgstr "%B: динамічний об’єкт без розділу .loader"
-#: xcofflink.c:1416
+#: xcofflink.c:1413
+#, c-format
msgid "%B: `%s' has line numbers but no enclosing section"
msgstr "%B: «%s» міÑтить номери Ñ€Ñдків, але не міÑтить завершального розділу"
-#: xcofflink.c:1468
+#: xcofflink.c:1466
+#, c-format
msgid "%B: class %d symbol `%s' has no aux entries"
msgstr "%B: ÐºÐ»Ð°Ñ %d, Ñимвол «%s» не має допоміжних запиÑів"
-#: xcofflink.c:1490
+#: xcofflink.c:1489
+#, c-format
msgid "%B: symbol `%s' has unrecognized csect type %d"
msgstr "B: Ñимвол «%s» належить до нерозпізнаного типу csect %d"
#: xcofflink.c:1502
+#, c-format
msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
msgstr "%B: помилковий Ñимвол XTY_ER «%s»: ÐºÐ»Ð°Ñ %d, номер розділу %d, довжина розділу %d"
-#: xcofflink.c:1531
+#: xcofflink.c:1532
+#, c-format
msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
msgstr "%B: Ñимвол XMC_TC0 «%s» Ñ” клаÑом %d, довжина розділу %d"
-#: xcofflink.c:1677
+#: xcofflink.c:1679
+#, c-format
msgid "%B: csect `%s' not in enclosing section"
msgstr "%B: csect «%s» не у завершальному розділі"
-#: xcofflink.c:1784
+#: xcofflink.c:1787
+#, c-format
msgid "%B: misplaced XTY_LD `%s'"
msgstr "%B: помилкове Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ XTY_LD «%s»"
-#: xcofflink.c:2103
+#: xcofflink.c:2108
+#, c-format
msgid "%B: reloc %s:%d not in csect"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s:%d не у csect"
-#: xcofflink.c:3194
+#: xcofflink.c:3198
#, c-format
msgid "%s: no such symbol"
msgstr "%s: немає такого Ñимволу"
-#: xcofflink.c:3299
+#: xcofflink.c:3303
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
msgstr "попередженнÑ: Ñпроба екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ Ñимволу «%s»"
-#: xcofflink.c:3678
+#: xcofflink.c:3682
msgid "error: undefined symbol __rtinit"
msgstr "помилка: невизначений Ñимвол __rtinit"
-#: xcofflink.c:4057
+#: xcofflink.c:4062
+#, c-format
msgid "%B: loader reloc in unrecognized section `%s'"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° у нерозпізнаному розділі «%s»"
-#: xcofflink.c:4068
+#: xcofflink.c:4074
+#, c-format
msgid "%B: `%s' in loader reloc but not loader sym"
msgstr "%B: «%s» у переÑуванні завантажувача, але не у Ñимволах завантаженнÑ"
-#: xcofflink.c:4084
+#: xcofflink.c:4091
+#, c-format
msgid "%B: loader reloc in read-only section %A"
msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° у розділі, призначеному лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, %A"
-#: xcofflink.c:5106
+#: xcofflink.c:5115
#, c-format
msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
msgstr "ÐŸÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ TOC: 0x%lx > 0x10000; Ñпробуйте параметр -mminimal-toc під Ñ‡Ð°Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ"
-#: elf32-ia64.c:628 elf64-ia64.c:628
-msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: не вдалоÑÑ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br за адреÑою 0x%lx у розділі «%A». Будь лаÑка, ÑкориÑтайтеÑÑ brl або непрÑмим відгалуженнÑм."
-
-#: elf32-ia64.c:2284 elf64-ia64.c:2284
-msgid "@pltoff reloc against local symbol"
-msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ @pltoff щодо локального Ñимволу"
-
-#: elf32-ia64.c:3687 elf64-ia64.c:3687
-#, c-format
-msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
-msgstr "%s: переповнено короткий Ñегмент даних (0x%lx >= 0x400000)"
-
-#: elf32-ia64.c:3698 elf64-ia64.c:3698
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:1890
#, c-format
-msgid "%s: __gp does not cover short data segment"
-msgstr "%s: __gp не вкриває короткого Ñегмента даних"
-
-#: elf32-ia64.c:3965 elf64-ia64.c:3965
-msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: не-pic код з переÑуваннÑм imm щодо динамічного Ñимволу «%s»"
-
-#: elf32-ia64.c:4032 elf64-ia64.c:4032
-msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ @gprel щодо динамічного Ñимволу %s"
+msgid "Invalid AArch64 reloc number: %d"
+msgstr "Ðекоректне чиÑло переÑÑƒÐ²Ð°Ð½Ð½Ñ AArch64: %d"
-#: elf32-ia64.c:4095 elf64-ia64.c:4095
-msgid "%B: linking non-pic code in a position independent executable"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ-pic коду у виконуваному файлі з незалежним позиціюваннÑм"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4777
+msgid "%B: error: Erratum 835769 stub out of range (input file too large)"
+msgstr "%B: помилка: замінник Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° помилки 835769 перебуває поза доÑтупним діапазоном (файл вхідних даних Ñ” надто великим)"
-#: elf32-ia64.c:4232 elf64-ia64.c:4232
-msgid "%B: @internal branch to dynamic symbol %s"
-msgstr "%B: Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ @internal до динамічного Ñимволу %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:4858
+msgid "%B: error: Erratum 843419 stub out of range (input file too large)"
+msgstr "%B: помилка: замінник Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸ÐºÐ° помилки 843419 перебуває поза доÑтупним діапазоном (файл вхідних даних Ñ” надто великим)"
-#: elf32-ia64.c:4234 elf64-ia64.c:4234
-msgid "%B: speculation fixup to dynamic symbol %s"
-msgstr "%B: здогадка щодо адреÑної прив’Ñзки до динамічного Ñимволу %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5340
+#, c-format
+msgid "%B: relocation %s against symbol `%s' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо Ñимволу «%s», Ñкий може прив’ÑзуватиÑÑ Ð·Ð·Ð¾Ð²Ð½Ñ–, не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ; повторно зберіть з -fPIC"
-#: elf32-ia64.c:4236 elf64-ia64.c:4236
-msgid "%B: @pcrel relocation against dynamic symbol %s"
-msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ @pcrel щодо динамічного Ñимволу %s"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:5431
+#, c-format
+msgid "%B: Local symbol descriptor table be NULL when applying relocation %s against local symbol"
+msgstr "%B: локальна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð´ÐµÑкрипторів Ñимволів Ñ” NULL під Ñ‡Ð°Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо локального Ñимволу"
-#: elf32-ia64.c:4433 elf64-ia64.c:4433
-msgid "unsupported reloc"
-msgstr "непідтримуване переÑуваннÑ"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6459
+msgid "Too many GOT entries for -fpic, please recompile with -fPIC"
+msgstr "Забагато запиÑів GOT Ð´Ð»Ñ -fpic. Будь лаÑка, зберіть повторно з -fPIC"
-#: elf32-ia64.c:4471 elf64-ia64.c:4471
-msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: не виÑтачає розділу TLS Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо «%s» за адреÑою 0x%lx у розділі «%A»."
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-aarch64.c:6487
+msgid "One possible cause of this error is that the symbol is being referenced in the indicated code as if it had a larger alignment than was declared where it was defined."
+msgstr "Однією із можливих причин цієї помилки Ñ” те, що поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол у коді виконуєтьÑÑ Ñ‚Ð°Ðº, наче Ñимвол має більше вирівнюваннÑ, ніж було оголошено там, де його було визначено."
-#: elf32-ia64.c:4486 elf64-ia64.c:4486
-msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: не вдалоÑÑ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ br (%s) до «%s» за адреÑою 0x%lx у розділі «%A» з розміром 0x%lx (> 0x1000000)."
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2600
+msgid ""
+"%B: ABI is incompatible with that of the selected emulation:\n"
+" target emulation `%s' does not match `%s'"
+msgstr ""
+"%B: ABI Ñ” неÑуміÑним із вибраною емулÑцією:\n"
+" ціль емулÑції, «%s», не відповідає «%s»"
-#: elf32-ia64.c:4748 elf64-ia64.c:4748
-msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ trap-on-NULL-dereference з файлами без Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ (trapping)"
+#: /Users/gingold/Repositories/fsf/binutils-gdb.git/bfd/elfnn-riscv.c:2620
+msgid "%B: can't link hard-float modules with soft-float modules"
+msgstr "%B: не можна компонувати модулі із апаратною рухомою крапкою із модулÑми із програмною рухомою крапкою"
-#: elf32-ia64.c:4757 elf64-ia64.c:4757
-msgid "%B: linking big-endian files with little-endian files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² зі прÑмим порÑдком байтів з файлами зі зворотним порÑдком байтів"
+#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+msgid "%B: unable to find name for empty section"
+msgstr "%B: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ назву порожнього розділу"
-#: elf32-ia64.c:4766 elf64-ia64.c:4766
-msgid "%B: linking 64-bit files with 32-bit files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ 64-бітових файлів з 32-бітовими файлами"
+#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+msgid "%B: out of memory creating name for empty section"
+msgstr "%B: вихід за межі облаÑÑ‚Ñ– пам’ÑÑ‚Ñ– під Ñ‡Ð°Ñ Ñпроби Ñтворити назву Ð´Ð»Ñ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ розділу"
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
-msgid "%B: linking constant-gp files with non-constant-gp files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² зі Ñталим gp з файлами зі змінним gp"
+#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+msgid "%B: unable to create fake empty section"
+msgstr "%B: не вдалоÑÑ Ñтворити фіктивний порожній розділ"
-#: elf32-ia64.c:4785 elf64-ia64.c:4785
-msgid "%B: linking auto-pic files with non-auto-pic files"
-msgstr "%B: ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² з автоматичним pic з файлами без автоматичного pic"
+#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+msgid "%B: aout header specifies an invalid number of data-directory entries: %d"
+msgstr "%B: заголовок aout вказує некоректну кількіÑÑ‚ÑŒ запиÑів каталогу даних: %d"
-#: peigen.c:1002 pepigen.c:1002 pex64igen.c:1002
+#: peigen.c:1089 pepigen.c:1089 pex64igen.c:1089
#, c-format
-msgid "%s: line number overflow: 0x%lx > 0xffff"
-msgstr "%s: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків; 0x%lx > 0xffff"
+msgid "%B: line number overflow: 0x%lx > 0xffff"
+msgstr "%B: Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків; 0x%lx > 0xffff"
-#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029
+#: peigen.c:1233 pepigen.c:1233 pex64igen.c:1233
msgid "Export Directory [.edata (or where ever we found it)]"
msgstr "Каталог екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ [.edata (або інше міÑце, де його знайдено)]"
-#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030
+#: peigen.c:1234 pepigen.c:1234 pex64igen.c:1234
msgid "Import Directory [parts of .idata]"
msgstr "Каталог Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ [чаÑтини .idata]"
-#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031
+#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
msgid "Resource Directory [.rsrc]"
msgstr "Каталог реÑурÑів [.rsrc]"
-#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032
+#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
msgid "Exception Directory [.pdata]"
msgstr "Каталог виключень [.pdata]"
-#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033
+#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
msgid "Security Directory"
msgstr "Каталог захиÑту"
-#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034
+#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
msgid "Base Relocation Directory [.reloc]"
msgstr "Каталог базового переÑÑƒÐ²Ð°Ð½Ð½Ñ [.reloc]"
-#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035
+#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
msgid "Debug Directory"
msgstr "Каталог діагноÑтики"
-#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036
+#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
msgid "Description Directory"
msgstr "Каталог опиÑів"
-#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037
+#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
msgid "Special Directory"
msgstr "ОÑобливий каталог"
-#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038
+#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
msgid "Thread Storage Directory [.tls]"
msgstr "Каталог Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² [.tls]"
-#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039
+#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
msgid "Load Configuration Directory"
msgstr "Каталог Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ"
-#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040
+#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
msgid "Bound Import Directory"
msgstr "Каталог вимушеного імпортуваннÑ"
-#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041
+#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
msgid "Import Address Table Directory"
msgstr "Каталог Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– адреÑ"
-#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042
+#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
msgid "Delay Import Directory"
msgstr "Каталог відкладеного імпортуваннÑ"
-#: peigen.c:1043 pepigen.c:1043 pex64igen.c:1043
+#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
msgid "CLR Runtime Header"
msgstr "Динамічний заголовок CLR"
-#: peigen.c:1044 pepigen.c:1044 pex64igen.c:1044
+#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
msgid "Reserved"
msgstr "Зарезервовано"
-#: peigen.c:1104 pepigen.c:1104 pex64igen.c:1104
+#: peigen.c:1308 pepigen.c:1308 pex64igen.c:1308
#, c-format
msgid ""
"\n"
@@ -5951,7 +8078,16 @@ msgstr ""
"\n"
"ІÑнує Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ, але розділу, що Ñ—Ñ— міÑтить не знайдено\n"
-#: peigen.c:1109 pepigen.c:1109 pex64igen.c:1109
+#: peigen.c:1314 pepigen.c:1314 pex64igen.c:1314
+#, c-format
+msgid ""
+"\n"
+"There is an import table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"У %s Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ, але у цьому розділі немає даних\n"
+
+#: peigen.c:1321 pepigen.c:1321 pex64igen.c:1321
#, c-format
msgid ""
"\n"
@@ -5960,7 +8096,7 @@ msgstr ""
"\n"
"У %s зберігаєтьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ 0x%lx\n"
-#: peigen.c:1151 pepigen.c:1151 pex64igen.c:1151
+#: peigen.c:1363 pepigen.c:1363 pex64igen.c:1363
#, c-format
msgid ""
"\n"
@@ -5969,12 +8105,12 @@ msgstr ""
"\n"
"ДеÑкриптор функції розташовано за початковою адреÑою %04lx\n"
-#: peigen.c:1154 pepigen.c:1154 pex64igen.c:1154
+#: peigen.c:1367 pepigen.c:1367 pex64igen.c:1367
#, c-format
msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
msgstr "\ttoc оÑнови коду %08lx (завантажуваний/дійÑний) %08lx/%08lx\n"
-#: peigen.c:1162 pepigen.c:1162 pex64igen.c:1162
+#: peigen.c:1375 pepigen.c:1375 pex64igen.c:1375
#, c-format
msgid ""
"\n"
@@ -5983,7 +8119,7 @@ msgstr ""
"\n"
"Ðемає розділу reldata! ДеÑкриптор функції не розшифровано.\n"
-#: peigen.c:1167 pepigen.c:1167 pex64igen.c:1167
+#: peigen.c:1380 pepigen.c:1380 pex64igen.c:1380
#, c-format
msgid ""
"\n"
@@ -5992,7 +8128,7 @@ msgstr ""
"\n"
"Таблиці Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ (оброблений вміÑÑ‚ розділу %s)\n"
-#: peigen.c:1170 pepigen.c:1170 pex64igen.c:1170
+#: peigen.c:1383 pepigen.c:1383 pex64igen.c:1383
#, c-format
msgid ""
" vma: Hint Time Forward DLL First\n"
@@ -6001,21 +8137,21 @@ msgstr ""
" vma: Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð§Ð°Ñова Ланцюжок Ðазва Перший\n"
" вказ. Позначка ÑпрÑм. DLL шлюз\n"
-#: peigen.c:1218 pepigen.c:1218 pex64igen.c:1218
+#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433
#, c-format
msgid ""
"\n"
-"\tDLL Name: %s\n"
+"\tDLL Name: %.*s\n"
msgstr ""
"\n"
-"\tÐазва DLL: %s\n"
+"\tÐазва DLL: %.*s\n"
-#: peigen.c:1229 pepigen.c:1229 pex64igen.c:1229
+#: peigen.c:1449 pepigen.c:1449 pex64igen.c:1449
#, c-format
msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
msgstr "\tvma: Вказ/Пор Ðазва-елемента Прив’Ñзано-до\n"
-#: peigen.c:1254 pepigen.c:1254 pex64igen.c:1254
+#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474
#, c-format
msgid ""
"\n"
@@ -6024,7 +8160,13 @@ msgstr ""
"\n"
"ІÑнує Ð·Ð°Ð¿Ð¸Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ переходу, але розділу, що його міÑтить не знайдено\n"
-#: peigen.c:1415 pepigen.c:1415 pex64igen.c:1415
+#: peigen.c:1518 peigen.c:1556 pepigen.c:1518 pepigen.c:1556 pex64igen.c:1518
+#: pex64igen.c:1556
+#, c-format
+msgid "\t<corrupt: 0x%04lx>"
+msgstr "\t<пошкоджено: 0x%04lx>"
+
+#: peigen.c:1649 pepigen.c:1649 pex64igen.c:1649
#, c-format
msgid ""
"\n"
@@ -6033,7 +8175,16 @@ msgstr ""
"\n"
"ІÑнує Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– екÑпортуваннÑ, але розділу, що Ñ—Ñ— міÑтить не знайдено\n"
-#: peigen.c:1424 pepigen.c:1424 pex64igen.c:1424
+#: peigen.c:1655 pepigen.c:1655 pex64igen.c:1655
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"У %s Ñ” Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортуваннÑ, але у цьому розділі немає даних\n"
+
+#: peigen.c:1665 pepigen.c:1665 pex64igen.c:1665
#, c-format
msgid ""
"\n"
@@ -6042,7 +8193,16 @@ msgstr ""
"\n"
"У %s зберігаєтьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортуваннÑ, але Ñ—Ñ— не можна вміÑтити у цьому розділі\n"
-#: peigen.c:1430 pepigen.c:1430 pex64igen.c:1430
+#: peigen.c:1676 pepigen.c:1676 pex64igen.c:1676
+#, c-format
+msgid ""
+"\n"
+"There is an export table in %s, but it is too small (%d)\n"
+msgstr ""
+"\n"
+"У %s зберігаєтьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортуваннÑ, але вона Ñ” надто малою (%d)\n"
+
+#: peigen.c:1682 pepigen.c:1682 pex64igen.c:1682
#, c-format
msgid ""
"\n"
@@ -6051,7 +8211,7 @@ msgstr ""
"\n"
"У %s зберігаєтьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ 0x%lx\n"
-#: peigen.c:1458 pepigen.c:1458 pex64igen.c:1458
+#: peigen.c:1710 pepigen.c:1710 pex64igen.c:1710
#, c-format
msgid ""
"\n"
@@ -6061,67 +8221,67 @@ msgstr ""
"\n"
"Таблиці екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ (оброблений вміÑÑ‚ розділу %s)\n"
-#: peigen.c:1462 pepigen.c:1462 pex64igen.c:1462
+#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
#, c-format
msgid "Export Flags \t\t\t%lx\n"
msgstr "Прапорці екÑпортуваннÑ\t\t%lx\n"
-#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465
+#: peigen.c:1717 pepigen.c:1717 pex64igen.c:1717
#, c-format
msgid "Time/Date stamp \t\t%lx\n"
msgstr "Позначка чаÑу/дати\t\t%lx\n"
-#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468
+#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
#, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
msgstr "ОÑновна/ÐœÐ¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ \t\t\t%d/%d\n"
-#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471
+#: peigen.c:1724 pepigen.c:1724 pex64igen.c:1724
#, c-format
msgid "Name \t\t\t\t"
msgstr "Ðазва\t\t\t\t"
-#: peigen.c:1477 pepigen.c:1477 pex64igen.c:1477
+#: peigen.c:1735 pepigen.c:1735 pex64igen.c:1735
#, c-format
msgid "Ordinal Base \t\t\t%ld\n"
msgstr "ОÑнова впорÑдковуваннÑ\t\t%ld\n"
-#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480
+#: peigen.c:1738 pepigen.c:1738 pex64igen.c:1738
#, c-format
msgid "Number in:\n"
msgstr "Ðомер у:\n"
-#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483
+#: peigen.c:1741 pepigen.c:1741 pex64igen.c:1741
#, c-format
msgid "\tExport Address Table \t\t%08lx\n"
msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортованих Ð°Ð´Ñ€ÐµÑ \t\t%08lx\n"
-#: peigen.c:1487 pepigen.c:1487 pex64igen.c:1487
+#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
#, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ [вказівників назв/порÑдкових номерів]\t%08lx\n"
-#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490
+#: peigen.c:1748 pepigen.c:1748 pex64igen.c:1748
#, c-format
msgid "Table Addresses\n"
msgstr "Табличні адреÑи\n"
-#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493
+#: peigen.c:1751 pepigen.c:1751 pex64igen.c:1751
#, c-format
msgid "\tExport Address Table \t\t"
msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортованих Ð°Ð´Ñ€ÐµÑ \t\t"
-#: peigen.c:1498 pepigen.c:1498 pex64igen.c:1498
+#: peigen.c:1756 pepigen.c:1756 pex64igen.c:1756
#, c-format
msgid "\tName Pointer Table \t\t"
msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÑ–Ð² на назви \t\t"
-#: peigen.c:1503 pepigen.c:1503 pex64igen.c:1503
+#: peigen.c:1761 pepigen.c:1761 pex64igen.c:1761
#, c-format
msgid "\tOrdinal Table \t\t\t"
msgstr "\tÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² \t\t\t"
-#: peigen.c:1517 pepigen.c:1517 pex64igen.c:1517
+#: peigen.c:1775 pepigen.c:1775 pex64igen.c:1775
#, c-format
msgid ""
"\n"
@@ -6130,15 +8290,20 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐµÐºÑпортованих Ð°Ð´Ñ€ÐµÑ â€” оÑнова порÑдкових номерів: %ld\n"
-#: peigen.c:1536 pepigen.c:1536 pex64igen.c:1536
+#: peigen.c:1784 pepigen.c:1784 pex64igen.c:1784
+#, c-format
+msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐекоректне rva (0x%lx) або кількіÑÑ‚ÑŒ запиÑів (0x%lx) таблиці Ð°Ð´Ñ€ÐµÑ ÐµÐºÑпортуваннÑ\n"
+
+#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
msgid "Forwarder RVA"
msgstr "ПереÑпрÑмовний RVA"
-#: peigen.c:1547 pepigen.c:1547 pex64igen.c:1547
+#: peigen.c:1815 pepigen.c:1815 pex64igen.c:1815
msgid "Export RVA"
msgstr "ЕкÑпортований RVA"
-#: peigen.c:1554 pepigen.c:1554 pex64igen.c:1554
+#: peigen.c:1822 pepigen.c:1822 pex64igen.c:1822
#, c-format
msgid ""
"\n"
@@ -6147,18 +8312,43 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ [порÑдкових номерів/вказівників на назви]\n"
-#: peigen.c:1614 peigen.c:1797 pepigen.c:1614 pepigen.c:1797 pex64igen.c:1614
-#: pex64igen.c:1797
+#: peigen.c:1830 pepigen.c:1830 pex64igen.c:1830
+#, c-format
+msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐекоректне rva (0x%lx) або кількіÑÑ‚ÑŒ запиÑів (0x%lx) таблиці вказівників на назви\n"
+
+#: peigen.c:1837 pepigen.c:1837 pex64igen.c:1837
+#, c-format
+msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
+msgstr "\tÐекоректне rva (0x%lx) або кількіÑÑ‚ÑŒ запиÑів (0x%lx) таблиці порÑдкових даних\n"
+
+#: peigen.c:1851 pepigen.c:1851 pex64igen.c:1851
+#, c-format
+msgid "\t[%4ld] <corrupt offset: %lx>\n"
+msgstr "\t[%4ld] <пошкоджений зÑув: %lx>\n"
+
+#: peigen.c:1905 peigen.c:2102 pepigen.c:1905 pepigen.c:2102 pex64igen.c:1905
+#: pex64igen.c:2102
#, c-format
msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
msgstr "ПопередженнÑ: розмір розділу .pdata (%ld) не Ñ” кратним до %d\n"
-#: peigen.c:1621 pepigen.c:1621 pex64igen.c:1621
+#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
+#: pex64igen.c:2106
+#, c-format
+msgid ""
+"\n"
+"The Function Table (interpreted .pdata section contents)\n"
+msgstr ""
+"\n"
+"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ (оброблений вміÑÑ‚ розділу .pdata)\n"
+
+#: peigen.c:1912 pepigen.c:1912 pex64igen.c:1912
#, c-format
msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
msgstr " vma:\t\t\tПочат. адреÑа Кінц. адреÑа Дані unwind\n"
-#: peigen.c:1623 pepigen.c:1623 pex64igen.c:1623
+#: peigen.c:1914 pepigen.c:1914 pex64igen.c:1914
#, c-format
msgid ""
" vma:\t\tBegin End EH EH PrologEnd Exception\n"
@@ -6167,22 +8357,27 @@ msgstr ""
" vma:\t\tПоч. Кінц. Обробник Дані ÐдреÑа МаÑка\n"
" \t\tадреÑа адреÑа EH EH кінц. прол.виключеннÑ\n"
-#: peigen.c:1697 pepigen.c:1697 pex64igen.c:1697
+#: peigen.c:1927 pepigen.c:1927 pex64igen.c:1927
+#, c-format
+msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
+msgstr "Віртуальний розмір розділу .pdata (%ld) перевищує реальний розмір (%ld)\n"
+
+#: peigen.c:1997 pepigen.c:1997 pex64igen.c:1997
#, c-format
msgid " Register save millicode"
msgstr " Мілікод Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтра"
-#: peigen.c:1700 pepigen.c:1700 pex64igen.c:1700
+#: peigen.c:2000 pepigen.c:2000 pex64igen.c:2000
#, c-format
msgid " Register restore millicode"
msgstr " Мілікод Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтра"
-#: peigen.c:1703 pepigen.c:1703 pex64igen.c:1703
+#: peigen.c:2003 pepigen.c:2003 pex64igen.c:2003
#, c-format
msgid " Glue code sequence"
msgstr " ПоÑлідовніÑÑ‚ÑŒ з’єднувального коду"
-#: peigen.c:1803 pepigen.c:1803 pex64igen.c:1803
+#: peigen.c:2108 pepigen.c:2108 pex64igen.c:2108
#, c-format
msgid ""
" vma:\t\tBegin Prolog Function Flags Exception EH\n"
@@ -6191,7 +8386,7 @@ msgstr ""
" vma:\t\tПоч. Довжина Довжина Прапорці Обробник Дані\n"
" \t\tадреÑа прологу функції 32б вик. виключень EH\n"
-#: peigen.c:1929 pepigen.c:1929 pex64igen.c:1929
+#: peigen.c:2230 pepigen.c:2230 pex64igen.c:2230
#, c-format
msgid ""
"\n"
@@ -6202,7 +8397,7 @@ msgstr ""
"\n"
"ПереÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ оÑнови файла PE (оброблений вміÑÑ‚ розділу .reloc)\n"
-#: peigen.c:1958 pepigen.c:1958 pex64igen.c:1958
+#: peigen.c:2260 pepigen.c:2260 pex64igen.c:2260
#, c-format
msgid ""
"\n"
@@ -6211,15 +8406,142 @@ msgstr ""
"\n"
"Віртуальна адреÑа: %08lx, розмір фрагмента: %ld (0x%lx), кількіÑÑ‚ÑŒ прив’Ñзок: %ld\n"
-#: peigen.c:1971 pepigen.c:1971 pex64igen.c:1971
+#: peigen.c:2278 pepigen.c:2278 pex64igen.c:2278
#, c-format
msgid "\treloc %4d offset %4x [%4lx] %s"
msgstr "\tпереÑÑƒÐ²Ð°Ð½Ð½Ñ %4d відÑтуп %4x [%4lx] %s"
+#: peigen.c:2339 pepigen.c:2339 pex64igen.c:2339
+#, c-format
+msgid "%03x %*.s Entry: "
+msgstr "Вхід до %03x %*.s: "
+
+#: peigen.c:2363 pepigen.c:2363 pex64igen.c:2363
+#, c-format
+msgid "name: [val: %08lx len %d]: "
+msgstr "назва: [значеннÑ: %08lx довжина %d]: "
+
+#: peigen.c:2383 pepigen.c:2383 pex64igen.c:2383
+#, c-format
+msgid "<corrupt string length: %#x>\n"
+msgstr "<довжина пошкодженого Ñ€Ñдка: %#x>\n"
+
+#: peigen.c:2393 pepigen.c:2393 pex64igen.c:2393
+#, c-format
+msgid "<corrupt string offset: %#lx>\n"
+msgstr "<відÑтуп пошкодженого Ñ€Ñдка: %#lx>\n"
+
+#: peigen.c:2398 pepigen.c:2398 pex64igen.c:2398
+#, c-format
+msgid "ID: %#08lx"
+msgstr "Ід.: %#08lx"
+
+#: peigen.c:2401 pepigen.c:2401 pex64igen.c:2401
+#, c-format
+msgid ", Value: %#08lx\n"
+msgstr ", ЗначеннÑ: %#08lx\n"
+
+#: peigen.c:2423 pepigen.c:2423 pex64igen.c:2423
+#, c-format
+msgid "%03x %*.s Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
+msgstr "%03x ЛиÑток %*.s: адреÑа: %#08lx, розмір: %#08lx, кодова Ñторінка: %d\n"
+
+#: peigen.c:2465 pepigen.c:2465 pex64igen.c:2465
+#, c-format
+msgid "<unknown directory type: %d>\n"
+msgstr "<невідомий тип каталогу: %d>\n"
+
+#: peigen.c:2473 pepigen.c:2473 pex64igen.c:2473
+#, c-format
+msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
+msgstr " ТаблицÑ: хар.: %d, чаÑ: %08lx, верÑÑ–Ñ: %d/%d, чиÑлові назви: %d, ід.: %d\n"
+
+#: peigen.c:2562 pepigen.c:2562 pex64igen.c:2562
+#, c-format
+msgid "Corrupt .rsrc section detected!\n"
+msgstr "ВиÑвлено пошкоджений розділ .rsrc!\n"
+
+#: peigen.c:2586 pepigen.c:2586 pex64igen.c:2586
+#, c-format
+msgid ""
+"\n"
+"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
+msgstr ""
+"\n"
+"ПОПЕРЕДЖЕÐÐЯ: зайві дані у розділі .rsrc — Ñ—Ñ… буде проігноровано Windows:\n"
+
+#: peigen.c:2592 pepigen.c:2592 pex64igen.c:2592
+#, c-format
+msgid " String table starts at offset: %#03x\n"
+msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ñдків починаєтьÑÑ Ð· таким зÑувом: %#03x\n"
+
+#: peigen.c:2595 pepigen.c:2595 pex64igen.c:2595
+#, c-format
+msgid " Resources start at offset: %#03x\n"
+msgstr " РеÑурÑи починаютьÑÑ Ð· таким зÑувом: %#03x\n"
+
+#: peigen.c:2647 pepigen.c:2647 pex64igen.c:2647
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory, but the section containing it could not be found\n"
+msgstr ""
+"\n"
+"ІÑнує каталог діагноÑтики, але розділу, що його міÑтить не знайдено\n"
+
+#: peigen.c:2653 pepigen.c:2653 pex64igen.c:2653
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s, but that section has no contents\n"
+msgstr ""
+"\n"
+"У %s Ñ” каталог діагноÑтики, але у цьому розділі немає даних\n"
+
+#: peigen.c:2660 pepigen.c:2660 pex64igen.c:2660
+#, c-format
+msgid ""
+"\n"
+"Error: section %s contains the debug data starting address but it is too small\n"
+msgstr ""
+"\n"
+"Помилка: у розділі %s міÑтитьÑÑ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð° адреÑа діагноÑтичних даних, але вона Ñ” надто малою\n"
+
+#: peigen.c:2665 pepigen.c:2665 pex64igen.c:2665
+#, c-format
+msgid ""
+"\n"
+"There is a debug directory in %s at 0x%lx\n"
+"\n"
+msgstr ""
+"\n"
+"ВиÑвлено каталог діагноÑтики у %s за адреÑою 0x%lx\n"
+"\n"
+
+#: peigen.c:2672 pepigen.c:2672 pex64igen.c:2672
+#, c-format
+msgid "The debug data size field in the data directory is too big for the section"
+msgstr "Поле розміру діагноÑтичних даних у каталозі діагноÑтики Ñ” надто великим Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу"
+
+#: peigen.c:2677 pepigen.c:2677 pex64igen.c:2677
+#, c-format
+msgid "Type Size Rva Offset\n"
+msgstr "Тип Розм Rva ЗÑув\n"
+
+#: peigen.c:2725 pepigen.c:2725 pex64igen.c:2725
+#, c-format
+msgid "(format %c%c%c%c signature %s age %ld)\n"
+msgstr "(формат %c%c%c%c Ð¿Ñ–Ð´Ð¿Ð¸Ñ %s вік %ld)\n"
+
+#: peigen.c:2733 pepigen.c:2733 pex64igen.c:2733
+#, c-format
+msgid "The debug directory size is not a multiple of the debug directory entry size\n"
+msgstr "Розмір каталогу діагноÑтики не Ñ” кратним до розміру запиÑу каталогу діагноÑтики\n"
+
#. The MS dumpbin program reportedly ands with 0xff0f before
#. printing the characteristics field. Not sure why. No reason to
#. emulate it here.
-#: peigen.c:2010 pepigen.c:2010 pex64igen.c:2010
+#: peigen.c:2753 pepigen.c:2753 pex64igen.c:2753
#, c-format
msgid ""
"\n"
@@ -6228,29 +8550,231 @@ msgstr ""
"\n"
"ХарактериÑтики 0x%x\n"
-#: peigen.c:2310 pepigen.c:2310 pex64igen.c:2310
+#: peigen.c:2988 pepigen.c:2988 pex64igen.c:2988
+#, c-format
+msgid "%B: Data Directory size (%lx) exceeds space left in section (%lx)"
+msgstr "%B: розмір каталогу даних (%lx) перевищує розмір міÑцÑ, Ñке лишилоÑÑ Ñƒ розділі (%lx)"
+
+#: peigen.c:3018 pepigen.c:3018 pex64igen.c:3018
+msgid "Failed to update file offsets in debug directory"
+msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ зÑуви файлів у каталозі діагноÑтики"
+
+#: peigen.c:3024 pepigen.c:3024 pex64igen.c:3024
+msgid "%B: Failed to read debug data section"
+msgstr "%B: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ розділ діагноÑтичних даних"
+
+#: peigen.c:3840 pepigen.c:3840 pex64igen.c:3840
+#, c-format
+msgid ".rsrc merge failure: duplicate string resource: %d"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: реÑÑƒÑ€Ñ Ð· дублюваннÑм Ñ€Ñдків: %d"
+
+#: peigen.c:3975 pepigen.c:3975 pex64igen.c:3975
+msgid ".rsrc merge failure: multiple non-default manifests"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: декілька нетипових маніфеÑтів"
+
+#: peigen.c:3993 pepigen.c:3993 pex64igen.c:3993
+msgid ".rsrc merge failure: a directory matches a leaf"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: каталогу відповідає лиÑток"
+
+#: peigen.c:4035 pepigen.c:4035 pex64igen.c:4035
+msgid ".rsrc merge failure: duplicate leaf"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð»Ð¸Ñтків"
+
+#: peigen.c:4037 pepigen.c:4037 pex64igen.c:4037
+#, c-format
+msgid ".rsrc merge failure: duplicate leaf: %s"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð»Ð¸Ñтків: %s"
+
+#: peigen.c:4103 pepigen.c:4103 pex64igen.c:4103
+msgid ".rsrc merge failure: dirs with differing characteristics\n"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: каталоги з різними характериÑтиками\n"
+
+#: peigen.c:4110 pepigen.c:4110 pex64igen.c:4110
+msgid ".rsrc merge failure: differing directory versions\n"
+msgstr "не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: відмінноÑÑ‚Ñ– у верÑÑ–ÑÑ… каталогів\n"
+
+#. Corrupted .rsrc section - cannot merge.
+#: peigen.c:4227 pepigen.c:4227 pex64igen.c:4227
+msgid "%B: .rsrc merge failure: corrupt .rsrc section"
+msgstr "%B: не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: пошкоджений розділ .rsrc"
+
+#: peigen.c:4235 pepigen.c:4235 pex64igen.c:4235
+msgid "%B: .rsrc merge failure: unexpected .rsrc size"
+msgstr "%B: не вдалоÑÑ Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ .rsrc: неочікуваний розмір .rsrc"
+
+#: peigen.c:4374 pepigen.c:4374 pex64igen.c:4374
msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], оÑкільки не виÑтачає .idata$2"
-#: peigen.c:2330 pepigen.c:2330 pex64igen.c:2330
+#: peigen.c:4394 pepigen.c:4394 pex64igen.c:4394
msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[1], оÑкільки не виÑтачає .idata$4"
-#: peigen.c:2351 pepigen.c:2351 pex64igen.c:2351
+#: peigen.c:4415 pepigen.c:4415 pex64igen.c:4415
msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[12], оÑкільки не виÑтачає .idata$5"
-#: peigen.c:2371 pepigen.c:2371 pex64igen.c:2371
+#: peigen.c:4435 pepigen.c:4435 pex64igen.c:4435
msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)], оÑкільки не виÑтачає .idata$6"
-#: peigen.c:2413 pepigen.c:2413 pex64igen.c:2413
+#: peigen.c:4477 pepigen.c:4477 pex64igen.c:4477
msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because .idata$6 is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)], оÑкільки .idata$6 не виÑтачає"
-#: peigen.c:2438 pepigen.c:2438 pex64igen.c:2438
+#: peigen.c:4502 pepigen.c:4502 pex64igen.c:4502
msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
msgstr "%B: не вдалоÑÑ Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ‚Ð¸ DataDictionary[9], оÑкільки не виÑтачає __tls_used"
-#~ msgid "%B: error: taking the address of protected function '%s' cannot be done when making a shared library"
-#~ msgstr "%B: помилка: не можна виконувати Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи захищеної функції «%s» під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñпільного викориÑтаннÑ"
+#~ msgid "Unrecognized reloc"
+#~ msgstr "Ðерозпізнане переÑуваннÑ"
+
+#~ msgid "%s: warning: illegal symbol index %ld in relocs"
+#~ msgstr "%s: попередженнÑ: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %ld у переÑуваннÑÑ…"
+
+#~ msgid "Dwarf Error: Bad abbrev number: %u."
+#~ msgstr "Помилка dwarf: помилковий Ñкорочений номер: %u."
+
+#~ msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
+#~ msgstr "%B: ÑпоÑіб обробки розміщеного невідомий, Ñпецифічний Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ розділ «%s» [0x%8x]"
+
+#~ msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
+#~ msgstr "%B: ÑпоÑіб обробки Ñпецифічного Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора розділу `%s' [0x%8x] невідомий"
+
+#~ msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
+#~ msgstr "%B: ÑпоÑіб обробки Ñпецифічного Ð´Ð»Ñ ÐžÐ¡ розділу «%s» [0x%8x] невідомий"
+
+#~ msgid "%B: don't know how to handle section `%s' [0x%8x]"
+#~ msgstr "%B: ÑпоÑіб обробки розділу «%s» [0x%8x] невідомий"
+
+#~ msgid " [has entry point]"
+#~ msgstr " [має вхідну точку]"
+
+#~ msgid "error: required section '%s' not found in the linker script"
+#~ msgstr "помилка: у Ñкрипті ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ знайдено обов’Ñзкового розділу «%s»"
+
+#~ msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
+#~ msgstr "%s: викориÑтовуютьÑÑ Ñ–Ð½ÑˆÑ– Ð¿Ð¾Ð»Ñ e_flags (0x%lx) ніж у попередніх модулÑÑ… (0x%lx)"
+
+#~ msgid "%s: unknown relocation type %d"
+#~ msgstr "%s: невідомий тип переÑÑƒÐ²Ð°Ð½Ð½Ñ %d"
+
+#~ msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
+#~ msgstr ""
+#~ "%s: Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%s) переÑÑƒÐ²Ð°Ð½Ð½Ñ %s перебуває у помилковому розділі (%s)\n"
+#~ ")"
+
+#~ msgid "%B: %s\n"
+#~ msgstr "%B: %s\n"
+
+#~ msgid "%B(%A): warning: relax is suppressed for sections of alignment %d-bytes > 4-byte."
+#~ msgstr "%B(%A): попередженнÑ: оптимізацію придушено Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ %d-байтовий > 4-байтовий."
+
+#~ msgid "Warning: %B uses soft float, %B uses single-precision hard float"
+#~ msgstr "ПопередженнÑ: у %B викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð° підтримка дійÑних чиÑел, а у %B — апаратна підтримка Ð´Ð»Ñ Ð´Ñ–Ð¹Ñних чиÑел з одинарною точніÑÑ‚ÑŽ"
+
+#~ msgid "Warning: %B uses unknown floating point ABI %d"
+#~ msgstr "ПопередженнÑ: %B викориÑтовує невідомий ABI роботи з чиÑлами з рухомою крапкою, %d"
+
+#~ msgid "Warning: %B uses unknown vector ABI %d"
+#~ msgstr "ПопередженнÑ: %B викориÑтовує невідомий векторний ABI %d"
+
+#~ msgid "Warning: %B uses unknown small structure return convention %d"
+#~ msgstr "ПопередженнÑ: у %B викориÑтано невідому угоду, %d, щодо Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ñ… Ñтруктур"
+
+#~ msgid " [G10]"
+#~ msgstr " [G10]"
+
+#~ msgid "%s: Malformed reloc detected for section %s"
+#~ msgstr "%s: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %s виÑвлено помилку у форматуванні перенеÑеннÑ"
+
+#~ msgid " %s: 0x%v\n"
+#~ msgstr " %s: 0x%v\n"
+
+#~ msgid "%s: 0x%v 0x%v\n"
+#~ msgstr "%s: 0x%v 0x%v\n"
+
+#~ msgid " %s%s %s\n"
+#~ msgstr " %s%s %s\n"
+
+#~ msgid ", 8-byte data alignment"
+#~ msgstr ", 8-байтове Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…"
+
+#~ msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
+#~ msgstr "%B: переÑÑƒÐ²Ð°Ð½Ð½Ñ %s щодо невизначеного %s, «%s», не можна викориÑтовувати під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° Ñпільного викориÑтаннÑ%s"
+
+#~ msgid "[%u]: %u\n"
+#~ msgstr "[%u]: %u\n"
+
+#~ msgid ": %u.%u\n"
+#~ msgstr ": %u.%u\n"
+
+#~ msgid ""
+#~ "%B(%s): warning: interworking not enabled.\n"
+#~ " first occurrence: %B: thumb call to arm"
+#~ msgstr ""
+#~ "%B(%s): попередженнÑ: ÑуміÑну роботу не увімкнено.\n"
+#~ " перша згадка: %B: виклик thumb до arm"
+
+#~ msgid "DIV usage mismatch between %B and %B"
+#~ msgstr "розбіжноÑÑ‚Ñ– у викориÑтанні DIV між %B та %B"
+
+#~ msgid "%P: dynamic variable `%s' is zero size\n"
+#~ msgstr "%P: динамічна змінна «%s» має нульовий розмір\n"
+
+#~ msgid " [dsp]"
+#~ msgstr " [dsp]"
+
+#~ msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
+#~ msgstr "%P: %H: автоматичне ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… TOC не можна виконати на оÑнові ваших файлів crt; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -mminimal-toc або оновіть gcc\n"
+
+#~ msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
+#~ msgstr "%P: %H: у разі викориÑÑ‚Ð°Ð½Ð½Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— викликів однакових функцій Ð´Ð»Ñ Â«%s» не даÑÑ‚ÑŒ змоги Ñтворити декілька TOC; виконайте повторне Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· -mminimal-toc або -fno-optimize-sibling-calls чи зробіть «%s» зовнішньою (extern)\n"
+
+#~ msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
+#~ msgstr "зауваженнÑ: «%s» визначено у %B DSO, отже Ñпробуємо додати його до командного Ñ€Ñдка компонувальника"
+
+#~ msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "ПопередженнÑ: у %B викориÑтано -msingle-float, а у %B — -mips32r2 -mfp64"
+
+#~ msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
+#~ msgstr "ПопередженнÑ: у %B викориÑтано -mdouble-float, а у %B — -mips32r2 -mfp64"
+
+#~ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
+#~ msgstr "bfd_mach_o_read_symtab_symbol: Ñимвол «%s» Ñ” непідтримуваним поÑиланнÑм «indirect»: вÑтановлюємо у невизначене значеннÑ"
+
+#~ msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+#~ msgstr "bfd_mach_o_read_dysymtab_symbol: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %lu байтів з %lu"
+
+#~ msgid "Mach-O header:\n"
+#~ msgstr "заголовок Mach-O:\n"
+
+#~ msgid " magic : %08lx\n"
+#~ msgstr " magic : %08lx\n"
+
+#~ msgid " cputype : %08lx (%s)\n"
+#~ msgstr " тип проц. : %08lx (%s)\n"
+
+#~ msgid " filetype : %08lx (%s)\n"
+#~ msgstr " тип файла : %08lx (%s)\n"
+
+#~ msgid " ncmds : %08lx (%lu)\n"
+#~ msgstr " кть_команд: %08lx (%lu)\n"
+
+#~ msgid " sizeofcmds: %08lx\n"
+#~ msgstr " розмір_кмд: %08lx\n"
+
+#~ msgid " flags : %08lx ("
+#~ msgstr " прапорці : %08lx ("
+
+#~ msgid " reserved : %08x\n"
+#~ msgstr " зарезерв. : %08x\n"
+
+#~ msgid "Segments and Sections:\n"
+#~ msgstr "Сегменти і розділи:\n"
+
+#~ msgid " #: Segment name Section name Address\n"
+#~ msgstr " #: Ðазва Ñегмента Ðазва розділу ÐдреÑа\n"
+
+#~ msgid "Symbol %s replaced by %s\n"
+#~ msgstr "Символ %s замінено на %s\n"
diff --git a/bfd/po/vi.po b/bfd/po/vi.po
index 4f62e60..79a6622 100644
--- a/bfd/po/vi.po
+++ b/bfd/po/vi.po
@@ -1,26 +1,25 @@
# Vietnamese translation for BFD.
-# Copyright © 2012 Free Software Foundation, Inc.
+# Copyright © 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Phan Vĩnh Thịnh <teppi@gmail.com>, 2005.
# Clytie Siddall <clytie@riverland.net.au>, 2008-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: bfd-2.22.90\n"
+"Project-Id-Version: bfd-2.23.2\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2011-10-25 11:58+0100\n"
-"PO-Revision-Date: 2012-08-15 14:47+0700\n"
+"PO-Revision-Date: 2013-06-01 08:14+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: LocFactoryEditor 1.8\n"
-"X-Poedit-Language: Vietnamese\n"
-"X-Poedit-Country: VIET NAM\n"
+"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SourceCharset: utf-8\n"
#: aout-adobe.c:127
@@ -43,12 +42,12 @@ msgstr "%B: Äã nhập mục ghi định vị lại sai: %d"
#: aoutx.h:1273 aoutx.h:1611
#, c-format
msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: không thể đại diện phân \"%s\" trong định dạng tập tin đối tượng a.out"
+msgstr "%s: không thể đại diện phân “%s†trong định dạng tập tin đối tượng a.out"
#: aoutx.h:1577
#, c-format
msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: không thể đại diện phân cho ký hiệu \"%s\" trong định dạng tập tin đối tượng a.ou"
+msgstr "%s: không thể đại diện phân cho ký hiệu “%s†trong định dạng tập tin đối tượng a.ou"
#: aoutx.h:1579 vms-alpha.c:7671
msgid "*unknown*"
@@ -192,13 +191,13 @@ msgstr "không Ä‘ang ánh xạ: chÆ°a đặt biến môi trÆ°á»ng\n"
#: binary.c:271
#, c-format
msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "Cảnh báo: đang ghi phần \"%s\" vào khoảng bù tập tin rất lớn (tức là âm) 0x%lx."
+msgstr "Cảnh báo: đang ghi phần “%s†vào khoảng bù tập tin rất lớn (tức là âm) 0x%lx."
#: bout.c:1146 elf-m10300.c:2063 elf32-avr.c:1654 elf32-frv.c:5734
#: elfxx-sparc.c:2802 reloc.c:6115 reloc16.c:162 elf32-ia64.c:360
#: elf64-ia64.c:360
msgid "%P%F: --relax and -r may not be used together\n"
-msgstr "%P%F: không thể dùng vá»›i nhau hai tuỳ chá»n \"--relax\" và \"-r\"\n"
+msgstr "%P%F: không thể dùng vá»›i nhau hai tuỳ chá»n “--relax†và “-râ€\n"
#: cache.c:227
msgid "reopening %B: %s\n"
@@ -240,12 +239,12 @@ msgstr "%B: không rõ kiểu định vị lại %d"
#: coff-arm.c:1038
#, c-format
msgid "%B: unable to find THUMB glue '%s' for `%s'"
-msgstr "%B: không tìm thấy keo hồ THUMB \"%s\" cho \"%s\""
+msgstr "%B: không tìm thấy chất kết dính THUMB “%s†cho “%sâ€"
#: coff-arm.c:1067
#, c-format
msgid "%B: unable to find ARM glue '%s' for `%s'"
-msgstr "%B: không tìm thấy keo hồ ARM \"%s\" cho \"%s\""
+msgstr "%B: không tìm thấy chất kết dính ARM “%s†cho “%sâ€"
#: coff-arm.c:1369 elf32-arm.c:7023
#, c-format
@@ -265,11 +264,11 @@ msgid ""
msgstr ""
"%B(%s): cảnh báo: chưa bật dùng ảnh hưởng lẫn nhau.\n"
" lần xuất hiện đầu tiên: %B: gá»i thumb tá»›i arm\n"
-" coi như liên kết lại với \"--support-old-code\" được bật"
+" coi như liên kết lại với “--support-old-code†được bật"
#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3081
msgid "%B: bad reloc address 0x%lx in section `%A'"
-msgstr "%B: địa chỉ định vị lại sai 0x%lx trong phần \"%A\""
+msgstr "%B: địa chỉ định vị lại sai 0x%lx trong phần “%Aâ€"
#: coff-arm.c:2079
msgid "%B: illegal symbol index in reloc: %d"
@@ -368,7 +367,7 @@ msgstr "không thể xử lý định vị lại R_MEM_INDIRECT khi sử dụng
#: coff-i860.c:147
#, c-format
msgid "relocation `%s' not yet implemented"
-msgstr "tái định vị `%s' vẫn chưa được viết"
+msgstr "tái định vị “%s†vẫn chưa được viết"
#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5198
msgid "%B: warning: illegal symbol index %ld in relocs"
@@ -399,11 +398,11 @@ msgstr "%s: kiểu định vị lại không được hỗ trợ 0x%02x"
#: coff-rs6000.c:2805
#, c-format
msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
-msgstr "%s: định vị lại TOC tại 0x%x tới ký hiệu \"%s\" không có mục nhập TOC"
+msgstr "%s: định vị lại TOC tại 0x%x tới ký hiệu “%s†không có mục nhập TOC"
#: coff-rs6000.c:3556 coff64-rs6000.c:2111
msgid "%B: symbol `%s' has unrecognized smclas %d"
-msgstr "%B: ký tự \"%s\" có smclas không nhận ra %d"
+msgstr "%B: ký tự “%s†có smclas không nhận ra %d"
#: coff-sh.c:521
#, c-format
@@ -427,7 +426,7 @@ msgstr "Äang lá» Ä‘i định vị lại %s\n"
#: coffcode.h:997
msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'"
-msgstr "%B: cảnh báo: ký hiệu COMDAT \"%s\" không tương ứng vơi tên phần \"%s\""
+msgstr "%B: cảnh báo: ký hiệu COMDAT “%s†không tÆ°Æ¡ng ứng vÆ¡i tên phần “%sâ€"
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
@@ -443,7 +442,7 @@ msgstr "%B (%s): Äã lá» Ä‘i cá» của phần %s (0x%x)"
#: coffcode.h:2430
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
-msgstr "Không nhận ra mã số đích TI COFF \"0x%x\""
+msgstr "Không nhận ra mã số đích TI COFF “0x%xâ€"
#: coffcode.h:2744
msgid "%B: reloc against a non-existant symbol index: %ld"
@@ -467,15 +466,15 @@ msgstr "%B: cảnh báo: chỉ mục ký hiệu cấm %ld trong các số thứ
#: coffcode.h:4567
msgid "%B: warning: duplicate line number information for `%s'"
-msgstr "%B: cảnh báo: thông tin số thứ tự dòng trùng đối với \"%s\""
+msgstr "%B: cảnh báo: thông tin số thứ tá»± dòng trùng đối vá»›i “%sâ€"
#: coffcode.h:4967
msgid "%B: Unrecognized storage class %d for %s symbol `%s'"
-msgstr "%B: Không nhận ra hạng lưu trữ %d cho ký hiệu %s \"%s\""
+msgstr "%B: Không nhận ra hạng lÆ°u trữ %d cho ký hiệu %s “%sâ€"
#: coffcode.h:5093
msgid "warning: %B: local symbol `%s' has no section"
-msgstr "cảnh báo: %B: ký hiệu cục bộ \"%s\" không có phần đoạn"
+msgstr "cảnh báo: %B: ký hiệu cục bộ “%s†không có phần đoạn"
#: coffcode.h:5237
msgid "%B: illegal relocation type %d at address 0x%lx"
@@ -491,15 +490,15 @@ msgstr "%F%P: already_linked_table: %E\n"
#: cofflink.c:533 elflink.c:4323
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
-msgstr "Cảnh báo: kiểu ký hiệu \"%s\" bị thay đổi từ %d thành %d trong %B"
+msgstr "Cảnh báo: kiểu ký hiệu “%s†bị thay đổi từ %d thành %d trong %B"
#: cofflink.c:2329
msgid "%B: relocs in section `%A', but it has no contents"
-msgstr "%B: định vị lại trong phần \"%A\", nhưng nó không có nội dung"
+msgstr "%B: định vị lại trong phần “%Aâ€, nhÆ°ng nó không có ná»™i dung"
#: cofflink.c:2391 elflink.c:9545
msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n"
-msgstr "%X\"%s\" được tham chiếu trong phần \"%A\" của %B: được định nghĩa trong phần bị hủy \"%A\" của %B\n"
+msgstr "%Xâ€%s†được tham chiếu trong phần “%A†của %B: được định nghÄ©a trong phần bị hủy “%A†của %B\n"
#: cofflink.c:2690 coffswap.h:826
#, c-format
@@ -560,12 +559,12 @@ msgstr "Lỗi Dwarf: Không tìm thấy số viết tắt %u."
#: dwarf2.c:2355
#, c-format
msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2, 3 and 4 information."
-msgstr "Lá»—i Dwarf: tìm thấy dwarf phiên bản \"%u\", nhÆ°ng trình Ä‘á»c này chỉ có thể nắm bắt được thông tin của phiên bản 2, 3 và 4."
+msgstr "Lá»—i Dwarf: tìm thấy dwarf phiên bản “%uâ€, nhÆ°ng trình Ä‘á»c này chỉ có thể nắm bắt được thông tin của phiên bản 2, 3 và 4."
#: dwarf2.c:2362
#, c-format
msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'."
-msgstr "Lá»—i Dwarf: tìm thấy kích cỡ địa chỉ \"%u\", nhÆ°ng trình Ä‘á»c này không Ä‘iá»u khiển được kích cỡ lá»›n hÆ¡n \"%u\"."
+msgstr "Lá»—i Dwarf: tìm thấy kích cỡ địa chỉ “%uâ€, nhÆ°ng trình Ä‘á»c này không Ä‘iá»u khiển được kích cỡ lá»›n hÆ¡n “%uâ€."
#: dwarf2.c:2385
#, c-format
@@ -638,7 +637,7 @@ msgid ""
" enum; End+1 symbol: %ld"
msgstr ""
"\n"
-" đếm; ký hiệu End+1: %ld"
+" enum; ký hiệu End+1: %ld"
#: ecoff.c:1549
#, c-format
@@ -651,11 +650,11 @@ msgstr ""
#: elf-attrs.c:569
msgid "error: %B: Object has vendor-specific contents that must be processed by the '%s' toolchain"
-msgstr "lá»—i: %B: Äối tượng có ná»™i dung \"vendor-specific\" phải được xá»­ lý bởi toolchain '%s'"
+msgstr "lá»—i: %B: Äối tượng có ná»™i dung “vendor-specific†phải được xá»­ lý bởi toolchain “%sâ€"
#: elf-attrs.c:578
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
-msgstr "lỗi: %B: thẻ đối tượng \"%d, %s\" không tương thích với thẻ \"%d, %s\""
+msgstr "lá»—i: %B: Thẻ đối tượng “%d, %s†không tÆ°Æ¡ng thích vá»›i thẻ “%d, %sâ€"
#: elf-eh-frame.c:917
msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
@@ -671,7 +670,7 @@ msgstr "%P: DW_EH_PE_datarel chưa định nghĩa cho kiến trúc này.\n"
#: elf-ifunc.c:179
msgid "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can not be used when making an executable; recompile with -fPIE and relink with -pie\n"
-msgstr "%F%P: ký hiệu STT_GNU_IFUNC động \"%s\" với tình trạng chất lượng con trỠtrong \"%B\" thì không dùng được khi tạo bản thực thi; hãy biên dịch lại với \"-fPIE\" và liên kết lại với \"-pie\"\n"
+msgstr "%F%P: ký hiệu STT_GNU_IFUNC Ä‘á»™ng “%s†vá»›i tình trạng chất lượng con trá» trong “%B†thì không dùng được khi tạo bản thá»±c thi; hãy biên dịch lại vá»›i “-fPIE†và liên kết lại vá»›i “-pieâ€\n"
#: elf-m10200.c:450 elf-m10300.c:1563 elf32-avr.c:1221 elf32-bfin.c:3213
#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2081 elf32-crx.c:922
@@ -722,7 +721,7 @@ msgstr "lỗi nội bộ: lỗi không rõ"
#: elf32-xtensa.c:3066 elf64-s390.c:2978 elf64-sh64.c:1640 elf64-x86-64.c:4110
#: elfxx-sparc.c:3835 elfxx-tilegx.c:3500
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): định vị lại không thể giải quyết %s đối với ký hiệu \"%s\""
+msgstr "%B(%A+0x%lx): định vị lại không thể giải quyết %s đối vá»›i ký hiệu “%sâ€"
#: elf-m10300.c:1572
msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)"
@@ -740,11 +739,11 @@ msgstr "lỗi nội bộ: kiểu định vị lại đáng ngỠđược dùng
#: elfxx-tilegx.c:2261
#, c-format
msgid "dynamic variable `%s' is zero size"
-msgstr "biến động \"%s\" có kích cỡ số không"
+msgstr "biến động “%s†có kích cỡ bằng không"
#: elf.c:334
msgid "%B: invalid string offset %u >= %lu for section `%s'"
-msgstr "%B: khoảng bù chuỗi không hợp lệ %u≥%lu cho phần \"%s\""
+msgstr "%B: khoảng bù chuá»—i không hợp lệ %u≥%lu cho phần “%sâ€"
#: elf.c:446
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
@@ -764,15 +763,15 @@ msgstr "%B: không có thông tin nhóm vỠphần %A"
#: elf.c:737 elf.c:3121 elflink.c:10135
msgid "%B: warning: sh_link not set for section `%A'"
-msgstr "%B: cảnh báo: \"sh_link\" chưa được đặt cho phần \"%A\""
+msgstr "%B: cảnh báo: “sh_link†chÆ°a được đặt cho phần “%Aâ€"
#: elf.c:756
msgid "%B: sh_link [%d] in section `%A' is incorrect"
-msgstr "%B: sh_link [%d] không đúng trong phần \"%A\""
+msgstr "%B: sh_link [%d] không đúng trong phần “%Aâ€"
#: elf.c:791
msgid "%B: unknown [%d] section `%s' in group [%s]"
-msgstr "%B: không rõ [%d] phần \"%s\" trong nhóm [%s]"
+msgstr "%B: không rõ [%d] phần “%s†trong nhóm [%s]"
#: elf.c:1041
msgid "%B: unable to initialize commpress status for section %s"
@@ -829,32 +828,32 @@ msgstr "%B: liên kết không hợp lệ %lu cho phần định vị lại %s (
#: elf.c:1966
msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]"
-msgstr "%B: không biết cách xử lý phần đã cấp phát mà đặc trưng cho ứng dụng \"%s\" [0x%8x]"
+msgstr "%B: không biết cách xử lý phần đã cấp phát mà đặc trưng cho ứng dụng “%s†[0x%8x]"
#: elf.c:1978
msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
-msgstr "%B: không biết cách xử lý phần đặc trưng cho bộ xử lý \"%s\" [0x%8x]"
+msgstr "%B: không biết cách xử lý phần đặc trưng cho bộ xử lý “%s†[0x%8x]"
#: elf.c:1989
msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
-msgstr "%B: không biết cách xá»­ lý phần đặc trÆ°ng cho HÄH \"%s\" [0x%8x]"
+msgstr "%B: không biết cách xá»­ lý phần đặc trÆ°ng cho HÄH “%s†[0x%8x]"
#: elf.c:1999
msgid "%B: don't know how to handle section `%s' [0x%8x]"
-msgstr "%B: không biết cách xử lý phần \"%s\" [0x%8x]"
+msgstr "%B: không biết cách xử lý phần “%s†[0x%8x]"
#: elf.c:2634
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
-msgstr "cảnh báo: phần \"%A\" có kiểu bị thay đổi thành PROGBITS"
+msgstr "cảnh báo: phần “%A†có kiểu bị thay đổi thành PROGBITS"
#: elf.c:3078
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
-msgstr "%B: sh_link của phần \"%A\" chỉ tới phần bị hủy \"%A\" của \"%B\""
+msgstr "%B: sh_link của phần “%A†chỉ tá»›i phần bị hủy “%A†của “%Bâ€"
#: elf.c:3101
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
-msgstr "%B: sh_link của phần \"%A\" chỉ tới phần bị gỡ bỠ\"%A\" của \"%B\""
+msgstr "%B: sh_link của phần “%A†chỉ tá»›i phần bị gỡ bỠ“%A†của “%Bâ€"
#: elf.c:4527
msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
@@ -862,7 +861,7 @@ msgstr "%B: Phần thứ nhất trong đoạn PT_DYNAMIC không phải là phầ
#: elf.c:4554
msgid "%B: Not enough room for program headers, try linking with -N"
-msgstr "%B: Không đủ sức chứa cho các phần đầu của chương trình: hãy thử liên kết với \"-N\""
+msgstr "%B: Không đủ sức chứa cho các phần đầu của chÆ°Æ¡ng trình: hãy thá»­ liên kết vá»›i “-Nâ€"
#: elf.c:4641
msgid "%B: section %A lma %#lx adjusted to %#lx"
@@ -870,15 +869,15 @@ msgstr "%B: phần %A lma %#lx được sửa thành %#lx"
#: elf.c:4776
msgid "%B: section `%A' can't be allocated in segment %d"
-msgstr "%B: phần \"%A\" không thể được cấp phát trong đoạn %d"
+msgstr "%B: phần “%A†không thể được cấp phát trong đoạn %d"
#: elf.c:4824
msgid "%B: warning: allocated section `%s' not in segment"
-msgstr "%B: cảnh báo: phần đã cấp phát \"%s\" không nằm trong đoạn"
+msgstr "%B: cảnh báo: phần đã cấp phát “%s†không nằm trong đoạn"
#: elf.c:5324
msgid "%B: symbol `%s' required but not present"
-msgstr "%B: ký hiệu \"%s\" cần thiết mà không có"
+msgstr "%B: ký hiệu “%s†cần thiết mà không có"
#: elf.c:5662
msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
@@ -887,7 +886,7 @@ msgstr "%B: cảnh báo: Phát hiện má»™t Ä‘oạn rá»—ng có thể nạp Ä‘Æ°á
#: elf.c:6692
#, c-format
msgid "Unable to find equivalent output section for symbol '%s' from section '%s'"
-msgstr "Không tìm thấy phần kết xuất tương đương cho ký hiệu \"%s\" từ phần \"%s\""
+msgstr "Không tìm thấy phần kết xuất tÆ°Æ¡ng Ä‘Æ°Æ¡ng cho ký hiệu “%s†từ phần “%sâ€"
#: elf.c:7692
msgid "%B: unsupported relocation type %s"
@@ -917,12 +916,12 @@ msgstr "%s: không thể tạo mục nhập mẩu %s"
#: elf32-arm.c:5431
#, c-format
msgid "unable to find THUMB glue '%s' for '%s'"
-msgstr "không tìm thấy keo hồ THUMB \"%s\" cho \"%s\""
+msgstr "không tìm thấy keo hồ THUMB “%s†cho “%sâ€"
#: elf32-arm.c:5467
#, c-format
msgid "unable to find ARM glue '%s' for '%s'"
-msgstr "không tìm thấy keo hồ ARM \"%s\" cho \"%s\""
+msgstr "không tìm thấy keo hồ ARM “%s†cho “%sâ€"
#: elf32-arm.c:6005
msgid "%B: BE8 images only valid in big-endian mode."
@@ -935,12 +934,12 @@ msgstr "%B: cảnh báo: sá»± khắc phúc các lá»—i VFP11 đã chá»n không c
#: elf32-arm.c:6779 elf32-arm.c:6799
msgid "%B: unable to find VFP11 veneer `%s'"
-msgstr "%B: không tìm thấy lớp gỗ mặt VFP11 \"%s\""
+msgstr "%B: không tìm thấy lá»›p gá»— mặt VFP11 “%sâ€"
#: elf32-arm.c:6848
#, c-format
msgid "Invalid TARGET2 relocation type '%s'."
-msgstr "Kiểu định vị lại TARGET2 không hợp lệ \"%s\""
+msgstr "Kiểu định vị lại TARGET2 không hợp lệ “%sâ€"
#: elf32-arm.c:6933
msgid ""
@@ -952,27 +951,27 @@ msgstr ""
#: elf32-arm.c:7717
msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx):chỉ lệnh Thumb không mong đợi '0x%x' trong 'TLS trampoline'"
+msgstr "%B(%A+0x%lx):chỉ lệnh Thumb không mong đợi “0x%x†trong “TLS trampolineâ€"
#: elf32-arm.c:7756
msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' in TLS trampoline"
-msgstr "%B(%A+0x%lx):chỉ lệnh ARM không mong đợi '0x%x' trong 'TLS trampoline'"
+msgstr "%B(%A+0x%lx):chỉ lệnh ARM không mong đợi “0x%x†trong “TLS trampolineâ€"
#: elf32-arm.c:8209
msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr "\\%B: Cảnh báo: Chỉ dẫn Arm BLX đăt mục tiêu hàm Arm \"%s\"."
+msgstr "\\%B: Cảnh báo: Chỉ dẫn Arm BLX đăt mục tiêu hàm Arm “%sâ€."
#: elf32-arm.c:8622
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr "%B: Cảnh báo: Chỉ dẫn Thumb BLX đăt mục tiêu hàm thumb \"%s\"."
+msgstr "%B: Cảnh báo: Chỉ dẫn Thumb BLX đăt mục tiêu hàm thumb “%sâ€."
#: elf32-arm.c:9460
msgid "%B(%A+0x%lx):unexpected Thumb instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx):không mong đợi chỉ lệnh Thumb '0x%x' được tham chiếu bởi TLS_GOTDESC"
+msgstr "%B(%A+0x%lx):không mong đợi chỉ lệnh Thumb “0x%x†được tham chiếu bởi TLS_GOTDESC"
#: elf32-arm.c:9483
msgid "%B(%A+0x%lx):unexpected ARM instruction '0x%x' referenced by TLS_GOTDESC"
-msgstr "%B(%A+0x%lx):không mong đợi chỉ lệnh ARM '0x%x' được tham chiếu bởi TLS_GOTDESC"
+msgstr "%B(%A+0x%lx):không mong đợi chỉ lệnh ARM “0x%x†được tham chiếu bởi TLS_GOTDESC"
#: elf32-arm.c:9512
msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
@@ -1210,7 +1209,7 @@ msgstr "%B: chỉ mục ký hiệu sai: %d"
#: elf32-arm.c:12337 elf64-x86-64.c:1561 elf64-x86-64.c:1732 elfxx-mips.c:8223
msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: định vị lại %s so với \"%s\" không thể được dùng khi tạo một đối tượng chia sẻ; hãy biên dịch lại với \"-fPIC\""
+msgstr "%B: định vị lại %s so vá»›i “%s†không thể được dùng khi tạo má»™t đối tượng chia sẻ; hãy biên dịch lại vá»›i “-fPICâ€"
#: elf32-arm.c:13460
#, c-format
@@ -1286,16 +1285,16 @@ msgstr "tái định vị phải là số chẵn"
#: elf32-bfin.c:1593
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
-msgstr "%B(%A+0x%lx): định vị lại không thể giải quyết đối với ký hiệu \"%s\""
+msgstr "%B(%A+0x%lx): định vị lại không thể giải quyết đối vá»›i ký hiệu “%sâ€"
#: elf32-bfin.c:1626 elf32-i386.c:4307 elf32-m68k.c:4233 elf32-s390.c:3055
#: elf64-s390.c:3030 elf64-x86-64.c:4151
msgid "%B(%A+0x%lx): reloc against `%s': error %d"
-msgstr "%B(%A+0x%lx): định vị lại đối với \"%s\": lỗi %d"
+msgstr "%B(%A+0x%lx): định vị lại đối vá»›i “%sâ€: lá»—i %d"
#: elf32-bfin.c:2725
msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
-msgstr "%B: định vị lại ở \"%A+0x%x\" tham chiếu đến ký hiệu \"%s\" với số hạng khác không"
+msgstr "%B: định vị lại ở “%A+0x%x†tham chiếu đến ký hiệu “%s†với số hạng khác không"
#: elf32-bfin.c:2741
msgid "relocation references symbol not defined in the module"
@@ -1346,15 +1345,15 @@ msgstr "*** kiểm tra tái phân bổ này %s"
#: elf32-cris.c:1176
msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
-msgstr "%B, phần %A: định vị lại không thể giải quyết %s đối với ký hiệu \"%s\""
+msgstr "%B, phần %A: định vị lại không thể giải quyết %s đối vá»›i ký hiệu “%sâ€"
#: elf32-cris.c:1238
msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'"
-msgstr "%B, phần %A: Không có PLT hoặc GOT cho định vị lại %s đối với ký hiệu \"%s\""
+msgstr "%B, phần %A: Không có PLT hoặc GOT cho định vị lại %s đối vá»›i ký hiệu “%sâ€"
#: elf32-cris.c:1240
msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
-msgstr "%B, phần %A: Không có PLT cho định vị lại %s đối với ký hiệu \"%s\""
+msgstr "%B, phần %A: Không có PLT cho định vị lại %s đối vá»›i ký hiệu “%sâ€"
#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1639 elf32-cris.c:1722
#: elf32-cris.c:1875 elf32-tic6x.c:2662
@@ -1367,11 +1366,11 @@ msgstr "%B, phần %A: định vị lại %s vá»›i số hạng khác không %d Ä
#: elf32-cris.c:1373 elf32-cris.c:1716 elf32-cris.c:1869 elf32-tic6x.c:2655
msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
-msgstr "%B, phần %A: định vị lại %s với số hạng khác không %d đối với ký hiệu \"%s\""
+msgstr "%B, phần %A: định vị lại %s vá»›i số hạng khác không %d đối vá»›i ký hiệu “%sâ€"
#: elf32-cris.c:1399
msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'"
-msgstr "%B, phần %A: định vị lại %s không được phép cho ký hiệu toàn cục: \"%s\""
+msgstr "%B, phần %A: định vị lại %s không được phép cho ký hiệu toàn cục: “%sâ€"
#: elf32-cris.c:1415
msgid "%B, section %A: relocation %s with no GOT created"
@@ -1380,19 +1379,19 @@ msgstr "%B, phần %A: đã tạo định vị lại %s không có GOT"
#. We shouldn't get here for GCC-emitted code.
#: elf32-cris.c:1630
msgid "%B, section %A: relocation %s has an undefined reference to `%s', perhaps a declaration mixup?"
-msgstr "%B: phần %A: sự định vị lại $s có một thàm chiếu chưa xác định đến \"%s\", có thể khai báo không rõ ?"
+msgstr "%B: phần %A: sá»± định vị lại $s có má»™t thàm chiếu chÆ°a xác định đến “%sâ€, có thể khai báo không rõ ?"
#: elf32-cris.c:2002
msgid "%B, section %A: relocation %s is not allowed for symbol: `%s' which is defined outside the program, perhaps a declaration mixup?"
-msgstr "%B, phần %A: sự định vị lại %s không được phép cho ký hiệu \"%s\" mà được xác định bên ngoài chương trình, có thể khai báo không rõ ?"
+msgstr "%B, phần %A: sự định vị lại %s không được phép cho ký hiệu “%s†mà được xác định bên ngoài chương trình, có thể khai báo không rõ ?"
#: elf32-cris.c:2055
msgid "(too many global variables for -fpic: recompile with -fPIC)"
-msgstr "(quá nhiá»u biến toàn cục đối vá»›i \"-fpic\": hãy biên dịch lại vá»›i \"-fPIC\")"
+msgstr "(quá nhiá»u biến toàn cục đối vá»›i “-fpicâ€: hãy biên dịch lại vá»›i “-fPICâ€)"
#: elf32-cris.c:2062
msgid "(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or -mno-small-tls)"
-msgstr "(dữ liệu cục bộ với mạch cũng quá lớn đối với \"fpic\" hoặc \"-msmall-tls\": hãy biên dịch lại với \"-fPIC\" hay \"-mno-small-tls\")"
+msgstr "(dữ liệu cục bá»™ vá»›i mạch cÅ©ng quá lá»›n đối vá»›i “fpic†hoặc “-msmall-tlsâ€: hãy biên dịch lại vá»›i “-fPIC†hay “-mno-small-tlsâ€)"
#: elf32-cris.c:3261
msgid ""
@@ -1408,7 +1407,7 @@ msgid ""
" relocation %s not valid in a shared object; typically an option mixup, recompile with -fPIC"
msgstr ""
"%B, phần %A:\n"
-" không được sá»­ dụng sá»± định vị lại %s trong má»™t đối tượng chia sẻ; bình thÆ°á»ng do khai báo không rõ, hãy biên dịch lại vá»›i \"-fPIC\""
+" không được sá»­ dụng sá»± định vị lại %s trong má»™t đối tượng chia sẻ; bình thÆ°á»ng do khai báo không rõ, hãy biên dịch lại vá»›i “-fPICâ€"
#: elf32-cris.c:3580
msgid ""
@@ -1416,15 +1415,15 @@ msgid ""
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
"%B, phần %A:\n"
-" không được sử dụng sự định vị lại %s trong một đối tượng chia sẻ; hãy biên dịch lại với \"-fPIC\""
+" không được sá»­ dụng sá»± định vị lại %s trong má»™t đối tượng chia sẻ; hãy biên dịch lại vá»›i “-fPICâ€"
#: elf32-cris.c:4002
msgid ""
"%B, section `%A', to symbol `%s':\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-"%B, phần \"%A\", tới ký hiệu \"%s\":\n"
-" không được sử dụng sự định vị lại %s trong một đối tượng chia sẻ; hãy biên dịch lại với \"-fPIC\""
+"%B, phần “%Aâ€, tá»›i ký hiệu “%sâ€:\n"
+" không được sá»­ dụng sá»± định vị lại %s trong má»™t đối tượng chia sẻ; hãy biên dịch lại vá»›i “-fPICâ€"
#: elf32-cris.c:4118
msgid "Unexpected machine number"
@@ -1482,7 +1481,7 @@ msgstr "định vị lại cần thiết số hạng số không"
#: elf32-frv.c:2888
msgid "%H: relocation to `%s+%v' may have caused the error above\n"
-msgstr "%H: định vị lại tới \"%s+%x\" có thể gây ra lỗi trên\n"
+msgstr "%H: định vị lại tới “%s+%x†có thể gây ra lỗi trên\n"
#: elf32-frv.c:2905
msgid "%H: relocation references symbol not defined in the module\n"
@@ -1554,11 +1553,11 @@ msgstr "%H: R_FRV_FUNCDESC_VALUE tham chiếu đến ký hiệu Ä‘á»™ng vá»›i sá
#: elf32-frv.c:3974
msgid "%H: reloc against `%s' references a different segment\n"
-msgstr "%H: định vị lại tham chiếu `%s' đến một đoạn khác\n"
+msgstr "%H: định vị lại tham chiếu “%s†đến một đoạn khác\n"
#: elf32-frv.c:4124
msgid "%H: reloc against `%s': %s\n"
-msgstr "%H: reloc lại `%s': %s\n"
+msgstr "%H: reloc lại “%sâ€: %s\n"
#: elf32-frv.c:6400
msgid "%B: unsupported relocation type %i\n"
@@ -1591,11 +1590,11 @@ msgstr "%B: Äịnh vị lại trong ELF chung (EM: %d)"
#: elf32-hppa.c:850 elf32-hppa.c:3598
msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"
-msgstr "%B(%A+0x%lx): không thể tới %s, hãy biên dịch lại với \"-ffunction-sections\""
+msgstr "%B(%A+0x%lx): không thể tá»›i %s, hãy biên dịch lại vá»›i “-ffunction-sectionsâ€"
#: elf32-hppa.c:1284
msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC"
-msgstr "%B: không dùng được định vị lại %s khi tạo một đối tượng chia sẽ, hãy biên dịch lại với \"-fPIC\""
+msgstr "%B: không dùng được định vị lại %s khi tạo má»™t đối tượng chia sẽ, hãy biên dịch lại vá»›i “-fPICâ€"
#: elf32-hppa.c:2791
msgid "%B: duplicate export stub %s"
@@ -1621,30 +1620,30 @@ msgstr "%B: kiểu định vị lại không hợp lệ %d"
#: elf32-i386.c:1404 elf64-x86-64.c:1308
msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
-msgstr "%B: không thành công chuyển tiếp TLS từ %s sang %s đối với \"%s\" ở 0x%lx trong phần \"%A\""
+msgstr "%B: không thành công chuyển tiếp TLS từ %s sang %s đối vá»›i “%s†ở 0x%lx trong phần “%Aâ€"
#: elf32-i386.c:1549 elf32-i386.c:3244 elf64-x86-64.c:1487 elf64-x86-64.c:3125
#: elfxx-sparc.c:3083
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
-msgstr "%B: sự định vị lại %s đối với ký hiệu STT_GNU_IFUNC \"%s\" không phải được %s quản lý"
+msgstr "%B: sự định vị lại %s đối với ký hiệu STT_GNU_IFUNC “%s†không phải được %s quản lý"
#: elf32-i386.c:1711 elf32-s390.c:1182 elf32-sh.c:6362 elf32-tilepro.c:1434
#: elf32-xtensa.c:1182 elf64-s390.c:1151 elfxx-sparc.c:1548
#: elfxx-tilegx.c:1701
msgid "%B: `%s' accessed both as normal and thread local symbol"
-msgstr "%B: đã truy cập \"%s\" theo ký hiệu cả hai kiểu bình thÆ°á»ng và cục bá»™ cho mạch"
+msgstr "%B: đã truy cập “%s†theo ký hiệu cả hai kiểu bình thÆ°á»ng và cục bá»™ cho mạch"
#: elf32-i386.c:2539 elf64-x86-64.c:2506
msgid "%P: %B: warning: relocation against `%s' in readonly section `%A'.\n"
-msgstr "%P: %B: cảnh báo: định vị lại dá»±a vào %s trong phần chỉ Ä‘á»c `%A'.\n"
+msgstr "%P: %B: cảnh báo: định vị lại dá»±a vào %s trong phần chỉ Ä‘á»c “%Aâ€.\n"
#: elf32-i386.c:2629 elf64-x86-64.c:2593
msgid "%P: %B: warning: relocation in readonly section `%A'.\n"
-msgstr "%P: %B: cảnh báo: tái định vị trong phần chỉ Ä‘á»c `%A'.\n"
+msgstr "%P: %B: cảnh báo: tái định vị trong phần chỉ Ä‘á»c “%Aâ€.\n"
#: elf32-i386.c:3086 elf32-tilepro.c:2557 elfxx-tilegx.c:2871
msgid "%B: unrecognized relocation (0x%x) in section `%A'"
-msgstr "%B: định vị lại không được nhận ra (0x%x) trong phần \"%A\""
+msgstr "%B: định vị lại không được nhận ra (0x%x) trong phần “%Aâ€"
#: elf32-i386.c:3494 elf64-x86-64.c:3513
msgid "hidden symbol"
@@ -1664,17 +1663,17 @@ msgstr "ký hiệu"
#: elf32-i386.c:3508
msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object"
-msgstr "%B: không dùng được định vị lại R_386_GOTOFF đối với %s chưa xác định \"%s\" khi tạo một đối tượng chia sẻ"
+msgstr "%B: không dùng được định vị lại R_386_GOTOFF đối với %s chưa xác định “%s†khi tạo một đối tượng chia sẻ"
#: elf32-i386.c:3518
msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object"
-msgstr "%B: không dùng được định vị lại R_386_GOTOFF đối với hàm số đã bảo vệ \"%s\" khi tạo một đối tượng chia sẻ"
+msgstr "%B: không dùng được định vị lại R_386_GOTOFF đối với hàm số đã bảo vệ “%s†khi tạo một đối tượng chia sẻ"
#: elf32-i386.c:4839 elf32-tilepro.c:3467 elf64-x86-64.c:4609
#: elfxx-tilegx.c:3847
#, c-format
msgid "discarded output section: `%A'"
-msgstr "phần kết xuất bị bỠqua: `%A'"
+msgstr "phần kết xuất bị bá» qua: “%Aâ€"
#: elf32-ip2k.c:857 elf32-ip2k.c:863 elf32-ip2k.c:930 elf32-ip2k.c:936
msgid "ip2k relaxer: switch table without complete matching relocation information."
@@ -1746,7 +1745,7 @@ msgstr ": chỉ dẫn m32r2"
#: elf32-m68hc1x.c:1050
#, c-format
msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution"
-msgstr "Tham chiếu đến ký hiệu ở xa \"%s\" khi sử dụng một định vị lại sai thì có thể dẫn đến sự thực hiện sai"
+msgstr "Tham chiếu đến ký hiệu ở xa “%s†khi sử dụng một định vị lại sai thì có thể dẫn đến sự thực hiện sai"
#: elf32-m68hc1x.c:1073
#, c-format
@@ -1792,7 +1791,7 @@ msgstr "64-bit đôi, "
#: elf32-m68hc1x.c:1292
#, c-format
msgid "32-bit double, "
-msgstr "32-bit đôi, "
+msgstr "32-bit kép, "
#: elf32-m68hc1x.c:1295
#, c-format
@@ -1880,11 +1879,11 @@ msgstr "%s: Äích (%s) của má»™t sá»± định vị lại %s nằm trong phầ
#: elf32-microblaze.c:1155 elf32-tilepro.c:2891 elfxx-sparc.c:3457
#: elfxx-tilegx.c:3230
msgid "%B: probably compiled without -fPIC?"
-msgstr "%B: rất có thể được biên dịch không có \"-fPIC\" ?"
+msgstr "%B: rất có thể được biên dịch không có “-fPIC†?"
#: elf32-microblaze.c:2074
msgid "%B: bad relocation section name `%s'"
-msgstr "%B: tên phần định vị lại sai \"%s\""
+msgstr "%B: tên phần định vị lại sai “%sâ€"
#: elf32-mips.c:1549 elf64-mips.c:2683 elfn32-mips.c:2487
msgid "literal relocation occurs for an external symbol"
@@ -1957,7 +1956,7 @@ msgstr "Cảnh báo: %B dùng véc-tơ không nhận ra ABI %d"
#: elf32-ppc.c:4111
msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
-msgstr "Cảnh báo: %B dùng véc-tơ ABI \"%s\", còn %B dùng \"%s\""
+msgstr "Cảnh báo: %B dùng véc-tÆ¡ ABI “%sâ€, còn %B dùng “%sâ€"
#: elf32-ppc.c:4128 elf32-ppc.c:4131
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
@@ -1969,11 +1968,11 @@ msgstr "Cảnh báo: %B dùng quy Æ°á»›c trả lại cấu trúc nhá» không rÃ
#: elf32-ppc.c:4192
msgid "%B: compiled with -mrelocatable and linked with modules compiled normally"
-msgstr "%B: đã biên dịch vá»›i \"-mrelocatable\" và đã liên kết vá»›i các môđun biên dịch bình thÆ°á»ng"
+msgstr "%B: đã biên dịch vá»›i “-mrelocatable†và đã liên kết vá»›i các môđun biên dịch bình thÆ°á»ng"
#: elf32-ppc.c:4200
msgid "%B: compiled normally and linked with modules compiled with -mrelocatable"
-msgstr "%B: đã biên dịch bình thÆ°á»ng và đã liên kết vá»›i các môđun biên dịch vá»›i \"-mrelocatable\""
+msgstr "%B: đã biên dịch bình thÆ°á»ng và đã liên kết vá»›i các môđun biên dịch vá»›i “-mrelocatableâ€"
#: elf32-ppc.c:4309
msgid "%P: bss-plt forced due to %B\n"
@@ -1981,7 +1980,7 @@ msgstr "%P: bss-plt bị ép buộc bởi vì %B\n"
#: elf32-ppc.c:4312
msgid "%P: bss-plt forced by profiling\n"
-msgstr "%P: bss-plt được ép buộc bởi 'profiling'\n"
+msgstr "%P: bss-plt được ép buá»™c bởi “profilingâ€\n"
#. Uh oh, we didn't find the expected call. We
#. could just mark this symbol to exclude it
@@ -1993,7 +1992,7 @@ msgstr "%H arg lost __tls_get_addr, tối ưu hóa TLS bị tắt\n"
#: elf32-ppc.c:5044 elf64-ppc.c:6528
msgid "%P: dynamic variable `%s' is zero size\n"
-msgstr "%P: biến kiểu động `%s' có kích thước là không\n"
+msgstr "%P: biến kiểu động “%s†có kích thước là không\n"
#: elf32-ppc.c:7263 elf64-ppc.c:12675
msgid "%P: %B: unknown relocation type %d for symbol %s\n"
@@ -2001,7 +2000,7 @@ msgstr "%P: %B: không rõ kiểu tái định vị %d cho ký hiệu %s\n"
#: elf32-ppc.c:7524
msgid "%P: %H: non-zero addend on %s reloc against `%s'\n"
-msgstr "%P: %H: số hạng khác không trên reloc %s dựa vào `%s'\n"
+msgstr "%P: %H: số hạng khác không trên reloc %s dá»±a vào “%sâ€\n"
#: elf32-ppc.c:7720 elf64-ppc.c:13181
msgid "%P: %H: relocation %s for indirect function %s unsupported\n"
@@ -2017,11 +2016,11 @@ msgstr "%P: %B: tái định vị %s thì vẫn chÆ°a được há»— trợ cho kÃ
#: elf32-ppc.c:8158 elf64-ppc.c:13467
msgid "%P: %H: unresolvable %s relocation against symbol `%s'\n"
-msgstr "%P: %H: không đáp ứng được tái định vị %s dựa vào ký hiệu `%s'\n"
+msgstr "%P: %H: không đáp ứng được tái định vị %s dá»±a vào ký hiệu “%sâ€\n"
#: elf32-ppc.c:8205 elf64-ppc.c:13512
msgid "%P: %H: %s reloc against `%s': error %d\n"
-msgstr "%P: %H: %s reloc lại `%s': lỗi %d\n"
+msgstr "%P: %H: %s reloc lại “%sâ€: lá»—i %d\n"
#: elf32-ppc.c:8696
msgid "%P: %s not defined in linker created %s\n"
@@ -2045,11 +2044,11 @@ msgstr "Cảnh báo: RX_SYM reloc vá»›i má»™t ký hiệu chÆ°a được biết Ä
#: elf32-rx.c:1324
msgid "%B(%A): error: call to undefined function '%s'"
-msgstr "%B(%A): lá»—i: gá»i hàm chÆ°a được định nghÄ©a '%s'"
+msgstr "%B(%A): lá»—i: gá»i hàm chÆ°a được định nghÄ©a “%sâ€"
#: elf32-rx.c:1338
msgid "%B(%A): warning: unaligned access to symbol '%s' in the small data area"
-msgstr "%B(%A): cảnh báo: unaligned access to symbol '%s' trong vùng dữ liệu nhá»"
+msgstr "%B(%A): cảnh báo: unaligned access to symbol “%s†trong vùng dữ liệu nhá»"
#: elf32-rx.c:1342
msgid "%B(%A): internal error: out of range error"
@@ -2178,29 +2177,29 @@ msgstr "%B: 0x%lx: lỗi nặng: R_SH_PSHL định vị lại %d không nằm tr
#: elf32-sh.c:4519 elf32-sh.c:4989
msgid "%B(%A+0x%lx): cannot emit fixup to `%s' in read-only section"
-msgstr "%B(%A+0x%lx): không thể phát ra sá»± sá»­a chữa cho`%s' trong phần chỉ Ä‘á»c"
+msgstr "%B(%A+0x%lx): không thể phát ra sá»± sá»­a chữa cho“%s†trong phần chỉ Ä‘á»c"
#: elf32-sh.c:5096
msgid "%B(%A+0x%lx): %s relocation against external symbol \"%s\""
-msgstr "%B(%A+0x%lx): tái định vị %s dựa trên ký hiệu bên ngoài \"%s\""
+msgstr "%B(%A+0x%lx): tái định vị %s dá»±a trên ký hiệu bên ngoài “%sâ€"
#: elf32-sh.c:5569
#, c-format
msgid "%X%C: relocation to \"%s\" references a different segment\n"
-msgstr "%X%C: định vị lại \"%s\" tham chiếu đến một segment (đoạn) khác\n"
+msgstr "%X%C: định vị lại “%s†tham chiếu đến một segment (đoạn) khác\n"
#: elf32-sh.c:5575
#, c-format
msgid "%C: warning: relocation to \"%s\" references a different segment\n"
-msgstr "%C: cảnh báo: định vị lại \"%s\" tham chiếu đến một đoạn khác\n"
+msgstr "%C: cảnh báo: định vị lại “%s†tham chiếu đến một đoạn khác\n"
#: elf32-sh.c:6353 elf32-sh.c:6436
msgid "%B: `%s' accessed both as normal and FDPIC symbol"
-msgstr "%B: `%s' đã được truy cập theo cả hai kiểu bình thÆ°á»ng và ký hiệu FDPIC"
+msgstr "%B: “%s†đã được truy cập theo cả hai kiểu bình thÆ°á»ng và ký hiệu FDPIC"
#: elf32-sh.c:6358 elf32-sh.c:6440
msgid "%B: `%s' accessed both as FDPIC and thread local symbol"
-msgstr "%B: \"%s\" đã được truy cập theo cả hai kiểu ký hiệu FDPIC và cục bộ cho tuyến trình"
+msgstr "%B: “%s†đã được truy cập theo cả hai kiểu ký hiệu FDPIC và cục bộ cho tuyến trình"
#: elf32-sh.c:6388
msgid "%B: Function descriptor relocation with non-zero addend"
@@ -2397,7 +2396,7 @@ msgstr "gặp lá»—i nghiêm trá»ng trong khi tạo .fixup"
#: elf32-spu.c:5008
msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
-msgstr "%B(%s+0x%lx): không thể giải quyết định vị lại %s so với ký hiệu \"%s\""
+msgstr "%B(%s+0x%lx): không thể giải quyết định vị lại %s so vá»›i ký hiệu “%sâ€"
#: elf32-tic6x.c:1602
msgid "warning: generating a shared library containing non-PIC code"
@@ -2450,27 +2449,27 @@ msgstr "cảnh báo: %B và %B khác nhau ở chỗ mà mã được dịch cho
#: elf32-v850.c:173
#, c-format
msgid "Variable `%s' cannot occupy in multiple small data regions"
-msgstr "Biến \"%s\" không thể chiếm nhiá»u vùng dữ liệu nhá»"
+msgstr "Biến “%s†không thể chiếm nhiá»u vùng dữ liệu nhá»"
#: elf32-v850.c:176
#, c-format
msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions"
-msgstr "Biến \"%s\" chỉ có thể nằm trong má»™t của vùng dữ liệu kiểu nhá», số không và rất nhá»"
+msgstr "Biến “%s†chỉ có thể nằm trong má»™t của vùng dữ liệu kiểu nhá», số không và rất nhá»"
#: elf32-v850.c:179
#, c-format
msgid "Variable `%s' cannot be in both small and zero data regions simultaneously"
-msgstr "Biến \"%s\" không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu nhá» và số không"
+msgstr "Biến “%s†không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu nhá» và số không"
#: elf32-v850.c:182
#, c-format
msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously"
-msgstr "Biến \"%s\" không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu nhá» và rất nhá»"
+msgstr "Biến “%s†không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu nhá» và rất nhá»"
#: elf32-v850.c:185
#, c-format
msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
-msgstr "Biến \"%s\" không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu rất nhá» và số không"
+msgstr "Biến “%s†không thể nằm đồng thá»i trong cả hai vùng dữ liệu kiểu rất nhá» và số không"
#: elf32-v850.c:483
msgid "FAILED to find previous HI16 reloc"
@@ -2541,17 +2540,17 @@ msgstr " [trôi g]"
#: elf32-vax.c:655
#, c-format
msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld"
-msgstr "%s: cảnh báo: số hạng GOT của %ld cho \"%s\" không tương ứng với số hạng GOT trước của %ld"
+msgstr "%s: cảnh báo: số hạng GOT của %ld cho “%s†không tương ứng với số hạng GOT trước của %ld"
#: elf32-vax.c:1585
#, c-format
msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
-msgstr "%s: cảnh báo: số hạng PLT của %d cho \"%s\" từ phần %s bị bỠqua"
+msgstr "%s: cảnh báo: số hạng PLT của %d cho “%s†từ phần %s bị bỠqua"
#: elf32-vax.c:1712
#, c-format
msgid "%s: warning: %s relocation against symbol `%s' from %s section"
-msgstr "%s: cảnh báo: định vị lại %s so với ký hiệu \"%s\" từ phần %s"
+msgstr "%s: cảnh báo: định vị lại %s so với ký hiệu “%s†từ phần %s"
#: elf32-vax.c:1718
#, c-format
@@ -2671,7 +2670,7 @@ msgid ""
msgstr ""
"tái định vị kết xuất không hợp lệ khi sản sinh kết xuất định dạng non-ELF, non-mmo.\n"
" Xin hãy sử dụng chương trình objcopy để chuyển từ ELF hoặc mmo,\n"
-" hoặc sử dụng assemble \"-no-expand\" (cho gcc, \"-Wa,-no-expand\""
+" hoặc sá»­ dụng assemble “-no-expand†(cho gcc, “-Wa,-no-expandâ€"
#: elf64-mmix.c:1218
msgid ""
@@ -2681,7 +2680,7 @@ msgid ""
msgstr ""
"tái định vị kết xuất không hợp lệ khi sản sinh kết xuất định dạng non-ELF, non-mmo.\n"
" Xin hãy sử dụng chương trình objcopy để chuyển từ ELF hoặc mmo,\n"
-" hoặc dịch sá»­ dụng tùy-chá»n-gcc \"-mno-base-addresses\"."
+" hoặc dịch sá»­ dụng tùy-chá»n-gcc “-mno-base-addressesâ€."
#: elf64-mmix.c:1244
#, c-format
@@ -2729,7 +2728,7 @@ msgstr ""
#, c-format
msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n"
msgstr ""
-"%s: Lá»—i: định nghÄ©a nhiá»u lần \"%s\"; đầu của %s được đặt\n"
+"%s: Lá»—i: định nghÄ©a nhiá»u lần “%sâ€; đầu của %s được đặt\n"
"trong một tập tin đã liên kết sớm hơn\n"
#: elf64-mmix.c:2311
@@ -2751,7 +2750,7 @@ msgstr "%P: %B: không thể tạo mục gốc %s\n"
#: elf64-ppc.c:6518
msgid "%P: copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
-msgstr "%P: sao chép reloc (định vị lại) \"%s\" thì cần thiết chức năng liên kết plt uể oải; hãy tránh đặt LD_BIND_NOW=1, hoặc nâng cấp GCC\n"
+msgstr "%P: sao chép reloc (định vị lại) “%s†thì cần thiết chức năng liên kết plt uể oải; hãy tránh đặt LD_BIND_NOW=1, hoặc nâng cấp GCC\n"
#: elf64-ppc.c:6788
msgid "%B: undefined symbol on R_PPC64_TOCSAVE relocation"
@@ -2771,7 +2770,7 @@ msgstr "%B: gặp kiểu định vị lại bất thÆ°á»ng %u trong phần .opd
#: elf64-ppc.c:7106
msgid "%B: undefined sym `%s' in .opd section"
-msgstr "%B: gặp sym (liên kết má»m?) chÆ°a được xác định \"%s\" trong phần .opd"
+msgstr "%B: gặp sym (liên kết má»m?) chÆ°a được xác định “%s†trong phần .opd"
#: elf64-ppc.c:7664
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
@@ -2792,19 +2791,19 @@ msgstr "%P: không tìm thấy mục opd toc(mục lục) cho %s\n"
#: elf64-ppc.c:9680
msgid "%P: long branch stub `%s' offset overflow\n"
-msgstr "%P: mẩu nhánh dài \"%s\" tràn khoảng bù\n"
+msgstr "%P: mẩu nhánh dài “%s†tràn khoảng bù\n"
#: elf64-ppc.c:9739
msgid "%P: can't find branch stub `%s'\n"
-msgstr "%P: không tìm thấy nhánh gốc `%s'\n"
+msgstr "%P: không tìm thấy nhánh gốc “%sâ€\n"
#: elf64-ppc.c:9801 elf64-ppc.c:9943
msgid "%P: linkage table error against `%s'\n"
-msgstr "%P: bảng liên kết lại sai `%s'\n"
+msgstr "%P: bảng liên kết lại sai “%sâ€\n"
#: elf64-ppc.c:10126
msgid "%P: can't build branch stub `%s'\n"
-msgstr "%P: không thể xây dựng nhánh gốc `%s'\n"
+msgstr "%P: không thể xây dá»±ng nhánh gốc “%sâ€\n"
#: elf64-ppc.c:10941
msgid "%B section %A exceeds stub group size"
@@ -2812,7 +2811,7 @@ msgstr "%B phần %A vượt quá kích cỡ nhóm mẩu"
#: elf64-ppc.c:11666 elf64-ppc.c:11699
msgid "%P: %s offset too large for .eh_frame sdata4 encoding"
-msgstr "%P: %s giá trị bù quá lớn cho mã hóa '.eh_frame sdata4'"
+msgstr "%P: %s giá trị bù quá lá»›n cho mã hóa “.eh_frame sdata4â€"
#: elf64-ppc.c:11744
msgid "%P: stubs don't match calculated size\n"
@@ -2845,11 +2844,11 @@ msgstr "%P: %H: %s được sử dụng với ký hiệu không-phải-TLS %s\n"
#: elf64-ppc.c:12556
msgid "%P: %H: automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc\n"
-msgstr "%P: %H: tá»± Ä‘á»™ng tạo nhiá»u TOC không được há»— trợ khi dùng các tập tin CRT của bạn; hãy biên dịch lại vá»›i \"-mminimal-toc\", hoặc nâng cấp GCC\n"
+msgstr "%P: %H: tá»± Ä‘á»™ng tạo nhiá»u TOC không được há»— trợ khi dùng các tập tin CRT của bạn; hãy biên dịch lại vá»›i “-mminimal-tocâ€, hoặc nâng cấp GCC\n"
#: elf64-ppc.c:12562
msgid "%P: %H: sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern\n"
-msgstr "%P: %H: tối Æ°u hoá cuá»™c gá»i cùng chá»— (sibling) cho \"%s\" không cho phép tá»± Ä‘á»™ng tạo nhiá»u TOC; hãy biên dịch lại vá»›i \"-mminimal-toc\" hoặc \"-fno-optimize-sibling-calls\", hoặc làm cho \"%s\" bên ngoài\n"
+msgstr "%P: %H: tối Æ°u hoá cuá»™c gá»i cùng chá»— (sibling) cho “%s†không cho phép tá»± Ä‘á»™ng tạo nhiá»u TOC; hãy biên dịch lại vá»›i “-mminimal-toc†hoặc “-fno-optimize-sibling-callsâ€, hoặc làm cho “%s†bên ngoài\n"
#: elf64-ppc.c:13286
msgid "%P: %B: relocation %s is not supported for symbol %s\n"
@@ -2874,11 +2873,11 @@ msgstr "Thanh ghi %%g%d được dùng một cách không tương thích: %s tro
#: elf64-sparc.c:489
msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"
-msgstr "Ký hiệu \"%s\" có các kiểu khác hau: REGISTER (thanh ghi) trong %B, trước là %s trong %B"
+msgstr "Ký hiệu “%s†có các kiểu khác hau: REGISTER (thanh ghi) trong %B, trước là %s trong %B"
#: elf64-sparc.c:534
msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"
-msgstr "Ký hiệu \"%s\" có các kiểu khác hau: %s trong %b, trước là REGISTER (thanh ghi) trong %B"
+msgstr "Ký hiệu “%s†có các kiểu khác hau: %s trong %b, trước là REGISTER (thanh ghi) trong %B"
#: elf64-sparc.c:687
msgid "%B: linking UltraSPARC specific with HAL specific code"
@@ -2886,31 +2885,31 @@ msgstr "%B: đang liên kết UltraSPARC dứt khoát với mã đặc trưng ch
#: elf64-x86-64.c:1427
msgid "%B: relocation %s against symbol `%s' isn't supported in x32 mode"
-msgstr "%B: sự định vị lại %s dựa vào ký hiệu \"%s\" không được hỗ trợ trong chế độ x32"
+msgstr "%B: sự định vị lại %s dựa vào ký hiệu “%s†không được hỗ trợ trong chế độ x32"
#: elf64-x86-64.c:1656
msgid "%B: '%s' accessed both as normal and thread local symbol"
-msgstr "%B; \"%s\" được truy cập nhÆ° là ký hiệu cả hai kiểu bình thÆ°á»ng và mạch cục bá»™"
+msgstr "%B; “%s†được truy cập nhÆ° là ký hiệu cả hai kiểu bình thÆ°á»ng và mạch cục bá»™"
#: elf64-x86-64.c:3150
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
-msgstr "%B: sự định vị lại %s đối với ký hiệu STT_GNU_IFUNC \"%s\" có phần cộng khác số không: %d"
+msgstr "%B: sự định vị lại %s đối với ký hiệu STT_GNU_IFUNC “%s†có phần cộng khác số không: %d"
#: elf64-x86-64.c:3411
msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object"
-msgstr "%B: định vị lại R_X86_64_GOTOFF64 so với hàm đã bảo vệ \"%s\" thì không thể được dùng khi tạo một đối tượng chia sẻ"
+msgstr "%B: định vị lại R_X86_64_GOTOFF64 so với hàm đã bảo vệ “%s†thì không thể được dùng khi tạo một đối tượng chia sẻ"
#: elf64-x86-64.c:3523
msgid "; recompile with -fPIC"
-msgstr "; biên dịch lại với \"-fPIC\""
+msgstr "; biên dịch lại vá»›i “-fPICâ€"
#: elf64-x86-64.c:3528
msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s"
-msgstr "%B: không dùng được định vị lại %s đối với %s \"%s\" khi tạo một đối tượng chia sẻ %s"
+msgstr "%B: không dùng được định vị lại %s đối với %s “%s†khi tạo một đối tượng chia sẻ %s"
#: elf64-x86-64.c:3530
msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s"
-msgstr "%B: không dùng được định vị lại %s đối với %s chưa xác định \"%s\" khi tạo một đối tượng chia sẻ %s"
+msgstr "%B: không dùng được định vị lại %s đối với %s chưa xác định “%s†khi tạo một đối tượng chia sẻ %s"
#: elfcode.h:767
#, c-format
@@ -2949,7 +2948,7 @@ msgstr "%s: lá»i định nghÄ©a TLS trong %B không tÆ°Æ¡ng ứng vá»›i lá»i Ä
#: elflink.c:1762
msgid "%B: unexpected redefinition of indirect versioned symbol `%s'"
-msgstr "%B: gặp lá»i định nghÄ©a lại bất thÆ°á»ng của ký hiệu gián tiếp đặt phiên bản \"%s\""
+msgstr "%B: gặp lá»i định nghÄ©a lại bất thÆ°á»ng của ký hiệu gián tiếp đặt phiên bản “%sâ€"
#: elflink.c:2063
msgid "%B: version node not found for symbol %s"
@@ -2957,11 +2956,11 @@ msgstr "%B: không tìm thấy nút thông tin phiên bản cho ký hiệu %s"
#: elflink.c:2154
msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'"
-msgstr "%B: chỉ mục ký hiệu định vị lại sai (0x%lx ≥ 0x%lx) cho khoảng bù 0x%lx trong phần \"%A\""
+msgstr "%B: chỉ mục ký hiệu định vị lại sai (0x%lx ≥ 0x%lx) cho khoảng bù 0x%lx trong phần “%Aâ€"
#: elflink.c:2165
msgid "%B: non-zero symbol index (0x%lx) for offset 0x%lx in section `%A' when the object file has no symbol table"
-msgstr "%B: chỉ mục ký hiệu khác số không (0x%lx) cho hiệu 0x%lx trong phần \"%A\" mà tập tin đối tượng không có bảng ký hiệu"
+msgstr "%B: chỉ mục ký hiệu khác số không (0x%lx) cho hiệu 0x%lx trong phần “%A†mà tập tin đối tượng không có bảng ký hiệu"
#: elflink.c:2355
msgid "%B: relocation size mismatch in %B section %A"
@@ -2970,7 +2969,7 @@ msgstr "%B: sai khớp kích cỡ định vị lại trong %B phần %A"
#: elflink.c:2639
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
-msgstr "cảnh báo: chưa xác định kiểu và kích cỡ của ký hiệu động \"%s\""
+msgstr "cảnh báo: chÆ°a xác định kiểu và kích cỡ của ký hiệu Ä‘á»™ng “%sâ€"
#: elflink.c:3391
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
@@ -2986,23 +2985,23 @@ msgstr "%B: %s: phiên bản cần thiết mà không hợp lệ %d"
#: elflink.c:4269
msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A"
-msgstr "Cảnh báo: vị trí sắp hàng %u của ký hiệu dùng chung \"%s\" trong %B là lớn hơn vị trí sắp hàng (%u) của phần %A của nó"
+msgstr "Cảnh báo: vị trí sắp hàng %u của ký hiệu dùng chung “%s†trong %B là lớn hơn vị trí sắp hàng (%u) của phần %A của nó"
#: elflink.c:4275
msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
-msgstr "Cảnh báo: vị trí sắp hàng %u của ký hiệu \"%s\" trong %B là nhỠhơn %u trong %B"
+msgstr "Cảnh báo: vị trí sắp hàng %u của ký hiệu “%s†trong %B là nhỠhơn %u trong %B"
#: elflink.c:4290
msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
-msgstr "Cảnh báo: kích cỡ của ký hiệu \"%s\" đã thay đổi từ %lu trong %B thành %lu trong %B"
+msgstr "Cảnh báo: kích cỡ của ký hiệu “%s†đã thay đổi từ %lu trong %B thành %lu trong %B"
#: elflink.c:4463
msgid "%B: undefined reference to symbol '%s'"
-msgstr "%B: chưa định nghĩa tham chiếu đến ký hiệu '%s'"
+msgstr "%B: chÆ°a định nghÄ©a tham chiếu đến ký hiệu “%sâ€"
#: elflink.c:4466
msgid "note: '%s' is defined in DSO %B so try adding it to the linker command line"
-msgstr "chú ý: '%s' được định nghĩa trong DSO %B do đó hãy thử thêm nó vào trong dòng lệnh của bộ liên kết"
+msgstr "chú ý: “%s†được định nghĩa trong DSO %B do đó hãy thử thêm nó vào trong dòng lệnh của bộ liên kết"
#: elflink.c:5781
#, c-format
@@ -3011,7 +3010,7 @@ msgstr "%s: phiên bản chưa được xác định: %s"
#: elflink.c:5849
msgid "%B: .preinit_array section is not allowed in DSO"
-msgstr "%B: không cho phép phần \".preinit_array\" trong DSO"
+msgstr "%B: không cho phép phần “.preinit_array†trong DSO"
#: elflink.c:7604
#, c-format
@@ -3021,7 +3020,7 @@ msgstr "gặp tham chiếu %s chưa được xác định trong ký hiệu phứ
#: elflink.c:7758
#, c-format
msgid "unknown operator '%c' in complex symbol"
-msgstr "không rõ toán tử \"%c\" trong ký hiệu phức tạp"
+msgstr "không rõ toán tử “%c†trong ký hiệu phức tạp"
#: elflink.c:8097 elflink.c:8114 elflink.c:8151 elflink.c:8168
msgid "%B: Unable to sort relocs - they are in more than one size"
@@ -3041,15 +3040,15 @@ msgstr "%B: Quá nhiá»u phần: %d (≥ %d)"
#: elflink.c:8675
msgid "%B: internal symbol `%s' in %B is referenced by DSO"
-msgstr "%B: ký hiệu nội tại \"%s\" trong %B được DSO tham chiếu"
+msgstr "%B: ký hiệu nội tại “%s†trong %B được DSO tham chiếu"
#: elflink.c:8677
msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
-msgstr "%B: ký hiệu ẩn `%s' trong %B được DSO tham chiếu"
+msgstr "%B: ký hiệu ẩn “%s†trong %B được DSO tham chiếu"
#: elflink.c:8679
msgid "%B: local symbol `%s' in %B is referenced by DSO"
-msgstr "%B: ký hiệu nội bộ `%s' trong %B được tham chiếu bởi DSO"
+msgstr "%B: ký hiệu nội bộ “%s†trong %B được tham chiếu bởi DSO"
#: elflink.c:8776
msgid "%B: could not find output section %A for input section %A"
@@ -3057,15 +3056,15 @@ msgstr "%B: không thể tìm thấy phần kết xuất %A cho phần dữ liá»
#: elflink.c:8899
msgid "%B: protected symbol `%s' isn't defined"
-msgstr "%B: ký hiệu được bảo vệ `%s' chưa được định nghĩa"
+msgstr "%B: ký hiệu được bảo vệ “%s†chưa được định nghĩa"
#: elflink.c:8901
msgid "%B: internal symbol `%s' isn't defined"
-msgstr "%B: ký hiệu nội tại `%s' chưa được định nghĩa"
+msgstr "%B: ký hiệu nội tại “%s†chưa được định nghĩa"
#: elflink.c:8903
msgid "%B: hidden symbol `%s' isn't defined"
-msgstr "%B: ký hiệu ẩn `%s' chưa được định nghĩa"
+msgstr "%B: ký hiệu ẩn “%s†chưa được định nghĩa"
#: elflink.c:9432
msgid "error: %B: size of section %A is not multiple of address size"
@@ -3077,7 +3076,7 @@ msgstr "lỗi: %B chứa một định vị lại (0x%s) cho phần %A mà tham
#: elflink.c:10214
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
-msgstr "%A có phần cả hai được sắp xếp [\"%A\" trong %B] và chưa sắp xếp [\"%A\" trong %B]"
+msgstr "%A có phần cả hai được sắp xếp [â€%A†trong %B] và chÆ°a sắp xếp [â€%A†trong %B]"
#: elflink.c:10219
#, c-format
@@ -3100,7 +3099,7 @@ msgstr "cảnh báo: phần %s có kích cỡ số không"
#: elflink.c:11143
#, c-format
msgid "warning: section '%s' is being made into a note"
-msgstr "cảnh báo: phần \"%s\" bị làm thành một ghi chú"
+msgstr "cảnh báo: phần “%s†bị làm thành một ghi chú"
#: elflink.c:11212
msgid "%P%X: read-only segment has dynamic relocations.\n"
@@ -3116,7 +3115,7 @@ msgstr "%P%X: không thể Ä‘á»c các ký hiệu: %E\n"
#: elflink.c:11792
msgid "Removing unused section '%s' in file '%B'"
-msgstr "Äang gỡ bá» phần không dùng \"%s\" trong tập tin \"%B\""
+msgstr "Äang gỡ bá» phần không dùng “%s†trong tập tin “%Bâ€"
#: elflink.c:11998
msgid "Warning: gc-sections option ignored"
@@ -3141,11 +3140,11 @@ msgstr "%B: %A+0x%lx: Nhảy trực tiếp giữa các chế độ ISA là khôn
#: elfxx-mips.c:6519 elfxx-mips.c:6742
msgid "%B: Warning: bad `%s' option size %u smaller than its header"
-msgstr "%B: Cảnh báo: kích cỡ tùy chá»n \"%s\" sai: nhá» hÆ¡n phần đầu của nó"
+msgstr "%B: Cảnh báo: kích cỡ tùy chá»n “%s†sai: nhá» hÆ¡n phần đầu của nó"
#: elfxx-mips.c:7495 elfxx-mips.c:7620
msgid "%B: Warning: cannot determine the target function for stub section `%s'"
-msgstr "%B: cảnh báo: không thể quyết định hàm đích cho phần mẩu \"%s\""
+msgstr "%B: cảnh báo: không thể quyết định hàm đích cho phần mẩu “%sâ€"
#: elfxx-mips.c:7749
msgid "%B: Malformed reloc detected for section %s"
@@ -3166,32 +3165,32 @@ msgstr "định vị lại khác động cũng tham chiếu đến ký hiệu đ
#: elfxx-mips.c:9347
msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'"
-msgstr "%B: Không tìm thấy định vị lại LO16 tương ứng so với \"%s\" cho %s ở 0x%lx trong phần \"%A\""
+msgstr "%B: Không tìm thấy định vị lại LO16 tÆ°Æ¡ng ứng so vá»›i “%s†cho %s ở 0x%lx trong phần “%Aâ€"
#: elfxx-mips.c:9486
msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
-msgstr "Phần small-data (dữ liệu nhá») vượt quá 64 KB; hãy giảm giá»›i hạn dữ liệu nhá» (xem tùy chá»n \"-G\")"
+msgstr "Phần small-data (dữ liệu nhá») vượt quá 64 KB; hãy giảm giá»›i hạn dữ liệu nhá» (xem tùy chá»n “-Gâ€)"
#: elfxx-mips.c:9505
msgid "JALX to a non-word-aligned address"
-msgstr "JALX cho địa chỉ 'non-word-aligned'"
+msgstr "JALX cho địa chỉ “non-word-alignedâ€"
#: elfxx-mips.c:13266
#, c-format
msgid "%s: illegal section name `%s'"
-msgstr "%s: tên phần cấm \"%s\""
+msgstr "%s: tên phần cấm “%sâ€"
#: elfxx-mips.c:13645 elfxx-mips.c:13671
msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float"
-msgstr "Cảnh báo: %B dùng \"-msingle-float\", còn %B dùng \"-mdouble-float\""
+msgstr "Cảnh báo: %B dùng “-msingle-floatâ€, còn %B dùng “-mdouble-floatâ€"
#: elfxx-mips.c:13657 elfxx-mips.c:13713
msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64"
-msgstr "Cảnh báo: %B dùng \"-msingle-float\", còn %B dùng \"-mips32r2 -mfp64\""
+msgstr "Cảnh báo: %B dùng “-msingle-floatâ€, còn %B dùng “-mips32r2 -mfp64â€"
#: elfxx-mips.c:13683 elfxx-mips.c:13719
msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64"
-msgstr "Cảnh báo: %B dùng \"-mdouble-float\", còn %B dùng \"-mips32r2 -mfp64\""
+msgstr "Cảnh báo: %B dùng “-mdouble-floatâ€, còn %B dùng “-mips32r2 -mfp64â€"
#: elfxx-mips.c:13761
msgid "%B: endianness incompatible with that of the selected emulation"
@@ -3283,12 +3282,12 @@ msgstr "%B: Không thể liên kết hai đối tượng %s và %s với nhau."
#: i386linux.c:451 m68klinux.c:456 sparclinux.c:450
#, c-format
msgid "Output file requires shared library `%s'\n"
-msgstr "Tập tin kết xuất cần thiết thư viện chia sẻ \"%s\"\n"
+msgstr "Tập tin kết xuất cần thiết thÆ° viện chia sẻ “%sâ€\n"
#: i386linux.c:459 m68klinux.c:464 sparclinux.c:458
#, c-format
msgid "Output file requires shared library `%s.so.%s'\n"
-msgstr "Tập tin kết xuất cần thiết thư viện chia sẻ \"%s.so.%s\"\n"
+msgstr "Tập tin kết xuất cần thiết thÆ° viện chia sẻ “%s.so.%sâ€\n"
#: i386linux.c:648 i386linux.c:698 m68klinux.c:656 m68klinux.c:704
#: sparclinux.c:648 sparclinux.c:698
@@ -3308,7 +3307,7 @@ msgstr "%s: chuỗi quá dài (%d ký tự, tối đa 65535)"
#: ieee.c:286
#, c-format
msgid "%s: unrecognized symbol `%s' flags 0x%x"
-msgstr "%s: không nhận ra ký hiêu \"%s\" các cỠ0x%x"
+msgstr "%s: không nhận ra ký hiêu “%s†các cỠ0x%x"
#: ieee.c:792
msgid "%B: unimplemented ATI record %u for symbol %u"
@@ -3387,7 +3386,7 @@ msgstr "%s bị phản đối được gá»i\n"
#: linker.c:1872
msgid "%B: indirect symbol `%s' to `%s' is a loop"
-msgstr "%B: ký hiệu gián tiếp \"%s\" tới \"%s\" thì tạo một vòng lặp"
+msgstr "%B: ký hiệu gián tiếp “%s†tới “%s†thì tạo một vòng lặp"
#: linker.c:2736
#, c-format
@@ -3396,19 +3395,19 @@ msgstr "Thử làm liên kết có khả năng định vị lại với đầu v
#: linker.c:3021
msgid "%B: ignoring duplicate section `%A'\n"
-msgstr "%B: đang bỠqua phần trùng \"%A\"\n"
+msgstr "%B: Ä‘ang bá» qua phần trùng “%Aâ€\n"
#: linker.c:3030 linker.c:3039
msgid "%B: duplicate section `%A' has different size\n"
-msgstr "%B: phần trùng \"%A\" có kích cỡ khác\n"
+msgstr "%B: phần trùng “%A†có kích cỡ khác\n"
#: linker.c:3047 linker.c:3052
msgid "%B: could not read contents of section `%A'\n"
-msgstr "%B: không thể Ä‘á»c ná»™i dung của phần \"%A\"\n"
+msgstr "%B: không thể Ä‘á»c ná»™i dung của phần “%Aâ€\n"
#: linker.c:3056
msgid "%B: duplicate section `%A' has different contents\n"
-msgstr "%B: phần trùng `%A' có nội dung khác\n"
+msgstr "%B: phần trùng “%A†có nội dung khác\n"
#: mach-o.c:407
msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
@@ -3432,17 +3431,17 @@ msgstr "bfd_mach_o_read_symtab_symbol: tên ngoài phạm vi (%lu >= %lu)"
#: mach-o.c:1892
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu \"%s\" đã chỉ ra phần không hợp lệ %d (tối đa %lu): đang đặt thành chưa định nghĩa"
+msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu “%s†đã chỉ ra phần không hợp lệ %d (tối đa %lu): đang đặt thành chưa định nghĩa"
#: mach-o.c:1900
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu \"%s\" không được hỗ trợ tham chiếu 'indirect': đặt thành chưa định nghĩa"
+msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu “%s†không được há»— trợ tham chiếu “indirectâ€: đặt thành chÆ°a định nghÄ©a"
#: mach-o.c:1906
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%x: setting to undefined"
-msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu \"%s\" đã chỉ định sai kiểu tại trÆ°á»ng 0x%x: đặt thành chÆ°a định nghÄ©a"
+msgstr "bfd_mach_o_read_symtab_symbol: ký hiệu “%s†đã chỉ định sai kiểu tại trÆ°á»ng 0x%x: đặt thành chÆ°a định nghÄ©a"
#: mach-o.c:1979
msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
@@ -3475,12 +3474,12 @@ msgstr "Phần đầu Mach-O:\n"
#: mach-o.c:3578
#, c-format
msgid " magic : %08lx\n"
-msgstr " ma thuật : %08lx\n"
+msgstr " ma thuật : %08lx\n"
#: mach-o.c:3579
#, c-format
msgid " cputype : %08lx (%s)\n"
-msgstr " kiểu CPU : %08lx (%s)\n"
+msgstr " kiểu CPU : %08lx (%s)\n"
#: mach-o.c:3581
#, c-format
@@ -3522,7 +3521,7 @@ msgstr "Äoạn và Phần:\n"
#: mach-o.c:3601
msgid " #: Segment name Section name Address\n"
-msgstr " #: Tên Ä‘oạn Tên phần Äịa chỉ\n"
+msgstr " #: Tên Ä‘oạn Tên phần Äịa chỉ\n"
#: merge.c:832
#, c-format
@@ -3542,17 +3541,17 @@ msgstr "%s: Không có lõi nào để cấp phát má»™t ký hiệu có chiá»u
#: mmo.c:1187
#, c-format
msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n"
-msgstr "%s: tập tin mmo không hợp lệ: giá trị khởi tạo cho $255 không phải là \"Main\" (chính)\n"
+msgstr "%s: tập tin mmo không hợp lệ: giá trị khởi tạo cho $255 không phải là “Main†(chính)\n"
#: mmo.c:1332
#, c-format
msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n"
-msgstr "%s: dãy ký tự rộng không được hỗ trợ 0x%02X 0x%02X đằng sau tên ký hiệu bắt đầu với \"%s\"\n"
+msgstr "%s: dãy ký tá»± rá»™ng không được há»— trợ 0x%02X 0x%02X đằng sau tên ký hiệu bắt đầu vá»›i “%sâ€\n"
#: mmo.c:1565
#, c-format
msgid "%s: invalid mmo file: unsupported lopcode `%d'\n"
-msgstr "%s: tập tin mmo không hợp lệ: mã lop không được hỗ trợ \"%d\"\n"
+msgstr "%s: tập tin mmo không hợp lệ: mã lop không được há»— trợ “%dâ€\n"
#: mmo.c:1575
#, c-format
@@ -3567,7 +3566,7 @@ msgstr "%s: tập tin mmo không hợp lệ: đợi z=1 hoặc z=2, còn nhận
#: mmo.c:1657
#, c-format
msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
-msgstr "%s: tập tin mmo không hợp lệ: đợi z=1 hoặc z=2, còn nhận z=%d đối với lop_fixo\n"
+msgstr "%s: tập tin mmo không hợp lệ: cần z=1 hoặc z=2, nhưng nhận z=%d đối với lop_fixo\n"
#: mmo.c:1696
#, c-format
@@ -3592,7 +3591,7 @@ msgstr "%s: không thể cấp phát tên tập tin cho tên số %d, %d byte\n"
#: mmo.c:1771
#, c-format
msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
-msgstr "%s: tập tin mmo không hợp lệ: tập tin số %d \"%s\" đã được nhập vào dạng \"%s\"\n"
+msgstr "%s: tập tin mmo không hợp lệ: tập tin số %d “%s†đã được nhập vào dạng “%sâ€\n"
#: mmo.c:1784
#, c-format
@@ -3617,17 +3616,17 @@ msgstr "%s: tập tin mmo không hợp lệ: YZ của lop_end (%ld) không phả
#: mmo.c:2649
#, c-format
msgid "%s: invalid symbol table: duplicate symbol `%s'\n"
-msgstr "%s: bảng ký hiệu không hợp lệ: ký hiệu trùng \"%s\"\n"
+msgstr "%s: bảng ký hiệu không hợp lệ: ký hiệu trùng “%sâ€\n"
#: mmo.c:2889
#, c-format
msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n"
-msgstr "%s: Sai xác định ký hiệu: \"Main\" (chính) được đặt thành %s hơn là địa chỉ đầu %s\n"
+msgstr "%s: Sai xác định ký hiệu: “Main†(chính) được đặt thành %s hơn là địa chỉ đầu %s\n"
#: mmo.c:2981
#, c-format
msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n"
-msgstr "%s: cảnh báo: bảng ký hiệu quá lớn cho mmo, lớn hơn 65535 từ 32-bit: %d, nên chỉ phát ra \"Main\" (chính).\n"
+msgstr "%s: cảnh báo: bảng ký hiệu quá lớn cho mmo, lớn hơn 65535 từ 32-bit: %d, nên chỉ phát ra “Main†(chính).\n"
#: mmo.c:3026
#, c-format
@@ -3657,7 +3656,7 @@ msgstr "%s: địa chỉ đầu không hợp lệ cho các thanh ghi đã khởi
#: oasys.c:882
#, c-format
msgid "%s: can not represent section `%s' in oasys"
-msgstr "%s: không thể đại diện phần \"%s\" theo oasys"
+msgstr "%s: không thể đại diện phần “%s†theo oasys"
#: osf-core.c:140
#, c-format
@@ -3666,7 +3665,7 @@ msgstr "Kiểu phần tập tin lõi OSF/1 không được quản lý %d\n"
#: pe-mips.c:607
msgid "%B: `ld -r' not supported with PE MIPS objects\n"
-msgstr "%B: \"ld -r\" không được hỗ trợ với đối tượng MIPS PE\n"
+msgstr "%B: “ld -r†không được hỗ trợ với đối tượng MIPS PE\n"
#. OK, at this point the following variables are set up:
#. src = VMA of the memory we're fixing up
@@ -3765,7 +3764,7 @@ msgstr "TrÆ°á»ng cá» = 0x%.2x\n"
#: ppcboot.c:427
#, c-format
msgid "Partition name = \"%s\"\n"
-msgstr "Tên phân vùng = \"%s\"\n"
+msgstr "Tên phân vùng = “%sâ€\n"
#: ppcboot.c:446
#, c-format
@@ -3815,7 +3814,7 @@ msgstr "som_sizeof_headers chưa được thực hiện"
#: srec.c:261
msgid "%B:%d: Unexpected character `%s' in S-record file\n"
-msgstr "%B:%d Gặp ký tá»± bất thÆ°á»ng \"%s\" trong tập tin S-record\n"
+msgstr "%B:%d Gặp ký tá»± bất thÆ°á»ng “%s†trong tập tin S-record\n"
#: srec.c:567 srec.c:600
msgid "%B:%d: Bad checksum in S-record file\n"
@@ -3975,7 +3974,7 @@ msgstr "Phần bảng mục lục không hợp lệ trong ETIR"
#: vms-alpha.c:5109
msgid "Relocation for non-REL psect"
-msgstr "Tái định vị cho 'non-REL psect'"
+msgstr "Tái định vị cho “non-REL psectâ€"
#: vms-alpha.c:5156
#, c-format
@@ -4005,17 +4004,17 @@ msgstr " kích thước bản ghi tối đa: %u\n"
#: vms-alpha.c:5685
#, c-format
msgid " module name : %.*s\n"
-msgstr " tên mô-đun : %.*s\n"
+msgstr " tên mô-đun : %.*s\n"
#: vms-alpha.c:5687
#, c-format
msgid " module version : %.*s\n"
-msgstr " phiên bản môđun : %.*s\n"
+msgstr " phiên bản môđun : %.*s\n"
#: vms-alpha.c:5689
#, c-format
msgid " compile date : %.17s\n"
-msgstr " ngày dịch : %.17s\n"
+msgstr " ngày dịch : %.17s\n"
#: vms-alpha.c:5694
#, c-format
@@ -4025,7 +4024,7 @@ msgstr "Tên ngôn ngữ bộ vi xử lý\n"
#: vms-alpha.c:5695
#, c-format
msgid " language name: %.*s\n"
-msgstr " tên ngôn ngữ: %.*s\n"
+msgstr " tên ngôn ngữ: %.*s\n"
#: vms-alpha.c:5702
#, c-format
@@ -4045,7 +4044,7 @@ msgstr "Phần đầu Chữ Tiêu Ä‘á»\n"
#: vms-alpha.c:5711
#, c-format
msgid " title: %.*s\n"
-msgstr " tiêu Ä‘á»: %.*s\n"
+msgstr " tiêu Ä‘á»: %.*s\n"
#: vms-alpha.c:5718
#, c-format
@@ -4070,7 +4069,7 @@ msgstr " EEOM (dài=%u):\n"
#: vms-alpha.c:5736
#, c-format
msgid " number of cond linkage pairs: %u\n"
-msgstr " số lượng của cặp liên kết \"cond\": %u\n"
+msgstr " số lượng của cặp liên kết “condâ€: %u\n"
#: vms-alpha.c:5738
#, c-format
@@ -4085,12 +4084,12 @@ msgstr " cỠchuyển đổi địa chỉ: 0x%02x\n"
#: vms-alpha.c:5743
#, c-format
msgid " transfer addr psect: %u\n"
-msgstr " chuyển đổi \"addr psect\": %u\n"
+msgstr " chuyển đổi “addr psectâ€: %u\n"
#: vms-alpha.c:5745
#, c-format
msgid " transfer address : 0x%08x\n"
-msgstr " địa chỉ chuyển đổi : 0x%08x\n"
+msgstr " địa chỉ chuyển đổi : 0x%08x\n"
#: vms-alpha.c:5754
msgid " WEAK"
@@ -4190,12 +4189,12 @@ msgstr "PSC - Phần định nghĩa chương trình\n"
#: vms-alpha.c:5833 vms-alpha.c:5850
#, c-format
msgid " alignment : 2**%u\n"
-msgstr " sắp hàng : 2**%u\n"
+msgstr " sắp hàng : 2**%u\n"
#: vms-alpha.c:5834 vms-alpha.c:5851
#, c-format
msgid " flags : 0x%04x"
-msgstr " cá» : 0x%04x"
+msgstr " cá» : 0x%04x"
#: vms-alpha.c:5838
#, c-format
@@ -4205,7 +4204,7 @@ msgstr " alloc (dài): %u (0x%08x)\n"
#: vms-alpha.c:5839 vms-alpha.c:5896 vms-alpha.c:5945
#, c-format
msgid " name : %.*s\n"
-msgstr " tên : %.*s\n"
+msgstr " tên : %.*s\n"
#: vms-alpha.c:5849
#, c-format
@@ -4220,17 +4219,17 @@ msgstr " alloc (dài) : %u (0x%08x)\n"
#: vms-alpha.c:5856
#, c-format
msgid " image offset : 0x%08x\n"
-msgstr " khoảng bù ảnh : 0x%08x\n"
+msgstr " khoảng bù ảnh : 0x%08x\n"
#: vms-alpha.c:5858
#, c-format
msgid " symvec offset : 0x%08x\n"
-msgstr " khoảng bù symvec: 0x%08x\n"
+msgstr " khoảng bù symvec: 0x%08x\n"
#: vms-alpha.c:5860
#, c-format
msgid " name : %.*s\n"
-msgstr " tên : %.*s\n"
+msgstr " tên : %.*s\n"
#: vms-alpha.c:5873
#, c-format
@@ -4240,7 +4239,7 @@ msgstr "SYM - Äịnh nghÄ©a ký hiệu toàn cục\n"
#: vms-alpha.c:5874 vms-alpha.c:5934 vms-alpha.c:5955 vms-alpha.c:5974
#, c-format
msgid " flags: 0x%04x"
-msgstr " các cá»: 0x%04x"
+msgstr " các cá»: 0x%04x"
#: vms-alpha.c:5877
#, c-format
@@ -4265,7 +4264,7 @@ msgstr " chỉ mục psect : %u\n"
#: vms-alpha.c:5888 vms-alpha.c:5964 vms-alpha.c:5983
#, c-format
msgid " name : %.*s\n"
-msgstr " tên : %.*s\n"
+msgstr " tên : %.*s\n"
#: vms-alpha.c:5895
#, c-format
@@ -4280,17 +4279,17 @@ msgstr "IDC - Kiểm tra tính nhất quán Ident\n"
#: vms-alpha.c:5908
#, c-format
msgid " flags : 0x%08x"
-msgstr " các cỠ: 0x%08x"
+msgstr " các cỠ: 0x%08x"
#: vms-alpha.c:5912
#, c-format
msgid " id match : %x\n"
-msgstr " id khá»›p : %x\n"
+msgstr " id khá»›p : %x\n"
#: vms-alpha.c:5914
#, c-format
msgid " error severity: %x\n"
-msgstr " lá»—i nghiêm trá»ng: %x\n"
+msgstr " lá»—i nghiêm trá»ng: %x\n"
#: vms-alpha.c:5917
#, c-format
@@ -4305,7 +4304,7 @@ msgstr " tên đối tượng : %.*s\n"
#: vms-alpha.c:5922
#, c-format
msgid " binary ident : 0x%08x\n"
-msgstr " ident nhị phân : 0x%08x\n"
+msgstr " ident nhị phân: 0x%08x\n"
#: vms-alpha.c:5925
#, c-format
@@ -4325,7 +4324,7 @@ msgstr " khoảng bù véc-tơ ký hiệu: 0x%08x\n"
#: vms-alpha.c:5939
#, c-format
msgid " entry point: 0x%08x\n"
-msgstr " điểm vào: 0x%08x\n"
+msgstr " điểm vào: 0x%08x\n"
#: vms-alpha.c:5941
#, c-format
@@ -4958,12 +4957,12 @@ msgstr " cá»: %d, ngôn ngữ: %u, số lá»›n: %u, số nhá»: %u\n"
#: vms-alpha.c:6940 vms-alpha.c:7206
#, c-format
msgid " module name: %.*s\n"
-msgstr " tên mô-đun : %.*s\n"
+msgstr " tên mô-đun: %.*s\n"
#: vms-alpha.c:6943
#, c-format
msgid " compiler : %.*s\n"
-msgstr " trình dịch : %.*s\n"
+msgstr " trình dịch : %.*s\n"
#: vms-alpha.c:6948
#, c-format
@@ -4977,12 +4976,12 @@ msgstr "rtnbeg\n"
#: vms-alpha.c:6956
#, c-format
msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
-msgstr " cá»: %u, địa chỉ: 0x%08x, địa chỉ pd: 0x%08x\n"
+msgstr " cá»: %u, địa chỉ: 0x%08x, địa chỉ pd: 0x%08x\n"
#: vms-alpha.c:6961
#, c-format
msgid " routine name: %.*s\n"
-msgstr " tên thủ tục: %.*s\n"
+msgstr " tên thủ tục: %.*s\n"
#: vms-alpha.c:6969
#, c-format
@@ -4997,12 +4996,12 @@ msgstr "prolog: địa chỉ bkpt 0x%08x\n"
#: vms-alpha.c:6985
#, c-format
msgid "epilog: flags: %u, count: %u\n"
-msgstr "epilog: cá»: %u, số lượng: %u\n"
+msgstr "epilog: cá»: %u,slượng: %u\n"
#: vms-alpha.c:6994
#, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
-msgstr "blkbeg: địa chỉ: 0x%08x, tên: %.*s\n"
+msgstr "blkbeg: địa chỉ: 0x%08x, tên: %.*s\n"
#: vms-alpha.c:7003
#, c-format
@@ -5032,12 +5031,12 @@ msgstr "recend\n"
#: vms-alpha.c:7035
#, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
-msgstr "enumbeg, dài: %u, tên: %.*s\n"
+msgstr "enumbeg, dài: %u, tên: %.*s\n"
#: vms-alpha.c:7039
#, c-format
msgid "enumelt, name: %.*s\n"
-msgstr "enumelt, tên: %.*s\n"
+msgstr "enumelt, tên: %.*s\n"
#: vms-alpha.c:7043
#, c-format
@@ -5157,7 +5156,7 @@ msgstr " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
#: vms-alpha.c:7203
#, c-format
msgid " filename : %.*s\n"
-msgstr " tên tập tin : %.*s\n"
+msgstr " tên tập tin: %.*s\n"
#: vms-alpha.c:7212
#, c-format
@@ -5411,7 +5410,7 @@ msgstr "Hoạt hóa ảnh: (kích thước=%u)\n"
#: vms-alpha.c:7512
#, c-format
msgid " First address : 0x%08x 0x%08x\n"
-msgstr " Äịa chỉ đầu tiên : 0x%08x 0x%08x\n"
+msgstr "Äịa chỉ đầu tiên: 0x%08x 0x%08x\n"
#: vms-alpha.c:7515
#, c-format
@@ -5431,7 +5430,7 @@ msgstr "Äịa chỉ thứ tÆ°: 0x%08x 0x%08x\n"
#: vms-alpha.c:7524
#, c-format
msgid " Shared image : 0x%08x 0x%08x\n"
-msgstr "Ảnh được chia sẻ : 0x%08x 0x%08x\n"
+msgstr "Ảnh được chia sẻ: 0x%08x 0x%08x\n"
#: vms-alpha.c:7535
#, c-format
@@ -5446,27 +5445,27 @@ msgstr "Äịnh danh ảnh: (số lá»›n: %u, số nhá»: %u)\n"
#: vms-alpha.c:7541
#, c-format
msgid " image name : %.*s\n"
-msgstr " tên ảnh : %.*s\n"
+msgstr " tên ảnh : %.*s\n"
#: vms-alpha.c:7543
#, c-format
msgid " link time : %s\n"
-msgstr " thá»i gian liên kết : %s\n"
+msgstr " thá»i gian liên kết: %s\n"
#: vms-alpha.c:7545
#, c-format
msgid " image ident : %.*s\n"
-msgstr " ident ảnh : %.*s\n"
+msgstr " ident ảnh : %.*s\n"
#: vms-alpha.c:7547
#, c-format
msgid " linker ident : %.*s\n"
-msgstr " ident bộ liên kết : %.*s\n"
+msgstr " ident bộ liên kết: %.*s\n"
#: vms-alpha.c:7549
#, c-format
msgid " image build ident: %.*s\n"
-msgstr " ident dựng ảnh: %.*s\n"
+msgstr " ident dựng ảnh : %.*s\n"
#: vms-alpha.c:7559
#, c-format
@@ -5665,7 +5664,7 @@ msgstr "Ảnh có thể chia sẻ:\n"
#: vms-alpha.c:7820
#, c-format
msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
-msgstr " %u: kích thÆ°á»›c: %u, cá»: 0x%02x, tên: %.*s\n"
+msgstr " %u: cỡ: %u, cá»: 0x%02x, tên: %.*s\n"
#: vms-alpha.c:7827
#, c-format
@@ -5720,7 +5719,7 @@ msgstr "%P: chỉ vào nhiá»u Ä‘iểm: trong mô-Ä‘un %B và %B\n"
#: vms-lib.c:1423
#, c-format
msgid "could not open shared image '%s' from '%s'"
-msgstr "không thể mở ảnh được chia sẻ '%s' từ '%s'"
+msgstr "không thể mở ảnh được chia sẻ “%s†từ “%sâ€"
#: vms-misc.c:360
msgid "_bfd_vms_output_counted called with zero bytes"
@@ -5742,31 +5741,31 @@ msgstr "%s đối tượng động không có phần .loader"
#: xcofflink.c:1416
msgid "%B: `%s' has line numbers but no enclosing section"
-msgstr "%B: \"%s\" có số thứ tá»± dòng mà không có phần bao bá»c"
+msgstr "%B: “%s†có số thứ tá»± dòng mà không có phần bao bá»c"
#: xcofflink.c:1468
msgid "%B: class %d symbol `%s' has no aux entries"
-msgstr "%B: hạng %d ký hiệu \"%s\" không có mục nhập phụ"
+msgstr "%B: hạng %d ký hiệu “%s†không có mục nhập phụ"
#: xcofflink.c:1490
msgid "%B: symbol `%s' has unrecognized csect type %d"
-msgstr "%B: ký hiệu \"%s\" có kiểu csect không được nhận ra %d"
+msgstr "%B: ký hiệu “%s†có kiểu csect không được nhận ra %d"
#: xcofflink.c:1502
msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"
-msgstr "%B: ký hiệu XTY_ER sai \"%s\" hạng %d scnum %d scnlen %d"
+msgstr "%B: ký hiệu XTY_ER sai “%s†hạng %d scnum %d scnlen %d"
#: xcofflink.c:1531
msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d"
-msgstr "%B: ký hiệu XMC_TC0 \"%s\" là hạng %d scnlen %d"
+msgstr "%B: ký hiệu XMC_TC0 “%s†là hạng %d scnlen %d"
#: xcofflink.c:1677
msgid "%B: csect `%s' not in enclosing section"
-msgstr "%B: csect \"%s\" không phải trong phần bao bá»c"
+msgstr "%B: csect “%s†không phải trong phần bao bá»c"
#: xcofflink.c:1784
msgid "%B: misplaced XTY_LD `%s'"
-msgstr "%B: không đúng chỗ XTY_LD \"%s\""
+msgstr "%B: không đúng chá»— XTY_LD “%sâ€"
#: xcofflink.c:2103
msgid "%B: reloc %s:%d not in csect"
@@ -5780,7 +5779,7 @@ msgstr "%s: không có ký hiệu như vậy"
#: xcofflink.c:3299
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
-msgstr "cảnh báo: thử xuất ký hiệu chưa được xác định \"%s\""
+msgstr "cảnh báo: thá»­ xuất ký hiệu chÆ°a được xác định “%sâ€"
#: xcofflink.c:3678
msgid "error: undefined symbol __rtinit"
@@ -5788,11 +5787,11 @@ msgstr "lỗi: chưa xác định ký hiệu __rtinit"
#: xcofflink.c:4057
msgid "%B: loader reloc in unrecognized section `%s'"
-msgstr "%B: gặp sự định vị lại bộ nạp trong phần không được nhận ra \"%s\""
+msgstr "%B: gặp sá»± định vị lại bá»™ nạp trong phần không được nhận ra “%sâ€"
#: xcofflink.c:4068
msgid "%B: `%s' in loader reloc but not loader sym"
-msgstr "%B: \"%s\" trong định vị lại bá»™ nạp nhÆ°ng không phải liên kết má»m đến bá»™ nạp"
+msgstr "%B: “%s†trong định vị lại bá»™ nạp nhÆ°ng không phải liên kết má»m đến bá»™ nạp"
#: xcofflink.c:4084
msgid "%B: loader reloc in read-only section %A"
@@ -5801,11 +5800,11 @@ msgstr "%B: định vị lại bá»™ nạp trong phần chỉ Ä‘á»c %A"
#: xcofflink.c:5106
#, c-format
msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
-msgstr "Tràn TOC: 0x%lx > 0x10000; hãy thử \"-mminimal-toc\" khi biên dịch"
+msgstr "Tràn TOC: 0x%lx > 0x10000; hãy thử “-mminimal-toc†khi biên dịch"
#: elf32-ia64.c:628 elf64-ia64.c:628
msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."
-msgstr "%B: Không thể giảm nhẹ br ở 0x%lx trong phần \"%A\". Hãy dùng brl hoặc nhánh gián tiếp."
+msgstr "%B: Không thể giảm nhẹ br ở 0x%lx trong phần “%Aâ€. Hãy dùng brl hoặc nhánh gián tiếp."
#: elf32-ia64.c:2284 elf64-ia64.c:2284
msgid "@pltoff reloc against local symbol"
@@ -5823,11 +5822,11 @@ msgstr "%s: __gp không trải ra đoạn dữ liệu ngắn"
#: elf32-ia64.c:3965 elf64-ia64.c:3965
msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
-msgstr "%B: mã khác pic với định vị lại imm so với ký hiệu động \"%s\""
+msgstr "%B: mã khác pic vá»›i định vị lại imm so vá»›i ký hiệu Ä‘á»™ng “%sâ€"
#: elf32-ia64.c:4032 elf64-ia64.c:4032
msgid "%B: @gprel relocation against dynamic symbol %s"
-msgstr "%B: định vị lại @gprel so với ký hiệu động \"%s\""
+msgstr "%B: định vị lại @gprel so vá»›i ký hiệu Ä‘á»™ng “%sâ€"
#: elf32-ia64.c:4095 elf64-ia64.c:4095
msgid "%B: linking non-pic code in a position independent executable"
@@ -5851,11 +5850,11 @@ msgstr "định vị lại không được hỗ trợ"
#: elf32-ia64.c:4471 elf64-ia64.c:4471
msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'."
-msgstr "%B: thiếu phần TLS để định vị lại %s đối với \"%s\" ở 0x%lx trong phần \"%A\"."
+msgstr "%B: thiếu phần TLS để định vị lại %s đối vá»›i “%s†ở 0x%lx trong phần “%Aâ€."
#: elf32-ia64.c:4486 elf64-ia64.c:4486
msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)."
-msgstr "%B: Không thể giảm nhẹ br (%s) tới \"%s\" tại 0x%lx trong phần \"%A\" với kích cỡ 0x%lx (> 0x1000000)."
+msgstr "%B: Không thể giảm nhẹ br (%s) tới “%s†tại 0x%lx trong phần “%A†với kích cỡ 0x%lx (> 0x1000000)."
#: elf32-ia64.c:4748 elf64-ia64.c:4748
msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
@@ -6278,16 +6277,16 @@ msgstr "%B: không thể Ä‘iá»n vào DataDictionary[9] vì __tls_used còn thiá
#~ msgstr "%B(%A+0x%lx): không thể tới %s"
#~ msgid "%s: invalid DSO for symbol `%s' definition"
-#~ msgstr "%s: DSO không hợp lệ cho lá»i định nghÄ©a ký hiệu \"%s\""
+#~ msgstr "%s: DSO không hợp lệ cho lá»i định nghÄ©a ký hiệu “%sâ€"
#~ msgid "%B: %A+0x%lx: jump to stub routine which is not jal"
#~ msgstr "%B: %A+0x%lx: nhảy tới hàm mẩu mà không phải jal"
#~ msgid "%B: warning: ignoring duplicate section `%A'\n"
-#~ msgstr "%B: cảnh báo: đang bỠqua phần trùng \"%A\"\n"
+#~ msgstr "%B: cảnh báo: Ä‘ang bá» qua phần trùng “%Aâ€\n"
#~ msgid "%B: warning: duplicate section `%A' has different size\n"
-#~ msgstr "%B: cảnh báo: phần trùng \"%A\" có kích cỡ khác\n"
+#~ msgstr "%B: cảnh báo: phần trùng “%A†có kích cỡ khác\n"
#~ msgid "bfd_make_section (%s) failed"
#~ msgstr "bfd_make_section (%s) bị lỗi"
diff --git a/bfd/po/zh_CN.po b/bfd/po/zh_CN.po
index 92e159a..882b3cc 100644
--- a/bfd/po/zh_CN.po
+++ b/bfd/po/zh_CN.po
@@ -14,6 +14,7 @@ msgstr ""
"Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/bfd/reloc.c b/bfd/reloc.c
index aa70fa58..97a17f5 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -50,6 +50,7 @@ SECTION
#include "bfd.h"
#include "bfdlink.h"
#include "libbfd.h"
+#include "bfdver.h"
/*
DOCDD
INODE
@@ -3695,6 +3696,8 @@ ENUMX
BFD_RELOC_ARC_S21H_PCREL_PLT
ENUMX
BFD_RELOC_ARC_NPS_CMEM16
+ENUMX
+ BFD_RELOC_ARC_JLI_SECTOFF
ENUMDOC
ARC relocs.
@@ -8279,13 +8282,43 @@ DESCRIPTION
Installs a new set of internal relocations in SECTION.
*/
-
-void _bfd_generic_set_reloc
- (bfd *abfd ATTRIBUTE_UNUSED,
- sec_ptr section,
- arelent **relptr,
- unsigned int count)
+void
+_bfd_generic_set_reloc (bfd *abfd ATTRIBUTE_UNUSED,
+ sec_ptr section,
+ arelent **relptr,
+ unsigned int count)
{
section->orelocation = relptr;
section->reloc_count = count;
}
+
+/*
+INTERNAL_FUNCTION
+ _bfd_unrecognized_reloc
+
+SYNOPSIS
+ bfd_boolean _bfd_unrecognized_reloc
+ (bfd * abfd,
+ sec_ptr section,
+ unsigned int r_type);
+
+DESCRIPTION
+ Reports an unrecognized reloc.
+ Written as a function in order to reduce code duplication.
+ Returns FALSE so that it can be called from a return statement.
+*/
+
+bfd_boolean
+_bfd_unrecognized_reloc (bfd * abfd, sec_ptr section, unsigned int r_type)
+{
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%B: unrecognized relocation (%#x) in section `%A'"),
+ abfd, r_type, section);
+
+ /* PR 21803: Suggest the most likely cause of this error. */
+ _bfd_error_handler (_("Is this version of the linker - %s - out of date ?"),
+ BFD_VERSION_STRING);
+
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+}
diff --git a/bfd/section.c b/bfd/section.c
index 28eee7f..811d42a 100644
--- a/bfd/section.c
+++ b/bfd/section.c
@@ -1240,7 +1240,7 @@ bfd_make_section_with_flags (bfd *abfd, const char *name,
struct section_hash_entry *sh;
asection *newsect;
- if (abfd->output_has_begun)
+ if (abfd == NULL || name == NULL || abfd->output_has_begun)
{
bfd_set_error (bfd_error_invalid_operation);
return NULL;
diff --git a/bfd/som.c b/bfd/som.c
index 98c4124..49f7860 100644
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -5012,7 +5012,7 @@ som_set_reloc_info (unsigned char *fixup,
push (v);
}
else
- /* An operator. Pop two two values from the stack and
+ /* An operator. Pop two values from the stack and
use them as operands to the given operation. Push
the result of the operation back on the stack. */
switch (c)
diff --git a/bfd/stabs.c b/bfd/stabs.c
index 3139bf5..5a3686f 100644
--- a/bfd/stabs.c
+++ b/bfd/stabs.c
@@ -276,7 +276,7 @@ _bfd_link_section_stabs (bfd *abfd,
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B(%A+0x%lx): Stabs entry has invalid string index."),
+ (_("%B(%A+%#lx): Stabs entry has invalid string index."),
abfd, stabsec, (long) (sym - stabbuf));
bfd_set_error (bfd_error_bad_value);
goto error_return;
diff --git a/bfd/sunos.c b/bfd/sunos.c
index 10f4354..6cfc26e 100644
--- a/bfd/sunos.c
+++ b/bfd/sunos.c
@@ -2314,7 +2314,7 @@ sunos_write_dynamic_symbol (bfd *output_bfd,
}
/* This is called for each reloc against an external symbol. If this
- is a reloc which are are going to copy as a dynamic reloc, then
+ is a reloc which are going to copy as a dynamic reloc, then
copy it over, and tell the caller to not bother processing this
reloc. */
diff --git a/bfd/tekhex.c b/bfd/tekhex.c
index 1d605d5..cb4b624 100644
--- a/bfd/tekhex.c
+++ b/bfd/tekhex.c
@@ -307,7 +307,7 @@ getsym (char *dstp, char **srcp, unsigned int *lenp, char * endp)
len = hex_value (*src++);
if (len == 0)
len = 16;
- for (i = 0; i < len && src < endp; i++)
+ for (i = 0; i < len && (src + i) < endp; i++)
dstp[i] = src[i];
dstp[i] = 0;
*srcp = src + i;
diff --git a/bfd/version.h b/bfd/version.h
index ec89203..162a820 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,22 @@
-#define BFD_VERSION_DATE 20170705
+/* The date below is automatically updated every day by a bot. During
+ development, we include the date in the tools' version strings
+ (visible in 'ld -v' etc.) because people build binutils from a
+ variety of sources - git, tarballs, distro sources - and we want
+ something that can easily identify the source they used when they
+ report bugs. The bfd version plus date is usually good enough for
+ that purpose.
+
+ During development, this date ends up in libbfd and libopcodes
+ sonames because people naturally expect shared libraries with the
+ same soname to have compatible ABIs. We could bump the bfd version
+ on every ABI change, but that's just another thing contributors and
+ maintainers would need to remember. Instead, it's much easier for
+ all if the soname contains the date. This is not perfect but is
+ good enough.
+
+ In releases, the date is not included in either version strings or
+ sonames. */
+#define BFD_VERSION_DATE 20170922
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 91e8b6e..5595b61 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -473,6 +473,14 @@ _bfd_vms_slurp_eihd (bfd *abfd, unsigned int *eisd_offset,
vms_debug2 ((8, "_bfd_vms_slurp_eihd\n"));
+ /* PR 21813: Check for an undersized record. */
+ if (PRIV (recrd.buf_size) < sizeof (* eihd))
+ {
+ _bfd_error_handler (_("Corrupt EIHD record - size is too small"));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
size = bfd_getl32 (eihd->size);
imgtype = bfd_getl32 (eihd->imgtype);
@@ -895,7 +903,7 @@ _bfd_vms_slurp_ehdr (bfd *abfd)
vms_rec = PRIV (recrd.rec);
/* PR 17512: file: 62736583. */
- end = vms_rec + PRIV (recrd.buf_size);
+ end = PRIV (recrd.buf) + PRIV (recrd.buf_size);
vms_debug2 ((2, "HDR/EMH\n"));
@@ -1312,19 +1320,38 @@ _bfd_vms_slurp_egsd (bfd *abfd)
if (old_flags & EGSY__V_DEF)
{
struct vms_esdf *esdf = (struct vms_esdf *)vms_rec;
+ long psindx;
entry->value = bfd_getl64 (esdf->value);
if (PRIV (sections) == NULL)
return FALSE;
- entry->section = PRIV (sections)[bfd_getl32 (esdf->psindx)];
+
+ psindx = bfd_getl32 (esdf->psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->section = PRIV (sections)[psindx];
if (old_flags & EGSY__V_NORM)
{
PRIV (norm_sym_count)++;
entry->code_value = bfd_getl64 (esdf->code_address);
- entry->code_section =
- PRIV (sections)[bfd_getl32 (esdf->ca_psindx)];
+ psindx = bfd_getl32 (esdf->ca_psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->code_section = PRIV (sections)[psindx];
}
}
}
@@ -1351,9 +1378,20 @@ _bfd_vms_slurp_egsd (bfd *abfd)
if (old_flags & EGSY__V_REL)
{
+ long psindx;
+
if (PRIV (sections) == NULL)
return FALSE;
- entry->section = PRIV (sections)[bfd_getl32 (egst->psindx)];
+ psindx = bfd_getl32 (egst->psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->section = PRIV (sections)[psindx];
}
else
entry->section = bfd_abs_section_ptr;
@@ -1446,6 +1484,9 @@ image_set_ptr (bfd *abfd, bfd_vma vma, int sect, struct bfd_link_info *info)
if (PRIV (sections) == NULL)
return;
+ if (sect < 0 || sect >= (int) PRIV (section_count))
+ return;
+
sec = PRIV (sections)[sect];
if (info)
@@ -2450,6 +2491,14 @@ _bfd_vms_slurp_eeom (bfd *abfd)
vms_debug2 ((2, "EEOM\n"));
+ /* PR 21813: Check for an undersized record. */
+ if (PRIV (recrd.buf_size) < sizeof (* eeom))
+ {
+ _bfd_error_handler (_("Corrupt EEOM record - size is too small"));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
PRIV (eom_data).eom_l_total_lps = bfd_getl32 (eeom->total_lps);
PRIV (eom_data).eom_w_comcod = bfd_getl16 (eeom->comcod);
if (PRIV (eom_data).eom_w_comcod > 1)
@@ -2630,6 +2679,9 @@ alpha_vms_object_p (bfd *abfd)
PRIV (recrd.buf_size) = PRIV (recrd.rec_size);
}
+ /* PR 21813: Check for a truncated record. */
+ if (PRIV (recrd.rec_size < test_len))
+ goto error_ret;
/* Read the remaining record. */
remaining = PRIV (recrd.rec_size) - test_len;
to_read = MIN (VMS_BLOCK_SIZE - test_len, remaining);
@@ -5173,7 +5225,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
}
else if (cur_psidx >= 0)
{
- if (PRIV (sections) == NULL)
+ if (PRIV (sections) == NULL || cur_psidx >= (int) PRIV (section_count))
return FALSE;
reloc->sym_ptr_ptr =
PRIV (sections)[cur_psidx]->symbol_ptr_ptr;
@@ -5685,8 +5737,9 @@ evax_bfd_print_emh (FILE *file, unsigned char *rec, unsigned int rec_len)
{
struct vms_emh_common *emh = (struct vms_emh_common *)rec;
unsigned int subtype;
+ int extra;
- subtype = (unsigned)bfd_getl16 (emh->subtyp);
+ subtype = (unsigned) bfd_getl16 (emh->subtyp);
/* xgettext:c-format */
fprintf (file, _(" EMH %u (len=%u): "), subtype, rec_len);
@@ -5697,58 +5750,82 @@ evax_bfd_print_emh (FILE *file, unsigned char *rec, unsigned int rec_len)
fprintf (file, _(" Error: The length is less than the length of an EMH record\n"));
return;
}
-
+ extra = rec_len - sizeof (struct vms_emh_common);
+
switch (subtype)
{
case EMH__C_MHD:
{
- struct vms_emh_mhd *mhd = (struct vms_emh_mhd *)rec;
- const char *name;
+ struct vms_emh_mhd *mhd = (struct vms_emh_mhd *) rec;
+ const char * name;
+ const char * nextname;
+ const char * maxname;
+ /* PR 21840: Check for invalid lengths. */
+ if (rec_len < sizeof (* mhd))
+ {
+ fprintf (file, _(" Error: The record length is less than the size of an EMH_MHD record\n"));
+ return;
+ }
fprintf (file, _("Module header\n"));
fprintf (file, _(" structure level: %u\n"), mhd->strlvl);
fprintf (file, _(" max record size: %u\n"),
- (unsigned)bfd_getl32 (mhd->recsiz));
+ (unsigned) bfd_getl32 (mhd->recsiz));
name = (char *)(mhd + 1);
+ maxname = (char *) rec + rec_len;
+ if (name > maxname - 2)
+ {
+ fprintf (file, _(" Error: The module name is missing\n"));
+ return;
+ }
+ nextname = name + name[0] + 1;
+ if (nextname >= maxname)
+ {
+ fprintf (file, _(" Error: The module name is too long\n"));
+ return;
+ }
fprintf (file, _(" module name : %.*s\n"), name[0], name + 1);
- name += name[0] + 1;
+ name = nextname;
+ if (name > maxname - 2)
+ {
+ fprintf (file, _(" Error: The module version is missing\n"));
+ return;
+ }
+ nextname = name + name[0] + 1;
+ if (nextname >= maxname)
+ {
+ fprintf (file, _(" Error: The module version is too long\n"));
+ return;
+ }
fprintf (file, _(" module version : %.*s\n"), name[0], name + 1);
- name += name[0] + 1;
- fprintf (file, _(" compile date : %.17s\n"), name);
+ name = nextname;
+ if ((maxname - name) < 17 && maxname[-1] != 0)
+ fprintf (file, _(" Error: The compile date is truncated\n"));
+ else
+ fprintf (file, _(" compile date : %.17s\n"), name);
}
break;
+
case EMH__C_LNM:
- {
- fprintf (file, _("Language Processor Name\n"));
- fprintf (file, _(" language name: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Language Processor Name\n"));
+ fprintf (file, _(" language name: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_SRC:
- {
- fprintf (file, _("Source Files Header\n"));
- fprintf (file, _(" file: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Source Files Header\n"));
+ fprintf (file, _(" file: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_TTL:
- {
- fprintf (file, _("Title Text Header\n"));
- fprintf (file, _(" title: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Title Text Header\n"));
+ fprintf (file, _(" title: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_CPR:
- {
- fprintf (file, _("Copyright Header\n"));
- fprintf (file, _(" copyright: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Copyright Header\n"));
+ fprintf (file, _(" copyright: %.*s\n"), extra, (char *)(emh + 1));
break;
+
default:
fprintf (file, _("unhandled emh subtype %u\n"), subtype);
break;
@@ -6220,7 +6297,7 @@ evax_bfd_print_etir (FILE *file, const char *name,
fprintf (file, _("OPR_ADD (add)\n"));
break;
case ETIR__C_OPR_SUB:
- fprintf (file, _("OPR_SUB (substract)\n"));
+ fprintf (file, _("OPR_SUB (subtract)\n"));
break;
case ETIR__C_OPR_MUL:
fprintf (file, _("OPR_MUL (multiply)\n"));
diff --git a/bfd/vms-misc.c b/bfd/vms-misc.c
index 7497f02..91e2ec7 100644
--- a/bfd/vms-misc.c
+++ b/bfd/vms-misc.c
@@ -135,8 +135,8 @@ _bfd_hexdump (int level, unsigned char *ptr, int size, int offset)
#endif
-/* Copy sized string (string with fixed size) to new allocated area
- size is string size (size of record) */
+/* Copy sized string (string with fixed size) to new allocated area.
+ Size is string size (size of record). */
char *
_bfd_vms_save_sized_string (unsigned char *str, unsigned int size)
@@ -151,8 +151,8 @@ _bfd_vms_save_sized_string (unsigned char *str, unsigned int size)
return newstr;
}
-/* Copy counted string (string with size at first byte) to new allocated area
- ptr points to size byte on entry */
+/* Copy counted string (string with size at first byte) to new allocated area.
+ PTR points to size byte on entry. */
char *
_bfd_vms_save_counted_string (unsigned char *ptr, unsigned int maxlen)
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 8121c7e..c9421ee 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -1499,7 +1499,7 @@ xcoff_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"),
+ (_("%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %Ld"),
abfd, name, sym.n_sclass, sym.n_scnum,
aux.x_csect.x_scnlen.l);
bfd_set_error (bfd_error_bad_value);
@@ -1529,7 +1529,7 @@ xcoff_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: XMC_TC0 symbol `%s' is class %d scnlen %d"),
+ (_("%B: XMC_TC0 symbol `%s' is class %d scnlen %Ld"),
abfd, name, sym.n_sclass, aux.x_csect.x_scnlen.l);
bfd_set_error (bfd_error_bad_value);
goto error_return;
@@ -2105,7 +2105,7 @@ xcoff_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
{
_bfd_error_handler
/* xgettext:c-format */
- (_("%B: reloc %s:%d not in csect"),
+ (_("%B: reloc %s:%Ld not in csect"),
abfd, o->name, i);
bfd_set_error (bfd_error_bad_value);
goto error_return;
@@ -5112,9 +5112,9 @@ xcoff_find_tc0 (bfd *output_bfd, struct xcoff_final_link_info *flinfo)
if (best_address > toc_start + 0x8000)
{
_bfd_error_handler
- (_("TOC overflow: 0x%lx > 0x10000; try -mminimal-toc "
+ (_("TOC overflow: %#Lx > 0x10000; try -mminimal-toc "
"when compiling"),
- (unsigned long) (toc_end - toc_start));
+ toc_end - toc_start);
bfd_set_error (bfd_error_file_too_big);
return FALSE;
}
@@ -5310,7 +5310,7 @@ xcoff_write_global_symbol (struct bfd_hash_entry *bh, void * inf)
tocoff += h->descriptor->u.toc_offset;
/* The first instruction in the glink code needs to be
- cooked to to hold the correct offset in the toc. The
+ cooked to hold the correct offset in the toc. The
rest are just output raw. */
bfd_put_32 (output_bfd,
bfd_xcoff_glink_code(output_bfd, 0) | (tocoff & 0xffff), p);
diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c
index 8da75be..8c6ee88 100644
--- a/bfd/xtensa-isa.c
+++ b/bfd/xtensa-isa.c
@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p)
xtensa_sysreg_internal *sreg = &isa->sysregs[n];
is_user = sreg->is_user;
- isa->sysreg_table[is_user][sreg->number] = n;
+ if (sreg->number >= 0)
+ isa->sysreg_table[is_user][sreg->number] = n;
}
/* Set up the interface lookup table. */