From: Joseph Myers Date: Tue, 22 Aug 2006 15:08:47 +0000 (+0000) Subject: Merge changes between binutils-csl-2_17-branchpoint and X-Git-Tag: binutils-csl-renesas-4_1-9~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=222d5b53c300bb427020149429f1f57b71da459c;p=thirdparty%2Fbinutils-gdb.git Merge changes between binutils-csl-2_17-branchpoint and binutils-2_17, except for the addition of generated files to CVS. --- diff --git a/ChangeLog b/ChangeLog index c0126cd14da..1d6afc2e0f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2006-05-17 Daniel Jacobowitz + + * src-release (MAKEINFOFLAGS): Define. + (do-proto-toplev): Pass MAKEINFOFLAGS to submakes. + +2006-04-10 Ben Elliston + + * contrib: Remove directory. + +2006-04-06 Carlos O'Donell + + * Makefile.tpl: Add install-html target. + * Makefile.def: Add install-html target. + * Makefile.in: Regenerate. + * configure.in: Add --with-datarootdir, --with-docdir, + and --with-htmldir options. + * configure: Regenerate. + +2006-03-31 Ben Elliston + + PR binutils/1860 + * configure.in: Require makeinfo 4.4 or higher. + * configure: Regenerate. + 2006-03-14 Paolo Bonzini * Makefile.in: Regenerate. diff --git a/ChangeLog.csl b/ChangeLog.csl index 7562a352c87..899bca3163b 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,8 @@ +2006-08-22 Joseph Myers + + Merge changes between binutils-csl-2_17-branchpoint and + binutils-2_17, except for the addition of generated files to CVS. + 2006-08-21 Mark Shinwell bfd/ diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 521fcb9c05b..f2f9990819f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,608 @@ +2006-06-23 Daniel Jacobowitz + + * configure.in: Update version to 2.17. + * Makefile.am: Set RELEASE. + * configure, Makefile.in: Regenerated. + +2006-06-12 Daniel Jacobowitz + + * configure.in: Update version to 2.16.94. + * configure: Regenerated. + +2006-06-11 Richard Sandiford + Thiemo Seufer + + * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size. + (STUB_ORI): New macro. + (STUB_LI16U): Fix formatting. + (MIPS_FUNCTION_STUB_SIZE): Delete. + (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise. + (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro. + (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise. + (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size + instead of MIPS_FUNCTION_STUB_SIZE. + (count_section_dynsyms): New function, split out from + _bfd_mips_elf_final_link. + (_bfd_mips_elf_always_size_sections): Get a worst-case estimate + of the number of dynamic symbols needed and use it to set up + function_stub_size. Use function_stub_size rather than + MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section. + Use 16-byte stubs for 0x10000 dynamic symbols. + (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size + instead of MIPS_FUNCTION_STUB_SIZE. Fix formatting. + (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Change the + size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to + MIPS_FUNCTION_STUB_BIG_SIZE. Tweak the check for unhandled dynindxes. + Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20. + Use STUB_ORI rather than STUB_LI16U for big stubs. + (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size. + (_bfd_mips_elf_final_link): Use count_section_dynsyms. + +2006-06-08 David Daney + + * elfxx-mips.c (STUB_LI16): Removed. + (STUB_LUI): New macro. + (STUB_LI16U): Ditto. + (STUB_LI16S): Ditto. + (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter. + (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to + MIPS_FUNCTION_STUB_SIZE. + (_bfd_mips_elf_always_size_sections): Ditto. + (_bfd_mips_elf_size_dynamic_sections): Ditto. + (_bfd_mips_elf_finish_dynamic_sections): Ditto. + (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation + to allow larger symbol table indexes. + +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-06-01 Daniel Jacobowitz + + Backport: + 2006-05-23 H.J. Lu + PR ld/2655 + PR ld/2657 + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly + update CIE/FDE length. Don't pad to the section alignment. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-05-23 Alan Modra + + * elf64-ppc.c (compare_symbols): Prefer strong dynamic global + function syms over other syms. + +2006-05-22 Daniel Jacobowitz + + * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL + check. + (bfd_elf_final_link): Add a late DT_TEXTREL check. + * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define. + (mips_elf_create_dynamic_relocation): Set DF_TEXTREL. + (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION. + Use MIPS_ELF_READONLY_SECTION. + (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after + creating DT_TEXTREL. + (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers + if no text relocations were generated. + +2006-05-17 Daniel Jacobowitz + + * configure.in: Update version to 2.16.93. + * configure: Regenerated. + +2006-05-17 Alan Modra + + * elflink.c (elf_gc_sweep): Don't specially keep non-alloc, + non-load sections if they have relocs. + +2006-05-16 Andreas Schwab + + * aoutf1.h (struct external_sparc_core): Declare c_regs as struct + regs instead of an array of int. + (struct external_solaris_bcp_core): Likewise. + (swapcore_sun3): Use offsetof instead of computing the offset + manually. + (swapcore_sparc): Likewise. Simplify reference to c_regs. + (swapcore_solaris_bcp): Likewise. + +2006-05-15 Alan Modra + + PR 2658 + * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic + -shared link. + +2006-05-11 Michael Matz + + * elflink.c (match_group_member): Correctly iterate group + members. + +2006-05-11 Nick Clifton + + PR ld/2607 + * elfcode.h (valid_section_index_p): New function: Checks for a + valid section index. Allows indicies in the range SHN_LOPROC to + SHN_HIOS. + (elf_object_p): Use valid_section_index_p. + +2006-05-11 Nick Clifton + + PR ld/2257 + * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx + fields to still be handled as ELF files. + +2006-05-10 Alan Modra + + PR 2342 + * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16. + +2006-05-10 Alan Modra + + * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize + R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in + the .toc and referenced by a TLS code sequence. + (ppc64_elf_edit_toc): Cater for the unlikely situation that + .toc is the first section in a file. + +2006-05-03 Kaz Kojima + + PR binutils/2584 + * tekhex.c (getvalue): Change return type to bfd_boolean and + add the new parameter. Return false if the unexpected character + is found. + (getsym): Likewise. + (first_phase): Change return type to bfd_boolean and return + false if the unexpected character is found. Replace abort + with returning false. + (pass_over): Change return type to bfd_boolean and the type of + the second argument to bfd_boolean (*) (bfd *, int, char *). + Return false if FUNC returns false. + (tekhex_object_p): Return NULL if pass_over fails. + +2006-05-02 Paul Brook + + * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit + for R_ARM_REL32. + +2006-04-27 Alan Modra + + * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix. + +2006-04-16 Daniel Jacobowitz + + * configure.in: Update version to 2.16.92. + * configure: Regenerated. + +2006-04-16 Daniel Jacobowitz + + * po/SRC-POTFILES.in: Regenerated. + +2006-04-14 David Heine + + * elf32-xtensa.c (build_reloc_opcodes): New. + (compute_text_actions): Use it to decode opcodes outside inner loop. + (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if + it is set, use it to get the opcodes for relocations. + (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit. + +2006-04-08 H.J. Lu + + PR ld/2513 + * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type. + (GOT_TLS_IE_IE): Likewise. + (GOT_TLS_IE_GD): Likewise. + (GOT_TLS_IE_MASK): Likewise. + (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD + and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE + respectively. + (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD + are set, treat tls_type as GOT_TLS_IE_BOTH. + (elf_i386_relocate_section): Likewise. + +2006-04-07 Randolph Chung + + * elf64-hppa.c (elf64_hppa_grok_prstatus): New function. + (elf64_hppa_grok_psinfo): Likewise. + (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define. + +2006-04-06 DJ Delorie + + * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for + each plt entry we create. + +2006-04-06 Carlos O'Donell + + * po/Make-in: Add install-html target. + * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir + htmldir. Add install-html and install-html-recursive targets. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST for datarootdir, docdir and htmldir. + * configure: Regenerate. + +2006-04-06 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes + with the skip_relax_pass_0 and skip_relax_pass_1 bits in the + section structure. + +2006-04-05 Bernd Schmidt + + * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to + eliminate warnings. + +2006-04-05 H.J. Lu + James E Wilson + + PR ld/2442 + * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next. + (elfNN_ia64_local_hash_entry): Add count, sorted_count and + size. + (elfNN_ia64_link_hash_entry): Likewise. + (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count + and size. + (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info + processing. + (elfNN_ia64_hash_hide_symbol): Likewise. + (elfNN_ia64_global_dyn_sym_thunk): Likewise. + (elfNN_ia64_local_dyn_sym_thunk): Likewise. + (elfNN_ia64_global_dyn_info_free): New function. + (elfNN_ia64_local_dyn_info_free): Likewise. + (elfNN_ia64_hash_table_free): Free local and global + elfNN_ia64_dyn_sym_info. + (addend_compare): New function. + (sort_dyn_sym_info): Likewise. + (get_dyn_sym_info): Updated to use binary search for addend. + (elfNN_ia64_check_relocs): Scan relocations to create dynamic + relocation arrays first. + +2006-04-05 Bernd Schmidt + + * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp + symbol. + +2006-04-05 H.J. Lu + + PR ld/2411 + * elflink.c (check_dynsym): New. + (elf_link_output_extsym): Use it. + (bfd_elf_final_link): Likewise. + +2006-04-05 H.J. Lu + + PR ld/2404 + * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect + symbol from the dynamic definition with the default version if + its type and the type of existing regular definition mismatch. + +2006-04-05 Richard Sandiford + Daniel Jacobowitz + + * config.bfd (sparc-*-vxworks*): New stanza. + * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza. + (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo. + * configure: Regenerate. + * elf32-sparc.c: Include elf-vxworks.h. + (elf32_sparc_vxworks_link_hash_table_create: New. + (elf32_sparc_vxworks_final_write_processing): New. + (TARGET_BIG_SYM): Override for VxWorks. + (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise. + (bfd_elf32_bfd_link_hash_table_create): Likewise. + (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise. + (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise. + (elf_backend_link_output_symbol_hook): Likewise. + (elf_backend_emit_relocs): Likewise. + (elf_backend_final_write_processing, elf32_bed): Likewise. + * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h. + (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New. + (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New. + (_bfd_sparc_elf_link_hash_table_create): Don't initialize + build_plt_entry here. + (create_got_section): Initialize sgotplt for VxWorks. + (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry, + plt_header_size and plt_entry_size, with new VxWorks-specific settings. + Call elf_vxworks_create_dynamic_sections for VxWorks. + (allocate_dynrelocs): Use plt_header_size and plt_entry_size. + Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks. + (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt + for VxWorks. Check for the .got.plt section. + (sparc_vxworks_build_plt_entry): New function. + (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs. + Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_ + absolute on VxWorks. + (sparc32_finish_dyn): Add special handling for DT_RELASZ + and DT_PLTGOT on VxWorks. + (sparc_vxworks_finish_exec_plt): New. + (sparc_vxworks_finish_shared_plt): New. + (_bfd_sparc_elf_finish_dynamic_sections): Call them. + Use plt_header_size and plt_entry_size. + * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks, + srelplt2, sgotplt, plt_header_size and plt_entry_size fields. + * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h. + (elf32-sparc.lo): Likewise. + * Makefile.in: Regenerate. + * targets.c (bfd_elf32_sparc_vxworks_vec): Declare. + (_bfd_target_vector): Add a pointer to it. + +2006-03-30 Ben Elliston + + PR ld/2267 + * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a + special section number that exceeds the number of ELF sections + (eg. SHN_MIPS_SCOMMON). + +2006-03-27 Richard Sandiford + + * elfxx-mips.c (mips_got_entry): Add more commentary. + (mips_elf_local_got_index): Use the hash table entry to record + the GOT index of forced-local symbols. + (mips_elf_initialize_tls_index): Rearrange code. Store the index + in either the hash table entry or the mips_got_entry, not both. + Add more commentary. + (mips_elf_multi_got): Make sure the g->next is nonnull when calling + mips_elf_initialize_tls_index. + +2006-03-25 Bernd Schmidt + + * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc, + RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty, + reloc_stack_push, reloc_stack_pop, reloc_stack_operate, + bfin_areloc_howto_table): Delete. All + uses deleted as well. + (bfin_reloc_map): Delete all stack relocs. + (bfin_info_to_howto, bfin_bfd_reloc_type_lookup, + bfin_reloc_type_lookup): Don't support them. + (bfin_relocate_section): Don't try to handle them. + + * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec. + * configure.in: Likewise. + * configure: Regenerate. + * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h". + (BFIN_RELOC_MAX): Now 0x21. + (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs. + (bfd_elf32_bfinfdpic_vec): Declare. + (IS_FDPIC): New macro. + (struct bfinfdpic_elf_link_hash_table): New struct. + (bfinfdpic_hash_table, bfinfdpic_got_section, + bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section, + bfinfdpic_plt_setion, bfinfdpic_pltrel_section, + bfinfdpic_relocs_info, bfinfdpic_got_initial_offset, + bfinfdpic_plt_initial_offset): Accessor macros for it. + (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros. + (struct bfinfdpic_relocs_info): New struct. + (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES, + BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC, + DEFAULT_STACK_SIZE): New macros. + (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash, + bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find, + bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local, + bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc, + _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment, + _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section, + bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook, + _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section, + elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry, + _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry, + _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries, + _bfinfdpic_resolve_final_relocs_info, + elf32_bfinfdpic_size_dynamic_sections, + elf32_bfinfdpic_always_size_sections, + elf32_bfinfdpic_modify_segment_map, + _bfinfdpic_count_got_plt_entries, + elf32_bfinfdpic_finish_dynamic_sections, + elf32_bfinfdpic_adjust_dynamic_symbol, + elf32_bfinfdpic_finish_dynamic_symbol, + elf32_bfinfdpic_elf_use_relative_eh_frame, + elf32_bfinfdpic_elf_encode_eh_address, + elf32_bfin_object_p, bfin_elf_copy_private_bfd_data, + elf32_bfinfdpic_copy_private_bfd_data, + (struct _bfinfdpic_dynamic_got_info, + struct _bfinfdpic_dynamic_got_plt_info): New structs. + (elf32_bfin_print_private_bfd_data): Print PIC flags. + (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed, + elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create, + elf_backend_always_size_sectinos, elf_backend_modify_segment_map, + bfd_elf32_bfd_copy_private_bfd_data, + elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol, + elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol, + elf_backend_finish_dynamic_sections, elf_backend_relocate_section, + elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs, + elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p, + elf_backend_may_use_rela_p, elf_backend_default_use_rela_p, + elf_backend_omit_section_dynsym): Redefine these macros and include + "elf32-target.h" again to create the elf32-bfinfdpic target. + * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI, + BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC, + BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI, + BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE, + BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, + BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI, + BFD_RELOC_BFIN_GOTOFFLO): New. + * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target. + (_bfd_target_vector): Add it. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2006-03-25 Richard Sandiford + + * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as + incompatible. Likewise MAC and EMAC code. + * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use + bfd_get_compatible to set the new bfd architecture. Rely on it + to detect incompatibilities. + +2006-03-22 Bob Wilson + + * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that + rel->r_addend is zero. + +2006-03-22 Richard Sandiford + + * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type + of "loc". + +2006-03-22 Richard Sandiford + Daniel Jacobowitz + Phil Edwards + Zack Weinberg + Mark Mitchell + Nathan Sidwell + + * bfd-in2.h: Regenerate. + * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas. + * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza. + (bfd_elf32_littlemips_vxworks_vec): Likewise. + (bfd_elf32_bigmips_vec): Add elf-vxworks.lo. + (bfd_elf32_littlemips_vec): Likewise. + (bfd_elf32_nbigmips_vec): Likewise. + (bfd_elf32_nlittlemips_vec): Likewise. + (bfd_elf32_ntradbigmips_vec): Likewise. + (bfd_elf32_ntradlittlemips_vec): Likewise. + (bfd_elf32_tradbigmips_vec): Likewise. + (bfd_elf32_tradlittlemips_vec): Likewise. + (bfd_elf64_bigmips_vec): Likewise. + (bfd_elf64_littlemips_vec): Likewise. + (bfd_elf64_tradbigmips_vec): Likewise. + (bfd_elf64_tradlittlemips_vec): Likewise. + * elf32-mips.c: Include elf-vxworks.h. + (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto + instead of calling mips_elf32_rtype_to_howto directly. + (mips_vxworks_copy_howto_rela): New reloc howto. + (mips_vxworks_jump_slot_howto_rela): Likewise. + (mips_vxworks_bfd_reloc_type_lookup): New function. + (mips_vxworks_rtype_to_howto): Likewise. + (mips_vxworks_final_write_processing): Likewise. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks. + (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise. + (elf_backend_want_got_plt): Likewise. + (elf_backend_want_plt_sym): Likewise. + (elf_backend_got_symbol_offset): Likewise. + (elf_backend_want_dynbss): Likewise. + (elf_backend_may_use_rel_p): Likewise. + (elf_backend_may_use_rela_p): Likewise. + (elf_backend_default_use_rela_p): Likewise. + (elf_backend_got_header_size: Likewise. + (elf_backend_plt_readonly): Likewise. + (bfd_elf32_bfd_reloc_type_lookup): Likewise. + (elf_backend_mips_rtype_to_howto): Likewise. + (elf_backend_adjust_dynamic_symbol): Likewise. + (elf_backend_finish_dynamic_symbol): Likewise. + (bfd_elf32_bfd_link_hash_table_create): Likewise. + (elf_backend_add_symbol_hook): Likewise. + (elf_backend_link_output_symbol_hook): Likewise. + (elf_backend_emit_relocs): Likewise. + (elf_backend_final_write_processing: Likewise. + (elf_backend_additional_program_headers): Likewise. + (elf_backend_modify_segment_map): Likewise. + (elf_backend_symbol_processing): Likewise. + * elfxx-mips.c: Include elf-vxworks.h. + (mips_elf_link_hash_entry): Add is_relocation_target and + is_branch_target fields. + (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt, + srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields. + (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros. + (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument. + Return 3 for VxWorks. + (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a + mips_elf_link_hash_table. Return 0 for VxWorks. + (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a + mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET. + (mips_vxworks_exec_plt0_entry): New variable. + (mips_vxworks_exec_plt_entry): Likewise. + (mips_vxworks_shared_plt0_entry): Likewise. + (mips_vxworks_shared_plt_entry): Likewise. + (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields. + (mips_elf_rel_dyn_section): Change the bfd argument to a + mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get + the name of the section. + (mips_elf_initialize_tls_slots): Update the call to + mips_elf_rel_dyn_section. + (mips_elf_gotplt_index): New function. + (mips_elf_local_got_index): Add an input_section argument. + Update the call to mips_elf_create_local_got_entry. + (mips_elf_got_page): Likewise. + (mips_elf_got16_entry): Likewise. + (mips_elf_create_local_got_entry): Add bfd_link_info and input_section + arguments. Create dynamic relocations for each entry on VxWorks. + (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE. + (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE + and MIPS_RESERVED_GOTNO. + (mips_elf_create_got_section): Update the uses of + MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks. + (is_gott_symbol): New function. + (mips_elf_calculate_relocation): Use a dynobj local variable. + Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and + mips_elf_got_page_entry. Set G to the .got.plt entry when calculating + VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT + relocations on VxWorks. Add dynamic relocations for references + to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't + create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 + in VxWorks executables. + (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument. + Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry. + Don't allocate a null entry on VxWorks. + (mips_elf_create_dynamic_relocation): Update the call to + mips_elf_rel_dyn_section. Use absolute rather than relative + relocations for VxWorks, and make them RELA rather than REL. + (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic + read-only on VxWorks. Update the call to mips_elf_rel_dyn_section. + Create the .plt, .rela.plt, .dynbss and .rela.bss sections on + VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol. + Call elf_vxworks_create_dynamic_sections for VxWorks and + initialize the plt_header_size and plt_entry_size fields. + (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be + used in VxWorks executables. Don't allocate dynamic relocations + for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables. + Set is_relocation_target for each symbol referenced by a relocation. + Allocate .rela.dyn entries for relocations against the special + VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT + entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate + a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*, + R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls + to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations. + Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26 + relocations. Don't set no_fn_stub on VxWorks. + (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to + mips_elf_allocate_dynamic_relocations. + (_bfd_mips_vxworks_adjust_dynamic_symbol): New function. + (_bfd_mips_elf_always_size_sections): Do not allocate GOT page + entries for VxWorks, and do not create multiple GOTs. + (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME. + Handle .got specially for VxWorks. Update the uses of + MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations. + Check for sgotplt and splt. Allocate the .rel(a).dyn contents last, + once its final size is known. Set DF_TEXTREL for VxWorks. Add + DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL + tags on VxWorks. Do not add the MIPS-specific tags for VxWorks. + (_bfd_mips_vxworks_finish_dynamic_symbol): New function. + (mips_vxworks_finish_exec_plt): Likewise. + (mips_vxworks_finish_shared_plt): Likewise. + (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call + to mips_elf_rel_dyn_section. Use a VxWorks-specific value of + DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, + DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO + and mips_elf_rel_dyn_section. Use a different GOT header for + VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks. + (_bfd_mips_elf_link_hash_table_create): Initialize the new + mips_elf_link_hash_table fields. + (_bfd_mips_vxworks_link_hash_table_create): New function. + (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_ + on VxWorks. Update the call to ELF_MIPS_GP_OFFSET. + * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare. + (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. + (_bfd_mips_vxworks_link_hash_table_create): Likewise. + * libbfd.h: Regenerate. + * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h. + (elf32-mips.lo): Likewise. + * Makefile.in: Regenerate. + * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare. + * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare. + (bfd_elf32_littlemips_vxworks_vec): Likewise. + (_bfd_target_vector): Add entries for them. + 2006-03-19 John David Anglin * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss diff --git a/bfd/Makefile.am b/bfd/Makefile.am index e4538ed5744..9fc84d069c6 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. -# RELEASE=y +RELEASE=y INCDIR = $(srcdir)/../include CSEARCH = -I. -I$(srcdir) -I$(INCDIR) @@ -1386,14 +1386,14 @@ elfxx-mips.lo: elfxx-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elfxx-mips.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \ - $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h + $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h elf-vxworks.h elf32-mips.lo: elf32-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/bfdlink.h genlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfxx-mips.h \ $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/sym.h \ $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h \ - ecoffswap.h elf32-target.h + ecoffswap.h elf32-target.h elf-vxworks.h elf32-mt.lo: elf32-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mt.h \ @@ -1452,12 +1452,12 @@ elfxx-sparc.lo: elfxx-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \ - elfxx-sparc.h + elfxx-sparc.h elf-vxworks.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \ - elfxx-sparc.h elf32-target.h + elfxx-sparc.h elf32-target.h elf-vxworks.h elf32-v850.lo: elf32-v850.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/v850.h \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index fdd766daf72..5bbf294be9f 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -254,7 +254,7 @@ wordsize = @wordsize@ AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. -# RELEASE=y +RELEASE=y INCDIR = $(srcdir)/../include CSEARCH = -I. -I$(srcdir) -I$(INCDIR) MKDEP = gcc -MM @@ -1952,14 +1952,14 @@ elfxx-mips.lo: elfxx-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elfxx-mips.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \ - $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h + $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h elf-vxworks.h elf32-mips.lo: elf32-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ $(INCDIR)/bfdlink.h genlink.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfxx-mips.h \ $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/sym.h \ $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h \ - ecoffswap.h elf32-target.h + ecoffswap.h elf32-target.h elf-vxworks.h elf32-mt.lo: elf32-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mt.h \ @@ -2018,12 +2018,12 @@ elfxx-sparc.lo: elfxx-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \ - elfxx-sparc.h + elfxx-sparc.h elf-vxworks.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \ $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \ - elfxx-sparc.h elf32-target.h + elfxx-sparc.h elf32-target.h elf-vxworks.h elf32-v850.lo: elf32-v850.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/v850.h \ diff --git a/bfd/aoutf1.h b/bfd/aoutf1.h index cff7b3c7566..cba4fbbeff9 100644 --- a/bfd/aoutf1.h +++ b/bfd/aoutf1.h @@ -1,6 +1,6 @@ /* A.out "format 1" file handling code for BFD. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, - 2001, 2002, 2003, 2004, 2005 + 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Written by Cygnus Support. @@ -286,7 +286,7 @@ struct external_sparc_core int c_magic; /* Corefile magic number. */ int c_len; /* Sizeof (struct core). */ #define SPARC_CORE_LEN 432 - int c_regs[19]; /* General purpose registers -- MACHDEP SIZE. */ + struct regs c_regs; /* General purpose registers -- MACHDEP SIZE. */ struct external_exec c_aouthdr; /* A.out header. */ int c_signo; /* Killing signal, if any. */ int c_tsize; /* Text size (bytes). */ @@ -309,7 +309,7 @@ struct external_solaris_bcp_core int c_magic; /* Corefile magic number. */ int c_len; /* Sizeof (struct core). */ #define SOLARIS_BCP_CORE_LEN 456 - int c_regs[19]; /* General purpose registers -- MACHDEP SIZE. */ + struct regs c_regs; /* General purpose registers -- MACHDEP SIZE. */ int c_exdata_vp; /* Exdata structure. */ int c_exdata_tsize; int c_exdata_dsize; @@ -387,7 +387,7 @@ swapcore_sun3 (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic); intcore->c_len = H_GET_32 (abfd, &extcore->c_len); - intcore->c_regs_pos = (long) (((struct external_sun3_core *) 0)->c_regs); + intcore->c_regs_pos = offsetof (struct external_sun3_core, c_regs); intcore->c_regs_size = sizeof (extcore->c_regs); #if ARCH_SIZE == 64 aout_64_swap_exec_header_in @@ -401,10 +401,10 @@ swapcore_sun3 (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_data_addr = N_DATADDR (intcore->c_aouthdr); intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); - intcore->fp_stuff_pos = (long) (((struct external_sun3_core *) 0)->fp_stuff); + intcore->fp_stuff_pos = offsetof (struct external_sun3_core, fp_stuff); /* FP stuff takes up whole rest of struct, except c_ucode. */ intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) - - (file_ptr) (((struct external_sun3_core *) 0)->fp_stuff); + offsetof (struct external_sun3_core, fp_stuff); /* Ucode is the last thing in the struct -- just before the end. */ intcore->c_ucode = H_GET_32 (abfd, (intcore->c_len @@ -422,7 +422,7 @@ swapcore_sparc (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic); intcore->c_len = H_GET_32 (abfd, &extcore->c_len); - intcore->c_regs_pos = (long) (((struct external_sparc_core *) 0)->c_regs); + intcore->c_regs_pos = offsetof (struct external_sparc_core, c_regs); intcore->c_regs_size = sizeof (extcore->c_regs); #if ARCH_SIZE == 64 aout_64_swap_exec_header_in @@ -436,10 +436,10 @@ swapcore_sparc (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_data_addr = N_DATADDR (intcore->c_aouthdr); intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); - intcore->fp_stuff_pos = (long) (((struct external_sparc_core *) 0)->fp_stuff); + intcore->fp_stuff_pos = offsetof (struct external_sparc_core, fp_stuff); /* FP stuff takes up whole rest of struct, except c_ucode. */ intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) - - (file_ptr) (((struct external_sparc_core *) 0)->fp_stuff); + offsetof (struct external_sparc_core, fp_stuff); /* Ucode is the last thing in the struct -- just before the end. */ intcore->c_ucode = H_GET_32 (abfd, (intcore->c_len @@ -462,7 +462,7 @@ swapcore_sparc (bfd *abfd, char *ext, struct internal_sunos_core *intcore) #define SPARC_USRSTACK_SPARC2 ((bfd_vma)0xf8000000) #define SPARC_USRSTACK_SPARC10 ((bfd_vma)0xf0000000) { - bfd_vma sp = H_GET_32 (abfd, &((struct regs *) &extcore->c_regs[0])->r_o6); + bfd_vma sp = H_GET_32 (abfd, &extcore->c_regs.r_o6); if (sp < SPARC_USRSTACK_SPARC10) intcore->c_stacktop = SPARC_USRSTACK_SPARC10; else @@ -480,7 +480,7 @@ swapcore_solaris_bcp (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_magic = H_GET_32 (abfd, &extcore->c_magic); intcore->c_len = H_GET_32 (abfd, &extcore->c_len); - intcore->c_regs_pos = (long) (((struct external_solaris_bcp_core *) 0)->c_regs); + intcore->c_regs_pos = offsetof (struct external_solaris_bcp_core, c_regs); intcore->c_regs_size = sizeof (extcore->c_regs); /* The Solaris BCP exdata structure does not contain an a_syms field, @@ -501,10 +501,10 @@ swapcore_solaris_bcp (bfd *abfd, char *ext, struct internal_sunos_core *intcore) intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); intcore->fp_stuff_pos = - (long) (((struct external_solaris_bcp_core *) 0)->fp_stuff); + offsetof (struct external_solaris_bcp_core, fp_stuff); /* FP stuff takes up whole rest of struct, except c_ucode. */ intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) - - (file_ptr) (((struct external_solaris_bcp_core *) 0)->fp_stuff); + offsetof (struct external_solaris_bcp_core, fp_stuff); /* Ucode is the last thing in the struct -- just before the end */ intcore->c_ucode = H_GET_32 (abfd, (intcore->c_len @@ -527,7 +527,7 @@ swapcore_solaris_bcp (bfd *abfd, char *ext, struct internal_sunos_core *intcore) #define SPARC_USRSTACK_SPARC2 ((bfd_vma)0xf8000000) #define SPARC_USRSTACK_SPARC10 ((bfd_vma)0xf0000000) { - bfd_vma sp = H_GET_32 (abfd, &((struct regs *) &extcore->c_regs[0])->r_o6); + bfd_vma sp = H_GET_32 (abfd, &extcore->c_regs.r_o6); if (sp < SPARC_USRSTACK_SPARC10) intcore->c_stacktop = SPARC_USRSTACK_SPARC10; else diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 5560fed0d03..bbea0fa85d3 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -2592,6 +2592,11 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_MIPS_TLS_TPREL_LO16, +/* MIPS ELF relocations (VxWorks extensions). */ + BFD_RELOC_MIPS_COPY, + BFD_RELOC_MIPS_JUMP_SLOT, + + /* Fujitsu Frv Relocations. */ BFD_RELOC_FRV_LABEL16, BFD_RELOC_FRV_LABEL24, @@ -2706,6 +2711,11 @@ in the instruction. */ BFD_RELOC_X86_64_TPOFF32, BFD_RELOC_X86_64_GOTOFF64, BFD_RELOC_X86_64_GOTPC32, + BFD_RELOC_X86_64_GOT64, + BFD_RELOC_X86_64_GOTPCREL64, + BFD_RELOC_X86_64_GOTPC64, + BFD_RELOC_X86_64_GOTPLT64, + BFD_RELOC_X86_64_PLTOFF64, BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL, BFD_RELOC_X86_64_TLSDESC, @@ -3120,6 +3130,22 @@ through 0. */ /* ADI Blackfin Long Jump pcrel. */ BFD_RELOC_BFIN_24_PCREL_JUMP_L, +/* ADI Blackfin FD-PIC relocations. */ + BFD_RELOC_BFIN_GOT17M4, + BFD_RELOC_BFIN_GOTHI, + BFD_RELOC_BFIN_GOTLO, + BFD_RELOC_BFIN_FUNCDESC, + BFD_RELOC_BFIN_FUNCDESC_GOT17M4, + BFD_RELOC_BFIN_FUNCDESC_GOTHI, + BFD_RELOC_BFIN_FUNCDESC_GOTLO, + BFD_RELOC_BFIN_FUNCDESC_VALUE, + BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, + BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, + BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, + BFD_RELOC_BFIN_GOTOFF17M4, + BFD_RELOC_BFIN_GOTOFFHI, + BFD_RELOC_BFIN_GOTOFFLO, + /* ADI Blackfin GOT relocation. */ BFD_RELOC_BFIN_GOT, diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 220edf8809c..951587f99b1 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -1,5 +1,5 @@ /* BFD back-end for IBM RS/6000 "XCOFF" files. - Copyright 1990-1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright 1990-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. FIXME: Can someone provide a transliteration of this name into ASCII? Using the following chars caused a compiler warning on HIUX (so I replaced @@ -2083,7 +2083,7 @@ xcoff_write_archive_contents_old (abfd) char decbuf[XCOFFARMAG_ELEMENT_SIZE + 1]; memset (&fhdr, 0, sizeof fhdr); - strncpy (fhdr.magic, XCOFFARMAG, SXCOFFARMAG); + (void) strncpy (fhdr.magic, XCOFFARMAG, SXCOFFARMAG); sprintf (fhdr.firstmemoff, "%d", SIZEOF_AR_FILE_HDR); sprintf (fhdr.freeoff, "%d", 0); diff --git a/bfd/config.bfd b/bfd/config.bfd index b820a15c4d4..a07d77f378e 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -313,7 +313,8 @@ case "${targ}" in bfin-*-*) targ_defvec=bfd_elf32_bfin_vec - tar_underscore=yes + targ_selvecs=bfd_elf32_bfinfdpic_vec + targ_underscore=yes ;; c30-*-*aout* | tic30-*-*aout*) @@ -868,6 +869,16 @@ case "${targ}" in targ_defvec=ecoff_big_vec targ_selvecs=ecoff_little_vec ;; +#ifdef BFD64 + mips*el-*-vxworks*) + targ_defvec=bfd_elf32_littlemips_vxworks_vec + targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" + ;; + mips*-*-vxworks*) + targ_defvec=bfd_elf32_bigmips_vxworks_vec + targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" + ;; +#endif mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*) targ_defvec=bfd_elf32_littlemips_vec targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" @@ -1281,6 +1292,10 @@ case "${targ}" in sparc-*-sysv4*) targ_defvec=bfd_elf32_sparc_vec ;; + sparc-*-vxworks*) + targ_defvec=bfd_elf32_sparc_vxworks_vec + targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" + ;; sparc-*-netware*) targ_defvec=bfd_elf32_sparc_vec targ_selvecs="nlm32_sparc_vec sunos_big_vec" diff --git a/bfd/configure b/bfd/configure index 92083027822..203ecfa941e 100755 --- a/bfd/configure +++ b/bfd/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S LIBTOOL VERSUFFIX REPORT_BUGS_TO WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S LIBTOOL VERSUFFIX WARN_CFLAGS NO_WERROR MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults datarootdir docdir htmldir LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -874,7 +874,6 @@ Optional Packages: --with-pic try to use only PIC/non-PIC objects default=use both --with-mmap try using mmap for BFD input files if available --with-versuffix=SFX Append SFX to the version string - --with-bugurl=URL Direct users to URL to report a bug --with-included-gettext use the GNU gettext library included here Some influential environment variables: @@ -2838,7 +2837,7 @@ fi # Define the identity of the package. PACKAGE=bfd - VERSION=2.16.91 + VERSION=2.17 cat >>confdefs.h <<_ACEOF @@ -4034,7 +4033,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 4037 "configure"' > conftest.$ac_ext + echo '#line 4036 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4407,24 +4406,6 @@ else fi; -# The location to which bugs should be reported. - -# Check whether --with-bugurl or --without-bugurl was given. -if test "${with_bugurl+set}" = set; then - withval="$with_bugurl" - case "$withval" in - yes) { { echo "$as_me:$LINENO: error: bug URL not specified" >&5 -echo "$as_me: error: bug URL not specified" >&2;} - { (exit 1); exit 1; }; } ;; - no) REPORT_BUGS_TO="" ;; - *) REPORT_BUGS_TO="" ;; - esac -else - REPORT_BUGS_TO="" - -fi; - - GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" @@ -13110,6 +13091,7 @@ do bfd_elf32_am33lin_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;; bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; bfd_elf32_bfin_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; + bfd_elf32_bfinfdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; bfd_elf32_big_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; @@ -13117,7 +13099,9 @@ do tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; bfd_elf32_bigarm_vxworks_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; - bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_bigmips_vxworks_vec) + tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; @@ -13149,7 +13133,9 @@ do bfd_elf32_littlearm_vxworks_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; bfd_elf32_littlearm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; - bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_littlemips_vxworks_vec) + tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_m32c_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; bfd_elf32_m32rle_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; @@ -13165,10 +13151,10 @@ do bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; bfd_elf32_mt_vec) tb="$tb elf32-mt.lo elf32.lo $elf" ;; bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; - bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_ntradbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_ntradlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_ntradbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_ntradlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf32_openrisc_vec) tb="$tb elf32-openrisc.lo elf32.lo $elf" ;; bfd_elf32_or32_big_vec) tb="$tb elf32-or32.lo elf32.lo $elf" ;; bfd_elf32_pj_vec) tb="$tb elf32-pj.lo elf32.lo $elf";; @@ -13193,9 +13179,10 @@ do bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf32.lo $elf" ;; - bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; - bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_v850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; bfd_elf32_vax_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; @@ -13206,14 +13193,14 @@ do bfd_elf64_alpha_freebsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_big_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_hppa_linux_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_hppa_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_hpux_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_little_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_mmix_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_powerpc_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_powerpcle_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; @@ -13224,9 +13211,9 @@ do bfd_elf64_sh64blin_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sh64lnbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sh64nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;; bfd_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; @@ -15277,7 +15264,6 @@ s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@LN_S@,$LN_S,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@VERSUFFIX@,$VERSUFFIX,;t t -s,@REPORT_BUGS_TO@,$REPORT_BUGS_TO,;t t s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t s,@NO_WERROR@,$NO_WERROR,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t diff --git a/bfd/configure.in b/bfd/configure.in index cd87c26dab2..f110727b416 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c]) AC_CANONICAL_TARGET AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.16.91) +AM_INIT_AUTOMAKE(bfd, 2.17) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. @@ -598,6 +598,7 @@ do bfd_elf32_am33lin_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;; bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; bfd_elf32_bfin_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; + bfd_elf32_bfinfdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; bfd_elf32_big_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; @@ -605,7 +606,9 @@ do tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; bfd_elf32_bigarm_vxworks_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; - bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_bigmips_vxworks_vec) + tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; @@ -637,7 +640,9 @@ do bfd_elf32_littlearm_vxworks_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; bfd_elf32_littlearm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; - bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_littlemips_vxworks_vec) + tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_m32c_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; bfd_elf32_m32rle_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; @@ -653,10 +658,10 @@ do bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; bfd_elf32_mt_vec) tb="$tb elf32-mt.lo elf32.lo $elf" ;; bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; - bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_ntradbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf32_ntradlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_ntradbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf32_ntradlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf32_openrisc_vec) tb="$tb elf32-openrisc.lo elf32.lo $elf" ;; bfd_elf32_or32_big_vec) tb="$tb elf32-or32.lo elf32.lo $elf" ;; bfd_elf32_pj_vec) tb="$tb elf32-pj.lo elf32.lo $elf";; @@ -681,9 +686,10 @@ do bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf32.lo $elf" ;; - bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; - bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; + bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; bfd_elf32_v850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; bfd_elf32_vax_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; @@ -694,14 +700,14 @@ do bfd_elf64_alpha_freebsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_big_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_hppa_linux_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_hppa_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_hpux_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_little_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_mmix_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_powerpc_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; bfd_elf64_powerpcle_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; @@ -712,9 +718,9 @@ do bfd_elf64_sh64blin_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sh64lnbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; bfd_elf64_sh64nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; + bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;; bfd_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog index d4ef2cd4e2c..7909268f98b 100644 --- a/bfd/doc/ChangeLog +++ b/bfd/doc/ChangeLog @@ -1,3 +1,13 @@ +2006-06-07 Joseph S. Myers + + * bfd.texinfo: Remove local @tex code. + +2006-04-06 Carlos O'Donell + + * Makefile.am: Add install-html and install-html-am targets. + Define datarootdir, docdir and htmldir. + * Makefile.in: Regenerate. + 2006-02-27 Carlos O'Donell * Makefile.am: Add html target. diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo index 975a6ed65fa..34d56ed0c0c 100644 --- a/bfd/doc/bfd.texinfo +++ b/bfd/doc/bfd.texinfo @@ -4,20 +4,6 @@ @c 2001, 2002, 2003 @c Free Software Foundation, Inc. @c -@tex -% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE -\global\long\def\example{% -\begingroup -\let\aboveenvbreak=\par -\let\afterenvbreak=\par -\parskip=0pt -\lisp} -\global\long\def\Eexample{% -\Elisp -\endgroup -\vskip -\parskip% to cancel out effect of following \par -} -@end tex @synindex fn cp @ifinfo diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c index ab0b995c0c2..5100e72938d 100644 --- a/bfd/elf-eh-frame.c +++ b/bfd/elf-eh-frame.c @@ -1076,12 +1076,12 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, end = buf + ent->size; new_size = size_of_output_cie_fde (ent, ptr_size); - /* Install the new size, filling the extra bytes with DW_CFA_nops. */ + /* Update the size. It may be shrinked. */ + bfd_put_32 (abfd, new_size - 4, buf); + + /* Filling the extra bytes with DW_CFA_nops. */ if (new_size != ent->size) - { - memset (end, 0, new_size - ent->size); - bfd_put_32 (abfd, new_size - 4, buf); - } + memset (end, 0, new_size - ent->size); if (ent->cie) { @@ -1263,40 +1263,13 @@ _bfd_elf_write_section_eh_frame (bfd *abfd, } } - { - unsigned int alignment = 1 << sec->alignment_power; - unsigned int pad = sec->size % alignment; - - /* Don't pad beyond the raw size of the output section. It - can happen at the last input section. */ - if (pad - && ((sec->output_offset + sec->size + pad) - <= sec->output_section->size)) - { - bfd_byte *buf; - unsigned int new_size; - - /* Find the last CIE/FDE. */ - ent = sec_info->entry + sec_info->count; - while (--ent != sec_info->entry) - if (!ent->removed) - break; - - /* The size of the last CIE/FDE must be at least 4. */ - if (ent->removed || ent->size < 4) - abort (); - - pad = alignment - pad; - buf = contents + ent->new_offset - sec->output_offset; - new_size = size_of_output_cie_fde (ent, ptr_size); - - /* Pad it with DW_CFA_nop */ - memset (buf + new_size, 0, pad); - bfd_put_32 (abfd, new_size + pad - 4, buf); - - sec->size += pad; - } - } + /* We don't align the section to its section alignment since the + runtime library only expects all CIE/FDE records aligned at + the pointer size. _bfd_elf_discard_section_eh_frame should + have padded CIE/FDE records to multiple of pointer size with + size_of_output_cie_fde. */ + if ((sec->size % ptr_size) != 0) + abort (); return bfd_set_section_contents (abfd, sec->output_section, contents, (file_ptr) sec->output_offset, diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index 13c32015202..d5a81dbc605 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -1,4 +1,4 @@ -/* ADI Blackfin BFD support for 32-bit ELF. +/* ADI Blackfin BFD support for 32-bit ELF. Copyright 2005, 2006 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -23,167 +23,8 @@ #include "libbfd.h" #include "elf-bfd.h" #include "elf/bfin.h" - -/* Handling expression relocations for blackfin. Blackfin - will generate relocations in an expression form with a stack. - A relocation such as P1.H = _typenames-4000000; - will generate the following relocs at offset 4: -00000004 R_expst_push _typenames -00000004 R_expst_const .__constant -00000004 R_expst_sub .__operator -00000006 R_huimm16 .__operator - - The .__constant and .__operator symbol names are fake. - Special case is a single relocation - P1.L = _typenames; generates -00000002 R_luimm16 _typenames - - Thus, if you get a R_luimm16, R_huimm16, R_imm16, - if the stack is not empty, pop the stack and - put the value, else do the normal thing - We will currently assume that the max the stack - would grow to is 100. . */ - -#define RELOC_STACK_SIZE 100 -static bfd_vma reloc_stack[RELOC_STACK_SIZE]; -static unsigned int reloc_stack_tos = 0; - -#define is_reloc_stack_empty() ((reloc_stack_tos > 0) ? 0 : 1) - -static void -reloc_stack_push (bfd_vma value) -{ - reloc_stack[reloc_stack_tos++] = value; -} - -static bfd_vma -reloc_stack_pop (void) -{ - return reloc_stack[--reloc_stack_tos]; -} - -static bfd_vma -reloc_stack_operate (unsigned int oper) -{ - bfd_vma value; - switch (oper) - { - case R_add: - { - value = - reloc_stack[reloc_stack_tos - 2] + reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_sub: - { - value = - reloc_stack[reloc_stack_tos - 2] - reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_mult: - { - value = - reloc_stack[reloc_stack_tos - 2] * reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_div: - { - if (reloc_stack[reloc_stack_tos - 1] == 0) - { - _bfd_abort (__FILE__, __LINE__, _("Division by zero. ")); - } - else - { - value = - reloc_stack[reloc_stack_tos - 2] / reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - } - break; - } - case R_mod: - { - value = - reloc_stack[reloc_stack_tos - 2] % reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_lshift: - { - value = - reloc_stack[reloc_stack_tos - 2] << reloc_stack[reloc_stack_tos - - 1]; - reloc_stack_tos -= 2; - break; - } - case R_rshift: - { - value = - reloc_stack[reloc_stack_tos - 2] >> reloc_stack[reloc_stack_tos - - 1]; - reloc_stack_tos -= 2; - break; - } - case R_and: - { - value = - reloc_stack[reloc_stack_tos - 2] & reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_or: - { - value = - reloc_stack[reloc_stack_tos - 2] | reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_xor: - { - value = - reloc_stack[reloc_stack_tos - 2] ^ reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_land: - { - value = reloc_stack[reloc_stack_tos - 2] - && reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_lor: - { - value = reloc_stack[reloc_stack_tos - 2] - || reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 2; - break; - } - case R_neg: - { - value = -reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos--; - break; - } - case R_comp: - { - value = ~reloc_stack[reloc_stack_tos - 1]; - reloc_stack_tos -= 1; - break; - } - default: - { - fprintf (stderr, "bfin relocation : Internal bug\n"); - return 0; - } - } - - reloc_stack_push (value); - - return value; -} +#include "elf/dwarf2.h" +#include "hashtab.h" /* FUNCTION : bfin_pltpc_reloc ABSTRACT : TODO : figure out how to handle pltpc relocs. */ @@ -195,10 +36,10 @@ bfin_pltpc_reloc ( PTR data ATTRIBUTE_UNUSED, asection *input_section ATTRIBUTE_UNUSED, bfd *output_bfd ATTRIBUTE_UNUSED, - char **error_message ATTRIBUTE_UNUSED) + char **error_message ATTRIBUTE_UNUSED) { bfd_reloc_status_type flag = bfd_reloc_ok; - return flag; + return flag; } @@ -221,49 +62,44 @@ bfin_pcrel24_reloc (bfd *abfd, if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) return bfd_reloc_outofrange; - if (!is_reloc_stack_empty ()) - relocation = reloc_stack_pop(); + if (bfd_is_und_section (symbol->section) + && (symbol->flags & BSF_WEAK) == 0 + && !relocatable) + return bfd_reloc_undefined; + + if (bfd_is_com_section (symbol->section)) + relocation = 0; else - { - if (bfd_is_und_section (symbol->section) - && (symbol->flags & BSF_WEAK) == 0 - && !relocatable) - return bfd_reloc_undefined; + relocation = symbol->value; - if (bfd_is_com_section (symbol->section)) - relocation = 0; - else - relocation = symbol->value; + output_section = symbol->section->output_section; + + if (relocatable) + output_base = 0; + else + output_base = output_section->vma; + + if (!relocatable || !strcmp (symbol->name, symbol->section->name)) + relocation += output_base + symbol->section->output_offset; - output_section = symbol->section->output_section; + if (!relocatable && !strcmp (symbol->name, symbol->section->name)) + relocation += reloc_entry->addend; - if (relocatable) - output_base = 0; - else - output_base = output_section->vma; - - if (!relocatable || !strcmp (symbol->name, symbol->section->name)) - relocation += output_base + symbol->section->output_offset; - - if (!relocatable && !strcmp (symbol->name, symbol->section->name)) - relocation += reloc_entry->addend; - } - relocation -= input_section->output_section->vma + input_section->output_offset; relocation -= reloc_entry->address; if (howto->complain_on_overflow != complain_overflow_dont) { bfd_reloc_status_type status; - status= bfd_check_overflow (howto->complain_on_overflow, - howto->bitsize, - howto->rightshift, - bfd_arch_bits_per_address(abfd), - relocation); + status = bfd_check_overflow (howto->complain_on_overflow, + howto->bitsize, + howto->rightshift, + bfd_arch_bits_per_address(abfd), + relocation); if (status != bfd_reloc_ok) return status; } - + /* if rightshift is 1 and the number odd, return error. */ if (howto->rightshift && (relocation & 0x01)) { @@ -286,11 +122,11 @@ bfin_pcrel24_reloc (bfd *abfd, short x; /* We are getting reloc_entry->address 2 byte off from - the start of instruction. Assuming absolute postion - of the reloc data. But, following code had been written assuming - reloc address is starting at begining of instruction. - To compensate that I have increased the value of - relocation by 1 (effectively 2) and used the addr -2 instead of addr. */ + the start of instruction. Assuming absolute postion + of the reloc data. But, following code had been written assuming + reloc address is starting at begining of instruction. + To compensate that I have increased the value of + relocation by 1 (effectively 2) and used the addr -2 instead of addr. */ relocation += 1; x = bfd_get_16 (abfd, (bfd_byte *) data + addr - 2); @@ -305,30 +141,32 @@ bfin_pcrel24_reloc (bfd *abfd, } static bfd_reloc_status_type -bfin_push_reloc (bfd *abfd ATTRIBUTE_UNUSED, - arelent *reloc_entry, - asymbol *symbol, - PTR data ATTRIBUTE_UNUSED, - asection *input_section, - bfd *output_bfd, - char **error_message ATTRIBUTE_UNUSED) +bfin_imm16_reloc (bfd *abfd, + arelent *reloc_entry, + asymbol *symbol, + PTR data, + asection *input_section, + bfd *output_bfd, + char **error_message ATTRIBUTE_UNUSED) { - bfd_vma relocation; + bfd_vma relocation, x; + bfd_size_type reloc_addr = reloc_entry->address; bfd_vma output_base = 0; + reloc_howto_type *howto = reloc_entry->howto; asection *output_section; bfd_boolean relocatable = (output_bfd != NULL); + /* Is the address of the relocation really within the section? */ + if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) + return bfd_reloc_outofrange; + if (bfd_is_und_section (symbol->section) && (symbol->flags & BSF_WEAK) == 0 && !relocatable) return bfd_reloc_undefined; - /* Is the address of the relocation really within the section? */ - if (reloc_entry->address > bfd_get_section_limit(abfd, input_section)) - return bfd_reloc_outofrange; - output_section = symbol->section->output_section; - relocation = symbol->value; + relocation = symbol->value; /* Convert input-section-relative symbol value to absolute. */ if (relocatable) @@ -336,7 +174,7 @@ bfin_push_reloc (bfd *abfd ATTRIBUTE_UNUSED, else output_base = output_section->vma; - if (!relocatable || !strcmp(symbol->name, symbol->section->name)) + if (!relocatable || !strcmp (symbol->name, symbol->section->name)) relocation += output_base + symbol->section->output_offset; /* Add in supplied addend. */ @@ -347,105 +185,6 @@ bfin_push_reloc (bfd *abfd ATTRIBUTE_UNUSED, reloc_entry->address += input_section->output_offset; reloc_entry->addend += symbol->section->output_offset; } - - /* Now that we have the value, push it. */ - reloc_stack_push (relocation); - - return bfd_reloc_ok; -} - -static bfd_reloc_status_type -bfin_oper_reloc (bfd *abfd ATTRIBUTE_UNUSED, - arelent *reloc_entry, - asymbol *symbol ATTRIBUTE_UNUSED, - PTR data ATTRIBUTE_UNUSED, - asection *input_section, - bfd *output_bfd, - char **error_message ATTRIBUTE_UNUSED) -{ - bfd_boolean relocatable = (output_bfd != NULL); - - /* Just call the operation based on the reloc_type. */ - reloc_stack_operate (reloc_entry->howto->type); - - if (relocatable) - reloc_entry->address += input_section->output_offset; - - return bfd_reloc_ok; -} - -static bfd_reloc_status_type -bfin_const_reloc (bfd *abfd ATTRIBUTE_UNUSED, - arelent *reloc_entry, - asymbol *symbol ATTRIBUTE_UNUSED, - PTR data ATTRIBUTE_UNUSED, - asection *input_section, - bfd *output_bfd, - char **error_message ATTRIBUTE_UNUSED) -{ - bfd_boolean relocatable = (output_bfd != NULL); - - /* Push the addend portion of the relocation. */ - reloc_stack_push (reloc_entry->addend); - - if (relocatable) - reloc_entry->address += input_section->output_offset; - - return bfd_reloc_ok; -} - -static bfd_reloc_status_type -bfin_imm16_reloc (bfd *abfd, - arelent *reloc_entry, - asymbol *symbol, - PTR data, - asection *input_section, - bfd *output_bfd, - char **error_message ATTRIBUTE_UNUSED) -{ - bfd_vma relocation, x; - bfd_size_type reloc_addr = reloc_entry->address; - bfd_vma output_base = 0; - reloc_howto_type *howto = reloc_entry->howto; - asection *output_section; - bfd_boolean relocatable = (output_bfd != NULL); - - /* Is the address of the relocation really within the section? */ - if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) - return bfd_reloc_outofrange; - - if (is_reloc_stack_empty ()) - { - if (bfd_is_und_section (symbol->section) - && (symbol->flags & BSF_WEAK) == 0 - && !relocatable) - return bfd_reloc_undefined; - - output_section = symbol->section->output_section; - relocation = symbol->value; - - /* Convert input-section-relative symbol value to absolute. */ - if (relocatable) - output_base = 0; - else - output_base = output_section->vma; - - if (!relocatable || !strcmp (symbol->name, symbol->section->name)) - relocation += output_base + symbol->section->output_offset; - - /* Add in supplied addend. */ - relocation += reloc_entry->addend; - } - else - { - relocation = reloc_stack_pop (); - } - - if (relocatable) - { - reloc_entry->address += input_section->output_offset; - reloc_entry->addend += symbol->section->output_offset; - } else { reloc_entry->addend = 0; @@ -455,15 +194,14 @@ bfin_imm16_reloc (bfd *abfd, { bfd_reloc_status_type flag; flag = bfd_check_overflow (howto->complain_on_overflow, - howto->bitsize, - howto->rightshift, - bfd_arch_bits_per_address(abfd), - relocation); + howto->bitsize, + howto->rightshift, + bfd_arch_bits_per_address(abfd), + relocation); if (flag != bfd_reloc_ok) - return flag; + return flag; } - /* Here the variable relocation holds the final address of the symbol we are relocating against, plus any addend. */ @@ -481,7 +219,7 @@ bfin_byte4_reloc (bfd *abfd, PTR data, asection *input_section, bfd *output_bfd, - char **error_message ATTRIBUTE_UNUSED) + char **error_message ATTRIBUTE_UNUSED) { bfd_vma relocation, x; bfd_size_type addr = reloc_entry->address; @@ -493,39 +231,31 @@ bfin_byte4_reloc (bfd *abfd, if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) return bfd_reloc_outofrange; - if (is_reloc_stack_empty ()) - { - if (bfd_is_und_section (symbol->section) - && (symbol->flags & BSF_WEAK) == 0 - && !relocatable) - return bfd_reloc_undefined; - - output_section = symbol->section->output_section; - relocation = symbol->value; - /* Convert input-section-relative symbol value to absolute. */ - if (relocatable) - output_base = 0; - else - output_base = output_section->vma; - - if ((symbol->name - && symbol->section->name - && !strcmp (symbol->name, symbol->section->name)) - || !relocatable) - { - relocation += output_base + symbol->section->output_offset; - } + if (bfd_is_und_section (symbol->section) + && (symbol->flags & BSF_WEAK) == 0 + && !relocatable) + return bfd_reloc_undefined; - relocation += reloc_entry->addend; - } + output_section = symbol->section->output_section; + relocation = symbol->value; + /* Convert input-section-relative symbol value to absolute. */ + if (relocatable) + output_base = 0; else + output_base = output_section->vma; + + if ((symbol->name + && symbol->section->name + && !strcmp (symbol->name, symbol->section->name)) + || !relocatable) { - relocation = reloc_stack_pop(); - relocation += reloc_entry->addend; + relocation += output_base + symbol->section->output_offset; } + relocation += reloc_entry->addend; + if (relocatable) - { + { /* This output will be relocatable ... like ld -r. */ reloc_entry->address += input_section->output_offset; reloc_entry->addend += symbol->section->output_offset; @@ -540,7 +270,7 @@ bfin_byte4_reloc (bfd *abfd, x = relocation & 0xFFFF0000; x >>=16; bfd_put_16 (abfd, x, (unsigned char *) data + addr + 2); - + x = relocation & 0x0000FFFF; bfd_put_16 (abfd, x, (unsigned char *) data + addr); return bfd_reloc_ok; @@ -568,42 +298,34 @@ bfin_bfd_reloc (bfd *abfd, if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) return bfd_reloc_outofrange; - if (is_reloc_stack_empty()) - { - if (bfd_is_und_section (symbol->section) - && (symbol->flags & BSF_WEAK) == 0 - && !relocatable) - return bfd_reloc_undefined; + if (bfd_is_und_section (symbol->section) + && (symbol->flags & BSF_WEAK) == 0 + && !relocatable) + return bfd_reloc_undefined; - /* Get symbol value. (Common symbols are special.) */ - if (bfd_is_com_section (symbol->section)) - relocation = 0; - else - relocation = symbol->value; - - output_section = symbol->section->output_section; - - /* Convert input-section-relative symbol value to absolute. */ - if (relocatable) - output_base = 0; - else - output_base = output_section->vma; - - if (!relocatable || !strcmp (symbol->name, symbol->section->name)) - relocation += output_base + symbol->section->output_offset; - - if (!relocatable && !strcmp (symbol->name, symbol->section->name)) - { - /* Add in supplied addend. */ - relocation += reloc_entry->addend; - } - - } + /* Get symbol value. (Common symbols are special.) */ + if (bfd_is_com_section (symbol->section)) + relocation = 0; + else + relocation = symbol->value; + + output_section = symbol->section->output_section; + + /* Convert input-section-relative symbol value to absolute. */ + if (relocatable) + output_base = 0; else + output_base = output_section->vma; + + if (!relocatable || !strcmp (symbol->name, symbol->section->name)) + relocation += output_base + symbol->section->output_offset; + + if (!relocatable && !strcmp (symbol->name, symbol->section->name)) { - relocation = reloc_stack_pop(); + /* Add in supplied addend. */ + relocation += reloc_entry->addend; } - + /* Here the variable relocation holds the final address of the symbol we are relocating against, plus any addend. */ @@ -625,15 +347,15 @@ bfin_bfd_reloc (bfd *abfd, { bfd_reloc_status_type status; - status = bfd_check_overflow (howto->complain_on_overflow, + status = bfd_check_overflow (howto->complain_on_overflow, howto->bitsize, - howto->rightshift, + howto->rightshift, bfd_arch_bits_per_address(abfd), relocation); if (status != bfd_reloc_ok) return status; } - + /* If rightshift is 1 and the number odd, return error. */ if (howto->rightshift && (relocation & 0x01)) { @@ -647,7 +369,7 @@ bfin_bfd_reloc (bfd *abfd, relocation <<= (bfd_vma) howto->bitpos; -#define DOIT(x) \ +#define DOIT(x) \ x = ( (x & ~howto->dst_mask) | (relocation & howto->dst_mask)) /* handle 8 and 16 bit relocations here. */ @@ -673,41 +395,9 @@ bfin_bfd_reloc (bfd *abfd, return bfd_reloc_other; } - return bfd_reloc_ok; + return bfd_reloc_ok; } -#if 0 -static bfd_reloc_status_type bfin_bfd_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_imm16_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_pcrel24_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_pltpc_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_const_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_oper_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_byte4_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_reloc_status_type bfin_push_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); - -static bfd_boolean bfin_is_local_label_name - PARAMS ((bfd *, const char *)); -#endif -bfd_boolean bfd_bfin_elf32_create_embedded_relocs - PARAMS ((bfd *, struct bfd_link_info *, asection *, asection *, char **)); - - /* HOWTO Table for blackfin. Blackfin relocations are fairly complicated. Some of the salient features are @@ -722,7 +412,7 @@ bfd_boolean bfd_bfin_elf32_create_embedded_relocs the relocation stack. . */ #define BFIN_RELOC_MIN 0 -#define BFIN_RELOC_MAX 0x13 +#define BFIN_RELOC_MAX 0x21 #define BFIN_GNUEXT_RELOC_MIN 0x40 #define BFIN_GNUEXT_RELOC_MAX 0x43 #define BFIN_ARELOC_MIN 0xE0 @@ -786,7 +476,7 @@ static reloc_howto_type bfin_howto_table [] = 0, /* src_mask. */ 0x000003FF, /* dst_mask. */ TRUE), /* pcrel_offset. */ - + HOWTO (R_pcrel12_jump, /* type. */ 1, /* rightshift. */ /* the offset is actually 13 bit @@ -832,7 +522,7 @@ static reloc_howto_type bfin_howto_table [] = 0, /* src_mask. */ 0x0000FFFF, /* dst_mask. */ TRUE), /* pcrel_offset. */ - + HOWTO (R_huimm16, /* type. */ 16, /* rightshift. */ 1, /* size (0 = byte, 1 = short, 2 = long). */ @@ -1014,319 +704,259 @@ static reloc_howto_type bfin_howto_table [] = 0, /* src_mask. */ 0x000003FF, /* dst_mask. */ FALSE), /* pcrel_offset. */ + + + /* A 18-bit signed operand with the GOT offset for the address of + the symbol. */ + HOWTO (R_BFIN_GOT17M4, /* type */ + 2, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOT12", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The upper 16 bits of the GOT offset for the address of the + symbol. */ + HOWTO (R_BFIN_GOTHI, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOTHI", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The lower 16 bits of the GOT offset for the address of the + symbol. */ + HOWTO (R_BFIN_GOTLO, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOTLO", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The 32-bit address of the canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 12-bit signed operand with the GOT offset for the address of + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOT17M4, /* type */ + 2, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOT17M4", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The upper 16 bits of the GOT offset for the address of the + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOTHI, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOTHI", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The lower 16 bits of the GOT offset for the address of the + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOTLO, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOTLO", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The 32-bit address of the canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_VALUE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 64, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_VALUE", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 12-bit signed operand with the GOT offset for the address of + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOTOFF17M4, /* type */ + 2, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOTOFF17M4", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The upper 16 bits of the GOT offset for the address of the + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOTOFFHI, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOTOFFHI", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The lower 16 bits of the GOT offset for the address of the + canonical descriptor of a function. */ + HOWTO (R_BFIN_FUNCDESC_GOTOFFLO, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_FUNCDESC_GOTOFFLO", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* A 12-bit signed operand with the GOT offset for the address of + the symbol. */ + HOWTO (R_BFIN_GOTOFF17M4, /* type */ + 2, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOTOFF17M4", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The upper 16 bits of the GOT offset for the address of the + symbol. */ + HOWTO (R_BFIN_GOTOFFHI, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOTOFFHI", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* The lower 16 bits of the GOT offset for the address of the + symbol. */ + HOWTO (R_BFIN_GOTOFFLO, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_BFIN_GOTOFFLO", /* name */ + FALSE, /* partial_inplace */ + 0xffff, /* src_mask */ + 0xffff, /* dst_mask */ + FALSE), /* pcrel_offset */ }; -static reloc_howto_type bfin_areloc_howto_table [] = -{ - HOWTO (R_push, - 0, - 2, - 0, - FALSE, - 0, - complain_overflow_dont, - bfin_push_reloc, - "R_expst_push", - FALSE, - 0, - 0, - FALSE), - - HOWTO (R_const, - 0, - 2, - 0, - FALSE, - 0, - complain_overflow_dont, - bfin_const_reloc, - "R_expst_const", - FALSE, - 0, - 0, - FALSE), - - HOWTO (R_add, - 0, - 0, - 0, - FALSE, - 0, - complain_overflow_dont, - bfin_oper_reloc, - "R_expst_add", - FALSE, - 0, - 0, - FALSE), - - HOWTO (R_sub, - 0, - 0, - 0, - FALSE, - 0, - complain_overflow_dont, - bfin_oper_reloc, - "R_expst_sub", - FALSE, - 0, - 0, - FALSE), - - HOWTO (R_mult, - 0, - 0, - 0, - FALSE, - 0, - complain_overflow_dont, - bfin_oper_reloc, - "R_expst_mult", - FALSE, - 0, - 0, - FALSE), - - HOWTO (R_div, /* type. */ +static reloc_howto_type bfin_gnuext_howto_table [] = +{ + HOWTO (R_pltpc, /* type. */ 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ + 1, /* size (0 = byte, 1 = short, 2 = long). */ + 16, /* bitsize. */ FALSE, /* pc_relative. */ 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_div", /* name. */ + complain_overflow_bitfield, /* complain_on_overflow. */ + bfin_pltpc_reloc, /* special_function. */ + "R_pltpc", /* name. */ FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ + 0xffff, /* src_mask. */ + 0xffff, /* dst_mask. */ FALSE), /* pcrel_offset. */ - HOWTO (R_mod, /* type. */ + HOWTO (R_got, /* type. */ 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ + 1, /* size (0 = byte, 1 = short, 2 = long). */ + 16, /* bitsize. */ FALSE, /* pc_relative. */ 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_mod", /* name. */ + complain_overflow_bitfield, /* complain_on_overflow. */ + bfd_elf_generic_reloc, /* special_function. */ + "R_got", /* name. */ FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_lshift, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_lshift", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_rshift, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_rshift", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_and, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_and", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_or, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_or", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_xor, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_xor", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_land, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_land", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_lor, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_lor", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_len, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_len", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_neg, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_neg", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_comp, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_comp", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_page, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_page", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_hwpage, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_hwpage", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_addr, /* type. */ - 0, /* rightshift. */ - 0, /* size (0 = byte, 1 = short, 2 = long). */ - 0, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_dont, /* complain_on_overflow. */ - bfin_oper_reloc, /* special_function. */ - "R_expst_addr", /* name. */ - FALSE, /* partial_inplace. */ - 0, /* src_mask. */ - 0, /* dst_mask. */ - FALSE), /* pcrel_offset. */ -}; - -static reloc_howto_type bfin_gnuext_howto_table [] = -{ - HOWTO (R_pltpc, /* type. */ - 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ - 16, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_bitfield, /* complain_on_overflow. */ - bfin_pltpc_reloc, /* special_function. */ - "R_pltpc", /* name. */ - FALSE, /* partial_inplace. */ - 0xffff, /* src_mask. */ - 0xffff, /* dst_mask. */ - FALSE), /* pcrel_offset. */ - - HOWTO (R_got, /* type. */ - 0, /* rightshift. */ - 1, /* size (0 = byte, 1 = short, 2 = long). */ - 16, /* bitsize. */ - FALSE, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_bitfield, /* complain_on_overflow. */ - bfd_elf_generic_reloc, /* special_function. */ - "R_got", /* name. */ - FALSE, /* partial_inplace. */ - 0x7fff, /* src_mask. */ - 0x7fff, /* dst_mask. */ + 0x7fff, /* src_mask. */ + 0x7fff, /* dst_mask. */ FALSE), /* pcrel_offset. */ /* GNU extension to record C++ vtable hierarchy. */ @@ -1389,29 +1019,24 @@ static const struct bfin_reloc_map bfin_reloc_map [] = { BFD_RELOC_BFIN_11_PCREL, R_pcrel11 }, { BFD_RELOC_BFIN_GOT, R_got }, { BFD_RELOC_BFIN_PLTPC, R_pltpc }, + + { BFD_RELOC_BFIN_GOT17M4, R_BFIN_GOT17M4 }, + { BFD_RELOC_BFIN_GOTHI, R_BFIN_GOTHI }, + { BFD_RELOC_BFIN_GOTLO, R_BFIN_GOTLO }, + { BFD_RELOC_BFIN_FUNCDESC, R_BFIN_FUNCDESC }, + { BFD_RELOC_BFIN_FUNCDESC_GOT17M4, R_BFIN_FUNCDESC_GOT17M4 }, + { BFD_RELOC_BFIN_FUNCDESC_GOTHI, R_BFIN_FUNCDESC_GOTHI }, + { BFD_RELOC_BFIN_FUNCDESC_GOTLO, R_BFIN_FUNCDESC_GOTLO }, + { BFD_RELOC_BFIN_FUNCDESC_VALUE, R_BFIN_FUNCDESC_VALUE }, + { BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, R_BFIN_FUNCDESC_GOTOFF17M4 }, + { BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, R_BFIN_FUNCDESC_GOTOFFHI }, + { BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, R_BFIN_FUNCDESC_GOTOFFLO }, + { BFD_RELOC_BFIN_GOTOFF17M4, R_BFIN_GOTOFF17M4 }, + { BFD_RELOC_BFIN_GOTOFFHI, R_BFIN_GOTOFFHI }, + { BFD_RELOC_BFIN_GOTOFFLO, R_BFIN_GOTOFFLO }, + { BFD_RELOC_VTABLE_INHERIT, R_BFIN_GNU_VTINHERIT }, { BFD_RELOC_VTABLE_ENTRY, R_BFIN_GNU_VTENTRY }, - { BFD_ARELOC_BFIN_PUSH, R_push }, - { BFD_ARELOC_BFIN_CONST, R_const }, - { BFD_ARELOC_BFIN_ADD, R_add }, - { BFD_ARELOC_BFIN_SUB, R_sub }, - { BFD_ARELOC_BFIN_MULT, R_mult }, - { BFD_ARELOC_BFIN_DIV, R_div }, - { BFD_ARELOC_BFIN_MOD, R_mod }, - { BFD_ARELOC_BFIN_LSHIFT, R_lshift }, - { BFD_ARELOC_BFIN_RSHIFT, R_rshift }, - { BFD_ARELOC_BFIN_AND, R_and }, - { BFD_ARELOC_BFIN_OR, R_or }, - { BFD_ARELOC_BFIN_XOR, R_xor }, - { BFD_ARELOC_BFIN_LAND, R_land }, - { BFD_ARELOC_BFIN_LOR, R_lor }, - { BFD_ARELOC_BFIN_LEN, R_len }, - { BFD_ARELOC_BFIN_NEG, R_neg }, - { BFD_ARELOC_BFIN_COMP, R_comp }, - { BFD_ARELOC_BFIN_PAGE, R_page }, - { BFD_ARELOC_BFIN_HWPAGE, R_hwpage }, - { BFD_ARELOC_BFIN_ADDR, R_addr } - }; @@ -1427,9 +1052,6 @@ bfin_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, if (r_type <= BFIN_RELOC_MAX) cache_ptr->howto = &bfin_howto_table [r_type]; - else if (r_type >= BFIN_ARELOC_MIN && r_type <= BFIN_ARELOC_MAX) - cache_ptr->howto = &bfin_areloc_howto_table [r_type - BFIN_ARELOC_MIN]; - else if (r_type >= BFIN_GNUEXT_RELOC_MIN && r_type <= BFIN_GNUEXT_RELOC_MAX) cache_ptr->howto = &bfin_gnuext_howto_table [r_type - BFIN_GNUEXT_RELOC_MIN]; @@ -1452,9 +1074,6 @@ bfin_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, if (r_type <= BFIN_RELOC_MAX && r_type > BFIN_RELOC_MIN) return &bfin_howto_table [r_type]; - else if (r_type >= BFIN_ARELOC_MIN && r_type <= BFIN_ARELOC_MAX) - return &bfin_areloc_howto_table [r_type - BFIN_ARELOC_MIN]; - else if (r_type >= BFIN_GNUEXT_RELOC_MIN && r_type <= BFIN_GNUEXT_RELOC_MAX) return &bfin_gnuext_howto_table [r_type - BFIN_GNUEXT_RELOC_MIN]; @@ -1469,9 +1088,6 @@ bfin_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, if (r_type <= BFIN_RELOC_MAX) return &bfin_howto_table [r_type]; - else if (r_type >= BFIN_ARELOC_MIN && r_type <= BFIN_ARELOC_MAX) - return &bfin_areloc_howto_table [r_type - BFIN_ARELOC_MIN]; - else if (r_type >= BFIN_GNUEXT_RELOC_MIN && r_type <= BFIN_GNUEXT_RELOC_MAX) return &bfin_gnuext_howto_table [r_type - BFIN_GNUEXT_RELOC_MIN]; @@ -1492,96 +1108,887 @@ bfin_is_local_label_name ( return _bfd_elf_is_local_label_name (abfd, label); } +extern const bfd_target bfd_elf32_bfinfdpic_vec; +#define IS_FDPIC(bfd) ((bfd)->xvec == &bfd_elf32_bfinfdpic_vec) -/* Look through the relocs for a section during the first phase, and - allocate space in the global offset table or procedure linkage - table. */ - -static bfd_boolean -bfin_check_relocs (bfd * abfd, - struct bfd_link_info *info, - asection *sec, - const Elf_Internal_Rela *relocs) +/* An extension of the elf hash table data structure, containing some + additional Blackfin-specific data. */ +struct bfinfdpic_elf_link_hash_table { - bfd *dynobj; - Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes; - bfd_signed_vma *local_got_refcounts; - const Elf_Internal_Rela *rel; - const Elf_Internal_Rela *rel_end; + struct elf_link_hash_table elf; + + /* A pointer to the .got section. */ asection *sgot; - asection *srelgot; - asection *sreloc; - if (info->relocatable) - return TRUE; + /* A pointer to the .rel.got section. */ + asection *sgotrel; + /* A pointer to the .rofixup section. */ + asection *sgotfixup; + /* A pointer to the .plt section. */ + asection *splt; + /* A pointer to the .rel.plt section. */ + asection *spltrel; + /* GOT base offset. */ + bfd_vma got0; + /* Location of the first non-lazy PLT entry, i.e., the number of + bytes taken by lazy PLT entries. */ + bfd_vma plt0; + /* A hash table holding information about which symbols were + referenced with which PIC-related relocations. */ + struct htab *relocs_info; +}; - dynobj = elf_hash_table (info)->dynobj; - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - sym_hashes = elf_sym_hashes (abfd); - local_got_refcounts = elf_local_got_refcounts (abfd); +/* Get the Blackfin ELF linker hash table from a link_info structure. */ + +#define bfinfdpic_hash_table(info) \ + ((struct bfinfdpic_elf_link_hash_table *) ((info)->hash)) + +#define bfinfdpic_got_section(info) \ + (bfinfdpic_hash_table (info)->sgot) +#define bfinfdpic_gotrel_section(info) \ + (bfinfdpic_hash_table (info)->sgotrel) +#define bfinfdpic_gotfixup_section(info) \ + (bfinfdpic_hash_table (info)->sgotfixup) +#define bfinfdpic_plt_section(info) \ + (bfinfdpic_hash_table (info)->splt) +#define bfinfdpic_pltrel_section(info) \ + (bfinfdpic_hash_table (info)->spltrel) +#define bfinfdpic_relocs_info(info) \ + (bfinfdpic_hash_table (info)->relocs_info) +#define bfinfdpic_got_initial_offset(info) \ + (bfinfdpic_hash_table (info)->got0) +#define bfinfdpic_plt_initial_offset(info) \ + (bfinfdpic_hash_table (info)->plt0) + +/* Create a Blackfin ELF linker hash table. */ - sgot = NULL; - srelgot = NULL; - sreloc = NULL; +static struct bfd_link_hash_table * +bfinfdpic_elf_link_hash_table_create (bfd *abfd) +{ + struct bfinfdpic_elf_link_hash_table *ret; + bfd_size_type amt = sizeof (struct bfinfdpic_elf_link_hash_table); - rel_end = relocs + sec->reloc_count; - for (rel = relocs; rel < rel_end; rel++) + ret = bfd_zalloc (abfd, amt); + if (ret == NULL) + return NULL; + + if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd, + _bfd_elf_link_hash_newfunc, + sizeof (struct elf_link_hash_entry))) { - unsigned long r_symndx; - struct elf_link_hash_entry *h; + free (ret); + return NULL; + } - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx < symtab_hdr->sh_info) - h = NULL; - else - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + return &ret->elf.root; +} - switch (ELF32_R_TYPE (rel->r_info)) - { - /* This relocation describes the C++ object vtable hierarchy. - Reconstruct it for later use during GC. */ - case R_BFIN_GNU_VTINHERIT: - if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) - return FALSE; - break; +/* Decide whether a reference to a symbol can be resolved locally or + not. If the symbol is protected, we want the local address, but + its function descriptor must be assigned by the dynamic linker. */ +#define BFINFDPIC_SYM_LOCAL(INFO, H) \ + (_bfd_elf_symbol_refs_local_p ((H), (INFO), 1) \ + || ! elf_hash_table (INFO)->dynamic_sections_created) +#define BFINFDPIC_FUNCDESC_LOCAL(INFO, H) \ + ((H)->dynindx == -1 || ! elf_hash_table (INFO)->dynamic_sections_created) + +/* This structure collects information on what kind of GOT, PLT or + function descriptors are required by relocations that reference a + certain symbol. */ +struct bfinfdpic_relocs_info +{ + /* The index of the symbol, as stored in the relocation r_info, if + we have a local symbol; -1 otherwise. */ + long symndx; + union + { + /* The input bfd in which the symbol is defined, if it's a local + symbol. */ + bfd *abfd; + /* If symndx == -1, the hash table entry corresponding to a global + symbol (even if it turns out to bind locally, in which case it + should ideally be replaced with section's symndx + addend). */ + struct elf_link_hash_entry *h; + } d; + /* The addend of the relocation that references the symbol. */ + bfd_vma addend; + + /* The fields above are used to identify an entry. The fields below + contain information on how an entry is used and, later on, which + locations it was assigned. */ + /* The following 2 fields record whether the symbol+addend above was + ever referenced with a GOT relocation. The 17M4 suffix indicates a + GOT17M4 relocation; hilo is used for GOTLO/GOTHI pairs. */ + unsigned got17m4:1; + unsigned gothilo:1; + /* Whether a FUNCDESC relocation references symbol+addend. */ + unsigned fd:1; + /* Whether a FUNCDESC_GOT relocation references symbol+addend. */ + unsigned fdgot17m4:1; + unsigned fdgothilo:1; + /* Whether a FUNCDESC_GOTOFF relocation references symbol+addend. */ + unsigned fdgoff17m4:1; + unsigned fdgoffhilo:1; + /* Whether symbol+addend is referenced with GOTOFF17M4, GOTOFFLO or + GOTOFFHI relocations. The addend doesn't really matter, since we + envision that this will only be used to check whether the symbol + is mapped to the same segment as the got. */ + unsigned gotoff:1; + /* Whether symbol+addend is referenced by a LABEL24 relocation. */ + unsigned call:1; + /* Whether symbol+addend is referenced by a 32 or FUNCDESC_VALUE + relocation. */ + unsigned sym:1; + /* Whether we need a PLT entry for a symbol. Should be implied by + something like: + (call && symndx == -1 && ! BFINFDPIC_SYM_LOCAL (info, d.h)) */ + unsigned plt:1; + /* Whether a function descriptor should be created in this link unit + for symbol+addend. Should be implied by something like: + (plt || fdgotoff17m4 || fdgotofflohi + || ((fd || fdgot17m4 || fdgothilo) + && (symndx != -1 || BFINFDPIC_FUNCDESC_LOCAL (info, d.h)))) */ + unsigned privfd:1; + /* Whether a lazy PLT entry is needed for this symbol+addend. + Should be implied by something like: + (privfd && symndx == -1 && ! BFINFDPIC_SYM_LOCAL (info, d.h) + && ! (info->flags & DF_BIND_NOW)) */ + unsigned lazyplt:1; + /* Whether we've already emitted GOT relocations and PLT entries as + needed for this symbol. */ + unsigned done:1; + + /* The number of R_byte4_data, R_BFIN_FUNCDESC and R_BFIN_FUNCDESC_VALUE + relocations referencing the symbol. */ + unsigned relocs32, relocsfd, relocsfdv; + + /* The number of .rofixups entries and dynamic relocations allocated + for this symbol, minus any that might have already been used. */ + unsigned fixups, dynrelocs; + + /* The offsets of the GOT entries assigned to symbol+addend, to the + function descriptor's address, and to a function descriptor, + respectively. Should be zero if unassigned. The offsets are + counted from the value that will be assigned to the PIC register, + not from the beginning of the .got section. */ + bfd_signed_vma got_entry, fdgot_entry, fd_entry; + /* The offsets of the PLT entries assigned to symbol+addend, + non-lazy and lazy, respectively. If unassigned, should be + (bfd_vma)-1. */ + bfd_vma plt_entry, lzplt_entry; +}; - /* This relocation describes which C++ vtable entries - are actually used. Record for later use during GC. */ - case R_BFIN_GNU_VTENTRY: - if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) - return FALSE; - break; +/* Compute a hash with the key fields of an bfinfdpic_relocs_info entry. */ +static hashval_t +bfinfdpic_relocs_info_hash (const void *entry_) +{ + const struct bfinfdpic_relocs_info *entry = entry_; - case R_got: - if (h != NULL - && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) - break; - /* Fall through. */ + return (entry->symndx == -1 + ? (long) entry->d.h->root.root.hash + : entry->symndx + (long) entry->d.abfd->id * 257) + entry->addend; +} - if (dynobj == NULL) - { - /* Create the .got section. */ - elf_hash_table (info)->dynobj = dynobj = abfd; - if (!_bfd_elf_create_got_section (dynobj, info)) - return FALSE; - } +/* Test whether the key fields of two bfinfdpic_relocs_info entries are + identical. */ +static int +bfinfdpic_relocs_info_eq (const void *entry1, const void *entry2) +{ + const struct bfinfdpic_relocs_info *e1 = entry1; + const struct bfinfdpic_relocs_info *e2 = entry2; - if (sgot == NULL) - { - sgot = bfd_get_section_by_name (dynobj, ".got"); - BFD_ASSERT (sgot != NULL); - } + return e1->symndx == e2->symndx && e1->addend == e2->addend + && (e1->symndx == -1 ? e1->d.h == e2->d.h : e1->d.abfd == e2->d.abfd); +} - if (srelgot == NULL && (h != NULL || info->shared)) - { - srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); - if (srelgot == NULL) - { - srelgot = bfd_make_section (dynobj, ".rela.got"); - if (srelgot == NULL - || !bfd_set_section_flags (dynobj, srelgot, - (SEC_ALLOC - | SEC_LOAD +/* Find or create an entry in a hash table HT that matches the key + fields of the given ENTRY. If it's not found, memory for a new + entry is allocated in ABFD's obstack. */ +static struct bfinfdpic_relocs_info * +bfinfdpic_relocs_info_find (struct htab *ht, + bfd *abfd, + const struct bfinfdpic_relocs_info *entry, + enum insert_option insert) +{ + struct bfinfdpic_relocs_info **loc = + (struct bfinfdpic_relocs_info **) htab_find_slot (ht, entry, insert); + + if (! loc) + return NULL; + + if (*loc) + return *loc; + + *loc = bfd_zalloc (abfd, sizeof (**loc)); + + if (! *loc) + return *loc; + + (*loc)->symndx = entry->symndx; + (*loc)->d = entry->d; + (*loc)->addend = entry->addend; + (*loc)->plt_entry = (bfd_vma)-1; + (*loc)->lzplt_entry = (bfd_vma)-1; + + return *loc; +} + +/* Obtain the address of the entry in HT associated with H's symbol + + addend, creating a new entry if none existed. ABFD is only used + for memory allocation purposes. */ +inline static struct bfinfdpic_relocs_info * +bfinfdpic_relocs_info_for_global (struct htab *ht, + bfd *abfd, + struct elf_link_hash_entry *h, + bfd_vma addend, + enum insert_option insert) +{ + struct bfinfdpic_relocs_info entry; + + entry.symndx = -1; + entry.d.h = h; + entry.addend = addend; + + return bfinfdpic_relocs_info_find (ht, abfd, &entry, insert); +} + +/* Obtain the address of the entry in HT associated with the SYMNDXth + local symbol of the input bfd ABFD, plus the addend, creating a new + entry if none existed. */ +inline static struct bfinfdpic_relocs_info * +bfinfdpic_relocs_info_for_local (struct htab *ht, + bfd *abfd, + long symndx, + bfd_vma addend, + enum insert_option insert) +{ + struct bfinfdpic_relocs_info entry; + + entry.symndx = symndx; + entry.d.abfd = abfd; + entry.addend = addend; + + return bfinfdpic_relocs_info_find (ht, abfd, &entry, insert); +} + +/* Merge fields set by check_relocs() of two entries that end up being + mapped to the same (presumably global) symbol. */ + +inline static void +bfinfdpic_pic_merge_early_relocs_info (struct bfinfdpic_relocs_info *e2, + struct bfinfdpic_relocs_info const *e1) +{ + e2->got17m4 |= e1->got17m4; + e2->gothilo |= e1->gothilo; + e2->fd |= e1->fd; + e2->fdgot17m4 |= e1->fdgot17m4; + e2->fdgothilo |= e1->fdgothilo; + e2->fdgoff17m4 |= e1->fdgoff17m4; + e2->fdgoffhilo |= e1->fdgoffhilo; + e2->gotoff |= e1->gotoff; + e2->call |= e1->call; + e2->sym |= e1->sym; +} + +/* Every block of 65535 lazy PLT entries shares a single call to the + resolver, inserted in the 32768th lazy PLT entry (i.e., entry # + 32767, counting from 0). All other lazy PLT entries branch to it + in a single instruction. */ + +#define LZPLT_RESOLVER_EXTRA 10 +#define LZPLT_NORMAL_SIZE 6 +#define LZPLT_ENTRIES 1362 + +#define BFINFDPIC_LZPLT_BLOCK_SIZE ((bfd_vma) LZPLT_NORMAL_SIZE * LZPLT_ENTRIES + LZPLT_RESOLVER_EXTRA) +#define BFINFDPIC_LZPLT_RESOLV_LOC (LZPLT_NORMAL_SIZE * LZPLT_ENTRIES / 2) + +/* Add a dynamic relocation to the SRELOC section. */ + +inline static bfd_vma +_bfinfdpic_add_dyn_reloc (bfd *output_bfd, asection *sreloc, bfd_vma offset, + int reloc_type, long dynindx, bfd_vma addend, + struct bfinfdpic_relocs_info *entry) +{ + Elf_Internal_Rela outrel; + bfd_vma reloc_offset; + + outrel.r_offset = offset; + outrel.r_info = ELF32_R_INFO (dynindx, reloc_type); + outrel.r_addend = addend; + + reloc_offset = sreloc->reloc_count * sizeof (Elf32_External_Rel); + BFD_ASSERT (reloc_offset < sreloc->size); + bfd_elf32_swap_reloc_out (output_bfd, &outrel, + sreloc->contents + reloc_offset); + sreloc->reloc_count++; + + /* If the entry's index is zero, this relocation was probably to a + linkonce section that got discarded. We reserved a dynamic + relocation, but it was for another entry than the one we got at + the time of emitting the relocation. Unfortunately there's no + simple way for us to catch this situation, since the relocation + is cleared right before calling relocate_section, at which point + we no longer know what the relocation used to point to. */ + if (entry->symndx) + { + BFD_ASSERT (entry->dynrelocs > 0); + entry->dynrelocs--; + } + + return reloc_offset; +} + +/* Add a fixup to the ROFIXUP section. */ + +static bfd_vma +_bfinfdpic_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset, + struct bfinfdpic_relocs_info *entry) +{ + bfd_vma fixup_offset; + + if (rofixup->flags & SEC_EXCLUDE) + return -1; + + fixup_offset = rofixup->reloc_count * 4; + if (rofixup->contents) + { + BFD_ASSERT (fixup_offset < rofixup->size); + bfd_put_32 (output_bfd, offset, rofixup->contents + fixup_offset); + } + rofixup->reloc_count++; + + if (entry && entry->symndx) + { + /* See discussion about symndx == 0 in _bfinfdpic_add_dyn_reloc + above. */ + BFD_ASSERT (entry->fixups > 0); + entry->fixups--; + } + + return fixup_offset; +} + +/* Find the segment number in which OSEC, and output section, is + located. */ + +static unsigned +_bfinfdpic_osec_to_segment (bfd *output_bfd, asection *osec) +{ + struct elf_segment_map *m; + Elf_Internal_Phdr *p; + + /* Find the segment that contains the output_section. */ + for (m = elf_tdata (output_bfd)->segment_map, + p = elf_tdata (output_bfd)->phdr; + m != NULL; + m = m->next, p++) + { + int i; + + for (i = m->count - 1; i >= 0; i--) + if (m->sections[i] == osec) + break; + + if (i >= 0) + break; + } + + return p - elf_tdata (output_bfd)->phdr; +} + +inline static bfd_boolean +_bfinfdpic_osec_readonly_p (bfd *output_bfd, asection *osec) +{ + unsigned seg = _bfinfdpic_osec_to_segment (output_bfd, osec); + + return ! (elf_tdata (output_bfd)->phdr[seg].p_flags & PF_W); +} + +/* Generate relocations for GOT entries, function descriptors, and + code for PLT and lazy PLT entries. */ + +inline static bfd_boolean +_bfinfdpic_emit_got_relocs_plt_entries (struct bfinfdpic_relocs_info *entry, + bfd *output_bfd, + struct bfd_link_info *info, + asection *sec, + Elf_Internal_Sym *sym, + bfd_vma addend) + +{ + bfd_vma fd_lazy_rel_offset = (bfd_vma)-1; + int dynindx = -1; + + if (entry->done) + return TRUE; + entry->done = 1; + + if (entry->got_entry || entry->fdgot_entry || entry->fd_entry) + { + /* If the symbol is dynamic, consider it for dynamic + relocations, otherwise decay to section + offset. */ + if (entry->symndx == -1 && entry->d.h->dynindx != -1) + dynindx = entry->d.h->dynindx; + else + { + if (sec->output_section + && ! bfd_is_abs_section (sec->output_section) + && ! bfd_is_und_section (sec->output_section)) + dynindx = elf_section_data (sec->output_section)->dynindx; + else + dynindx = 0; + } + } + + /* Generate relocation for GOT entry pointing to the symbol. */ + if (entry->got_entry) + { + int idx = dynindx; + bfd_vma ad = addend; + + /* If the symbol is dynamic but binds locally, use + section+offset. */ + if (sec && (entry->symndx != -1 + || BFINFDPIC_SYM_LOCAL (info, entry->d.h))) + { + if (entry->symndx == -1) + ad += entry->d.h->root.u.def.value; + else + ad += sym->st_value; + ad += sec->output_offset; + if (sec->output_section && elf_section_data (sec->output_section)) + idx = elf_section_data (sec->output_section)->dynindx; + else + idx = 0; + } + + /* If we're linking an executable at a fixed address, we can + omit the dynamic relocation as long as the symbol is local to + this module. */ + if (info->executable && !info->pie + && (entry->symndx != -1 + || BFINFDPIC_SYM_LOCAL (info, entry->d.h))) + { + if (sec) + ad += sec->output_section->vma; + if (entry->symndx != -1 + || entry->d.h->root.type != bfd_link_hash_undefweak) + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section (info), + bfinfdpic_got_section (info)->output_section + ->vma + + bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info) + + entry->got_entry, entry); + } + else + _bfinfdpic_add_dyn_reloc (output_bfd, bfinfdpic_gotrel_section (info), + _bfd_elf_section_offset + (output_bfd, info, + bfinfdpic_got_section (info), + bfinfdpic_got_initial_offset (info) + + entry->got_entry) + + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info)->output_offset, + R_byte4_data, idx, ad, entry); + + bfd_put_32 (output_bfd, ad, + bfinfdpic_got_section (info)->contents + + bfinfdpic_got_initial_offset (info) + + entry->got_entry); + } + + /* Generate relocation for GOT entry pointing to a canonical + function descriptor. */ + if (entry->fdgot_entry) + { + int reloc, idx; + bfd_vma ad = 0; + + if (! (entry->symndx == -1 + && entry->d.h->root.type == bfd_link_hash_undefweak + && BFINFDPIC_SYM_LOCAL (info, entry->d.h))) + { + /* If the symbol is dynamic and there may be dynamic symbol + resolution because we are, or are linked with, a shared + library, emit a FUNCDESC relocation such that the dynamic + linker will allocate the function descriptor. If the + symbol needs a non-local function descriptor but binds + locally (e.g., its visibility is protected, emit a + dynamic relocation decayed to section+offset. */ + if (entry->symndx == -1 + && ! BFINFDPIC_FUNCDESC_LOCAL (info, entry->d.h) + && BFINFDPIC_SYM_LOCAL (info, entry->d.h) + && !(info->executable && !info->pie)) + { + reloc = R_BFIN_FUNCDESC; + idx = elf_section_data (entry->d.h->root.u.def.section + ->output_section)->dynindx; + ad = entry->d.h->root.u.def.section->output_offset + + entry->d.h->root.u.def.value; + } + else if (entry->symndx == -1 + && ! BFINFDPIC_FUNCDESC_LOCAL (info, entry->d.h)) + { + reloc = R_BFIN_FUNCDESC; + idx = dynindx; + ad = addend; + if (ad) + return FALSE; + } + else + { + /* Otherwise, we know we have a private function descriptor, + so reference it directly. */ + if (elf_hash_table (info)->dynamic_sections_created) + BFD_ASSERT (entry->privfd); + reloc = R_byte4_data; + idx = elf_section_data (bfinfdpic_got_section (info) + ->output_section)->dynindx; + ad = bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info) + entry->fd_entry; + } + + /* If there is room for dynamic symbol resolution, emit the + dynamic relocation. However, if we're linking an + executable at a fixed location, we won't have emitted a + dynamic symbol entry for the got section, so idx will be + zero, which means we can and should compute the address + of the private descriptor ourselves. */ + if (info->executable && !info->pie + && (entry->symndx != -1 + || BFINFDPIC_FUNCDESC_LOCAL (info, entry->d.h))) + { + ad += bfinfdpic_got_section (info)->output_section->vma; + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section (info), + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info) + ->output_offset + + bfinfdpic_got_initial_offset (info) + + entry->fdgot_entry, entry); + } + else + _bfinfdpic_add_dyn_reloc (output_bfd, + bfinfdpic_gotrel_section (info), + _bfd_elf_section_offset + (output_bfd, info, + bfinfdpic_got_section (info), + bfinfdpic_got_initial_offset (info) + + entry->fdgot_entry) + + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info) + ->output_offset, + reloc, idx, ad, entry); + } + + bfd_put_32 (output_bfd, ad, + bfinfdpic_got_section (info)->contents + + bfinfdpic_got_initial_offset (info) + + entry->fdgot_entry); + } + + /* Generate relocation to fill in a private function descriptor in + the GOT. */ + if (entry->fd_entry) + { + int idx = dynindx; + bfd_vma ad = addend; + bfd_vma ofst; + long lowword, highword; + + /* If the symbol is dynamic but binds locally, use + section+offset. */ + if (sec && (entry->symndx != -1 + || BFINFDPIC_SYM_LOCAL (info, entry->d.h))) + { + if (entry->symndx == -1) + ad += entry->d.h->root.u.def.value; + else + ad += sym->st_value; + ad += sec->output_offset; + if (sec->output_section && elf_section_data (sec->output_section)) + idx = elf_section_data (sec->output_section)->dynindx; + else + idx = 0; + } + + /* If we're linking an executable at a fixed address, we can + omit the dynamic relocation as long as the symbol is local to + this module. */ + if (info->executable && !info->pie + && (entry->symndx != -1 || BFINFDPIC_SYM_LOCAL (info, entry->d.h))) + { + if (sec) + ad += sec->output_section->vma; + ofst = 0; + if (entry->symndx != -1 + || entry->d.h->root.type != bfd_link_hash_undefweak) + { + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section (info), + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info) + ->output_offset + + bfinfdpic_got_initial_offset (info) + + entry->fd_entry, entry); + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section (info), + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info) + ->output_offset + + bfinfdpic_got_initial_offset (info) + + entry->fd_entry + 4, entry); + } + } + else + { + ofst + = _bfinfdpic_add_dyn_reloc (output_bfd, + entry->lazyplt + ? bfinfdpic_pltrel_section (info) + : bfinfdpic_gotrel_section (info), + _bfd_elf_section_offset + (output_bfd, info, + bfinfdpic_got_section (info), + bfinfdpic_got_initial_offset (info) + + entry->fd_entry) + + bfinfdpic_got_section (info) + ->output_section->vma + + bfinfdpic_got_section (info) + ->output_offset, + R_BFIN_FUNCDESC_VALUE, idx, ad, entry); + } + + /* If we've omitted the dynamic relocation, just emit the fixed + addresses of the symbol and of the local GOT base offset. */ + if (info->executable && !info->pie && sec && sec->output_section) + { + lowword = ad; + highword = bfinfdpic_got_section (info)->output_section->vma + + bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info); + } + else if (entry->lazyplt) + { + if (ad) + return FALSE; + + fd_lazy_rel_offset = ofst; + + /* A function descriptor used for lazy or local resolving is + initialized such that its high word contains the output + section index in which the PLT entries are located, and + the low word contains the address of the lazy PLT entry + entry point, that must be within the memory region + assigned to that section. */ + lowword = entry->lzplt_entry + 4 + + bfinfdpic_plt_section (info)->output_offset + + bfinfdpic_plt_section (info)->output_section->vma; + highword = _bfinfdpic_osec_to_segment + (output_bfd, bfinfdpic_plt_section (info)->output_section); + } + else + { + /* A function descriptor for a local function gets the index + of the section. For a non-local function, it's + disregarded. */ + lowword = ad; + if (entry->symndx == -1 && entry->d.h->dynindx != -1 + && entry->d.h->dynindx == idx) + highword = 0; + else + highword = _bfinfdpic_osec_to_segment + (output_bfd, sec->output_section); + } + + bfd_put_32 (output_bfd, lowword, + bfinfdpic_got_section (info)->contents + + bfinfdpic_got_initial_offset (info) + + entry->fd_entry); + bfd_put_32 (output_bfd, highword, + bfinfdpic_got_section (info)->contents + + bfinfdpic_got_initial_offset (info) + + entry->fd_entry + 4); + } + + /* Generate code for the PLT entry. */ + if (entry->plt_entry != (bfd_vma) -1) + { + bfd_byte *plt_code = bfinfdpic_plt_section (info)->contents + + entry->plt_entry; + + BFD_ASSERT (entry->fd_entry); + + /* Figure out what kind of PLT entry we need, depending on the + location of the function descriptor within the GOT. */ + if (entry->fd_entry >= -(1 << (18 - 1)) + && entry->fd_entry + 4 < (1 << (18 - 1))) + { + /* P1 = [P3 + fd_entry]; P3 = [P3 + fd_entry + 4] */ + bfd_put_32 (output_bfd, + 0xe519 | ((entry->fd_entry << 14) & 0xFFFF0000), + plt_code); + bfd_put_32 (output_bfd, + 0xe51b | (((entry->fd_entry + 4) << 14) & 0xFFFF0000), + plt_code + 4); + plt_code += 8; + } + else + { + /* P1.L = fd_entry; P1.H = fd_entry; + P3 = P3 + P1; + P1 = [P3]; + P3 = [P3 + 4]; */ + bfd_put_32 (output_bfd, + 0xe109 | (entry->fd_entry << 16), + plt_code); + bfd_put_32 (output_bfd, + 0xe149 | (entry->fd_entry & 0xFFFF0000), + plt_code + 4); + bfd_put_16 (output_bfd, 0x5ad9, plt_code + 8); + bfd_put_16 (output_bfd, 0x9159, plt_code + 10); + bfd_put_16 (output_bfd, 0xac5b, plt_code + 12); + plt_code += 14; + } + /* JUMP (P1) */ + bfd_put_16 (output_bfd, 0x0051, plt_code); + } + + /* Generate code for the lazy PLT entry. */ + if (entry->lzplt_entry != (bfd_vma) -1) + { + bfd_byte *lzplt_code = bfinfdpic_plt_section (info)->contents + + entry->lzplt_entry; + bfd_vma resolverStub_addr; + + bfd_put_32 (output_bfd, fd_lazy_rel_offset, lzplt_code); + lzplt_code += 4; + + resolverStub_addr = entry->lzplt_entry / BFINFDPIC_LZPLT_BLOCK_SIZE + * BFINFDPIC_LZPLT_BLOCK_SIZE + BFINFDPIC_LZPLT_RESOLV_LOC; + if (resolverStub_addr >= bfinfdpic_plt_initial_offset (info)) + resolverStub_addr = bfinfdpic_plt_initial_offset (info) - LZPLT_NORMAL_SIZE - LZPLT_RESOLVER_EXTRA; + + if (entry->lzplt_entry == resolverStub_addr) + { + /* This is a lazy PLT entry that includes a resolver call. + P2 = [P3]; + R3 = [P3 + 4]; + JUMP (P2); */ + bfd_put_32 (output_bfd, + 0xa05b915a, + lzplt_code); + bfd_put_16 (output_bfd, 0x0052, lzplt_code + 4); + } + else + { + /* JUMP.S resolverStub */ + bfd_put_16 (output_bfd, + 0x2000 + | (((resolverStub_addr - entry->lzplt_entry) + / 2) & (((bfd_vma)1 << 12) - 1)), + lzplt_code); + } + } + + return TRUE; +} + + +/* Look through the relocs for a section during the first phase, and + allocate space in the global offset table or procedure linkage + table. */ + +static bfd_boolean +bfin_check_relocs (bfd * abfd, + struct bfd_link_info *info, + asection *sec, + const Elf_Internal_Rela *relocs) +{ + bfd *dynobj; + Elf_Internal_Shdr *symtab_hdr; + struct elf_link_hash_entry **sym_hashes; + bfd_signed_vma *local_got_refcounts; + const Elf_Internal_Rela *rel; + const Elf_Internal_Rela *rel_end; + asection *sgot; + asection *srelgot; + asection *sreloc; + if (info->relocatable) + return TRUE; + + dynobj = elf_hash_table (info)->dynobj; + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (abfd); + local_got_refcounts = elf_local_got_refcounts (abfd); + + sgot = NULL; + srelgot = NULL; + sreloc = NULL; + + rel_end = relocs + sec->reloc_count; + for (rel = relocs; rel < rel_end; rel++) + { + unsigned long r_symndx; + struct elf_link_hash_entry *h; + + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx < symtab_hdr->sh_info) + h = NULL; + else + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + + switch (ELF32_R_TYPE (rel->r_info)) + { + /* This relocation describes the C++ object vtable hierarchy. + Reconstruct it for later use during GC. */ + case R_BFIN_GNU_VTINHERIT: + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + return FALSE; + break; + + /* This relocation describes which C++ vtable entries + are actually used. Record for later use during GC. */ + case R_BFIN_GNU_VTENTRY: + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + return FALSE; + break; + + case R_got: + if (h != NULL + && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) + break; + /* Fall through. */ + + if (dynobj == NULL) + { + /* Create the .got section. */ + elf_hash_table (info)->dynobj = dynobj = abfd; + if (!_bfd_elf_create_got_section (dynobj, info)) + return FALSE; + } + + if (sgot == NULL) + { + sgot = bfd_get_section_by_name (dynobj, ".got"); + BFD_ASSERT (sgot != NULL); + } + + if (srelgot == NULL && (h != NULL || info->shared)) + { + srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); + if (srelgot == NULL) + { + srelgot = bfd_make_section (dynobj, ".rela.got"); + if (srelgot == NULL + || !bfd_set_section_flags (dynobj, srelgot, + (SEC_ALLOC + | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED @@ -1656,492 +2063,2729 @@ elf32_bfin_reloc_type_class (const Elf_Internal_Rela * rela) return reloc_class_normal; } } + +/* Relocate an Blackfin ELF section. + + The RELOCATE_SECTION function is called by the new ELF backend linker + to handle the relocations for a section. + + The relocs are always passed as Rela structures; if the section + actually uses Rel structures, the r_addend field will always be + zero. + + This function is responsible for adjusting the section contents as + necessary, and (if using Rela relocs and generating a relocatable + output file) adjusting the reloc addend as necessary. + + This function does not have to worry about setting the reloc + address or the reloc symbol index. + + LOCAL_SYMS is a pointer to the swapped in local symbols. + + LOCAL_SECTIONS is an array giving the section in the input file + corresponding to the st_shndx field of each local symbol. + + The global hash table entry for the global symbols can be found + via elf_sym_hashes (input_bfd). + + When generating relocatable output, this function must handle + STB_LOCAL/STT_SECTION symbols specially. The output symbol is + going to be the section symbol corresponding to the output + section, which means that the addend must be adjusted + accordingly. */ static bfd_boolean -bfin_relocate_section (bfd * output_bfd, - struct bfd_link_info *info, - bfd * input_bfd, - asection * input_section, - bfd_byte * contents, - Elf_Internal_Rela * relocs, - Elf_Internal_Sym * local_syms, - asection ** local_sections) +bfinfdpic_relocate_section (bfd * output_bfd, + struct bfd_link_info *info, + bfd * input_bfd, + asection * input_section, + bfd_byte * contents, + Elf_Internal_Rela * relocs, + Elf_Internal_Sym * local_syms, + asection ** local_sections) { - bfd *dynobj; Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; - bfd_vma *local_got_offsets; - asection *sgot; - asection *sreloc; Elf_Internal_Rela *rel; Elf_Internal_Rela *relend; - int i = 0; + unsigned isec_segment, got_segment, plt_segment, + check_segment[2]; + int silence_segment_error = !(info->shared || info->pie); if (info->relocatable) return TRUE; - dynobj = elf_hash_table (info)->dynobj; - symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr; sym_hashes = elf_sym_hashes (input_bfd); - local_got_offsets = elf_local_got_offsets (input_bfd); - - sgot = NULL; - sreloc = NULL; + relend = relocs + input_section->reloc_count; + + isec_segment = _bfinfdpic_osec_to_segment (output_bfd, + input_section->output_section); + if (IS_FDPIC (output_bfd) && bfinfdpic_got_section (info)) + got_segment = _bfinfdpic_osec_to_segment (output_bfd, + bfinfdpic_got_section (info) + ->output_section); + else + got_segment = -1; + if (IS_FDPIC (output_bfd) && elf_hash_table (info)->dynamic_sections_created) + plt_segment = _bfinfdpic_osec_to_segment (output_bfd, + bfinfdpic_plt_section (info) + ->output_section); + else + plt_segment = -1; - rel = relocs; - relend = relocs + input_section->reloc_count; - for (; rel < relend; rel++, i++) + for (rel = relocs; rel < relend; rel ++) { - int r_type; reloc_howto_type *howto; unsigned long r_symndx; - struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; asection *sec; - bfd_vma relocation = 0; - bfd_boolean unresolved_reloc; + struct elf_link_hash_entry *h; + bfd_vma relocation; bfd_reloc_status_type r; - bfd_vma address; + const char * name = NULL; + int r_type; + asection *osec; + struct bfinfdpic_relocs_info *picrel; + bfd_vma orig_addend = rel->r_addend; r_type = ELF32_R_TYPE (rel->r_info); - if (r_type < 0 || r_type >= 243) - { - bfd_set_error (bfd_error_bad_value); - return FALSE; - } - if (r_type == R_BFIN_GNU_VTENTRY - || r_type == R_BFIN_GNU_VTINHERIT) + if (r_type == R_BFIN_GNU_VTINHERIT + || r_type == R_BFIN_GNU_VTENTRY) continue; + /* This is a final link. */ + r_symndx = ELF32_R_SYM (rel->r_info); howto = bfin_reloc_type_lookup (input_bfd, r_type); if (howto == NULL) { bfd_set_error (bfd_error_bad_value); return FALSE; } - r_symndx = ELF32_R_SYM (rel->r_info); - h = NULL; - sym = NULL; - sec = NULL; - unresolved_reloc = FALSE; + h = NULL; + sym = NULL; + sec = NULL; if (r_symndx < symtab_hdr->sh_info) { sym = local_syms + r_symndx; - sec = local_sections[r_symndx]; + osec = sec = local_sections [r_symndx]; relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); + + name = bfd_elf_string_from_elf_section + (input_bfd, symtab_hdr->sh_link, sym->st_name); + name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name; } else { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + h = sym_hashes [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; - if (! - (!strcmp (h->root.root.string, ".__constant") - || !strcmp (h->root.root.string, ".__operator"))) - { - bfd_boolean warned; - h = NULL; - RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, - r_symndx, symtab_hdr, sym_hashes, - h, sec, relocation, - unresolved_reloc, warned); + name = h->root.root.string; + if ((h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && ! BFINFDPIC_SYM_LOCAL (info, h)) + { + sec = NULL; + relocation = 0; } + else + if (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + { + sec = h->root.u.def.section; + relocation = (h->root.u.def.value + + sec->output_section->vma + + sec->output_offset); + } + else if (h->root.type == bfd_link_hash_undefweak) + { + relocation = 0; + } + else if (info->unresolved_syms_in_objects == RM_IGNORE + && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) + relocation = 0; + else + { + if (! ((*info->callbacks->undefined_symbol) + (info, h->root.root.string, input_bfd, + input_section, rel->r_offset, + (info->unresolved_syms_in_objects == RM_GENERATE_ERROR + || ELF_ST_VISIBILITY (h->other))))) + return FALSE; + relocation = 0; + } + osec = sec; } - address = rel->r_offset; - /* First, get stack relocs out of the way. */ switch (r_type) { - case R_push: - reloc_stack_push (relocation + rel->r_addend); - r = bfd_reloc_ok; - goto done_reloc; - case R_const: - reloc_stack_push (rel->r_addend); - r = bfd_reloc_ok; - goto done_reloc; - case R_add: - case R_sub: - case R_mult: - case R_div: - case R_mod: - case R_lshift: - case R_rshift: - case R_neg: - case R_and: - case R_or: - case R_xor: - case R_land: - case R_lor: - case R_comp: - case R_page: - case R_hwpage: - reloc_stack_operate (r_type); - r = bfd_reloc_ok; - goto done_reloc; + case R_pcrel24: + case R_pcrel24_jump_l: + case R_byte4_data: + if (! IS_FDPIC (output_bfd)) + goto non_fdpic; + + case R_BFIN_GOT17M4: + case R_BFIN_GOTHI: + case R_BFIN_GOTLO: + case R_BFIN_FUNCDESC_GOT17M4: + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTLO: + case R_BFIN_GOTOFF17M4: + case R_BFIN_GOTOFFHI: + case R_BFIN_GOTOFFLO: + case R_BFIN_FUNCDESC_GOTOFF17M4: + case R_BFIN_FUNCDESC_GOTOFFHI: + case R_BFIN_FUNCDESC_GOTOFFLO: + case R_BFIN_FUNCDESC: + case R_BFIN_FUNCDESC_VALUE: + if (h != NULL) + picrel = bfinfdpic_relocs_info_for_global (bfinfdpic_relocs_info + (info), input_bfd, h, + orig_addend, INSERT); + else + /* In order to find the entry we created before, we must + use the original addend, not the one that may have been + modified by _bfd_elf_rela_local_sym(). */ + picrel = bfinfdpic_relocs_info_for_local (bfinfdpic_relocs_info + (info), input_bfd, r_symndx, + orig_addend, INSERT); + if (! picrel) + return FALSE; + + if (!_bfinfdpic_emit_got_relocs_plt_entries (picrel, output_bfd, info, + osec, sym, + rel->r_addend)) + { + (*_bfd_error_handler) + (_("%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"), + input_bfd, input_section, rel->r_offset, name); + return FALSE; + + } + + break; default: - if (!is_reloc_stack_empty()) - relocation = reloc_stack_pop (); + non_fdpic: + picrel = NULL; + if (h && ! BFINFDPIC_SYM_LOCAL (info, h)) + { + info->callbacks->warning + (info, _("relocation references symbol not defined in the module"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } break; } - /* Then, process normally. */ switch (r_type) { - case R_BFIN_GNU_VTINHERIT: - case R_BFIN_GNU_VTENTRY: - return bfd_reloc_ok; + case R_pcrel24: + case R_pcrel24_jump_l: + check_segment[0] = isec_segment; + if (! IS_FDPIC (output_bfd)) + check_segment[1] = isec_segment; + else if (picrel->plt) + { + relocation = bfinfdpic_plt_section (info)->output_section->vma + + bfinfdpic_plt_section (info)->output_offset + + picrel->plt_entry; + check_segment[1] = plt_segment; + } + /* We don't want to warn on calls to undefined weak symbols, + as calls to them must be protected by non-NULL tests + anyway, and unprotected calls would invoke undefined + behavior. */ + else if (picrel->symndx == -1 + && picrel->d.h->root.type == bfd_link_hash_undefweak) + check_segment[1] = check_segment[0]; + else + check_segment[1] = sec + ? _bfinfdpic_osec_to_segment (output_bfd, sec->output_section) + : (unsigned)-1; + break; - case R_got: - /* Relocation is to the address of the entry for this symbol - in the global offset table. */ - if (h != NULL - && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) - goto do_default; - /* Fall through. */ - /* Relocation is the offset of the entry for this symbol in - the global offset table. */ + case R_BFIN_GOT17M4: + case R_BFIN_GOTHI: + case R_BFIN_GOTLO: + relocation = picrel->got_entry; + check_segment[0] = check_segment[1] = got_segment; + break; - { - bfd_vma off; + case R_BFIN_FUNCDESC_GOT17M4: + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTLO: + relocation = picrel->fdgot_entry; + check_segment[0] = check_segment[1] = got_segment; + break; - if (sgot == NULL) - { - sgot = bfd_get_section_by_name (dynobj, ".got"); - BFD_ASSERT (sgot != NULL); - } + case R_BFIN_GOTOFFHI: + case R_BFIN_GOTOFF17M4: + case R_BFIN_GOTOFFLO: + relocation -= bfinfdpic_got_section (info)->output_section->vma + + bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info); + check_segment[0] = got_segment; + check_segment[1] = sec + ? _bfinfdpic_osec_to_segment (output_bfd, sec->output_section) + : (unsigned)-1; + break; - if (h != NULL) - { - bfd_boolean dyn; + case R_BFIN_FUNCDESC_GOTOFF17M4: + case R_BFIN_FUNCDESC_GOTOFFHI: + case R_BFIN_FUNCDESC_GOTOFFLO: + relocation = picrel->fd_entry; + check_segment[0] = check_segment[1] = got_segment; + break; - off = h->got.offset; - BFD_ASSERT (off != (bfd_vma) - 1); - dyn = elf_hash_table (info)->dynamic_sections_created; + case R_BFIN_FUNCDESC: + { + int dynindx; + bfd_vma addend = rel->r_addend; - if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) - || (info->shared - && (info->symbolic - || h->dynindx == -1 - || h->forced_local) - && h->def_regular)) + if (! (h && h->root.type == bfd_link_hash_undefweak + && BFINFDPIC_SYM_LOCAL (info, h))) + { + /* If the symbol is dynamic and there may be dynamic + symbol resolution because we are or are linked with a + shared library, emit a FUNCDESC relocation such that + the dynamic linker will allocate the function + descriptor. If the symbol needs a non-local function + descriptor but binds locally (e.g., its visibility is + protected, emit a dynamic relocation decayed to + section+offset. */ + if (h && ! BFINFDPIC_FUNCDESC_LOCAL (info, h) + && BFINFDPIC_SYM_LOCAL (info, h) + && !(info->executable && !info->pie)) { - /* This is actually a static link, or it is a - -Bsymbolic link and the symbol is defined - locally, or the symbol was forced to be local - because of a version file.. We must initialize - this entry in the global offset table. Since - the offset must always be a multiple of 4, we - use the least significant bit to record whether - we have initialized it already. - - When doing a dynamic link, we create a .rela.got - relocation entry to initialize the value. This - is done in the finish_dynamic_symbol routine. */ - if ((off & 1) != 0) - off &= ~1; - else + dynindx = elf_section_data (h->root.u.def.section + ->output_section)->dynindx; + addend += h->root.u.def.section->output_offset + + h->root.u.def.value; + } + else if (h && ! BFINFDPIC_FUNCDESC_LOCAL (info, h)) + { + if (addend) { - bfd_put_32 (output_bfd, relocation, - sgot->contents + off); - h->got.offset |= 1; + info->callbacks->warning + (info, _("R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; } + dynindx = h->dynindx; } - else - unresolved_reloc = FALSE; - } - else - { - BFD_ASSERT (local_got_offsets != NULL); - off = local_got_offsets[r_symndx]; - BFD_ASSERT (off != (bfd_vma) - 1); - - /* The offset must always be a multiple of 4. We use - the least significant bit to record whether we have - already generated the necessary reloc. */ - if ((off & 1) != 0) - off &= ~1; else { - bfd_put_32 (output_bfd, relocation, sgot->contents + off); + /* Otherwise, we know we have a private function + descriptor, so reference it directly. */ + BFD_ASSERT (picrel->privfd); + r_type = R_byte4_data; + dynindx = elf_section_data (bfinfdpic_got_section (info) + ->output_section)->dynindx; + addend = bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info) + + picrel->fd_entry; + } - if (info->shared) + /* If there is room for dynamic symbol resolution, emit + the dynamic relocation. However, if we're linking an + executable at a fixed location, we won't have emitted a + dynamic symbol entry for the got section, so idx will + be zero, which means we can and should compute the + address of the private descriptor ourselves. */ + if (info->executable && !info->pie + && (!h || BFINFDPIC_FUNCDESC_LOCAL (info, h))) + { + addend += bfinfdpic_got_section (info)->output_section->vma; + if ((bfd_get_section_flags (output_bfd, + input_section->output_section) + & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD)) { - asection *s; - Elf_Internal_Rela outrel; - bfd_byte *loc; - - s = bfd_get_section_by_name (dynobj, ".rela.got"); - BFD_ASSERT (s != NULL); - - outrel.r_offset = (sgot->output_section->vma - + sgot->output_offset + off); - outrel.r_info = - ELF32_R_INFO (0, R_pcrel24); - outrel.r_addend = relocation; - loc = s->contents; - loc += - s->reloc_count++ * sizeof (Elf32_External_Rela); - bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); + if (_bfinfdpic_osec_readonly_p (output_bfd, + input_section + ->output_section)) + { + info->callbacks->warning + (info, + _("cannot emit fixups in read-only section"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section + (info), + _bfd_elf_section_offset + (output_bfd, info, + input_section, rel->r_offset) + + input_section + ->output_section->vma + + input_section->output_offset, + picrel); } - - local_got_offsets[r_symndx] |= 1; } + else if ((bfd_get_section_flags (output_bfd, + input_section->output_section) + & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD)) + { + if (_bfinfdpic_osec_readonly_p (output_bfd, + input_section + ->output_section)) + { + info->callbacks->warning + (info, + _("cannot emit dynamic relocations in read-only section"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } + _bfinfdpic_add_dyn_reloc (output_bfd, + bfinfdpic_gotrel_section (info), + _bfd_elf_section_offset + (output_bfd, info, + input_section, rel->r_offset) + + input_section + ->output_section->vma + + input_section->output_offset, + r_type, dynindx, addend, picrel); + } + else + addend += bfinfdpic_got_section (info)->output_section->vma; } - relocation = sgot->output_offset + off; - rel->r_addend = 0; - /* bfin : preg = [preg + 17bitdiv4offset] relocation is div by 4. */ - relocation /= 4; + /* We want the addend in-place because dynamic + relocations are REL. Setting relocation to it should + arrange for it to be installed. */ + relocation = addend - rel->r_addend; } - goto do_default; + check_segment[0] = check_segment[1] = got_segment; + break; - case R_pcrel24: - case R_pcrel24_jump_l: + case R_byte4_data: + if (! IS_FDPIC (output_bfd)) + { + check_segment[0] = check_segment[1] = -1; + break; + } + /* Fall through. */ + case R_BFIN_FUNCDESC_VALUE: { - bfd_vma x; - - relocation += rel->r_addend; - - /* Perform usual pc-relative correction. */ - relocation -= input_section->output_section->vma + input_section->output_offset; - relocation -= address; - - /* We are getting reloc_entry->address 2 byte off from - the start of instruction. Assuming absolute postion - of the reloc data. But, following code had been written assuming - reloc address is starting at begining of instruction. - To compensate that I have increased the value of - relocation by 1 (effectively 2) and used the addr -2 instead of addr. */ - - relocation += 2; - address -= 2; + int dynindx; + bfd_vma addend = rel->r_addend; - relocation >>= 1; + /* If the symbol is dynamic but binds locally, use + section+offset. */ + if (h && ! BFINFDPIC_SYM_LOCAL (info, h)) + { + if (addend && r_type == R_BFIN_FUNCDESC_VALUE) + { + info->callbacks->warning + (info, _("R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } + dynindx = h->dynindx; + } + else + { + if (h) + addend += h->root.u.def.value; + else + addend += sym->st_value; + if (osec) + addend += osec->output_offset; + if (osec && osec->output_section + && ! bfd_is_abs_section (osec->output_section) + && ! bfd_is_und_section (osec->output_section)) + dynindx = elf_section_data (osec->output_section)->dynindx; + else + dynindx = 0; + } - x = bfd_get_16 (input_bfd, contents + address); - x = (x & 0xff00) | ((relocation >> 16) & 0xff); - bfd_put_16 (input_bfd, x, contents + address); + /* If we're linking an executable at a fixed address, we + can omit the dynamic relocation as long as the symbol + is defined in the current link unit (which is implied + by its output section not being NULL). */ + if (info->executable && !info->pie + && (!h || BFINFDPIC_SYM_LOCAL (info, h))) + { + if (osec) + addend += osec->output_section->vma; + if (IS_FDPIC (input_bfd) + && (bfd_get_section_flags (output_bfd, + input_section->output_section) + & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD)) + { + if (_bfinfdpic_osec_readonly_p (output_bfd, + input_section + ->output_section)) + { + info->callbacks->warning + (info, + _("cannot emit fixups in read-only section"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } + if (!h || h->root.type != bfd_link_hash_undefweak) + { + _bfinfdpic_add_rofixup (output_bfd, + bfinfdpic_gotfixup_section + (info), + _bfd_elf_section_offset + (output_bfd, info, + input_section, rel->r_offset) + + input_section + ->output_section->vma + + input_section->output_offset, + picrel); + if (r_type == R_BFIN_FUNCDESC_VALUE) + _bfinfdpic_add_rofixup + (output_bfd, + bfinfdpic_gotfixup_section (info), + _bfd_elf_section_offset + (output_bfd, info, + input_section, rel->r_offset) + + input_section->output_section->vma + + input_section->output_offset + 4, picrel); + } + } + } + else + { + if ((bfd_get_section_flags (output_bfd, + input_section->output_section) + & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD)) + { + if (_bfinfdpic_osec_readonly_p (output_bfd, + input_section + ->output_section)) + { + info->callbacks->warning + (info, + _("cannot emit dynamic relocations in read-only section"), + name, input_bfd, input_section, rel->r_offset); + return FALSE; + } + _bfinfdpic_add_dyn_reloc (output_bfd, + bfinfdpic_gotrel_section (info), + _bfd_elf_section_offset + (output_bfd, info, + input_section, rel->r_offset) + + input_section + ->output_section->vma + + input_section->output_offset, + r_type, dynindx, addend, picrel); + } + else if (osec) + addend += osec->output_section->vma; + /* We want the addend in-place because dynamic + relocations are REL. Setting relocation to it + should arrange for it to be installed. */ + relocation = addend - rel->r_addend; + } - x = bfd_get_16 (input_bfd, contents + address + 2); - x = relocation & 0xFFFF; - bfd_put_16 (input_bfd, x, contents + address + 2); - r = bfd_reloc_ok; + if (r_type == R_BFIN_FUNCDESC_VALUE) + { + /* If we've omitted the dynamic relocation, just emit + the fixed addresses of the symbol and of the local + GOT base offset. */ + if (info->executable && !info->pie + && (!h || BFINFDPIC_SYM_LOCAL (info, h))) + bfd_put_32 (output_bfd, + bfinfdpic_got_section (info)->output_section->vma + + bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info), + contents + rel->r_offset + 4); + else + /* A function descriptor used for lazy or local + resolving is initialized such that its high word + contains the output section index in which the + PLT entries are located, and the low word + contains the offset of the lazy PLT entry entry + point into that section. */ + bfd_put_32 (output_bfd, + h && ! BFINFDPIC_SYM_LOCAL (info, h) + ? 0 + : _bfinfdpic_osec_to_segment (output_bfd, + sec + ->output_section), + contents + rel->r_offset + 4); + } } + check_segment[0] = check_segment[1] = got_segment; break; default: - do_default: - r = _bfd_final_link_relocate (howto, input_bfd, input_section, - contents, address, - relocation, rel->r_addend); - + check_segment[0] = isec_segment; + check_segment[1] = sec + ? _bfinfdpic_osec_to_segment (output_bfd, sec->output_section) + : (unsigned)-1; break; } - done_reloc: - /* 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 (unresolved_reloc + if (check_segment[0] != check_segment[1] && IS_FDPIC (output_bfd)) + { +#if 1 /* If you take this out, remove the #error from fdpic-static-6.d + in the ld testsuite. */ + /* This helps catch problems in GCC while we can't do more + than static linking. The idea is to test whether the + input file basename is crt0.o only once. */ + if (silence_segment_error == 1) + silence_segment_error = + (strlen (input_bfd->filename) == 6 + && strcmp (input_bfd->filename, "crt0.o") == 0) + || (strlen (input_bfd->filename) > 6 + && strcmp (input_bfd->filename + + strlen (input_bfd->filename) - 7, + "/crt0.o") == 0) + ? -1 : 0; +#endif + if (!silence_segment_error + /* We don't want duplicate errors for undefined + symbols. */ + && !(picrel && picrel->symndx == -1 + && picrel->d.h->root.type == bfd_link_hash_undefined)) + info->callbacks->warning + (info, + (info->shared || info->pie) + ? _("relocations between different segments are not supported") + : _("warning: relocation references a different segment"), + name, input_bfd, input_section, rel->r_offset); + if (!silence_segment_error && (info->shared || info->pie)) + return FALSE; + elf_elfheader (output_bfd)->e_flags |= EF_BFIN_PIC; + } + + switch (r_type) + { + case R_BFIN_GOTOFFHI: + /* We need the addend to be applied before we shift the + value right. */ + relocation += rel->r_addend; + /* Fall through. */ + case R_BFIN_GOTHI: + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTOFFHI: + relocation >>= 16; + /* Fall through. */ + + case R_BFIN_GOTLO: + case R_BFIN_FUNCDESC_GOTLO: + case R_BFIN_GOTOFFLO: + case R_BFIN_FUNCDESC_GOTOFFLO: + relocation &= 0xffff; + break; + + default: + break; + } + + switch (r_type) + { + case R_pcrel24: + case R_pcrel24_jump_l: + if (! IS_FDPIC (output_bfd) || ! picrel->plt) + break; + /* Fall through. */ + + /* When referencing a GOT entry, a function descriptor or a + PLT, we don't want the addend to apply to the reference, + but rather to the referenced symbol. The actual entry + will have already been created taking the addend into + account, so cancel it out here. */ + case R_BFIN_GOT17M4: + case R_BFIN_GOTHI: + case R_BFIN_GOTLO: + case R_BFIN_FUNCDESC_GOT17M4: + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTLO: + case R_BFIN_FUNCDESC_GOTOFF17M4: + case R_BFIN_FUNCDESC_GOTOFFHI: + case R_BFIN_FUNCDESC_GOTOFFLO: + /* Note that we only want GOTOFFHI, not GOTOFFLO or GOTOFF17M4 + here, since we do want to apply the addend to the others. + Note that we've applied the addend to GOTOFFHI before we + shifted it right. */ + case R_BFIN_GOTOFFHI: + relocation -= rel->r_addend; + break; + + default: + break; + } + + if (r_type == R_pcrel24 + || r_type == R_pcrel24_jump_l) + { + bfd_vma x; + bfd_vma address = rel->r_offset; + + relocation += rel->r_addend; + + /* Perform usual pc-relative correction. */ + relocation -= input_section->output_section->vma + input_section->output_offset; + relocation -= address; + + /* We are getting reloc_entry->address 2 byte off from + the start of instruction. Assuming absolute postion + of the reloc data. But, following code had been written assuming + reloc address is starting at begining of instruction. + To compensate that I have increased the value of + relocation by 1 (effectively 2) and used the addr -2 instead of addr. */ + + relocation += 2; + address -= 2; + + relocation >>= 1; + + x = bfd_get_16 (input_bfd, contents + address); + x = (x & 0xff00) | ((relocation >> 16) & 0xff); + bfd_put_16 (input_bfd, x, contents + address); + + x = bfd_get_16 (input_bfd, contents + address + 2); + x = relocation & 0xFFFF; + bfd_put_16 (input_bfd, x, contents + address + 2); + r = bfd_reloc_ok; + } + else + r = _bfd_final_link_relocate (howto, input_bfd, input_section, + contents, rel->r_offset, + relocation, rel->r_addend); + + if (r != bfd_reloc_ok) + { + const char * msg = (const char *) NULL; + + switch (r) + { + case bfd_reloc_overflow: + r = info->callbacks->reloc_overflow + (info, (h ? &h->root : NULL), name, howto->name, + (bfd_vma) 0, input_bfd, input_section, rel->r_offset); + break; + + case bfd_reloc_undefined: + r = info->callbacks->undefined_symbol + (info, name, input_bfd, input_section, rel->r_offset, TRUE); + break; + + case bfd_reloc_outofrange: + msg = _("internal error: out of range error"); + break; + + case bfd_reloc_notsupported: + msg = _("internal error: unsupported relocation error"); + break; + + case bfd_reloc_dangerous: + msg = _("internal error: dangerous relocation"); + break; + + default: + msg = _("internal error: unknown error"); + break; + } + + if (msg) + r = info->callbacks->warning + (info, msg, name, input_bfd, input_section, rel->r_offset); + + if (! r) + return FALSE; + } + } + + return TRUE; +} + +static bfd_boolean +bfin_relocate_section (bfd * output_bfd, + struct bfd_link_info *info, + bfd * input_bfd, + asection * input_section, + bfd_byte * contents, + Elf_Internal_Rela * relocs, + Elf_Internal_Sym * local_syms, + asection ** local_sections) +{ + bfd *dynobj; + Elf_Internal_Shdr *symtab_hdr; + struct elf_link_hash_entry **sym_hashes; + bfd_vma *local_got_offsets; + asection *sgot; + asection *sreloc; + Elf_Internal_Rela *rel; + Elf_Internal_Rela *relend; + int i = 0; + + if (info->relocatable) + return TRUE; + + dynobj = elf_hash_table (info)->dynobj; + symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (input_bfd); + local_got_offsets = elf_local_got_offsets (input_bfd); + + sgot = NULL; + sreloc = NULL; + + rel = relocs; + relend = relocs + input_section->reloc_count; + for (; rel < relend; rel++, i++) + { + int r_type; + reloc_howto_type *howto; + unsigned long r_symndx; + struct elf_link_hash_entry *h; + Elf_Internal_Sym *sym; + asection *sec; + bfd_vma relocation = 0; + bfd_boolean unresolved_reloc; + bfd_reloc_status_type r; + bfd_vma address; + + r_type = ELF32_R_TYPE (rel->r_info); + if (r_type < 0 || r_type >= 243) + { + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + + if (r_type == R_BFIN_GNU_VTENTRY + || r_type == R_BFIN_GNU_VTINHERIT) + continue; + + howto = bfin_reloc_type_lookup (input_bfd, r_type); + if (howto == NULL) + { + bfd_set_error (bfd_error_bad_value); + return FALSE; + } + r_symndx = ELF32_R_SYM (rel->r_info); + + h = NULL; + sym = NULL; + sec = NULL; + unresolved_reloc = FALSE; + + if (r_symndx < symtab_hdr->sh_info) + { + sym = local_syms + r_symndx; + sec = local_sections[r_symndx]; + relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); + } + else + { + bfd_boolean warned; + h = NULL; + RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, + r_symndx, symtab_hdr, sym_hashes, + h, sec, relocation, + unresolved_reloc, warned); + } + + address = rel->r_offset; + + /* Then, process normally. */ + switch (r_type) + { + case R_BFIN_GNU_VTINHERIT: + case R_BFIN_GNU_VTENTRY: + return bfd_reloc_ok; + + case R_got: + /* Relocation is to the address of the entry for this symbol + in the global offset table. */ + if (h != NULL + && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) + goto do_default; + /* Fall through. */ + /* Relocation is the offset of the entry for this symbol in + the global offset table. */ + + { + bfd_vma off; + + if (sgot == NULL) + { + sgot = bfd_get_section_by_name (dynobj, ".got"); + BFD_ASSERT (sgot != NULL); + } + + if (h != NULL) + { + bfd_boolean dyn; + + off = h->got.offset; + BFD_ASSERT (off != (bfd_vma) - 1); + dyn = elf_hash_table (info)->dynamic_sections_created; + + if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) + || (info->shared + && (info->symbolic + || h->dynindx == -1 + || h->forced_local) + && h->def_regular)) + { + /* This is actually a static link, or it is a + -Bsymbolic link and the symbol is defined + locally, or the symbol was forced to be local + because of a version file.. We must initialize + this entry in the global offset table. Since + the offset must always be a multiple of 4, we + use the least significant bit to record whether + we have initialized it already. + + When doing a dynamic link, we create a .rela.got + relocation entry to initialize the value. This + is done in the finish_dynamic_symbol routine. */ + if ((off & 1) != 0) + off &= ~1; + else + { + bfd_put_32 (output_bfd, relocation, + sgot->contents + off); + h->got.offset |= 1; + } + } + else + unresolved_reloc = FALSE; + } + else + { + BFD_ASSERT (local_got_offsets != NULL); + off = local_got_offsets[r_symndx]; + BFD_ASSERT (off != (bfd_vma) - 1); + + /* The offset must always be a multiple of 4. We use + the least significant bit to record whether we have + already generated the necessary reloc. */ + if ((off & 1) != 0) + off &= ~1; + else + { + bfd_put_32 (output_bfd, relocation, sgot->contents + off); + + if (info->shared) + { + asection *s; + Elf_Internal_Rela outrel; + bfd_byte *loc; + + s = bfd_get_section_by_name (dynobj, ".rela.got"); + BFD_ASSERT (s != NULL); + + outrel.r_offset = (sgot->output_section->vma + + sgot->output_offset + off); + outrel.r_info = + ELF32_R_INFO (0, R_pcrel24); + outrel.r_addend = relocation; + loc = s->contents; + loc += + s->reloc_count++ * sizeof (Elf32_External_Rela); + bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc); + } + + local_got_offsets[r_symndx] |= 1; + } + } + + relocation = sgot->output_offset + off; + rel->r_addend = 0; + /* bfin : preg = [preg + 17bitdiv4offset] relocation is div by 4. */ + relocation /= 4; + } + goto do_default; + + case R_pcrel24: + case R_pcrel24_jump_l: + { + bfd_vma x; + + relocation += rel->r_addend; + + /* Perform usual pc-relative correction. */ + relocation -= input_section->output_section->vma + input_section->output_offset; + relocation -= address; + + /* We are getting reloc_entry->address 2 byte off from + the start of instruction. Assuming absolute postion + of the reloc data. But, following code had been written assuming + reloc address is starting at begining of instruction. + To compensate that I have increased the value of + relocation by 1 (effectively 2) and used the addr -2 instead of addr. */ + + relocation += 2; + address -= 2; + + relocation >>= 1; + + x = bfd_get_16 (input_bfd, contents + address); + x = (x & 0xff00) | ((relocation >> 16) & 0xff); + bfd_put_16 (input_bfd, x, contents + address); + + x = bfd_get_16 (input_bfd, contents + address + 2); + x = relocation & 0xFFFF; + bfd_put_16 (input_bfd, x, contents + address + 2); + r = bfd_reloc_ok; + } + break; + + default: + do_default: + r = _bfd_final_link_relocate (howto, input_bfd, input_section, + contents, address, + relocation, rel->r_addend); + + break; + } + + /* 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 (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 && h->def_dynamic)) { - (*_bfd_error_handler) - (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), - input_bfd, - input_section, (long) rel->r_offset, h->root.root.string); + (*_bfd_error_handler) + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); + return FALSE; + } + + if (r != bfd_reloc_ok) + { + const char *name; + + if (h != NULL) + name = h->root.root.string; + else + { + name = bfd_elf_string_from_elf_section (input_bfd, + symtab_hdr->sh_link, + sym->st_name); + if (name == NULL) + return FALSE; + if (*name == '\0') + name = bfd_section_name (input_bfd, sec); + } + + if (r == bfd_reloc_overflow) + { + if (!(info->callbacks->reloc_overflow + (info, (h ? &h->root : NULL), name, howto->name, + (bfd_vma) 0, input_bfd, input_section, rel->r_offset))) + return FALSE; + } + else + { + (*_bfd_error_handler) + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, + (long) rel->r_offset, name, (int) r); + return FALSE; + } + } + } + + return TRUE; +} + +static asection * +bfin_gc_mark_hook (asection * sec, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + 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_BFIN_GNU_VTINHERIT: + case R_BFIN_GNU_VTENTRY: + break; + + default: + switch (h->root.type) + { + default: + break; + + case bfd_link_hash_defined: + case bfd_link_hash_defweak: + return h->root.u.def.section; + + case bfd_link_hash_common: + return h->root.u.c.p->section; + } + } + } + else + return bfd_section_from_elf_index (sec->owner, sym->st_shndx); + + return NULL; +} + + +/* Update the got entry reference counts for the section being removed. */ + +static bfd_boolean +bfinfdpic_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + asection *sec ATTRIBUTE_UNUSED, + const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED) +{ + return TRUE; +} + +/* Update the got entry reference counts for the section being removed. */ + +static bfd_boolean +bfin_gc_sweep_hook (bfd * abfd, + struct bfd_link_info *info, + asection * sec, + const Elf_Internal_Rela * relocs) +{ + Elf_Internal_Shdr *symtab_hdr; + struct elf_link_hash_entry **sym_hashes; + bfd_signed_vma *local_got_refcounts; + const Elf_Internal_Rela *rel, *relend; + bfd *dynobj; + asection *sgot; + asection *srelgot; + + dynobj = elf_hash_table (info)->dynobj; + if (dynobj == NULL) + return TRUE; + + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (abfd); + local_got_refcounts = elf_local_got_refcounts (abfd); + + sgot = bfd_get_section_by_name (dynobj, ".got"); + srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); + + relend = relocs + sec->reloc_count; + for (rel = relocs; rel < relend; rel++) + { + unsigned long r_symndx; + struct elf_link_hash_entry *h; + + switch (ELF32_R_TYPE (rel->r_info)) + { + case R_got: + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + if (h->got.refcount > 0) + { + --h->got.refcount; + if (h->got.refcount == 0) + { + /* We don't need the .got entry any more. */ + sgot->size -= 4; + srelgot->size -= sizeof (Elf32_External_Rela); + } + } + } + else if (local_got_refcounts != NULL) + { + if (local_got_refcounts[r_symndx] > 0) + { + --local_got_refcounts[r_symndx]; + if (local_got_refcounts[r_symndx] == 0) + { + /* We don't need the .got entry any more. */ + sgot->size -= 4; + if (info->shared) + srelgot->size -= sizeof (Elf32_External_Rela); + } + } + } + break; + default: + break; + } + } + return TRUE; +} + +/* We need dynamic symbols for every section, since segments can + relocate independently. */ +static bfd_boolean +_bfinfdpic_link_omit_section_dynsym (bfd *output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info + ATTRIBUTE_UNUSED, + asection *p ATTRIBUTE_UNUSED) +{ + switch (elf_section_data (p)->this_hdr.sh_type) + { + case SHT_PROGBITS: + case SHT_NOBITS: + /* If sh_type is yet undecided, assume it could be + SHT_PROGBITS/SHT_NOBITS. */ + case SHT_NULL: + return FALSE; + + /* There shouldn't be section relative relocations + against any other section. */ + default: + return TRUE; + } +} + +/* Create a .got section, as well as its additional info field. This + is almost entirely copied from + elflink.c:_bfd_elf_create_got_section(). */ + +static bfd_boolean +_bfin_create_got_section (bfd *abfd, struct bfd_link_info *info) +{ + flagword flags, pltflags; + asection *s; + struct elf_link_hash_entry *h; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + int ptralign; + int offset; + + /* This function may be called more than once. */ + s = bfd_get_section_by_name (abfd, ".got"); + if (s != NULL && (s->flags & SEC_LINKER_CREATED) != 0) + return TRUE; + + /* Machine specific: although pointers are 32-bits wide, we want the + GOT to be aligned to a 64-bit boundary, such that function + descriptors in it can be accessed with 64-bit loads and + stores. */ + ptralign = 3; + + flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY + | SEC_LINKER_CREATED); + pltflags = flags; + + s = bfd_make_section_with_flags (abfd, ".got", flags); + if (s == NULL + || !bfd_set_section_alignment (abfd, s, ptralign)) + return FALSE; + + if (bed->want_got_plt) + { + s = bfd_make_section_with_flags (abfd, ".got.plt", flags); + if (s == NULL + || !bfd_set_section_alignment (abfd, s, ptralign)) + return FALSE; + } + + if (bed->want_got_sym) + { + /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the .got + (or .got.plt) section. We don't do this in the linker script + because we don't want to define the symbol if we are not creating + a global offset table. */ + h = _bfd_elf_define_linkage_sym (abfd, info, s, "_GLOBAL_OFFSET_TABLE_"); + elf_hash_table (info)->hgot = h; + if (h == NULL) + return FALSE; + + /* Machine-specific: we want the symbol for executables as + well. */ + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; + } + + /* The first bit of the global offset table is the header. */ + s->size += bed->got_header_size; + + /* This is the machine-specific part. Create and initialize section + data for the got. */ + if (IS_FDPIC (abfd)) + { + bfinfdpic_got_section (info) = s; + bfinfdpic_relocs_info (info) = htab_try_create (1, + bfinfdpic_relocs_info_hash, + bfinfdpic_relocs_info_eq, + (htab_del) NULL); + if (! bfinfdpic_relocs_info (info)) + return FALSE; + + s = bfd_make_section_with_flags (abfd, ".rel.got", + (flags | SEC_READONLY)); + if (s == NULL + || ! bfd_set_section_alignment (abfd, s, 2)) + return FALSE; + + bfinfdpic_gotrel_section (info) = s; + + /* Machine-specific. */ + s = bfd_make_section_with_flags (abfd, ".rofixup", + (flags | SEC_READONLY)); + if (s == NULL + || ! bfd_set_section_alignment (abfd, s, 2)) + return FALSE; + + bfinfdpic_gotfixup_section (info) = s; + offset = -2048; + flags = BSF_GLOBAL; + } + else + { + offset = 2048; + flags = BSF_GLOBAL | BSF_WEAK; + } + + return TRUE; +} + +/* Make sure the got and plt sections exist, and that our pointers in + the link hash table point to them. */ + +static bfd_boolean +elf32_bfinfdpic_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) +{ + /* This is mostly copied from + elflink.c:_bfd_elf_create_dynamic_sections(). */ + flagword flags, pltflags; + asection *s; + const struct elf_backend_data *bed = get_elf_backend_data (abfd); + + /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and + .rel[a].bss sections. */ + + flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY + | SEC_LINKER_CREATED); + + pltflags = flags; + pltflags |= SEC_CODE; + if (bed->plt_not_loaded) + pltflags &= ~ (SEC_CODE | SEC_LOAD | SEC_HAS_CONTENTS); + if (bed->plt_readonly) + pltflags |= SEC_READONLY; + + s = bfd_make_section (abfd, ".plt"); + if (s == NULL + || ! bfd_set_section_flags (abfd, s, pltflags) + || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment)) + return FALSE; + /* Blackfin-specific: remember it. */ + bfinfdpic_plt_section (info) = s; + + if (bed->want_plt_sym) + { + /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the + .plt section. */ + struct elf_link_hash_entry *h; + struct bfd_link_hash_entry *bh = NULL; + + if (! (_bfd_generic_link_add_one_symbol + (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s, 0, NULL, + FALSE, get_elf_backend_data (abfd)->collect, &bh))) + return FALSE; + h = (struct elf_link_hash_entry *) bh; + h->def_regular = 1; + h->type = STT_OBJECT; + + if (! info->executable + && ! bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; + } + + /* Blackfin-specific: we want rel relocations for the plt. */ + s = bfd_make_section (abfd, ".rel.plt"); + if (s == NULL + || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY) + || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align)) + return FALSE; + /* Blackfin-specific: remember it. */ + bfinfdpic_pltrel_section (info) = s; + + /* Blackfin-specific: we want to create the GOT in the Blackfin way. */ + if (! _bfin_create_got_section (abfd, info)) + return FALSE; + + /* Blackfin-specific: make sure we created everything we wanted. */ + BFD_ASSERT (bfinfdpic_got_section (info) && bfinfdpic_gotrel_section (info) + /* && bfinfdpic_gotfixup_section (info) */ + && bfinfdpic_plt_section (info) + && bfinfdpic_pltrel_section (info)); + + if (bed->want_dynbss) + { + /* The .dynbss section is a place to put symbols which are defined + by dynamic objects, are referenced by regular objects, and are + not functions. We must allocate space for them in the process + image and use a R_*_COPY reloc to tell the dynamic linker to + initialize them at run time. The linker script puts the .dynbss + section into the .bss section of the final image. */ + s = bfd_make_section (abfd, ".dynbss"); + if (s == NULL + || ! bfd_set_section_flags (abfd, s, SEC_ALLOC | SEC_LINKER_CREATED)) + return FALSE; + + /* The .rel[a].bss section holds copy relocs. This section is not + normally needed. We need to create it here, though, so that the + linker will map it to an output section. We can't just create it + only if we need it, because we will not know whether we need it + until we have seen all the input files, and the first time the + main linker code calls BFD after examining all the input files + (size_dynamic_sections) the input sections have already been + mapped to the output sections. If the section turns out not to + be needed, we can discard it later. We will never need this + section when generating a shared object, since they do not use + copy relocs. */ + if (! info->shared) + { + s = bfd_make_section (abfd, + (bed->default_use_rela_p + ? ".rela.bss" : ".rel.bss")); + if (s == NULL + || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY) + || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align)) + return FALSE; + } + } + + return TRUE; +} + +/* The name of the dynamic interpreter. This is put in the .interp + section. */ + +#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1" + +#define DEFAULT_STACK_SIZE 0x20000 + +/* This structure is used to collect the number of entries present in + each addressable range of the got. */ +struct _bfinfdpic_dynamic_got_info +{ + /* Several bits of information about the current link. */ + struct bfd_link_info *info; + /* Total size needed for GOT entries within the 18- or 32-bit + ranges. */ + bfd_vma got17m4, gothilo; + /* Total size needed for function descriptor entries within the 18- + or 32-bit ranges. */ + bfd_vma fd17m4, fdhilo; + /* Total size needed function descriptor entries referenced in PLT + entries, that would be profitable to place in offsets close to + the PIC register. */ + bfd_vma fdplt; + /* Total size needed by lazy PLT entries. */ + bfd_vma lzplt; + /* Number of relocations carried over from input object files. */ + unsigned long relocs; + /* Number of fixups introduced by relocations in input object files. */ + unsigned long fixups; +}; + +/* Compute the total GOT size required by each symbol in each range. + Symbols may require up to 4 words in the GOT: an entry pointing to + the symbol, an entry pointing to its function descriptor, and a + private function descriptors taking two words. */ + +static int +_bfinfdpic_count_got_plt_entries (void **entryp, void *dinfo_) +{ + struct bfinfdpic_relocs_info *entry = *entryp; + struct _bfinfdpic_dynamic_got_info *dinfo = dinfo_; + unsigned relocs = 0, fixups = 0; + + /* Allocate space for a GOT entry pointing to the symbol. */ + if (entry->got17m4) + dinfo->got17m4 += 4; + else if (entry->gothilo) + dinfo->gothilo += 4; + else + entry->relocs32--; + entry->relocs32++; + + /* Allocate space for a GOT entry pointing to the function + descriptor. */ + if (entry->fdgot17m4) + dinfo->got17m4 += 4; + else if (entry->fdgothilo) + dinfo->gothilo += 4; + else + entry->relocsfd--; + entry->relocsfd++; + + /* Decide whether we need a PLT entry, a function descriptor in the + GOT, and a lazy PLT entry for this symbol. */ + entry->plt = entry->call + && entry->symndx == -1 && ! BFINFDPIC_SYM_LOCAL (dinfo->info, entry->d.h) + && elf_hash_table (dinfo->info)->dynamic_sections_created; + entry->privfd = entry->plt + || entry->fdgoff17m4 || entry->fdgoffhilo + || ((entry->fd || entry->fdgot17m4 || entry->fdgothilo) + && (entry->symndx != -1 + || BFINFDPIC_FUNCDESC_LOCAL (dinfo->info, entry->d.h))); + entry->lazyplt = entry->privfd + && entry->symndx == -1 && ! BFINFDPIC_SYM_LOCAL (dinfo->info, entry->d.h) + && ! (dinfo->info->flags & DF_BIND_NOW) + && elf_hash_table (dinfo->info)->dynamic_sections_created; + + /* Allocate space for a function descriptor. */ + if (entry->fdgoff17m4) + dinfo->fd17m4 += 8; + else if (entry->privfd && entry->plt) + dinfo->fdplt += 8; + else if (entry->privfd) + dinfo->fdhilo += 8; + else + entry->relocsfdv--; + entry->relocsfdv++; + + if (entry->lazyplt) + dinfo->lzplt += LZPLT_NORMAL_SIZE; + + if (!dinfo->info->executable || dinfo->info->pie) + relocs = entry->relocs32 + entry->relocsfd + entry->relocsfdv; + else + { + if (entry->symndx != -1 || BFINFDPIC_SYM_LOCAL (dinfo->info, entry->d.h)) + { + if (entry->symndx != -1 + || entry->d.h->root.type != bfd_link_hash_undefweak) + fixups += entry->relocs32 + 2 * entry->relocsfdv; + } + else + relocs += entry->relocs32 + entry->relocsfdv; + + if (entry->symndx != -1 + || BFINFDPIC_FUNCDESC_LOCAL (dinfo->info, entry->d.h)) + { + if (entry->symndx != -1 + || entry->d.h->root.type != bfd_link_hash_undefweak) + fixups += entry->relocsfd; + } + else + relocs += entry->relocsfd; + } + + entry->dynrelocs += relocs; + entry->fixups += fixups; + dinfo->relocs += relocs; + dinfo->fixups += fixups; + + return 1; +} + +/* This structure is used to assign offsets to got entries, function + descriptors, plt entries and lazy plt entries. */ + +struct _bfinfdpic_dynamic_got_plt_info +{ + /* Summary information collected with _bfinfdpic_count_got_plt_entries. */ + struct _bfinfdpic_dynamic_got_info g; + + /* For each addressable range, we record a MAX (positive) and MIN + (negative) value. CUR is used to assign got entries, and it's + incremented from an initial positive value to MAX, then from MIN + to FDCUR (unless FDCUR wraps around first). FDCUR is used to + assign function descriptors, and it's decreased from an initial + non-positive value to MIN, then from MAX down to CUR (unless CUR + wraps around first). All of MIN, MAX, CUR and FDCUR always point + to even words. ODD, if non-zero, indicates an odd word to be + used for the next got entry, otherwise CUR is used and + incremented by a pair of words, wrapping around when it reaches + MAX. FDCUR is decremented (and wrapped) before the next function + descriptor is chosen. FDPLT indicates the number of remaining + slots that can be used for function descriptors used only by PLT + entries. */ + struct _bfinfdpic_dynamic_got_alloc_data + { + bfd_signed_vma max, cur, odd, fdcur, min; + bfd_vma fdplt; + } got17m4, gothilo; +}; + +/* Determine the positive and negative ranges to be used by each + offset range in the GOT. FDCUR and CUR, that must be aligned to a + double-word boundary, are the minimum (negative) and maximum + (positive) GOT offsets already used by previous ranges, except for + an ODD entry that may have been left behind. GOT and FD indicate + the size of GOT entries and function descriptors that must be + placed within the range from -WRAP to WRAP. If there's room left, + up to FDPLT bytes should be reserved for additional function + descriptors. */ + +inline static bfd_signed_vma +_bfinfdpic_compute_got_alloc_data (struct _bfinfdpic_dynamic_got_alloc_data *gad, + bfd_signed_vma fdcur, + bfd_signed_vma odd, + bfd_signed_vma cur, + bfd_vma got, + bfd_vma fd, + bfd_vma fdplt, + bfd_vma wrap) +{ + bfd_signed_vma wrapmin = -wrap; + + /* Start at the given initial points. */ + gad->fdcur = fdcur; + gad->cur = cur; + + /* If we had an incoming odd word and we have any got entries that + are going to use it, consume it, otherwise leave gad->odd at + zero. We might force gad->odd to zero and return the incoming + odd such that it is used by the next range, but then GOT entries + might appear to be out of order and we wouldn't be able to + shorten the GOT by one word if it turns out to end with an + unpaired GOT entry. */ + if (odd && got) + { + gad->odd = odd; + got -= 4; + odd = 0; + } + else + gad->odd = 0; + + /* If we're left with an unpaired GOT entry, compute its location + such that we can return it. Otherwise, if got doesn't require an + odd number of words here, either odd was already zero in the + block above, or it was set to zero because got was non-zero, or + got was already zero. In the latter case, we want the value of + odd to carry over to the return statement, so we don't want to + reset odd unless the condition below is true. */ + if (got & 4) + { + odd = cur + got; + got += 4; + } + + /* Compute the tentative boundaries of this range. */ + gad->max = cur + got; + gad->min = fdcur - fd; + gad->fdplt = 0; + + /* If function descriptors took too much space, wrap some of them + around. */ + if (gad->min < wrapmin) + { + gad->max += wrapmin - gad->min; + gad->min = wrapmin; + } + /* If there is space left and we have function descriptors + referenced in PLT entries that could take advantage of shorter + offsets, place them here. */ + else if (fdplt && gad->min > wrapmin) + { + bfd_vma fds; + if ((bfd_vma) (gad->min - wrapmin) < fdplt) + fds = gad->min - wrapmin; + else + fds = fdplt; + + fdplt -= fds; + gad->min -= fds; + gad->fdplt += fds; + } + + /* If GOT entries took too much space, wrap some of them around. + This may well cause gad->min to become lower than wrapmin. This + will cause a relocation overflow later on, so we don't have to + report it here . */ + if ((bfd_vma) gad->max > wrap) + { + gad->min -= gad->max - wrap; + gad->max = wrap; + } + /* If there is more space left, try to place some more function + descriptors for PLT entries. */ + else if (fdplt && (bfd_vma) gad->max < wrap) + { + bfd_vma fds; + if ((bfd_vma) (wrap - gad->max) < fdplt) + fds = wrap - gad->max; + else + fds = fdplt; + + fdplt -= fds; + gad->max += fds; + gad->fdplt += fds; + } + + /* If odd was initially computed as an offset past the wrap point, + wrap it around. */ + if (odd > gad->max) + odd = gad->min + odd - gad->max; + + /* _bfinfdpic_get_got_entry() below will always wrap gad->cur if needed + before returning, so do it here too. This guarantees that, + should cur and fdcur meet at the wrap point, they'll both be + equal to min. */ + if (gad->cur == gad->max) + gad->cur = gad->min; + + return odd; +} + +/* Compute the location of the next GOT entry, given the allocation + data for a range. */ + +inline static bfd_signed_vma +_bfinfdpic_get_got_entry (struct _bfinfdpic_dynamic_got_alloc_data *gad) +{ + bfd_signed_vma ret; + + if (gad->odd) + { + /* If there was an odd word left behind, use it. */ + ret = gad->odd; + gad->odd = 0; + } + else + { + /* Otherwise, use the word pointed to by cur, reserve the next + as an odd word, and skip to the next pair of words, possibly + wrapping around. */ + ret = gad->cur; + gad->odd = gad->cur + 4; + gad->cur += 8; + if (gad->cur == gad->max) + gad->cur = gad->min; + } + + return ret; +} + +/* Compute the location of the next function descriptor entry in the + GOT, given the allocation data for a range. */ + +inline static bfd_signed_vma +_bfinfdpic_get_fd_entry (struct _bfinfdpic_dynamic_got_alloc_data *gad) +{ + /* If we're at the bottom, wrap around, and only then allocate the + next pair of words. */ + if (gad->fdcur == gad->min) + gad->fdcur = gad->max; + return gad->fdcur -= 8; +} + +/* Assign GOT offsets for every GOT entry and function descriptor. + Doing everything in a single pass is tricky. */ + +static int +_bfinfdpic_assign_got_entries (void **entryp, void *info_) +{ + struct bfinfdpic_relocs_info *entry = *entryp; + struct _bfinfdpic_dynamic_got_plt_info *dinfo = info_; + + if (entry->got17m4) + entry->got_entry = _bfinfdpic_get_got_entry (&dinfo->got17m4); + else if (entry->gothilo) + entry->got_entry = _bfinfdpic_get_got_entry (&dinfo->gothilo); + + if (entry->fdgot17m4) + entry->fdgot_entry = _bfinfdpic_get_got_entry (&dinfo->got17m4); + else if (entry->fdgothilo) + entry->fdgot_entry = _bfinfdpic_get_got_entry (&dinfo->gothilo); + + if (entry->fdgoff17m4) + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->got17m4); + else if (entry->plt && dinfo->got17m4.fdplt) + { + dinfo->got17m4.fdplt -= 8; + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->got17m4); + } + else if (entry->plt) + { + dinfo->gothilo.fdplt -= 8; + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->gothilo); + } + else if (entry->privfd) + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->gothilo); + + return 1; +} + +/* Assign GOT offsets to private function descriptors used by PLT + entries (or referenced by 32-bit offsets), as well as PLT entries + and lazy PLT entries. */ + +static int +_bfinfdpic_assign_plt_entries (void **entryp, void *info_) +{ + struct bfinfdpic_relocs_info *entry = *entryp; + struct _bfinfdpic_dynamic_got_plt_info *dinfo = info_; + + /* If this symbol requires a local function descriptor, allocate + one. */ + if (entry->privfd && entry->fd_entry == 0) + { + if (dinfo->got17m4.fdplt) + { + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->got17m4); + dinfo->got17m4.fdplt -= 8; + } + else + { + BFD_ASSERT (dinfo->gothilo.fdplt); + entry->fd_entry = _bfinfdpic_get_fd_entry (&dinfo->gothilo); + dinfo->gothilo.fdplt -= 8; + } + } + + if (entry->plt) + { + int size; + + /* We use the section's raw size to mark the location of the + next PLT entry. */ + entry->plt_entry = bfinfdpic_plt_section (dinfo->g.info)->size; + + /* Figure out the length of this PLT entry based on the + addressing mode we need to reach the function descriptor. */ + BFD_ASSERT (entry->fd_entry); + if (entry->fd_entry >= -(1 << (18 - 1)) + && entry->fd_entry + 4 < (1 << (18 - 1))) + size = 10; + else + size = 16; + + bfinfdpic_plt_section (dinfo->g.info)->size += size; + } + + if (entry->lazyplt) + { + entry->lzplt_entry = dinfo->g.lzplt; + dinfo->g.lzplt += LZPLT_NORMAL_SIZE; + /* If this entry is the one that gets the resolver stub, account + for the additional instruction. */ + if (entry->lzplt_entry % BFINFDPIC_LZPLT_BLOCK_SIZE + == BFINFDPIC_LZPLT_RESOLV_LOC) + dinfo->g.lzplt += LZPLT_RESOLVER_EXTRA; + } + + return 1; +} + +/* Follow indirect and warning hash entries so that each got entry + points to the final symbol definition. P must point to a pointer + to the hash table we're traversing. Since this traversal may + modify the hash table, we set this pointer to NULL to indicate + we've made a potentially-destructive change to the hash table, so + the traversal must be restarted. */ +static int +_bfinfdpic_resolve_final_relocs_info (void **entryp, void *p) +{ + struct bfinfdpic_relocs_info *entry = *entryp; + htab_t *htab = p; + + if (entry->symndx == -1) + { + struct elf_link_hash_entry *h = entry->d.h; + struct bfinfdpic_relocs_info *oentry; + + 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; + + if (entry->d.h == h) + return 1; + + oentry = bfinfdpic_relocs_info_for_global (*htab, 0, h, entry->addend, + NO_INSERT); + + if (oentry) + { + /* Merge the two entries. */ + bfinfdpic_pic_merge_early_relocs_info (oentry, entry); + htab_clear_slot (*htab, entryp); + return 1; + } + + entry->d.h = h; + + /* If we can't find this entry with the new bfd hash, re-insert + it, and get the traversal restarted. */ + if (! htab_find (*htab, entry)) + { + htab_clear_slot (*htab, entryp); + entryp = htab_find_slot (*htab, entry, INSERT); + if (! *entryp) + *entryp = entry; + /* Abort the traversal, since the whole table may have + moved, and leave it up to the parent to restart the + process. */ + *(htab_t *)p = NULL; + return 0; + } + } + + return 1; +} + +/* Set the sizes of the dynamic sections. */ + +static bfd_boolean +elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd, + struct bfd_link_info *info) +{ + bfd *dynobj; + asection *s; + struct _bfinfdpic_dynamic_got_plt_info gpinfo; + bfd_signed_vma odd; + bfd_vma limit; + + dynobj = elf_hash_table (info)->dynobj; + BFD_ASSERT (dynobj != NULL); + + if (elf_hash_table (info)->dynamic_sections_created) + { + /* Set the contents of the .interp section to the interpreter. */ + if (info->executable) + { + s = bfd_get_section_by_name (dynobj, ".interp"); + BFD_ASSERT (s != NULL); + s->size = sizeof ELF_DYNAMIC_INTERPRETER; + s->contents = (bfd_byte *) ELF_DYNAMIC_INTERPRETER; + } + } + + memset (&gpinfo, 0, sizeof (gpinfo)); + gpinfo.g.info = info; + + for (;;) + { + htab_t relocs = bfinfdpic_relocs_info (info); + + htab_traverse (relocs, _bfinfdpic_resolve_final_relocs_info, &relocs); + + if (relocs == bfinfdpic_relocs_info (info)) + break; + } + + htab_traverse (bfinfdpic_relocs_info (info), _bfinfdpic_count_got_plt_entries, + &gpinfo.g); + + odd = 12; + /* Compute the total size taken by entries in the 18-bit range, + to tell how many PLT function descriptors we can bring into it + without causing it to overflow. */ + limit = odd + gpinfo.g.got17m4 + gpinfo.g.fd17m4; + if (limit < (bfd_vma)1 << 18) + limit = ((bfd_vma)1 << 18) - limit; + else + limit = 0; + if (gpinfo.g.fdplt < limit) + limit = gpinfo.g.fdplt; + + /* Determine the ranges of GOT offsets that we can use for each + range of addressing modes. */ + odd = _bfinfdpic_compute_got_alloc_data (&gpinfo.got17m4, + 0, + odd, + 16, + gpinfo.g.got17m4, + gpinfo.g.fd17m4, + limit, + (bfd_vma)1 << (18-1)); + odd = _bfinfdpic_compute_got_alloc_data (&gpinfo.gothilo, + gpinfo.got17m4.min, + odd, + gpinfo.got17m4.max, + gpinfo.g.gothilo, + gpinfo.g.fdhilo, + gpinfo.g.fdplt - gpinfo.got17m4.fdplt, + (bfd_vma)1 << (32-1)); + + /* Now assign (most) GOT offsets. */ + htab_traverse (bfinfdpic_relocs_info (info), _bfinfdpic_assign_got_entries, + &gpinfo); + + bfinfdpic_got_section (info)->size = gpinfo.gothilo.max + - gpinfo.gothilo.min + /* If an odd word is the last word of the GOT, we don't need this + word to be part of the GOT. */ + - (odd + 4 == gpinfo.gothilo.max ? 4 : 0); + if (bfinfdpic_got_section (info)->size == 0) + bfinfdpic_got_section (info)->flags |= SEC_EXCLUDE; + else if (bfinfdpic_got_section (info)->size == 12 + && ! elf_hash_table (info)->dynamic_sections_created) + { + bfinfdpic_got_section (info)->flags |= SEC_EXCLUDE; + bfinfdpic_got_section (info)->size = 0; + } + else + { + bfinfdpic_got_section (info)->contents = + (bfd_byte *) bfd_zalloc (dynobj, + bfinfdpic_got_section (info)->size); + if (bfinfdpic_got_section (info)->contents == NULL) + return FALSE; + } + + if (elf_hash_table (info)->dynamic_sections_created) + /* Subtract the number of lzplt entries, since those will generate + relocations in the pltrel section. */ + bfinfdpic_gotrel_section (info)->size = + (gpinfo.g.relocs - gpinfo.g.lzplt / LZPLT_NORMAL_SIZE) + * get_elf_backend_data (output_bfd)->s->sizeof_rel; + else + BFD_ASSERT (gpinfo.g.relocs == 0); + if (bfinfdpic_gotrel_section (info)->size == 0) + bfinfdpic_gotrel_section (info)->flags |= SEC_EXCLUDE; + else + { + bfinfdpic_gotrel_section (info)->contents = + (bfd_byte *) bfd_zalloc (dynobj, + bfinfdpic_gotrel_section (info)->size); + if (bfinfdpic_gotrel_section (info)->contents == NULL) + return FALSE; + } + + bfinfdpic_gotfixup_section (info)->size = (gpinfo.g.fixups + 1) * 4; + if (bfinfdpic_gotfixup_section (info)->size == 0) + bfinfdpic_gotfixup_section (info)->flags |= SEC_EXCLUDE; + else + { + bfinfdpic_gotfixup_section (info)->contents = + (bfd_byte *) bfd_zalloc (dynobj, + bfinfdpic_gotfixup_section (info)->size); + if (bfinfdpic_gotfixup_section (info)->contents == NULL) + return FALSE; + } + + if (elf_hash_table (info)->dynamic_sections_created) + { + bfinfdpic_pltrel_section (info)->size = + gpinfo.g.lzplt / LZPLT_NORMAL_SIZE * get_elf_backend_data (output_bfd)->s->sizeof_rel; + if (bfinfdpic_pltrel_section (info)->size == 0) + bfinfdpic_pltrel_section (info)->flags |= SEC_EXCLUDE; + else + { + bfinfdpic_pltrel_section (info)->contents = + (bfd_byte *) bfd_zalloc (dynobj, + bfinfdpic_pltrel_section (info)->size); + if (bfinfdpic_pltrel_section (info)->contents == NULL) + return FALSE; + } + } + + /* Add 4 bytes for every block of at most 65535 lazy PLT entries, + such that there's room for the additional instruction needed to + call the resolver. Since _bfinfdpic_assign_got_entries didn't + account for them, our block size is 4 bytes smaller than the real + block size. */ + if (elf_hash_table (info)->dynamic_sections_created) + { + bfinfdpic_plt_section (info)->size = gpinfo.g.lzplt + + ((gpinfo.g.lzplt + (BFINFDPIC_LZPLT_BLOCK_SIZE - 4) - LZPLT_NORMAL_SIZE) + / (BFINFDPIC_LZPLT_BLOCK_SIZE - 4) * LZPLT_RESOLVER_EXTRA); + } + + /* Reset it, such that _bfinfdpic_assign_plt_entries() can use it to + actually assign lazy PLT entries addresses. */ + gpinfo.g.lzplt = 0; + + /* Save information that we're going to need to generate GOT and PLT + entries. */ + bfinfdpic_got_initial_offset (info) = -gpinfo.gothilo.min; + + if (get_elf_backend_data (output_bfd)->want_got_sym) + elf_hash_table (info)->hgot->root.u.def.value + += bfinfdpic_got_initial_offset (info); + + if (elf_hash_table (info)->dynamic_sections_created) + bfinfdpic_plt_initial_offset (info) = + bfinfdpic_plt_section (info)->size; + + htab_traverse (bfinfdpic_relocs_info (info), _bfinfdpic_assign_plt_entries, + &gpinfo); + + /* Allocate the PLT section contents only after + _bfinfdpic_assign_plt_entries has a chance to add the size of the + non-lazy PLT entries. */ + if (elf_hash_table (info)->dynamic_sections_created) + { + if (bfinfdpic_plt_section (info)->size == 0) + bfinfdpic_plt_section (info)->flags |= SEC_EXCLUDE; + else + { + bfinfdpic_plt_section (info)->contents = + (bfd_byte *) bfd_zalloc (dynobj, + bfinfdpic_plt_section (info)->size); + if (bfinfdpic_plt_section (info)->contents == NULL) + return FALSE; + } + } + + if (elf_hash_table (info)->dynamic_sections_created) + { + if (bfinfdpic_got_section (info)->size) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0)) + return FALSE; + + if (bfinfdpic_pltrel_section (info)->size) + if (!_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_REL) + || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0)) + return FALSE; + + if (bfinfdpic_gotrel_section (info)->size) + if (!_bfd_elf_add_dynamic_entry (info, DT_REL, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELSZ, 0) + || !_bfd_elf_add_dynamic_entry (info, DT_RELENT, + sizeof (Elf32_External_Rel))) return FALSE; + } + + return TRUE; +} + +static bfd_boolean +elf32_bfinfdpic_always_size_sections (bfd *output_bfd, + struct bfd_link_info *info) +{ + if (!info->relocatable) + { + struct elf_link_hash_entry *h; + asection *sec; + + /* Force a PT_GNU_STACK segment to be created. */ + if (! elf_tdata (output_bfd)->stack_flags) + elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; + + /* Define __stacksize if it's not defined yet. */ + h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize", + FALSE, FALSE, FALSE); + if (! h || h->root.type != bfd_link_hash_defined + || h->type != STT_OBJECT + || !h->def_regular) + { + struct bfd_link_hash_entry *bh = NULL; + + if (!(_bfd_generic_link_add_one_symbol + (info, output_bfd, "__stacksize", + BSF_GLOBAL, bfd_abs_section_ptr, DEFAULT_STACK_SIZE, + (const char *) NULL, FALSE, + get_elf_backend_data (output_bfd)->collect, &bh))) + return FALSE; + + h = (struct elf_link_hash_entry *) bh; + h->def_regular = 1; + h->type = STT_OBJECT; } - if (r != bfd_reloc_ok) + /* Create a stack section, and set its alignment. */ + sec = bfd_make_section (output_bfd, ".stack"); + + if (sec == NULL + || ! bfd_set_section_alignment (output_bfd, sec, 3)) + return FALSE; + } + + return TRUE; +} + +static bfd_boolean +elf32_bfinfdpic_modify_segment_map (bfd *output_bfd, + struct bfd_link_info *info) +{ + struct elf_segment_map *m; + + /* objcopy and strip preserve what's already there using + elf32_bfinfdpic_copy_private_bfd_data (). */ + if (! info) + return TRUE; + + for (m = elf_tdata (output_bfd)->segment_map; m != NULL; m = m->next) + if (m->p_type == PT_GNU_STACK) + break; + + if (m) + { + asection *sec = bfd_get_section_by_name (output_bfd, ".stack"); + struct elf_link_hash_entry *h; + + if (sec) { - const char *name; + /* Obtain the pointer to the __stacksize symbol. */ + h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize", + FALSE, FALSE, FALSE); + 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; + BFD_ASSERT (h->root.type == bfd_link_hash_defined); - if (h != NULL) - name = h->root.root.string; + /* Set the section size from the symbol value. We + intentionally ignore the symbol section. */ + if (h->root.type == bfd_link_hash_defined) + sec->size = h->root.u.def.value; else - { - name = bfd_elf_string_from_elf_section (input_bfd, - symtab_hdr->sh_link, - sym->st_name); - if (name == NULL) - return FALSE; - if (*name == '\0') - name = bfd_section_name (input_bfd, sec); - } + sec->size = DEFAULT_STACK_SIZE; - if (r == bfd_reloc_overflow) - { - if (!(info->callbacks->reloc_overflow - (info, (h ? &h->root : NULL), name, howto->name, - (bfd_vma) 0, input_bfd, input_section, rel->r_offset))) - return FALSE; - } - else + /* Add the stack section to the PT_GNU_STACK segment, + such that its size and alignment requirements make it + to the segment. */ + m->sections[m->count] = sec; + m->count++; + } + } + + return TRUE; +} + +static bfd_boolean +elf32_bfinfdpic_finish_dynamic_sections (bfd *output_bfd, + struct bfd_link_info *info) +{ + bfd *dynobj; + asection *sdyn; + + dynobj = elf_hash_table (info)->dynobj; + + if (bfinfdpic_got_section (info)) + { + BFD_ASSERT (bfinfdpic_gotrel_section (info)->size + == (bfinfdpic_gotrel_section (info)->reloc_count + * sizeof (Elf32_External_Rel))); + + if (bfinfdpic_gotfixup_section (info)) + { + struct elf_link_hash_entry *hgot = elf_hash_table (info)->hgot; + bfd_vma got_value = hgot->root.u.def.value + + hgot->root.u.def.section->output_section->vma + + hgot->root.u.def.section->output_offset; + + _bfinfdpic_add_rofixup (output_bfd, bfinfdpic_gotfixup_section (info), + got_value, 0); + + if (bfinfdpic_gotfixup_section (info)->size + != (bfinfdpic_gotfixup_section (info)->reloc_count * 4)) { (*_bfd_error_handler) - (_("%B(%A+0x%lx): reloc against `%s': error %d"), - input_bfd, input_section, - (long) rel->r_offset, name, (int) r); + ("LINKER BUG: .rofixup section size mismatch"); return FALSE; } } } + if (elf_hash_table (info)->dynamic_sections_created) + { + BFD_ASSERT (bfinfdpic_pltrel_section (info)->size + == (bfinfdpic_pltrel_section (info)->reloc_count + * sizeof (Elf32_External_Rel))); + } + + sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); + + if (elf_hash_table (info)->dynamic_sections_created) + { + Elf32_External_Dyn * dyncon; + Elf32_External_Dyn * dynconend; + + BFD_ASSERT (sdyn != NULL); + + dyncon = (Elf32_External_Dyn *) sdyn->contents; + dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->size); + + for (; dyncon < dynconend; dyncon++) + { + Elf_Internal_Dyn dyn; + + bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); + + switch (dyn.d_tag) + { + default: + break; + + case DT_PLTGOT: + dyn.d_un.d_ptr = bfinfdpic_got_section (info)->output_section->vma + + bfinfdpic_got_section (info)->output_offset + + bfinfdpic_got_initial_offset (info); + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + break; + + case DT_JMPREL: + dyn.d_un.d_ptr = bfinfdpic_pltrel_section (info) + ->output_section->vma + + bfinfdpic_pltrel_section (info)->output_offset; + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + break; + + case DT_PLTRELSZ: + dyn.d_un.d_val = bfinfdpic_pltrel_section (info)->size; + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + break; + } + } + } + + return TRUE; +} + +/* Adjust a symbol defined by a dynamic object and referenced by a + regular object. */ + +static bfd_boolean +elf32_bfinfdpic_adjust_dynamic_symbol +(struct bfd_link_info *info ATTRIBUTE_UNUSED, + struct elf_link_hash_entry *h ATTRIBUTE_UNUSED) +{ + bfd * dynobj; + + dynobj = elf_hash_table (info)->dynobj; + + /* Make sure we know what is going on here. */ + BFD_ASSERT (dynobj != NULL + && (h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); + + /* 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; + } return TRUE; } -static asection * -bfin_gc_mark_hook (asection * sec, - struct bfd_link_info *info ATTRIBUTE_UNUSED, - Elf_Internal_Rela * rel, - struct elf_link_hash_entry *h, - Elf_Internal_Sym * sym) +/* Perform any actions needed for dynamic symbols. */ + +static bfd_boolean +elf32_bfinfdpic_finish_dynamic_symbol +(bfd *output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + struct elf_link_hash_entry *h ATTRIBUTE_UNUSED, + Elf_Internal_Sym *sym ATTRIBUTE_UNUSED) { - if (h != NULL) - { - switch (ELF32_R_TYPE (rel->r_info)) - { + return TRUE; +} - case R_BFIN_GNU_VTINHERIT: - case R_BFIN_GNU_VTENTRY: - break; +/* Decide whether to attempt to turn absptr or lsda encodings in + shared libraries into pcrel within the given input section. */ - default: - switch (h->root.type) - { - default: - break; +static bfd_boolean +bfinfdpic_elf_use_relative_eh_frame +(bfd *input_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + asection *eh_frame_section ATTRIBUTE_UNUSED) +{ + /* We can't use PC-relative encodings in FDPIC binaries, in general. */ + return FALSE; +} - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - return h->root.u.def.section; +/* Adjust the contents of an eh_frame_hdr section before they're output. */ - case bfd_link_hash_common: - return h->root.u.c.p->section; - } - } - } - else - return bfd_section_from_elf_index (sec->owner, sym->st_shndx); +static bfd_byte +bfinfdpic_elf_encode_eh_address (bfd *abfd, + struct bfd_link_info *info, + asection *osec, bfd_vma offset, + asection *loc_sec, bfd_vma loc_offset, + bfd_vma *encoded) +{ + struct elf_link_hash_entry *h; - return NULL; + h = elf_hash_table (info)->hgot; + BFD_ASSERT (h && h->root.type == bfd_link_hash_defined); + + if (! h || (_bfinfdpic_osec_to_segment (abfd, osec) + == _bfinfdpic_osec_to_segment (abfd, loc_sec->output_section))) + return _bfd_elf_encode_eh_address (abfd, info, osec, offset, + loc_sec, loc_offset, encoded); + + BFD_ASSERT (_bfinfdpic_osec_to_segment (abfd, osec) + == (_bfinfdpic_osec_to_segment + (abfd, h->root.u.def.section->output_section))); + + *encoded = osec->vma + offset + - (h->root.u.def.value + + h->root.u.def.section->output_section->vma + + h->root.u.def.section->output_offset); + + return DW_EH_PE_datarel | DW_EH_PE_sdata4; } -/* Update the got entry reference counts for the section being removed. */ + +/* Look through the relocs for a section during the first phase. + + Besides handling virtual table relocs for gc, we have to deal with + all sorts of PIC-related relocations. We describe below the + general plan on how to handle such relocations, even though we only + collect information at this point, storing them in hash tables for + perusal of later passes. + + 32 relocations are propagated to the linker output when creating + position-independent output. LO16 and HI16 relocations are not + supposed to be encountered in this case. + + LABEL16 should always be resolvable by the linker, since it's only + used by branches. + + LABEL24, on the other hand, is used by calls. If it turns out that + the target of a call is a dynamic symbol, a PLT entry must be + created for it, which triggers the creation of a private function + descriptor and, unless lazy binding is disabled, a lazy PLT entry. + + GPREL relocations require the referenced symbol to be in the same + segment as _gp, but this can only be checked later. + + All GOT, GOTOFF and FUNCDESC relocations require a .got section to + exist. LABEL24 might as well, since it may require a PLT entry, + that will require a got. + + Non-FUNCDESC GOT relocations require a GOT entry to be created + regardless of whether the symbol is dynamic. However, since a + global symbol that turns out to not be exported may have the same + address of a non-dynamic symbol, we don't assign GOT entries at + this point, such that we can share them in this case. A relocation + for the GOT entry always has to be created, be it to offset a + private symbol by the section load address, be it to get the symbol + resolved dynamically. + + FUNCDESC GOT relocations require a GOT entry to be created, and + handled as if a FUNCDESC relocation was applied to the GOT entry in + an object file. + + FUNCDESC relocations referencing a symbol that turns out to NOT be + dynamic cause a private function descriptor to be created. The + FUNCDESC relocation then decays to a 32 relocation that points at + the private descriptor. If the symbol is dynamic, the FUNCDESC + relocation is propagated to the linker output, such that the + dynamic linker creates the canonical descriptor, pointing to the + dynamically-resolved definition of the function. + + Non-FUNCDESC GOTOFF relocations must always refer to non-dynamic + symbols that are assigned to the same segment as the GOT, but we + can only check this later, after we know the complete set of + symbols defined and/or exported. + + FUNCDESC GOTOFF relocations require a function descriptor to be + created and, unless lazy binding is disabled or the symbol is not + dynamic, a lazy PLT entry. Since we can't tell at this point + whether a symbol is going to be dynamic, we have to decide later + whether to create a lazy PLT entry or bind the descriptor directly + to the private function. + + FUNCDESC_VALUE relocations are not supposed to be present in object + files, but they may very well be simply propagated to the linker + output, since they have no side effect. + + + A function descriptor always requires a FUNCDESC_VALUE relocation. + Whether it's in .plt.rel or not depends on whether lazy binding is + enabled and on whether the referenced symbol is dynamic. + + The existence of a lazy PLT requires the resolverStub lazy PLT + entry to be present. + + + As for assignment of GOT, PLT and lazy PLT entries, and private + descriptors, we might do them all sequentially, but we can do + better than that. For example, we can place GOT entries and + private function descriptors referenced using 12-bit operands + closer to the PIC register value, such that these relocations don't + overflow. Those that are only referenced with LO16 relocations + could come next, but we may as well place PLT-required function + descriptors in the 12-bit range to make them shorter. Symbols + referenced with LO16/HI16 may come next, but we may place + additional function descriptors in the 16-bit range if we can + reliably tell that we've already placed entries that are ever + referenced with only LO16. PLT entries are therefore generated as + small as possible, while not introducing relocation overflows in + GOT or FUNCDESC_GOTOFF relocations. Lazy PLT entries could be + generated before or after PLT entries, but not intermingled with + them, such that we can have more lazy PLT entries in range for a + branch to the resolverStub. The resolverStub should be emitted at + the most distant location from the first lazy PLT entry such that + it's still in range for a branch, or closer, if there isn't a need + for so many lazy PLT entries. Additional lazy PLT entries may be + emitted after the resolverStub, as long as branches are still in + range. If the branch goes out of range, longer lazy PLT entries + are emitted. + + We could further optimize PLT and lazy PLT entries by giving them + priority in assignment to closer-to-gr17 locations depending on the + number of occurrences of references to them (assuming a function + that's called more often is more important for performance, so its + PLT entry should be faster), or taking hints from the compiler. + Given infinite time and money... :-) */ static bfd_boolean -bfin_gc_sweep_hook (bfd * abfd, - struct bfd_link_info *info, - asection * sec, - const Elf_Internal_Rela * relocs) +bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, + asection *sec, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; - struct elf_link_hash_entry **sym_hashes; - bfd_signed_vma *local_got_refcounts; - const Elf_Internal_Rela *rel, *relend; + struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; + const Elf_Internal_Rela *rel; + const Elf_Internal_Rela *rel_end; bfd *dynobj; - asection *sgot; - asection *srelgot; + struct bfinfdpic_relocs_info *picrel; - dynobj = elf_hash_table (info)->dynobj; - if (dynobj == NULL) + if (info->relocatable) return TRUE; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); - local_got_refcounts = elf_local_got_refcounts (abfd); - - sgot = bfd_get_section_by_name (dynobj, ".got"); - srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); + sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf32_External_Sym); + if (!elf_bad_symtab (abfd)) + sym_hashes_end -= symtab_hdr->sh_info; - relend = relocs + sec->reloc_count; - for (rel = relocs; rel < relend; rel++) + dynobj = elf_hash_table (info)->dynobj; + rel_end = relocs + sec->reloc_count; + for (rel = relocs; rel < rel_end; rel++) { - unsigned long r_symndx; struct elf_link_hash_entry *h; + unsigned long r_symndx; + + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx < symtab_hdr->sh_info) + h = NULL; + else + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; switch (ELF32_R_TYPE (rel->r_info)) { - case R_got: - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) + case R_BFIN_GOT17M4: + case R_BFIN_GOTHI: + case R_BFIN_GOTLO: + case R_BFIN_FUNCDESC_GOT17M4: + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTLO: + case R_BFIN_GOTOFF17M4: + case R_BFIN_GOTOFFHI: + case R_BFIN_GOTOFFLO: + case R_BFIN_FUNCDESC_GOTOFF17M4: + case R_BFIN_FUNCDESC_GOTOFFHI: + case R_BFIN_FUNCDESC_GOTOFFLO: + case R_BFIN_FUNCDESC: + case R_BFIN_FUNCDESC_VALUE: + if (! IS_FDPIC (abfd)) + goto bad_reloc; + /* Fall through. */ + case R_pcrel24: + case R_pcrel24_jump_l: + case R_byte4_data: + if (IS_FDPIC (abfd) && ! dynobj) { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - if (h->got.refcount > 0) - { - --h->got.refcount; - if (h->got.refcount == 0) - { - /* We don't need the .got entry any more. */ - sgot->size -= 4; - srelgot->size -= sizeof (Elf32_External_Rela); - } - } + elf_hash_table (info)->dynobj = dynobj = abfd; + if (! _bfin_create_got_section (abfd, info)) + return FALSE; } - else if (local_got_refcounts != NULL) + if (! IS_FDPIC (abfd)) { - if (local_got_refcounts[r_symndx] > 0) - { - --local_got_refcounts[r_symndx]; - if (local_got_refcounts[r_symndx] == 0) - { - /* We don't need the .got entry any more. */ - sgot->size -= 4; - if (info->shared) - srelgot->size -= sizeof (Elf32_External_Rela); - } - } + picrel = NULL; + break; + } + if (h != NULL) + { + if (h->dynindx == -1) + switch (ELF_ST_VISIBILITY (h->other)) + { + case STV_INTERNAL: + case STV_HIDDEN: + break; + default: + bfd_elf_link_record_dynamic_symbol (info, h); + break; + } + picrel + = bfinfdpic_relocs_info_for_global (bfinfdpic_relocs_info (info), + abfd, h, + rel->r_addend, INSERT); } + else + picrel = bfinfdpic_relocs_info_for_local (bfinfdpic_relocs_info + (info), abfd, r_symndx, + rel->r_addend, INSERT); + if (! picrel) + return FALSE; break; + default: + picrel = NULL; break; } + + switch (ELF32_R_TYPE (rel->r_info)) + { + case R_pcrel24: + case R_pcrel24_jump_l: + if (IS_FDPIC (abfd)) + picrel->call = 1; + break; + + case R_BFIN_FUNCDESC_VALUE: + picrel->relocsfdv++; + if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) + picrel->relocs32--; + /* Fall through. */ + + case R_byte4_data: + if (! IS_FDPIC (abfd)) + break; + + picrel->sym = 1; + if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) + picrel->relocs32++; + break; + + case R_BFIN_GOT17M4: + picrel->got17m4 = 1; + break; + + case R_BFIN_GOTHI: + case R_BFIN_GOTLO: + picrel->gothilo = 1; + break; + + case R_BFIN_FUNCDESC_GOT17M4: + picrel->fdgot17m4 = 1; + break; + + case R_BFIN_FUNCDESC_GOTHI: + case R_BFIN_FUNCDESC_GOTLO: + picrel->fdgothilo = 1; + break; + + case R_BFIN_GOTOFF17M4: + case R_BFIN_GOTOFFHI: + case R_BFIN_GOTOFFLO: + picrel->gotoff = 1; + break; + + case R_BFIN_FUNCDESC_GOTOFF17M4: + picrel->fdgoff17m4 = 1; + break; + + case R_BFIN_FUNCDESC_GOTOFFHI: + case R_BFIN_FUNCDESC_GOTOFFLO: + picrel->fdgoffhilo = 1; + break; + + case R_BFIN_FUNCDESC: + picrel->fd = 1; + picrel->relocsfd++; + break; + + /* This relocation describes the C++ object vtable hierarchy. + Reconstruct it for later use during GC. */ + case R_BFIN_GNU_VTINHERIT: + if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset)) + return FALSE; + break; + + /* This relocation describes which C++ vtable entries are actually + used. Record for later use during GC. */ + case R_BFIN_GNU_VTENTRY: + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + return FALSE; + break; + + case R_huimm16: + case R_luimm16: + case R_pcrel12_jump_s: + case R_pcrel10: + break; + + default: + bad_reloc: + (*_bfd_error_handler) + (_("%B: unsupported relocation type %i"), + abfd, ELF32_R_TYPE (rel->r_info)); + return FALSE; + } } return TRUE; } +/* Set the right machine number for a Blackfin ELF file. */ + +static bfd_boolean +elf32_bfin_object_p (bfd *abfd) +{ + bfd_default_set_arch_mach (abfd, bfd_arch_bfin, 0); + return (((elf_elfheader (abfd)->e_flags & EF_BFIN_FDPIC) != 0) + == (IS_FDPIC (abfd))); +} -/* Merge backend specific data from an object file to the output - object file when linking. */ static bfd_boolean -elf32_bfin_merge_private_bfd_data (bfd * ibfd, bfd * obfd) +elf32_bfin_set_private_flags (bfd * abfd, flagword flags) { - flagword out_flags; - flagword in_flags; + elf_elfheader (abfd)->e_flags = flags; + elf_flags_init (abfd) = TRUE; + return TRUE; +} + +/* Copy backend specific data from one object module to another. */ +static bfd_boolean +bfin_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd) +{ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour || bfd_get_flavour (obfd) != bfd_target_elf_flavour) return TRUE; - in_flags = elf_elfheader (ibfd)->e_flags; - out_flags = elf_elfheader (obfd)->e_flags; - - if (!elf_flags_init (obfd)) - { - elf_flags_init (obfd) = TRUE; - elf_elfheader (obfd)->e_flags = in_flags; - } + BFD_ASSERT (!elf_flags_init (obfd) + || elf_elfheader (obfd)->e_flags == elf_elfheader (ibfd)->e_flags); + elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags; + elf_flags_init (obfd) = TRUE; return TRUE; } - static bfd_boolean -elf32_bfin_set_private_flags (bfd * abfd, flagword flags) +elf32_bfinfdpic_copy_private_bfd_data (bfd *ibfd, bfd *obfd) { - elf_elfheader (abfd)->e_flags = flags; - elf_flags_init (abfd) = TRUE; + unsigned i; + + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) + return TRUE; + + if (! bfin_elf_copy_private_bfd_data (ibfd, obfd)) + return FALSE; + + if (! elf_tdata (ibfd) || ! elf_tdata (ibfd)->phdr + || ! elf_tdata (obfd) || ! elf_tdata (obfd)->phdr) + return TRUE; + + /* Copy the stack size. */ + for (i = 0; i < elf_elfheader (ibfd)->e_phnum; i++) + if (elf_tdata (ibfd)->phdr[i].p_type == PT_GNU_STACK) + { + Elf_Internal_Phdr *iphdr = &elf_tdata (ibfd)->phdr[i]; + + for (i = 0; i < elf_elfheader (obfd)->e_phnum; i++) + if (elf_tdata (obfd)->phdr[i].p_type == PT_GNU_STACK) + { + memcpy (&elf_tdata (obfd)->phdr[i], iphdr, sizeof (*iphdr)); + + /* Rewrite the phdrs, since we're only called after they + were first written. */ + if (bfd_seek (obfd, (bfd_signed_vma) get_elf_backend_data (obfd) + ->s->sizeof_ehdr, SEEK_SET) != 0 + || get_elf_backend_data (obfd)->s + ->write_out_phdrs (obfd, elf_tdata (obfd)->phdr, + elf_elfheader (obfd)->e_phnum) != 0) + return FALSE; + break; + } + + break; + } + return TRUE; } @@ -2151,23 +4795,103 @@ static bfd_boolean elf32_bfin_print_private_bfd_data (bfd * abfd, PTR ptr) { FILE *file = (FILE *) ptr; + flagword flags; BFD_ASSERT (abfd != NULL && ptr != NULL); /* Print normal ELF private data. */ _bfd_elf_print_private_bfd_data (abfd, ptr); - /* Ignore init flag - it may not be set, despite the flags field - containing valid data. */ + flags = elf_elfheader (abfd)->e_flags; /* xgettext:c-format */ fprintf (file, _("private flags = %lx:"), elf_elfheader (abfd)->e_flags); + if (flags & EF_BFIN_PIC) + fprintf (file, " -fpic"); + + if (flags & EF_BFIN_FDPIC) + fprintf (file, " -mfdpic"); + fputc ('\n', file); return TRUE; } +/* Merge backend specific data from an object file to the output + object file when linking. */ + +static bfd_boolean +elf32_bfin_merge_private_bfd_data (bfd *ibfd, bfd *obfd) +{ + flagword old_flags, old_partial; + flagword new_flags, new_partial; + bfd_boolean error = FALSE; + + new_flags = elf_elfheader (ibfd)->e_flags; + old_flags = elf_elfheader (obfd)->e_flags; + + if (new_flags & EF_BFIN_FDPIC) + new_flags &= ~EF_BFIN_PIC; + +#ifdef DEBUG + (*_bfd_error_handler) ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s", + old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no", + bfd_get_filename (ibfd)); +#endif + + if (!elf_flags_init (obfd)) /* First call, no flags set. */ + { + elf_flags_init (obfd) = TRUE; + old_flags = new_flags; + } + + else if (new_flags == old_flags) /* Compatible flags are ok. */ + ; + + else /* Possibly incompatible flags. */ + { + /* We don't have to do anything if the pic flags are the same, or the new + module(s) were compiled with -mlibrary-pic. */ + new_partial = (new_flags & EF_BFIN_PIC_FLAGS); + old_partial = (old_flags & EF_BFIN_PIC_FLAGS); + if (new_partial == old_partial) + ; + + /* If we have mixtures of -fpic and -fPIC, or in both bits. */ + else if (new_partial != 0 && old_partial != 0) + old_flags |= new_partial; + + /* One module was compiled for pic and the other was not, see if we have + had any relocations that are not pic-safe. */ + else + old_flags |= new_partial; + + } + + /* Update the old flags now with changes made above. */ + elf_elfheader (obfd)->e_flags = old_flags; + + if (((new_flags & EF_BFIN_FDPIC) == 0) + != (! IS_FDPIC (ibfd))) + { + error = TRUE; + if (IS_FDPIC (obfd)) + (*_bfd_error_handler) + (_("%s: cannot link non-fdpic object file into fdpic executable"), + bfd_get_filename (ibfd)); + else + (*_bfd_error_handler) + (_("%s: cannot link fdpic object file into non-fdpic executable"), + bfd_get_filename (ibfd)); + } + + if (error) + bfd_set_error (bfd_error_bad_value); + + return !error; +} + /* bfin ELF linker hash entry. */ struct bfin_link_hash_entry @@ -2192,7 +4916,7 @@ struct bfin_link_hash_table static struct bfd_hash_entry * bfin_link_hash_newfunc (struct bfd_hash_entry *entry, - struct bfd_hash_table *table, const char *string) + struct bfd_hash_table *table, const char *string) { struct bfd_hash_entry *ret = entry; @@ -2219,13 +4943,13 @@ bfin_link_hash_table_create (bfd * abfd) struct bfin_link_hash_table *ret; bfd_size_type amt = sizeof (struct bfin_link_hash_table); - ret = (struct bfin_link_hash_table *) bfd_malloc (amt); - if (ret == (struct bfin_link_hash_table *) NULL) + ret = bfd_zalloc (abfd, amt); + if (ret == NULL) return NULL; if (!_bfd_elf_link_hash_table_init (&ret->root, abfd, bfin_link_hash_newfunc, - sizeof (struct bfin_link_hash_entry))) + sizeof (struct elf_link_hash_entry))) { free (ret); return NULL; @@ -2512,9 +5236,6 @@ bfin_discard_copies (struct elf_link_hash_entry *h, PTR inf) return TRUE; } -/* Set the sizes of the dynamic sections. */ -#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1" - static bfd_boolean bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) @@ -2660,7 +5381,7 @@ bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED, return TRUE; } - + /* Given a .data section and a .emreloc in-memory section, store relocation information into the .emreloc section which can be used at runtime to relocate the section. This is called by the @@ -2668,6 +5389,9 @@ bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED, after the add_symbols entry point has been called for all the objects, and before the final_link entry point is called. */ +bfd_boolean bfd_bfin_elf32_create_embedded_relocs + PARAMS ((bfd *, struct bfd_link_info *, asection *, asection *, char **)); + bfd_boolean bfd_bfin_elf32_create_embedded_relocs ( bfd *abfd, @@ -2783,17 +5507,18 @@ error_return: free (internal_relocs); return FALSE; } - + #define TARGET_LITTLE_SYM bfd_elf32_bfin_vec #define TARGET_LITTLE_NAME "elf32-bfin" #define ELF_ARCH bfd_arch_bfin -#define ELF_MACHINE_CODE EM_BLACKFIN +#define ELF_MACHINE_CODE EM_BLACKFIN #define ELF_MAXPAGESIZE 0x1000 #define elf_symbol_leading_char '_' #define bfd_elf32_bfd_reloc_type_lookup bfin_bfd_reloc_type_lookup #define elf_info_to_howto bfin_info_to_howto #define elf_info_to_howto_rel 0 +#define elf_backend_object_p elf32_bfin_object_p #define bfd_elf32_bfd_is_local_label_name \ bfin_is_local_label_name @@ -2808,7 +5533,7 @@ error_return: bfin_link_hash_table_create #define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link -#define elf_backend_check_relocs bfin_check_relocs +#define elf_backend_check_relocs bfin_check_relocs #define elf_backend_adjust_dynamic_symbol \ bfin_adjust_dynamic_symbol #define elf_backend_size_dynamic_sections \ @@ -2835,5 +5560,74 @@ error_return: #define elf_backend_got_header_size 12 #define elf_backend_rela_normal 1 +#include "elf32-target.h" + +#undef TARGET_LITTLE_SYM +#define TARGET_LITTLE_SYM bfd_elf32_bfinfdpic_vec +#undef TARGET_LITTLE_NAME +#define TARGET_LITTLE_NAME "elf32-bfinfdpic" +#undef elf32_bed +#define elf32_bed elf32_bfinfdpic_bed + +#undef elf_backend_gc_sweep_hook +#define elf_backend_gc_sweep_hook bfinfdpic_gc_sweep_hook + +#undef elf_backend_got_header_size +#define elf_backend_got_header_size 0 + +#undef elf_backend_relocate_section +#define elf_backend_relocate_section bfinfdpic_relocate_section +#undef elf_backend_check_relocs +#define elf_backend_check_relocs bfinfdpic_check_relocs + +#undef bfd_elf32_bfd_link_hash_table_create +#define bfd_elf32_bfd_link_hash_table_create \ + bfinfdpic_elf_link_hash_table_create +#undef elf_backend_always_size_sections +#define elf_backend_always_size_sections \ + elf32_bfinfdpic_always_size_sections +#undef elf_backend_modify_segment_map +#define elf_backend_modify_segment_map \ + elf32_bfinfdpic_modify_segment_map +#undef bfd_elf32_bfd_copy_private_bfd_data +#define bfd_elf32_bfd_copy_private_bfd_data \ + elf32_bfinfdpic_copy_private_bfd_data + +#undef elf_backend_create_dynamic_sections +#define elf_backend_create_dynamic_sections \ + elf32_bfinfdpic_create_dynamic_sections +#undef elf_backend_adjust_dynamic_symbol +#define elf_backend_adjust_dynamic_symbol \ + elf32_bfinfdpic_adjust_dynamic_symbol +#undef elf_backend_size_dynamic_sections +#define elf_backend_size_dynamic_sections \ + elf32_bfinfdpic_size_dynamic_sections +#undef elf_backend_finish_dynamic_symbol +#define elf_backend_finish_dynamic_symbol \ + elf32_bfinfdpic_finish_dynamic_symbol +#undef elf_backend_finish_dynamic_sections +#define elf_backend_finish_dynamic_sections \ + elf32_bfinfdpic_finish_dynamic_sections + +#undef elf_backend_can_make_relative_eh_frame +#define elf_backend_can_make_relative_eh_frame \ + bfinfdpic_elf_use_relative_eh_frame +#undef elf_backend_can_make_lsda_relative_eh_frame +#define elf_backend_can_make_lsda_relative_eh_frame \ + bfinfdpic_elf_use_relative_eh_frame +#undef elf_backend_encode_eh_address +#define elf_backend_encode_eh_address \ + bfinfdpic_elf_encode_eh_address + +#undef elf_backend_may_use_rel_p +#define elf_backend_may_use_rel_p 1 +#undef elf_backend_may_use_rela_p +#define elf_backend_may_use_rela_p 1 +/* We use REL for dynamic relocations only. */ +#undef elf_backend_default_use_rela_p +#define elf_backend_default_use_rela_p 1 + +#undef elf_backend_omit_section_dynsym +#define elf_backend_omit_section_dynsym _bfinfdpic_link_omit_section_dynsym #include "elf32-target.h" diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index bc44cba972c..754aa52254d 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -582,6 +582,10 @@ struct elf_i386_link_hash_entry #define GOT_TLS_IE_NEG 6 #define GOT_TLS_IE_BOTH 7 #define GOT_TLS_GDESC 8 +#define GOT_TLS_MASK 0x0f +#define GOT_TLS_IE_IE 0x10 +#define GOT_TLS_IE_GD 0x20 +#define GOT_TLS_IE_MASK 0x30 #define GOT_TLS_GD_BOTH_P(type) \ ((type) == (GOT_TLS_GD | GOT_TLS_GDESC)) #define GOT_TLS_GD_P(type) \ @@ -1007,12 +1011,25 @@ elf_i386_check_relocs (bfd *abfd, case R_386_TLS_IE_32: if (ELF32_R_TYPE (rel->r_info) == r_type) tls_type = GOT_TLS_IE_NEG; + else if (h + && ELF32_R_TYPE (rel->r_info) == R_386_TLS_GD) + /* If this is a GD->IE transition, we may use either + of R_386_TLS_TPOFF and R_386_TLS_TPOFF32. But if + we may have both R_386_TLS_IE and R_386_TLS_GD, + we can't share the same R_386_TLS_TPOFF since + they require different offsets. So we remember + it comes from R_386_TLS_GD. */ + tls_type = GOT_TLS_IE | GOT_TLS_IE_GD; else - /* If this is a GD->IE transition, we may use either of - R_386_TLS_TPOFF and R_386_TLS_TPOFF32. */ tls_type = GOT_TLS_IE; break; case R_386_TLS_IE: + if (h) + { + /* We remember it comes from R_386_TLS_IE. */ + tls_type = GOT_TLS_IE_POS | GOT_TLS_IE_IE; + break; + } case R_386_TLS_GOTIE: tls_type = GOT_TLS_IE_POS; break; } @@ -1052,7 +1069,8 @@ elf_i386_check_relocs (bfd *abfd, tls_type |= old_tls_type; /* If a TLS symbol is accessed using IE at least once, there is no point to use dynamic model for it. */ - else if (old_tls_type != tls_type && old_tls_type != GOT_UNKNOWN + else if (old_tls_type != tls_type + && old_tls_type != GOT_UNKNOWN && (! GOT_TLS_GD_ANY_P (old_tls_type) || (tls_type & GOT_TLS_IE) == 0)) { @@ -1682,6 +1700,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) asection *s; bfd_boolean dyn; int tls_type = elf_i386_hash_entry(h)->tls_type; + + /* If we have both R_386_TLS_IE and R_386_TLS_GD, GOT_TLS_IE_BOTH + should be used. */ + if ((tls_type & GOT_TLS_IE_MASK) + == (GOT_TLS_IE_IE | GOT_TLS_IE_GD)) + tls_type = GOT_TLS_IE_BOTH; + else + tls_type &= GOT_TLS_MASK; /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ @@ -2685,6 +2711,13 @@ elf_i386_relocate_section (bfd *output_bfd, else if (h != NULL) { tls_type = elf_i386_hash_entry(h)->tls_type; + /* If we have both R_386_TLS_IE and R_386_TLS_GD, + GOT_TLS_IE_BOTH should be used. */ + if ((tls_type & GOT_TLS_IE_MASK) + == (GOT_TLS_IE_IE | GOT_TLS_IE_GD)) + tls_type = GOT_TLS_IE_BOTH; + else + tls_type &= GOT_TLS_MASK; if (!info->shared && h->dynindx == -1 && (tls_type & GOT_TLS_IE)) r_type = R_386_TLS_LE_32; } diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index f56efd2e4da..5e9f3ab28a2 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -482,6 +482,22 @@ m32c_elf_relocate_section relocation = (splt->output_section->vma + splt->output_offset + (*plt_offset & -2)); + if (name) + { + char *newname = bfd_malloc (strlen(name)+5); + strcpy (newname, name); + strcat(newname, ".plt"); + _bfd_generic_link_add_one_symbol (info, + input_bfd, + newname, + BSF_FUNCTION | BSF_WEAK, + splt, + (*plt_offset & -2), + 0, + 1, + 0, + 0); + } } } break; diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 3cdaeeec6d6..6ed4ad35f62 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -37,6 +37,7 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. #include "elf-bfd.h" #include "elfxx-mips.h" #include "elf/mips.h" +#include "elf-vxworks.h" /* Get the ECOFF swapping routines. */ #include "coff/sym.h" @@ -1319,10 +1320,12 @@ mips_elf32_rtype_to_howto (unsigned int r_type, static void mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst) { + const struct elf_backend_data *bed; unsigned int r_type; r_type = ELF32_R_TYPE (dst->r_info); - cache_ptr->howto = mips_elf32_rtype_to_howto (r_type, FALSE); + bed = get_elf_backend_data (abfd); + cache_ptr->howto = bed->elf_backend_mips_rtype_to_howto (r_type, FALSE); /* The addend for a GPREL16 or LITERAL relocation comes from the GP value for the object file. We get the addend now, rather than @@ -1619,3 +1622,147 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = { /* Include the target file again for this target. */ #include "elf32-target.h" + + +/* Specific to VxWorks. */ +static reloc_howto_type mips_vxworks_copy_howto_rela = + HOWTO (R_MIPS_COPY, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_MIPS_COPY", /* name */ + FALSE, /* partial_inplace */ + 0x0, /* src_mask */ + 0x0, /* dst_mask */ + FALSE); /* pcrel_offset */ + +/* Specific to VxWorks. */ +static reloc_howto_type mips_vxworks_jump_slot_howto_rela = + HOWTO (R_MIPS_JUMP_SLOT, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_MIPS_JUMP_SLOT", /* name */ + FALSE, /* partial_inplace */ + 0x0, /* src_mask */ + 0x0, /* dst_mask */ + FALSE); /* pcrel_offset */ + +/* Implement elf_backend_bfd_reloc_type_lookup for VxWorks. */ + +static reloc_howto_type * +mips_vxworks_bfd_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code) +{ + switch (code) + { + case BFD_RELOC_MIPS_COPY: + return &mips_vxworks_copy_howto_rela; + case BFD_RELOC_MIPS_JUMP_SLOT: + return &mips_vxworks_jump_slot_howto_rela; + default: + return bfd_elf32_bfd_reloc_type_lookup (abfd, code); + } +} + +/* Implement elf_backend_mips_rtype_to_lookup for VxWorks. */ + +static reloc_howto_type * +mips_vxworks_rtype_to_howto (unsigned int r_type, bfd_boolean rela_p) +{ + switch (r_type) + { + case R_MIPS_COPY: + return &mips_vxworks_copy_howto_rela; + case R_MIPS_JUMP_SLOT: + return &mips_vxworks_jump_slot_howto_rela; + default: + return mips_elf32_rtype_to_howto (r_type, rela_p); + } +} + +/* Implement elf_backend_final_write_processing for VxWorks. */ + +static void +mips_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker) +{ + _bfd_mips_elf_final_write_processing (abfd, linker); + elf_vxworks_final_write_processing (abfd, linker); +} + +#undef TARGET_LITTLE_SYM +#undef TARGET_LITTLE_NAME +#undef TARGET_BIG_SYM +#undef TARGET_BIG_NAME + +#define TARGET_LITTLE_SYM bfd_elf32_littlemips_vxworks_vec +#define TARGET_LITTLE_NAME "elf32-littlemips-vxworks" +#define TARGET_BIG_SYM bfd_elf32_bigmips_vxworks_vec +#define TARGET_BIG_NAME "elf32-bigmips-vxworks" + +#undef elf32_bed +#define elf32_bed elf32_mips_vxworks_bed + +#undef ELF_MAXPAGESIZE +#define ELF_MAXPAGESIZE 0x1000 + +#undef elf_backend_want_got_plt +#define elf_backend_want_got_plt 1 +#undef elf_backend_want_plt_sym +#define elf_backend_want_plt_sym 1 +#undef elf_backend_got_symbol_offset +#define elf_backend_got_symbol_offset 0 +#undef elf_backend_want_dynbss +#define elf_backend_want_dynbss 1 +#undef elf_backend_may_use_rel_p +#define elf_backend_may_use_rel_p 0 +#undef elf_backend_may_use_rela_p +#define elf_backend_may_use_rela_p 1 +#undef elf_backend_default_use_rela_p +#define elf_backend_default_use_rela_p 1 +#undef elf_backend_got_header_size +#define elf_backend_got_header_size (4 * 3) +#undef elf_backend_plt_readonly +#define elf_backend_plt_readonly 1 + +#undef bfd_elf32_bfd_reloc_type_lookup +#define bfd_elf32_bfd_reloc_type_lookup \ + mips_vxworks_bfd_reloc_type_lookup +#undef elf_backend_mips_rtype_to_howto +#define elf_backend_mips_rtype_to_howto \ + mips_vxworks_rtype_to_howto +#undef elf_backend_adjust_dynamic_symbol +#define elf_backend_adjust_dynamic_symbol \ + _bfd_mips_vxworks_adjust_dynamic_symbol +#undef elf_backend_finish_dynamic_symbol +#define elf_backend_finish_dynamic_symbol \ + _bfd_mips_vxworks_finish_dynamic_symbol +#undef bfd_elf32_bfd_link_hash_table_create +#define bfd_elf32_bfd_link_hash_table_create \ + _bfd_mips_vxworks_link_hash_table_create +#undef elf_backend_add_symbol_hook +#define elf_backend_add_symbol_hook \ + elf_vxworks_add_symbol_hook +#undef elf_backend_link_output_symbol_hook +#define elf_backend_link_output_symbol_hook \ + elf_vxworks_link_output_symbol_hook +#undef elf_backend_emit_relocs +#define elf_backend_emit_relocs \ + elf_vxworks_emit_relocs +#undef elf_backend_final_write_processing +#define elf_backend_final_write_processing \ + mips_vxworks_final_write_processing + +#undef elf_backend_additional_program_headers +#undef elf_backend_modify_segment_map +#undef elf_backend_symbol_processing +/* NOTE: elf_backend_rela_normal is not defined for MIPS. */ + +#include "elf32-target.h" diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 6a2d5170d78..53d1046bb8c 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -5181,6 +5181,10 @@ ppc_elf_relax_section (bfd *abfd, else if (r_type != R_PPC_PLTREL24) toff += irel->r_addend; + /* Attempted -shared link of non-pic code loses. */ + if (tsec->output_section == NULL) + continue; + symaddr = tsec->output_section->vma + tsec->output_offset + toff; roff = irel->r_offset; diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index 031b3034a8b..3bfb38a3d44 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -26,6 +26,7 @@ #include "elf/sparc.h" #include "opcode/sparc.h" #include "elfxx-sparc.h" +#include "elf-vxworks.h" /* Support for core dump NOTE sections. */ @@ -215,3 +216,68 @@ elf32_sparc_reloc_type_class (const Elf_Internal_Rela *rela) #define elf_backend_rela_normal 1 #include "elf32-target.h" + +/* A wrapper around _bfd_sparc_elf_link_hash_table_create that identifies + the target system as VxWorks. */ + +static struct bfd_link_hash_table * +elf32_sparc_vxworks_link_hash_table_create (bfd *abfd) +{ + struct bfd_link_hash_table *ret; + + ret = _bfd_sparc_elf_link_hash_table_create (abfd); + if (ret) + { + struct _bfd_sparc_elf_link_hash_table *htab; + + htab = (struct _bfd_sparc_elf_link_hash_table *) ret; + htab->is_vxworks = 1; + } + return ret; +} + +/* A final_write_processing hook that does both the SPARC- and VxWorks- + specific handling. */ + +static void +elf32_sparc_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker) +{ + elf32_sparc_final_write_processing (abfd, linker); + elf_vxworks_final_write_processing (abfd, linker); +} + +#undef TARGET_BIG_SYM +#define TARGET_BIG_SYM bfd_elf32_sparc_vxworks_vec +#undef TARGET_BIG_NAME +#define TARGET_BIG_NAME "elf32-sparc-vxworks" + +#undef ELF_MINPAGESIZE +#define ELF_MINPAGESIZE 0x1000 + +#undef bfd_elf32_bfd_link_hash_table_create +#define bfd_elf32_bfd_link_hash_table_create \ + elf32_sparc_vxworks_link_hash_table_create + +#undef elf_backend_want_got_plt +#define elf_backend_want_got_plt 1 +#undef elf_backend_plt_readonly +#define elf_backend_plt_readonly 1 +#undef elf_backend_got_header_size +#define elf_backend_got_header_size 12 +#undef elf_backend_add_symbol_hook +#define elf_backend_add_symbol_hook \ + elf_vxworks_add_symbol_hook +#undef elf_backend_link_output_symbol_hook +#define elf_backend_link_output_symbol_hook \ + elf_vxworks_link_output_symbol_hook +#undef elf_backend_emit_relocs +#define elf_backend_emit_relocs \ + elf_vxworks_emit_relocs +#undef elf_backend_final_write_processing +#define elf_backend_final_write_processing \ + elf32_sparc_vxworks_final_write_processing + +#undef elf32_bed +#define elf32_bed sparc_elf_vxworks_bed + +#include "elf32-target.h" diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 18610c720f5..7a41d628577 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -640,7 +640,6 @@ xtensa_read_table_entries (bfd *abfd, { bfd_vma sym_off = get_elf_r_symndx_offset (abfd, r_symndx); BFD_ASSERT (sym_off == 0); - BFD_ASSERT (rel->r_addend == 0); blocks[block_count].address = (section_addr + sym_off + rel->r_addend + bfd_get_32 (abfd, table_data + rel->r_offset)); @@ -5767,7 +5766,8 @@ static bfd_boolean compute_text_actions static bfd_boolean compute_ebb_proposed_actions (ebb_constraint *); static bfd_boolean compute_ebb_actions (ebb_constraint *); static bfd_boolean check_section_ebb_pcrels_fit - (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, const ebb_constraint *); + (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, const ebb_constraint *, + const xtensa_opcode *); static bfd_boolean check_section_ebb_reduces (const ebb_constraint *); static void text_action_add_proposed (text_action_list *, const ebb_constraint *, asection *); @@ -6303,6 +6303,24 @@ find_associated_l32r_irel (bfd *abfd, } +static xtensa_opcode * +build_reloc_opcodes (bfd *abfd, + asection *sec, + bfd_byte *contents, + Elf_Internal_Rela *internal_relocs) +{ + unsigned i; + xtensa_opcode *reloc_opcodes = + (xtensa_opcode *) bfd_malloc (sizeof (xtensa_opcode) * sec->reloc_count); + for (i = 0; i < sec->reloc_count; i++) + { + Elf_Internal_Rela *irel = &internal_relocs[i]; + reloc_opcodes[i] = get_relocation_opcode (abfd, sec, contents, irel); + } + return reloc_opcodes; +} + + /* The compute_text_actions function will build a list of potential transformation actions for code in the extended basic block of each longcall that is optimized to a direct call. From this list we @@ -6319,6 +6337,7 @@ compute_text_actions (bfd *abfd, asection *sec, struct bfd_link_info *link_info) { + xtensa_opcode *reloc_opcodes = NULL; xtensa_relax_info *relax_info; bfd_byte *contents; Elf_Internal_Rela *internal_relocs; @@ -6424,11 +6443,17 @@ compute_text_actions (bfd *abfd, ebb->start_reloc_idx = i; ebb->end_reloc_idx = i; + /* Precompute the opcode for each relocation. */ + if (reloc_opcodes == NULL) + reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, + internal_relocs); + if (!extend_ebb_bounds (ebb) || !compute_ebb_proposed_actions (&ebb_table) || !compute_ebb_actions (&ebb_table) || !check_section_ebb_pcrels_fit (abfd, sec, contents, - internal_relocs, &ebb_table) + internal_relocs, &ebb_table, + reloc_opcodes) || !check_section_ebb_reduces (&ebb_table)) { /* If anything goes wrong or we get unlucky and something does @@ -6460,6 +6485,8 @@ error_return: release_internal_relocs (sec, internal_relocs); if (prop_table) free (prop_table); + if (reloc_opcodes) + free (reloc_opcodes); return ok; } @@ -7027,7 +7054,8 @@ check_section_ebb_pcrels_fit (bfd *abfd, asection *sec, bfd_byte *contents, Elf_Internal_Rela *internal_relocs, - const ebb_constraint *constraint) + const ebb_constraint *constraint, + const xtensa_opcode *reloc_opcodes) { unsigned i, j; Elf_Internal_Rela *irel; @@ -7118,7 +7146,10 @@ check_section_ebb_pcrels_fit (bfd *abfd, xtensa_opcode opcode; int opnum; - opcode = get_relocation_opcode (abfd, sec, contents, irel); + if (reloc_opcodes) + opcode = reloc_opcodes[i]; + else + opcode = get_relocation_opcode (abfd, sec, contents, irel); if (opcode == XTENSA_UNDEFINED) { ok = FALSE; @@ -7815,7 +7846,7 @@ move_shared_literal (asection *sec, relocs_fit = check_section_ebb_pcrels_fit (target_sec->owner, target_sec, target_sec_cache->contents, target_sec_cache->relocs, - &ebb_table); + &ebb_table, NULL); if (!relocs_fit) return FALSE; diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 4e0b83c96be..58798ae3794 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -2542,6 +2542,68 @@ elf64_hppa_finish_dynamic_sections (output_bfd, info) return TRUE; } +/* Support for core dump NOTE sections. */ + +static bfd_boolean +elf64_hppa_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) +{ + int offset; + size_t size; + + switch (note->descsz) + { + default: + return FALSE; + + case 760: /* Linux/hppa */ + /* pr_cursig */ + elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + + /* pr_pid */ + elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 32); + + /* pr_reg */ + offset = 112; + size = 640; + + break; + } + + /* Make a ".reg/999" section. */ + return _bfd_elfcore_make_pseudosection (abfd, ".reg", + size, note->descpos + offset); +} + +static bfd_boolean +elf64_hppa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) +{ + char * command; + int n; + + switch (note->descsz) + { + default: + return FALSE; + + case 136: /* Linux/hppa elf_prpsinfo. */ + elf_tdata (abfd)->core_program + = _bfd_elfcore_strndup (abfd, note->descdata + 40, 16); + elf_tdata (abfd)->core_command + = _bfd_elfcore_strndup (abfd, note->descdata + 56, 80); + } + + /* Note that for some reason, a spurious space is tacked + onto the end of the args in some (at least one anyway) + implementations, so strip it off if it exists. */ + command = elf_tdata (abfd)->core_command; + n = strlen (command); + + if (0 < n && command[n - 1] == ' ') + command[n - 1] = '\0'; + + return TRUE; +} + /* Return the number of additional phdrs we will need. The generic ELF code only creates PT_PHDRs for executables. The HP @@ -2775,7 +2837,9 @@ const struct elf_size_info hppa64_elf_size_info = elf64_hppa_finish_dynamic_symbol #define elf_backend_finish_dynamic_sections \ elf64_hppa_finish_dynamic_sections - +#define elf_backend_grok_prstatus elf64_hppa_grok_prstatus +#define elf_backend_grok_psinfo elf64_hppa_grok_psinfo + /* Stuff for the BFD linker: */ #define bfd_elf64_bfd_link_hash_table_create \ elf64_hppa_hash_table_create diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index fc8c182e83d..33327f44cba 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -2623,6 +2623,32 @@ compare_symbols (const void *ap, const void *bp) if (a->value + a->section->vma > b->value + b->section->vma) return 1; + /* For syms with the same value, prefer strong dynamic global function + syms over other syms. */ + if ((a->flags & BSF_GLOBAL) != 0 && (b->flags & BSF_GLOBAL) == 0) + return -1; + + if ((a->flags & BSF_GLOBAL) == 0 && (b->flags & BSF_GLOBAL) != 0) + return 1; + + if ((a->flags & BSF_FUNCTION) != 0 && (b->flags & BSF_FUNCTION) == 0) + return -1; + + if ((a->flags & BSF_FUNCTION) == 0 && (b->flags & BSF_FUNCTION) != 0) + return 1; + + if ((a->flags & BSF_WEAK) == 0 && (b->flags & BSF_WEAK) != 0) + return -1; + + if ((a->flags & BSF_WEAK) != 0 && (b->flags & BSF_WEAK) == 0) + return 1; + + if ((a->flags & BSF_DYNAMIC) != 0 && (b->flags & BSF_DYNAMIC) == 0) + return -1; + + if ((a->flags & BSF_DYNAMIC) == 0 && (b->flags & BSF_DYNAMIC) != 0) + return 1; + return 0; } @@ -6696,12 +6722,22 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next) { Elf_Internal_Sym *locsyms = NULL; + asection *toc = bfd_get_section_by_name (ibfd, ".toc"); + unsigned char *toc_ref = NULL; - for (sec = ibfd->sections; sec != NULL; sec = sec->next) + /* Look at all the sections for this file, with TOC last. */ + for (sec = (ibfd->sections == toc && toc && toc->next ? toc->next + : ibfd->sections); + sec != NULL; + sec = (sec == toc ? NULL + : sec->next == NULL ? toc + : sec->next == toc && toc->next ? toc->next + : sec->next)) if (sec->has_tls_reloc && !bfd_is_abs_section (sec->output_section)) { Elf_Internal_Rela *relstart, *rel, *relend; int expecting_tls_get_addr; + long toc_ref_index = 0; /* Read the relocations. */ relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL, @@ -6730,6 +6766,8 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) err_free_rel: if (elf_section_data (sec)->relocs != relstart) free (relstart); + if (toc_ref != NULL) + free (toc_ref); if (locsyms != NULL && (elf_tdata (ibfd)->symtab_hdr.contents != (unsigned char *) locsyms)) @@ -6837,8 +6875,12 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) rel - 1, ibfd); if (retval == 0) goto err_free_rel; - if (toc_tls != NULL) - expecting_tls_get_addr = retval > 1; + if (retval > 1 && toc_tls != NULL) + { + expecting_tls_get_addr = 1; + if (toc_ref != NULL) + toc_ref[toc_ref_index] = 1; + } } if (expecting_tls_get_addr) @@ -6856,8 +6898,40 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) expecting_tls_get_addr = 0; continue; + case R_PPC64_TOC16: + case R_PPC64_TOC16_LO: + case R_PPC64_TLS: + expecting_tls_get_addr = 0; + if (sym_sec == toc && toc != NULL) + { + /* Mark this toc entry as referenced by a TLS + code sequence. We can do that now in the + case of R_PPC64_TLS, and after checking for + tls_get_addr for the TOC16 relocs. */ + if (toc_ref == NULL) + { + toc_ref = bfd_zmalloc (toc->size / 8); + if (toc_ref == NULL) + goto err_free_rel; + } + if (h != NULL) + value = h->root.u.def.value; + else + value = sym->st_value; + value += rel->r_addend; + BFD_ASSERT (value < toc->size && value % 8 == 0); + toc_ref_index = value / 8; + if (r_type == R_PPC64_TLS) + toc_ref[toc_ref_index] = 1; + } + continue; + case R_PPC64_TPREL64: expecting_tls_get_addr = 0; + if (sec != toc + || toc_ref == NULL + || !toc_ref[rel->r_offset / 8]) + continue; if (ok_tprel) { /* IE -> LE */ @@ -6870,6 +6944,10 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) case R_PPC64_DTPMOD64: expecting_tls_get_addr = 0; + if (sec != toc + || toc_ref == NULL + || !toc_ref[rel->r_offset / 8]) + continue; if (rel + 1 < relend && (rel[1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_DTPREL64)) @@ -6948,6 +7026,9 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) free (relstart); } + if (toc_ref != NULL) + free (toc_ref); + if (locsyms != NULL && (elf_tdata (ibfd)->symtab_hdr.contents != (unsigned char *) locsyms)) @@ -7143,13 +7224,14 @@ ppc64_elf_edit_toc (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) return FALSE; } - /* Now check all kept sections that might reference the toc. */ - for (sec = ibfd->sections; + /* Now check all kept sections that might reference the toc. + Check the toc itself last. */ + for (sec = (ibfd->sections == toc && toc->next ? toc->next + : ibfd->sections); sec != NULL; - /* Check the toc itself last. */ sec = (sec == toc ? NULL - : sec->next == toc && sec->next->next ? sec->next->next : sec->next == NULL ? toc + : sec->next == toc && toc->next ? toc->next : sec->next)) { int repeat; diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 504a19b7b98..9befd69c5df 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -31,8 +31,8 @@ #define MINUS_ONE (~ (bfd_vma) 0) /* The relocation "howto" table. Order of fields: - type, size, bitsize, pc_relative, complain_on_overflow, - special_function, name, partial_inplace, src_mask, dst_pack, pcrel_offset. */ + type, rightshift, size, bitsize, pc_relative, bitpos, complain_on_overflow, + special_function, name, partial_inplace, src_mask, dst_mask, pcrel_offset. */ static reloc_howto_type x86_64_elf_howto_table[] = { HOWTO(R_X86_64_NONE, 0, 0, 0, FALSE, 0, complain_overflow_dont, @@ -112,11 +112,21 @@ static reloc_howto_type x86_64_elf_howto_table[] = HOWTO(R_X86_64_GOTPC32, 0, 2, 32, TRUE, 0, complain_overflow_signed, bfd_elf_generic_reloc, "R_X86_64_GOTPC32", FALSE, 0xffffffff, 0xffffffff, TRUE), - EMPTY_HOWTO (27), - EMPTY_HOWTO (28), - EMPTY_HOWTO (29), - EMPTY_HOWTO (30), - EMPTY_HOWTO (31), + HOWTO(R_X86_64_GOT64, 0, 4, 64, FALSE, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_GOT64", FALSE, MINUS_ONE, MINUS_ONE, + FALSE), + HOWTO(R_X86_64_GOTPCREL64, 0, 4, 64, TRUE, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_GOTPCREL64", FALSE, MINUS_ONE, + MINUS_ONE, TRUE), + HOWTO(R_X86_64_GOTPC64, 0, 4, 64, TRUE, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_GOTPC64", + FALSE, MINUS_ONE, MINUS_ONE, TRUE), + HOWTO(R_X86_64_GOTPLT64, 0, 4, 64, FALSE, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_GOTPLT64", FALSE, MINUS_ONE, + MINUS_ONE, FALSE), + HOWTO(R_X86_64_PLTOFF64, 0, 4, 64, FALSE, 0, complain_overflow_signed, + bfd_elf_generic_reloc, "R_X86_64_PLTOFF64", FALSE, MINUS_ONE, + MINUS_ONE, FALSE), EMPTY_HOWTO (32), EMPTY_HOWTO (33), HOWTO(R_X86_64_GOTPC32_TLSDESC, 0, 2, 32, TRUE, 0, @@ -185,6 +195,11 @@ static const struct elf_reloc_map x86_64_reloc_map[] = { BFD_RELOC_64_PCREL, R_X86_64_PC64, }, { BFD_RELOC_X86_64_GOTOFF64, R_X86_64_GOTOFF64, }, { BFD_RELOC_X86_64_GOTPC32, R_X86_64_GOTPC32, }, + { BFD_RELOC_X86_64_GOT64, R_X86_64_GOT64, }, + { BFD_RELOC_X86_64_GOTPCREL64,R_X86_64_GOTPCREL64, }, + { BFD_RELOC_X86_64_GOTPC64, R_X86_64_GOTPC64, }, + { BFD_RELOC_X86_64_GOTPLT64, R_X86_64_GOTPLT64, }, + { BFD_RELOC_X86_64_PLTOFF64, R_X86_64_PLTOFF64, }, { BFD_RELOC_X86_64_GOTPC32_TLSDESC, R_X86_64_GOTPC32_TLSDESC, }, { BFD_RELOC_X86_64_TLSDESC_CALL, R_X86_64_TLSDESC_CALL, }, { BFD_RELOC_X86_64_TLSDESC, R_X86_64_TLSDESC, }, @@ -777,6 +792,9 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, case R_X86_64_GOT32: case R_X86_64_GOTPCREL: case R_X86_64_TLSGD: + case R_X86_64_GOT64: + case R_X86_64_GOTPCREL64: + case R_X86_64_GOTPLT64: case R_X86_64_GOTPC32_TLSDESC: case R_X86_64_TLSDESC_CALL: /* This symbol requires a global offset table entry. */ @@ -795,6 +813,14 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, if (h != NULL) { + if (r_type == R_X86_64_GOTPLT64) + { + /* This relocation indicates that we also need + a PLT entry, as this is a function. We don't need + a PLT entry for local symbols. */ + h->needs_plt = 1; + h->plt.refcount += 1; + } h->got.refcount += 1; old_tls_type = elf64_x86_64_hash_entry (h)->tls_type; } @@ -858,6 +884,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, case R_X86_64_GOTOFF64: case R_X86_64_GOTPC32: + case R_X86_64_GOTPC64: create_got: if (htab->sgot == NULL) { @@ -885,6 +912,16 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, h->plt.refcount += 1; break; + case R_X86_64_PLTOFF64: + /* This tries to form the 'address' of a function relative + to GOT. For global symbols we need a PLT entry. */ + if (h != NULL) + { + h->needs_plt = 1; + h->plt.refcount += 1; + } + goto create_got; + case R_X86_64_8: case R_X86_64_16: case R_X86_64_32: @@ -1189,8 +1226,13 @@ elf64_x86_64_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, case R_X86_64_GOTTPOFF: case R_X86_64_GOT32: case R_X86_64_GOTPCREL: + case R_X86_64_GOT64: + case R_X86_64_GOTPCREL64: + case R_X86_64_GOTPLT64: if (h != NULL) { + if (r_type == R_X86_64_GOTPLT64 && h->plt.refcount > 0) + h->plt.refcount -= 1; if (h->got.refcount > 0) h->got.refcount -= 1; } @@ -1215,6 +1257,7 @@ elf64_x86_64_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, /* Fall thru */ case R_X86_64_PLT32: + case R_X86_64_PLTOFF64: if (h != NULL) { if (h->plt.refcount > 0) @@ -2096,11 +2139,23 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, copied into the output file to be resolved at run time. */ switch (r_type) { + asection *base_got; case R_X86_64_GOT32: + case R_X86_64_GOT64: /* Relocation is to the entry for this symbol in the global offset table. */ case R_X86_64_GOTPCREL: - /* Use global offset table as symbol value. */ + case R_X86_64_GOTPCREL64: + /* Use global offset table entry as symbol value. */ + case R_X86_64_GOTPLT64: + /* This is the same as GOT64 for relocation purposes, but + indicates the existence of a PLT entry. The difficulty is, + that we must calculate the GOT slot offset from the PLT + offset, if this symbol got a PLT entry (it was global). + Additionally if it's computed from the PLT entry, then that + GOT offset is relative to .got.plt, not to .got. */ + base_got = htab->sgot; + if (htab->sgot == NULL) abort (); @@ -2109,6 +2164,19 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, bfd_boolean dyn; off = h->got.offset; + if (h->needs_plt + && h->plt.offset != (bfd_vma)-1 + && off == (bfd_vma)-1) + { + /* We can't use h->got.offset here to save + state, or even just remember the offset, as + finish_dynamic_symbol would use that as offset into + .got. */ + bfd_vma plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; + off = (plt_index + 3) * GOT_ENTRY_SIZE; + base_got = htab->sgotplt; + } + dyn = htab->elf.dynamic_sections_created; if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) @@ -2133,7 +2201,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, else { bfd_put_64 (output_bfd, relocation, - htab->sgot->contents + off); + base_got->contents + off); + /* Note that this is harmless for the GOTPLT64 case, + as -1 | 1 still is -1. */ h->got.offset |= 1; } } @@ -2155,7 +2225,7 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, else { bfd_put_64 (output_bfd, relocation, - htab->sgot->contents + off); + base_got->contents + off); if (info->shared) { @@ -2169,8 +2239,8 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (s == NULL) abort (); - outrel.r_offset = (htab->sgot->output_section->vma - + htab->sgot->output_offset + outrel.r_offset = (base_got->output_section->vma + + base_got->output_offset + off); outrel.r_info = ELF64_R_INFO (0, R_X86_64_RELATIVE); outrel.r_addend = relocation; @@ -2186,9 +2256,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (off >= (bfd_vma) -2) abort (); - relocation = htab->sgot->output_section->vma - + htab->sgot->output_offset + off; - if (r_type != R_X86_64_GOTPCREL) + relocation = base_got->output_section->vma + + base_got->output_offset + off; + if (r_type != R_X86_64_GOTPCREL && r_type != R_X86_64_GOTPCREL64) relocation -= htab->sgotplt->output_section->vma - htab->sgotplt->output_offset; @@ -2224,12 +2294,31 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, break; case R_X86_64_GOTPC32: + case R_X86_64_GOTPC64: /* Use global offset table as symbol value. */ relocation = htab->sgotplt->output_section->vma + htab->sgotplt->output_offset; unresolved_reloc = FALSE; break; + case R_X86_64_PLTOFF64: + /* Relocation is PLT entry relative to GOT. For local + symbols it's the symbol itself relative to GOT. */ + if (h != NULL + /* See PLT32 handling. */ + && h->plt.offset != (bfd_vma) -1 + && htab->splt != NULL) + { + relocation = (htab->splt->output_section->vma + + htab->splt->output_offset + + h->plt.offset); + unresolved_reloc = FALSE; + } + + relocation -= htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset; + break; + case R_X86_64_PLT32: /* Relocation is to the entry for this symbol in the procedure linkage table. */ diff --git a/bfd/elfcode.h b/bfd/elfcode.h index f7f85ba2056..1f8ec2b2b2c 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -458,6 +458,25 @@ elf_file_p (Elf_External_Ehdr *x_ehdrp) && (x_ehdrp->e_ident[EI_MAG3] == ELFMAG3)); } +/* Determines if a given section index is valid. */ + +static inline bfd_boolean +valid_section_index_p (unsigned index, unsigned num_sections) +{ + /* Note: We allow SHN_UNDEF as a valid section index. */ + if (index < SHN_LORESERVE || index > SHN_HIRESERVE) + return index < num_sections; + + /* We disallow the use of reserved indcies, except for those + with OS or Application specific meaning. The test make use + of the knowledge that: + SHN_LORESERVE == SHN_LOPROC + and + SHN_HIPROC == SHN_LOOS - 1 */ + /* XXX - Should we allow SHN_XINDEX as a valid index here ? */ + return (index >= SHN_LOPROC && index <= SHN_HIOS); +} + /* Check to see if the file associated with ABFD matches the target vector that ABFD points to. @@ -545,7 +564,7 @@ elf_object_p (bfd *abfd) if (i_ehdrp->e_shoff == 0 && i_ehdrp->e_type == ET_REL) goto got_wrong_format_error; - /* As a simple sanity check, verify that the what BFD thinks is the + /* As a simple sanity check, verify that what BFD thinks is the size of each section header table entry actually matches the size recorded in the file, but only if there are any sections. */ if (i_ehdrp->e_shentsize != sizeof (x_shdr) && i_ehdrp->e_shnum != 0) @@ -711,17 +730,13 @@ elf_object_p (bfd *abfd) elf_swap_shdr_in (abfd, &x_shdr, i_shdrp + shindex); /* Sanity check sh_link and sh_info. */ - if (i_shdrp[shindex].sh_link >= num_sec - || (i_shdrp[shindex].sh_link >= SHN_LORESERVE - && i_shdrp[shindex].sh_link <= SHN_HIRESERVE)) + if (! valid_section_index_p (i_shdrp[shindex].sh_link, num_sec)) goto got_wrong_format_error; if (((i_shdrp[shindex].sh_flags & SHF_INFO_LINK) || i_shdrp[shindex].sh_type == SHT_RELA || i_shdrp[shindex].sh_type == SHT_REL) - && (i_shdrp[shindex].sh_info >= num_sec - || (i_shdrp[shindex].sh_info >= SHN_LORESERVE - && i_shdrp[shindex].sh_info <= SHN_HIRESERVE))) + && ! valid_section_index_p (i_shdrp[shindex].sh_info, num_sec)) goto got_wrong_format_error; /* If the section is loaded, but not page aligned, clear @@ -739,12 +754,19 @@ elf_object_p (bfd *abfd) /* A further sanity check. */ if (i_ehdrp->e_shnum != 0) { - if (i_ehdrp->e_shstrndx >= elf_numsections (abfd) - || (i_ehdrp->e_shstrndx >= SHN_LORESERVE - && i_ehdrp->e_shstrndx <= SHN_HIRESERVE)) - goto got_wrong_format_error; + if (! valid_section_index_p (i_ehdrp->e_shstrndx, elf_numsections (abfd))) + { + /* PR 2257: + We used to just goto got_wrong_format_error here + but there are binaries in existance for which this test + will prevent the binutils from working with them at all. + So we are kind, and reset the string index value to 0 + so that at least some processing can be done. */ + i_ehdrp->e_shstrndx = SHN_UNDEF; + _bfd_error_handler (_("warning: %s has a corrupt string table index - ignoring"), abfd->filename); + } } - else if (i_ehdrp->e_shstrndx != 0) + else if (i_ehdrp->e_shstrndx != SHN_UNDEF) goto got_wrong_format_error; /* Read in the program headers. */ @@ -1340,10 +1362,9 @@ elf_slurp_reloc_table_from_section (bfd *abfd, } else { - asymbol **ps, *s; + asymbol **ps; ps = symbols + ELF_R_SYM (rela.r_info) - 1; - s = *ps; relent->sym_ptr_ptr = ps; } diff --git a/bfd/elflink.c b/bfd/elflink.c index 8c1c3c14328..8600d465d18 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -889,6 +889,26 @@ _bfd_elf_merge_symbol (bfd *abfd, && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_common); + /* When we try to create a default indirect symbol from the dynamic + definition with the default version, we skip it if its type and + the type of existing regular definition mismatch. We only do it + if the existing regular definition won't be dynamic. */ + if (pold_alignment == NULL + && !info->shared + && !info->export_dynamic + && !h->ref_dynamic + && newdyn + && newdef + && !olddyn + && (olddef || h->root.type == bfd_link_hash_common) + && ELF_ST_TYPE (sym->st_info) != h->type + && ELF_ST_TYPE (sym->st_info) != STT_NOTYPE + && h->type != STT_NOTYPE) + { + *skip = TRUE; + return TRUE; + } + /* Check TLS symbol. We don't check undefined symbol introduced by "ld -u". */ if ((ELF_ST_TYPE (sym->st_info) == STT_TLS || h->type == STT_TLS) @@ -2790,10 +2810,6 @@ _bfd_elf_add_dynamic_entry (struct bfd_link_info *info, if (! is_elf_hash_table (hash_table)) return FALSE; - if (info->warn_shared_textrel && info->shared && tag == DT_TEXTREL) - _bfd_error_handler - (_("warning: creating a DT_TEXTREL in a shared object.")); - bed = get_elf_backend_data (hash_table->dynobj); s = bfd_get_section_by_name (hash_table->dynobj, ".dynamic"); BFD_ASSERT (s != NULL); @@ -6184,6 +6200,24 @@ elf_link_output_sym (struct elf_final_link_info *finfo, return TRUE; } +/* Return TRUE if the dynamic symbol SYM in ABFD is supported. */ + +static bfd_boolean +check_dynsym (bfd *abfd, Elf_Internal_Sym *sym) +{ + if (sym->st_shndx > SHN_HIRESERVE) + { + /* The gABI doesn't support dynamic symbols in output sections + beyond 64k. */ + (*_bfd_error_handler) + (_("%B: Too many sections: %d (>= %d)"), + abfd, bfd_count_sections (abfd), SHN_LORESERVE); + bfd_set_error (bfd_error_nonrepresentable_section); + return FALSE; + } + return TRUE; +} + /* For DSOs loaded in via a DT_NEEDED entry, emulate ld.so in allowing an unsatisfied unversioned symbol in the DSO to match a versioned symbol that would normally require an explicit version. @@ -6616,6 +6650,11 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) sym.st_name = h->dynstr_index; esym = finfo->dynsym_sec->contents + h->dynindx * bed->s->sizeof_sym; + if (! check_dynsym (finfo->output_bfd, &sym)) + { + eoinfo->failed = TRUE; + return FALSE; + } bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0); bucketcount = elf_hash_table (finfo->info)->bucketcount; @@ -6715,7 +6754,7 @@ unsigned int _bfd_elf_default_action_discarded (asection *sec) { if (sec->flags & SEC_DEBUGGING) - return 0; + return PRETEND; if (strcmp (".eh_frame", sec->name) == 0) return 0; @@ -6739,6 +6778,7 @@ match_group_member (asection *sec, asection *group) if (bfd_elf_match_symbols_in_sections (s, sec)) return s; + s = elf_next_in_group (s); if (s == first) break; } @@ -7665,7 +7705,7 @@ elf_fixup_link_order (bfd *abfd, asection *o) struct bfd_link_order *p; bfd *sub; const struct elf_backend_data *bed = get_elf_backend_data (abfd); - int elfsec; + unsigned elfsec; struct bfd_link_order **sections; asection *s, *other_sec, *linkorder_sec; bfd_vma offset; @@ -7682,7 +7722,8 @@ elf_fixup_link_order (bfd *abfd, asection *o) sub = s->owner; if (bfd_get_flavour (sub) == bfd_target_elf_flavour && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass - && (elfsec = _bfd_elf_section_from_bfd_section (sub, s)) != -1 + && (elfsec = _bfd_elf_section_from_bfd_section (sub, s)) + && elfsec < elf_numsections (sub) && elf_elfsections (sub)[elfsec]->sh_flags & SHF_LINK_ORDER) { seen_linkorder++; @@ -8305,6 +8346,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) indx = elf_section_data (s)->this_idx; BFD_ASSERT (indx > 0); sym.st_shndx = indx; + if (! check_dynsym (abfd, &sym)) + return FALSE; sym.st_value = s->vma; dest = dynsym + dynindx * bed->s->sizeof_sym; if (last_local < dynindx) @@ -8339,6 +8382,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) sym.st_shndx = elf_section_data (s->output_section)->this_idx; + if (! check_dynsym (abfd, &sym)) + return FALSE; sym.st_value = (s->output_section->vma + s->output_offset + e->isym.st_value); @@ -8619,6 +8664,32 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info)) goto error_return; + /* Check for DT_TEXTREL (late, in case the backend removes it). */ + if (info->warn_shared_textrel && info->shared) + { + bfd_byte *dyncon, *dynconend; + + /* Fix up .dynamic entries. */ + o = bfd_get_section_by_name (dynobj, ".dynamic"); + BFD_ASSERT (o != NULL); + + dyncon = o->contents; + dynconend = o->contents + o->size; + for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn) + { + Elf_Internal_Dyn dyn; + + bed->s->swap_dyn_in (dynobj, dyncon, &dyn); + + if (dyn.d_tag == DT_TEXTREL) + { + _bfd_error_handler + (_("warning: creating a DT_TEXTREL in a shared object.")); + break; + } + } + } + for (o = dynobj->sections; o != NULL; o = o->next) { if ((o->flags & SEC_HAS_CONTENTS) == 0 @@ -8929,7 +9000,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info) { /* Keep debug and special sections. */ if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0 - || (o->flags & (SEC_ALLOC | SEC_LOAD)) == 0) + || (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0) o->gc_mark = 1; if (o->gc_mark) diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index f0bb0fa60ad..6b3257afdf1 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -80,9 +80,6 @@ struct elfNN_ia64_dyn_sym_info /* The addend for which this entry is relevant. */ bfd_vma addend; - /* Next addend in the list. */ - struct elfNN_ia64_dyn_sym_info *next; - bfd_vma got_offset; bfd_vma fptr_offset; bfd_vma pltoff_offset; @@ -133,6 +130,13 @@ struct elfNN_ia64_local_hash_entry { int id; unsigned int r_sym; + /* The number of elements in elfNN_ia64_dyn_sym_info array. */ + unsigned int count; + /* The number of sorted elements in elfNN_ia64_dyn_sym_info array. */ + unsigned int sorted_count; + /* The size of elfNN_ia64_dyn_sym_info array. */ + unsigned int size; + /* The array of elfNN_ia64_dyn_sym_info. */ struct elfNN_ia64_dyn_sym_info *info; /* TRUE if this hash entry's addends was translated for @@ -143,6 +147,13 @@ struct elfNN_ia64_local_hash_entry struct elfNN_ia64_link_hash_entry { struct elf_link_hash_entry root; + /* The number of elements in elfNN_ia64_dyn_sym_info array. */ + unsigned int count; + /* The number of sorted elements in elfNN_ia64_dyn_sym_info array. */ + unsigned int sorted_count; + /* The size of elfNN_ia64_dyn_sym_info array. */ + unsigned int size; + /* The array of elfNN_ia64_dyn_sym_info. */ struct elfNN_ia64_dyn_sym_info *info; }; @@ -852,6 +863,12 @@ elfNN_ia64_relax_brl (bfd_byte *contents, bfd_vma off) bfd_putl64 (t0, hit_addr); bfd_putl64 (t1, hit_addr + 8); } + +/* Rename some of the generic section flags to better document how they + are used here. */ +#define skip_relax_pass_0 need_finalize_relax +#define skip_relax_pass_1 has_gp_reloc + /* These functions do relaxation for IA-64 ELF. */ @@ -880,6 +897,8 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) bfd_boolean changed_contents = FALSE; bfd_boolean changed_relocs = FALSE; bfd_boolean changed_got = FALSE; + bfd_boolean skip_relax_pass_0 = TRUE; + bfd_boolean skip_relax_pass_1 = TRUE; bfd_vma gp = 0; /* Assume we're not going to change any sizes, and we'll only need @@ -891,11 +910,11 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) return FALSE; /* Nothing to do if there are no relocations or there is no need for - the relax finalize pass. */ + the current pass. */ if ((sec->flags & SEC_RELOC) == 0 || sec->reloc_count == 0 - || (!link_info->need_relax_finalize - && sec->need_finalize_relax == 0)) + || (link_info->relax_pass == 0 && sec->skip_relax_pass_0) + || (link_info->relax_pass == 1 && sec->skip_relax_pass_1)) return TRUE; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; @@ -936,20 +955,19 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) case R_IA64_PCREL21BI: case R_IA64_PCREL21M: case R_IA64_PCREL21F: - /* In the finalize pass, all br relaxations are done. We can - skip it. */ - if (!link_info->need_relax_finalize) + /* In pass 1, all br relaxations are done. We can skip it. */ + if (link_info->relax_pass == 1) continue; + skip_relax_pass_0 = FALSE; is_branch = TRUE; break; case R_IA64_PCREL60B: - /* We can't optimize brl to br before the finalize pass since - br relaxations will increase the code size. Defer it to - the finalize pass. */ - if (link_info->need_relax_finalize) + /* We can't optimize brl to br in pass 0 since br relaxations + will increase the code size. Defer it to pass 1. */ + if (link_info->relax_pass == 0) { - sec->need_finalize_relax = 1; + skip_relax_pass_1 = FALSE; continue; } is_branch = TRUE; @@ -957,12 +975,11 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) case R_IA64_LTOFF22X: case R_IA64_LDXMOV: - /* We can't relax ldx/mov before the finalize pass since - br relaxations will increase the code size. Defer it to - the finalize pass. */ - if (link_info->need_relax_finalize) + /* We can't relax ldx/mov in pass 0 since br relaxations will + increase the code size. Defer it to pass 1. */ + if (link_info->relax_pass == 0) { - sec->need_finalize_relax = 1; + skip_relax_pass_1 = FALSE; continue; } is_branch = FALSE; @@ -1352,8 +1369,12 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) } } - if (!link_info->need_relax_finalize) - sec->need_finalize_relax = 0; + if (link_info->relax_pass == 0) + { + /* Pass 0 is only needed to relax br. */ + sec->skip_relax_pass_0 = skip_relax_pass_0; + sec->skip_relax_pass_1 = skip_relax_pass_1; + } *again = changed_contents || changed_relocs; return TRUE; @@ -1369,6 +1390,8 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) free (internal_relocs); return FALSE; } +#undef skip_relax_pass_0 +#undef skip_relax_pass_1 static void elfNN_ia64_relax_ldxmov (contents, off) @@ -1799,6 +1822,9 @@ elfNN_ia64_new_elf_hash_entry (entry, table, string) table, string)); ret->info = NULL; + ret->count = 0; + ret->sorted_count = 0; + ret->size = 0; return (struct bfd_hash_entry *) ret; } @@ -1829,16 +1855,25 @@ elfNN_ia64_hash_copy_indirect (info, xdir, xind) if (ind->info != NULL) { struct elfNN_ia64_dyn_sym_info *dyn_i; - struct elfNN_ia64_dyn_sym_info **pdyn; + unsigned int count; + + if (dir->info) + free (dir->info); + + dir->info = ind->info; + dir->count = ind->count; + dir->sorted_count = ind->sorted_count; + dir->size = ind->size; - pdyn = &dir->info; - while ((dyn_i = *pdyn) != NULL) - pdyn = &dyn_i->next; - *pdyn = dyn_i = ind->info; ind->info = NULL; + ind->count = 0; + ind->sorted_count = 0; + ind->size = 0; /* Fix up the dyn_sym_info pointers to the global symbol. */ - for (; dyn_i; dyn_i = dyn_i->next) + for (count = dir->count, dyn_i = dir->info; + count != 0; + count--, dyn_i++) dyn_i->h = &dir->root; } @@ -1864,12 +1899,15 @@ elfNN_ia64_hash_hide_symbol (info, xh, force_local) { struct elfNN_ia64_link_hash_entry *h; struct elfNN_ia64_dyn_sym_info *dyn_i; + unsigned int count; h = (struct elfNN_ia64_link_hash_entry *)xh; _bfd_elf_link_hash_hide_symbol (info, &h->root, force_local); - for (dyn_i = h->info; dyn_i; dyn_i = dyn_i->next) + for (count = h->count, dyn_i = h->info; + count != 0; + count--, dyn_i++) { dyn_i->want_plt2 = 0; dyn_i->want_plt = 0; @@ -1937,6 +1975,51 @@ elfNN_ia64_hash_table_create (abfd) return &ret->root.root; } +/* Free the global elfNN_ia64_dyn_sym_info array. */ + +static bfd_boolean +elfNN_ia64_global_dyn_info_free (void **xentry, + PTR unused ATTRIBUTE_UNUSED) +{ + struct elfNN_ia64_link_hash_entry *entry + = (struct elfNN_ia64_link_hash_entry *) xentry; + + if (entry->root.root.type == bfd_link_hash_warning) + entry = (struct elfNN_ia64_link_hash_entry *) entry->root.root.u.i.link; + + if (entry->info) + { + free (entry->info); + entry->info = NULL; + entry->count = 0; + entry->sorted_count = 0; + entry->size = 0; + } + + return TRUE; +} + +/* Free the local elfNN_ia64_dyn_sym_info array. */ + +static bfd_boolean +elfNN_ia64_local_dyn_info_free (void **slot, + PTR unused ATTRIBUTE_UNUSED) +{ + struct elfNN_ia64_local_hash_entry *entry + = (struct elfNN_ia64_local_hash_entry *) *slot; + + if (entry->info) + { + free (entry->info); + entry->info = NULL; + entry->count = 0; + entry->sorted_count = 0; + entry->size = 0; + } + + return TRUE; +} + /* Destroy IA-64 linker hash table. */ static void @@ -1946,9 +2029,15 @@ elfNN_ia64_hash_table_free (hash) struct elfNN_ia64_link_hash_table *ia64_info = (struct elfNN_ia64_link_hash_table *) hash; if (ia64_info->loc_hash_table) - htab_delete (ia64_info->loc_hash_table); + { + htab_traverse (ia64_info->loc_hash_table, + elfNN_ia64_local_dyn_info_free, NULL); + htab_delete (ia64_info->loc_hash_table); + } if (ia64_info->loc_hash_memory) objalloc_free ((struct objalloc *) ia64_info->loc_hash_memory); + elf_link_hash_traverse (&ia64_info->root, + elfNN_ia64_global_dyn_info_free, NULL); _bfd_generic_link_hash_table_free (hash); } @@ -1970,11 +2059,14 @@ elfNN_ia64_global_dyn_sym_thunk (xentry, xdata) struct elfNN_ia64_dyn_sym_traverse_data *data = (struct elfNN_ia64_dyn_sym_traverse_data *) xdata; struct elfNN_ia64_dyn_sym_info *dyn_i; + unsigned int count; if (entry->root.root.type == bfd_link_hash_warning) entry = (struct elfNN_ia64_link_hash_entry *) entry->root.root.u.i.link; - for (dyn_i = entry->info; dyn_i; dyn_i = dyn_i->next) + for (count = entry->count, dyn_i = entry->info; + count != 0; + count--, dyn_i++) if (! (*data->func) (dyn_i, data->data)) return FALSE; return TRUE; @@ -1990,11 +2082,14 @@ elfNN_ia64_local_dyn_sym_thunk (slot, xdata) struct elfNN_ia64_dyn_sym_traverse_data *data = (struct elfNN_ia64_dyn_sym_traverse_data *) xdata; struct elfNN_ia64_dyn_sym_info *dyn_i; + unsigned int count; - for (dyn_i = entry->info; dyn_i; dyn_i = dyn_i->next) + for (count = entry->count, dyn_i = entry->info; + count != 0; + count--, dyn_i++) if (! (*data->func) (dyn_i, data->data)) - return 0; - return 1; + return FALSE; + return TRUE; } static void @@ -2103,8 +2198,129 @@ get_local_sym_hash (ia64_info, abfd, rel, create) return ret; } +/* Used to sort elfNN_ia64_dyn_sym_info array. */ + +static int +addend_compare (const void *xp, const void *yp) +{ + const struct elfNN_ia64_dyn_sym_info *x + = (const struct elfNN_ia64_dyn_sym_info *) xp; + const struct elfNN_ia64_dyn_sym_info *y + = (const struct elfNN_ia64_dyn_sym_info *) yp; + + return x->addend - y->addend; +} + +/* Sort elfNN_ia64_dyn_sym_info array and remove duplicates. */ + +static unsigned int +sort_dyn_sym_info (struct elfNN_ia64_dyn_sym_info *info, + unsigned int count) +{ + bfd_vma curr, prev; + unsigned int i, dup, diff, dest, src, len; + + qsort (info, count, sizeof (*info), addend_compare); + + /* Find the first duplicate. */ + prev = info [0].addend; + for (i = 1; i < count; i++) + { + curr = info [i].addend; + if (curr == prev) + break; + prev = curr; + } + + /* Remove duplicates. */ + if (i < count) + { + /* We need to move a block of elements to here. */ + dest = i++; + while (i < count) + { + curr = info [i].addend; + + /* Move a block of elements whose first one is different from + the previous. */ + if (curr == prev) + { + for (src = i + 1; src < count; src++) + if (info [src].addend != curr) + break; + } + else + src = i; + + if (src >= count) + break; + + /* Find the next duplicate. */ + prev = info [src].addend; + for (dup = src + 1; dup < count; dup++) + { + curr = info [dup].addend; + if (curr == prev) + break; + prev = curr; + } + + /* How much to move. */ + len = dup - src; + i = dup + 1; + + if (len == 1 && dup < count) + { + /* If we only move 1 element, we combine it with the next + one. Find the next different one. */ + for (diff = dup + 1, src++; diff < count; diff++, src++) + if (info [diff].addend != curr) + break; + + if (diff < count) + { + /* Find the next duplicate. */ + prev = info [diff].addend; + for (dup = diff + 1; dup < count; dup++) + { + curr = info [dup].addend; + if (curr == prev) + break; + prev = curr; + diff++; + } + + len = diff - src + 1; + i = diff + 1; + } + } + + memmove (&info [dest], &info [src], len * sizeof (*info)); + + dest += len; + } + + count = dest; + } + + return count; +} + /* Find and/or create a descriptor for dynamic symbol info. This will - vary based on global or local symbol, and the addend to the reloc. */ + vary based on global or local symbol, and the addend to the reloc. + + We don't sort when inserting. Also, we sort and eliminate + duplicates if there is an unsorted section. Typically, this will + only happen once, because we do all insertions before lookups. We + then use bsearch to do a lookup. This also allows lookups to be + fast. So we have fast insertion (O(log N) due to duplicate check), + fast lookup (O(log N)) and one sort (O(N log N) expected time). + Previously, all lookups were O(N) because of the use of the linked + list and also all insertions were O(N) because of the check for + duplicates. There are some complications here because the array + size grows occasionally, which may add an O(N) factor, but this + should be rare. Also, we free the excess array allocation, which + requires a copy which is O(N), but this only happens once. */ static struct elfNN_ia64_dyn_sym_info * get_dyn_sym_info (ia64_info, h, abfd, rel, create) @@ -2114,12 +2330,22 @@ get_dyn_sym_info (ia64_info, h, abfd, rel, create) const Elf_Internal_Rela *rel; bfd_boolean create; { - struct elfNN_ia64_dyn_sym_info **pp; - struct elfNN_ia64_dyn_sym_info *dyn_i; + struct elfNN_ia64_dyn_sym_info **info_p, *info, *dyn_i, key; + unsigned int *count_p, *sorted_count_p, *size_p; + unsigned int count, sorted_count, size; bfd_vma addend = rel ? rel->r_addend : 0; + bfd_size_type amt; if (h) - pp = &((struct elfNN_ia64_link_hash_entry *)h)->info; + { + struct elfNN_ia64_link_hash_entry *global_h; + + global_h = (struct elfNN_ia64_link_hash_entry *) h; + info_p = &global_h->info; + count_p = &global_h->count; + sorted_count_p = &global_h->sorted_count; + size_p = &global_h->size; + } else { struct elfNN_ia64_local_hash_entry *loc_h; @@ -2131,18 +2357,107 @@ get_dyn_sym_info (ia64_info, h, abfd, rel, create) return NULL; } - pp = &loc_h->info; + info_p = &loc_h->info; + count_p = &loc_h->count; + sorted_count_p = &loc_h->sorted_count; + size_p = &loc_h->size; } - for (dyn_i = *pp; dyn_i && dyn_i->addend != addend; dyn_i = *pp) - pp = &dyn_i->next; - - if (dyn_i == NULL && create) + count = *count_p; + sorted_count = *sorted_count_p; + size = *size_p; + info = *info_p; + if (create) { - dyn_i = ((struct elfNN_ia64_dyn_sym_info *) - bfd_zalloc (abfd, (bfd_size_type) sizeof *dyn_i)); - *pp = dyn_i; + /* When we create the array, we don't check for duplicates, + except in the previously sorted section if one exists, and + against the last inserted entry. This allows insertions to + be fast. */ + if (info) + { + if (sorted_count) + { + /* Try bsearch first on the sorted section. */ + key.addend = addend; + dyn_i = bsearch (&key, info, sorted_count, + sizeof (*info), addend_compare); + + if (dyn_i) + { + return dyn_i; + } + } + + /* Do a quick check for the last inserted entry. */ + dyn_i = info + count - 1; + if (dyn_i->addend == addend) + { + return dyn_i; + } + } + + if (size == 0) + { + /* It is the very first element. We create the array of size + 1. */ + size = 1; + amt = size * sizeof (*info); + info = bfd_malloc (amt); + } + else if (size <= count) + { + /* We double the array size every time when we reach the + size limit. */ + size += size; + amt = size * sizeof (*info); + info = bfd_realloc (info, amt); + } + else + goto has_space; + + if (info == NULL) + return NULL; + *size_p = size; + *info_p = info; + +has_space: + /* Append the new one to the array. */ + dyn_i = info + count; + memset (dyn_i, 0, sizeof (*dyn_i)); dyn_i->addend = addend; + + /* We increment count only since the new ones are unsorted and + may have duplicate. */ + (*count_p)++; + } + else + { + /* It is a lookup without insertion. Sort array if part of the + array isn't sorted. */ + if (count != sorted_count) + { + count = sort_dyn_sym_info (info, count); + *count_p = count; + *sorted_count_p = count; + } + + /* Free unused memory. */ + if (size != count) + { + amt = count * sizeof (*info); + info = bfd_malloc (amt); + if (info != NULL) + { + memcpy (info, *info_p, amt); + free (*info_p); + *size_p = count; + *info_p = info; + } + } + + key.addend = addend; + dyn_i = bsearch (&key, info, count, + sizeof (*info), addend_compare); } return dyn_i; @@ -2368,6 +2683,23 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) Elf_Internal_Shdr *symtab_hdr; const Elf_Internal_Rela *rel; asection *got, *fptr, *srel, *pltoff; + enum { + NEED_GOT = 1, + NEED_GOTX = 2, + NEED_FPTR = 4, + NEED_PLTOFF = 8, + NEED_MIN_PLT = 16, + NEED_FULL_PLT = 32, + NEED_DYNREL = 64, + NEED_LTOFF_FPTR = 128, + NEED_TPREL = 256, + NEED_DTPMOD = 512, + NEED_DTPREL = 1024 + }; + int need_entry; + struct elf_link_hash_entry *h; + unsigned long r_symndx; + bfd_boolean maybe_dynamic; if (info->relocatable) return TRUE; @@ -2378,29 +2710,181 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) got = fptr = srel = pltoff = NULL; relend = relocs + sec->reloc_count; + + /* We scan relocations first to create dynamic relocation arrays. We + modified get_dyn_sym_info to allow fast insertion and support fast + lookup in the next loop. */ + for (rel = relocs; rel < relend; ++rel) + { + r_symndx = ELFNN_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + long indx = r_symndx - symtab_hdr->sh_info; + h = elf_sym_hashes (abfd)[indx]; + 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; + } + else + h = NULL; + + /* We can only get preliminary data on whether a symbol is + locally or externally defined, as not all of the input files + have yet been processed. Do something with what we know, as + this may help reduce memory usage and processing time later. */ + maybe_dynamic = (h && ((!info->executable + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular + || h->root.type == bfd_link_hash_defweak)); + + need_entry = 0; + switch (ELFNN_R_TYPE (rel->r_info)) + { + case R_IA64_TPREL64MSB: + case R_IA64_TPREL64LSB: + if (info->shared || maybe_dynamic) + need_entry = NEED_DYNREL; + break; + + case R_IA64_LTOFF_TPREL22: + need_entry = NEED_TPREL; + if (info->shared) + info->flags |= DF_STATIC_TLS; + break; + + case R_IA64_DTPREL32MSB: + case R_IA64_DTPREL32LSB: + case R_IA64_DTPREL64MSB: + case R_IA64_DTPREL64LSB: + if (info->shared || maybe_dynamic) + need_entry = NEED_DYNREL; + break; + + case R_IA64_LTOFF_DTPREL22: + need_entry = NEED_DTPREL; + break; + + case R_IA64_DTPMOD64MSB: + case R_IA64_DTPMOD64LSB: + if (info->shared || maybe_dynamic) + need_entry = NEED_DYNREL; + break; + + case R_IA64_LTOFF_DTPMOD22: + need_entry = NEED_DTPMOD; + break; + + case R_IA64_LTOFF_FPTR22: + case R_IA64_LTOFF_FPTR64I: + case R_IA64_LTOFF_FPTR32MSB: + case R_IA64_LTOFF_FPTR32LSB: + case R_IA64_LTOFF_FPTR64MSB: + case R_IA64_LTOFF_FPTR64LSB: + need_entry = NEED_FPTR | NEED_GOT | NEED_LTOFF_FPTR; + break; + + case R_IA64_FPTR64I: + case R_IA64_FPTR32MSB: + case R_IA64_FPTR32LSB: + case R_IA64_FPTR64MSB: + case R_IA64_FPTR64LSB: + if (info->shared || h) + need_entry = NEED_FPTR | NEED_DYNREL; + else + need_entry = NEED_FPTR; + break; + + case R_IA64_LTOFF22: + case R_IA64_LTOFF64I: + need_entry = NEED_GOT; + break; + + case R_IA64_LTOFF22X: + need_entry = NEED_GOTX; + break; + + case R_IA64_PLTOFF22: + case R_IA64_PLTOFF64I: + case R_IA64_PLTOFF64MSB: + case R_IA64_PLTOFF64LSB: + need_entry = NEED_PLTOFF; + if (h) + { + if (maybe_dynamic) + need_entry |= NEED_MIN_PLT; + } + else + { + (*info->callbacks->warning) + (info, _("@pltoff reloc against local symbol"), 0, + abfd, 0, (bfd_vma) 0); + } + break; + + case R_IA64_PCREL21B: + case R_IA64_PCREL60B: + /* Depending on where this symbol is defined, we may or may not + need a full plt entry. Only skip if we know we'll not need + the entry -- static or symbolic, and the symbol definition + has already been seen. */ + if (maybe_dynamic && rel->r_addend == 0) + need_entry = NEED_FULL_PLT; + break; + + case R_IA64_IMM14: + case R_IA64_IMM22: + case R_IA64_IMM64: + case R_IA64_DIR32MSB: + case R_IA64_DIR32LSB: + case R_IA64_DIR64MSB: + case R_IA64_DIR64LSB: + /* Shared objects will always need at least a REL relocation. */ + if (info->shared || maybe_dynamic) + need_entry = NEED_DYNREL; + break; + + case R_IA64_IPLTMSB: + case R_IA64_IPLTLSB: + /* Shared objects will always need at least a REL relocation. */ + if (info->shared || maybe_dynamic) + need_entry = NEED_DYNREL; + break; + + case R_IA64_PCREL22: + case R_IA64_PCREL64I: + case R_IA64_PCREL32MSB: + case R_IA64_PCREL32LSB: + case R_IA64_PCREL64MSB: + case R_IA64_PCREL64LSB: + if (maybe_dynamic) + need_entry = NEED_DYNREL; + break; + } + + if (!need_entry) + continue; + + if ((need_entry & NEED_FPTR) != 0 + && rel->r_addend) + { + (*info->callbacks->warning) + (info, _("non-zero addend in @fptr reloc"), 0, + abfd, 0, (bfd_vma) 0); + } + + if (get_dyn_sym_info (ia64_info, h, abfd, rel, TRUE) == NULL) + return FALSE; + } + + /* Now, we only do lookup without insertion, which is very fast + with the modified get_dyn_sym_info. */ for (rel = relocs; rel < relend; ++rel) { - enum { - NEED_GOT = 1, - NEED_GOTX = 2, - NEED_FPTR = 4, - NEED_PLTOFF = 8, - NEED_MIN_PLT = 16, - NEED_FULL_PLT = 32, - NEED_DYNREL = 64, - NEED_LTOFF_FPTR = 128, - NEED_TPREL = 256, - NEED_DTPMOD = 512, - NEED_DTPREL = 1024 - }; - - struct elf_link_hash_entry *h = NULL; - unsigned long r_symndx = ELFNN_R_SYM (rel->r_info); struct elfNN_ia64_dyn_sym_info *dyn_i; - int need_entry; - bfd_boolean maybe_dynamic; int dynrel_type = R_IA64_NONE; + r_symndx = ELFNN_R_SYM (rel->r_info); if (r_symndx >= symtab_hdr->sh_info) { /* We're dealing with a global symbol -- find its hash entry @@ -2413,18 +2897,18 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) h->ref_regular = 1; } + else + h = NULL; /* We can only get preliminary data on whether a symbol is locally or externally defined, as not all of the input files have yet been processed. Do something with what we know, as this may help reduce memory usage and processing time later. */ - maybe_dynamic = FALSE; - if (h && ((!info->executable - && (!info->symbolic - || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || !h->def_regular - || h->root.type == bfd_link_hash_defweak)) - maybe_dynamic = TRUE; + maybe_dynamic = (h && ((!info->executable + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular + || h->root.type == bfd_link_hash_defweak)); need_entry = 0; switch (ELFNN_R_TYPE (rel->r_info)) @@ -2508,12 +2992,6 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) if (maybe_dynamic) need_entry |= NEED_MIN_PLT; } - else - { - (*info->callbacks->warning) - (info, _("@pltoff reloc against local symbol"), 0, - abfd, 0, (bfd_vma) 0); - } break; case R_IA64_PCREL21B: @@ -2562,15 +3040,7 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) if (!need_entry) continue; - if ((need_entry & NEED_FPTR) != 0 - && rel->r_addend) - { - (*info->callbacks->warning) - (info, _("non-zero addend in @fptr reloc"), 0, - abfd, 0, (bfd_vma) 0); - } - - dyn_i = get_dyn_sym_info (ia64_info, h, abfd, rel, TRUE); + dyn_i = get_dyn_sym_info (ia64_info, h, abfd, rel, FALSE); /* Record whether or not this is a local symbol. */ dyn_i->h = h; @@ -4145,8 +4615,11 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section, if (loc_h && ! loc_h->sec_merge_done) { struct elfNN_ia64_dyn_sym_info *dynent; + unsigned int count; - for (dynent = loc_h->info; dynent; dynent = dynent->next) + for (count = loc_h->count, dynent = loc_h->info; + count != 0; + count--, dynent++) { msec = sym_sec; dynent->addend = @@ -4161,6 +4634,10 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section, - sym_sec->output_section->vma - sym_sec->output_offset; } + + qsort (loc_h->info, loc_h->count, + sizeof (*loc_h->info), addend_compare); + loc_h->sec_merge_done = 1; } } diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 7f124b091af..d2c41c01a41 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -34,6 +34,7 @@ #include "elf-bfd.h" #include "elfxx-mips.h" #include "elf/mips.h" +#include "elf-vxworks.h" /* Get the ECOFF swapping routines. */ #include "coff/sym.h" @@ -43,8 +44,39 @@ #include "hashtab.h" -/* This structure is used to hold .got entries while estimating got - sizes. */ +/* This structure is used to hold information about one GOT entry. + There are three types of entry: + + (1) absolute addresses + (abfd == NULL) + (2) SYMBOL + OFFSET addresses, where SYMBOL is local to an input bfd + (abfd != NULL, symndx >= 0) + (3) global and forced-local symbols + (abfd != NULL, symndx == -1) + + Type (3) entries are treated differently for different types of GOT. + In the "master" GOT -- i.e. the one that describes every GOT + reference needed in the link -- the mips_got_entry is keyed on both + the symbol and the input bfd that references it. If it turns out + that we need multiple GOTs, we can then use this information to + create separate GOTs for each input bfd. + + However, we want each of these separate GOTs to have at most one + entry for a given symbol, so their type (3) entries are keyed only + on the symbol. The input bfd given by the "abfd" field is somewhat + arbitrary in this case. + + This means that when there are multiple GOTs, each GOT has a unique + mips_got_entry for every symbol within it. We can therefore use the + mips_got_entry fields (tls_type and gotidx) to track the symbol's + GOT index. + + However, if it turns out that we need only a single GOT, we continue + to use the master GOT to describe it. There may therefore be several + mips_got_entries for the same symbol, each with a different input bfd. + We want to make sure that each symbol gets a unique GOT entry, so when + there's a single GOT, we use the symbol's hash entry, not the + mips_got_entry fields, to track a symbol's GOT index. */ struct mips_got_entry { /* The input bfd in which the symbol is defined. */ @@ -246,6 +278,12 @@ struct mips_elf_link_hash_entry the initial global GOT entry to a local GOT entry. */ bfd_boolean forced_local; + /* Are we referenced by some kind of relocation? */ + bfd_boolean is_relocation_target; + + /* Are we referenced by branch relocations? */ + bfd_boolean is_branch_target; + #define GOT_NORMAL 0 #define GOT_TLS_GD 1 #define GOT_TLS_LDM 2 @@ -283,6 +321,22 @@ struct mips_elf_link_hash_table bfd_vma rld_value; /* This is set if we see any mips16 stub sections. */ bfd_boolean mips16_stubs_seen; + /* True if we're generating code for VxWorks. */ + bfd_boolean is_vxworks; + /* Shortcuts to some dynamic sections, or NULL if they are not + being used. */ + asection *srelbss; + asection *sdynbss; + asection *srelplt; + asection *srelplt2; + asection *sgotplt; + asection *splt; + /* The size of the PLT header in bytes (VxWorks only). */ + bfd_vma plt_header_size; + /* The size of a PLT entry in bytes (VxWorks only). */ + bfd_vma plt_entry_size; + /* The size of a function stub entry in bytes. */ + bfd_vma function_stub_size; }; #define TLS_RELOC_P(r_type) \ @@ -433,8 +487,8 @@ typedef struct runtime_pdr { #define rpdNil ((pRPDR) 0) static struct mips_got_entry *mips_elf_create_local_got_entry - (bfd *, bfd *, struct mips_got_info *, asection *, bfd_vma, unsigned long, - struct mips_elf_link_hash_entry *, int); + (bfd *, struct bfd_link_info *, bfd *, struct mips_got_info *, asection *, + asection *, bfd_vma, unsigned long, struct mips_elf_link_hash_entry *, int); static bfd_boolean mips_elf_sort_hash_table_f (struct mips_elf_link_hash_entry *, void *); static bfd_vma mips_elf_high @@ -483,6 +537,11 @@ static bfd *reldyn_sorting_bfd; #define MIPS_ELF_OPTIONS_SECTION_NAME_P(NAME) \ (strcmp (NAME, ".MIPS.options") == 0 || strcmp (NAME, ".options") == 0) +/* Whether the section is readonly. */ +#define MIPS_ELF_READONLY_SECTION(sec) \ + ((sec->flags & (SEC_ALLOC | SEC_LOAD | SEC_READONLY)) \ + == (SEC_ALLOC | SEC_LOAD | SEC_READONLY)) + /* The name of the stub section. */ #define MIPS_ELF_STUB_SECTION_NAME(abfd) ".MIPS.stubs" @@ -490,6 +549,10 @@ static bfd *reldyn_sorting_bfd; #define MIPS_ELF_REL_SIZE(abfd) \ (get_elf_backend_data (abfd)->s->sizeof_rel) +/* The size of an external RELA relocation. */ +#define MIPS_ELF_RELA_SIZE(abfd) \ + (get_elf_backend_data (abfd)->s->sizeof_rela) + /* The size of an external dynamic table entry. */ #define MIPS_ELF_DYN_SIZE(abfd) \ (get_elf_backend_data (abfd)->s->sizeof_dyn) @@ -540,36 +603,47 @@ static bfd *reldyn_sorting_bfd; == (ABI_64_P (abfd) ? sizeof (Elf64_External_Rela) \ : sizeof (Elf32_External_Rela)))) +/* The name of the dynamic relocation section. */ +#define MIPS_ELF_REL_DYN_NAME(INFO) \ + (mips_elf_hash_table (INFO)->is_vxworks ? ".rela.dyn" : ".rel.dyn") + /* In case we're on a 32-bit machine, construct a 64-bit "-1" value from smaller values. Start with zero, widen, *then* decrement. */ #define MINUS_ONE (((bfd_vma)0) - 1) #define MINUS_TWO (((bfd_vma)0) - 2) /* The number of local .got entries we reserve. */ -#define MIPS_RESERVED_GOTNO (2) +#define MIPS_RESERVED_GOTNO(INFO) \ + (mips_elf_hash_table (INFO)->is_vxworks ? 3 : 2) /* The offset of $gp from the beginning of the .got section. */ -#define ELF_MIPS_GP_OFFSET(abfd) (0x7ff0) +#define ELF_MIPS_GP_OFFSET(INFO) \ + (mips_elf_hash_table (INFO)->is_vxworks ? 0x0 : 0x7ff0) /* The maximum size of the GOT for it to be addressable using 16-bit offsets from $gp. */ -#define MIPS_ELF_GOT_MAX_SIZE(abfd) (ELF_MIPS_GP_OFFSET(abfd) + 0x7fff) +#define MIPS_ELF_GOT_MAX_SIZE(INFO) (ELF_MIPS_GP_OFFSET (INFO) + 0x7fff) /* Instructions which appear in a stub. */ -#define STUB_LW(abfd) \ - ((ABI_64_P (abfd) \ - ? 0xdf998010 /* ld t9,0x8010(gp) */ \ - : 0x8f998010)) /* lw t9,0x8010(gp) */ -#define STUB_MOVE(abfd) \ - ((ABI_64_P (abfd) \ - ? 0x03e0782d /* daddu t7,ra */ \ - : 0x03e07821)) /* addu t7,ra */ -#define STUB_JALR 0x0320f809 /* jalr t9,ra */ -#define STUB_LI16(abfd) \ - ((ABI_64_P (abfd) \ - ? 0x64180000 /* daddiu t8,zero,0 */ \ - : 0x24180000)) /* addiu t8,zero,0 */ -#define MIPS_FUNCTION_STUB_SIZE (16) +#define STUB_LW(abfd) \ + ((ABI_64_P (abfd) \ + ? 0xdf998010 /* ld t9,0x8010(gp) */ \ + : 0x8f998010)) /* lw t9,0x8010(gp) */ +#define STUB_MOVE(abfd) \ + ((ABI_64_P (abfd) \ + ? 0x03e0782d /* daddu t7,ra */ \ + : 0x03e07821)) /* addu t7,ra */ +#define STUB_LUI(VAL) (0x3c180000 + (VAL)) /* lui t8,VAL */ +#define STUB_JALR 0x0320f809 /* jalr t9,ra */ +#define STUB_ORI(VAL) (0x37180000 + (VAL)) /* ori t8,t8,VAL */ +#define STUB_LI16U(VAL) (0x34180000 + (VAL)) /* ori t8,zero,VAL unsigned */ +#define STUB_LI16S(abfd, VAL) \ + ((ABI_64_P (abfd) \ + ? (0x64180000 + (VAL)) /* daddiu t8,zero,VAL sign extended */ \ + : (0x24180000 + (VAL)))) /* addiu t8,zero,VAL sign extended */ + +#define MIPS_FUNCTION_STUB_NORMAL_SIZE 16 +#define MIPS_FUNCTION_STUB_BIG_SIZE 20 /* The name of the dynamic interpreter. This is put in the .interp section. */ @@ -636,6 +710,44 @@ static bfd *reldyn_sorting_bfd; #define CALL_STUB ".mips16.call." #define CALL_FP_STUB ".mips16.call.fp." +/* The format of the first PLT entry in a VxWorks executable. */ +static const bfd_vma mips_vxworks_exec_plt0_entry[] = { + 0x3c190000, /* lui t9, %hi(_GLOBAL_OFFSET_TABLE_) */ + 0x27390000, /* addiu t9, t9, %lo(_GLOBAL_OFFSET_TABLE_) */ + 0x8f390008, /* lw t9, 8(t9) */ + 0x00000000, /* nop */ + 0x03200008, /* jr t9 */ + 0x00000000 /* nop */ +}; + +/* The format of subsequent PLT entries. */ +static const bfd_vma mips_vxworks_exec_plt_entry[] = { + 0x10000000, /* b .PLT_resolver */ + 0x24180000, /* li t8, */ + 0x3c190000, /* lui t9, %hi(<.got.plt slot>) */ + 0x27390000, /* addiu t9, t9, %lo(<.got.plt slot>) */ + 0x8f390000, /* lw t9, 0(t9) */ + 0x00000000, /* nop */ + 0x03200008, /* jr t9 */ + 0x00000000 /* nop */ +}; + +/* The format of the first PLT entry in a VxWorks shared object. */ +static const bfd_vma mips_vxworks_shared_plt0_entry[] = { + 0x8f990008, /* lw t9, 8(gp) */ + 0x00000000, /* nop */ + 0x03200008, /* jr t9 */ + 0x00000000, /* nop */ + 0x00000000, /* nop */ + 0x00000000 /* nop */ +}; + +/* The format of subsequent PLT entries. */ +static const bfd_vma mips_vxworks_shared_plt_entry[] = { + 0x10000000, /* b .PLT_resolver */ + 0x24180000 /* li t8, */ +}; + /* Look up an entry in a MIPS ELF linker hash table. */ #define mips_elf_link_hash_lookup(table, string, create, copy, follow) \ @@ -715,6 +827,8 @@ mips_elf_link_hash_newfunc (struct bfd_hash_entry *entry, ret->call_stub = NULL; ret->call_fp_stub = NULL; ret->forced_local = FALSE; + ret->is_branch_target = FALSE; + ret->is_relocation_target = FALSE; ret->tls_type = GOT_NORMAL; } @@ -1896,14 +2010,19 @@ mips_elf_multi_got_entry_eq (const void *entry1, const void *entry2) : e1->d.h == e2->d.h); } -/* Returns the dynamic relocation section for DYNOBJ. */ +/* Return the dynamic relocation section. If it doesn't exist, try to + create a new it if CREATE_P, otherwise return NULL. Also return NULL + if creation fails. */ static asection * -mips_elf_rel_dyn_section (bfd *dynobj, bfd_boolean create_p) +mips_elf_rel_dyn_section (struct bfd_link_info *info, bfd_boolean create_p) { - static const char dname[] = ".rel.dyn"; + const char *dname; asection *sreloc; + bfd *dynobj; + dname = MIPS_ELF_REL_DYN_NAME (info); + dynobj = elf_hash_table (info)->dynobj; sreloc = bfd_get_section_by_name (dynobj, dname); if (sreloc == NULL && create_p) { @@ -2121,7 +2240,7 @@ mips_elf_initialize_tls_slots (bfd *abfd, bfd_vma got_offset, || h->root.root.type == bfd_link_hash_undefweak); /* Emit necessary relocations. */ - sreloc = mips_elf_rel_dyn_section (dynobj, FALSE); + sreloc = mips_elf_rel_dyn_section (info, FALSE); /* General Dynamic. */ if (*tls_type_p & GOT_TLS_GD) @@ -2240,14 +2359,46 @@ mips_tls_got_index (bfd *abfd, bfd_vma got_index, unsigned char *tls_type, return got_index; } -/* Returns the GOT offset at which the indicated address can be found. - If there is not yet a GOT entry for this value, create one. If - R_SYMNDX refers to a TLS symbol, create a TLS GOT entry instead. - Returns -1 if no satisfactory GOT offset can be found. */ +/* Return the offset from _GLOBAL_OFFSET_TABLE_ of the .got.plt entry + for global symbol H. .got.plt comes before the GOT, so the offset + will be negative. */ + +static bfd_vma +mips_elf_gotplt_index (struct bfd_link_info *info, + struct elf_link_hash_entry *h) +{ + bfd_vma plt_index, got_address, got_value; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); + BFD_ASSERT (h->plt.offset != (bfd_vma) -1); + + /* Calculate the index of the symbol's PLT entry. */ + plt_index = (h->plt.offset - htab->plt_header_size) / htab->plt_entry_size; + + /* Calculate the address of the associated .got.plt entry. */ + got_address = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + plt_index * 4); + + /* Calculate the value of _GLOBAL_OFFSET_TABLE_. */ + got_value = (htab->root.hgot->root.u.def.section->output_section->vma + + htab->root.hgot->root.u.def.section->output_offset + + htab->root.hgot->root.u.def.value); + + return got_address - got_value; +} + +/* Return the GOT offset for address VALUE, which was derived from + a symbol belonging to INPUT_SECTION. If there is not yet a GOT + entry for this value, create one. If R_SYMNDX refers to a TLS symbol, + create a TLS GOT entry instead. Return -1 if no satisfactory GOT + offset can be found. */ static bfd_vma mips_elf_local_got_index (bfd *abfd, bfd *ibfd, struct bfd_link_info *info, - bfd_vma value, unsigned long r_symndx, + asection *input_section, bfd_vma value, + unsigned long r_symndx, struct mips_elf_link_hash_entry *h, int r_type) { asection *sgot; @@ -2256,14 +2407,23 @@ mips_elf_local_got_index (bfd *abfd, bfd *ibfd, struct bfd_link_info *info, g = mips_elf_got_info (elf_hash_table (info)->dynobj, &sgot); - entry = mips_elf_create_local_got_entry (abfd, ibfd, g, sgot, value, + entry = mips_elf_create_local_got_entry (abfd, info, ibfd, g, sgot, + input_section, value, r_symndx, h, r_type); if (!entry) return MINUS_ONE; if (TLS_RELOC_P (r_type)) - return mips_tls_got_index (abfd, entry->gotidx, &entry->tls_type, r_type, - info, h, value); + { + if (entry->symndx == -1 && g->next == NULL) + /* A type (3) entry in the single-GOT case. We use the symbol's + hash table entry to track the index. */ + return mips_tls_got_index (abfd, h->tls_got_offset, &h->tls_type, + r_type, info, h, value); + else + return mips_tls_got_index (abfd, entry->gotidx, &entry->tls_type, + r_type, info, h, value); + } else return entry->gotidx; } @@ -2350,26 +2510,27 @@ mips_elf_global_got_index (bfd *abfd, bfd *ibfd, struct elf_link_hash_entry *h, return index; } -/* Find a GOT entry that is within 32KB of the VALUE. These entries - are supposed to be placed at small offsets in the GOT, i.e., - within 32KB of GP. Return the index into the GOT for this page, - and store the offset from this entry to the desired address in - OFFSETP, if it is non-NULL. */ +/* Find a GOT page entry that points to within 32KB of VALUE, which was + calculated from a symbol belonging to INPUT_SECTION. These entries + are supposed to be placed at small offsets in the GOT, i.e., within + 32KB of GP. Return the index of the GOT entry, or -1 if no entry + could be created. If OFFSETP is nonnull, use it to return the + offset of the GOT entry from VALUE. */ static bfd_vma mips_elf_got_page (bfd *abfd, bfd *ibfd, struct bfd_link_info *info, - bfd_vma value, bfd_vma *offsetp) + asection *input_section, bfd_vma value, bfd_vma *offsetp) { asection *sgot; struct mips_got_info *g; - bfd_vma index; + bfd_vma page, index; struct mips_got_entry *entry; g = mips_elf_got_info (elf_hash_table (info)->dynobj, &sgot); - entry = mips_elf_create_local_got_entry (abfd, ibfd, g, sgot, - (value + 0x8000) - & (~(bfd_vma)0xffff), 0, + page = (value + 0x8000) & ~(bfd_vma) 0xffff; + entry = mips_elf_create_local_got_entry (abfd, info, ibfd, g, sgot, + input_section, page, 0, NULL, R_MIPS_GOT_PAGE); if (!entry) @@ -2383,30 +2544,32 @@ mips_elf_got_page (bfd *abfd, bfd *ibfd, struct bfd_link_info *info, return index; } -/* Find a GOT entry whose higher-order 16 bits are the same as those - for value. Return the index into the GOT for this entry. */ +/* Find a local GOT entry for an R_MIPS_GOT16 relocation against VALUE, + which was calculated from a symbol belonging to INPUT_SECTION. + EXTERNAL is true if the relocation was against a global symbol + that has been forced local. */ static bfd_vma mips_elf_got16_entry (bfd *abfd, bfd *ibfd, struct bfd_link_info *info, - bfd_vma value, bfd_boolean external) + asection *input_section, bfd_vma value, + bfd_boolean external) { asection *sgot; struct mips_got_info *g; struct mips_got_entry *entry; + /* GOT16 relocations against local symbols are followed by a LO16 + relocation; those against global symbols are not. Thus if the + symbol was originally local, the GOT16 relocation should load the + equivalent of %hi(VALUE), otherwise it should load VALUE itself. */ if (! external) - { - /* Although the ABI says that it is "the high-order 16 bits" that we - want, it is really the %high value. The complete value is - calculated with a `addiu' of a LO16 relocation, just as with a - HI16/LO16 pair. */ - value = mips_elf_high (value) << 16; - } + value = mips_elf_high (value) << 16; g = mips_elf_got_info (elf_hash_table (info)->dynobj, &sgot); - entry = mips_elf_create_local_got_entry (abfd, ibfd, g, sgot, value, 0, NULL, - R_MIPS_GOT16); + entry = mips_elf_create_local_got_entry (abfd, info, ibfd, g, sgot, + input_section, value, 0, + NULL, R_MIPS_GOT16); if (entry) return entry->gotidx; else @@ -2431,20 +2594,24 @@ mips_elf_got_offset_from_index (bfd *dynobj, bfd *output_bfd, return sgot->output_section->vma + sgot->output_offset + index - gp; } -/* Create a local GOT entry for VALUE. Return the index of the entry, - or -1 if it could not be created. If R_SYMNDX refers to a TLS symbol, - create a TLS entry instead. */ +/* Create and return a local GOT entry for VALUE, which was calculated + from a symbol belonging to INPUT_SECTON. Return NULL if it could not + be created. If R_SYMNDX refers to a TLS symbol, create a TLS entry + instead. */ static struct mips_got_entry * -mips_elf_create_local_got_entry (bfd *abfd, bfd *ibfd, - struct mips_got_info *gg, - asection *sgot, bfd_vma value, - unsigned long r_symndx, +mips_elf_create_local_got_entry (bfd *abfd, struct bfd_link_info *info, + bfd *ibfd, struct mips_got_info *gg, + asection *sgot, asection *input_section, + bfd_vma value, unsigned long r_symndx, struct mips_elf_link_hash_entry *h, int r_type) { struct mips_got_entry entry, **loc; struct mips_got_info *g; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); entry.abfd = NULL; entry.symndx = -1; @@ -2517,6 +2684,33 @@ mips_elf_create_local_got_entry (bfd *abfd, bfd *ibfd, MIPS_ELF_PUT_WORD (abfd, value, (sgot->contents + entry.gotidx)); + /* These GOT entries need a dynamic relocation on VxWorks. Because + the offset between segments is not fixed, the relocation must be + against a symbol in the same segment as the original symbol. + The easiest way to do this is to take INPUT_SECTION's output + section and emit a relocation against its section symbol. */ + if (htab->is_vxworks) + { + Elf_Internal_Rela outrel; + asection *s, *output_section; + bfd_byte *loc; + bfd_vma got_address; + int dynindx; + + s = mips_elf_rel_dyn_section (info, FALSE); + output_section = input_section->output_section; + dynindx = elf_section_data (output_section)->dynindx; + got_address = (sgot->output_section->vma + + sgot->output_offset + + entry.gotidx); + + loc = s->contents + (s->reloc_count++ * sizeof (Elf32_External_Rela)); + outrel.r_offset = got_address; + outrel.r_info = ELF32_R_INFO (dynindx, R_MIPS_32); + outrel.r_addend = value - output_section->vma; + bfd_elf32_swap_reloca_out (abfd, &outrel, loc); + } + return *loc; } @@ -2892,7 +3086,7 @@ mips_elf_merge_gots (void **bfd2got_, void *p) { unsigned int primary_total = lcount + tcount + arg->global_count; if (primary_total * MIPS_ELF_GOT_SIZE (bfd2got->bfd) - >= MIPS_ELF_GOT_MAX_SIZE (bfd2got->bfd)) + >= MIPS_ELF_GOT_MAX_SIZE (arg->info)) too_many_for_tls = TRUE; } @@ -2975,55 +3169,54 @@ mips_elf_merge_gots (void **bfd2got_, void *p) return 1; } -/* Set the TLS GOT index for the GOT entry in ENTRYP. */ +/* Set the TLS GOT index for the GOT entry in ENTRYP. ENTRYP's NEXT field + is null iff there is just a single GOT. */ static int mips_elf_initialize_tls_index (void **entryp, void *p) { struct mips_got_entry *entry = (struct mips_got_entry *)*entryp; struct mips_got_info *g = p; + bfd_vma next_index; /* We're only interested in TLS symbols. */ if (entry->tls_type == 0) return 1; - if (entry->symndx == -1) + next_index = MIPS_ELF_GOT_SIZE (entry->abfd) * (long) g->tls_assigned_gotno; + + if (entry->symndx == -1 && g->next == NULL) { - /* There may be multiple mips_got_entry structs for a global variable - if there is just one GOT. Just do this once. */ - if (g->next == NULL) + /* A type (3) got entry in the single-GOT case. We use the symbol's + hash table entry to track its index. */ + if (entry->d.h->tls_type & GOT_TLS_OFFSET_DONE) + return 1; + entry->d.h->tls_type |= GOT_TLS_OFFSET_DONE; + entry->d.h->tls_got_offset = next_index; + } + else + { + if (entry->tls_type & GOT_TLS_LDM) { - if (entry->d.h->tls_type & GOT_TLS_OFFSET_DONE) + /* There are separate mips_got_entry objects for each input bfd + that requires an LDM entry. Make sure that all LDM entries in + a GOT resolve to the same index. */ + if (g->tls_ldm_offset != MINUS_TWO && g->tls_ldm_offset != MINUS_ONE) { - entry->gotidx = entry->d.h->tls_got_offset; + entry->gotidx = g->tls_ldm_offset; return 1; } - entry->d.h->tls_type |= GOT_TLS_OFFSET_DONE; + g->tls_ldm_offset = next_index; } + entry->gotidx = next_index; } - else if (entry->tls_type & GOT_TLS_LDM) - { - /* Similarly, there may be multiple structs for the LDM entry. */ - if (g->tls_ldm_offset != MINUS_TWO && g->tls_ldm_offset != MINUS_ONE) - { - entry->gotidx = g->tls_ldm_offset; - return 1; - } - } - - /* Initialize the GOT offset. */ - entry->gotidx = MIPS_ELF_GOT_SIZE (entry->abfd) * (long) g->tls_assigned_gotno; - if (g->next == NULL && entry->symndx == -1) - entry->d.h->tls_got_offset = entry->gotidx; + /* Account for the entries we've just allocated. */ if (entry->tls_type & (GOT_TLS_GD | GOT_TLS_LDM)) g->tls_assigned_gotno += 2; if (entry->tls_type & GOT_TLS_IE) g->tls_assigned_gotno += 1; - if (entry->tls_type & GOT_TLS_LDM) - g->tls_ldm_offset = entry->gotidx; - return 1; } @@ -3207,9 +3400,9 @@ mips_elf_multi_got (bfd *abfd, struct bfd_link_info *info, /* Taking out PAGES entries is a worst-case estimate. We could compute the maximum number of pages that each separate input bfd uses, but it's probably not worth it. */ - got_per_bfd_arg.max_count = ((MIPS_ELF_GOT_MAX_SIZE (abfd) + got_per_bfd_arg.max_count = ((MIPS_ELF_GOT_MAX_SIZE (info) / MIPS_ELF_GOT_SIZE (abfd)) - - MIPS_RESERVED_GOTNO - pages); + - MIPS_RESERVED_GOTNO (info) - pages); /* The number of globals that will be included in the primary GOT. See the calls to mips_elf_set_global_got_offset below for more information. */ @@ -3344,21 +3537,24 @@ mips_elf_multi_got (bfd *abfd, struct bfd_link_info *info, { struct mips_got_info *gn; - assign += MIPS_RESERVED_GOTNO; + assign += MIPS_RESERVED_GOTNO (info); g->assigned_gotno = assign; g->local_gotno += assign + pages; assign = g->local_gotno + g->global_gotno + g->tls_gotno; + /* Take g out of the direct list, and push it onto the reversed + list that gg points to. g->next is guaranteed to be nonnull after + this operation, as required by mips_elf_initialize_tls_index. */ + gn = g->next; + g->next = gg->next; + gg->next = g; + /* Set up any TLS entries. We always place the TLS entries after all non-TLS entries. */ g->tls_assigned_gotno = g->local_gotno + g->global_gotno; htab_traverse (g->got_entries, mips_elf_initialize_tls_index, g); - /* Take g out of the direct list, and push it onto the reversed - list that gg points to. */ - gn = g->next; - g->next = gg->next; - gg->next = g; + /* Move onto the next GOT. It will be a secondary GOT if nonull. */ g = gn; /* Mark global symbols in every non-primary GOT as ineligible for @@ -3540,6 +3736,9 @@ mips_elf_create_got_section (bfd *abfd, struct bfd_link_info *info, struct bfd_link_hash_entry *bh; struct mips_got_info *g; bfd_size_type amt; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); /* This function may be called more than once. */ s = mips_elf_got_section (abfd, TRUE); @@ -3589,8 +3788,8 @@ mips_elf_create_got_section (bfd *abfd, struct bfd_link_info *info, g->global_gotsym = NULL; g->global_gotno = 0; g->tls_gotno = 0; - g->local_gotno = MIPS_RESERVED_GOTNO; - g->assigned_gotno = MIPS_RESERVED_GOTNO; + g->local_gotno = MIPS_RESERVED_GOTNO (info); + g->assigned_gotno = MIPS_RESERVED_GOTNO (info); g->bfd2got = NULL; g->next = NULL; g->tls_ldm_offset = MINUS_ONE; @@ -3602,9 +3801,33 @@ mips_elf_create_got_section (bfd *abfd, struct bfd_link_info *info, mips_elf_section_data (s)->elf.this_hdr.sh_flags |= SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL; + /* VxWorks also needs a .got.plt section. */ + if (htab->is_vxworks) + { + s = bfd_make_section_with_flags (abfd, ".got.plt", + SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS + | SEC_IN_MEMORY | SEC_LINKER_CREATED); + if (s == NULL || !bfd_set_section_alignment (abfd, s, 4)) + return FALSE; + + htab->sgotplt = s; + } return TRUE; } +/* Return true if H refers to the special VxWorks __GOTT_BASE__ or + __GOTT_INDEX__ symbols. These symbols are only special for + shared objects; they are not used in executables. */ + +static bfd_boolean +is_gott_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *h) +{ + return (mips_elf_hash_table (info)->is_vxworks + && info->shared + && (strcmp (h->root.root.string, "__GOTT_BASE__") == 0 + || strcmp (h->root.root.string, "__GOTT_INDEX__") == 0)); +} + /* Calculate the value produced by the RELOCATION (which comes from the INPUT_BFD). The ADDEND is the addend to use for this RELOCATION; RELOCATION->R_ADDEND is ignored. @@ -3667,6 +3890,11 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, bfd_boolean overflowed_p; /* TRUE if this relocation refers to a MIPS16 function. */ bfd_boolean target_is_16_bit_code_p = FALSE; + struct mips_elf_link_hash_table *htab; + bfd *dynobj; + + dynobj = elf_hash_table (info)->dynobj; + htab = mips_elf_hash_table (info); /* Parse the relocation. */ r_symndx = ELF_R_SYM (input_bfd, relocation->r_info); @@ -3916,52 +4144,61 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, /* Find the index into the GOT where this value is located. */ if (r_type == R_MIPS_TLS_LDM) { - g = mips_elf_local_got_index (abfd, input_bfd, info, 0, 0, NULL, - r_type); + g = mips_elf_local_got_index (abfd, input_bfd, info, + sec, 0, 0, NULL, r_type); if (g == MINUS_ONE) return bfd_reloc_outofrange; } else if (!local_p) { - /* GOT_PAGE may take a non-zero addend, that is ignored in a - GOT_PAGE relocation that decays to GOT_DISP because the - symbol turns out to be global. The addend is then added - as GOT_OFST. */ - BFD_ASSERT (addend == 0 || r_type == R_MIPS_GOT_PAGE); - g = mips_elf_global_got_index (elf_hash_table (info)->dynobj, - input_bfd, - (struct elf_link_hash_entry *) h, - r_type, info); - if (h->tls_type == GOT_NORMAL - && (! elf_hash_table(info)->dynamic_sections_created - || (info->shared - && (info->symbolic || h->root.forced_local) - && h->root.def_regular))) + /* On VxWorks, CALL relocations should refer to the .got.plt + entry, which is initialized to point at the PLT stub. */ + if (htab->is_vxworks + && (r_type == R_MIPS_CALL_HI16 + || r_type == R_MIPS_CALL_LO16 + || r_type == R_MIPS_CALL16)) { - /* This is a static link or a -Bsymbolic link. The - symbol is defined locally, or was forced to be local. - We must initialize this entry in the GOT. */ - bfd *tmpbfd = elf_hash_table (info)->dynobj; - asection *sgot = mips_elf_got_section (tmpbfd, FALSE); - MIPS_ELF_PUT_WORD (tmpbfd, symbol, sgot->contents + g); + BFD_ASSERT (addend == 0); + BFD_ASSERT (h->root.needs_plt); + g = mips_elf_gotplt_index (info, &h->root); + } + else + { + /* GOT_PAGE may take a non-zero addend, that is ignored in a + GOT_PAGE relocation that decays to GOT_DISP because the + symbol turns out to be global. The addend is then added + as GOT_OFST. */ + BFD_ASSERT (addend == 0 || r_type == R_MIPS_GOT_PAGE); + g = mips_elf_global_got_index (dynobj, input_bfd, + &h->root, r_type, info); + if (h->tls_type == GOT_NORMAL + && (! elf_hash_table(info)->dynamic_sections_created + || (info->shared + && (info->symbolic || h->root.forced_local) + && h->root.def_regular))) + { + /* This is a static link or a -Bsymbolic link. The + symbol is defined locally, or was forced to be local. + We must initialize this entry in the GOT. */ + asection *sgot = mips_elf_got_section (dynobj, FALSE); + MIPS_ELF_PUT_WORD (dynobj, symbol, sgot->contents + g); + } } } - else if (r_type == R_MIPS_GOT16 || r_type == R_MIPS_CALL16) - /* There's no need to create a local GOT entry here; the - calculation for a local GOT16 entry does not involve G. */ + else if (!htab->is_vxworks + && (r_type == R_MIPS_CALL16 || (r_type == R_MIPS_GOT16))) + /* The calculation below does not involve "g". */ break; else { - g = mips_elf_local_got_index (abfd, input_bfd, - info, symbol + addend, r_symndx, h, - r_type); + g = mips_elf_local_got_index (abfd, input_bfd, info, sec, + symbol + addend, r_symndx, h, r_type); if (g == MINUS_ONE) return bfd_reloc_outofrange; } /* Convert GOT indices to actual offsets. */ - g = mips_elf_got_offset_from_index (elf_hash_table (info)->dynobj, - abfd, input_bfd, g); + g = mips_elf_got_offset_from_index (dynobj, abfd, input_bfd, g); break; case R_MIPS_HI16: @@ -3974,10 +4211,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, case R_MIPS16_GPREL: gp0 = _bfd_get_gp_value (input_bfd); gp = _bfd_get_gp_value (abfd); - if (elf_hash_table (info)->dynobj) - gp += mips_elf_adjust_gp (abfd, - mips_elf_got_info - (elf_hash_table (info)->dynobj, NULL), + if (dynobj) + gp += mips_elf_adjust_gp (abfd, mips_elf_got_info (dynobj, NULL), input_bfd); break; @@ -3988,6 +4223,27 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, if (gnu_local_gp_p) symbol = gp; + /* Relocations against the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ + symbols are resolved by the loader. Add them to .rela.dyn. */ + if (h != NULL && is_gott_symbol (info, &h->root)) + { + Elf_Internal_Rela outrel; + bfd_byte *loc; + asection *s; + + s = mips_elf_rel_dyn_section (info, FALSE); + loc = s->contents + s->reloc_count++ * sizeof (Elf32_External_Rela); + + outrel.r_offset = (input_section->output_section->vma + + input_section->output_offset + + relocation->r_offset); + outrel.r_info = ELF32_R_INFO (h->root.dynindx, r_type); + outrel.r_addend = addend; + bfd_elf32_swap_reloca_out (abfd, &outrel, loc); + *valuep = 0; + return bfd_reloc_ok; + } + /* Figure out what kind of relocation is being performed. */ switch (r_type) { @@ -4003,7 +4259,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, case R_MIPS_REL32: case R_MIPS_64: if ((info->shared - || (elf_hash_table (info)->dynamic_sections_created + || (!htab->is_vxworks + && htab->root.dynamic_sections_created && h != NULL && h->root.def_dynamic && !h->root.def_regular)) @@ -4014,7 +4271,11 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, against a symbol in a shared library, then we can't know where the symbol will end up. So, we create a relocation record in the output, and leave the job up to the dynamic - linker. */ + linker. + + In VxWorks executables, references to external symbols + are handled using copy relocs or PLT stubs, so there's + no need to add a dynamic relocation here. */ value = addend; if (!mips_elf_create_dynamic_relocation (abfd, info, @@ -4166,22 +4427,20 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, case R_MIPS_GOT16: case R_MIPS_CALL16: - if (local_p) + /* VxWorks does not have separate local and global semantics for + R_MIPS_GOT16; every relocation evaluates to "G". */ + if (!htab->is_vxworks && local_p) { bfd_boolean forced; - /* The special case is when the symbol is forced to be local. We - need the full address in the GOT since no R_MIPS_LO16 relocation - follows. */ forced = ! mips_elf_local_relocation_p (input_bfd, relocation, local_sections, FALSE); - value = mips_elf_got16_entry (abfd, input_bfd, info, + value = mips_elf_got16_entry (abfd, input_bfd, info, sec, symbol + addend, forced); if (value == MINUS_ONE) return bfd_reloc_outofrange; value - = mips_elf_got_offset_from_index (elf_hash_table (info)->dynobj, - abfd, input_bfd, value); + = mips_elf_got_offset_from_index (dynobj, abfd, input_bfd, value); overflowed_p = mips_elf_overflow_p (value, 16); break; } @@ -4231,17 +4490,18 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, 0. */ if (! local_p) goto got_disp; - value = mips_elf_got_page (abfd, input_bfd, info, symbol + addend, NULL); + value = mips_elf_got_page (abfd, input_bfd, info, sec, + symbol + addend, NULL); if (value == MINUS_ONE) return bfd_reloc_outofrange; - value = mips_elf_got_offset_from_index (elf_hash_table (info)->dynobj, - abfd, input_bfd, value); + value = mips_elf_got_offset_from_index (dynobj, abfd, input_bfd, value); overflowed_p = mips_elf_overflow_p (value, 16); break; case R_MIPS_GOT_OFST: if (local_p) - mips_elf_got_page (abfd, input_bfd, info, symbol + addend, &value); + mips_elf_got_page (abfd, input_bfd, info, sec, + symbol + addend, &value); else value = addend; overflowed_p = mips_elf_overflow_p (value, 16); @@ -4426,23 +4686,31 @@ mips_elf_stub_section_p (bfd *abfd ATTRIBUTE_UNUSED, asection *section) || strncmp (name, CALL_FP_STUB, sizeof CALL_FP_STUB - 1) == 0); } -/* Add room for N relocations to the .rel.dyn section in ABFD. */ +/* Add room for N relocations to the .rel(a).dyn section in ABFD. */ static void -mips_elf_allocate_dynamic_relocations (bfd *abfd, unsigned int n) +mips_elf_allocate_dynamic_relocations (bfd *abfd, struct bfd_link_info *info, + unsigned int n) { asection *s; + struct mips_elf_link_hash_table *htab; - s = mips_elf_rel_dyn_section (abfd, FALSE); + htab = mips_elf_hash_table (info); + s = mips_elf_rel_dyn_section (info, FALSE); BFD_ASSERT (s != NULL); - if (s->size == 0) + if (htab->is_vxworks) + s->size += n * MIPS_ELF_RELA_SIZE (abfd); + else { - /* Make room for a null element. */ - s->size += MIPS_ELF_REL_SIZE (abfd); - ++s->reloc_count; + if (s->size == 0) + { + /* Make room for a null element. */ + s->size += MIPS_ELF_REL_SIZE (abfd); + ++s->reloc_count; + } + s->size += n * MIPS_ELF_REL_SIZE (abfd); } - s->size += n * MIPS_ELF_REL_SIZE (abfd); } /* Create a rel.dyn relocation for the dynamic linker to resolve. REL @@ -4464,10 +4732,12 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd, int r_type; long indx; bfd_boolean defined_p; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); r_type = ELF_R_TYPE (output_bfd, rel->r_info); dynobj = elf_hash_table (info)->dynobj; - sreloc = mips_elf_rel_dyn_section (dynobj, FALSE); + sreloc = mips_elf_rel_dyn_section (info, FALSE); BFD_ASSERT (sreloc != NULL); BFD_ASSERT (sreloc->contents != NULL); BFD_ASSERT (sreloc->reloc_count * MIPS_ELF_REL_SIZE (output_bfd) @@ -4552,10 +4822,15 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd, if (defined_p && r_type != R_MIPS_REL32) *addendp += symbol; - /* The relocation is always an REL32 relocation because we don't - know where the shared library will wind up at load-time. */ - outrel[0].r_info = ELF_R_INFO (output_bfd, (unsigned long) indx, - R_MIPS_REL32); + if (htab->is_vxworks) + /* VxWorks uses non-relative relocations for this. */ + outrel[0].r_info = ELF32_R_INFO (indx, R_MIPS_32); + else + /* The relocation is always an REL32 relocation because we don't + know where the shared library will wind up at load-time. */ + outrel[0].r_info = ELF_R_INFO (output_bfd, (unsigned long) indx, + R_MIPS_REL32); + /* For strict adherence to the ABI specification, we should generate a R_MIPS_64 relocation record by itself before the _REL32/_64 record as well, such that the addend is read in as @@ -4593,6 +4868,15 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd, (sreloc->contents + sreloc->reloc_count * sizeof (Elf64_Mips_External_Rel))); } + else if (htab->is_vxworks) + { + /* VxWorks uses RELA rather than REL dynamic relocations. */ + outrel[0].r_addend = *addendp; + bfd_elf32_swap_reloca_out + (output_bfd, &outrel[0], + (sreloc->contents + + sreloc->reloc_count * sizeof (Elf32_External_Rela))); + } else bfd_elf32_swap_reloc_out (output_bfd, &outrel[0], @@ -4637,6 +4921,12 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd, } } + /* If we've written this relocation for a readonly section, + we need to set DF_TEXTREL again, so that we do not delete the + DT_TEXTREL tag. */ + if (MIPS_ELF_READONLY_SECTION (input_section)) + info->flags |= DF_TEXTREL; + return TRUE; } @@ -5609,23 +5899,29 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) flagword flags; register asection *s; const char * const *namep; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_READONLY); - /* Mips ABI requests the .dynamic section to be read only. */ - s = bfd_get_section_by_name (abfd, ".dynamic"); - if (s != NULL) + /* The psABI requires a read-only .dynamic section, but the VxWorks + EABI doesn't. */ + if (!htab->is_vxworks) { - if (! bfd_set_section_flags (abfd, s, flags)) - return FALSE; + s = bfd_get_section_by_name (abfd, ".dynamic"); + if (s != NULL) + { + if (! bfd_set_section_flags (abfd, s, flags)) + return FALSE; + } } /* We need to create .got section. */ if (! mips_elf_create_got_section (abfd, info, FALSE)) return FALSE; - if (! mips_elf_rel_dyn_section (elf_hash_table (info)->dynobj, TRUE)) + if (! mips_elf_rel_dyn_section (info, TRUE)) return FALSE; /* Create .stub section. */ @@ -5746,6 +6042,45 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) } } + if (htab->is_vxworks) + { + /* Create the .plt, .rela.plt, .dynbss and .rela.bss sections. + Also create the _PROCEDURE_LINKAGE_TABLE symbol. */ + if (!_bfd_elf_create_dynamic_sections (abfd, info)) + return FALSE; + + /* Cache the sections created above. */ + htab->sdynbss = bfd_get_section_by_name (abfd, ".dynbss"); + htab->srelbss = bfd_get_section_by_name (abfd, ".rela.bss"); + htab->srelplt = bfd_get_section_by_name (abfd, ".rela.plt"); + htab->splt = bfd_get_section_by_name (abfd, ".plt"); + if (!htab->sdynbss + || (!htab->srelbss && !info->shared) + || !htab->srelplt + || !htab->splt) + abort (); + + /* Do the usual VxWorks handling. */ + if (!elf_vxworks_create_dynamic_sections (abfd, info, &htab->srelplt2)) + return FALSE; + + /* Work out the PLT sizes. */ + if (info->shared) + { + htab->plt_header_size + = 4 * ARRAY_SIZE (mips_vxworks_shared_plt0_entry); + htab->plt_entry_size + = 4 * ARRAY_SIZE (mips_vxworks_shared_plt_entry); + } + else + { + htab->plt_header_size + = 4 * ARRAY_SIZE (mips_vxworks_exec_plt0_entry); + htab->plt_entry_size + = 4 * ARRAY_SIZE (mips_vxworks_exec_plt_entry); + } + } + return TRUE; } @@ -5767,10 +6102,12 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sgot; asection *sreloc; const struct elf_backend_data *bed; + struct mips_elf_link_hash_table *htab; if (info->relocatable) return TRUE; + htab = mips_elf_hash_table (info); dynobj = elf_hash_table (info)->dynobj; symtab_hdr = &elf_tdata (abfd)->symtab_hdr; sym_hashes = elf_sym_hashes (abfd); @@ -6012,13 +6349,24 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, if (! mips_elf_create_got_section (dynobj, info, FALSE)) return FALSE; g = mips_elf_got_info (dynobj, &sgot); + if (htab->is_vxworks && !info->shared) + { + (*_bfd_error_handler) + (_("%B: GOT reloc at 0x%lx not expected in executables"), + abfd, (unsigned long) rel->r_offset); + bfd_set_error (bfd_error_bad_value); + return FALSE; + } break; case R_MIPS_32: case R_MIPS_REL32: case R_MIPS_64: + /* In VxWorks executables, references to external symbols + are handled using copy relocs or PLT stubs, so there's + no need to add a dynamic relocation here. */ if (dynobj == NULL - && (info->shared || h != NULL) + && (info->shared || (h != NULL && !htab->is_vxworks)) && (sec->flags & SEC_ALLOC) != 0) elf_hash_table (info)->dynobj = dynobj = abfd; break; @@ -6028,15 +6376,35 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, } } - if (!h && (r_type == R_MIPS_CALL_LO16 - || r_type == R_MIPS_GOT_LO16 - || r_type == R_MIPS_GOT_DISP)) + if (h) + { + ((struct mips_elf_link_hash_entry *) h)->is_relocation_target = TRUE; + + /* Relocations against the special VxWorks __GOTT_BASE__ and + __GOTT_INDEX__ symbols must be left to the loader. Allocate + room for them in .rela.dyn. */ + if (is_gott_symbol (info, h)) + { + if (sreloc == NULL) + { + sreloc = mips_elf_rel_dyn_section (info, TRUE); + if (sreloc == NULL) + return FALSE; + } + mips_elf_allocate_dynamic_relocations (dynobj, info, 1); + } + } + else if (r_type == R_MIPS_CALL_LO16 + || r_type == R_MIPS_GOT_LO16 + || r_type == R_MIPS_GOT_DISP + || (r_type == R_MIPS_GOT16 && htab->is_vxworks)) { /* We may need a local GOT entry for this relocation. We don't count R_MIPS_GOT_PAGE because we can estimate the maximum number of pages needed by looking at the size of the segment. Similar comments apply to R_MIPS_GOT16 and - R_MIPS_CALL16. We don't count R_MIPS_GOT_HI16, or + R_MIPS_CALL16, except on VxWorks, where GOT relocations + always evaluate to "G". We don't count R_MIPS_GOT_HI16, or R_MIPS_CALL_HI16 because these are always followed by an R_MIPS_GOT_LO16 or R_MIPS_CALL_LO16. */ if (! mips_elf_record_local_got_symbol (abfd, r_symndx, @@ -6061,8 +6429,11 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, case R_MIPS_CALL_LO16: if (h != NULL) { - /* This symbol requires a global offset table entry. */ - if (! mips_elf_record_global_got_symbol (h, abfd, info, g, 0)) + /* VxWorks call relocations point the function's .got.plt + entry, which will be allocated by adjust_dynamic_symbol. + Otherwise, this symbol requires a global GOT entry. */ + if (!htab->is_vxworks + && !mips_elf_record_global_got_symbol (h, abfd, info, g, 0)) return FALSE; /* We need a stub, not a plt entry for the undefined @@ -6148,25 +6519,25 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, case R_MIPS_32: case R_MIPS_REL32: case R_MIPS_64: - if ((info->shared || h != NULL) + /* In VxWorks executables, references to external symbols + are handled using copy relocs or PLT stubs, so there's + no need to add a .rela.dyn entry for this relocation. */ + if ((info->shared || (h != NULL && !htab->is_vxworks)) && (sec->flags & SEC_ALLOC) != 0) { if (sreloc == NULL) { - sreloc = mips_elf_rel_dyn_section (dynobj, TRUE); + sreloc = mips_elf_rel_dyn_section (info, TRUE); if (sreloc == NULL) return FALSE; } -#define MIPS_READONLY_SECTION (SEC_ALLOC | SEC_LOAD | SEC_READONLY) if (info->shared) { /* When creating a shared object, we must copy these reloc types into the output file as R_MIPS_REL32 - relocs. We make room for this reloc in the - .rel.dyn reloc section. */ - mips_elf_allocate_dynamic_relocations (dynobj, 1); - if ((sec->flags & MIPS_READONLY_SECTION) - == MIPS_READONLY_SECTION) + relocs. Make room for this reloc in .rel(a).dyn. */ + mips_elf_allocate_dynamic_relocations (dynobj, info, 1); + if (MIPS_ELF_READONLY_SECTION (sec)) /* We tell the dynamic linker that there are relocations against the text segment. */ info->flags |= DF_TEXTREL; @@ -6179,8 +6550,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, defined in a dynamic object. */ hmips = (struct mips_elf_link_hash_entry *) h; ++hmips->possibly_dynamic_relocs; - if ((sec->flags & MIPS_READONLY_SECTION) - == MIPS_READONLY_SECTION) + if (MIPS_ELF_READONLY_SECTION (sec)) /* We need it to tell the dynamic linker if there are relocations against the text segment. */ hmips->readonly_reloc = TRUE; @@ -6189,8 +6559,10 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* Even though we don't directly need a GOT entry for this symbol, a symbol must have a dynamic symbol table index greater that DT_MIPS_GOTSYM if there are - dynamic relocations against it. */ - if (h != NULL) + dynamic relocations against it. This does not apply + to VxWorks, which does not have the usual coupling + between global GOT entries and .dynsym entries. */ + if (h != NULL && !htab->is_vxworks) { if (dynobj == NULL) elf_hash_table (info)->dynobj = dynobj = abfd; @@ -6207,7 +6579,16 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, sizeof (Elf32_External_crinfo); break; + case R_MIPS_PC16: + if (h) + ((struct mips_elf_link_hash_entry *) h)->is_branch_target = TRUE; + break; + case R_MIPS_26: + if (h) + ((struct mips_elf_link_hash_entry *) h)->is_branch_target = TRUE; + /* Fall through. */ + case R_MIPS_GPREL16: case R_MIPS_LITERAL: case R_MIPS_GPREL32: @@ -6235,24 +6616,21 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, } /* We must not create a stub for a symbol that has relocations - related to taking the function's address. */ - switch (r_type) - { - default: - if (h != NULL) - { - struct mips_elf_link_hash_entry *mh; - - mh = (struct mips_elf_link_hash_entry *) h; - mh->no_fn_stub = TRUE; - } - break; - case R_MIPS_CALL16: - case R_MIPS_CALL_HI16: - case R_MIPS_CALL_LO16: - case R_MIPS_JALR: - break; - } + related to taking the function's address. This doesn't apply to + VxWorks, where CALL relocs refer to a .got.plt entry instead of + a normal .got entry. */ + if (!htab->is_vxworks && h != NULL) + switch (r_type) + { + default: + ((struct mips_elf_link_hash_entry *) h)->no_fn_stub = TRUE; + break; + case R_MIPS_CALL16: + case R_MIPS_CALL_HI16: + case R_MIPS_CALL_LO16: + case R_MIPS_JALR: + break; + } /* If this reloc is not a 16 bit call, and it has a global symbol, then we will need the fn_stub if there is one. @@ -6459,7 +6837,9 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, bfd *dynobj; struct mips_elf_link_hash_entry *hmips; asection *s; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); dynobj = elf_hash_table (info)->dynobj; /* Make sure we know what is going on here. */ @@ -6479,8 +6859,8 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, && (h->root.type == bfd_link_hash_defweak || !h->def_regular)) { - mips_elf_allocate_dynamic_relocations (dynobj, - hmips->possibly_dynamic_relocs); + mips_elf_allocate_dynamic_relocations + (dynobj, info, hmips->possibly_dynamic_relocs); if (hmips->readonly_reloc) /* We tell the dynamic linker that there are relocations against the text segment. */ @@ -6512,7 +6892,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, h->plt.offset = s->size; /* Make room for this stub code. */ - s->size += MIPS_FUNCTION_STUB_SIZE; + s->size += htab->function_stub_size; /* The last half word of the stub will be filled with the index of this symbol in .dynsym section. */ @@ -6545,7 +6925,187 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, return TRUE; } + +/* Likewise, for VxWorks. */ + +bfd_boolean +_bfd_mips_vxworks_adjust_dynamic_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *h) +{ + bfd *dynobj; + struct mips_elf_link_hash_entry *hmips; + struct mips_elf_link_hash_table *htab; + unsigned int power_of_two; + + htab = mips_elf_hash_table (info); + dynobj = elf_hash_table (info)->dynobj; + hmips = (struct mips_elf_link_hash_entry *) h; + + /* Make sure we know what is going on here. */ + BFD_ASSERT (dynobj != NULL + && (h->needs_plt + || h->needs_copy + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); + + /* If the symbol is defined by a dynamic object, we need a PLT stub if + either (a) we want to branch to the symbol or (b) we're linking an + executable that needs a canonical function address. In the latter + case, the canonical address will be the address of the executable's + load stub. */ + if ((hmips->is_branch_target + || (!info->shared + && h->type == STT_FUNC + && hmips->is_relocation_target)) + && h->def_dynamic + && h->ref_regular + && !h->def_regular + && !h->forced_local) + h->needs_plt = 1; + + /* Locally-binding symbols do not need a PLT stub; we can refer to + the functions directly. */ + else if (h->needs_plt + && (SYMBOL_CALLS_LOCAL (info, h) + || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT + && h->root.type == bfd_link_hash_undefweak))) + { + h->needs_plt = 0; + return TRUE; + } + + if (h->needs_plt) + { + /* If this is the first symbol to need a PLT entry, allocate room + for the header, and for the header's .rela.plt.unloaded entries. */ + if (htab->splt->size == 0) + { + htab->splt->size += htab->plt_header_size; + if (!info->shared) + htab->srelplt2->size += 2 * sizeof (Elf32_External_Rela); + } + + /* Assign the next .plt entry to this symbol. */ + h->plt.offset = htab->splt->size; + htab->splt->size += htab->plt_entry_size; + + /* If the output file has no definition of the symbol, set the + symbol's value to the address of the stub. For executables, + point at the PLT load stub rather than the lazy resolution stub; + this stub will become the canonical function address. */ + if (!h->def_regular) + { + h->root.u.def.section = htab->splt; + h->root.u.def.value = h->plt.offset; + if (!info->shared) + h->root.u.def.value += 8; + } + + /* Make room for the .got.plt entry and the R_JUMP_SLOT relocation. */ + htab->sgotplt->size += 4; + htab->srelplt->size += sizeof (Elf32_External_Rela); + + /* Make room for the .rela.plt.unloaded relocations. */ + if (!info->shared) + htab->srelplt2->size += 3 * sizeof (Elf32_External_Rela); + + return TRUE; + } + + /* If a function symbol is defined by a dynamic object, and we do not + need a PLT stub for it, the symbol's value should be zero. */ + if (h->type == STT_FUNC + && h->def_dynamic + && h->ref_regular + && !h->def_regular) + { + h->root.u.def.value = 0; + return TRUE; + } + + /* 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; + return TRUE; + } + + /* This is a reference to a symbol defined by a dynamic object which + is not a function. */ + if (info->shared) + 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. */ + + if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) + { + htab->srelbss->size += sizeof (Elf32_External_Rela); + h->needs_copy = 1; + } + + /* We need to figure out the alignment required for this symbol. */ + power_of_two = bfd_log2 (h->size); + if (power_of_two > 4) + power_of_two = 4; + + /* Apply the required alignment. */ + htab->sdynbss->size = BFD_ALIGN (htab->sdynbss->size, + (bfd_size_type) 1 << power_of_two); + if (power_of_two > bfd_get_section_alignment (dynobj, htab->sdynbss) + && !bfd_set_section_alignment (dynobj, htab->sdynbss, power_of_two)) + return FALSE; + + /* Define the symbol as being at this point in the section. */ + h->root.u.def.section = htab->sdynbss; + h->root.u.def.value = htab->sdynbss->size; + + /* Increment the section size to make room for the symbol. */ + htab->sdynbss->size += h->size; + + return TRUE; +} +/* Return the number of dynamic section symbols required by OUTPUT_BFD. + The number might be exact or a worst-case estimate, depending on how + much information is available to elf_backend_omit_section_dynsym at + the current linking stage. */ + +static bfd_size_type +count_section_dynsyms (bfd *output_bfd, struct bfd_link_info *info) +{ + bfd_size_type count; + + count = 0; + if (info->shared) + { + asection *p; + const struct elf_backend_data *bed; + + bed = get_elf_backend_data (output_bfd); + for (p = output_bfd->sections; p ; p = p->next) + if ((p->flags & SEC_EXCLUDE) == 0 + && (p->flags & SEC_ALLOC) != 0 + && !(*bed->elf_backend_omit_section_dynsym) (output_bfd, info, p)) + ++count; + } + return count; +} + /* This function is called after all the input files have been read, and the input sections have been assigned to output sections. We check for any mips16 stub sections that we can discard. */ @@ -6562,8 +7122,12 @@ _bfd_mips_elf_always_size_sections (bfd *output_bfd, int i; bfd_size_type loadable_size = 0; bfd_size_type local_gotno; + bfd_size_type dynsymcount; bfd *sub; struct mips_elf_count_tls_arg count_tls_arg; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); /* The .reginfo section has a fixed size. */ ri = bfd_get_section_by_name (output_bfd, ".reginfo"); @@ -6617,14 +7181,32 @@ _bfd_mips_elf_always_size_sections (bfd *output_bfd, relocations, then GLOBAL_GOTSYM will be NULL. */ i = 0; + /* Get a worst-case estimate of the number of dynamic symbols needed. + At this point, dynsymcount does not account for section symbols + and count_section_dynsyms may overestimate the number that will + be needed. */ + dynsymcount = (elf_hash_table (info)->dynsymcount + + count_section_dynsyms (output_bfd, info)); + + /* Determine the size of one stub entry. */ + htab->function_stub_size = (dynsymcount > 0x10000 + ? MIPS_FUNCTION_STUB_BIG_SIZE + : MIPS_FUNCTION_STUB_NORMAL_SIZE); + /* In the worst case, we'll get one stub per dynamic symbol, plus one to account for the dummy entry at the end required by IRIX rld. */ - loadable_size += MIPS_FUNCTION_STUB_SIZE * (i + 1); + loadable_size += htab->function_stub_size * (i + 1); - /* Assume there are two loadable segments consisting of - contiguous sections. Is 5 enough? */ - local_gotno = (loadable_size >> 16) + 5; + if (htab->is_vxworks) + /* There's no need to allocate page entries for VxWorks; R_MIPS_GOT16 + relocations against local symbols evaluate to "G", and the EABI does + not include R_MIPS_GOT_PAGE. */ + local_gotno = 0; + else + /* Assume there are two loadable segments consisting of contiguous + sections. Is 5 enough? */ + local_gotno = (loadable_size >> 16) + 5; g->local_gotno += local_gotno; s->size += g->local_gotno * MIPS_ELF_GOT_SIZE (output_bfd); @@ -6645,7 +7227,10 @@ _bfd_mips_elf_always_size_sections (bfd *output_bfd, mips_elf_resolve_final_got_entries (g); - if (s->size > MIPS_ELF_GOT_MAX_SIZE (output_bfd)) + /* VxWorks does not support multiple GOTs. It initializes $gp to + __GOTT_BASE__[__GOTT_INDEX__], the value of which is set by the + dynamic loader. */ + if (!htab->is_vxworks && s->size > MIPS_ELF_GOT_MAX_SIZE (info)) { if (! mips_elf_multi_got (output_bfd, info, g, s, local_gotno)) return FALSE; @@ -6667,9 +7252,11 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) { bfd *dynobj; - asection *s; + asection *s, *sreldyn; bfd_boolean reltext; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); dynobj = elf_hash_table (info)->dynobj; BFD_ASSERT (dynobj != NULL); @@ -6691,6 +7278,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, determined the sizes of the various dynamic sections. Allocate memory for them. */ reltext = FALSE; + sreldyn = NULL; for (s = dynobj->sections; s != NULL; s = s->next) { const char *name; @@ -6711,7 +7299,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, /* If this relocation section applies to a read only section, then we probably need a DT_TEXTREL entry. - If the relocation section is .rel.dyn, we always + If the relocation section is .rel(a).dyn, we always assert a DT_TEXTREL entry rather than testing whether there exists a relocation to a read only section or not. */ @@ -6721,12 +7309,12 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, if ((target != NULL && (target->flags & SEC_READONLY) != 0 && (target->flags & SEC_ALLOC) != 0) - || strcmp (outname, ".rel.dyn") == 0) + || strcmp (outname, MIPS_ELF_REL_DYN_NAME (info)) == 0) reltext = TRUE; /* We use the reloc_count field as a counter if we need to copy relocs into the output file. */ - if (strcmp (name, ".rel.dyn") != 0) + if (strcmp (name, MIPS_ELF_REL_DYN_NAME (info)) != 0) s->reloc_count = 0; /* If combreloc is enabled, elf_link_sort_relocs() will @@ -6738,7 +7326,23 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, info->combreloc = 0; } } - else if (strncmp (name, ".got", 4) == 0) + else if (htab->is_vxworks && strcmp (name, ".got") == 0) + { + /* Executables do not need a GOT. */ + if (info->shared) + { + /* Allocate relocations for all but the reserved entries. */ + struct mips_got_info *g; + unsigned int count; + + g = mips_elf_got_info (dynobj, NULL); + count = (g->global_gotno + + g->local_gotno + - MIPS_RESERVED_GOTNO (info)); + mips_elf_allocate_dynamic_relocations (dynobj, info, count); + } + } + else if (!htab->is_vxworks && strncmp (name, ".got", 4) == 0) { /* _bfd_mips_elf_always_size_sections() has already done most of the work, but some symbols may have been mapped @@ -6783,7 +7387,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, BFD_ASSERT (g->assigned_gotno == g->next->local_gotno + g->next->global_gotno + g->next->tls_gotno - + MIPS_RESERVED_GOTNO); + + MIPS_RESERVED_GOTNO (info)); } } } @@ -6803,26 +7407,29 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, } if (needed_relocs) - mips_elf_allocate_dynamic_relocations (dynobj, needed_relocs); + mips_elf_allocate_dynamic_relocations (dynobj, info, + needed_relocs); } else if (strcmp (name, MIPS_ELF_STUB_SECTION_NAME (output_bfd)) == 0) { /* IRIX rld assumes that the function stub isn't at the end - of .text section. So put a dummy. XXX */ - s->size += MIPS_FUNCTION_STUB_SIZE; + of .text section. So put a dummy. XXX */ + s->size += htab->function_stub_size; } else if (! info->shared && ! mips_elf_hash_table (info)->use_rld_obj_head && strncmp (name, ".rld_map", 8) == 0) { - /* We add a room for __rld_map. It will be filled in by the + /* We add a room for __rld_map. It will be filled in by the rtld to contain a pointer to the _r_debug structure. */ s->size += 4; } else if (SGI_COMPAT (output_bfd) && strncmp (name, ".compact_rel", 12) == 0) s->size += mips_elf_hash_table (info)->compact_rel_size; - else if (strncmp (name, ".init", 5) != 0) + else if (strncmp (name, ".init", 5) != 0 + && s != htab->sgotplt + && s != htab->splt) { /* It's not one of our sections, so don't allocate space. */ continue; @@ -6837,6 +7444,14 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, if ((s->flags & SEC_HAS_CONTENTS) == 0) continue; + /* Allocate memory for this section last, since we may increase its + size above. */ + if (strcmp (name, MIPS_ELF_REL_DYN_NAME (info)) == 0) + { + sreldyn = s; + continue; + } + /* Allocate memory for the section contents. */ s->contents = bfd_zalloc (dynobj, s->size); if (s->contents == NULL) @@ -6846,6 +7461,17 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, } } + /* Allocate memory for the .rel(a).dyn section. */ + if (sreldyn != NULL) + { + sreldyn->contents = bfd_zalloc (dynobj, sreldyn->size); + if (sreldyn->contents == NULL) + { + bfd_set_error (bfd_error_no_memory); + return FALSE; + } + } + if (elf_hash_table (info)->dynamic_sections_created) { /* Add some entries to the .dynamic section. We fill in the @@ -6875,60 +7501,96 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd, } } - if (reltext && SGI_COMPAT (output_bfd)) + if (reltext && (SGI_COMPAT (output_bfd) || htab->is_vxworks)) info->flags |= DF_TEXTREL; if ((info->flags & DF_TEXTREL) != 0) { if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_TEXTREL, 0)) return FALSE; + + /* Clear the DF_TEXTREL flag. It will be set again if we + write out an actual text relocation; we may not, because + at this point we do not know whether e.g. any .eh_frame + absolute relocations have been converted to PC-relative. */ + info->flags &= ~DF_TEXTREL; } if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_PLTGOT, 0)) return FALSE; - if (mips_elf_rel_dyn_section (dynobj, FALSE)) + if (htab->is_vxworks) { - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_REL, 0)) - return FALSE; + /* VxWorks uses .rela.dyn instead of .rel.dyn. It does not + use any of the DT_MIPS_* tags. */ + if (mips_elf_rel_dyn_section (info, FALSE)) + { + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELA, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELSZ, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELASZ, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELENT, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELAENT, 0)) + return FALSE; + } + if (htab->splt->size > 0) + { + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_PLTREL, 0)) + return FALSE; + + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_JMPREL, 0)) + return FALSE; + + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_PLTRELSZ, 0)) + return FALSE; + } } + else + { + if (mips_elf_rel_dyn_section (info, FALSE)) + { + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_REL, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_VERSION, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELSZ, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_FLAGS, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_RELENT, 0)) + return FALSE; + } - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_BASE_ADDRESS, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_VERSION, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_LOCAL_GOTNO, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_FLAGS, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_SYMTABNO, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_BASE_ADDRESS, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_UNREFEXTNO, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_LOCAL_GOTNO, 0)) + return FALSE; - if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_GOTSYM, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_SYMTABNO, 0)) + return FALSE; - if (IRIX_COMPAT (dynobj) == ict_irix5 - && ! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_HIPAGENO, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_UNREFEXTNO, 0)) + return FALSE; - if (IRIX_COMPAT (dynobj) == ict_irix6 - && (bfd_get_section_by_name - (dynobj, MIPS_ELF_OPTIONS_SECTION_NAME (dynobj))) - && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_OPTIONS, 0)) - return FALSE; + if (! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_GOTSYM, 0)) + return FALSE; + + if (IRIX_COMPAT (dynobj) == ict_irix5 + && ! MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_HIPAGENO, 0)) + return FALSE; + + if (IRIX_COMPAT (dynobj) == ict_irix6 + && (bfd_get_section_by_name + (dynobj, MIPS_ELF_OPTIONS_SECTION_NAME (dynobj))) + && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_OPTIONS, 0)) + return FALSE; + } } return TRUE; @@ -7389,13 +8051,16 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd, asection *sgot; struct mips_got_info *g, *gg; const char *name; + int idx; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); dynobj = elf_hash_table (info)->dynobj; if (h->plt.offset != MINUS_ONE) { asection *s; - bfd_byte stub[MIPS_FUNCTION_STUB_SIZE]; + bfd_byte stub[MIPS_FUNCTION_STUB_BIG_SIZE]; /* This symbol has a stub. Set it up. */ @@ -7405,18 +8070,42 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd, MIPS_ELF_STUB_SECTION_NAME (dynobj)); BFD_ASSERT (s != NULL); - /* FIXME: Can h->dynindx be more than 64K? */ - if (h->dynindx & 0xffff0000) + BFD_ASSERT ((htab->function_stub_size == MIPS_FUNCTION_STUB_BIG_SIZE) + || (h->dynindx <= 0xffff)); + + /* Values up to 2^31 - 1 are allowed. Larger values would cause + sign extension at runtime in the stub, resulting in a negative + index value. */ + if (h->dynindx & ~0x7fffffff) return FALSE; /* Fill the stub. */ - bfd_put_32 (output_bfd, STUB_LW (output_bfd), stub); - bfd_put_32 (output_bfd, STUB_MOVE (output_bfd), stub + 4); - bfd_put_32 (output_bfd, STUB_JALR, stub + 8); - bfd_put_32 (output_bfd, STUB_LI16 (output_bfd) + h->dynindx, stub + 12); + idx = 0; + bfd_put_32 (output_bfd, STUB_LW (output_bfd), stub + idx); + idx += 4; + bfd_put_32 (output_bfd, STUB_MOVE (output_bfd), stub + idx); + idx += 4; + if (htab->function_stub_size == MIPS_FUNCTION_STUB_BIG_SIZE) + { + bfd_put_32 (output_bfd, STUB_LUI ((h->dynindx >> 16) & 0x7fff), + stub + idx); + idx += 4; + } + bfd_put_32 (output_bfd, STUB_JALR, stub + idx); + idx += 4; + + /* If a large stub is not required and sign extension is not a + problem, then use legacy code in the stub. */ + if (htab->function_stub_size == MIPS_FUNCTION_STUB_BIG_SIZE) + bfd_put_32 (output_bfd, STUB_ORI (h->dynindx & 0xffff), stub + idx); + else if (h->dynindx & ~0x7fff) + bfd_put_32 (output_bfd, STUB_LI16U (h->dynindx & 0xffff), stub + idx); + else + bfd_put_32 (output_bfd, STUB_LI16S (output_bfd, h->dynindx), + stub + idx); BFD_ASSERT (h->plt.offset <= s->size); - memcpy (s->contents + h->plt.offset, stub, MIPS_FUNCTION_STUB_SIZE); + memcpy (s->contents + h->plt.offset, stub, htab->function_stub_size); /* Mark the symbol as undefined. plt.offset != -1 occurs only for the referenced symbol. */ @@ -7584,6 +8273,268 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd, return TRUE; } +/* Likewise, for VxWorks. */ + +bfd_boolean +_bfd_mips_vxworks_finish_dynamic_symbol (bfd *output_bfd, + struct bfd_link_info *info, + struct elf_link_hash_entry *h, + Elf_Internal_Sym *sym) +{ + bfd *dynobj; + asection *sgot; + struct mips_got_info *g; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); + dynobj = elf_hash_table (info)->dynobj; + + if (h->plt.offset != (bfd_vma) -1) + { + bfd_byte *loc; + bfd_vma plt_address, plt_index, got_address, got_offset, branch_offset; + Elf_Internal_Rela rel; + static const bfd_vma *plt_entry; + + BFD_ASSERT (h->dynindx != -1); + BFD_ASSERT (htab->splt != NULL); + BFD_ASSERT (h->plt.offset <= htab->splt->size); + + /* Calculate the address of the .plt entry. */ + plt_address = (htab->splt->output_section->vma + + htab->splt->output_offset + + h->plt.offset); + + /* Calculate the index of the entry. */ + plt_index = ((h->plt.offset - htab->plt_header_size) + / htab->plt_entry_size); + + /* Calculate the address of the .got.plt entry. */ + got_address = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + plt_index * 4); + + /* Calculate the offset of the .got.plt entry from + _GLOBAL_OFFSET_TABLE_. */ + got_offset = mips_elf_gotplt_index (info, h); + + /* Calculate the offset for the branch at the start of the PLT + entry. The branch jumps to the beginning of .plt. */ + branch_offset = -(h->plt.offset / 4 + 1) & 0xffff; + + /* Fill in the initial value of the .got.plt entry. */ + bfd_put_32 (output_bfd, plt_address, + htab->sgotplt->contents + plt_index * 4); + + /* Find out where the .plt entry should go. */ + loc = htab->splt->contents + h->plt.offset; + + if (info->shared) + { + plt_entry = mips_vxworks_shared_plt_entry; + bfd_put_32 (output_bfd, plt_entry[0] | branch_offset, loc); + bfd_put_32 (output_bfd, plt_entry[1] | plt_index, loc + 4); + } + else + { + bfd_vma got_address_high, got_address_low; + + plt_entry = mips_vxworks_exec_plt_entry; + got_address_high = ((got_address + 0x8000) >> 16) & 0xffff; + got_address_low = got_address & 0xffff; + + bfd_put_32 (output_bfd, plt_entry[0] | branch_offset, loc); + bfd_put_32 (output_bfd, plt_entry[1] | plt_index, loc + 4); + bfd_put_32 (output_bfd, plt_entry[2] | got_address_high, loc + 8); + bfd_put_32 (output_bfd, plt_entry[3] | got_address_low, loc + 12); + bfd_put_32 (output_bfd, plt_entry[4], loc + 16); + bfd_put_32 (output_bfd, plt_entry[5], loc + 20); + bfd_put_32 (output_bfd, plt_entry[6], loc + 24); + bfd_put_32 (output_bfd, plt_entry[7], loc + 28); + + loc = (htab->srelplt2->contents + + (plt_index * 3 + 2) * sizeof (Elf32_External_Rela)); + + /* Emit a relocation for the .got.plt entry. */ + rel.r_offset = got_address; + rel.r_info = ELF32_R_INFO (htab->root.hplt->indx, R_MIPS_32); + rel.r_addend = h->plt.offset; + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + + /* Emit a relocation for the lui of %hi(<.got.plt slot>). */ + loc += sizeof (Elf32_External_Rela); + rel.r_offset = plt_address + 8; + rel.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_HI16); + rel.r_addend = got_offset; + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + + /* Emit a relocation for the addiu of %lo(<.got.plt slot>). */ + loc += sizeof (Elf32_External_Rela); + rel.r_offset += 4; + rel.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_LO16); + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + } + + /* Emit an R_MIPS_JUMP_SLOT relocation against the .got.plt entry. */ + loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rela); + rel.r_offset = got_address; + rel.r_info = ELF32_R_INFO (h->dynindx, R_MIPS_JUMP_SLOT); + rel.r_addend = 0; + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + + if (!h->def_regular) + sym->st_shndx = SHN_UNDEF; + } + + BFD_ASSERT (h->dynindx != -1 || h->forced_local); + + sgot = mips_elf_got_section (dynobj, FALSE); + BFD_ASSERT (sgot != NULL); + BFD_ASSERT (mips_elf_section_data (sgot) != NULL); + g = mips_elf_section_data (sgot)->u.got_info; + BFD_ASSERT (g != NULL); + + /* See if this symbol has an entry in the GOT. */ + if (g->global_gotsym != NULL + && h->dynindx >= g->global_gotsym->dynindx) + { + bfd_vma offset; + Elf_Internal_Rela outrel; + bfd_byte *loc; + asection *s; + + /* Install the symbol value in the GOT. */ + offset = mips_elf_global_got_index (dynobj, output_bfd, h, + R_MIPS_GOT16, info); + MIPS_ELF_PUT_WORD (output_bfd, sym->st_value, sgot->contents + offset); + + /* Add a dynamic relocation for it. */ + s = mips_elf_rel_dyn_section (info, FALSE); + loc = s->contents + (s->reloc_count++ * sizeof (Elf32_External_Rela)); + outrel.r_offset = (sgot->output_section->vma + + sgot->output_offset + + offset); + outrel.r_info = ELF32_R_INFO (h->dynindx, R_MIPS_32); + outrel.r_addend = 0; + bfd_elf32_swap_reloca_out (dynobj, &outrel, loc); + } + + /* Emit a copy reloc, if needed. */ + if (h->needs_copy) + { + Elf_Internal_Rela rel; + + BFD_ASSERT (h->dynindx != -1); + + rel.r_offset = (h->root.u.def.section->output_section->vma + + h->root.u.def.section->output_offset + + h->root.u.def.value); + rel.r_info = ELF32_R_INFO (h->dynindx, R_MIPS_COPY); + rel.r_addend = 0; + bfd_elf32_swap_reloca_out (output_bfd, &rel, + htab->srelbss->contents + + (htab->srelbss->reloc_count + * sizeof (Elf32_External_Rela))); + ++htab->srelbss->reloc_count; + } + + /* If this is a mips16 symbol, force the value to be even. */ + if (sym->st_other == STO_MIPS16) + sym->st_value &= ~1; + + return TRUE; +} + +/* Install the PLT header for a VxWorks executable and finalize the + contents of .rela.plt.unloaded. */ + +static void +mips_vxworks_finish_exec_plt (bfd *output_bfd, struct bfd_link_info *info) +{ + Elf_Internal_Rela rela; + bfd_byte *loc; + bfd_vma got_value, got_value_high, got_value_low, plt_address; + static const bfd_vma *plt_entry; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); + plt_entry = mips_vxworks_exec_plt0_entry; + + /* Calculate the value of _GLOBAL_OFFSET_TABLE_. */ + got_value = (htab->root.hgot->root.u.def.section->output_section->vma + + htab->root.hgot->root.u.def.section->output_offset + + htab->root.hgot->root.u.def.value); + + got_value_high = ((got_value + 0x8000) >> 16) & 0xffff; + got_value_low = got_value & 0xffff; + + /* Calculate the address of the PLT header. */ + plt_address = htab->splt->output_section->vma + htab->splt->output_offset; + + /* Install the PLT header. */ + loc = htab->splt->contents; + bfd_put_32 (output_bfd, plt_entry[0] | got_value_high, loc); + bfd_put_32 (output_bfd, plt_entry[1] | got_value_low, loc + 4); + bfd_put_32 (output_bfd, plt_entry[2], loc + 8); + bfd_put_32 (output_bfd, plt_entry[3], loc + 12); + bfd_put_32 (output_bfd, plt_entry[4], loc + 16); + bfd_put_32 (output_bfd, plt_entry[5], loc + 20); + + /* Output the relocation for the lui of %hi(_GLOBAL_OFFSET_TABLE_). */ + loc = htab->srelplt2->contents; + rela.r_offset = plt_address; + rela.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_HI16); + rela.r_addend = 0; + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Output the relocation for the following addiu of + %lo(_GLOBAL_OFFSET_TABLE_). */ + rela.r_offset += 4; + rela.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_LO16); + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Fix up the remaining relocations. They may have the wrong + symbol index for _G_O_T_ or _P_L_T_ depending on the order + in which symbols were output. */ + while (loc < htab->srelplt2->contents + htab->srelplt2->size) + { + Elf_Internal_Rela rel; + + bfd_elf32_swap_reloca_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->root.hplt->indx, R_MIPS_32); + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + + bfd_elf32_swap_reloca_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_HI16); + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + + bfd_elf32_swap_reloca_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->root.hgot->indx, R_MIPS_LO16); + bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + } +} + +/* Install the PLT header for a VxWorks shared library. */ + +static void +mips_vxworks_finish_shared_plt (bfd *output_bfd, struct bfd_link_info *info) +{ + unsigned int i; + struct mips_elf_link_hash_table *htab; + + htab = mips_elf_hash_table (info); + + /* We just need to copy the entry byte-by-byte. */ + for (i = 0; i < ARRAY_SIZE (mips_vxworks_shared_plt0_entry); i++) + bfd_put_32 (output_bfd, mips_vxworks_shared_plt0_entry[i], + htab->splt->contents + i * 4); +} + /* Finish up the dynamic sections. */ bfd_boolean @@ -7594,7 +8545,9 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, asection *sdyn; asection *sgot; struct mips_got_info *gg, *g; + struct mips_elf_link_hash_table *htab; + htab = mips_elf_hash_table (info); dynobj = elf_hash_table (info)->dynobj; sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); @@ -7614,6 +8567,7 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, if (elf_hash_table (info)->dynamic_sections_created) { bfd_byte *b; + int dyn_to_skip = 0, dyn_skipped = 0; BFD_ASSERT (sdyn != NULL); BFD_ASSERT (g != NULL); @@ -7637,11 +8591,14 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, switch (dyn.d_tag) { case DT_RELENT: - s = mips_elf_rel_dyn_section (dynobj, FALSE); - BFD_ASSERT (s != NULL); dyn.d_un.d_val = MIPS_ELF_REL_SIZE (dynobj); break; + case DT_RELAENT: + BFD_ASSERT (htab->is_vxworks); + dyn.d_un.d_val = MIPS_ELF_RELA_SIZE (dynobj); + break; + case DT_STRSZ: /* Rewrite DT_STRSZ. */ dyn.d_un.d_val = @@ -7650,9 +8607,20 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, case DT_PLTGOT: name = ".got"; - s = bfd_get_section_by_name (output_bfd, name); - BFD_ASSERT (s != NULL); - dyn.d_un.d_ptr = s->vma; + if (htab->is_vxworks) + { + /* _GLOBAL_OFFSET_TABLE_ is defined to be the beginning + of the ".got" section in DYNOBJ. */ + s = bfd_get_section_by_name (dynobj, name); + BFD_ASSERT (s != NULL); + dyn.d_un.d_ptr = s->output_section->vma + s->output_offset; + } + else + { + s = bfd_get_section_by_name (output_bfd, name); + BFD_ASSERT (s != NULL); + dyn.d_un.d_ptr = s->vma; + } break; case DT_MIPS_RLD_VERSION: @@ -7718,7 +8686,7 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, break; case DT_MIPS_HIPAGENO: - dyn.d_un.d_val = g->local_gotno - MIPS_RESERVED_GOTNO; + dyn.d_un.d_val = g->local_gotno - MIPS_RESERVED_GOTNO (info); break; case DT_MIPS_RLD_MAP: @@ -7731,25 +8699,96 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, dyn.d_un.d_ptr = s->vma; break; + case DT_RELASZ: + BFD_ASSERT (htab->is_vxworks); + /* The count does not include the JUMP_SLOT relocations. */ + if (htab->srelplt) + dyn.d_un.d_val -= htab->srelplt->size; + break; + + case DT_PLTREL: + BFD_ASSERT (htab->is_vxworks); + dyn.d_un.d_val = DT_RELA; + break; + + case DT_PLTRELSZ: + BFD_ASSERT (htab->is_vxworks); + dyn.d_un.d_val = htab->srelplt->size; + break; + + case DT_JMPREL: + BFD_ASSERT (htab->is_vxworks); + dyn.d_un.d_val = (htab->srelplt->output_section->vma + + htab->srelplt->output_offset); + break; + + case DT_TEXTREL: + /* If we didn't need any text relocations after all, delete + the dynamic tag. */ + if (!(info->flags & DF_TEXTREL)) + { + dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj); + swap_out_p = FALSE; + } + break; + + case DT_FLAGS: + /* If we didn't need any text relocations after all, clear + DF_TEXTREL from DT_FLAGS. */ + if (!(info->flags & DF_TEXTREL)) + dyn.d_un.d_val &= ~DF_TEXTREL; + else + swap_out_p = FALSE; + break; + default: swap_out_p = FALSE; break; } - if (swap_out_p) + if (swap_out_p || dyn_skipped) (*get_elf_backend_data (dynobj)->s->swap_dyn_out) - (dynobj, &dyn, b); + (dynobj, &dyn, b - dyn_skipped); + + if (dyn_to_skip) + { + dyn_skipped += dyn_to_skip; + dyn_to_skip = 0; + } } + + /* Wipe out any trailing entries if we shifted down a dynamic tag. */ + if (dyn_skipped > 0) + memset (b - dyn_skipped, 0, dyn_skipped); } - /* The first entry of the global offset table will be filled at - runtime. The second entry will be used by some runtime loaders. - This isn't the case of IRIX rld. */ if (sgot != NULL && sgot->size > 0) { - MIPS_ELF_PUT_WORD (output_bfd, 0, sgot->contents); - MIPS_ELF_PUT_WORD (output_bfd, 0x80000000, - sgot->contents + MIPS_ELF_GOT_SIZE (output_bfd)); + if (htab->is_vxworks) + { + /* The first entry of the global offset table points to the + ".dynamic" section. The second is initialized by the + loader and contains the shared library identifier. + The third is also initialized by the loader and points + to the lazy resolution stub. */ + MIPS_ELF_PUT_WORD (output_bfd, + sdyn->output_offset + sdyn->output_section->vma, + sgot->contents); + MIPS_ELF_PUT_WORD (output_bfd, 0, + sgot->contents + MIPS_ELF_GOT_SIZE (output_bfd)); + MIPS_ELF_PUT_WORD (output_bfd, 0, + sgot->contents + + 2 * MIPS_ELF_GOT_SIZE (output_bfd)); + } + else + { + /* The first entry of the global offset table will be filled at + runtime. The second entry will be used by some runtime loaders. + This isn't the case of IRIX rld. */ + MIPS_ELF_PUT_WORD (output_bfd, (bfd_vma) 0, sgot->contents); + MIPS_ELF_PUT_WORD (output_bfd, (bfd_vma) 0x80000000, + sgot->contents + MIPS_ELF_GOT_SIZE (output_bfd)); + } } if (sgot != NULL) @@ -7823,7 +8862,7 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, decided not to make. This is for the n64 irix rld, which doesn't seem to apply any relocations if there are trailing null entries. */ - s = mips_elf_rel_dyn_section (dynobj, FALSE); + s = mips_elf_rel_dyn_section (info, FALSE); dyn.d_un.d_val = (s->reloc_count * (ABI_64_P (output_bfd) ? sizeof (Elf64_Mips_External_Rel) @@ -7869,32 +8908,45 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, { file_ptr dummy_offset; - BFD_ASSERT (s->size >= MIPS_FUNCTION_STUB_SIZE); - dummy_offset = s->size - MIPS_FUNCTION_STUB_SIZE; + BFD_ASSERT (s->size >= htab->function_stub_size); + dummy_offset = s->size - htab->function_stub_size; memset (s->contents + dummy_offset, 0, - MIPS_FUNCTION_STUB_SIZE); + htab->function_stub_size); } } } - /* We need to sort the entries of the dynamic relocation section. */ - - s = mips_elf_rel_dyn_section (dynobj, FALSE); - - if (s != NULL - && s->size > (bfd_vma)2 * MIPS_ELF_REL_SIZE (output_bfd)) + /* The psABI says that the dynamic relocations must be sorted in + increasing order of r_symndx. The VxWorks EABI doesn't require + this, and because the code below handles REL rather than RELA + relocations, using it for VxWorks would be outright harmful. */ + if (!htab->is_vxworks) { - reldyn_sorting_bfd = output_bfd; + s = mips_elf_rel_dyn_section (info, FALSE); + if (s != NULL + && s->size > (bfd_vma)2 * MIPS_ELF_REL_SIZE (output_bfd)) + { + reldyn_sorting_bfd = output_bfd; - if (ABI_64_P (output_bfd)) - qsort ((Elf64_External_Rel *) s->contents + 1, s->reloc_count - 1, - sizeof (Elf64_Mips_External_Rel), sort_dynamic_relocs_64); - else - qsort ((Elf32_External_Rel *) s->contents + 1, s->reloc_count - 1, - sizeof (Elf32_External_Rel), sort_dynamic_relocs); + if (ABI_64_P (output_bfd)) + qsort ((Elf64_External_Rel *) s->contents + 1, + s->reloc_count - 1, sizeof (Elf64_Mips_External_Rel), + sort_dynamic_relocs_64); + else + qsort ((Elf32_External_Rel *) s->contents + 1, + s->reloc_count - 1, sizeof (Elf32_External_Rel), + sort_dynamic_relocs); + } } } + if (htab->is_vxworks && htab->splt->size > 0) + { + if (info->shared) + mips_vxworks_finish_shared_plt (output_bfd, info); + else + mips_vxworks_finish_exec_plt (output_bfd, info); + } return TRUE; } @@ -8962,9 +10014,37 @@ _bfd_mips_elf_link_hash_table_create (bfd *abfd) ret->use_rld_obj_head = FALSE; ret->rld_value = 0; ret->mips16_stubs_seen = FALSE; + ret->is_vxworks = FALSE; + ret->srelbss = NULL; + ret->sdynbss = NULL; + ret->srelplt = NULL; + ret->srelplt2 = NULL; + ret->sgotplt = NULL; + ret->splt = NULL; + ret->plt_header_size = 0; + ret->plt_entry_size = 0; + ret->function_stub_size = 0; return &ret->root.root; } + +/* Likewise, but indicate that the target is VxWorks. */ + +struct bfd_link_hash_table * +_bfd_mips_vxworks_link_hash_table_create (bfd *abfd) +{ + struct bfd_link_hash_table *ret; + + ret = _bfd_mips_elf_link_hash_table_create (abfd); + if (ret) + { + struct mips_elf_link_hash_table *htab; + + htab = (struct mips_elf_link_hash_table *) ret; + htab->is_vxworks = 1; + } + return ret; +} /* We need to use a special link routine to handle the .reginfo and the .mdebug sections. We need to merge all instances of these @@ -8987,6 +10067,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) EXTR esym; unsigned int i; bfd_size_type amt; + struct mips_elf_link_hash_table *htab; static const char * const secname[] = { @@ -9003,6 +10084,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) generic size_dynamic_sections renumbered them out from under us. Rather than trying somehow to prevent the renumbering, just do the sort again. */ + htab = mips_elf_hash_table (info); if (elf_hash_table (info)->dynamic_sections_created) { bfd *dynobj; @@ -9017,18 +10099,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) we count the sections after (possibly) removing the .options section above. */ - dynsecsymcount = 0; - if (info->shared) - { - asection * p; - - for (p = abfd->sections; p ; p = p->next) - if ((p->flags & SEC_EXCLUDE) == 0 - && (p->flags & SEC_ALLOC) != 0 - && !(*bed->elf_backend_omit_section_dynsym) (abfd, info, p)) - ++ dynsecsymcount; - } - + dynsecsymcount = count_section_dynsyms (abfd, info); if (! mips_elf_sort_hash_table (info, dynsecsymcount + 1)) return FALSE; @@ -9053,6 +10124,14 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) elf_gp (abfd) = (h->u.def.value + h->u.def.section->output_section->vma + h->u.def.section->output_offset); + else if (htab->is_vxworks + && (h = bfd_link_hash_lookup (info->hash, + "_GLOBAL_OFFSET_TABLE_", + FALSE, FALSE, TRUE)) + && h->type == bfd_link_hash_defined) + elf_gp (abfd) = (h->u.def.section->output_section->vma + + h->u.def.section->output_offset + + h->u.def.value); else if (info->relocatable) { bfd_vma lo = MINUS_ONE; @@ -9064,7 +10143,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info) lo = o->vma; /* And calculate GP relative to that. */ - elf_gp (abfd) = lo + ELF_MIPS_GP_OFFSET (abfd); + elf_gp (abfd) = lo + ELF_MIPS_GP_OFFSET (info); } else { @@ -9796,6 +10875,12 @@ _bfd_mips_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd) new_flags &= ~EF_MIPS_UCODE; old_flags &= ~EF_MIPS_UCODE; + /* Don't care about the PIC flags from dynamic objects; they are + PIC by design. */ + if ((new_flags & (EF_MIPS_PIC | EF_MIPS_CPIC)) != 0 + && (ibfd->flags & DYNAMIC) != 0) + new_flags &= ~ (EF_MIPS_PIC | EF_MIPS_CPIC); + if (new_flags == old_flags) return TRUE; diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h index 07e661d81c0..6c3c9a30f6e 100644 --- a/bfd/elfxx-mips.h +++ b/bfd/elfxx-mips.h @@ -48,6 +48,8 @@ extern bfd_boolean _bfd_mips_elf_check_relocs (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); extern bfd_boolean _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *, struct elf_link_hash_entry *); +extern bfd_boolean _bfd_mips_vxworks_adjust_dynamic_symbol + (struct bfd_link_info *, struct elf_link_hash_entry *); extern bfd_boolean _bfd_mips_elf_always_size_sections (bfd *, struct bfd_link_info *); extern bfd_boolean _bfd_mips_elf_size_dynamic_sections @@ -58,6 +60,9 @@ extern bfd_boolean _bfd_mips_elf_relocate_section extern bfd_boolean _bfd_mips_elf_finish_dynamic_symbol (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, Elf_Internal_Sym *); +extern bfd_boolean _bfd_mips_vxworks_finish_dynamic_symbol + (bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, + Elf_Internal_Sym *); extern bfd_boolean _bfd_mips_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *); extern void _bfd_mips_elf_final_write_processing @@ -90,6 +95,8 @@ extern bfd_byte *_bfd_elf_mips_get_relocated_section_contents bfd_byte *, bfd_boolean, asymbol **); extern struct bfd_link_hash_table *_bfd_mips_elf_link_hash_table_create (bfd *); +extern struct bfd_link_hash_table *_bfd_mips_vxworks_link_hash_table_create + (bfd *); extern bfd_boolean _bfd_mips_elf_final_link (bfd *, struct bfd_link_info *); extern bfd_boolean _bfd_mips_elf_merge_private_bfd_data diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index cb5f7cbba9b..ef7ff482d2e 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -23,10 +23,12 @@ #include "sysdep.h" #include "bfdlink.h" #include "libbfd.h" +#include "libiberty.h" #include "elf-bfd.h" #include "elf/sparc.h" #include "opcode/sparc.h" #include "elfxx-sparc.h" +#include "elf-vxworks.h" /* In case we're on a 32-bit machine, construct a 64-bit "-1" value. */ #define MINUS_ONE (~ (bfd_vma) 0) @@ -697,6 +699,50 @@ sparc64_plt_entry_build (bfd *output_bfd, asection *splt, bfd_vma offset, return index - 4; } +/* The format of the first PLT entry in a VxWorks executable. */ +static const bfd_vma sparc_vxworks_exec_plt0_entry[] = + { + 0x05000000, /* sethi %hi(_GLOBAL_OFFSET_TABLE_+8), %g2 */ + 0x8410a000, /* or %g2, %lo(_GLOBAL_OFFSET_TABLE_+8), %g2 */ + 0xc4008000, /* ld [ %g2 ], %g2 */ + 0x81c08000, /* jmp %g2 */ + 0x01000000 /* nop */ + }; + +/* The format of subsequent PLT entries. */ +static const bfd_vma sparc_vxworks_exec_plt_entry[] = + { + 0x03000000, /* sethi %hi(_GLOBAL_OFFSET_TABLE_+f@got), %g1 */ + 0x82106000, /* or %g1, %lo(_GLOBAL_OFFSET_TABLE_+f@got), %g1 */ + 0xc2004000, /* ld [ %g1 ], %g1 */ + 0x81c04000, /* jmp %g1 */ + 0x01000000, /* nop */ + 0x03000000, /* sethi %hi(f@pltindex), %g1 */ + 0x10800000, /* b _PLT_resolve */ + 0x82106000 /* or %g1, %lo(f@pltindex), %g1 */ + }; + +/* The format of the first PLT entry in a VxWorks shared object. */ +static const bfd_vma sparc_vxworks_shared_plt0_entry[] = + { + 0xc405e008, /* ld [ %l7 + 8 ], %g2 */ + 0x81c08000, /* jmp %g2 */ + 0x01000000 /* nop */ + }; + +/* The format of subsequent PLT entries. */ +static const bfd_vma sparc_vxworks_shared_plt_entry[] = + { + 0x03000000, /* sethi %hi(f@got), %g1 */ + 0x82106000, /* or %g1, %lo(f@got), %g1 */ + 0xc205c001, /* ld [ %l7 + %g1 ], %g1 */ + 0x81c04000, /* jmp %g1 */ + 0x01000000, /* nop */ + 0x03000000, /* sethi %hi(f@pltindex), %g1 */ + 0x10800000, /* b _PLT_resolve */ + 0x82106000 /* or %g1, %lo(f@pltindex), %g1 */ + }; + #define SPARC_ELF_PUT_WORD(htab, bfd, val, ptr) \ htab->put_word(bfd, val, ptr) @@ -781,7 +827,6 @@ _bfd_sparc_elf_link_hash_table_create (bfd *abfd) ret->append_rela = sparc_elf_append_rela_64; ret->r_info = sparc_elf_r_info_64; ret->r_symndx = sparc_elf_r_symndx_64; - ret->build_plt_entry = sparc64_plt_entry_build; ret->dtpoff_reloc = R_SPARC_TLS_DTPOFF64; ret->dtpmod_reloc = R_SPARC_TLS_DTPMOD64; ret->tpoff_reloc = R_SPARC_TLS_TPOFF64; @@ -798,7 +843,6 @@ _bfd_sparc_elf_link_hash_table_create (bfd *abfd) ret->append_rela = sparc_elf_append_rela_32; ret->r_info = sparc_elf_r_info_32; ret->r_symndx = sparc_elf_r_symndx_32; - ret->build_plt_entry = sparc32_plt_entry_build; ret->dtpoff_reloc = R_SPARC_TLS_DTPOFF32; ret->dtpmod_reloc = R_SPARC_TLS_DTPMOD32; ret->tpoff_reloc = R_SPARC_TLS_TPOFF32; @@ -846,6 +890,14 @@ create_got_section (bfd *dynobj, struct bfd_link_info *info) || ! bfd_set_section_alignment (dynobj, htab->srelgot, htab->word_align_power)) return FALSE; + + if (htab->is_vxworks) + { + htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt"); + if (!htab->sgotplt) + return FALSE; + } + return TRUE; } @@ -872,6 +924,41 @@ _bfd_sparc_elf_create_dynamic_sections (bfd *dynobj, if (!info->shared) htab->srelbss = bfd_get_section_by_name (dynobj, ".rela.bss"); + if (htab->is_vxworks) + { + if (!elf_vxworks_create_dynamic_sections (dynobj, info, &htab->srelplt2)) + return FALSE; + if (info->shared) + { + htab->plt_header_size + = 4 * ARRAY_SIZE (sparc_vxworks_shared_plt0_entry); + htab->plt_entry_size + = 4 * ARRAY_SIZE (sparc_vxworks_shared_plt_entry); + } + else + { + htab->plt_header_size + = 4 * ARRAY_SIZE (sparc_vxworks_exec_plt0_entry); + htab->plt_entry_size + = 4 * ARRAY_SIZE (sparc_vxworks_exec_plt_entry); + } + } + else + { + if (ABI_64_P (dynobj)) + { + htab->build_plt_entry = sparc64_plt_entry_build; + htab->plt_header_size = PLT64_HEADER_SIZE; + htab->plt_entry_size = PLT64_ENTRY_SIZE; + } + else + { + htab->build_plt_entry = sparc32_plt_entry_build; + htab->plt_header_size = PLT32_HEADER_SIZE; + htab->plt_entry_size = PLT32_ENTRY_SIZE; + } + } + if (!htab->splt || !htab->srelplt || !htab->sdynbss || (!info->shared && !htab->srelbss)) abort (); @@ -1807,10 +1894,15 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, PTR inf) { asection *s = htab->splt; - /* The first four entries in .plt is reserved. */ + /* Allocate room for the header. */ if (s->size == 0) - s->size = (SPARC_ELF_WORD_BYTES(htab) == 8 ? - PLT64_HEADER_SIZE : PLT32_HEADER_SIZE); + { + s->size = htab->plt_header_size; + + /* Allocate space for the .rela.plt.unloaded relocations. */ + if (htab->is_vxworks && !info->shared) + htab->srelplt2->size = sizeof (Elf32_External_Rela) * 2; + } /* The procedure linkage table size is bounded by the magnitude of the offset we can describe in the entry. */ @@ -1847,11 +1939,20 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, PTR inf) } /* Make room for this entry. */ - s->size += (SPARC_ELF_WORD_BYTES(htab) == 8 ? - PLT64_ENTRY_SIZE : PLT32_ENTRY_SIZE); + s->size += htab->plt_entry_size; /* We also need to make an entry in the .rela.plt section. */ htab->srelplt->size += SPARC_ELF_RELA_BYTES (htab); + + if (htab->is_vxworks) + { + /* Allocate space for the .got.plt entry. */ + htab->sgotplt->size += 4; + + /* ...and for the .rela.plt.unloaded relocations. */ + if (!info->shared) + htab->srelplt2->size += sizeof (Elf32_External_Rela) * 3; + } } else { @@ -2153,6 +2254,7 @@ _bfd_sparc_elf_size_dynamic_sections (bfd *output_bfd, elf_link_hash_traverse (&htab->elf, allocate_dynrelocs, (PTR) info); if (! ABI_64_P (output_bfd) + && !htab->is_vxworks && elf_hash_table (info)->dynamic_sections_created) { /* Make space for the trailing nop in .plt. */ @@ -2179,7 +2281,8 @@ _bfd_sparc_elf_size_dynamic_sections (bfd *output_bfd, if (s == htab->splt || s == htab->sgot - || s == htab->sdynbss) + || s == htab->sdynbss + || s == htab->sgotplt) { /* Strip this section if we don't need it; see the comment below. */ @@ -3428,6 +3531,97 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, return TRUE; } +/* Build a VxWorks PLT entry. PLT_INDEX is the index of the PLT entry + and PLT_OFFSET is the byte offset from the start of .plt. GOT_OFFSET + is the offset of the associated .got.plt entry from + _GLOBAL_OFFSET_TABLE_. */ + +static void +sparc_vxworks_build_plt_entry (bfd *output_bfd, struct bfd_link_info *info, + bfd_vma plt_offset, bfd_vma plt_index, + bfd_vma got_offset) +{ + bfd_vma got_base; + const bfd_vma *plt_entry; + struct _bfd_sparc_elf_link_hash_table *htab; + bfd_byte *loc; + Elf_Internal_Rela rela; + + htab = _bfd_sparc_elf_hash_table (info); + if (info->shared) + { + plt_entry = sparc_vxworks_shared_plt_entry; + got_base = 0; + } + else + { + plt_entry = sparc_vxworks_exec_plt_entry; + got_base = (htab->elf.hgot->root.u.def.value + + htab->elf.hgot->root.u.def.section->output_offset + + htab->elf.hgot->root.u.def.section->output_section->vma); + } + + /* Fill in the entry in the procedure linkage table. */ + bfd_put_32 (output_bfd, plt_entry[0] + ((got_base + got_offset) >> 10), + htab->splt->contents + plt_offset); + bfd_put_32 (output_bfd, plt_entry[1] + ((got_base + got_offset) & 0x3ff), + htab->splt->contents + plt_offset + 4); + bfd_put_32 (output_bfd, plt_entry[2], + htab->splt->contents + plt_offset + 8); + bfd_put_32 (output_bfd, plt_entry[3], + htab->splt->contents + plt_offset + 12); + bfd_put_32 (output_bfd, plt_entry[4], + htab->splt->contents + plt_offset + 16); + bfd_put_32 (output_bfd, plt_entry[5] + (plt_index >> 10), + htab->splt->contents + plt_offset + 20); + /* PC-relative displacement for a branch to the start of + the PLT section. */ + bfd_put_32 (output_bfd, plt_entry[6] + (((-plt_offset - 24) >> 2) + & 0x003fffff), + htab->splt->contents + plt_offset + 24); + bfd_put_32 (output_bfd, plt_entry[7] + (plt_index & 0x3ff), + htab->splt->contents + plt_offset + 28); + + /* Fill in the .got.plt entry, pointing initially at the + second half of the PLT entry. */ + BFD_ASSERT (htab->sgotplt != NULL); + bfd_put_32 (output_bfd, + htab->splt->output_section->vma + + htab->splt->output_offset + + plt_offset + 20, + htab->sgotplt->contents + got_offset); + + /* Add relocations to .rela.plt.unloaded. */ + if (!info->shared) + { + loc = (htab->srelplt2->contents + + (2 + 3 * plt_index) * sizeof (Elf32_External_Rela)); + + /* Relocate the initial sethi. */ + rela.r_offset = (htab->splt->output_section->vma + + htab->splt->output_offset + + plt_offset); + rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_HI22); + rela.r_addend = got_offset; + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Likewise the following or. */ + rela.r_offset += 4; + rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_LO10); + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Relocate the .got.plt entry. */ + rela.r_offset = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + got_offset); + rela.r_info = ELF32_R_INFO (htab->elf.hplt->indx, R_SPARC_32); + rela.r_addend = plt_offset + 20; + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + } +} + /* Finish up dynamic symbol handling. We set the contents of various dynamic sections here. */ @@ -3449,7 +3643,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bfd *output_bfd, asection *srela; Elf_Internal_Rela rela; bfd_byte *loc; - bfd_vma r_offset; + bfd_vma r_offset, got_offset; int rela_index; /* This symbol has an entry in the PLT. Set it up. */ @@ -3460,23 +3654,48 @@ _bfd_sparc_elf_finish_dynamic_symbol (bfd *output_bfd, srela = htab->srelplt; BFD_ASSERT (splt != NULL && srela != NULL); - /* Fill in the entry in the procedure linkage table. */ - rela_index = SPARC_ELF_BUILD_PLT_ENTRY (htab, output_bfd, splt, - h->plt.offset, splt->size, - &r_offset); - /* Fill in the entry in the .rela.plt section. */ - rela.r_offset = r_offset - + (splt->output_section->vma + splt->output_offset); - if (! ABI_64_P (output_bfd) - || h->plt.offset < (PLT64_LARGE_THRESHOLD * PLT64_ENTRY_SIZE)) + if (htab->is_vxworks) { + /* Work out the index of this PLT entry. */ + rela_index = ((h->plt.offset - htab->plt_header_size) + / htab->plt_entry_size); + + /* Calculate the offset of the associated .got.plt entry. + The first three entries are reserved. */ + got_offset = (rela_index + 3) * 4; + + sparc_vxworks_build_plt_entry (output_bfd, info, h->plt.offset, + rela_index, got_offset); + + + /* On VxWorks, the relocation points to the .got.plt entry, + not the .plt entry. */ + rela.r_offset = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset + + got_offset); rela.r_addend = 0; } else { - rela.r_addend = -(h->plt.offset + 4) - -(splt->output_section->vma + splt->output_offset); + /* Fill in the entry in the procedure linkage table. */ + rela_index = SPARC_ELF_BUILD_PLT_ENTRY (htab, output_bfd, splt, + h->plt.offset, splt->size, + &r_offset); + + rela.r_offset = r_offset + + (splt->output_section->vma + splt->output_offset); + if (! ABI_64_P (output_bfd) + || h->plt.offset < (PLT64_LARGE_THRESHOLD * PLT64_ENTRY_SIZE)) + { + rela.r_addend = 0; + } + else + { + rela.r_addend = (-(h->plt.offset + 4) + - splt->output_section->vma + - splt->output_offset); + } } rela.r_info = SPARC_ELF_R_INFO (htab, NULL, h->dynindx, R_SPARC_JMP_SLOT); @@ -3577,10 +3796,12 @@ _bfd_sparc_elf_finish_dynamic_symbol (bfd *output_bfd, SPARC_ELF_APPEND_RELA (htab, output_bfd, s, &rela); } - /* Mark some specially defined symbols as absolute. */ + /* Mark some specially defined symbols as absolute. On VxWorks, + _GLOBAL_OFFSET_TABLE_ is not absolute: it is relative to the + ".got" section. Likewise _PROCEDURE_LINKAGE_TABLE_ and ".plt". */ if (strcmp (h->root.root.string, "_DYNAMIC") == 0 - || h == htab->elf.hgot - || h == htab->elf.hplt) + || (!htab->is_vxworks + && (h == htab->elf.hgot || h == htab->elf.hplt))) sym->st_shndx = SHN_ABS; return TRUE; @@ -3648,13 +3869,14 @@ sparc64_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, #endif static bfd_boolean -sparc32_finish_dyn (bfd *output_bfd, - struct bfd_link_info *info ATTRIBUTE_UNUSED, +sparc32_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, bfd *dynobj, asection *sdyn, asection *splt ATTRIBUTE_UNUSED) { Elf32_External_Dyn *dyncon, *dynconend; + struct _bfd_sparc_elf_link_hash_table *htab; + htab = _bfd_sparc_elf_hash_table (info); dyncon = (Elf32_External_Dyn *) sdyn->contents; dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->size); for (; dyncon < dynconend; dyncon++) @@ -3665,34 +3887,150 @@ sparc32_finish_dyn (bfd *output_bfd, bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn); - switch (dyn.d_tag) + if (htab->is_vxworks && dyn.d_tag == DT_RELASZ) { - case DT_PLTGOT: name = ".plt"; size = FALSE; break; - case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break; - case DT_JMPREL: name = ".rela.plt"; size = FALSE; break; - default: name = NULL; size = FALSE; break; + /* On VxWorks, DT_RELASZ should not include the relocations + in .rela.plt. */ + if (htab->srelplt) + { + dyn.d_un.d_val -= htab->srelplt->size; + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + } } - - if (name != NULL) + else if (htab->is_vxworks && dyn.d_tag == DT_PLTGOT) { - asection *s; + /* On VxWorks, DT_PLTGOT should point to the start of the GOT, + not to the start of the PLT. */ + if (htab->sgotplt) + { + dyn.d_un.d_val = (htab->sgotplt->output_section->vma + + htab->sgotplt->output_offset); + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + } + } + else + { + switch (dyn.d_tag) + { + case DT_PLTGOT: name = ".plt"; size = FALSE; break; + case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break; + case DT_JMPREL: name = ".rela.plt"; size = FALSE; break; + default: name = NULL; size = FALSE; break; + } - s = bfd_get_section_by_name (output_bfd, name); - if (s == NULL) - dyn.d_un.d_val = 0; - else + if (name != NULL) { - if (! size) - dyn.d_un.d_ptr = s->vma; + asection *s; + + s = bfd_get_section_by_name (output_bfd, name); + if (s == NULL) + dyn.d_un.d_val = 0; else - dyn.d_un.d_val = s->size; + { + if (! size) + dyn.d_un.d_ptr = s->vma; + else + dyn.d_un.d_val = s->size; + } + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); } - bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); } } return TRUE; } +/* Install the first PLT entry in a VxWorks executable and make sure that + .rela.plt.unloaded relocations have the correct symbol indexes. */ + +static void +sparc_vxworks_finish_exec_plt (bfd *output_bfd, struct bfd_link_info *info) +{ + struct _bfd_sparc_elf_link_hash_table *htab; + Elf_Internal_Rela rela; + bfd_vma got_base; + bfd_byte *loc; + + htab = _bfd_sparc_elf_hash_table (info); + + /* Calculate the absolute value of _GLOBAL_OFFSET_TABLE_. */ + got_base = (htab->elf.hgot->root.u.def.section->output_section->vma + + htab->elf.hgot->root.u.def.section->output_offset + + htab->elf.hgot->root.u.def.value); + + /* Install the initial PLT entry. */ + bfd_put_32 (output_bfd, + sparc_vxworks_exec_plt0_entry[0] + ((got_base + 8) >> 10), + htab->splt->contents); + bfd_put_32 (output_bfd, + sparc_vxworks_exec_plt0_entry[1] + ((got_base + 8) & 0x3ff), + htab->splt->contents + 4); + bfd_put_32 (output_bfd, + sparc_vxworks_exec_plt0_entry[2], + htab->splt->contents + 8); + bfd_put_32 (output_bfd, + sparc_vxworks_exec_plt0_entry[3], + htab->splt->contents + 12); + bfd_put_32 (output_bfd, + sparc_vxworks_exec_plt0_entry[4], + htab->splt->contents + 16); + + loc = htab->srelplt2->contents; + + /* Add an unloaded relocation for the initial entry's "sethi". */ + rela.r_offset = (htab->splt->output_section->vma + + htab->splt->output_offset); + rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_HI22); + rela.r_addend = 8; + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Likewise the following "or". */ + rela.r_offset += 4; + rela.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_LO10); + bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); + loc += sizeof (Elf32_External_Rela); + + /* Fix up the remaining .rela.plt.unloaded relocations. They may have + the wrong symbol index for _G_O_T_ or _P_L_T_ depending on the order + in which symbols were output. */ + while (loc < htab->srelplt2->contents + htab->srelplt2->size) + { + Elf_Internal_Rela rel; + + /* The entry's initial "sethi" (against _G_O_T_). */ + bfd_elf32_swap_reloc_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_HI22); + bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + + /* The following "or" (also against _G_O_T_). */ + bfd_elf32_swap_reloc_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_SPARC_LO10); + bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + + /* The .got.plt entry (against _P_L_T_). */ + bfd_elf32_swap_reloc_in (output_bfd, loc, &rel); + rel.r_info = ELF32_R_INFO (htab->elf.hplt->indx, R_SPARC_32); + bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); + loc += sizeof (Elf32_External_Rela); + } +} + +/* Install the first PLT entry in a VxWorks shared object. */ + +static void +sparc_vxworks_finish_shared_plt (bfd *output_bfd, struct bfd_link_info *info) +{ + struct _bfd_sparc_elf_link_hash_table *htab; + unsigned int i; + + htab = _bfd_sparc_elf_hash_table (info); + for (i = 0; i < ARRAY_SIZE (sparc_vxworks_shared_plt0_entry); i++) + bfd_put_32 (output_bfd, sparc_vxworks_shared_plt0_entry[i], + htab->splt->contents + i * 4); +} + bfd_boolean _bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) { @@ -3726,18 +4064,24 @@ _bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *i /* Initialize the contents of the .plt section. */ if (splt->size > 0) { - if (ABI_64_P (output_bfd)) - memset (splt->contents, 0, 4 * PLT64_ENTRY_SIZE); + if (htab->is_vxworks) + { + if (info->shared) + sparc_vxworks_finish_shared_plt (output_bfd, info); + else + sparc_vxworks_finish_exec_plt (output_bfd, info); + } else { - memset (splt->contents, 0, 4 * PLT32_ENTRY_SIZE); - bfd_put_32 (output_bfd, (bfd_vma) SPARC_NOP, - splt->contents + splt->size - 4); + memset (splt->contents, 0, htab->plt_header_size); + if (!ABI_64_P (output_bfd)) + bfd_put_32 (output_bfd, (bfd_vma) SPARC_NOP, + splt->contents + splt->size - 4); } } - elf_section_data (splt->output_section)->this_hdr.sh_entsize = - (ABI_64_P (output_bfd) ? PLT64_ENTRY_SIZE : PLT32_ENTRY_SIZE); + elf_section_data (splt->output_section)->this_hdr.sh_entsize + = htab->plt_entry_size; } /* Set the first entry in the global offset table to the address of diff --git a/bfd/elfxx-sparc.h b/bfd/elfxx-sparc.h index 624aea52787..0a5a88b6fe3 100644 --- a/bfd/elfxx-sparc.h +++ b/bfd/elfxx-sparc.h @@ -61,6 +61,15 @@ struct _bfd_sparc_elf_link_hash_table /* Small local sym to section mapping cache. */ struct sym_sec_cache sym_sec; + /* True if the target system is VxWorks. */ + int is_vxworks; + + /* The (unloaded but important) .rela.plt.unloaded section, for VxWorks. */ + asection *srelplt2; + + /* .got.plt is only used on VxWorks. */ + asection *sgotplt; + void (*put_word) (bfd *, bfd_vma, void *); void (*append_rela) (bfd *, asection *, Elf_Internal_Rela *); bfd_vma (*r_info) (Elf_Internal_Rela *, bfd_vma, bfd_vma); @@ -70,6 +79,8 @@ struct _bfd_sparc_elf_link_hash_table int dynamic_interpreter_size; unsigned int word_align_power; unsigned int align_power_max; + unsigned int plt_header_size; + unsigned int plt_entry_size; int bytes_per_word; int bytes_per_rela; int dtpoff_reloc; diff --git a/bfd/libbfd.h b/bfd/libbfd.h index c303c31290b..0c5cfe44e0f 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -972,6 +972,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_MIPS_TLS_TPREL_HI16", "BFD_RELOC_MIPS_TLS_TPREL_LO16", + "BFD_RELOC_MIPS_COPY", + "BFD_RELOC_MIPS_JUMP_SLOT", + "BFD_RELOC_FRV_LABEL16", "BFD_RELOC_FRV_LABEL24", "BFD_RELOC_FRV_LO16", @@ -1062,6 +1065,11 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_X86_64_TPOFF32", "BFD_RELOC_X86_64_GOTOFF64", "BFD_RELOC_X86_64_GOTPC32", + "BFD_RELOC_X86_64_GOT64", + "BFD_RELOC_X86_64_GOTPCREL64", + "BFD_RELOC_X86_64_GOTPC64", + "BFD_RELOC_X86_64_GOTPLT64", + "BFD_RELOC_X86_64_PLTOFF64", "BFD_RELOC_X86_64_GOTPC32_TLSDESC", "BFD_RELOC_X86_64_TLSDESC_CALL", "BFD_RELOC_X86_64_TLSDESC", @@ -1377,6 +1385,20 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_BFIN_12_PCREL_JUMP_S", "BFD_RELOC_BFIN_24_PCREL_CALL_X", "BFD_RELOC_BFIN_24_PCREL_JUMP_L", + "BFD_RELOC_BFIN_GOT17M4", + "BFD_RELOC_BFIN_GOTHI", + "BFD_RELOC_BFIN_GOTLO", + "BFD_RELOC_BFIN_FUNCDESC", + "BFD_RELOC_BFIN_FUNCDESC_GOT17M4", + "BFD_RELOC_BFIN_FUNCDESC_GOTHI", + "BFD_RELOC_BFIN_FUNCDESC_GOTLO", + "BFD_RELOC_BFIN_FUNCDESC_VALUE", + "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4", + "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI", + "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO", + "BFD_RELOC_BFIN_GOTOFF17M4", + "BFD_RELOC_BFIN_GOTOFFHI", + "BFD_RELOC_BFIN_GOTOFFLO", "BFD_RELOC_BFIN_GOT", "BFD_RELOC_BFIN_PLTPC", "BFD_ARELOC_BFIN_PUSH", diff --git a/bfd/po/Make-in b/bfd/po/Make-in index 3d1f3424828..f11ccb41cef 100644 --- a/bfd/po/Make-in +++ b/bfd/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright 2001, 2003 Free Software Foundation, Inc. +# Copyright 2001, 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -199,7 +199,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index 1c11480185b..8bcf979a5bf 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -115,6 +115,7 @@ cpu-v850.c cpu-vax.c cpu-w65.c cpu-we32k.c +cpu-xc16x.c cpu-xstormy16.c cpu-xtensa.c cpu-z80.c @@ -174,6 +175,7 @@ elf32-sh-symbian.c elf32-sparc.c elf32-v850.c elf32-vax.c +elf32-xc16x.c elf32-xstormy16.c elf32-xtensa.c elf64-alpha.c diff --git a/bfd/po/es.po b/bfd/po/es.po index 2b6642224e0..2a95afee256 100644 --- a/bfd/po/es.po +++ b/bfd/po/es.po @@ -1,65 +1,65 @@ -# Mensajes en español para bfd 2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para bfd 2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: bfd 2.15.96\n" +"Project-Id-Version: bfd 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 22:14+1030\n" -"PO-Revision-Date: 2005-03-14 17:11-0600\n" +"POT-Creation-Date: 2005-10-25 22:24+0930\n" +"PO-Revision-Date: 2006-05-27 11:34-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: aout-adobe.c:204 +#: aout-adobe.c:127 msgid "%B: Unknown section type in a.out.adobe file: %x\n" msgstr "%B: Tipo de sección desconocido en el fichero a.out.adobe: %x\n" -#: aout-cris.c:207 +#: aout-cris.c:202 #, c-format msgid "%s: Invalid relocation type exported: %d" msgstr "%s: Tipo de reubicación exportado inválido: %d" -#: aout-cris.c:251 +#: aout-cris.c:245 msgid "%B: Invalid relocation type imported: %d" msgstr "%B: Tipo de reubicación importado inválido: %d" -#: aout-cris.c:262 +#: aout-cris.c:256 msgid "%B: Bad relocation record imported: %d" msgstr "%B: Registro de reubicación importado erróneo: %d" -#: aoutx.h:1287 aoutx.h:1626 +#: aoutx.h:1244 aoutx.h:1578 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "%s: no se puede representar la sección `%s' en el fichero objeto de formato a.out" -#: aoutx.h:1592 +#: aoutx.h:1544 #, c-format msgid "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "%s: no se puede representar la sección para el símbolo `%s' en el fichero objeto de formato a.out" -#: aoutx.h:1594 +#: aoutx.h:1546 msgid "*unknown*" msgstr "*desconocido*" -#: aoutx.h:3682 +#: aoutx.h:5281 #, c-format msgid "%s: relocatable link from %s to %s not supported" msgstr "%s: el enlace reubicable de %s a %s no está soportado" -#: archive.c:1729 +#: archive.c:1760 msgid "Warning: writing archive was slow: rewriting timestamp\n" msgstr "Aviso: la escritura del fichero fue lenta: reescribiendo la marca de tiempo\n" # ¡Uff! Si utilizáramos file=archivo, esta traducción sería imposible. cfuga -#: archive.c:1992 +#: archive.c:2019 msgid "Reading archive file mod timestamp" msgstr "Leyendo el archivo de la modificación de marca de tiempo del fichero" -#: archive.c:2018 +#: archive.c:2043 msgid "Writing updated armap timestamp" msgstr "Escribiendo la marca de tiempo actualizada de armap" @@ -143,22 +143,22 @@ msgstr "Fichero demasiado grande" msgid "#" msgstr "#" -#: bfd.c:768 +#: bfd.c:771 #, c-format msgid "BFD %s assertion fail %s:%d" msgstr "falló la aseveración BFD %s %s:%d" -#: bfd.c:784 +#: bfd.c:787 #, c-format msgid "BFD %s internal error, aborting at %s line %d in %s\n" msgstr "error interno de BFD %s, abortando en %s línea %d en %s\n" -#: bfd.c:788 +#: bfd.c:791 #, c-format msgid "BFD %s internal error, aborting at %s line %d\n" msgstr "error interno de BFD %s, abortando en %s línea %d\n" -#: bfd.c:790 +#: bfd.c:793 msgid "Please report this bug.\n" msgstr "Por favor reporte este bicho.\n" @@ -172,54 +172,59 @@ msgstr "no se mapea: datos=%lx mapeados%d\n" msgid "not mapping: env var not set\n" msgstr "no se mapea: no se estableció la variable de ambiente\n" -#: binary.c:309 +#: binary.c:285 #, c-format msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." msgstr "Aviso: Escribiendo la sección `%s' a un desplazamiento de fichero grande (pe negativo) 0x%lx." -#: coff64-rs6000.c:2107 coff-rs6000.c:3608 +#: coff64-rs6000.c:2109 coff-rs6000.c:3610 msgid "%B: symbol `%s' has unrecognized smclas %d" msgstr "%B: el símbolo `%s' tiene smclas %d no reconocido" -#: coff-a29k.c:120 -msgid "Missing IHCONST" -msgstr "IHCONST faltante" - -#: coff-a29k.c:181 -msgid "Missing IHIHALF" -msgstr "IHIHALF faltante" - -#: coff-a29k.c:213 coff-or32.c:227 -msgid "Unrecognized reloc" -msgstr "Reubicación no reconocida" - -#: coff-a29k.c:409 -msgid "missing IHCONST reloc" -msgstr "reubicación IHCONST faltante" +#: coff-alpha.c:489 +msgid "" +"%B: Cannot handle compressed Alpha binaries.\n" +" Use compiler flags, or objZ, to generate uncompressed binaries." +msgstr "" +"%B: No se pueden manejar binarios Alpha comprimidos.\n" +" Use las opciones del compilador, o objZ, para generar binarios sin comprimir." -#: coff-a29k.c:499 -msgid "missing IHIHALF reloc" -msgstr "reubicación IHIHALF faltante" +#: coff-alpha.c:646 +msgid "%B: unknown/unsupported relocation type %d" +msgstr "%B: tipo de reubicación %d desconocida/sin soporte" -#: coff-alpha.c:881 coff-alpha.c:918 coff-alpha.c:1972 coff-mips.c:985 +#: coff-alpha.c:898 coff-alpha.c:935 coff-alpha.c:2007 coff-mips.c:985 msgid "GP relative relocation used when GP not defined" msgstr "se usó una reubicación GP relativa cuando GP no estaba definido" -#: coff-alpha.c:1467 +#: coff-alpha.c:1484 msgid "using multiple gp values" msgstr "usando valores múltiples de gp" -#: coff-arm.c:1066 elf32-arm.c:1425 +#: coff-alpha.c:1543 +msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH" +msgstr "%B: tipo de reubicación sin soporte: ALPHA_R_GPRELHIGH" + +#: coff-alpha.c:1550 +msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW" +msgstr "%B: tipo de reubicación sin soporte: ALPHA_R_GPRELLOW" + +#: coff-alpha.c:1557 elf32-m32r.c:2471 elf64-alpha.c:3912 elf64-alpha.c:4038 +#: elf32-ia64.c:4108 elf64-ia64.c:4108 +msgid "%B: unknown relocation type %d" +msgstr "%B: tipo de reubicación %d desconocido" + +#: coff-arm.c:990 elf32-arm.c:1926 #, c-format msgid "%B: unable to find THUMB glue '%s' for `%s'" msgstr "%B: no se puede encontrar el pegamento THUMB '%s' para `%s'" -#: coff-arm.c:1096 elf32-arm.c:1459 +#: coff-arm.c:1019 elf32-arm.c:1960 #, c-format msgid "%B: unable to find ARM glue '%s' for `%s'" msgstr "%B: no se puede encontrar el pegamento ARM '%s' para `%s'" -#: coff-arm.c:1394 elf32-arm.c:2165 +#: coff-arm.c:1319 elf32-arm.c:2683 #, c-format msgid "" "%B(%s): warning: interworking not enabled.\n" @@ -228,7 +233,7 @@ msgstr "" "%B(%s): aviso: interoperabilidad no activada.\n" " primer suceso: %B: llamada arm a thumb" -#: coff-arm.c:1484 +#: coff-arm.c:1409 #, c-format msgid "" "%B(%s): warning: interworking not enabled.\n" @@ -239,148 +244,148 @@ msgstr "" " primer suceso: %B: llamada arm a thumb\n" " considere reenlazar con --support-old-code activado" -#: coff-arm.c:1776 cofflink.c:3013 coff-tic80.c:687 +#: coff-arm.c:1702 cofflink.c:3015 coff-tic80.c:695 msgid "%B: bad reloc address 0x%lx in section `%A'" msgstr "%B: dirección de reubicación 0x%lx errónea en la sección `%A'" -#: coff-arm.c:2110 +#: coff-arm.c:2028 msgid "%B: illegal symbol index in reloc: %d" msgstr "%B: índice de símbolos ilegal en la reubicación: %d" -#: coff-arm.c:2243 +#: coff-arm.c:2158 #, c-format msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" msgstr "ERROR: %B está compilado para APCS-%d, mientras que %B está compilado para APCS-%d" -#: coff-arm.c:2259 elf32-arm.c:3583 +#: coff-arm.c:2174 elf32-arm.c:5093 #, c-format msgid "ERROR: %B passes floats in float registers, whereas %B passes them in integer registers" msgstr "ERROR: %B pasa números de coma flotante en registros de coma flotante, mientras que %B los pasa en registros enteros" -#: coff-arm.c:2262 elf32-arm.c:3587 +#: coff-arm.c:2177 elf32-arm.c:5097 #, c-format msgid "ERROR: %B passes floats in integer registers, whereas %B passes them in float registers" msgstr "ERROR: %B pasa números de coma flotante en registros enteros, mientras que %B los pasa en registros de coma flotante" -#: coff-arm.c:2276 +#: coff-arm.c:2191 #, c-format msgid "ERROR: %B is compiled as position independent code, whereas target %B is absolute position" msgstr "ERROR: %B está compilado como código independiente de posición, mientras que el objetivo %B es de posición absoluta" -#: coff-arm.c:2279 +#: coff-arm.c:2194 #, c-format msgid "ERROR: %B is compiled as absolute position code, whereas target %B is position independent" msgstr "ERROR: %B está compilado como código de posición absoluta, mientras que el objetivo %B es independiente de posición" -#: coff-arm.c:2307 elf32-arm.c:3652 +#: coff-arm.c:2222 elf32-arm.c:5162 #, c-format msgid "Warning: %B supports interworking, whereas %B does not" msgstr "Aviso: %B soporta interoperabilidad, mientras que %B no" -#: coff-arm.c:2310 elf32-arm.c:3658 +#: coff-arm.c:2225 elf32-arm.c:5168 #, c-format msgid "Warning: %B does not support interworking, whereas %B does" msgstr "Aviso: %B no soporta interoperabilidad, mientras que %B sí" -#: coff-arm.c:2336 +#: coff-arm.c:2249 #, c-format msgid "private flags = %x:" msgstr "opciones privadas = %x:" -#: coff-arm.c:2344 elf32-arm.c:3709 +#: coff-arm.c:2257 elf32-arm.c:5219 #, c-format msgid " [floats passed in float registers]" msgstr "[números de coma flotante pasados en registros de coma flotante]" -#: coff-arm.c:2346 +#: coff-arm.c:2259 #, c-format msgid " [floats passed in integer registers]" msgstr "[números de coma flotante pasados en registros enteros]" -#: coff-arm.c:2349 elf32-arm.c:3712 +#: coff-arm.c:2262 elf32-arm.c:5222 #, c-format msgid " [position independent]" msgstr "[independiente de posición]" -#: coff-arm.c:2351 +#: coff-arm.c:2264 #, c-format msgid " [absolute position]" msgstr "[posición absoluta]" -#: coff-arm.c:2355 +#: coff-arm.c:2268 #, c-format msgid " [interworking flag not initialised]" msgstr "[opción de interoperabilidad no iniciada]" -#: coff-arm.c:2357 +#: coff-arm.c:2270 #, c-format msgid " [interworking supported]" msgstr "[soporte para interoperabilidad]" -#: coff-arm.c:2359 +#: coff-arm.c:2272 #, c-format msgid " [interworking not supported]" msgstr "[sin soporte para interoperabilidad]" -#: coff-arm.c:2407 elf32-arm.c:3390 +#: coff-arm.c:2318 elf32-arm.c:4571 #, c-format msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking" msgstr "Aviso: No se establece la opción de interoperabilidad de %B ya que se había especificado con anterioridad como no interoperable" -#: coff-arm.c:2411 elf32-arm.c:3394 +#: coff-arm.c:2322 elf32-arm.c:4575 #, c-format msgid "Warning: Clearing the interworking flag of %B due to outside request" msgstr "Aviso: Limpiando la opción de interoperabilidad de %B debido a una petición externa" -#: coffcode.h:859 +#: coffcode.h:849 msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'" msgstr "%B: aviso: el símbolo COMDAT '%s' no coincide con el nombre de sección '%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:1072 +#: coffcode.h:1061 msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s" msgstr "%B: Aviso: Se ignora la opción de sección IMAGE_SCN_MEM_NOT_PAGED en la sección %s" -#: coffcode.h:1127 +#: coffcode.h:1116 msgid "%B (%s): Section flag %s (0x%x) ignored" msgstr "%B (%s): Se ignora la opción de sección %s (0x%x)" -#: coffcode.h:2255 +#: coffcode.h:2204 #, c-format msgid "Unrecognized TI COFF target id '0x%x'" msgstr "Id de objetivo TI COFF '0x%x' no reconocido" -#: coffcode.h:4375 +#: coffcode.h:4211 msgid "%B: warning: line number table read failed" msgstr "%B: aviso: falló la lectura de tabla de números de línea" -#: coffcode.h:4407 +#: coffcode.h:4243 msgid "%B: warning: illegal symbol index %ld in line numbers" msgstr "%B: aviso: índice de símbolos %ld ilegal en los números de línea" -#: coffcode.h:4421 +#: coffcode.h:4257 msgid "%B: warning: duplicate line number information for `%s'" msgstr "%B: aviso: información duplicada de números de línea para `%s'" -#: coffcode.h:4771 +#: coffcode.h:4597 msgid "%B: Unrecognized storage class %d for %s symbol `%s'" msgstr "%B: Clase de almacenamiento %d no reconocida para %s símbolo `%s'" -#: coffcode.h:4904 +#: coffcode.h:4723 msgid "warning: %B: local symbol `%s' has no section" msgstr "aviso: %B: el símbolo local `%s' no tiene sección" -#: coffcode.h:5010 coff-i860.c:586 coff-tic54x.c:376 +#: coffcode.h:4827 coff-i860.c:586 coff-tic54x.c:376 msgid "%B: warning: illegal symbol index %ld in relocs" msgstr "%B: aviso: índice de símbolos %ld ilegal en reubicaciones" -#: coffcode.h:5048 +#: coffcode.h:4865 msgid "%B: illegal relocation type %d at address 0x%lx" msgstr "%B: tipo de reubicación %d ilegal en la dirección 0x%lx" -#: coffgen.c:1594 +#: coffgen.c:1511 msgid "%B: bad string table size %lu" msgstr "%B: tamaño de tabla de cadenas %lu erróneo" @@ -398,7 +403,7 @@ msgstr "La reubicaci msgid "uncertain calling convention for non-COFF symbol" msgstr "convención de llamada incierta para un símbolo que no es COFF" -#: cofflink.c:507 elflink.c:3955 +#: cofflink.c:507 elflink.c:3948 msgid "Warning: type of symbol `%s' changed from %d to %d in %B" msgstr "Aviso: el tipo del símbolo `%s' cambió de %d a %d en %B" @@ -406,17 +411,17 @@ msgstr "Aviso: el tipo del s msgid "%B: relocs in section `%A', but it has no contents" msgstr "%B: reubicaciones en la sección `%A', pero no tiene contenido" -#: cofflink.c:2624 coffswap.h:890 +#: cofflink.c:2624 coffswap.h:823 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "%s: %s: desbordamiento de reubicación: 0x%lx > 0xffff" -#: cofflink.c:2633 coffswap.h:876 +#: cofflink.c:2633 coffswap.h:809 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "%s: aviso: %s: desbordamiento de número de línea: 0x%lx > 0xffff" -#: coff-m68k.c:482 elf32-m68k.c:2128 +#: coff-m68k.c:482 elf32-bfin.c:2722 elf32-m68k.c:2193 msgid "unsupported reloc type" msgstr "tipo de reubicación sin soporte" @@ -444,17 +449,21 @@ msgstr "Tipo de Reubicaci msgid "GP relative relocation when _gp not defined" msgstr "reubicación GP relativa cuando _gp no está definido" -#: coff-rs6000.c:2783 +#: coff-or32.c:227 +msgid "Unrecognized reloc" +msgstr "Reubicación no reconocida" + +#: coff-rs6000.c:2785 #, c-format msgid "%s: unsupported relocation type 0x%02x" msgstr "%s: tipo de reubicación 0x%02x sin soporte" -#: coff-rs6000.c:2876 +#: coff-rs6000.c:2878 #, c-format msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "%s: reubicación de TOC en 0x%x al símbolo `%s' sin entrada TOC" -#: coff-tic4x.c:174 coff-tic54x.c:282 coff-tic80.c:450 +#: coff-tic4x.c:174 coff-tic54x.c:282 coff-tic80.c:458 #, c-format msgid "Unrecognized reloc type 0x%x" msgstr "Tipo de reubicación 0x%x no reconocida" @@ -478,72 +487,76 @@ msgstr "ERROR: %B est msgid "warning: unable to update contents of %s section in %s" msgstr "aviso: no se puede actualizar el contenido de la sección %s en %s" -#: dwarf2.c:296 +#: dwarf2.c:315 msgid "Dwarf Error: Can't find .debug_str section." msgstr "Error de Dwarf: No se puede encontrar la sección .debug_str." -#: dwarf2.c:314 +#: dwarf2.c:333 #, c-format msgid "Dwarf Error: DW_FORM_strp offset (%lu) greater than or equal to .debug_str size (%lu)." msgstr "Error de Dwarf: El desplazamiento DW_FROM_strp (%lu) es más grande o igual que el tamaño de .debug_str (%lu)." -#: dwarf2.c:388 +#: dwarf2.c:426 msgid "Dwarf Error: Can't find .debug_abbrev section." msgstr "Error de Dwarf: No se puede encontrar la sección .debug_abbrev." -#: dwarf2.c:403 +#: dwarf2.c:441 #, c-format msgid "Dwarf Error: Abbrev offset (%lu) greater than or equal to .debug_abbrev size (%lu)." msgstr "Error de Dwarf: El desplazamiento de abreviatura (%lu) es más grande o igual que el tamaño de .debug_abbrev (%lu)." -#: dwarf2.c:601 +#: dwarf2.c:656 #, c-format msgid "Dwarf Error: Invalid or unhandled FORM value: %u." msgstr "Error de Dwarf: Valor de FORM inválido o no manejado: %u." -#: dwarf2.c:773 +#: dwarf2.c:856 msgid "Dwarf Error: mangled line number section (bad file number)." msgstr "Error de Dwarf: sección de números de línea revuelta (número erróneo de fichero)." -#: dwarf2.c:866 +#: dwarf2.c:947 msgid "Dwarf Error: Can't find .debug_line section." msgstr "Error de Dwarf: No se puede encontrar lan sección .debug_line." -#: dwarf2.c:883 +#: dwarf2.c:964 #, c-format msgid "Dwarf Error: Line offset (%lu) greater than or equal to .debug_line size (%lu)." msgstr "Error de Dwarf: El desplazamiento de línea (%lu) es más grande o igual que el tamaño de .debug_line (%lu)." -#: dwarf2.c:1088 +#: dwarf2.c:1192 msgid "Dwarf Error: mangled line number section." msgstr "Error de Dwarf: sección de números de línea revuelta." -#: dwarf2.c:1285 dwarf2.c:1343 dwarf2.c:1498 +#: dwarf2.c:1382 +msgid "Dwarf Error: Can't find .debug_ranges section." +msgstr "Error de Dwarf: No se puede encontrar lan sección .debug_ranges." + +#: dwarf2.c:1544 dwarf2.c:1660 dwarf2.c:1930 #, c-format msgid "Dwarf Error: Could not find abbrev number %u." msgstr "Error de Dwarf: No se puede encontrar el número de abreviatura %u." -#: dwarf2.c:1459 +#: dwarf2.c:1891 #, c-format msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2 information." msgstr "Error de Dwarf: se encontró la versión de dwarf '%u', este lector solamente maneja información de la versión 2." -#: dwarf2.c:1466 +#: dwarf2.c:1898 #, c-format msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'." msgstr "Error de Dwarf: se encontró el tamaño de dirección '%u', este lector no puede manejar tamaños más grandes que '%u'." -#: dwarf2.c:1489 +#: dwarf2.c:1921 #, c-format msgid "Dwarf Error: Bad abbrev number: %u." msgstr "Error de Dwarf: Número de abreviación erróneo: %u." -#: ecoff.c:1269 +#: ecoff.c:1227 #, c-format msgid "Unknown basic type %d" msgstr "Tipo básico %d desconocido" -#: ecoff.c:1529 +#: ecoff.c:1484 #, c-format msgid "" "\n" @@ -552,7 +565,7 @@ msgstr "" "\n" " Símbolo final+1: %ld" -#: ecoff.c:1536 ecoff.c:1539 +#: ecoff.c:1491 ecoff.c:1494 #, c-format msgid "" "\n" @@ -561,7 +574,7 @@ msgstr "" "\n" " Primer símbolo: %ld" -#: ecoff.c:1551 +#: ecoff.c:1506 #, c-format msgid "" "\n" @@ -570,7 +583,7 @@ msgstr "" "\n" " Símbolo final+1: %-7ld Tipo: %s" -#: ecoff.c:1558 +#: ecoff.c:1513 #, c-format msgid "" "\n" @@ -579,7 +592,7 @@ msgstr "" "\n" " Símbolo local: %ld" -#: ecoff.c:1566 +#: ecoff.c:1521 #, c-format msgid "" "\n" @@ -588,7 +601,7 @@ msgstr "" "\n" " struct; símbolo final+1: %ld" -#: ecoff.c:1571 +#: ecoff.c:1526 #, c-format msgid "" "\n" @@ -597,7 +610,7 @@ msgstr "" "\n" " union; símbolo final+1: %ld" -#: ecoff.c:1576 +#: ecoff.c:1531 #, c-format msgid "" "\n" @@ -606,7 +619,7 @@ msgstr "" "\n" " enum; símbolo final+1: %ld" -#: ecoff.c:1582 +#: ecoff.c:1537 #, c-format msgid "" "\n" @@ -615,16 +628,16 @@ msgstr "" "\n" " Tipo: %s" -#: elf32-arm.c:1794 +#: elf32-arm.c:2315 msgid "%B: BE8 images only valid in big-endian mode." msgstr "%B: las imágenes BE8 sólo son válidas en modo big-endian." -#: elf32-arm.c:1953 +#: elf32-arm.c:2471 #, c-format msgid "Invalid TARGET2 relocation type '%s'." msgstr "Tipo de reubicación TARGET2 '%s' inválido." -#: elf32-arm.c:2060 +#: elf32-arm.c:2578 msgid "" "%B(%s): warning: interworking not enabled.\n" " first occurrence: %B: thumb call to arm" @@ -632,212 +645,298 @@ msgstr "" "%s(%s): aviso: interoperabilidad no activada.\n" " primer suceso: %B: llamada thumb para arm" -#: elf32-arm.c:2476 +#: elf32-arm.c:3044 msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "\\%B: Aviso: La instrucción Arm BLX apunta a la función Arm '%s'." -#: elf32-arm.c:2665 +#: elf32-arm.c:3227 msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "%B: Aviso: La instrucción Thumb BLX apunta a la función thumb '%s'." -#: elf32-arm.c:3185 elf32-sh.c:4610 elf64-sh64.c:1537 +#: elf32-arm.c:3889 +msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object" +msgstr "%B(%A+0x%lx): la reubicación R_ARM_TLS_LE32 no se permite en objetos compartidos" + +#: elf32-arm.c:4290 elf32-sh.c:4618 elf64-sh64.c:1537 msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section" msgstr "%B(%A+0x%lx): reubicación %s contra la sección SEC_MERGE" -#: elf32-arm.c:3277 -msgid "%B(%A): warning: unresolvable relocation %d against symbol `%s'" -msgstr "%B(%A): aviso: reubicación %d sin resolución contra el símbolo `%s'" +#: elf32-arm.c:4351 elf64-ppc.c:9672 +msgid "%B(%A+0x%lx): %s used with TLS symbol %s" +msgstr "%B(%A+0x%lx): se usó %s con el símbolo TLS %s" -#: elf32-arm.c:3329 elf32-avr.c:875 elf32-cr16c.c:773 elf32-cris.c:1502 -#: elf32-crx.c:911 elf32-d10v.c:564 elf32-fr30.c:595 elf32-frv.c:4107 -#: elf32-h8300.c:494 elf32-i860.c:1189 elf32-ip2k.c:1550 elf32-iq2000.c:611 -#: elf32-m32r.c:3250 elf32-m68hc1x.c:1189 elf32-msp430.c:503 -#: elf32-openrisc.c:415 elf32-v850.c:1749 elf32-xstormy16.c:954 -#: elf64-mmix.c:1517 elf-m10200.c:427 elf-m10300.c:1527 +#: elf32-arm.c:4352 elf64-ppc.c:9673 +msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" +msgstr "%B(%A+0x%lx): se usó %s con el símbolo %s que no es TLS" + +#: elf32-arm.c:4375 elf32-i386.c:3038 elf32-m32r.c:2653 elf32-m68k.c:1737 +#: elf32-ppc.c:6561 elf32-s390.c:3012 elf32-sh.c:4717 elf32-xtensa.c:2311 +#: elf64-ppc.c:10825 elf64-s390.c:3010 elf64-sh64.c:1626 elf64-x86-64.c:2522 +#: elf-hppa.h:1413 elf-m10300.c:1460 elfxx-sparc.c:3137 +msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" +msgstr "%B(%A+0x%lx): reubicación %s sin resolución contra el símbolo `%s'" + +#: elf32-arm.c:4411 elf32-avr.c:880 elf32-cr16c.c:773 elf32-cris.c:1502 +#: elf32-crx.c:911 elf32-d10v.c:536 elf32-fr30.c:595 elf32-frv.c:4107 +#: elf32-h8300.c:494 elf32-i860.c:1189 elf32-ip2k.c:1474 elf32-iq2000.c:616 +#: elf32-m32c.c:465 elf32-m32r.c:3111 elf32-m68hc1x.c:1194 elf32-ms1.c:373 +#: elf32-msp430.c:508 elf32-openrisc.c:383 elf32-v850.c:1672 +#: elf32-xstormy16.c:909 elf64-mmix.c:1517 elf-m10200.c:427 elf-m10300.c:1509 msgid "internal error: out of range error" msgstr "error interno: error fuera de rango" -#: elf32-arm.c:3333 elf32-avr.c:879 elf32-cr16c.c:777 elf32-cris.c:1506 -#: elf32-crx.c:915 elf32-d10v.c:568 elf32-fr30.c:599 elf32-frv.c:4111 -#: elf32-h8300.c:498 elf32-i860.c:1193 elf32-iq2000.c:615 elf32-m32r.c:3254 -#: elf32-m68hc1x.c:1193 elf32-msp430.c:507 elf32-openrisc.c:419 -#: elf32-v850.c:1753 elf32-xstormy16.c:958 elf64-mmix.c:1521 elf-m10200.c:431 -#: elf-m10300.c:1531 elfxx-mips.c:7179 +#: elf32-arm.c:4415 elf32-avr.c:884 elf32-cr16c.c:777 elf32-cris.c:1506 +#: elf32-crx.c:915 elf32-d10v.c:540 elf32-fr30.c:599 elf32-frv.c:4111 +#: elf32-h8300.c:498 elf32-i860.c:1193 elf32-iq2000.c:620 elf32-m32c.c:469 +#: elf32-m32r.c:3115 elf32-m68hc1x.c:1198 elf32-msp430.c:512 +#: elf32-openrisc.c:387 elf32-v850.c:1676 elf32-xstormy16.c:913 +#: elf64-mmix.c:1521 elf-m10200.c:431 elf-m10300.c:1513 elfxx-mips.c:7212 msgid "internal error: unsupported relocation error" msgstr "error interno: error de reubicación sin soporte" -#: elf32-arm.c:3337 elf32-cr16c.c:781 elf32-crx.c:919 elf32-d10v.c:572 -#: elf32-h8300.c:502 elf32-m32r.c:3258 elf32-m68hc1x.c:1197 elf-m10200.c:435 -#: elf-m10300.c:1535 +#: elf32-arm.c:4419 elf32-cr16c.c:781 elf32-crx.c:919 elf32-d10v.c:544 +#: elf32-h8300.c:502 elf32-m32r.c:3119 elf32-m68hc1x.c:1202 elf-m10200.c:435 +#: elf-m10300.c:1517 msgid "internal error: dangerous error" msgstr "error interno: error peligroso" -#: elf32-arm.c:3341 elf32-avr.c:887 elf32-cr16c.c:785 elf32-cris.c:1514 -#: elf32-crx.c:923 elf32-d10v.c:576 elf32-fr30.c:607 elf32-frv.c:4119 -#: elf32-h8300.c:506 elf32-i860.c:1201 elf32-ip2k.c:1565 elf32-iq2000.c:623 -#: elf32-m32r.c:3262 elf32-m68hc1x.c:1201 elf32-msp430.c:515 -#: elf32-openrisc.c:427 elf32-v850.c:1773 elf32-xstormy16.c:966 -#: elf64-mmix.c:1529 elf-m10200.c:439 elf-m10300.c:1539 +#: elf32-arm.c:4423 elf32-avr.c:892 elf32-cr16c.c:785 elf32-cris.c:1514 +#: elf32-crx.c:923 elf32-d10v.c:548 elf32-fr30.c:607 elf32-frv.c:4119 +#: elf32-h8300.c:506 elf32-i860.c:1201 elf32-ip2k.c:1489 elf32-iq2000.c:628 +#: elf32-m32c.c:477 elf32-m32r.c:3123 elf32-m68hc1x.c:1206 elf32-ms1.c:381 +#: elf32-msp430.c:520 elf32-openrisc.c:395 elf32-v850.c:1696 +#: elf32-xstormy16.c:921 elf64-mmix.c:1529 elf-m10200.c:439 elf-m10300.c:1521 msgid "internal error: unknown error" msgstr "error interno: error desconocido" -#: elf32-arm.c:3440 +#: elf32-arm.c:4664 msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it" msgstr "Aviso: Limpiando la opción de interoperación en %B porque se ha enlazado con él código no interoperable en %B" -#: elf32-arm.c:3559 +#: elf32-arm.c:4751 +msgid "ERROR: %B uses VFP register arguments, %B does not" +msgstr "ERROR: %B utiliza argumentos de registro VFP, mientras que %B no" + +#: elf32-arm.c:4798 +msgid "ERROR: %B: Conflicting architecture profiles %c/%c" +msgstr "ERROR: %B: Perfiles de arquitecturas en conflicto %c/%c" + +#: elf32-arm.c:4813 +msgid "Warning: %B: Conflicting platform configuration" +msgstr "Aviso: %B: Configuración de plataformas en conflicto" + +#: elf32-arm.c:4821 +msgid "ERROR: %B: Conflicting use of R9" +msgstr "ERROR: %B: Uso en conflicto de R9" + +#: elf32-arm.c:4833 +msgid "ERROR: %B: SB relative addressing conflicts with use of R9" +msgstr "ERROR: %B: El direccionamiento relativo a SB tiene conflictos con el uso de R9" + +#: elf32-arm.c:4855 +msgid "ERROR: %B: Conflicting definitions of wchar_t" +msgstr "ERROR: %B: Definiciones en conflicto de wchar_t" + +#: elf32-arm.c:4881 +msgid "ERROR: %B: Conflicting enum sizes" +msgstr "ERROR: %B: Tamaños de enum en conflicto" + +#: elf32-arm.c:4892 +msgid "ERROR: %B uses iWMMXt register arguments, %B does not" +msgstr "ERROR: %B utiliza argumentos de registro iWMMXt, mientras que %B no" + +#: elf32-arm.c:4912 +msgid "ERROR: %B: Must be processed by '%s' toolchain" +msgstr "ERROR: %B: Se debe procesar por la cadena de compilación '%s'" + +#: elf32-arm.c:4932 elf32-arm.c:4951 +msgid "ERROR: %B: Incompatible object tag '%s':%d" +msgstr "ERROR: %B: Etiqueta de objeto '%s' incompatible:%d" + +#: elf32-arm.c:4961 +msgid "Warning: %B: Unknown EABI object attribute %d" +msgstr "Aviso: %B: Atributo de objeto EABI %d desconocido" + +#: elf32-arm.c:5069 msgid "ERROR: Source object %B has EABI version %d, but target %B has EABI version %d" msgstr "ERROR: El objeto fuente %B tiene EABI versión %d, pero el objetivo %B tiene EABI versión %d" -#: elf32-arm.c:3572 +#: elf32-arm.c:5082 msgid "ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" msgstr "ERROR: %B está compilado para APCS-%d mientras que el objetivo %B usa APCS-%d" -#: elf32-arm.c:3597 +#: elf32-arm.c:5107 msgid "ERROR: %B uses VFP instructions, whereas %B does not" msgstr "ERROR: %B utiliza instrucciones VFP, mientras que %B no" -#: elf32-arm.c:3601 +#: elf32-arm.c:5111 msgid "ERROR: %B uses FPA instructions, whereas %B does not" msgstr "ERROR: %B utiliza instrucciones FPA, mientras que %B no" -#: elf32-arm.c:3611 +#: elf32-arm.c:5121 msgid "ERROR: %B uses Maverick instructions, whereas %B does not" msgstr "ERROR: %B utiliza instrucciones Maverick, mientras que %B no" -#: elf32-arm.c:3615 +#: elf32-arm.c:5125 msgid "ERROR: %B does not use Maverick instructions, whereas %B does" msgstr "ERROR: %B no utiliza instrucciones Maverick, mientras que %B sí" -#: elf32-arm.c:3634 +#: elf32-arm.c:5144 msgid "ERROR: %B uses software FP, whereas %B uses hardware FP" msgstr "ERROR: %B utiliza FP de software, mientras que %B utiliza FP de hardware" -#: elf32-arm.c:3638 +#: elf32-arm.c:5148 msgid "ERROR: %B uses hardware FP, whereas %B uses software FP" msgstr "ERROR: %B utiliza FP de hardware, mientras que %B utiliza FP de software" #. 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:3685 elf32-cris.c:3243 elf32-m68hc1x.c:1333 elf32-m68k.c:397 -#: elf32-vax.c:546 elfxx-mips.c:9846 +#: elf32-arm.c:5195 elf32-bfin.c:2164 elf32-cris.c:3243 elf32-m68hc1x.c:1338 +#: elf32-m68k.c:428 elf32-vax.c:528 elfxx-mips.c:9933 #, c-format msgid "private flags = %lx:" msgstr "opciones privadas = %lx:" -#: elf32-arm.c:3694 +#: elf32-arm.c:5204 #, c-format msgid " [interworking enabled]" msgstr " [interoperabilidad activada]" -#: elf32-arm.c:3702 +#: elf32-arm.c:5212 #, c-format msgid " [VFP float format]" msgstr " [formato de coma flotante VFP]" -#: elf32-arm.c:3704 +#: elf32-arm.c:5214 #, c-format msgid " [Maverick float format]" msgstr " [formato de coma flotante Maverick]" -#: elf32-arm.c:3706 +#: elf32-arm.c:5216 #, c-format msgid " [FPA float format]" msgstr " [formato de coma flotante FPA]" -#: elf32-arm.c:3715 +#: elf32-arm.c:5225 #, c-format msgid " [new ABI]" msgstr " [ABI nuevo]" -#: elf32-arm.c:3718 +#: elf32-arm.c:5228 #, c-format msgid " [old ABI]" msgstr " [ABI antiguo]" -#: elf32-arm.c:3721 +#: elf32-arm.c:5231 #, c-format msgid " [software FP]" msgstr " [FP por software]" -#: elf32-arm.c:3730 +#: elf32-arm.c:5240 #, c-format msgid " [Version1 EABI]" msgstr " [EABI Version1]" -#: elf32-arm.c:3733 elf32-arm.c:3744 +#: elf32-arm.c:5243 elf32-arm.c:5254 #, c-format msgid " [sorted symbol table]" msgstr " [tabla de símbolos ordenados]" -#: elf32-arm.c:3735 elf32-arm.c:3746 +#: elf32-arm.c:5245 elf32-arm.c:5256 #, c-format msgid " [unsorted symbol table]" msgstr " [tabla de símbolos sin ordenar]" -#: elf32-arm.c:3741 +#: elf32-arm.c:5251 #, c-format msgid " [Version2 EABI]" msgstr " [EABI Version2]" -#: elf32-arm.c:3749 +#: elf32-arm.c:5259 #, c-format msgid " [dynamic symbols use segment index]" msgstr " [los símbolos dinámicos utilizan índices de segmento]" -#: elf32-arm.c:3752 +#: elf32-arm.c:5262 #, c-format msgid " [mapping symbols precede others]" msgstr " [el mapeo de símbolos precede a otros]" -#: elf32-arm.c:3759 +#: elf32-arm.c:5269 #, c-format msgid " [Version3 EABI]" msgstr " [EABI Version3]" -#: elf32-arm.c:3763 +#: elf32-arm.c:5273 #, c-format msgid " [Version4 EABI]" msgstr " [EABI Version4]" -#: elf32-arm.c:3766 +#: elf32-arm.c:5276 #, c-format msgid " [BE8]" msgstr " [BE8]" -#: elf32-arm.c:3769 +#: elf32-arm.c:5279 #, c-format msgid " [LE8]" msgstr " [LE8]" -#: elf32-arm.c:3775 +#: elf32-arm.c:5285 #, c-format msgid " " msgstr " " -#: elf32-arm.c:3782 +#: elf32-arm.c:5292 #, c-format msgid " [relocatable executable]" msgstr " [ejecutable reubicable]" -#: elf32-arm.c:3785 +#: elf32-arm.c:5295 #, c-format msgid " [has entry point]" msgstr " [tiene punto de entrada]" -#: elf32-arm.c:3790 +#: elf32-arm.c:5300 #, c-format msgid "" msgstr "" -#: elf32-avr.c:883 elf32-cris.c:1510 elf32-fr30.c:603 elf32-frv.c:4115 -#: elf32-i860.c:1197 elf32-ip2k.c:1561 elf32-iq2000.c:619 elf32-msp430.c:511 -#: elf32-openrisc.c:423 elf32-v850.c:1757 elf32-xstormy16.c:962 -#: elf64-mmix.c:1525 +#: elf32-arm.c:5536 elf32-i386.c:902 elf32-s390.c:989 elf32-xtensa.c:784 +#: elf64-s390.c:942 elf64-x86-64.c:666 elfxx-sparc.c:1016 +msgid "%B: bad symbol index: %d" +msgstr "%B: índice de símbolos erróneo: %d" + +#: elf32-arm.c:6023 elf32-cris.c:2385 elf32-hppa.c:1813 elf32-i370.c:491 +#: elf32-i386.c:1465 elf32-m32r.c:1913 elf32-m68k.c:1088 elf32-ppc.c:4145 +#: elf32-s390.c:1686 elf32-sh.c:3920 elf32-vax.c:1059 elf64-ppc.c:5717 +#: elf64-s390.c:1659 elf64-sh64.c:3442 elf64-x86-64.c:1252 elf-m10300.c:4107 +#: elfxx-sparc.c:1720 +#, c-format +msgid "dynamic variable `%s' is zero size" +msgstr "la variable dinámica `%s' es de tamaño cero" + +#: elf32-avr.c:888 elf32-cris.c:1510 elf32-fr30.c:603 elf32-frv.c:4115 +#: elf32-i860.c:1197 elf32-ip2k.c:1485 elf32-iq2000.c:624 elf32-m32c.c:473 +#: elf32-ms1.c:377 elf32-msp430.c:516 elf32-openrisc.c:391 elf32-v850.c:1680 +#: elf32-xstormy16.c:917 elf64-mmix.c:1525 msgid "internal error: dangerous relocation" msgstr "error interno: reubicación peligrosa" +#: elf32-bfin.c:96 +msgid "Division by zero. " +msgstr "División por cero. " + +#: elf32-bfin.c:1958 +msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" +msgstr "%B(%A+0x%lx): reubicación sin resolución contra el símbolo `%s'" + +#: elf32-bfin.c:1991 elf32-i386.c:3079 elf32-m68k.c:1778 elf32-s390.c:3064 +#: elf64-s390.c:3062 elf64-x86-64.c:2567 +msgid "%B(%A+0x%lx): reloc against `%s': error %d" +msgstr "%B(%A+0x%lx): reubicación contra `%s': error %d" + #: elf32-cris.c:1050 msgid "%B, section %A: unresolvable relocation %s against symbol `%s'" msgstr "%B, sección %A: reubicación %s sin resolución contra el símbolo `%s'" @@ -874,7 +973,7 @@ msgstr "%B, secci msgid "%B: Internal inconsistency; no relocation section %s" msgstr "%B: Inconsistencia interna; no se encuentra la sección de reubicación %s" -#: elf32-cris.c:2507 +#: elf32-cris.c:2520 msgid "" "%B, section %A:\n" " v10/v32 compatible object %s must not contain a PIC relocation" @@ -882,7 +981,7 @@ msgstr "" "%B, sección %A:\n" " el objeto %s compatible con v10/v32 no debe contener una reubicación PIC" -#: elf32-cris.c:2694 elf32-cris.c:2762 +#: elf32-cris.c:2707 elf32-cris.c:2775 msgid "" "%B, section %A:\n" " relocation %s should not be used in a shared object; recompile with -fPIC" @@ -1009,276 +1108,251 @@ msgstr "%B(%A+0x%lx): reubicaci msgid "relocation references a different segment" msgstr "la reubicación referencía un segmento diferente" -#: elf32-frv.c:6344 +#: elf32-frv.c:6324 msgid "%B: unsupported relocation type %i" msgstr "%B: tipo de reubicación %i sin soporte" -#: elf32-frv.c:6662 +#: elf32-frv.c:6642 #, c-format msgid "%s: compiled with %s and linked with modules that use non-pic relocations" msgstr "%s: compilado con %s y enlazado con módulos que usan reubicaciones que no son pic" -#: elf32-frv.c:6715 elf32-iq2000.c:796 +#: elf32-frv.c:6695 elf32-iq2000.c:801 elf32-m32c.c:785 #, c-format msgid "%s: compiled with %s and linked with modules compiled with %s" msgstr "%s: compilado con %s y enlazado con módulos compilados con %s" -#: elf32-frv.c:6727 +#: elf32-frv.c:6707 #, c-format msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "%s: usa campos e_flags desconocidos (0x%lx) diferentes a aquéllos de los módulos previos (0x%lx)" -#: elf32-frv.c:6748 +#: elf32-frv.c:6728 #, c-format msgid "%s: cannot link non-fdpic object file into fdpic executable" msgstr "%s: enlazando código que no es fdpic en un ejecutable fdpic" -#: elf32-frv.c:6752 +#: elf32-frv.c:6732 #, c-format msgid "%s: cannot link fdpic object file into non-fdpic executable" msgstr "%s: enlazando código fdpic en un ejecutable que no es fdpic" -#: elf32-frv.c:6777 elf32-iq2000.c:833 +#: elf32-frv.c:6757 elf32-iq2000.c:838 elf32-m32c.c:821 elf32-ms1.c:596 #, c-format msgid "private flags = 0x%lx:" msgstr "opciones privadas = 0x%lx:" -#: elf32-gen.c:83 elf64-gen.c:83 +#: elf32-gen.c:68 elf64-gen.c:68 msgid "%B: Relocations in generic ELF (EM: %d)" msgstr "%B: Reubicaciones en ELF genérico (EM: %d)" -#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3644 +#: elf32-hppa.c:569 elf32-m68hc1x.c:161 elf64-ppc.c:3660 msgid "%B: cannot create stub entry %s" msgstr "%B: no se puede crear la entrada de cabo %s" -#: elf32-hppa.c:795 elf32-hppa.c:3359 +#: elf32-hppa.c:822 elf32-hppa.c:3411 msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections" msgstr "%B(%A+0x%lx): no se puede alcanzar %s, recompile con -ffuntion-sections" -#: elf32-hppa.c:1176 +#: elf32-hppa.c:1212 msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC" msgstr "%B: no se puede usar la reubicación %s cuando se hace un objeto compartido; recompile con -fPIC" -#: elf32-hppa.c:1370 +#: elf32-hppa.c:1405 #, c-format msgid "Could not find relocation section for %s" msgstr "No se puede encontrar la sección de reubicación para %s" -#: elf32-hppa.c:2623 +#: elf32-hppa.c:2677 msgid "%B: duplicate export stub %s" msgstr "%B: cabo de exportación %s duplicado" -#: elf32-hppa.c:3214 +#: elf32-hppa.c:3266 msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" msgstr "%B(%A+0x%lx): la compostura %s para la insn 0x%x no tiene soporte en un enlazado que no es compartido" -#: elf32-hppa.c:3844 +#: elf32-hppa.c:3895 msgid "%B(%A+0x%lx): cannot handle %s for %s" msgstr "%B(%A+0x%lx): no se puede manejar %s para %s" -#: elf32-hppa.c:4137 +#: elf32-hppa.c:4189 msgid ".got section not immediately after .plt section" msgstr "la sección .got no está inmediatamente después de la sección .plt" -#: elf32-i386.c:326 +#: elf32-i386.c:327 elf32-s390.c:368 elf64-ppc.c:2124 elf64-s390.c:390 +#: elf64-x86-64.c:204 msgid "%B: invalid relocation type %d" msgstr "%B: tipo de reubicación %d inválido" -#: elf32-i386.c:865 elf32-s390.c:985 elf32-sparc.c:910 elf32-xtensa.c:788 -#: elf64-s390.c:938 elf64-x86-64.c:646 -msgid "%B: bad symbol index: %d" -msgstr "%B: índice de símbolos erróneo: %d" - -#: elf32-i386.c:973 elf32-s390.c:1162 elf32-sh.c:6388 elf32-sparc.c:1033 -#: elf64-s390.c:1124 +#: elf32-i386.c:1015 elf32-s390.c:1171 elf32-sh.c:6389 elf64-s390.c:1133 +#: elfxx-sparc.c:1144 msgid "%B: `%s' accessed both as normal and thread local symbol" msgstr "%B: se accesó `%s' como un símbolo normal y un símbolo local de hilo" -#: elf32-i386.c:1088 elf32-s390.c:1271 elf64-ppc.c:4676 elf64-s390.c:1236 -#: elf64-x86-64.c:882 +#: elf32-i386.c:1130 elf32-s390.c:1280 elf64-ppc.c:4731 elf64-s390.c:1245 +#: elf64-x86-64.c:910 msgid "%B: bad relocation section name `%s'" msgstr "%B: nombre de sección de reubicación `%s' erróneo" -#: elf32-i386.c:2043 +#: elf32-i386.c:2149 msgid "%B: unrecognized relocation (0x%x) in section `%A'" msgstr "%B: no se reconoce la dirección de reubicación (0x%lx) en la sección `%A'" -#: elf32-i386.c:2287 +#: elf32-i386.c:2409 msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object" msgstr "%B: no se puede usar la reubicación R_386_GOTOFF contra la función protegida `%s' cuando se hace un objeto compartido" -#: elf32-i386.c:2931 elf32-m68k.c:1700 elf32-s390.c:2993 elf32-sparc.c:2859 -#: elf32-xtensa.c:2321 elf64-s390.c:2990 elf64-sparc.c:2684 -#: elf64-x86-64.c:2438 -msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" -msgstr "%B(%A+0x%lx): reubicación sin resolución contra el símbolo `%s'" - -#: elf32-i386.c:2971 elf32-m68k.c:1740 elf32-s390.c:3044 elf64-s390.c:3041 -#: elf64-x86-64.c:2482 -msgid "%B(%A+0x%lx): reloc against `%s': error %d" -msgstr "%B(%A+0x%lx): reubicación contra `%s': error %d" - -#: elf32-ip2k.c:557 elf32-ip2k.c:563 elf32-ip2k.c:726 elf32-ip2k.c:732 +#: elf32-ip2k.c:853 elf32-ip2k.c:859 elf32-ip2k.c:926 elf32-ip2k.c:932 msgid "ip2k relaxer: switch table without complete matching relocation information." msgstr "relajador ip2k: tabla switch sin información completa de reubicación de coincidencias." -#: elf32-ip2k.c:580 elf32-ip2k.c:759 +#: elf32-ip2k.c:876 elf32-ip2k.c:959 msgid "ip2k relaxer: switch table header corrupt." msgstr "relajador ip2k: encabezado de tabla switch corrupto." -#: elf32-ip2k.c:1377 +#: elf32-ip2k.c:1301 #, c-format msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "enlazador ip2k: instrucción de página faltante en 0x%08lx (dest = 0x%08lx)." -#: elf32-ip2k.c:1391 +#: elf32-ip2k.c:1317 #, c-format msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "enlazador ip2k: instrucción de página redundante en 0x%08lx (dest = 0x%08lx)." #. Only if it's not an unresolved symbol. -#: elf32-ip2k.c:1557 +#: elf32-ip2k.c:1481 msgid "unsupported relocation between data/insn address spaces" msgstr "reubicación sin soporte entre espacios de direcciones datos/insn" -#: elf32-iq2000.c:809 +#: elf32-iq2000.c:814 elf32-m32c.c:797 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "%s: usa campos de e_flags diferentes (0x%lx) que los módulos previos (0x%lx)" -#: elf32-m32r.c:1530 +#: elf32-m32r.c:1436 msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "reubicación SDA cuando _SDA_BASE_ no está definido" -#: elf32-m32r.c:2604 elf64-alpha.c:4181 elf64-alpha.c:4307 elf32-ia64.c:3910 -#: elf64-ia64.c:3910 -msgid "%B: unknown relocation type %d" -msgstr "%B: tipo de reubicación %d desconocido" - -#: elf32-m32r.c:2789 elf64-sh64.c:1626 elf-m10300.c:1481 -#, c-format -msgid "%s: warning: unresolvable relocation against symbol `%s' from %s section" -msgstr "%s: aviso: reubicación sin resolución contra el símbolo `%s' de la sección %s" - -#: elf32-m32r.c:3187 +#: elf32-m32r.c:3048 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" msgstr "%B: El objetivo (%s) de una reubicación %s está en la sección errónea (%A)" -#: elf32-m32r.c:3719 +#: elf32-m32r.c:3576 msgid "%B: Instruction set mismatch with previous modules" msgstr "%B: Conjunto de instrucciones no coincidente con módulos previos" -#: elf32-m32r.c:3741 +#: elf32-m32r.c:3597 #, c-format msgid "private flags = %lx" msgstr "opciones privadas = %lx" -#: elf32-m32r.c:3746 +#: elf32-m32r.c:3602 #, c-format msgid ": m32r instructions" msgstr ": instrucciones m32r" -#: elf32-m32r.c:3747 +#: elf32-m32r.c:3603 #, c-format msgid ": m32rx instructions" msgstr ": instrucciones m32rx" -#: elf32-m32r.c:3748 +#: elf32-m32r.c:3604 #, c-format msgid ": m32r2 instructions" msgstr ": instrucciones m32r2" -#: elf32-m68hc1x.c:1101 +#: elf32-m68hc1x.c:1106 #, c-format msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution" msgstr "Una referencia al símbolo far `%s' usando una reubicación incorrecta puede resultar en una ejecución incorrecta" -#: elf32-m68hc1x.c:1124 +#: elf32-m68hc1x.c:1129 #, c-format msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)" msgstr "la dirección almacenada [%lx:%04lx] (%lx) no está en el mismo banco que la dirección almacenada actual [%lx:%04lx] (%lx)" -#: elf32-m68hc1x.c:1143 +#: elf32-m68hc1x.c:1148 #, c-format msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx" msgstr "referencia a una dirección almacenada [%lx:%04lx] en el espacio normal de direcciones en %04lx" -#: elf32-m68hc1x.c:1276 +#: elf32-m68hc1x.c:1281 msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers" msgstr "%B: enlazando ficheros compilados con enteros de 16-bit (-mshort) y otros con enteros de 32-bit" -#: elf32-m68hc1x.c:1283 +#: elf32-m68hc1x.c:1288 msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double" msgstr "%B: enlazando ficheros compilados con dobles de 32-bit (-fshort-double) y otros con dobles de 64-bit" -#: elf32-m68hc1x.c:1292 +#: elf32-m68hc1x.c:1297 msgid "%B: linking files compiled for HCS12 with others compiled for HC12" msgstr "%B: enlazando ficheros compilados para HCS12, con otros compilados para HC12" -#: elf32-m68hc1x.c:1308 elf32-ppc.c:2298 elf64-sparc.c:3090 elfxx-mips.c:9807 +#: elf32-m68hc1x.c:1313 elf32-ppc.c:3576 elf64-sparc.c:696 elfxx-mips.c:9894 msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "%B: usa campos de e_flags diferentes (0x%lx) que los módulos previos (0x%lx)" -#: elf32-m68hc1x.c:1336 +#: elf32-m68hc1x.c:1341 #, c-format msgid "[abi=32-bit int, " msgstr "[abi=int de 32-bit, " -#: elf32-m68hc1x.c:1338 +#: elf32-m68hc1x.c:1343 #, c-format msgid "[abi=16-bit int, " msgstr "[abi=int de 16-bit, " -#: elf32-m68hc1x.c:1341 +#: elf32-m68hc1x.c:1346 #, c-format msgid "64-bit double, " msgstr "doble de 64-bit, " -#: elf32-m68hc1x.c:1343 +#: elf32-m68hc1x.c:1348 #, c-format msgid "32-bit double, " msgstr "doble de 32-bit, " -#: elf32-m68hc1x.c:1346 +#: elf32-m68hc1x.c:1351 #, c-format msgid "cpu=HC11]" msgstr "cpu=HC11]" -#: elf32-m68hc1x.c:1348 +#: elf32-m68hc1x.c:1353 #, c-format msgid "cpu=HCS12]" msgstr "cpu=HCS12]" -#: elf32-m68hc1x.c:1350 +#: elf32-m68hc1x.c:1355 #, c-format msgid "cpu=HC12]" msgstr "cpu=HC12]" -#: elf32-m68hc1x.c:1353 +#: elf32-m68hc1x.c:1358 #, c-format msgid " [memory=bank-model]" msgstr " [memoria=modelo de bancos]" -#: elf32-m68hc1x.c:1355 +#: elf32-m68hc1x.c:1360 #, c-format msgid " [memory=flat]" msgstr " [memoria=plana]" -#: elf32-m68k.c:400 +#: elf32-m68k.c:431 #, c-format msgid " [cpu32]" msgstr " [cpu32]" -#: elf32-m68k.c:403 +#: elf32-m68k.c:434 #, c-format msgid " [m68000]" msgstr " [m68000]" -#: elf32-mcore.c:353 elf32-mcore.c:455 +#: elf32-mcore.c:98 elf32-mcore.c:428 msgid "%B: Relocation %s (%d) is not currently supported.\n" msgstr "%B: La reubicación %s (%d) actualmente no tiene soporte.\n" -#: elf32-mcore.c:441 +#: elf32-mcore.c:414 msgid "%B: Unknown relocation type %d\n" msgstr "%B: Tipo de reubicación %d desconocido\n" @@ -1295,128 +1369,124 @@ msgstr "la reubicaci msgid "Linking mips16 objects into %s format is not supported" msgstr "Enlazar objetos mips16 en el formato %s no tiene soporte" -#: elf32-ppc.c:2181 +#: elf32-ppc.c:1652 #, c-format msgid "generic linker can't handle %s" msgstr "el enlazador genérico no puede manejar %s" -#: elf32-ppc.c:2263 -msgid "%B: compiled with -mrelocatable and linked with modules compiled normally" -msgstr "%B: compilado con -mrelocatable y enlazado con módulos compilados de forma normal" +#: elf32-ppc.c:2080 +msgid "corrupt or empty %s section in %B" +msgstr "sección %s corrupta o vacía en %B" -#: elf32-ppc.c:2271 -msgid "%B: compiled normally and linked with modules compiled with -mrelocatable" -msgstr "%B: compilado de forma normal y enlazado con módulos compilados con -mrelocatable" +#: elf32-ppc.c:2087 +msgid "unable to read in %s section from %B" +msgstr "no se puede leer en la sección %s desde %B" + +#: elf32-ppc.c:2093 +msgid "corrupt %s section in %B" +msgstr "sección %s corrupta en %B" + +#: elf32-ppc.c:2136 +msgid "warning: unable to set size of %s section in %B" +msgstr "aviso: no se puede establecer el tamaño de la sección %s en %B" + +#: elf32-ppc.c:2183 +msgid "failed to allocate space for new APUinfo section." +msgstr "no se puede reservar espacio para la nueva sección APUinfo." + +#: elf32-ppc.c:2202 +msgid "failed to compute new APUinfo section." +msgstr "no se puede calcular la nueva sección APUinfo." + +#: elf32-ppc.c:2205 +msgid "failed to install new APUinfo section." +msgstr "no se puede instalar la nueva sección APUinfo." -#: elf32-ppc.c:3526 +#: elf32-ppc.c:2941 msgid "%B: relocation %s cannot be used when making a shared object" msgstr "%B: no se puede usar la reubicación %s cuando se hace un objeto compartido" #. It does not make sense to have a procedure linkage #. table entry for a local symbol. -#: elf32-ppc.c:3731 +#: elf32-ppc.c:3211 msgid "%B(%A+0x%lx): %s reloc against local symbol" msgstr "%B(%A+0x%lx): reubicación %s contra un símbolo local" -#: elf32-ppc.c:4935 elf64-ppc.c:9967 +#: elf32-ppc.c:3541 +msgid "%B: compiled with -mrelocatable and linked with modules compiled normally" +msgstr "%B: compilado con -mrelocatable y enlazado con módulos compilados de forma normal" + +#: elf32-ppc.c:3549 +msgid "%B: compiled normally and linked with modules compiled with -mrelocatable" +msgstr "%B: compilado de forma normal y enlazado con módulos compilados con -mrelocatable" + +#: elf32-ppc.c:5768 elf64-ppc.c:10186 msgid "%B: unknown relocation type %d for symbol %s" msgstr "%B: tipo de reubicación %d desconocido para el símbolo %s" -#: elf32-ppc.c:5184 +#: elf32-ppc.c:6018 msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'" msgstr "%B(%A+0x%lx): adición que no es cero en la reubicación %s contra `%s'" -#: elf32-ppc.c:5510 elf32-ppc.c:5536 elf32-ppc.c:5595 +#: elf32-ppc.c:6365 elf32-ppc.c:6391 elf32-ppc.c:6450 msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "%B: el objetivo (%s) de una reubicación %s está en la sección de salida errónea (%s)" -#: elf32-ppc.c:5650 +#: elf32-ppc.c:6505 msgid "%B: relocation %s is not yet supported for symbol %s." msgstr "%B: la reubicación %s aún no tiene soporte para el símbolo %s." -#: elf32-ppc.c:5705 elf64-ppc.c:10606 -msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" -msgstr "%B(%A+0x%lx): reubicación %s sin resolución contra el símbolo `%s'" - -#: elf32-ppc.c:5756 elf64-ppc.c:10653 +#: elf32-ppc.c:6610 elf64-ppc.c:10872 msgid "%B(%A+0x%lx): %s reloc against `%s': error %d" msgstr "%B(%A+0x%lx): reubicación %s contra `%s': error %d" -#: elf32-ppc.c:5999 -msgid "corrupt or empty %s section in %B" -msgstr "sección %s corrupta o vacía en %B" - -#: elf32-ppc.c:6006 -msgid "unable to read in %s section from %B" -msgstr "no se puede leer en la sección %s desde %B" - -#: elf32-ppc.c:6012 -msgid "corrupt %s section in %B" -msgstr "sección %s corrupta en %B" - -#: elf32-ppc.c:6055 -msgid "warning: unable to set size of %s section in %B" -msgstr "aviso: no se puede establecer el tamaño de la sección %s en %B" - -#: elf32-ppc.c:6104 -msgid "failed to allocate space for new APUinfo section." -msgstr "no se puede reservar espacio para la nueva sección APUinfo." - -#: elf32-ppc.c:6123 -msgid "failed to compute new APUinfo section." -msgstr "no se puede calcular la nueva sección APUinfo." - -#: elf32-ppc.c:6126 -msgid "failed to install new APUinfo section." -msgstr "no se puede instalar la nueva sección APUinfo." - -#: elf32-s390.c:2234 elf64-s390.c:2205 +#: elf32-s390.c:2253 elf64-s390.c:2225 msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s" msgstr "%B(%A+0x%lx): instrucción inválida para la reubicación TLS %s" -#: elf32-sh64.c:218 elf64-sh64.c:2319 +#: elf32-sh64.c:218 elf64-sh64.c:2322 #, c-format msgid "%s: compiled as 32-bit object and %s is 64-bit" msgstr "%s: compilado como un objeto de 32-bit y %s es de 64-bit" -#: elf32-sh64.c:221 elf64-sh64.c:2322 +#: elf32-sh64.c:221 elf64-sh64.c:2325 #, c-format msgid "%s: compiled as 64-bit object and %s is 32-bit" msgstr "%s: compilado como un objeto de 64-bit y %s es de 32-bit" -#: elf32-sh64.c:223 elf64-sh64.c:2324 +#: elf32-sh64.c:223 elf64-sh64.c:2327 #, c-format msgid "%s: object size does not match that of target %s" msgstr "%s: el tamaño del objeto no coincide con el tamaño del objetivo %s" -#: elf32-sh64.c:445 elf64-sh64.c:2890 +#: elf32-sh64.c:446 elf64-sh64.c:2899 #, c-format msgid "%s: encountered datalabel symbol in input" msgstr "%s: se encontró un símbolo datalabel en la entrada" -#: elf32-sh64.c:522 +#: elf32-sh64.c:523 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" msgstr "No coincide PTB: una dirección SHmedia (bit 0 == 1)" -#: elf32-sh64.c:525 +#: elf32-sh64.c:526 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" msgstr "No coincide PTA: una dirección SHcompact (bit 0 == 0)" -#: elf32-sh64.c:543 +#: elf32-sh64.c:544 #, c-format msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16" msgstr "%s: error de GAS: instrucción PTB inesperada con R_SH_PT_16" -#: elf32-sh64.c:592 +#: elf32-sh64.c:593 msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n" msgstr "%B: error: tipo de reubicación %d sin alinear en %08x reubicación %p\n" -#: elf32-sh64.c:668 +#: elf32-sh64.c:669 #, c-format msgid "%s: could not write out added .cranges entries" msgstr "%s: no se pueden escribir las entradas .cranges agregadas" -#: elf32-sh64.c:728 +#: elf32-sh64.c:729 #, c-format msgid "%s: could not write out sorted .cranges entries" msgstr "%s: no se pueden escribir las entradas .cranges ordenadas" @@ -1453,31 +1523,27 @@ msgstr "%B: 0x%lx: aviso: cuenta err msgid "%B: 0x%lx: fatal: reloc overflow while relaxing" msgstr "%B: 0x%lx: fatal: desbordamiento de reubicación durante la relajación" -#: elf32-sh.c:4558 elf64-sh64.c:1509 +#: elf32-sh.c:4566 elf64-sh64.c:1509 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" msgstr "No se maneja un STO_SH5_ISA32 inesperado en un símbolo local" -#: elf32-sh.c:4709 -msgid "%B(%A): unresolvable relocation against symbol `%s'" -msgstr "%B(%A+0x%lx): reubicación sin resolución contra el símbolo `%s'" - -#: elf32-sh.c:4779 +#: elf32-sh.c:4791 msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "%B: 0x%lx: fatal: objetivo de ramificación sin alineación para la reubicación de soporte de relajamiento" -#: elf32-sh.c:4812 elf32-sh.c:4827 +#: elf32-sh.c:4824 elf32-sh.c:4839 msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx" msgstr "%B: 0x%lx: fatal: reubicación %s sin alineación 0x%lx" -#: elf32-sh.c:4841 +#: elf32-sh.c:4853 msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" msgstr "%B: 0x%lx: fatal: la reubicación R_SH_PSHA %d no está en el rango -32..32" -#: elf32-sh.c:4855 +#: elf32-sh.c:4867 msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" msgstr "%B: 0x%lx: fatal: la reubicación R_SH_PSHL %d no está en el rango -32..32" -#: elf32-sh.c:6599 elf64-alpha.c:4725 +#: elf32-sh.c:6601 elf64-alpha.c:4466 msgid "%B: TLS local exec code cannot be linked into shared objects" msgstr "%B: el código de ejecución local TLS no se puede enlazar en objetos compartidos" @@ -1493,214 +1559,209 @@ msgstr "%B: Orden .directive no reconocida: %s" msgid "%B: Failed to add renamed symbol %s" msgstr "%B: Falló al agregar el símbolo renombrado %s" -#: elf32-sparc.c:2501 elf64-sparc.c:2340 -msgid "%B: probably compiled without -fPIC?" -msgstr "%B: ¿Compilado probablemente sin -fPIC?" - -#: elf32-sparc.c:3324 +#: elf32-sparc.c:87 msgid "%B: compiled for a 64 bit system and target is 32 bit" msgstr "%B: compilado para un sistema de 64 bit y el objetivo es de 32 bit" -#: elf32-sparc.c:3337 +#: elf32-sparc.c:100 msgid "%B: linking little endian files with big endian files" msgstr "%B: enlazando ficheros little endian con ficheros big endian" -#: elf32-v850.c:769 +#: elf32-v850.c:160 #, c-format msgid "Variable `%s' cannot occupy in multiple small data regions" msgstr "La variable `%s' no puede ocupar múltiples regiones de datos small" -#: elf32-v850.c:772 +#: elf32-v850.c:163 #, c-format msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions" msgstr "La variable `%s' solamente puede estar en una de las regiones de datos small, cero, y tiny" -#: elf32-v850.c:775 +#: elf32-v850.c:166 #, c-format msgid "Variable `%s' cannot be in both small and zero data regions simultaneously" msgstr "La variable `%s' no puede estar simultáneamente en las regiones de datos small y cero" -#: elf32-v850.c:778 +#: elf32-v850.c:169 #, c-format msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously" msgstr "La variable `%s' no puede estar simultáneamente en las regiones de datos small y tiny" -#: elf32-v850.c:781 +#: elf32-v850.c:172 #, c-format msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously" msgstr "La variable `%s' no puede estar simultáneamente en las regiones de datos cero y tiny" -#: elf32-v850.c:1090 +#: elf32-v850.c:475 #, c-format msgid "FAILED to find previous HI16 reloc\n" msgstr "FALLO para encontrar la reubicación HI16 previa\n" -#: elf32-v850.c:1761 +#: elf32-v850.c:1684 msgid "could not locate special linker symbol __gp" msgstr "no se puede localizar el símbolo especial del enlazador __gp" -#: elf32-v850.c:1765 +#: elf32-v850.c:1688 msgid "could not locate special linker symbol __ep" msgstr "no se puede localizar el símbolo especial del enlazador __ep" -#: elf32-v850.c:1769 +#: elf32-v850.c:1692 msgid "could not locate special linker symbol __ctbp" msgstr "no se puede localizar el símbolo especial del enlazador __ctbp" -#: elf32-v850.c:1954 +#: elf32-v850.c:1870 msgid "%B: Architecture mismatch with previous modules" msgstr "%B: No coincide la arquitectura con los módulos previos" -#: elf32-v850.c:1975 +#: elf32-v850.c:1889 #, c-format msgid "private flags = %lx: " msgstr "opciones privadas = %lx: " -#: elf32-v850.c:1980 +#: elf32-v850.c:1894 #, c-format msgid "v850 architecture" msgstr "arquitectura v850" -#: elf32-v850.c:1981 +#: elf32-v850.c:1895 #, c-format msgid "v850e architecture" msgstr "arquitectura v850e" -#: elf32-v850.c:1982 +#: elf32-v850.c:1896 #, c-format msgid "v850e1 architecture" msgstr "arquitectura v850e1" -#: elf32-vax.c:549 +#: elf32-vax.c:531 #, c-format msgid " [nonpic]" msgstr " [no pic]" -#: elf32-vax.c:552 +#: elf32-vax.c:534 #, c-format msgid " [d-float]" msgstr " [flotante-d]" -#: elf32-vax.c:555 +#: elf32-vax.c:537 #, c-format msgid " [g-float]" msgstr " [flotante-g]" -#: elf32-vax.c:663 +#: elf32-vax.c:647 #, c-format msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld" msgstr "%s: aviso: la adición GOT de %ld a `%s' no coincide con la adición previa GOT de %ld" -#: elf32-vax.c:1636 +#: elf32-vax.c:1604 #, c-format msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored" msgstr "%s: aviso: se ignora la adición PLT de %d a `%s' de la sección %s" -#: elf32-vax.c:1760 +#: elf32-vax.c:1728 #, c-format msgid "%s: warning: %s relocation against symbol `%s' from %s section" msgstr "%s: aviso: reubicación %s contra el símbolo `%s' de la sección %s" -#: elf32-vax.c:1766 +#: elf32-vax.c:1734 #, c-format msgid "%s: warning: %s relocation to 0x%x from %s section" msgstr "%s: aviso: reubicación %s a 0x%x de la sección %s" -#: elf32-xstormy16.c:462 elf32-ia64.c:2394 elf64-ia64.c:2394 +#: elf32-xstormy16.c:425 elf32-ia64.c:2563 elf64-ia64.c:2563 msgid "non-zero addend in @fptr reloc" msgstr "adición que no es cero en la reubicación @fptr" -#: elf32-xtensa.c:709 +#: elf32-xtensa.c:705 msgid "%B(%A): invalid property table" msgstr "%B(%A): tabla de propiedades inválida" -#: elf32-xtensa.c:2209 +#: elf32-xtensa.c:2199 msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)" msgstr "%B(%A+0x%lx): desplazamiento de reubicación fuera de rango (tamaño=0x%x)" -#: elf32-xtensa.c:2266 +#: elf32-xtensa.c:2256 msgid "dynamic relocation in read-only section" msgstr "reubicación dinámica en la sección de sólo lectura" -#: elf32-xtensa.c:2430 +#: elf32-xtensa.c:2421 msgid "internal inconsistency in size of .got.loc section" msgstr "inconsistencia interna en el tamaño de la sección .got.loc" -#: elf32-xtensa.c:2744 +#: elf32-xtensa.c:2735 msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x" msgstr "%B: tipo de máquina incompatible. La salida es 0x%x. La entrada es 0x%x" -#: elf32-xtensa.c:3890 elf32-xtensa.c:3898 +#: elf32-xtensa.c:3881 elf32-xtensa.c:3889 msgid "Attempt to convert L32R/CALLX to CALL failed" msgstr "Falló el intento de convertir L32R/CALLX a CALL" -#: elf32-xtensa.c:5476 elf32-xtensa.c:5552 elf32-xtensa.c:6505 -#: elf32-xtensa.c:6559 +#: elf32-xtensa.c:5467 elf32-xtensa.c:5543 elf32-xtensa.c:6496 +#: elf32-xtensa.c:6550 msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch" msgstr "%B(%A+0x%lx): no se puede decodificar la instrucción; posible falta de coincidencia de la configuración" -#: elf32-xtensa.c:6378 elf32-xtensa.c:6541 +#: elf32-xtensa.c:6369 elf32-xtensa.c:6532 msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch" msgstr "%B(%A+0x%lx): no se puede decodificar la instrucción para la reubicación XTENSA_ASM_SIMPLIFY; posible falta de coincidencia de la configuración" -#: elf32-xtensa.c:7859 +#: elf32-xtensa.c:7855 msgid "invalid relocation address" msgstr "dirección de reubicación inválida" -#: elf32-xtensa.c:7908 +#: elf32-xtensa.c:7904 msgid "overflow after relaxation" msgstr "desbordamiento después de la relajación" -#: elf32-xtensa.c:9036 +#: elf32-xtensa.c:9032 msgid "%B(%A+0x%lx): unexpected fix for %s relocation" msgstr "%B(%A+0x%lx): compostura inesperada para la reubicación %s" -#: elf64-alpha.c:1069 +#: elf64-alpha.c:443 msgid "GPDISP relocation did not find ldah and lda instructions" msgstr "la reubicación GPDISP no encontró las instrucciones ldah y lda" -#: elf64-alpha.c:3557 -#, c-format -msgid "Symbol %s has no GOT subsection for offset 0x%x" -msgstr "El símbolo %s no tiene subsección GOT para el desplazamiento 0x%x" - -#: elf64-alpha.c:3642 +#: elf64-alpha.c:2363 msgid "%B: .got subsegment exceeds 64K (size %d)" msgstr "%B: el subsegmento .got excede los 64K (tamaño %d)" -#: elf64-alpha.c:4479 elf64-alpha.c:4491 +#: elf64-alpha.c:4210 elf64-alpha.c:4222 msgid "%B: gp-relative relocation against dynamic symbol %s" msgstr "%B: reubicación gp relativa contra el símbolo dinámico %s" -#: elf64-alpha.c:4517 elf64-alpha.c:4650 +#: elf64-alpha.c:4248 elf64-alpha.c:4383 msgid "%B: pc-relative relocation against dynamic symbol %s" msgstr "%B: reubicación relativa al pc contra el símbolo dinámico %s" -#: elf64-alpha.c:4545 +#: elf64-alpha.c:4276 msgid "%B: change in gp: BRSGP %s" msgstr "%B: cambio en gp: BRSGP %s" -#: elf64-alpha.c:4570 +#: elf64-alpha.c:4301 msgid "" msgstr "" -#: elf64-alpha.c:4575 +#: elf64-alpha.c:4306 msgid "%B: !samegp reloc against symbol without .prologue: %s" msgstr "%B: reubicación !samegp contra un símbolo sin .prologue: %s" -#: elf64-alpha.c:4626 +#: elf64-alpha.c:4358 msgid "%B: unhandled dynamic relocation against %s" msgstr "%B: reubicación dinámica sin manejar contra %s" -#: elf64-alpha.c:4709 +#: elf64-alpha.c:4390 +msgid "%B: pc-relative relocation against undefined weak symbol %s" +msgstr "%B: reubicación relativa al pc contra el símbolo débil sin definir %s" + +#: elf64-alpha.c:4450 msgid "%B: dtp-relative relocation against dynamic symbol %s" msgstr "%B: reubicación relativa a dtp contra el símbolo dinámico %s" -#: elf64-alpha.c:4732 +#: elf64-alpha.c:4473 msgid "%B: tp-relative relocation against dynamic symbol %s" msgstr "%B: reubicación relativa a tp contra el símbolo dinámico %s" -#: elf64-hppa.c:2085 +#: elf64-hppa.c:2046 #, c-format msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "la entrada de cabo para %s no puede cargar .plt, desplazamiento dp = %ld" @@ -1744,16 +1805,16 @@ msgstr "%s: la directiva LOCAL s msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld." msgstr "%s: directiva LOCAL: El registro $%ld no es un registro local. El primer registro global es $%ld." -#: elf64-mmix.c:2201 +#: elf64-mmix.c:2207 #, c-format msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n" msgstr "%s: Error: definición múltiple de `%s'; el inicio de %s está definido en un fichero enlazado con anterioridad\n" -#: elf64-mmix.c:2260 +#: elf64-mmix.c:2265 msgid "Register section has contents\n" msgstr "La sección de registros no tiene contenido\n" -#: elf64-mmix.c:2453 +#: elf64-mmix.c:2457 #, c-format msgid "" "Internal inconsistency: remaining %u != max %u.\n" @@ -1762,60 +1823,73 @@ msgstr "" "Inconsistencia interna: %u restante != %u máximo.\n" " Por favor reporte este bicho." -#: elf64-ppc.c:2490 libbfd.c:826 +#: elf64-ppc.c:2500 libbfd.c:931 msgid "%B: compiled for a big endian system and target is little endian" msgstr "%B: compilado para un sistema big endian y el objetivo es little endian" -#: elf64-ppc.c:2493 libbfd.c:828 +#: elf64-ppc.c:2503 libbfd.c:933 msgid "%B: compiled for a little endian system and target is big endian" msgstr "%B: compilado para un sistema little endian y el objetivo es big endian" -#: elf64-ppc.c:5640 +#: elf64-ppc.c:5707 #, c-format msgid "copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc" msgstr "la reubicación de copia contra `%s' requiere de enlazado plt suelto; evite establecer LD_BIND_NOW=1 o actualice gcc" -#: elf64-ppc.c:6043 +#: elf64-ppc.c:6155 +msgid "dynreloc miscount for %B, section %A" +msgstr "cuenta errónea de la reubicación dinámica de %B, sección %A" + +#: elf64-ppc.c:6257 msgid "%B: .opd is not a regular array of opd entries" msgstr "%B: .opd no es una matriz regular de entradas opd" -#: elf64-ppc.c:6052 +#: elf64-ppc.c:6266 msgid "%B: unexpected reloc type %u in .opd section" msgstr "%B: tipo de reubicación %u inesperado en la sección .opd" -#: elf64-ppc.c:6072 +#: elf64-ppc.c:6287 msgid "%B: undefined sym `%s' in .opd section" msgstr "%B: símbolo `%s' indefinido en la sección .opd" -#: elf64-ppc.c:6757 elf64-ppc.c:7132 +#: elf64-ppc.c:6939 elf64-ppc.c:7318 #, c-format msgid "%s defined in removed toc entry" msgstr "se definió %s en la entrada toc eliminada" -#: elf64-ppc.c:7921 +#: elf64-ppc.c:8041 +#, c-format +msgid "long branch stub `%s' offset overflow" +msgstr "desbordamiento del desplazamiento de stub de ramificación long `%s'" + +#: elf64-ppc.c:8116 #, c-format msgid "can't find branch stub `%s'" msgstr "no se puede encontrar la ramificación de cabo `%s'" -#: elf64-ppc.c:7960 elf64-ppc.c:8036 +#: elf64-ppc.c:8155 elf64-ppc.c:8231 #, c-format msgid "linkage table error against `%s'" msgstr "error de la tabla de enlazado contra `%s'" -#: elf64-ppc.c:8165 +#: elf64-ppc.c:8360 #, c-format msgid "can't build branch stub `%s'" msgstr "no se puede construir la ramificación de cabos `%s'" -#: elf64-ppc.c:9093 +#: elf64-ppc.c:8784 +msgid "%B section %A exceeds stub group size" +msgstr "%B sección %A excede el tamaño de grupo de stub" + +#: elf64-ppc.c:9295 msgid ".glink and .plt too far apart" msgstr ".glink y .plt están demasiado alejados" -#: elf64-ppc.c:9206 +#: elf64-ppc.c:9408 msgid "stubs don't match calculated size" msgstr "los cabos no coinciden con el tamaño calculado" -#: elf64-ppc.c:9218 +#: elf64-ppc.c:9420 #, c-format msgid "" "linker stubs in %u group%s\n" @@ -1832,88 +1906,84 @@ msgstr "" " ajuste toc long %lu\n" " llamada plt %lu" -#: elf64-ppc.c:9455 -msgid "%B(%A+0x%lx): %s used with TLS symbol %s" -msgstr "%B(%A+0x%lx): se usó %s con el símbolo TLS %s" - -#: elf64-ppc.c:9456 -msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" -msgstr "%B(%A+0x%lx): se usó %s con el símbolo %s que no es TLS" - -#: elf64-ppc.c:9856 +#: elf64-ppc.c:10075 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): los TOCs múltiples automáticos no tienen soporte utilizando sus ficheros crt; recompile con -mminimal-toc o actualice gcc" -#: elf64-ppc.c:9864 +#: elf64-ppc.c:10083 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): la optimización de llamada hermana a `%s' no permite TOCs múltiples automáticos; recompile con -mminimal-toc ó -fno-optimize-sibling-calls, o vuelva `%s' externa" -#: elf64-ppc.c:10508 +#: elf64-ppc.c:10727 msgid "%B: relocation %s is not supported for symbol %s." msgstr "%B: la reubicación %s no tiene soporte para el símbolo %s." -#: elf64-ppc.c:10587 +#: elf64-ppc.c:10806 msgid "%B: error: relocation %s not a multiple of %d" msgstr "%B: error: la reubicación %s no es un múltiplo de %d" -#: elf64-sh64.c:1673 +#: elf64-sh64.c:1676 #, c-format msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n" msgstr "%s: error: tipo de reubicación %d sin alinear en %08x reubicación %08x\n" -#: elf64-sparc.c:1419 -msgid "%B: check_relocs: unhandled reloc type %d" -msgstr "%B: check_relocs: tipo de reubicación %d sin manejar" - -#: elf64-sparc.c:1455 +#: elf64-sparc.c:438 msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "%B: Solamente los registros %%g[2367] se pueden declarar utilizando STT_REGISTER" -#: elf64-sparc.c:1475 +#: elf64-sparc.c:458 msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B" msgstr "El registro %%g%d se usó de forma incompatible: %s en %B, previamente %s en %B" -#: elf64-sparc.c:1498 +#: elf64-sparc.c:481 msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B" msgstr "El símbolo `%s' tiene tipos divergentes: REGISTER en %B, previamente %s en %B" -#: elf64-sparc.c:1543 +#: elf64-sparc.c:526 msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B" msgstr "El símbolo `%s' tiene tipos divergentes: %s en %B, previamente REGISTER en %B" -#: elf64-sparc.c:3071 +#: elf64-sparc.c:677 msgid "%B: linking UltraSPARC specific with HAL specific code" msgstr "%B: enlazando código específico de UltraSPARC con código específico de HAL" -#: elf64-x86-64.c:667 elf64-x86-64.c:792 elf64-x86-64.c:1988 +#: elf64-x86-64.c:692 elf64-x86-64.c:818 elf64-x86-64.c:2069 msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC" msgstr "%B: no se puede usar la reubicación %s contra `%s' cuando se hace un objeto compartido; recompile con -fPIC" -#: elf64-x86-64.c:735 +#: elf64-x86-64.c:760 msgid "%B: %s' accessed both as normal and thread local symbol" msgstr "%B: se accesó `%s' como un símbolo normal y como un símbolo local de hilo" -#: elf64-x86-64.c:1984 +#: elf64-x86-64.c:2000 +msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object" +msgstr "%B: no se puede usar la reubicación R_X86_64_GOTOFF contra la función protegida `%s' cuando se hace un objeto compartido" + +#: elf64-x86-64.c:2065 msgid "%B: relocation R_X86_64_PC32 against protected function `%s' can not be used when making a shared object" msgstr "%B: no se puede usar la reubicación R_X86_64_PC32 contra la función protegida `%' cuando se hace un objeto compartido" -#: elf.c:296 +#: elf.c:288 msgid "%B: invalid string offset %u >= %lu for section `%s'" msgstr "%B: desplazamiento de cadena inválido %u >= %lu para la sección `%s'" -#: elf.c:543 +#: elf.c:552 msgid "%B: invalid SHT_GROUP entry" msgstr "%B: entrada SHT_GROUP inválida" -#: elf.c:613 +#: elf.c:622 msgid "%B: no group info for section %A" msgstr "%B: no hay información de grupo para la sección %A" -#: elf.c:650 +#: elf.c:652 elf.c:3091 elflink.c:7588 +msgid "%B: warning: sh_link not set for section `%A'" +msgstr "%B: aviso: no se estableción sh_link para la sección `%A'" + +#: elf.c:688 msgid "%B: unknown [%d] section `%s' in group [%s]" msgstr "%B: sección [%d] desconocida `%s' en el grupo [%s]" -#: elf.c:1011 +#: elf.c:1071 #, c-format msgid "" "\n" @@ -1922,7 +1992,7 @@ msgstr "" "\n" "Encabezado del Programa:\n" -#: elf.c:1063 +#: elf.c:1123 #, c-format msgid "" "\n" @@ -1931,7 +2001,7 @@ msgstr "" "\n" "Sección Dinámica:\n" -#: elf.c:1188 +#: elf.c:1248 #, c-format msgid "" "\n" @@ -1940,7 +2010,7 @@ msgstr "" "\n" "Definiciones de versión:\n" -#: elf.c:1211 +#: elf.c:1273 #, c-format msgid "" "\n" @@ -1949,358 +2019,375 @@ msgstr "" "\n" "Referencias de Versión:\n" -#: elf.c:1216 +#: elf.c:1278 #, c-format msgid " required from %s:\n" msgstr " requerido desde %s:\n" -#: elf.c:1905 +#: elf.c:1985 msgid "%B: invalid link %lu for reloc section %s (index %u)" msgstr "%B: enlace %lu inválido para la sección de reubicación %s (índice %u)" -#: elf.c:2910 -msgid "%B: warning: sh_link not set for section `%S'" -msgstr "%B: aviso: no se estableció sh_link para la sección `%S'" +#: elf.c:3062 +msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'" +msgstr "%B: sh_link de la sección `%A' apunta a la sección descartada `%A' de `%B'" -#: elf.c:3904 +#: elf.c:4070 msgid "%B: Not enough room for program headers (allocated %u, need %u)" msgstr "%B: No hay suficiente espacio para los encabezados del programa (%u asignados, %u necesarios)" -#: elf.c:4010 +#: elf.c:4173 msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section" msgstr "%B: La primera sección en el segmento PT_DYNAMIC no es la sección .dynamic" -#: elf.c:4054 +#: elf.c:4217 msgid "%B: Not enough room for program headers, try linking with -N" msgstr "%B: No hay suficiente espacio para los encabezados del programa, pruebe enlazar con -N" -#: elf.c:4145 +#: elf.c:4308 msgid "%B: section %A lma 0x%lx overlaps previous sections" msgstr "%B: la sección %A lma 0x%lx traslapa las secciones anteriores" -#: elf.c:4546 +#: elf.c:4709 msgid "%B: warning: allocated section `%s' not in segment" msgstr "%B: aviso: la sección asignada `%s' no está en el segmento" -#: elf.c:4850 +#: elf.c:5002 msgid "%B: symbol `%s' required but not present" msgstr "%B: se requiere el símbolo `%s' pero no está presente" -#: elf.c:5147 +#: elf.c:5299 msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n" msgstr "%B: aviso: Se detectó un segmento cargable vacío, ¿ esto es intencional ?\n" -#: elf.c:5761 +#: elf.c:5961 #, c-format msgid "Unable to find equivalent output section for symbol '%s' from section '%s'" msgstr "No se puede encontrar la sección de salida equivalente para el símbolo '%s' de la sección '%s'" -#: elf.c:6620 +#: elf.c:6917 msgid "%B: unsupported relocation type %s" msgstr "%B: tipo de reubicación %s sin soporte" -#: elfcode.h:1039 +#: elfcode.h:1110 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "%s: la cuenta de versión (%ld) no coincide con la cuenta de símbolos (%ld)" -#: elfcode.h:1266 +#: elfcode.h:1337 #, c-format msgid "%s(%s): relocation %d has invalid symbol index %ld" msgstr "%s(%s): la reubicación %d tiene un índice de símbolo %ld inválido" -#: elf-hppa.h:1401 elf-hppa.h:1427 elf-hppa.h:1442 +#: elf-hppa.h:1443 elf-hppa.h:1458 msgid "%B(%A): warning: unresolvable relocation against symbol `%s'" msgstr "%B(%A): aviso: reubicación sin resolución contra el símbolo `%s'" -#: elflink.c:941 +#: elflink.c:907 msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A" msgstr "%s: la definición TLS en %B sección %A no coincide con la definición que no es TLS en %B sección %A" -#: elflink.c:945 +#: elflink.c:911 msgid "%s: TLS reference in %B mismatches non-TLS reference in %B" msgstr "%s: la referencia TLS en %b no coincide con la referencia que no es TLS en %B" -#: elflink.c:949 +#: elflink.c:915 msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B" msgstr "%s: la definición TLS en %B sección %A no coincide con la referencia que no es TLS en %B" -#: elflink.c:953 +#: elflink.c:919 msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A" msgstr "%s: la referencia TLS en %B no coincide con la definición que no es TLS en %B sección %A" -#: elflink.c:1508 +#: elflink.c:1491 msgid "%B: unexpected redefinition of indirect versioned symbol `%s'" msgstr "%B: redefinición inesperada del símbolo con versión indirecta `%s'" -#: elflink.c:1825 +#: elflink.c:1807 msgid "%B: undefined versioned symbol name %s" msgstr "%B: nombre de símbolo con versión %s sin definir" -#: elflink.c:1974 +#: elflink.c:1955 msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'" msgstr "%B: índice de símbolos de reubicación inválido (0x%lx >= 0x%lx) erróneo para el desplazamiento 0x%lx en la sección `%A'" -#: elflink.c:2164 +#: elflink.c:2147 msgid "%B: relocation size mismatch in %B section %A" msgstr "%B: el tamaño de reubicación no coincide en %B sección %A" -#: elflink.c:2454 +#: elflink.c:2437 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "aviso: el tipo y tamaño del símbolo dinámico `%s' no están definidos" -#: elflink.c:2775 +#: elflink.c:2761 msgid "warning: creating a DT_TEXTREL in a shared object." msgstr "aviso: se crea un DT_TEXTREL en un objeto compartido." -#: elflink.c:3702 +#: elflink.c:3696 msgid "%B: %s: invalid version %u (max %d)" msgstr "%B: %s: versión %u inválida (máximo %d)" -#: elflink.c:3738 +#: elflink.c:3732 msgid "%B: %s: invalid needed version %d" msgstr "%B: %s: versión requerida %d inválida" -#: elflink.c:3919 +#: elflink.c:3912 msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B" msgstr "Aviso: la alineación %u del símbolo `%s' en %B es más pequeña que %u en %B" -#: elflink.c:3931 +#: elflink.c:3924 msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B" msgstr "Aviso: el tamaño del símbolo `%s' cambió de %lu en %B a %lu en %B" -#: elflink.c:4098 +#: elflink.c:4091 #, c-format msgid "%s: invalid DSO for symbol `%s' definition" msgstr "%s: DSO inválido para la definición del símbolo `%s'" -#: elflink.c:5155 +#: elflink.c:5152 #, c-format msgid "%s: undefined version: %s" msgstr "%s: versión sin definir: %s" -#: elflink.c:5221 +#: elflink.c:5219 msgid "%B: .preinit_array section is not allowed in DSO" msgstr "%B: no se permite la sección .preinit_array en DSO" -#: elflink.c:5961 +#: elflink.c:5978 msgid "Not enough memory to sort relocations" msgstr "No hay suficiente memoria para ordenar las reubicaciones" -#: elflink.c:6352 +#: elflink.c:6369 msgid "%B: %s symbol `%s' in %B is referenced by DSO" msgstr "%B: el símbolo %s `%s' en %B está referenciado por DSO" -#: elflink.c:6433 +#: elflink.c:6452 msgid "%B: could not find output section %A for input section %A" msgstr "%B: no se puede encontrar la sección de salida %A para la sección de entrada %A" -#: elflink.c:6530 +#: elflink.c:6549 msgid "%B: %s symbol `%s' isn't defined" msgstr "%B: el símbolo %s `%s' no está definido" -#: elflink.c:7017 -msgid "`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n" -msgstr "`%s' referido en la sección `%A' de %B: se definió en la sección descartada `%A' de %B\n" +#: elflink.c:7024 +msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol" +msgstr "error: %B contiene una reubicación (0x%s) para la sección %A que refiere a un símbolo global que no existe" -#: elflink.c:7551 -msgid "%B: warning: sh_link not set for section `%A'" -msgstr "%B: aviso: no se estableción sh_link para la sección `%A'" +#: elflink.c:7058 +msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n" +msgstr "%X`%s' referido en la sección `%A' de %B: se definió en la sección descartada `%A' de %B\n" + +#: elflink.c:7665 +msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections" +msgstr "%A tiene tanto secciones ordenadas [`%A' en %B] como desordenadas [`%A' en %B]" -#: elflink.c:7624 +#: elflink.c:7670 #, c-format msgid "%A has both ordered and unordered sections" msgstr "%A tiene tanto secciones ordenadas como desordenadas" -#: elflink.c:8437 elflink.c:8478 +#: elflink.c:8487 elflink.c:8528 msgid "%B: could not find output section %s" msgstr "%B: no se puede encontrar la sección de salida %s" -#: elflink.c:8442 +#: elflink.c:8492 #, c-format msgid "warning: %s section has zero size" msgstr "aviso: la sección %s es de tamaño cero" -#: elflink.c:9017 +#: elflink.c:9087 msgid "Warning: gc-sections option ignored" msgstr "Aviso: se ignora la opción gc-sections" -#: elflink.c:9606 -msgid "%B: ignoring duplicate section `%A'\n" -msgstr "%B: se ignora la sección duplicada `%A'\n" +#: elflink.c:9704 +msgid "%B: ignoring duplicate section `%A'" +msgstr "%B: se ignora la sección duplicada `%A'" -#: elflink.c:9613 elflink.c:9620 -msgid "%B: duplicate section `%A' has different size\n" -msgstr "%B: la sección duplicada `%A' tiene tamaño diferente\n" +#: elflink.c:9711 elflink.c:9718 +msgid "%B: duplicate section `%A' has different size" +msgstr "%B: la sección duplicada `%A' tiene tamaño diferente" -#: elflink.c:9628 elflink.c:9633 -msgid "%B: warning: could not read contents of section `%A'\n" -msgstr "%B: aviso: no se puede leer el contenido de la sección `%A'\n" +#: elflink.c:9726 elflink.c:9731 +msgid "%B: warning: could not read contents of section `%A'" +msgstr "%B: aviso: no se puede leer el contenido de la sección `%A'" -#: elflink.c:9637 -msgid "%B: warning: duplicate section `%A' has different contents\n" -msgstr "%B: aviso: la sección duplicada `%A' tiene contenido diferente\n" +#: elflink.c:9735 +msgid "%B: warning: duplicate section `%A' has different contents" +msgstr "%B: aviso: la sección duplicada `%A' tiene contenido diferente" -#: elfxx-mips.c:860 +#: elfxx-mips.c:866 msgid "static procedure (no name)" msgstr "procedimiento estático (sin nombre)" -#: elfxx-mips.c:2508 +#: elfxx-mips.c:2513 msgid "not enough GOT space for local GOT entries" msgstr "no hay suficiente espacio GOT para entradas GOT locales" -#: elfxx-mips.c:4353 +#: elfxx-mips.c:4356 msgid "%B: %A+0x%lx: jump to stub routine which is not jal" msgstr "%B: %A+0x%lx: salto a una rutina cabo la cual no es jal" -#: elfxx-mips.c:5919 +#: elfxx-mips.c:4993 elfxx-mips.c:5214 +msgid "%B: Warning: bad `%s' option size %u smaller than its header" +msgstr "%B: Aviso: el tamaño de opción `%s' %u erróneo es más pequeño que su encabezado" + +#: elfxx-mips.c:5965 msgid "%B: Malformed reloc detected for section %s" msgstr "%B: Se detectó una reubicación malformada para la sección %s" -#: elfxx-mips.c:5995 +#: elfxx-mips.c:6041 msgid "%B: CALL16 reloc at 0x%lx not against global symbol" msgstr "%B: la reubicación CALL16 en 0x%lx no es contra un símbolo global" -#: elfxx-mips.c:9308 +#: elfxx-mips.c:9380 #, c-format msgid "%s: illegal section name `%s'" msgstr "%s: nombre de sección `%s' ilegal" -#: elfxx-mips.c:9632 +#: elfxx-mips.c:9719 msgid "%B: endianness incompatible with that of the selected emulation" msgstr "%B: la endianez es incompatible con aquella de la emulación seleccionada" -#: elfxx-mips.c:9644 +#: elfxx-mips.c:9731 msgid "%B: ABI is incompatible with that of the selected emulation" msgstr "%B: la ABI es incompatible con aquella de la emulación seleccionada" -#: elfxx-mips.c:9716 +#: elfxx-mips.c:9803 msgid "%B: warning: linking PIC files with non-PIC files" msgstr "%B: aviso: enlazando ficheros PIC con ficheros que no son PIC" -#: elfxx-mips.c:9733 +#: elfxx-mips.c:9820 msgid "%B: linking 32-bit code with 64-bit code" msgstr "%B: enlazando código de 32-bit con código de 64-bit" -#: elfxx-mips.c:9761 +#: elfxx-mips.c:9848 msgid "%B: linking %s module with previous %s modules" msgstr "%B: enlazando el módulo %s con módulos %s previos" -#: elfxx-mips.c:9784 +#: elfxx-mips.c:9871 msgid "%B: ABI mismatch: linking %s module with previous %s modules" msgstr "%B: no coincide el ABI: enlazando el módulo %s con módulos %s previos" -#: elfxx-mips.c:9849 +#: elfxx-mips.c:9936 #, c-format msgid " [abi=O32]" msgstr " [abi=O32]" -#: elfxx-mips.c:9851 +#: elfxx-mips.c:9938 #, c-format msgid " [abi=O64]" msgstr " [abi=O64]" -#: elfxx-mips.c:9853 +#: elfxx-mips.c:9940 #, c-format msgid " [abi=EABI32]" msgstr " [abi=EABI32]" -#: elfxx-mips.c:9855 +#: elfxx-mips.c:9942 #, c-format msgid " [abi=EABI64]" msgstr " [abi=EABI64]" -#: elfxx-mips.c:9857 +#: elfxx-mips.c:9944 #, c-format msgid " [abi unknown]" msgstr " [abi desconocido]" -#: elfxx-mips.c:9859 +#: elfxx-mips.c:9946 #, c-format msgid " [abi=N32]" msgstr " [abi=N32]" -#: elfxx-mips.c:9861 +#: elfxx-mips.c:9948 #, c-format msgid " [abi=64]" msgstr " [abi=64]" -#: elfxx-mips.c:9863 +#: elfxx-mips.c:9950 #, c-format msgid " [no abi set]" msgstr " [no hay conjunto abi]" -#: elfxx-mips.c:9866 +#: elfxx-mips.c:9953 #, c-format msgid " [mips1]" msgstr " [mips1]" -#: elfxx-mips.c:9868 +#: elfxx-mips.c:9955 #, c-format msgid " [mips2]" msgstr " [mips2]" -#: elfxx-mips.c:9870 +#: elfxx-mips.c:9957 #, c-format msgid " [mips3]" msgstr " [mips3]" -#: elfxx-mips.c:9872 +#: elfxx-mips.c:9959 #, c-format msgid " [mips4]" msgstr " [mips4]" -#: elfxx-mips.c:9874 +#: elfxx-mips.c:9961 #, c-format msgid " [mips5]" msgstr " [mips5]" -#: elfxx-mips.c:9876 +#: elfxx-mips.c:9963 #, c-format msgid " [mips32]" msgstr " [mips32]" -#: elfxx-mips.c:9878 +#: elfxx-mips.c:9965 #, c-format msgid " [mips64]" msgstr " [mips64]" -#: elfxx-mips.c:9880 +#: elfxx-mips.c:9967 #, c-format msgid " [mips32r2]" msgstr " [mips32r2]" -#: elfxx-mips.c:9882 +#: elfxx-mips.c:9969 #, c-format msgid " [mips64r2]" msgstr " [mips64r2]" -#: elfxx-mips.c:9884 +#: elfxx-mips.c:9971 #, c-format msgid " [unknown ISA]" msgstr " [ISA desconocido]" -#: elfxx-mips.c:9887 +#: elfxx-mips.c:9974 #, c-format msgid " [mdmx]" msgstr " [mdmx]" -#: elfxx-mips.c:9890 +#: elfxx-mips.c:9977 #, c-format msgid " [mips16]" msgstr " [mips16]" -#: elfxx-mips.c:9893 +#: elfxx-mips.c:9980 #, c-format msgid " [32bitmode]" msgstr " [modo 32bit]" -#: elfxx-mips.c:9895 +#: elfxx-mips.c:9982 #, c-format msgid " [not 32bitmode]" msgstr " [no es modo 32bit]" +#: elfxx-sparc.c:402 +#, c-format +msgid "invalid relocation type %d" +msgstr "tipo de reubicación %d inválido" + +#: elfxx-sparc.c:2783 +msgid "%B: probably compiled without -fPIC?" +msgstr "%B: ¿Compilado probablemente sin -fPIC?" + #: i386linux.c:457 m68klinux.c:461 sparclinux.c:458 #, c-format msgid "Output file requires shared library `%s'\n" @@ -2321,75 +2408,75 @@ msgstr "El s msgid "Warning: fixup count mismatch\n" msgstr "Aviso: no coincide la cuenta de composturas\n" -#: ieee.c:293 +#: ieee.c:157 #, c-format msgid "%s: string too long (%d chars, max 65535)" msgstr "%s: la cadena es demasiado larga (%d caracteres, máximo 65535)" -#: ieee.c:428 +#: ieee.c:284 #, c-format msgid "%s: unrecognized symbol `%s' flags 0x%x" msgstr "%s: símbolo `%s' no reconocido opciones 0x%x" -#: ieee.c:938 +#: ieee.c:786 msgid "%B: unimplemented ATI record %u for symbol %u" msgstr "%B: grabación ATI %u sin implementar para el símbolo %u" -#: ieee.c:962 +#: ieee.c:810 msgid "%B: unexpected ATN type %d in external part" msgstr "%B: tipo ATN %d inesperado en la parte externa" -#: ieee.c:984 +#: ieee.c:832 msgid "%B: unexpected type after ATN" msgstr "%B: tipo inesperado después de ATN" -#: ihex.c:264 +#: ihex.c:228 msgid "%B:%d: unexpected character `%s' in Intel Hex file" msgstr "%B:%d: carácter `%s' inesperado en el fichero Hexadecimal de Intel" -#: ihex.c:372 +#: ihex.c:335 msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)" msgstr "%B:%u: suma de comprobación errónea en el fichero Hexadecimal de Intel (se esperaba %u, se obtuvo %u)" -#: ihex.c:426 +#: ihex.c:389 msgid "%B:%u: bad extended address record length in Intel Hex file" msgstr "%B:%u: longitud de registro de dirección extendida errónea en el fichero Hexadecimal de Intel" -#: ihex.c:443 +#: ihex.c:406 msgid "%B:%u: bad extended start address length in Intel Hex file" msgstr "%B:%u: longitud de dirección de inicio extendida errónea en el fichero Hexadecimal de Intel" -#: ihex.c:460 +#: ihex.c:423 msgid "%B:%u: bad extended linear address record length in Intel Hex file" msgstr "%B:%u: longitud de registro de dirección lineal extendida errónea en el fichero Hexadecimal de Intel" -#: ihex.c:477 +#: ihex.c:440 msgid "%B:%u: bad extended linear start address length in Intel Hex file" msgstr "%B:%u: longitud de dirección de inicio lineal extendida errónea en el fichero Hexadecimal de Intel" -#: ihex.c:494 +#: ihex.c:457 msgid "%B:%u: unrecognized ihex type %u in Intel Hex file" msgstr "%B:%u: tipo ihex %u no reconocido en el fichero Hexadecimal de Intel" -#: ihex.c:619 +#: ihex.c:578 msgid "%B: internal error in ihex_read_section" msgstr "%B: error interno en ihex_read_section" -#: ihex.c:653 +#: ihex.c:612 msgid "%B: bad section length in ihex_read_section" msgstr "%B: longitud de sección errónea en ihex_read_section" -#: ihex.c:870 +#: ihex.c:824 #, c-format msgid "%s: address 0x%s out of range for Intel Hex file" msgstr "%s: la dirección 0x%s está fuera de rango en el fichero Hexadecimal de Intel" -#: libbfd.c:856 +#: libbfd.c:961 #, c-format msgid "Deprecated %s called at %s line %d in %s\n" msgstr "Se llamó a %s que es obsoleto en %s línea %d en %s\n" -#: libbfd.c:859 +#: libbfd.c:964 #, c-format msgid "Deprecated %s called\n" msgstr "Se llamó a %s que es obsoleto\n" @@ -2398,20 +2485,20 @@ msgstr "Se llam msgid "%B: indirect symbol `%s' to `%s' is a loop" msgstr "%B: el símbolo indirecto `%s' para `%s' es un ciclo" -#: linker.c:2741 +#: linker.c:2740 #, c-format msgid "Attempt to do relocatable link with %s input and %s output" msgstr "Se intentó hacer un enlace reubicable con entrada %s y salida %s" -#: linker.c:3038 +#: linker.c:3037 msgid "%B: warning: ignoring duplicate section `%A'\n" msgstr "%B: aviso: se ignora la sección duplicada `%A'\n" -#: linker.c:3052 +#: linker.c:3051 msgid "%B: warning: duplicate section `%A' has different size\n" msgstr "%B: aviso: la sección duplicada `%A' es de tamaño diferente\n" -#: merge.c:796 +#: merge.c:817 #, c-format msgid "%s: access beyond end of merged section (%ld)" msgstr "%s: acceso más allá del final de la sección mezclada (%ld)" @@ -2486,62 +2573,62 @@ msgstr "%s: fichero mmo inv msgid "%s: invalid mmo file: file name for number %d was not specified before use\n" msgstr "%s: fichero mmo inválido: no se especificó un nombre de fichero para el número %d antes de utilizarse\n" -#: mmo.c:1891 +#: mmo.c:1892 #, c-format msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n" msgstr "%s: fichero mmo inválido: los campos y y z de lop_stab no son cero, y: %d, z: %d\n" -#: mmo.c:1927 +#: mmo.c:1928 #, c-format msgid "%s: invalid mmo file: lop_end not last item in file\n" msgstr "%s: fichero mmo inválido: lop_end no es el último elemento en el fichero\n" -#: mmo.c:1940 +#: mmo.c:1941 #, 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: fichero mmo inválido: YZ de lop_end (%ld) no es igual al número de tetras del lop_stab precedente (%ld)\n" -#: mmo.c:2647 +#: mmo.c:2649 #, c-format msgid "%s: invalid symbol table: duplicate symbol `%s'\n" msgstr "%s: tabla de símbolos inválida: símbolo `%s' duplicado\n" -#: mmo.c:2890 +#: mmo.c:2892 #, c-format msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n" msgstr "%s: Definición de símbolo errónea: `Main' se estableción como %s en lugar de la dirección de inicio %s\n" -#: mmo.c:2982 +#: mmo.c:2984 #, 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: aviso: la tabla de símbolos es demasiado grande para mmo, es más grande que 65535 words de 32-bit: %d. Sólo se emitirá `Main'.\n" -#: mmo.c:3027 +#: mmo.c:3029 #, c-format msgid "%s: internal error, symbol table changed size from %d to %d words\n" msgstr "%s: error interno, la tabla de símbolos cambió de tamaño de %d a %d words\n" -#: mmo.c:3079 +#: mmo.c:3081 #, c-format msgid "%s: internal error, internal register section %s had contents\n" msgstr "%s: error interno, la sección interna de registros %s tiene contenido\n" -#: mmo.c:3130 +#: mmo.c:3132 #, c-format msgid "%s: no initialized registers; section length 0\n" msgstr "%s: no hay registros iniciados; longitud de sección 0\n" -#: mmo.c:3136 +#: mmo.c:3138 #, c-format msgid "%s: too many initialized registers; section length %ld\n" msgstr "%s: demasiados registros iniciados: longitud de sección %ld\n" -#: mmo.c:3141 +#: mmo.c:3143 #, c-format msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n" msgstr "%s: dirección de inicio inválida para los registros iniciados de longitud %ld: 0x%lx%08lx\n" -#: oasys.c:1033 +#: oasys.c:876 #, c-format msgid "%s: can not represent section `%s' in oasys" msgstr "%s: no se puede representar la sección `%s' en oasys" @@ -2552,56 +2639,55 @@ msgid "Unhandled OSF/1 core file section type %d\n" msgstr "Tipo de sección de fichero núcleo OSF/1 %d sin manejar\n" #. XXX code yet to be written. -#: peicode.h:760 +#: peicode.h:731 msgid "%B: Unhandled import type; %x" msgstr "%B: Tipo de importación sin manejar; %x" -#: peicode.h:765 +#: peicode.h:736 msgid "%B: Unrecognised import type; %x" msgstr "%B: Tipo de importación no reconocida; %x" -#: peicode.h:779 +#: peicode.h:750 msgid "%B: Unrecognised import name type; %x" msgstr "%B: Tipo de nombre de importación no reconocida; %x" -#: peicode.h:1169 +#: peicode.h:1120 msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive" msgstr "%B: Tipo de máquina (0x%x) no reconocida en el archivo de Formato de Importación de Bibliotecas" -#: peicode.h:1181 +#: peicode.h:1132 msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive" msgstr "%B: Tipo de máquina (0x%x) reconocida pero sin manejar en el archivo de Formato de Importación de Bibliotecas" -#: peicode.h:1199 +#: peicode.h:1150 msgid "%B: size field is zero in Import Library Format header" msgstr "%B: el tamaño del campo es cero en el encabezado del Formato de Importación de Bibliotecas" -#: peicode.h:1230 +#: peicode.h:1181 msgid "%B: string not null terminated in ILF object file." msgstr "%B: cadena no terminada en null en el fichero objeto ILF." -#: pe-mips.c:627 +#: pe-mips.c:588 msgid "%B: `ld -r' not supported with PE MIPS objects\n" msgstr "%B: `ld -r' no tiene soporte con objetos 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:749 +#. val = VMA of what we need to refer to. +#: pe-mips.c:704 msgid "%B: unimplemented %s\n" msgstr "%B: %s sin implementar\n" -#: pe-mips.c:775 +#: pe-mips.c:730 msgid "%B: jump too far away\n" msgstr "%B: salto demasiado lejos\n" -#: pe-mips.c:801 +#: pe-mips.c:756 msgid "%B: bad pair/reflo after refhi\n" msgstr "%B: pair/reflo erróneo después de refhi\n" -#: ppcboot.c:418 +#: ppcboot.c:419 #, c-format msgid "" "\n" @@ -2610,27 +2696,27 @@ msgstr "" "\n" "encabezado de ppcboot:\n" -#: ppcboot.c:419 +#: ppcboot.c:420 #, c-format msgid "Entry offset = 0x%.8lx (%ld)\n" msgstr "Desplazamiento de entrada = 0x%.8lx (%ld)\n" -#: ppcboot.c:420 +#: ppcboot.c:421 #, c-format msgid "Length = 0x%.8lx (%ld)\n" msgstr "Longitud = 0x%.8lx (%ld)\n" -#: ppcboot.c:423 +#: ppcboot.c:424 #, c-format msgid "Flag field = 0x%.2x\n" msgstr "Campo de opciones = 0x%.2x\n" -#: ppcboot.c:429 +#: ppcboot.c:430 #, c-format msgid "Partition name = \"%s\"\n" msgstr "Nombre de la partición = \"%s\"\n" -#: ppcboot.c:448 +#: ppcboot.c:449 #, c-format msgid "" "\n" @@ -2639,22 +2725,22 @@ msgstr "" "\n" "Partición[%d] inicio = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" -#: ppcboot.c:454 +#: ppcboot.c:455 #, c-format msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" msgstr "Partición[%d] fin = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" -#: ppcboot.c:460 +#: ppcboot.c:461 #, c-format msgid "Partition[%d] sector = 0x%.8lx (%ld)\n" msgstr "Partición[%d] sector = 0x%.8lx (%ld)\n" -#: ppcboot.c:461 +#: ppcboot.c:462 #, c-format msgid "Partition[%d] length = 0x%.8lx (%ld)\n" msgstr "Partición[%d] longitud = 0x%.8lx (%ld)\n" -#: som.c:5269 +#: som.c:5069 #, c-format msgid "" "\n" @@ -2663,15 +2749,15 @@ msgstr "" "\n" "Encabezado Auxiliar de Ejecución\n" -#: som.c:5543 +#: som.c:5330 msgid "som_sizeof_headers unimplemented" msgstr "som_sizeof_headers sin implementar" -#: srec.c:302 +#: srec.c:259 msgid "%B:%d: Unexpected character `%s' in S-record file\n" msgstr "%B:%d: Caractér `%s' inesperado en el fichero S-record\n" -#: stabs.c:296 +#: stabs.c:276 msgid "%B(%A+0x%lx): Stabs entry has invalid string index." msgstr "%B(%A+0x%lx): La entrada de cabos tiene una cadena índice inválida." @@ -2679,118 +2765,118 @@ msgstr "%B(%A+0x%lx): La entrada de cabos tiene una cadena msgid "Unsupported .stab relocation" msgstr "Reubicación .stab sin soporte" -#: vms-gsd.c:356 +#: vms-gsd.c:337 #, c-format msgid "bfd_make_section (%s) failed" msgstr "bfd_make_section (%s) falló" -#: vms-gsd.c:371 +#: vms-gsd.c:352 #, c-format msgid "bfd_set_section_flags (%s, %x) failed" msgstr "bfd_set_section_flags (%s, %x) falló" -#: vms-gsd.c:407 +#: vms-gsd.c:387 #, c-format msgid "Size mismatch section %s=%lx, %s=%lx" msgstr "No coincide el tamaño de la sección %s=%lx, %s=%lx" -#: vms-gsd.c:702 +#: vms-gsd.c:678 #, c-format msgid "unknown gsd/egsd subtype %d" msgstr "subtipo de gsd/egsd %d desconocido" -#: vms-hdr.c:409 +#: vms-hdr.c:327 msgid "Object module NOT error-free !\n" msgstr "¡ El módulo objeto NO está libre de errores !\n" -#: vms-misc.c:541 +#: vms-misc.c:473 #, c-format msgid "Stack overflow (%d) in _bfd_vms_push" msgstr "Desbordamiento de la pila (%d) en _bfd_vms_push" -#: vms-misc.c:559 +#: vms-misc.c:488 msgid "Stack underflow in _bfd_vms_pop" msgstr "Desbordamiento por debajo de la pila en _bfd_vms_pop" -#: vms-misc.c:912 +#: vms-misc.c:802 msgid "_bfd_vms_output_counted called with zero bytes" msgstr "se llamó _bfd_vms_output_counted con cero bytes" -#: vms-misc.c:917 +#: vms-misc.c:807 msgid "_bfd_vms_output_counted called with too many bytes" msgstr "se llamó _bfd_vms_output_counted con demasiados bytes" -#: vms-misc.c:1048 +#: vms-misc.c:925 #, c-format msgid "Symbol %s replaced by %s\n" msgstr "El símbolo %s fue reemplazado por %s\n" -#: vms-misc.c:1111 +#: vms-misc.c:984 #, c-format msgid "failed to enter %s" msgstr "falló la introducción de %s" -#: vms-tir.c:102 +#: vms-tir.c:55 msgid "No Mem !" msgstr "¡ No hay Memoria !" -#: vms-tir.c:383 +#: vms-tir.c:298 #, c-format msgid "bad section index in %s" msgstr "Índice de sección erróneo en %s" -#: vms-tir.c:396 +#: vms-tir.c:311 #, c-format msgid "unsupported STA cmd %s" msgstr "orden STA %s sin soporte" -#: vms-tir.c:401 vms-tir.c:1247 +#: vms-tir.c:316 vms-tir.c:1118 #, c-format msgid "reserved STA cmd %d" msgstr "orden STA %d reservada" -#: vms-tir.c:502 vms-tir.c:525 +#: vms-tir.c:408 vms-tir.c:430 #, c-format msgid "%s: no symbol \"%s\"" msgstr "%s: no existe el símbolo \"%s\"" -#. unsigned shift -#. rotate +#. Unsigned shift. +#. Rotate. #. Redefine symbol to current location. #. Define a literal. -#: vms-tir.c:592 vms-tir.c:704 vms-tir.c:814 vms-tir.c:832 vms-tir.c:840 -#: vms-tir.c:849 vms-tir.c:1570 +#: vms-tir.c:495 vms-tir.c:604 vms-tir.c:702 vms-tir.c:719 vms-tir.c:726 +#: vms-tir.c:734 vms-tir.c:1438 #, c-format msgid "%s: not supported" msgstr "%s: no tiene soporte" -#: vms-tir.c:597 vms-tir.c:1425 +#: vms-tir.c:500 vms-tir.c:1295 #, c-format msgid "%s: not implemented" msgstr "%s: sin implementar" -#: vms-tir.c:601 vms-tir.c:1429 +#: vms-tir.c:504 vms-tir.c:1299 #, c-format msgid "reserved STO cmd %d" msgstr "orden STO %d reservada" -#: vms-tir.c:719 vms-tir.c:1575 +#: vms-tir.c:619 vms-tir.c:1443 #, c-format msgid "reserved OPR cmd %d" msgstr "orden OPR %d reservada" -#: vms-tir.c:787 vms-tir.c:1639 +#: vms-tir.c:679 vms-tir.c:1507 #, c-format msgid "reserved CTL cmd %d" msgstr "orden CTL %d reservada" #. stack byte from image #. arg: none. -#: vms-tir.c:1155 +#: vms-tir.c:1026 msgid "stack-from-image not implemented" msgstr "pila-desde-imagen sin implementar" -#: vms-tir.c:1173 +#: vms-tir.c:1044 msgid "stack-entry-mask not fully implemented" msgstr "pila-máscara-entrada no está completamente implementado" @@ -2801,262 +2887,262 @@ msgstr "pila-m #. #. compare argument descriptor with symbol argument (ARG$V_PASSMECH) #. and stack TRUE (args match) or FALSE (args dont match) value. -#: vms-tir.c:1187 +#: vms-tir.c:1058 msgid "PASSMECH not fully implemented" msgstr "PASSMECH no está completamente implementado" -#: vms-tir.c:1206 +#: vms-tir.c:1077 msgid "stack-local-symbol not fully implemented" msgstr "pila-símbolo-local no está completamente implementado" -#: vms-tir.c:1219 +#: vms-tir.c:1090 msgid "stack-literal not fully implemented" msgstr "pila-literal no está completamente implementado" -#: vms-tir.c:1240 +#: vms-tir.c:1111 msgid "stack-local-symbol-entry-point-mask not fully implemented" msgstr "pila-símbolo-local-máscara-punto-entrada no está completamente implementado" -#: vms-tir.c:1517 vms-tir.c:1529 vms-tir.c:1541 vms-tir.c:1553 vms-tir.c:1618 -#: vms-tir.c:1626 vms-tir.c:1634 +#: vms-tir.c:1385 vms-tir.c:1397 vms-tir.c:1409 vms-tir.c:1421 vms-tir.c:1486 +#: vms-tir.c:1494 vms-tir.c:1502 #, c-format msgid "%s: not fully implemented" msgstr "%s: no está completamente implementado" -#: vms-tir.c:1691 +#: vms-tir.c:1560 #, c-format msgid "obj code %d not found" msgstr "no se encontró el código objeto %d" -#: vms-tir.c:2029 +#: vms-tir.c:1868 #, c-format msgid "SEC_RELOC with no relocs in section %s" msgstr "SEC_RELOC sin reubicaciones en la sección %s" -#: vms-tir.c:2304 +#: vms-tir.c:2150 #, c-format msgid "Unhandled relocation %s" msgstr "Reubicación %s sin manejar" -#: xcofflink.c:1243 +#: xcofflink.c:564 +#, c-format +msgid "%s: XCOFF shared object when not producing XCOFF output" +msgstr "%s: objeto compartido XCOFF cuando no se produce salida XCOFF" + +#: xcofflink.c:585 +#, c-format +msgid "%s: dynamic object with no .loader section" +msgstr "%s: objeto dinámico sin sección .loader" + +#: xcofflink.c:1148 msgid "%B: `%s' has line numbers but no enclosing section" msgstr "%B: `%s' tiene números de línea pero no una sección contenedora" -#: xcofflink.c:1296 +#: xcofflink.c:1200 msgid "%B: class %d symbol `%s' has no aux entries" msgstr "%B: clase %d símbolo `%s' no tiene entradas auxiliares" -#: xcofflink.c:1319 +#: xcofflink.c:1223 msgid "%B: symbol `%s' has unrecognized csect type %d" msgstr "%B: el símbolo `%s' tiene un tipo csect %d no reconocido" -#: xcofflink.c:1331 +#: xcofflink.c:1235 msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" msgstr "%B: símbolo XTY_ER `%s' erróneo: clase %d scnum %d scnlen %d" -#: xcofflink.c:1367 +#: xcofflink.c:1271 msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d" msgstr "%B: símbolo XMC_TCO `%s' es clase %d scnlen %d" -#: xcofflink.c:1518 +#: xcofflink.c:1417 msgid "%B: csect `%s' not in enclosing section" msgstr "%B: csect `%s' no está contenido en una sección" -#: xcofflink.c:1625 +#: xcofflink.c:1524 msgid "%B: misplaced XTY_LD `%s'" msgstr "%B: XTY_LD `%s' mal ubicado" -#: xcofflink.c:1956 +#: xcofflink.c:1839 msgid "%B: reloc %s:%d not in csect" msgstr "%B: la reubicación %s:%d no está en csect" -#: xcofflink.c:2093 -#, c-format -msgid "%s: XCOFF shared object when not producing XCOFF output" -msgstr "%s: objeto compartido XCOFF cuando no se produce salida XCOFF" - -#: xcofflink.c:2114 -#, c-format -msgid "%s: dynamic object with no .loader section" -msgstr "%s: objeto dinámico sin sección .loader" - -#: xcofflink.c:2759 +#: xcofflink.c:2637 #, c-format msgid "%s: no such symbol" msgstr "%s: no hay tal símbolo" -#: xcofflink.c:2892 -msgid "error: undefined symbol __rtinit" -msgstr "error: símbolo __rtinit indefinido" - -#: xcofflink.c:3449 +#: xcofflink.c:2866 #, c-format msgid "warning: attempt to export undefined symbol `%s'" msgstr "aviso: intento de exportar el símbolo sin definir `%s'" -#: xcofflink.c:4444 +#: xcofflink.c:3033 +msgid "error: undefined symbol __rtinit" +msgstr "error: símbolo __rtinit indefinido" + +#: xcofflink.c:3653 #, c-format msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" msgstr "Desbordamiento de TOC: 0x%lx > 0x10000; pruebe -mminimal-toc al compilar" -#: xcofflink.c:5285 +#: xcofflink.c:4489 msgid "%B: loader reloc in unrecognized section `%A'" msgstr "%B: reubicación del cargador en la sección `%A' no reconocida" -#: xcofflink.c:5306 +#: xcofflink.c:4510 msgid "%B: `%s' in loader reloc but not loader sym" msgstr "%B: `%s' en la reubicación del cargador pero no es un símbolo del cargador" -#: xcofflink.c:5321 +#: xcofflink.c:4525 msgid "%B: loader reloc in read-only section %A" msgstr "%B: reubicación del cargador en la sección de sólo lectura %A" -#: xcofflink.c:5747 xcofflink.c:5809 xcofflink.c:6111 +#: xcofflink.c:4934 xcofflink.c:4996 xcofflink.c:5291 #, c-format msgid "%s: loader reloc in unrecognized section `%s'" msgstr "%s: reubicación del cargador en la sección `%s' no reconocida" -#: xcofflink.c:6122 +#: xcofflink.c:5302 #, c-format msgid "%s: `%s' in loader reloc but not loader sym" msgstr "%s: `%s' en la reubicación del cargador pero no es un símbolo del cargador" -#: elf32-ia64.c:987 elf64-ia64.c:987 +#: elf32-ia64.c:1139 elf64-ia64.c:1139 msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch." msgstr "%B: No se puede relajar br en 0x%lx en la sección `%A'. Por favor use brl o ramificación indirecta." -#: elf32-ia64.c:2339 elf64-ia64.c:2339 +#: elf32-ia64.c:2508 elf64-ia64.c:2508 msgid "@pltoff reloc against local symbol" msgstr "reubicación @pltoff contra un símbolo local" -#: elf32-ia64.c:3757 elf64-ia64.c:3757 +#: elf32-ia64.c:3955 elf64-ia64.c:3955 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "%s: segmento de datos short desbordado (0x%lx >= 0x400000)" -#: elf32-ia64.c:3768 elf64-ia64.c:3768 +#: elf32-ia64.c:3966 elf64-ia64.c:3966 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "%s: __gp no cubre el segmento de datos short" -#: elf32-ia64.c:4015 elf64-ia64.c:4015 +#: elf32-ia64.c:4213 elf64-ia64.c:4213 msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" msgstr "%B: código que no es pic con reubicación imm contra el símbolo dinámico %s" -#: elf32-ia64.c:4080 elf64-ia64.c:4080 +#: elf32-ia64.c:4280 elf64-ia64.c:4280 msgid "%B: @gprel relocation against dynamic symbol %s" msgstr "%B: reubicación @gprel contra el símbolo dinámico %s" -#: elf32-ia64.c:4140 elf64-ia64.c:4140 +#: elf32-ia64.c:4343 elf64-ia64.c:4343 msgid "%B: linking non-pic code in a position independent executable" msgstr "%B: enlazando código que no es pic en un ejecutable independiente de posición" -#: elf32-ia64.c:4277 elf64-ia64.c:4277 +#: elf32-ia64.c:4480 elf64-ia64.c:4480 msgid "%B: @internal branch to dynamic symbol %s" msgstr "%B: ramificación @internal al símbolo dinámico %s" -#: elf32-ia64.c:4279 elf64-ia64.c:4279 +#: elf32-ia64.c:4482 elf64-ia64.c:4482 msgid "%B: speculation fixup to dynamic symbol %s" msgstr "%B: compostura de especulación al símbolo dinámico %s" -#: elf32-ia64.c:4281 elf64-ia64.c:4281 +#: elf32-ia64.c:4484 elf64-ia64.c:4484 msgid "%B: @pcrel relocation against dynamic symbol %s" msgstr "%B: reubicación @pcrel contra el símbolo dinámico %s" -#: elf32-ia64.c:4488 elf64-ia64.c:4488 +#: elf32-ia64.c:4691 elf64-ia64.c:4691 msgid "unsupported reloc" msgstr "reubicación sin soporte" -#: elf32-ia64.c:4528 elf64-ia64.c:4528 +#: elf32-ia64.c:4724 elf64-ia64.c:4724 msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)." msgstr "%B: No se puede relajar br (%s) a `%s' en 0x%lx en la sección `%A' con tamaño 0x%lx (> 0x1000000)." -#: elf32-ia64.c:4789 elf64-ia64.c:4789 +#: elf32-ia64.c:4985 elf64-ia64.c:4985 msgid "%B: linking trap-on-NULL-dereference with non-trapping files" msgstr "%B: enlazando deferencias-captura-en-NULL con ficheros que no son de captura" -#: elf32-ia64.c:4798 elf64-ia64.c:4798 +#: elf32-ia64.c:4994 elf64-ia64.c:4994 msgid "%B: linking big-endian files with little-endian files" msgstr "%B: enlazando ficheros big-endian con ficheros little-endian" -#: elf32-ia64.c:4807 elf64-ia64.c:4807 +#: elf32-ia64.c:5003 elf64-ia64.c:5003 msgid "%B: linking 64-bit files with 32-bit files" msgstr "%B: enlazando ficheros de 64-bit con ficheros de 32-bit" -#: elf32-ia64.c:4816 elf64-ia64.c:4816 +#: elf32-ia64.c:5012 elf64-ia64.c:5012 msgid "%B: linking constant-gp files with non-constant-gp files" msgstr "%B: enlazando ficheros de gp constante con ficheros con gp no constante" -#: elf32-ia64.c:4826 elf64-ia64.c:4826 +#: elf32-ia64.c:5022 elf64-ia64.c:5022 msgid "%B: linking auto-pic files with non-auto-pic files" msgstr "%B: enlazando ficheros de pic automático con ficheros sin pic automático" -#: peigen.c:1014 pepigen.c:1014 +#: peigen.c:979 pepigen.c:979 #, c-format msgid "%s: line number overflow: 0x%lx > 0xffff" msgstr "%s: desbordamiento de número de línea: 0x%lx > 0xffff" -#: peigen.c:1041 pepigen.c:1041 +#: peigen.c:1006 pepigen.c:1006 msgid "Export Directory [.edata (or where ever we found it)]" msgstr "Directorio de Exportación [.edata (o donde quiera que se encuentre)]" -#: peigen.c:1042 pepigen.c:1042 +#: peigen.c:1007 pepigen.c:1007 msgid "Import Directory [parts of .idata]" msgstr "Directorio de Importación [partes de .idata]" -#: peigen.c:1043 pepigen.c:1043 +#: peigen.c:1008 pepigen.c:1008 msgid "Resource Directory [.rsrc]" msgstr "Directorio de Recursos [.rsrc]" -#: peigen.c:1044 pepigen.c:1044 +#: peigen.c:1009 pepigen.c:1009 msgid "Exception Directory [.pdata]" msgstr "Directorio de Excepciones [.pdata]" -#: peigen.c:1045 pepigen.c:1045 +#: peigen.c:1010 pepigen.c:1010 msgid "Security Directory" msgstr "Directorio de Seguridad" -#: peigen.c:1046 pepigen.c:1046 +#: peigen.c:1011 pepigen.c:1011 msgid "Base Relocation Directory [.reloc]" msgstr "Directorio de Reubicación Base [.reloc]" -#: peigen.c:1047 pepigen.c:1047 +#: peigen.c:1012 pepigen.c:1012 msgid "Debug Directory" msgstr "Directorio de Depuración" -#: peigen.c:1048 pepigen.c:1048 +#: peigen.c:1013 pepigen.c:1013 msgid "Description Directory" msgstr "Directorio de Descripciones" -#: peigen.c:1049 pepigen.c:1049 +#: peigen.c:1014 pepigen.c:1014 msgid "Special Directory" msgstr "Directorio Especial" -#: peigen.c:1050 pepigen.c:1050 +#: peigen.c:1015 pepigen.c:1015 msgid "Thread Storage Directory [.tls]" msgstr "Directorio de Almacenamiento de Hilos [.tls]" -#: peigen.c:1051 pepigen.c:1051 +#: peigen.c:1016 pepigen.c:1016 msgid "Load Configuration Directory" msgstr "Directorio de Carga de Configuraciones" -#: peigen.c:1052 pepigen.c:1052 +#: peigen.c:1017 pepigen.c:1017 msgid "Bound Import Directory" msgstr "Directorio de Importación de Relaciones" -#: peigen.c:1053 pepigen.c:1053 +#: peigen.c:1018 pepigen.c:1018 msgid "Import Address Table Directory" msgstr "Directorio de Importación de Tablas de Direcciones" -#: peigen.c:1054 pepigen.c:1054 +#: peigen.c:1019 pepigen.c:1019 msgid "Delay Import Directory" msgstr "Directorio de Retardo de Importación" -#: peigen.c:1055 peigen.c:1056 pepigen.c:1055 pepigen.c:1056 +#: peigen.c:1020 peigen.c:1021 pepigen.c:1020 pepigen.c:1021 msgid "Reserved" msgstr "Reservado" -#: peigen.c:1118 pepigen.c:1118 +#: peigen.c:1081 pepigen.c:1081 #, c-format msgid "" "\n" @@ -3065,7 +3151,7 @@ msgstr "" "\n" "Hay una tabla de importación, pero la sección que la contiene no se puede encontrar\n" -#: peigen.c:1123 pepigen.c:1123 +#: peigen.c:1086 pepigen.c:1086 #, c-format msgid "" "\n" @@ -3074,7 +3160,7 @@ msgstr "" "\n" "Hay una tabla de importación en %s en 0x%lx\n" -#: peigen.c:1159 pepigen.c:1159 +#: peigen.c:1129 pepigen.c:1129 #, c-format msgid "" "\n" @@ -3083,12 +3169,12 @@ msgstr "" "\n" "Se localizó el descriptor de función en la dirección de inicio: %04lx\n" -#: peigen.c:1162 pepigen.c:1162 +#: peigen.c:1132 pepigen.c:1132 #, c-format msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" msgstr "\tcódigo-base %08lx tabla-de-contenidos (cargable/actual) %08lx/%08lx\n" -#: peigen.c:1170 pepigen.c:1170 +#: peigen.c:1140 pepigen.c:1140 #, c-format msgid "" "\n" @@ -3097,7 +3183,7 @@ msgstr "" "\n" "¡No está la sección reldata! No se decodificó el descriptor de función.\n" -#: peigen.c:1175 pepigen.c:1175 +#: peigen.c:1145 pepigen.c:1145 #, c-format msgid "" "\n" @@ -3106,7 +3192,7 @@ msgstr "" "\n" "Las Tablas de Importación (se interpretaron los contenidos de la sección %s)\n" -#: peigen.c:1178 pepigen.c:1178 +#: peigen.c:1148 pepigen.c:1148 #, c-format msgid "" " vma: Hint Time Forward DLL First\n" @@ -3115,7 +3201,7 @@ msgstr "" " vma: Pista Fecha Adelante DLL Primero\n" " Tabla Estampa Cadena Nombre Thunk\n" -#: peigen.c:1223 pepigen.c:1223 +#: peigen.c:1196 pepigen.c:1196 #, c-format msgid "" "\n" @@ -3124,12 +3210,12 @@ msgstr "" "\n" "\tNombre de la DLL: %s\n" -#: peigen.c:1234 pepigen.c:1234 +#: peigen.c:1207 pepigen.c:1207 #, c-format msgid "\tvma: Hint/Ord Member-Name Bound-To\n" msgstr "\tvma: Pista/Ord Nombre-Miembro Unido-A\n" -#: peigen.c:1259 pepigen.c:1259 +#: peigen.c:1232 pepigen.c:1232 #, c-format msgid "" "\n" @@ -3138,7 +3224,7 @@ msgstr "" "\n" "Hay un thunk inicial, pero la sección que lo contiene no se puede encontrar\n" -#: peigen.c:1399 pepigen.c:1399 +#: peigen.c:1365 pepigen.c:1365 #, c-format msgid "" "\n" @@ -3147,7 +3233,16 @@ msgstr "" "\n" "Hay una tabla de exportación, pero la sección que la contiene no se puede encontrar\n" -#: peigen.c:1404 pepigen.c:1404 +#: peigen.c:1374 pepigen.c:1374 +#, c-format +msgid "" +"\n" +"There is an export table in %s, but it does not fit into that section\n" +msgstr "" +"\n" +"Hay una tabla de exportación en %s, pero no cabe en esa sección\n" + +#: peigen.c:1380 pepigen.c:1380 #, c-format msgid "" "\n" @@ -3156,7 +3251,7 @@ msgstr "" "\n" "Hay una tabla de exportación en %s en 0x%lx\n" -#: peigen.c:1435 pepigen.c:1435 +#: peigen.c:1408 pepigen.c:1408 #, c-format msgid "" "\n" @@ -3167,68 +3262,68 @@ msgstr "" "Las Tablas de Exportación (se interpretaron los contenidos de la sección %s)\n" "\n" -#: peigen.c:1439 pepigen.c:1439 +#: peigen.c:1412 pepigen.c:1412 #, c-format msgid "Export Flags \t\t\t%lx\n" msgstr "Opciones de Exportación \t\t\t%lx\n" -#: peigen.c:1442 pepigen.c:1442 +#: peigen.c:1415 pepigen.c:1415 #, c-format msgid "Time/Date stamp \t\t%lx\n" msgstr "marca de Hora/Fecha \t\t%lx\n" -#: peigen.c:1445 pepigen.c:1445 +#: peigen.c:1418 pepigen.c:1418 #, c-format msgid "Major/Minor \t\t\t%d/%d\n" msgstr "Mayor/Menor \t\t\t%d/%d\n" -#: peigen.c:1448 pepigen.c:1448 +#: peigen.c:1421 pepigen.c:1421 #, c-format msgid "Name \t\t\t\t" msgstr "Nombre \t\t\t\t" -#: peigen.c:1454 pepigen.c:1454 +#: peigen.c:1427 pepigen.c:1427 #, c-format msgid "Ordinal Base \t\t\t%ld\n" msgstr "Base Ordinal \t\t\t%ld\n" -#: peigen.c:1457 pepigen.c:1457 +#: peigen.c:1430 pepigen.c:1430 #, c-format msgid "Number in:\n" msgstr "Número en:\n" -#: peigen.c:1460 pepigen.c:1460 +#: peigen.c:1433 pepigen.c:1433 #, c-format msgid "\tExport Address Table \t\t%08lx\n" msgstr "\tTabla de Exportación de Direcciones \t\t%08lx\n" -#: peigen.c:1464 pepigen.c:1464 +#: peigen.c:1437 pepigen.c:1437 #, c-format msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" msgstr "\tTabla [Nombre Puntero/Ordinal]\t%08lx\n" -#: peigen.c:1467 pepigen.c:1467 +#: peigen.c:1440 pepigen.c:1440 #, c-format msgid "Table Addresses\n" msgstr "Direcciones de la Tabla\n" -#: peigen.c:1470 pepigen.c:1470 +#: peigen.c:1443 pepigen.c:1443 #, c-format msgid "\tExport Address Table \t\t" msgstr "\tTabla de Exportación de Direcciones \t\t" -#: peigen.c:1475 pepigen.c:1475 +#: peigen.c:1448 pepigen.c:1448 #, c-format msgid "\tName Pointer Table \t\t" msgstr "\tNombre de la Tabla de Punteros \t\t" # continuar aqui -#: peigen.c:1480 pepigen.c:1480 +#: peigen.c:1453 pepigen.c:1453 #, c-format msgid "\tOrdinal Table \t\t\t" msgstr "\tTabla Ordinal \t\t\t" -#: peigen.c:1495 pepigen.c:1495 +#: peigen.c:1467 pepigen.c:1467 #, c-format msgid "" "\n" @@ -3237,15 +3332,15 @@ msgstr "" "\n" "Tabla de Exportación de Direcciones -- Base Ordinal %ld\n" -#: peigen.c:1514 pepigen.c:1514 +#: peigen.c:1486 pepigen.c:1486 msgid "Forwarder RVA" msgstr "RVA Adelantador" -#: peigen.c:1525 pepigen.c:1525 +#: peigen.c:1497 pepigen.c:1497 msgid "Export RVA" msgstr "RVA Exportador" -#: peigen.c:1532 pepigen.c:1532 +#: peigen.c:1504 pepigen.c:1504 #, c-format msgid "" "\n" @@ -3254,12 +3349,12 @@ msgstr "" "\n" "Tabla [Puntero a Ordinal/Nombre]\n" -#: peigen.c:1587 pepigen.c:1587 +#: peigen.c:1557 pepigen.c:1557 #, c-format msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" msgstr "Aviso, el tamaño de la sección .pdata (%ld) no es un múltiplo de %d\n" -#: peigen.c:1591 pepigen.c:1591 +#: peigen.c:1561 pepigen.c:1561 #, c-format msgid "" "\n" @@ -3268,12 +3363,12 @@ msgstr "" "\n" "La Tabla de Funciones (se interpretaron los contenidos de la sección .pdata)\n" -#: peigen.c:1594 pepigen.c:1594 +#: peigen.c:1564 pepigen.c:1564 #, c-format msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" msgstr " vma:\t\t\tDirección Inicio Dirección Fin Información Desenvuelta\n" -#: peigen.c:1596 pepigen.c:1596 +#: peigen.c:1566 pepigen.c:1566 #, c-format msgid "" " vma:\t\tBegin End EH EH PrologEnd Exception\n" @@ -3282,22 +3377,22 @@ msgstr "" " vma:\t\tInicio Fin EH EH FinPrólogo Excepción\n" " \t\tDirecc Direcc Asa Datos Dirección Máscara\n" -#: peigen.c:1666 pepigen.c:1666 +#: peigen.c:1636 pepigen.c:1636 #, c-format msgid " Register save millicode" msgstr " Registro para guardar milicódigo" -#: peigen.c:1669 pepigen.c:1669 +#: peigen.c:1639 pepigen.c:1639 #, c-format msgid " Register restore millicode" msgstr " Registro para restaurar milicódigo" -#: peigen.c:1672 pepigen.c:1672 +#: peigen.c:1642 pepigen.c:1642 #, c-format msgid " Glue code sequence" msgstr " Secuencia de código pegamento" -#: peigen.c:1724 pepigen.c:1724 +#: peigen.c:1692 pepigen.c:1692 #, c-format msgid "" "\n" @@ -3308,7 +3403,7 @@ msgstr "" "\n" "Reubicaciones de Fichero Base PE (se interpretaron los contenidos de la sección .reloc)\n" -#: peigen.c:1754 pepigen.c:1754 +#: peigen.c:1722 pepigen.c:1722 #, c-format msgid "" "\n" @@ -3317,7 +3412,7 @@ msgstr "" "\n" "Dirección Virtual: %08lx Tamaño del trozo %ld (0x%lx) Número de composturas %ld\n" -#: peigen.c:1767 pepigen.c:1767 +#: peigen.c:1735 pepigen.c:1735 #, c-format msgid "\treloc %4d offset %4x [%4lx] %s" msgstr "\treubicación %4d desplazamiento %4x [%4lx] %s" @@ -3325,7 +3420,7 @@ msgstr "\treubicaci #. The MS dumpbin program reportedly ands with 0xff0f before #. printing the characteristics field. Not sure why. No reason to #. emulate it here. -#: peigen.c:1807 pepigen.c:1807 +#: peigen.c:1773 pepigen.c:1773 #, c-format msgid "" "\n" @@ -3334,6 +3429,36 @@ msgstr "" "\n" "Características 0x%x\n" +#~ msgid "Missing IHCONST" +#~ msgstr "IHCONST faltante" + +#~ msgid "Missing IHIHALF" +#~ msgstr "IHIHALF faltante" + +#~ msgid "missing IHCONST reloc" +#~ msgstr "reubicación IHCONST faltante" + +#~ msgid "missing IHIHALF reloc" +#~ msgstr "reubicación IHIHALF faltante" + +#~ msgid "%B(%A): warning: unresolvable relocation %d against symbol `%s'" +#~ msgstr "%B(%A): aviso: reubicación %d sin resolución contra el símbolo `%s'" + +#~ msgid "%s: warning: unresolvable relocation against symbol `%s' from %s section" +#~ msgstr "%s: aviso: reubicación sin resolución contra el símbolo `%s' de la sección %s" + +#~ msgid "%B(%A): unresolvable relocation against symbol `%s'" +#~ msgstr "%B(%A+0x%lx): reubicación sin resolución contra el símbolo `%s'" + +#~ msgid "Symbol %s has no GOT subsection for offset 0x%x" +#~ msgstr "El símbolo %s no tiene subsección GOT para el desplazamiento 0x%x" + +#~ msgid "%B: check_relocs: unhandled reloc type %d" +#~ msgstr "%B: check_relocs: tipo de reubicación %d sin manejar" + +#~ msgid "%B: warning: sh_link not set for section `%S'" +#~ msgstr "%B: aviso: no se estableció sh_link para la sección `%S'" + #~ msgid " first occurrence: %s: arm call to thumb" #~ msgstr " primera ocurrencia: %s: llamada arm a thumb" diff --git a/bfd/reloc.c b/bfd/reloc.c index 24797828098..06ded9b9a8a 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -2139,6 +2139,14 @@ ENUMDOC MIPS ELF relocations. COMMENT +ENUM + BFD_RELOC_MIPS_COPY +ENUMX + BFD_RELOC_MIPS_JUMP_SLOT +ENUMDOC + MIPS ELF relocations (VxWorks extensions). +COMMENT + ENUM BFD_RELOC_FRV_LABEL16 ENUMX @@ -2343,6 +2351,16 @@ ENUMX BFD_RELOC_X86_64_GOTOFF64 ENUMX BFD_RELOC_X86_64_GOTPC32 +ENUMX + BFD_RELOC_X86_64_GOT64 +ENUMX + BFD_RELOC_X86_64_GOTPCREL64 +ENUMX + BFD_RELOC_X86_64_GOTPC64 +ENUMX + BFD_RELOC_X86_64_GOTPLT64 +ENUMX + BFD_RELOC_X86_64_PLTOFF64 ENUMX BFD_RELOC_X86_64_GOTPC32_TLSDESC ENUMX @@ -3092,6 +3110,36 @@ ENUM BFD_RELOC_BFIN_24_PCREL_JUMP_L ENUMDOC ADI Blackfin Long Jump pcrel. +ENUM + BFD_RELOC_BFIN_GOT17M4 +ENUMX + BFD_RELOC_BFIN_GOTHI +ENUMX + BFD_RELOC_BFIN_GOTLO +ENUMX + BFD_RELOC_BFIN_FUNCDESC +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOT17M4 +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOTHI +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOTLO +ENUMX + BFD_RELOC_BFIN_FUNCDESC_VALUE +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4 +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI +ENUMX + BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO +ENUMX + BFD_RELOC_BFIN_GOTOFF17M4 +ENUMX + BFD_RELOC_BFIN_GOTOFFHI +ENUMX + BFD_RELOC_BFIN_GOTOFFLO +ENUMDOC + ADI Blackfin FD-PIC relocations. ENUM BFD_RELOC_BFIN_GOT ENUMDOC diff --git a/bfd/targets.c b/bfd/targets.c index 99f300644d1..849eb944fbe 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -554,12 +554,14 @@ extern const bfd_target bfd_efi_app_ia32_vec; extern const bfd_target bfd_efi_app_ia64_vec; extern const bfd_target bfd_elf32_avr_vec; extern const bfd_target bfd_elf32_bfin_vec; +extern const bfd_target bfd_elf32_bfinfdpic_vec; extern const bfd_target bfd_elf32_big_generic_vec; extern const bfd_target bfd_elf32_bigarc_vec; extern const bfd_target bfd_elf32_bigarm_vec; extern const bfd_target bfd_elf32_bigarm_symbian_vec; extern const bfd_target bfd_elf32_bigarm_vxworks_vec; extern const bfd_target bfd_elf32_bigmips_vec; +extern const bfd_target bfd_elf32_bigmips_vxworks_vec; extern const bfd_target bfd_elf32_cr16c_vec; extern const bfd_target bfd_elf32_cris_vec; extern const bfd_target bfd_elf32_crx_vec; @@ -590,6 +592,7 @@ extern const bfd_target bfd_elf32_littlearm_vec; extern const bfd_target bfd_elf32_littlearm_symbian_vec; extern const bfd_target bfd_elf32_littlearm_vxworks_vec; extern const bfd_target bfd_elf32_littlemips_vec; +extern const bfd_target bfd_elf32_littlemips_vxworks_vec; extern const bfd_target bfd_elf32_m32c_vec; extern const bfd_target bfd_elf32_m32r_vec; extern const bfd_target bfd_elf32_m32rle_vec; @@ -631,6 +634,7 @@ extern const bfd_target bfd_elf32_shlin_vec; extern const bfd_target bfd_elf32_shlnbsd_vec; extern const bfd_target bfd_elf32_shnbsd_vec; extern const bfd_target bfd_elf32_sparc_vec; +extern const bfd_target bfd_elf32_sparc_vxworks_vec; extern const bfd_target bfd_elf32_tradbigmips_vec; extern const bfd_target bfd_elf32_tradlittlemips_vec; extern const bfd_target bfd_elf32_us_cris_vec; @@ -852,6 +856,7 @@ static const bfd_target * const _bfd_target_vector[] = { #endif &bfd_elf32_avr_vec, &bfd_elf32_bfin_vec, + &bfd_elf32_bfinfdpic_vec, /* This, and other vectors, may not be used in any *.mt configuration. But that does not mean they are unnecessary. If configured with @@ -863,6 +868,7 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_bigarm_symbian_vec, &bfd_elf32_bigarm_vxworks_vec, &bfd_elf32_bigmips_vec, + &bfd_elf32_bigmips_vxworks_vec, &bfd_elf32_cr16c_vec, &bfd_elf32_cris_vec, &bfd_elf32_crx_vec, @@ -897,6 +903,7 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_littlearm_symbian_vec, &bfd_elf32_littlearm_vxworks_vec, &bfd_elf32_littlemips_vec, + &bfd_elf32_littlemips_vxworks_vec, &bfd_elf32_m32c_vec, &bfd_elf32_m32r_vec, &bfd_elf32_m32rle_vec, @@ -942,6 +949,7 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_sh64blin_vec, #endif &bfd_elf32_sparc_vec, + &bfd_elf32_sparc_vxworks_vec, &bfd_elf32_tradbigmips_vec, &bfd_elf32_tradlittlemips_vec, &bfd_elf32_us_cris_vec, diff --git a/bfd/tekhex.c b/bfd/tekhex.c index 559f21afb5c..afe42cc948a 100644 --- a/bfd/tekhex.c +++ b/bfd/tekhex.c @@ -264,36 +264,50 @@ typedef struct tekhex_data_struct #define enda(x) (x->vma + x->size) -static bfd_vma -getvalue (char **srcp) +static bfd_boolean +getvalue (char **srcp, bfd_vma *valuep) { char *src = *srcp; bfd_vma value = 0; - unsigned int len = hex_value(*src++); + unsigned int len; + + if (!ISHEX (*src)) + return FALSE; + len = hex_value (*src++); if (len == 0) len = 16; while (len--) - value = value << 4 | hex_value(*src++); + { + if (!ISHEX (*src)) + return FALSE; + value = value << 4 | hex_value (*src++); + } *srcp = src; - return value; + *valuep = value; + return TRUE; } -static unsigned int -getsym (char *dstp, char **srcp) +static bfd_boolean +getsym (char *dstp, char **srcp, unsigned int *lenp) { char *src = *srcp; unsigned int i; - unsigned int len = hex_value(*src++); + unsigned int len; + + if (!ISHEX (*src)) + return FALSE; + len = hex_value (*src++); if (len == 0) len = 16; for (i = 0; i < len; i++) dstp[i] = src[i]; dstp[i] = 0; *srcp = src + i; - return len; + *lenp = len; + return TRUE; } static struct data_struct * @@ -333,11 +347,12 @@ insert_byte (bfd *abfd, int value, bfd_vma addr) /* The first pass is to find the names of all the sections, and see how big the data is. */ -static void +static bfd_boolean first_phase (bfd *abfd, int type, char *src) { asection *section = bfd_abs_section_ptr; unsigned int len; + bfd_vma val; char sym[17]; /* A symbol can only be 16chars long. */ switch (type) @@ -345,7 +360,10 @@ first_phase (bfd *abfd, int type, char *src) case '6': /* Data record - read it and store it. */ { - bfd_vma addr = getvalue (&src); + bfd_vma addr; + + if (!getvalue (&src, &addr)) + return FALSE; while (*src) { @@ -355,17 +373,18 @@ first_phase (bfd *abfd, int type, char *src) } } - return; + return TRUE; case '3': /* Symbol record, read the segment. */ - len = getsym (sym, &src); + if (!getsym (sym, &src, &len)) + return FALSE; section = bfd_get_section_by_name (abfd, sym); if (section == NULL) { char *n = bfd_alloc (abfd, (bfd_size_type) len + 1); if (!n) - abort (); /* FIXME. */ + return FALSE; memcpy (n, sym, len + 1); section = bfd_make_section (abfd, n); } @@ -375,8 +394,11 @@ first_phase (bfd *abfd, int type, char *src) { case '1': /* Section range. */ src++; - section->vma = getvalue (&src); - section->size = getvalue (&src) - section->vma; + if (!getvalue (&src, §ion->vma)) + return FALSE; + if (!getvalue (&src, &val)) + return FALSE; + section->size = val - section->vma; section->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC; break; case '0': @@ -393,35 +415,42 @@ first_phase (bfd *abfd, int type, char *src) char stype = (*src); if (!new) - abort (); /* FIXME. */ + return FALSE; new->symbol.the_bfd = abfd; src++; abfd->symcount++; abfd->flags |= HAS_SYMS; new->prev = abfd->tdata.tekhex_data->symbols; abfd->tdata.tekhex_data->symbols = new; - len = getsym (sym, &src); + if (!getsym (sym, &src, &len)) + return FALSE; new->symbol.name = bfd_alloc (abfd, (bfd_size_type) len + 1); if (!new->symbol.name) - abort (); /* FIXME. */ + return FALSE; memcpy ((char *) (new->symbol.name), sym, len + 1); new->symbol.section = section; if (stype <= '4') new->symbol.flags = (BSF_GLOBAL | BSF_EXPORT); else new->symbol.flags = BSF_LOCAL; - new->symbol.value = getvalue (&src) - section->vma; + if (!getvalue (&src, &val)) + return FALSE; + new->symbol.value = val - section->vma; } + default: + return FALSE; } } } + + return TRUE; } /* Pass over a tekhex, calling one of the above functions on each record. */ -static void -pass_over (bfd *abfd, void (*func) (bfd *, int, char *)) +static bfd_boolean +pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *)) { unsigned int chars_on_line; bfd_boolean eof = FALSE; @@ -462,8 +491,11 @@ pass_over (bfd *abfd, void (*func) (bfd *, int, char *)) /* Put a null at the end. */ src[chars_on_line] = 0; - func (abfd, type, src); + if (!func (abfd, type, src)) + return FALSE; } + + return TRUE; } static long @@ -524,7 +556,9 @@ tekhex_object_p (bfd *abfd) tekhex_mkobject (abfd); - pass_over (abfd, first_phase); + if (!pass_over (abfd, first_phase)) + return NULL; + return abfd->xvec; } diff --git a/bfd/version.h b/bfd/version.h index 0ab4127a0a5..004c17cc86e 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20060320 +#define BFD_VERSION_DATE 20060623 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_SUFFIX @bfd_version_suffix@ #define BFD_VERSION_STRING @bfd_version_string@ BFD_VERSION_SUFFIX diff --git a/binutils/BRANCHES b/binutils/BRANCHES index 19eabe7cd12..b770ef4ebfb 100644 --- a/binutils/BRANCHES +++ b/binutils/BRANCHES @@ -13,13 +13,13 @@ for the branch (e.g., "no commits without permission of X or Y"). Organization Branches Description --------------------- ----------- binutils-csl-arm-2005q1-branch -binutils-csl-arm-2006q1-branch CodeSourcery toolchain release branches. Please do not commit to these branches without permission from a CodeSourcery developer. binutils-csl-gxxpro-3_4-branch - CodeSourcery branded GNU Toolchain release branch. +binutils-csl-2_17-branch + CodeSourcery branded GNU Toolchain release branches. Please do not commit to this branch without permission from a CodeSourcery developer. diff --git a/binutils/ChangeLog b/binutils/ChangeLog index cb247a10668..a89bde5287e 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,97 @@ +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-06-02 Joseph S. Myers + + * doc/Makefile.am (TEXI2DVI): Define. + * doc/Makefile.in: Regenerate. + +2006-06-01 Daniel Jacobowitz + + Backport: + 2006-05-19 Andreas Schwab + * doc/Makefile.am (addr2line.1): Depend on $(binutils_TEXINFOS). + (ar.1): Likewise. + (dlltool.1): Likewise. + (nlmconv.1): Likewise. + (nm.1): Likewise. + (objcopy.1): Likewise. + (objdump.1): Likewise. + (ranlib.1): Likewise. + (readelf.1): Likewise. + (size.1): Likewise. + (strings.1): Likewise. + (strip.1): Likewise. + (windres.1): Likewise. + (cxxfilt.man): Likewise. + * doc/Makefile.in: Regenerated. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-05-24 Nick Clifton + + * po/fr.po: Updated French translation. + +2006-05-23 Nick Clifton + + * po/vi.po: Updated Vietnamese translation. + +2006-05-22 Daniel Jacobowitz + + * po/ru.po: Updated translation. + +2006-05-02 Daniel Jacobowitz + + * doc/Makefile.am (AM_MAKEINFOFLAGS): New. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (config.texi): Don't set top_srcdir. + * doc/binutils.texi: Don't use top_srcdir. + * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. + +2006-04-12 Nick Clifton + + * objdump.c (objdump_symbol_at_address): Fix typo in comment. + +2006-04-10 Ben Elliston + + * MAINTAINERS (CGEN Maintainers): Remove myself. + +2006-04-06 Carlos O'Donell + + * po/Make-in: Add install-html target. + * Makefile.am: Add install-html and install-html-recursive targets. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST datarootdir, docdir and htmldir. + * configure: Regenerate. + * doc/Makefile.am: Add install-html and install-html-am targets. + * doc/Makefile.in: Regenerate. + +2006-04-05 Eric Botcazou + + * addr2line.c (long_options): Add new option 'section'. + (usage): Document new -j/--section option. + (find_offset_in_section): New function. + (translate_addresses): Add 'section' parameter. + If it is non-null, call find_offset_in_section on it. + (process_file): Add 'section_name' parameter. + If it is non-null, look for the section in the BFD object. + Pass the section to translate_addresses. + (main): Handle new -j option. + Pass the section name to process_file. + * doc/binutils.texi (addr2line): Document new -j/--section option. + +2006-03-29 Ben Elliston + + * resbin.c: Avoid duplicating constants in calls to reswr_alloc. + +2006-03-20 Nathan Sidwell + + * BRANCHES: Remove binutils-csl-arm-2006q1-branch. Document + binutils-csl-2_17-branch instead. + 2006-03-20 Paul Brook * BRANCHES: Mention binutils-csl-arm-2006q1-branch. diff --git a/binutils/MAINTAINERS b/binutils/MAINTAINERS index e98b5df6f52..f5beb0343b4 100644 --- a/binutils/MAINTAINERS +++ b/binutils/MAINTAINERS @@ -129,7 +129,7 @@ If you have CGEN related problems you can send email to; The current CGEN maintainers are: - Doug Evans, Ben Elliston, Frank Eigler + Doug Evans, Frank Eigler --------- Write After Approval --------- diff --git a/binutils/Makefile.in b/binutils/Makefile.in index 91b02c12247..e0e3b5289b9 100644 --- a/binutils/Makefile.in +++ b/binutils/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -14,8 +14,6 @@ @SET_MAKE@ -SOURCES = $(addr2line_SOURCES) $(ar_SOURCES) $(coffdump_SOURCES) $(cxxfilt_SOURCES) $(dlltool_SOURCES) $(dllwrap_SOURCES) $(nlmconv_SOURCES) $(nm_new_SOURCES) $(objcopy_SOURCES) $(objdump_SOURCES) $(ranlib_SOURCES) $(readelf_SOURCES) $(size_SOURCES) $(srconv_SOURCES) $(strings_SOURCES) $(strip_new_SOURCES) $(sysdump_SOURCES) $(windres_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ diff --git a/binutils/aclocal.m4 b/binutils/aclocal.m4 index ca849970a1b..cd4267338b7 100644 --- a/binutils/aclocal.m4 +++ b/binutils/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.9.5 -*- Autoconf -*- +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005 Free Software Foundation, Inc. @@ -28,7 +28,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.5])]) + [AM_AUTOMAKE_VERSION([1.9.6])]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- diff --git a/binutils/addr2line.c b/binutils/addr2line.c index aae69ca3be5..7cd67bc0a1b 100644 --- a/binutils/addr2line.c +++ b/binutils/addr2line.c @@ -1,5 +1,5 @@ /* addr2line.c -- convert addresses to line number and function name - Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. Contributed by Ulrich Lauther @@ -56,6 +56,7 @@ static struct option long_options[] = {"exe", required_argument, NULL, 'e'}, {"functions", no_argument, NULL, 'f'}, {"inlines", no_argument, NULL, 'i'}, + {"section", required_argument, NULL, 'j'}, {"target", required_argument, NULL, 'b'}, {"help", no_argument, NULL, 'H'}, {"version", no_argument, NULL, 'V'}, @@ -65,8 +66,9 @@ static struct option long_options[] = static void usage (FILE *, int); static void slurp_symtab (bfd *); static void find_address_in_section (bfd *, asection *, void *); -static void translate_addresses (bfd *); -static void process_file (const char *, const char *); +static void find_offset_in_section (bfd *, asection *); +static void translate_addresses (bfd *, asection *); +static void process_file (const char *, const char *, const char *); /* Print a usage message to STREAM and exit with STATUS. */ @@ -80,7 +82,8 @@ usage (FILE *stream, int status) @ Read options from \n\ -b --target= Set the binary file format\n\ -e --exe= Set the input file name (default is a.out)\n\ - -i --inlines Unwind inlined functions\n\ + -i --inlines Unwind inlined functions\n\ + -j --section= Read section-relative offsets instead of addresses\n\ -s --basenames Strip directory names\n\ -f --functions Show function names\n\ -C --demangle[=style] Demangle function names\n\ @@ -150,11 +153,32 @@ find_address_in_section (bfd *abfd, asection *section, &filename, &functionname, &line); } +/* Look for an offset in a section. This is directly called. */ + +static void +find_offset_in_section (bfd *abfd, asection *section) +{ + bfd_size_type size; + + if (found) + return; + + if ((bfd_get_section_flags (abfd, section) & SEC_ALLOC) == 0) + return; + + size = bfd_get_section_size (section); + if (pc >= size) + return; + + found = bfd_find_nearest_line (abfd, section, syms, pc, + &filename, &functionname, &line); +} + /* Read hexadecimal addresses from stdin, translate into file_name:line_number and optionally function name. */ static void -translate_addresses (bfd *abfd) +translate_addresses (bfd *abfd, asection *section) { int read_stdin = (naddr == 0); @@ -177,7 +201,10 @@ translate_addresses (bfd *abfd) } found = FALSE; - bfd_map_over_sections (abfd, find_address_in_section, NULL); + if (section) + find_offset_in_section (abfd, section); + else + bfd_map_over_sections (abfd, find_address_in_section, NULL); if (! found) { @@ -237,9 +264,11 @@ translate_addresses (bfd *abfd) /* Process a file. */ static void -process_file (const char *file_name, const char *target) +process_file (const char *file_name, const char *section_name, + const char *target) { bfd *abfd; + asection *section; char **matching; if (get_file_size (file_name) < 1) @@ -250,7 +279,7 @@ process_file (const char *file_name, const char *target) bfd_fatal (file_name); if (bfd_check_format (abfd, bfd_archive)) - fatal (_("%s: can not get addresses from archive"), file_name); + fatal (_("%s: cannot get addresses from archive"), file_name); if (! bfd_check_format_matches (abfd, bfd_object, &matching)) { @@ -263,9 +292,18 @@ process_file (const char *file_name, const char *target) xexit (1); } + if (section_name != NULL) + { + section = bfd_get_section_by_name (abfd, section_name); + if (section == NULL) + fatal (_("%s: cannot find section %s"), file_name, section_name); + } + else + section = NULL; + slurp_symtab (abfd); - translate_addresses (abfd); + translate_addresses (abfd, section); if (syms != NULL) { @@ -276,12 +314,11 @@ process_file (const char *file_name, const char *target) bfd_close (abfd); } -int main (int, char **); - int main (int argc, char **argv) { const char *file_name; + const char *section_name; char *target; int c; @@ -303,8 +340,9 @@ main (int argc, char **argv) set_default_bfd_target (); file_name = NULL; + section_name = NULL; target = NULL; - while ((c = getopt_long (argc, argv, "b:Ce:sfHhiVv", long_options, (int *) 0)) + while ((c = getopt_long (argc, argv, "b:Ce:sfHhij:Vv", long_options, (int *) 0)) != EOF) { switch (c) @@ -348,6 +386,9 @@ main (int argc, char **argv) case 'i': unwind_inlines = TRUE; break; + case 'j': + section_name = optarg; + break; default: usage (stderr, 1); break; @@ -360,7 +401,7 @@ main (int argc, char **argv) addr = argv + optind; naddr = argc - optind; - process_file (file_name, target); + process_file (file_name, section_name, target); return 0; } diff --git a/binutils/doc/Makefile.am b/binutils/doc/Makefile.am index 3f79ad4066f..1d043e7d3f8 100644 --- a/binutils/doc/Makefile.am +++ b/binutils/doc/Makefile.am @@ -8,7 +8,7 @@ CONFIG=all # Options to extract the man page from as.texinfo MANCONF = -Dman -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl +TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 @@ -34,106 +34,108 @@ info_TEXINFOS = binutils.texi binutils_TEXINFOS = config.texi binutils_TEXI = $(srcdir)/binutils.texi +AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" +TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" + config.texi: $(srcdir)/../../bfd/configure $(binutils_TEXI) rm -f config.texi eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ echo "@set VERSION $$VERSION" > $@ echo "@set UPDATED `date "+%B %Y"`" >> config.texi - echo "@set top_srcdir $(top_srcdir)" >> config.texi # Man page generation from texinfo -addr2line.1: $(binutils_TEXI) +addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f addr2line.pod -ar.1: $(binutils_TEXI) +ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f ar.pod -dlltool.1: $(binutils_TEXI) +dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f dlltool.pod -nlmconv.1: $(binutils_TEXI) +nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f nlmconv.pod -nm.1: $(binutils_TEXI) +nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f nm.pod -objcopy.1: $(binutils_TEXI) +objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f objcopy.pod -objdump.1: $(binutils_TEXI) +objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f objdump.pod -ranlib.1: $(binutils_TEXI) +ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f ranlib.pod -readelf.1: $(binutils_TEXI) +readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f readelf.pod -size.1: $(binutils_TEXI) +size.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f size.pod -strings.1: $(binutils_TEXI) +strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f strings.pod -strip.1: $(binutils_TEXI) +strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f strip.pod -windres.1: $(binutils_TEXI) +windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f windres.pod -cxxfilt.man: $(binutils_TEXI) +cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ diff --git a/binutils/doc/Makefile.in b/binutils/doc/Makefile.in index 4315c462ee2..19354a45ed8 100644 --- a/binutils/doc/Makefile.in +++ b/binutils/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -61,11 +61,6 @@ PDFS = binutils.pdf PSS = binutils.ps HTMLS = binutils.html TEXINFOS = binutils.texi -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \ - echo $(top_srcdir)/../texinfo/util/texi2dvi; \ - else \ - echo texi2dvi; \ - fi` TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) @@ -218,7 +213,7 @@ CONFIG = all # Options to extract the man page from as.texinfo MANCONF = -Dman -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl +TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 @@ -243,6 +238,8 @@ man_MANS = \ info_TEXINFOS = binutils.texi binutils_TEXINFOS = config.texi binutils_TEXI = $(srcdir)/binutils.texi +AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" +TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" MAINTAINERCLEANFILES = config.texi MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 html__strip_dir = `echo $$p | sed -e 's|^.*/||'`; @@ -293,9 +290,11 @@ distclean-libtool: restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ @@ -337,6 +336,7 @@ binutils.dvi: binutils.texi $(binutils_TEXINFOS) binutils.pdf: binutils.texi $(binutils_TEXINFOS) binutils.html: binutils.texi $(binutils_TEXINFOS) .dvi.ps: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< uninstall-info-am: @@ -575,101 +575,100 @@ config.texi: $(srcdir)/../../bfd/configure $(binutils_TEXI) eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ echo "@set VERSION $$VERSION" > $@ echo "@set UPDATED `date "+%B %Y"`" >> config.texi - echo "@set top_srcdir $(top_srcdir)" >> config.texi # Man page generation from texinfo -addr2line.1: $(binutils_TEXI) +addr2line.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod -($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f addr2line.pod -ar.1: $(binutils_TEXI) +ar.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod -($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f ar.pod -dlltool.1: $(binutils_TEXI) +dlltool.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod -($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f dlltool.pod -nlmconv.1: $(binutils_TEXI) +nlmconv.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dnlmconv < $(binutils_TEXI) > nlmconv.pod -($(POD2MAN) nlmconv.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f nlmconv.pod -nm.1: $(binutils_TEXI) +nm.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod -($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f nm.pod -objcopy.1: $(binutils_TEXI) +objcopy.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod -($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f objcopy.pod -objdump.1: $(binutils_TEXI) +objdump.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod -($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f objdump.pod -ranlib.1: $(binutils_TEXI) +ranlib.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod -($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f ranlib.pod -readelf.1: $(binutils_TEXI) +readelf.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod -($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f readelf.pod -size.1: $(binutils_TEXI) +size.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod -($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f size.pod -strings.1: $(binutils_TEXI) +strings.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod -($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f strings.pod -strip.1: $(binutils_TEXI) +strip.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod -($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f strip.pod -windres.1: $(binutils_TEXI) +windres.1: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod -($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f windres.pod -cxxfilt.man: $(binutils_TEXI) +cxxfilt.man: $(binutils_TEXI) $(binutils_TEXINFOS) touch $@ -$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod -($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 0559b5b2863..0abcef5362e 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -2607,6 +2607,7 @@ addr2line [@option{-b} @var{bfdname}|@option{--target=}@var{bfdname}] [@option{-e} @var{filename}|@option{--exe=}@var{filename}] [@option{-f}|@option{--functions}] [@option{-s}|@option{--basename}] [@option{-i}|@option{--inlines}] + [@option{-j}|@option{--section=}@var{name}] [@option{-H}|@option{--help}] [@option{-V}|@option{--version}] [addr addr @dots{}] @c man end @@ -2614,13 +2615,14 @@ addr2line [@option{-b} @var{bfdname}|@option{--target=}@var{bfdname}] @c man begin DESCRIPTION addr2line -@command{addr2line} translates program addresses into file names and line -numbers. Given an address and an executable, it uses the debugging -information in the executable to figure out which file name and line -number are associated with a given address. +@command{addr2line} translates addresses into file names and line numbers. +Given an address in an executable or an offset in a section of a relocatable +object, it uses the debugging information to figure out which file name and +line number are associated with it. -The executable to use is specified with the @option{-e} option. The -default is the file @file{a.out}. +The executable or relocatable object to use is specified with the @option{-e} +option. The default is the file @file{a.out}. The section in the relocatable +object to use is specified with the @option{-j} option. @command{addr2line} has two modes of operation. @@ -2688,6 +2690,10 @@ function will also be printed. For example, if @code{main} inlines @code{callee1} which inlines @code{callee2}, and address is from @code{callee2}, the source information for @code{callee1} and @code{main} will also be printed. + +@item -j +@itemx --section +Read offsets relative to the specified section instead of absolute addresses. @end table @c man end @@ -3525,7 +3531,7 @@ programs described in this manual. @c man begin OPTIONS @table @env -@include @value{top_srcdir}/../libiberty/at-file.texi +@include at-file.texi @c man end @item --help diff --git a/binutils/objdump.c b/binutils/objdump.c index 838f083f7ae..6e5eab56da2 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -899,7 +899,7 @@ objdump_print_address (bfd_vma vma, struct disassemble_info *info) objdump_print_addr (vma, info, ! prefix_addresses); } -/* Determine of the given address has a symbol associated with it. */ +/* Determine if the given address has a symbol associated with it. */ static int objdump_symbol_at_address (bfd_vma vma, struct disassemble_info * info) diff --git a/binutils/po/Make-in b/binutils/po/Make-in index 4ec0ca056a1..be09b4cd788 100644 --- a/binutils/po/Make-in +++ b/binutils/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright 2003 Free Software Foundation, Inc. +# Copyright 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -186,7 +186,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/binutils/po/es.po b/binutils/po/es.po index 17a780c7d66..d706ba413f9 100644 --- a/binutils/po/es.po +++ b/binutils/po/es.po @@ -1,40 +1,42 @@ -# Mensajes en español para binutils 2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para binutils 2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: binutils 2.15.96\n" +"Project-Id-Version: binutils 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:03+1030\n" -"PO-Revision-Date: 2005-03-14 17:11-0600\n" +"POT-Creation-Date: 2005-10-25 09:14+0930\n" +"PO-Revision-Date: 2006-05-27 11:17-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: addr2line.c:73 +#: addr2line.c:76 #, c-format msgid "Usage: %s [option(s)] [addr(s)]\n" msgstr "Modo de empleo: %s [opcion(es)] [direccion(es)]\n" -#: addr2line.c:74 +#: addr2line.c:77 #, c-format msgid " Convert addresses into line number/file name pairs.\n" msgstr " Convierte direcciones en pares de nombre número/fila.\n" -#: addr2line.c:75 +#: addr2line.c:78 #, c-format msgid " If no addresses are specified on the command line, they will be read from stdin\n" msgstr " Si no se especifican direcciones en la línea de órdenes, se leerán de la entrada estándar\n" -#: addr2line.c:76 +#: addr2line.c:79 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -b --target= Set the binary file format\n" " -e --exe= Set the input file name (default is a.out)\n" +" -i --inlines\t\t Unwind inlined functions\n" " -s --basenames Strip directory names\n" " -f --functions Show function names\n" " -C --demangle[=style] Demangle function names\n" @@ -43,9 +45,11 @@ msgid "" "\n" msgstr "" " Las opciones son:\n" +" @ Lee opciones del \n" " -b --target= Establece el formato del fichero binario\n" " -e --exe= Establece el nombre del fichero de entrada\n" " (por defecto es a.out)\n" +" -i --inlines\t\t Desenreda las funciones inline\n" " -s --basenames Elimina los nombres de directorio\n" " -f --functions Muestra los nombres de función\n" " -C --demangle[=estilo] Desenreda los nombres de función\n" @@ -53,210 +57,217 @@ msgstr "" " -v --version Muestra la versión del programa\n" "\n" -#: addr2line.c:88 ar.c:263 coffdump.c:467 nlmconv.c:1110 objcopy.c:478 -#: objcopy.c:512 readelf.c:2631 size.c:99 srconv.c:1731 strings.c:667 -#: sysdump.c:655 windres.c:672 +#: addr2line.c:93 ar.c:263 coffdump.c:466 nlmconv.c:1113 objcopy.c:486 +#: objcopy.c:520 readelf.c:2622 size.c:102 srconv.c:1732 strings.c:725 +#: sysdump.c:648 windres.c:673 #, c-format msgid "Report bugs to %s\n" msgstr "Reportar bichos a %s\n" -#: addr2line.c:241 +#: addr2line.c:253 #, c-format msgid "%s: can not get addresses from archive" msgstr "%s: no se pueden obtener las direcciones del archivo" -#: addr2line.c:311 nm.c:1519 objdump.c:2848 +#: addr2line.c:325 nm.c:1523 objdump.c:3033 #, c-format msgid "unknown demangling style `%s'" msgstr "estilo de desenredo `%s' desconocido" -#: ar.c:205 +#: ar.c:203 #, c-format msgid "no entry %s in archive\n" msgstr "no existe la entrada %s en el archivo\n" -#: ar.c:221 +#: ar.c:219 #, c-format msgid "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n" msgstr "Modo de empleo: %s [opciones emulación] [-]{dmpqrstx}[abcfilNoPsSuvV] [nombre-miembro] [cuenta] fichero-archivo fichero...\n" -#: ar.c:224 +#: ar.c:222 #, c-format msgid " %s -M []\n" -#: ar.c:225 +#: ar.c:223 #, c-format msgid " commands:\n" msgstr " órdenes:\n" -#: ar.c:226 +#: ar.c:224 #, c-format msgid " d - delete file(s) from the archive\n" msgstr " d - borra fichero(s) del archivo\n" -#: ar.c:227 +#: ar.c:225 #, c-format msgid " m[ab] - move file(s) in the archive\n" msgstr " m[ab] - mueve fichero(s) en el archivo\n" -#: ar.c:228 +#: ar.c:226 #, c-format msgid " p - print file(s) found in the archive\n" msgstr " p - muestra fichero(s) encontrados en el archivo\n" -#: ar.c:229 +#: ar.c:227 #, c-format msgid " q[f] - quick append file(s) to the archive\n" msgstr " q[f] - agrega rápidamente fichero(s) al archivo\n" -#: ar.c:230 +#: ar.c:228 #, c-format msgid " r[ab][f][u] - replace existing or insert new file(s) into the archive\n" msgstr " r[ab][f][u] - reemplaza fichero(s) existente(s) o inserta fichero(s) nuevo(s) en el archivo\n" -#: ar.c:231 +#: ar.c:229 #, c-format msgid " t - display contents of archive\n" msgstr " t - muestra los contenidos del archivo\n" -#: ar.c:232 +#: ar.c:230 #, c-format msgid " x[o] - extract file(s) from the archive\n" msgstr " x[o] - extrae fichero(s) del archivo\n" -#: ar.c:233 +#: ar.c:231 #, c-format msgid " command specific modifiers:\n" msgstr " modificadores específicos de la orden:\n" -#: ar.c:234 +#: ar.c:232 #, c-format msgid " [a] - put file(s) after [member-name]\n" msgstr " [a] - coloca fichero(s) despúes de [nombre-miembro]\n" -#: ar.c:235 +#: ar.c:233 #, c-format msgid " [b] - put file(s) before [member-name] (same as [i])\n" msgstr " [b] - coloca fichero(s) antes de [nombre-miembro] (igual que [i])\n" -#: ar.c:236 +#: ar.c:234 #, c-format msgid " [N] - use instance [count] of name\n" msgstr " [N] - usa la instancia [cuenta] del nombre\n" -#: ar.c:237 +#: ar.c:235 #, c-format msgid " [f] - truncate inserted file names\n" msgstr " [f] - trunca los nombres de fichero insertados\n" -#: ar.c:238 +#: ar.c:236 #, c-format msgid " [P] - use full path names when matching\n" msgstr " [P] - utiliza nombres completos de ruta cuando se buscan coincidencias\n" -#: ar.c:239 +#: ar.c:237 #, c-format msgid " [o] - preserve original dates\n" msgstr " [o] - conserva las fechas originales\n" -#: ar.c:240 +#: ar.c:238 #, c-format msgid " [u] - only replace files that are newer than current archive contents\n" msgstr " [u] - sólo reemplaza ficheros que sean más nuevos que el contenido actual del archivo\n" -#: ar.c:241 +#: ar.c:239 #, c-format msgid " generic modifiers:\n" msgstr " modificadores genéricos:\n" -#: ar.c:242 +#: ar.c:240 #, c-format msgid " [c] - do not warn if the library had to be created\n" msgstr " [c] - no avisa si se tiene que crear la biblioteca\n" -#: ar.c:243 +#: ar.c:241 #, c-format msgid " [s] - create an archive index (cf. ranlib)\n" msgstr " [s] - crea un índice del archivo (cf. ranlib)\n" -#: ar.c:244 +#: ar.c:242 #, c-format msgid " [S] - do not build a symbol table\n" msgstr " [S] - no construye una tabla de símbolos\n" -#: ar.c:245 +#: ar.c:243 #, c-format msgid " [v] - be verbose\n" msgstr " [v] - detallado\n" -#: ar.c:246 +#: ar.c:244 #, c-format msgid " [V] - display the version number\n" msgstr " [V] - muestra el número de versión\n" -#: ar.c:253 +#: ar.c:245 +#, c-format +msgid " @ - read options from \n" +msgstr " @ - lee opciones del \n" + +#: ar.c:252 #, c-format msgid "Usage: %s [options] archive\n" msgstr "Modo de empleo: %s [opciones] archivo\n" -#: ar.c:254 +#: ar.c:253 #, c-format msgid " Generate an index to speed access to archives\n" msgstr " Generar un índice para acelerar el acceso a los archivos\n" -#: ar.c:255 +#: ar.c:254 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" " Las opciones son:\n" +" @ Lee opciones del \n" " -h --help Muestra este mensaje de ayuda\n" " -V --version Muestra la información de versión\n" -#: ar.c:483 +#: ar.c:485 msgid "two different operation options specified" msgstr "se especificaron dos opciones de operación diferentes" -#: ar.c:558 +#: ar.c:560 #, c-format msgid "illegal option -- %c" msgstr "opción ilegal -- %c" -#: ar.c:604 +#: ar.c:606 msgid "no operation specified" msgstr "no se especificó una operación" -#: ar.c:607 +#: ar.c:609 msgid "`u' is only meaningful with the `r' option." msgstr "`u' sólo tiene significado con la opción `r'." -#: ar.c:615 +#: ar.c:617 msgid "`N' is only meaningful with the `x' and `d' options." msgstr "`N' sólo tiene significado con las opciones `x' y `d'." -#: ar.c:618 +#: ar.c:620 msgid "Value for `N' must be positive." msgstr "El valor para `N' debe ser positivo." -#: ar.c:668 +#: ar.c:670 #, c-format msgid "internal error -- this option not implemented" msgstr "error interno -- esta opción no está implementada" -#: ar.c:737 +#: ar.c:739 #, c-format msgid "creating %s" msgstr "creando %s" -#: ar.c:786 ar.c:836 ar.c:1154 objcopy.c:1603 +#: ar.c:788 ar.c:838 ar.c:1156 objcopy.c:1683 #, c-format msgid "internal stat error on %s" msgstr "error interno de stat en %s" -#: ar.c:790 +#: ar.c:792 #, c-format msgid "" "\n" @@ -267,37 +278,37 @@ msgstr "" "<%s>\n" "\n" -#: ar.c:806 ar.c:873 +#: ar.c:808 ar.c:875 #, c-format msgid "%s is not a valid archive" msgstr "%s no es un archivo válido" -#: ar.c:841 +#: ar.c:843 #, c-format msgid "stat returns negative size for %s" msgstr "stat devuelve un valor negativo para %s" -#: ar.c:1059 +#: ar.c:1061 #, c-format msgid "No member named `%s'\n" msgstr "No hay un miembro llamado `%s'\n" -#: ar.c:1109 +#: ar.c:1111 #, c-format msgid "no entry %s in archive %s!" msgstr "¡no hay una entrada %s en el archivo %s!" -#: ar.c:1246 +#: ar.c:1248 #, c-format msgid "%s: no archive map to update" msgstr "%s: no hay un mapa de archivo para actualizar" -#: arsup.c:83 +#: arsup.c:87 #, c-format msgid "No entry %s in archive.\n" msgstr "No hay una entrada %s en el archivo.\n" -#: arsup.c:109 +#: arsup.c:112 #, c-format msgid "Can't open file %s\n" msgstr "No se puede abrir el fichero %s\n" @@ -353,95 +364,97 @@ msgid " No emulation specific options\n" msgstr " No hay opciones específicas de la emulación\n" #. Macros for common output. -#: binemul.h:42 +#: binemul.h:40 #, c-format msgid " emulation options: \n" msgstr " opciones de emulación:\n" -#: bucomm.c:109 +#: bucomm.c:110 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "no se puede establecer el objetivo BFD por defecto a `%s': %s" -#: bucomm.c:120 +#: bucomm.c:121 #, c-format msgid "%s: Matching formats:" msgstr "%s: Formatos coincidentes:" -#: bucomm.c:135 +#: bucomm.c:136 #, c-format msgid "Supported targets:" msgstr "Objetivos con soporte:" -#: bucomm.c:137 +#: bucomm.c:138 #, c-format msgid "%s: supported targets:" msgstr "%s: objetivos con soporte:" -#: bucomm.c:153 +#: bucomm.c:154 #, c-format msgid "Supported architectures:" msgstr "Arquitecturas con soporte:" -#: bucomm.c:155 +#: bucomm.c:156 #, c-format msgid "%s: supported architectures:" msgstr "%s: arquitecturas con soporte:" -#: bucomm.c:348 +#: bucomm.c:349 #, c-format msgid "BFD header file version %s\n" msgstr "encabezado del fichero BFD versión %s\n" -#: bucomm.c:449 +#: bucomm.c:450 #, c-format msgid "%s: bad number: %s" msgstr "%s: número erróneo: %s" -#: bucomm.c:466 strings.c:386 +#: bucomm.c:467 strings.c:438 #, c-format msgid "'%s': No such file" msgstr "'%s': No hay tal fichero" -#: bucomm.c:468 strings.c:388 +#: bucomm.c:469 strings.c:440 #, c-format msgid "Warning: could not locate '%s'. reason: %s" msgstr "Aviso: no se puede encontrar '%s'. razón: %s" -#: bucomm.c:472 +#: bucomm.c:473 #, c-format msgid "Warning: '%s' is not an ordinary file" msgstr "Aviso: '%s' no es un fichero ordinario" -#: coffdump.c:105 +#: coffdump.c:103 #, c-format msgid "#lines %d " msgstr "#líneas %d " -#: coffdump.c:459 sysdump.c:648 +#: coffdump.c:457 sysdump.c:641 #, c-format msgid "Usage: %s [option(s)] in-file\n" msgstr "Modo de empleo: %s [opcion(es)] fichero-entrada\n" -#: coffdump.c:460 +#: coffdump.c:458 #, c-format msgid " Print a human readable interpretation of a SYSROFF object file\n" msgstr " Muestra una interpretación legible por humanos de un fichero objeto SYSROFF\n" -#: coffdump.c:461 +#: coffdump.c:459 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" msgstr "" " Las opciones son:\n" +" @ Lee opciones del \n" " -h --help Muestra esta información\n" " -v --version Muestra la versión del programa\n" "\n" -#: coffdump.c:527 srconv.c:1819 sysdump.c:710 +#: coffdump.c:528 srconv.c:1822 sysdump.c:705 msgid "no input file specified" msgstr "no se especificó un fichero de entrada" @@ -538,577 +551,587 @@ msgstr "debug_get_real_type: informaci msgid "debug_write_type: illegal type encountered" msgstr "debug_write_type: se encontró un tipo ilegal" -#: dlltool.c:773 dlltool.c:797 dlltool.c:826 +#: dlltool.c:765 dlltool.c:789 dlltool.c:818 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "Error interno: Tipo de máquina desconocido: %d" -#: dlltool.c:862 +#: dlltool.c:854 #, c-format msgid "Can't open def file: %s" msgstr "No se puede abrir el fichero def: %s" -#: dlltool.c:867 +#: dlltool.c:859 #, c-format msgid "Processing def file: %s" msgstr "Procesando el fichero def: %s" -#: dlltool.c:871 +#: dlltool.c:863 msgid "Processed def file" msgstr "Fichero def procesado" -#: dlltool.c:895 +#: dlltool.c:887 #, c-format msgid "Syntax error in def file %s:%d" msgstr "Error sintáctico en el fichero def %s:%d" -#: dlltool.c:930 +#: dlltool.c:922 #, c-format msgid "%s: Path components stripped from image name, '%s'." msgstr "%s: Se eliminaron los componentes de la ruta del nombre de la imagen, '%s'." -#: dlltool.c:939 +#: dlltool.c:931 #, c-format msgid "NAME: %s base: %x" msgstr "NOMBRE: %s base: %x" -#: dlltool.c:942 dlltool.c:958 +#: dlltool.c:934 dlltool.c:950 msgid "Can't have LIBRARY and NAME" msgstr "No se puede tener BIBLIOTECA y NOMBRE" -#: dlltool.c:955 +#: dlltool.c:947 #, c-format msgid "LIBRARY: %s base: %x" msgstr "BIBLIOTECA: %s base %x" -#: dlltool.c:1191 resrc.c:269 +#: dlltool.c:1183 resrc.c:269 #, c-format msgid "wait: %s" msgstr "espera: %s" -#: dlltool.c:1196 dllwrap.c:418 resrc.c:274 +#: dlltool.c:1188 dllwrap.c:413 resrc.c:274 #, c-format msgid "subprocess got fatal signal %d" msgstr "el subproceso recibió la señal fatal %d" -#: dlltool.c:1202 dllwrap.c:425 resrc.c:281 +#: dlltool.c:1194 dllwrap.c:420 resrc.c:281 #, c-format msgid "%s exited with status %d" msgstr "%s terminó con estado %d" -#: dlltool.c:1233 +#: dlltool.c:1225 #, c-format msgid "Sucking in info from %s section in %s" msgstr "Succionando la información de la sección %s en %s" -#: dlltool.c:1358 +#: dlltool.c:1350 #, c-format msgid "Excluding symbol: %s" msgstr "Excluyendo el símbolo: %s" -#: dlltool.c:1447 dlltool.c:1458 nm.c:998 nm.c:1009 +#: dlltool.c:1439 dlltool.c:1450 nm.c:1000 nm.c:1011 #, c-format msgid "%s: no symbols" msgstr "%s: no hay símbolos" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1484 +#: dlltool.c:1476 #, c-format msgid "Done reading %s" msgstr "%s leído" -#: dlltool.c:1494 +#: dlltool.c:1486 #, c-format msgid "Unable to open object file: %s" msgstr "No se puede abrir el fichero objeto: %s" -#: dlltool.c:1497 +#: dlltool.c:1489 #, c-format msgid "Scanning object file %s" msgstr "Revisando el fichero objeto %s" -#: dlltool.c:1512 +#: dlltool.c:1504 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "No se puede producir una dll mcore-elf del fichero archivo: %s" -#: dlltool.c:1598 +#: dlltool.c:1590 msgid "Adding exports to output file" msgstr "Agregando exportaciones al fichero de salida" -#: dlltool.c:1646 +#: dlltool.c:1638 msgid "Added exports to output file" msgstr "Exportaciones agregadas al fichero de salida" -#: dlltool.c:1767 +#: dlltool.c:1759 #, c-format msgid "Generating export file: %s" msgstr "Generando el fichero de exportación: %s" -#: dlltool.c:1772 +#: dlltool.c:1764 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "No se puede abrir el fichero temporal de ensamblador: %s" -#: dlltool.c:1775 +#: dlltool.c:1767 #, c-format msgid "Opened temporary file: %s" msgstr "Se abrió el fichero temporal: %s" -#: dlltool.c:1997 +#: dlltool.c:1989 msgid "Generated exports file" msgstr "Fichero de exportación generado" -#: dlltool.c:2203 +#: dlltool.c:2195 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "falló bfd_open al abrirl el fichero de cabos: %s" -#: dlltool.c:2206 +#: dlltool.c:2198 #, c-format msgid "Creating stub file: %s" msgstr "Creando el ficheor de cabos: %s" -#: dlltool.c:2588 +#: dlltool.c:2580 #, c-format msgid "failed to open temporary head file: %s" msgstr "falló la apertura del inicio del fichero temporal: %s" -#: dlltool.c:2647 +#: dlltool.c:2639 #, c-format msgid "failed to open temporary tail file: %s" msgstr "falló la apertura del final del fichero temporal: %s" -#: dlltool.c:2714 +#: dlltool.c:2706 #, c-format msgid "Can't open .lib file: %s" msgstr "No se puede abrir el fichero .lib: %s" -#: dlltool.c:2717 +#: dlltool.c:2709 #, c-format msgid "Creating library file: %s" msgstr "Creando el fichero de biblioteca: %s" -#: dlltool.c:2800 dlltool.c:2806 +#: dlltool.c:2792 dlltool.c:2798 #, c-format msgid "cannot delete %s: %s" msgstr "no se puede borrar %s: %s" -#: dlltool.c:2811 +#: dlltool.c:2803 msgid "Created lib file" msgstr "Fichero de biblioteca creado" -#: dlltool.c:2904 +#: dlltool.c:2882 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "Aviso, ignorando las EXPORTaciones duplicadas %s %d,%d" -#: dlltool.c:2910 +#: dlltool.c:2888 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "Error, EXPORTaciones duplicadas con ordinales: %s" -#: dlltool.c:3026 +#: dlltool.c:2993 msgid "Processing definitions" msgstr "Procesando definiciones" -#: dlltool.c:3058 +#: dlltool.c:3025 msgid "Processed definitions" msgstr "Definiciones procesadas" #. xgetext:c-format -#: dlltool.c:3065 dllwrap.c:479 +#: dlltool.c:3032 dllwrap.c:474 #, c-format msgid "Usage %s \n" msgstr "Modo de empleo %s \n" #. xgetext:c-format -#: dlltool.c:3067 +#: dlltool.c:3034 #, c-format msgid " -m --machine Create as DLL for . [default: %s]\n" msgstr " -m --machine Crear una DLL para la . [por defecto: %s]\n" -#: dlltool.c:3068 +#: dlltool.c:3035 #, c-format msgid " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" msgstr " posible: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" -#: dlltool.c:3069 +#: dlltool.c:3036 #, c-format msgid " -e --output-exp Generate an export file.\n" msgstr " -e --output-exp Generar un fichero de exportación.\n" -#: dlltool.c:3070 +#: dlltool.c:3037 #, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr " -l --output-lib Generar un fichero de interfaz.\n" -#: dlltool.c:3071 +#: dlltool.c:3038 #, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr " -a --add-indirect Agregar indirecciones dll al fichero de exportación.\n" -#: dlltool.c:3072 +#: dlltool.c:3039 #, c-format msgid " -D --dllname Name of input dll to put into interface lib.\n" msgstr " -D --dllname Nombre de la dll de entrada a colocar en la biblioteca de interfaz.\n" -#: dlltool.c:3073 +#: dlltool.c:3040 #, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr " -d --input-def Nombre del fichero .def para leer.\n" -#: dlltool.c:3074 +#: dlltool.c:3041 #, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr " -z --output-def Nombre del fichero .def para crear.\n" -#: dlltool.c:3075 +#: dlltool.c:3042 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols Exportar todos los símbolos a un .def\n" -#: dlltool.c:3076 +#: dlltool.c:3043 #, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr " --no-export-all-symbols Sólo exportar los símbolos enlistados\n" -#: dlltool.c:3077 +#: dlltool.c:3044 #, c-format msgid " --exclude-symbols Don't export \n" msgstr " --exclude-symbols No exportar la a\n" -#: dlltool.c:3078 +#: dlltool.c:3045 #, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr " --no-default-excludes Limpiar los símbolos excluídos por defecto\n" -#: dlltool.c:3079 +#: dlltool.c:3046 #, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr " -b --base-file Leer el fichero base generado por el enlazador.\n" -#: dlltool.c:3080 +#: dlltool.c:3047 #, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr " -x --no-idata4 No generar la sección idata$4.\n" -#: dlltool.c:3081 +#: dlltool.c:3048 #, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr " -c --no-idata5 No generar la sección idata$5.\n" -#: dlltool.c:3082 +#: dlltool.c:3049 #, c-format msgid " -U --add-underscore Add underscores to symbols in interface library.\n" msgstr " -U --add-underscore Agregar subrayado a los símbolos en la biblioteca de interfaz.\n" -#: dlltool.c:3083 +#: dlltool.c:3050 #, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr " -k --kill-at Eliminar @ de los nombres exportados.\n" -#: dlltool.c:3084 +#: dlltool.c:3051 #, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr " -A --add-stdcall-alias Agregar aliases sin @.\n" -#: dlltool.c:3085 +#: dlltool.c:3052 #, c-format msgid " -p --ext-prefix-alias Add aliases with .\n" msgstr " -p --ext-prefix-alias Agregar aliases con .\n" -#: dlltool.c:3086 +#: dlltool.c:3053 #, c-format msgid " -S --as Use for assembler.\n" msgstr " -S --as Usar para ensamblador.\n" -#: dlltool.c:3087 +#: dlltool.c:3054 #, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr " -f --as-flags Pasar al ensamblador.\n" -#: dlltool.c:3088 +#: dlltool.c:3055 #, c-format msgid " -C --compat-implib Create backward compatible import library.\n" msgstr " -C --compat-implib Crear biblioteca de importación compatible hacia atrás.\n" -#: dlltool.c:3089 +#: dlltool.c:3056 #, c-format msgid " -n --no-delete Keep temp files (repeat for extra preservation).\n" msgstr " -n --no-delete Conservar los ficheros temporales (repetir para conservación extra).\n" -#: dlltool.c:3090 +#: dlltool.c:3057 #, c-format msgid " -t --temp-prefix Use to construct temp file names.\n" msgstr " -t --temp-prefix Usar el para construir nombres de ficheros temporales.\n" -#: dlltool.c:3091 +#: dlltool.c:3058 #, c-format msgid " -v --verbose Be verbose.\n" msgstr " -v --verbose Detallado.\n" -#: dlltool.c:3092 +#: dlltool.c:3059 #, c-format msgid " -V --version Display the program version.\n" msgstr " -V --version Muestra la versión del programa.\n" -#: dlltool.c:3093 +#: dlltool.c:3060 #, c-format msgid " -h --help Display this information.\n" msgstr " -h --help Muestra esta información.\n" -#: dlltool.c:3095 +#: dlltool.c:3061 +#, c-format +msgid " @ Read options from .\n" +msgstr " @ Lee opciones del .\n" + +#: dlltool.c:3063 #, c-format msgid " -M --mcore-elf Process mcore-elf object files into .\n" msgstr " -M --mcore-elf Procesa los ficheros objeto mcore-elf hacia .\n" -#: dlltool.c:3096 +#: dlltool.c:3064 #, c-format msgid " -L --linker Use as the linker.\n" msgstr " -L --linker Usa como el enlazador.\n" -#: dlltool.c:3097 +#: dlltool.c:3065 #, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr " -F --linker-flags Pasa al enlazador.\n" -#: dlltool.c:3211 +#: dlltool.c:3181 #, c-format msgid "Path components stripped from dllname, '%s'." msgstr "Se eliminaron los componentes de la ruta del nombre de dll, '%s'." -#: dlltool.c:3256 +#: dlltool.c:3226 #, c-format msgid "Unable to open base-file: %s" msgstr "No se puede abrir el fichero-base: %s" -#: dlltool.c:3288 +#: dlltool.c:3258 #, c-format msgid "Machine '%s' not supported" msgstr "La máquina '%s' no tiene soporte" -#: dlltool.c:3392 dllwrap.c:209 +#: dlltool.c:3362 dllwrap.c:204 #, c-format msgid "Tried file: %s" msgstr "Fichero intentado: %s" -#: dlltool.c:3399 dllwrap.c:216 +#: dlltool.c:3369 dllwrap.c:211 #, c-format msgid "Using file: %s" msgstr "Usando el fichero: %s" -#: dllwrap.c:299 +#: dllwrap.c:294 #, c-format msgid "Keeping temporary base file %s" msgstr "Conservando el fichero base temporal %s" -#: dllwrap.c:301 +#: dllwrap.c:296 #, c-format msgid "Deleting temporary base file %s" msgstr "Borrando el fichero base temporal %s" -#: dllwrap.c:315 +#: dllwrap.c:310 #, c-format msgid "Keeping temporary exp file %s" msgstr "Conservando el fichero exp temporal %s" -#: dllwrap.c:317 +#: dllwrap.c:312 #, c-format msgid "Deleting temporary exp file %s" msgstr "Borrando el fichero exp temporal %s" -#: dllwrap.c:330 +#: dllwrap.c:325 #, c-format msgid "Keeping temporary def file %s" msgstr "Conservando el fichero def temporal %s" -#: dllwrap.c:332 +#: dllwrap.c:327 #, c-format msgid "Deleting temporary def file %s" msgstr "Borrando el fichero def temporal %s" -#: dllwrap.c:480 +#: dllwrap.c:475 #, c-format msgid " Generic options:\n" msgstr " Opciones genéricas:\n" -#: dllwrap.c:481 +#: dllwrap.c:476 +#, c-format +msgid " @ Read options from \n" +msgstr " @ Lee opciones del \n" + +#: dllwrap.c:477 #, c-format msgid " --quiet, -q Work quietly\n" msgstr " --quiet, -q Trabajar silenciosamente\n" -#: dllwrap.c:482 +#: dllwrap.c:478 #, c-format msgid " --verbose, -v Verbose\n" msgstr " --verbose, -v Con detalle\n" -#: dllwrap.c:483 +#: dllwrap.c:479 #, c-format msgid " --version Print dllwrap version\n" msgstr " --version Muestra la versión de dllwrap\n" -#: dllwrap.c:484 +#: dllwrap.c:480 #, c-format msgid " --implib Synonym for --output-lib\n" msgstr " --impllib Sinónimo para --output-lib\n" -#: dllwrap.c:485 +#: dllwrap.c:481 #, c-format msgid " Options for %s:\n" msgstr " Opciones para %s:\n" -#: dllwrap.c:486 +#: dllwrap.c:482 #, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr " --driver-name Por defecto es \"gcc\"\n" -#: dllwrap.c:487 +#: dllwrap.c:483 #, c-format msgid " --driver-flags Override default ld flags\n" msgstr " --driver-flags Cambia las opciones por defecto de ld\n" -#: dllwrap.c:488 +#: dllwrap.c:484 #, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr " --dlltool-name Por defecto es \"dlltool\"\n" -#: dllwrap.c:489 +#: dllwrap.c:485 #, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr " --entry Especifica un punto de entrada alternativo para la DLL\n" -#: dllwrap.c:490 +#: dllwrap.c:486 #, c-format msgid " --image-base Specify image base address\n" msgstr " --image-base Especifica la dirección de la imagen base\n" -#: dllwrap.c:491 +#: dllwrap.c:487 #, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr " --target i386-cygwin32 ó i386-mingw32\n" -#: dllwrap.c:492 +#: dllwrap.c:488 #, c-format msgid " --dry-run Show what needs to be run\n" msgstr " --dry-run Muestra lo que se necesita ejecutar\n" -#: dllwrap.c:493 +#: dllwrap.c:489 #, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr " --mno-cygwin Crea una DLL Mingw\n" -#: dllwrap.c:494 +#: dllwrap.c:490 #, c-format msgid " Options passed to DLLTOOL:\n" msgstr " Opciones pasadas a DLLTOOL:\n" -#: dllwrap.c:495 +#: dllwrap.c:491 #, c-format msgid " --machine \n" msgstr " --machine \n" -#: dllwrap.c:496 +#: dllwrap.c:492 #, c-format msgid " --output-exp Generate export file.\n" msgstr " --output-exp Genera un fichero de exportación.\n" # ¿No será acaso una biblioteca de salida? cfuga -#: dllwrap.c:497 +#: dllwrap.c:493 #, c-format msgid " --output-lib Generate input library.\n" msgstr " --output-lib Genera una biblioteca de entrada.\n" -#: dllwrap.c:498 +#: dllwrap.c:494 #, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr " --add-indirect Agrega indirecciones de dll al fichero de exportación.\n" -#: dllwrap.c:499 +#: dllwrap.c:495 #, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr " --dllname Nombre del fichero dll de entrada a colocar en la biblioteca de salida.\n" -#: dllwrap.c:500 +#: dllwrap.c:496 #, c-format msgid " --def Name input .def file\n" msgstr " --def Nombre del fichero .def de entrada\n" -#: dllwrap.c:501 +#: dllwrap.c:497 #, c-format msgid " --output-def Name output .def file\n" msgstr " --output-def Nombre del fichero .def de salida\n" -#: dllwrap.c:502 +#: dllwrap.c:498 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols Exporta todos los símbolos a un .def\n" -#: dllwrap.c:503 +#: dllwrap.c:499 #, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr " --no-export-all-symbols Sólo exporta los símbolos .drectve\n" -#: dllwrap.c:504 +#: dllwrap.c:500 #, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr " --exclude-symbols Excluye la a del .def\n" -#: dllwrap.c:505 +#: dllwrap.c:501 #, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr " --no-default-excludes Elimina los símbolos excluídos por defecto\n" -#: dllwrap.c:506 +#: dllwrap.c:502 #, c-format msgid " --base-file Read linker generated base file\n" msgstr " --base-file Lee el fichero base generado por el enlazador\n" -#: dllwrap.c:507 +#: dllwrap.c:503 #, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr " --no-idata4 No genera la sección idata$4\n" -#: dllwrap.c:508 +#: dllwrap.c:504 #, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr " --no-idata5 No genera la sección idata$5\n" -#: dllwrap.c:509 +#: dllwrap.c:505 #, c-format msgid " -U Add underscores to .lib\n" msgstr " -U Agrega subrayados a .lib\n" -#: dllwrap.c:510 +#: dllwrap.c:506 #, c-format msgid " -k Kill @ from exported names\n" msgstr " -k Elimina @ de los nombres exportados\n" -#: dllwrap.c:511 +#: dllwrap.c:507 #, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr " --add-stdcall-alias Agrega aliases sin @\n" -#: dllwrap.c:512 +#: dllwrap.c:508 #, c-format msgid " --as Use for assembler\n" msgstr " --as Usa como ensamblador\n" -#: dllwrap.c:513 +#: dllwrap.c:509 #, c-format msgid " --nodelete Keep temp files.\n" msgstr " --nodelete Conserva los ficheros temporales.\n" -#: dllwrap.c:514 +#: dllwrap.c:510 #, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr " El resto se pasa sin modificación al controlador del lenguaje\n" -#: dllwrap.c:784 +#: dllwrap.c:782 msgid "Must provide at least one of -o or --dllname options" msgstr "Se debe proveer por lo menos una de las opciones -o ó --dllname" -#: dllwrap.c:813 +#: dllwrap.c:811 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" @@ -1116,3404 +1139,3466 @@ msgstr "" "no se provee un fichero de definición de exportación.\n" "Creando uno, pero tal vez eso no es lo que quiere" -#: dllwrap.c:972 +#: dllwrap.c:970 #, c-format msgid "DLLTOOL name : %s\n" msgstr "nombre DLLTOOL : %s\n" -#: dllwrap.c:973 +#: dllwrap.c:971 #, c-format msgid "DLLTOOL options : %s\n" msgstr "opciones DLLTOOL: %s\n" -#: dllwrap.c:974 +#: dllwrap.c:972 #, c-format msgid "DRIVER name : %s\n" msgstr "nombre DRIVER : %s\n" -#: dllwrap.c:975 +#: dllwrap.c:973 #, c-format msgid "DRIVER options : %s\n" msgstr "opciones DRIVER : %s\n" -#: emul_aix.c:51 +#: dwarf.c:93 dwarf.c:137 readelf.c:322 readelf.c:515 #, c-format -msgid " [-g] - 32 bit small archive\n" -msgstr " [-g] - archivo small de 32 bit\n" +msgid "Unhandled data length: %d\n" +msgstr "Longitud de datos sin manejar: %d\n" -#: emul_aix.c:52 +#: dwarf.c:237 +msgid "badly formed extended line op encountered!\n" +msgstr "¡se encontró un operador extendido de línea mal formado!\n" + +#: dwarf.c:244 #, c-format -msgid " [-X32] - ignores 64 bit objects\n" -msgstr " [-X32] - ignora los objetos de 64 bit\n" +msgid " Extended opcode %d: " +msgstr " Código de operación extendido %d: " -#: emul_aix.c:53 +#: dwarf.c:249 #, c-format -msgid " [-X64] - ignores 32 bit objects\n" -msgstr " [-X64] - ignora los objetos de 32 bit\n" +msgid "" +"End of Sequence\n" +"\n" +msgstr "" +"Fin de la Secuencia\n" +"\n" -#: emul_aix.c:54 +#: dwarf.c:255 #, c-format -msgid " [-X32_64] - accepts 32 and 64 bit objects\n" -msgstr " [-X32_64] -acepta objetos de 32 y 64 bit\n" +msgid "set Address to 0x%lx\n" +msgstr "establecer la Dirección a 0x%lx\n" -#: ieee.c:311 -msgid "unexpected end of debugging information" -msgstr "fin inesperado de la información de depuración" +#: dwarf.c:260 +#, c-format +msgid " define new File Table entry\n" +msgstr " definir la nueva entrada en la Tabla de Ficheros\n" -#: ieee.c:398 -msgid "invalid number" -msgstr "número inválido" +#: dwarf.c:261 dwarf.c:1944 +#, c-format +msgid " Entry\tDir\tTime\tSize\tName\n" +msgstr " Entr\tDir\tHora\tTam\tNombre\n" -#: ieee.c:451 -msgid "invalid string length" -msgstr "longitud de cadena inválida" +#: dwarf.c:263 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: ieee.c:506 ieee.c:547 -msgid "expression stack overflow" -msgstr "desbordamiento de la pila de expresión" +#: dwarf.c:266 dwarf.c:268 dwarf.c:270 dwarf.c:1956 dwarf.c:1958 dwarf.c:1960 +#, c-format +msgid "%lu\t" +msgstr "%lu\t" -#: ieee.c:526 -msgid "unsupported IEEE expression operator" -msgstr "operador de expresión IEEE sin soporte" +#: dwarf.c:271 +#, c-format +msgid "" +"%s\n" +"\n" +msgstr "" +"%s\n" +"\n" -#: ieee.c:541 -msgid "unknown section" -msgstr "sección desconocida" +#: dwarf.c:275 +#, c-format +msgid "UNKNOWN: length %d\n" +msgstr "UNKNOWN: longitud %d\n" -#: ieee.c:562 -msgid "expression stack underflow" -msgstr "desbordamiento por debajo de la pila de expresión" +#: dwarf.c:288 +msgid "" +msgstr "" -#: ieee.c:576 -msgid "expression stack mismatch" -msgstr "no hay coincidencia en la pila de expresión" +#: dwarf.c:294 +#, c-format +msgid "DW_FORM_strp offset too big: %lx\n" +msgstr "desplazamiento DW_FORM_strp demasiado grande: %lx\n" -#: ieee.c:613 -msgid "unknown builtin type" -msgstr "tipo interno desconocido" +#: dwarf.c:295 +msgid "" +msgstr "" -#: ieee.c:758 -msgid "BCD float type not supported" -msgstr "tipo de coma flotante BCD sin soporte" +#: dwarf.c:528 +#, c-format +msgid "Unknown TAG value: %lx" +msgstr "Valor TAG desconocido: %lx" -#: ieee.c:895 -msgid "unexpected number" -msgstr "número inesperado" +#: dwarf.c:564 +#, c-format +msgid "Unknown FORM value: %lx" +msgstr "Valor FORM desconocido: %lx" -#: ieee.c:902 -msgid "unexpected record type" -msgstr "tipo de grabación inesperado" +#: dwarf.c:573 +#, c-format +msgid " %lu byte block: " +msgstr " bloque de bytes %lu: " -#: ieee.c:935 -msgid "blocks left on stack at end" -msgstr "se dejaron bloques en la pila al final" +#: dwarf.c:907 +#, c-format +msgid "(User defined location op)" +msgstr "(Operador de ubicación definido por el usuario)" -#: ieee.c:1198 -msgid "unknown BB type" -msgstr "typo BB desconocido" +#: dwarf.c:909 +#, c-format +msgid "(Unknown location op)" +msgstr "(Operador de ubicación desconocido)" -#: ieee.c:1207 -msgid "stack overflow" -msgstr "desbordamiento de la pila" +#: dwarf.c:955 +msgid "Internal error: DWARF version is not 2 or 3.\n" +msgstr "Error interno: la versión DWARF no es 2 ó 3.\n" -#: ieee.c:1230 -msgid "stack underflow" -msgstr "desbordamiento de la pila por debajo" +#: dwarf.c:1053 +msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" +msgstr "DW_FORM_data8 no tiene soporte cuando sizeof (unsigned long) != 8\n" -#: ieee.c:1342 ieee.c:1412 ieee.c:2109 -msgid "illegal variable index" -msgstr "índice de variable ilegal" +#: dwarf.c:1102 +#, c-format +msgid " (indirect string, offset: 0x%lx): %s" +msgstr " (cadena indirecta, desplazamiento 0x%lx): %s" -#: ieee.c:1390 -msgid "illegal type index" -msgstr "índice de tipo ilegal" - -#: ieee.c:1400 ieee.c:1437 -msgid "unknown TY code" -msgstr "código TY desconocido" +#: dwarf.c:1111 +#, c-format +msgid "Unrecognized form: %lu\n" +msgstr "Form no reconocido: %lu\n" -#: ieee.c:1419 -msgid "undefined variable in TY" -msgstr "variable indefinida en TY" +#: dwarf.c:1196 +#, c-format +msgid "(not inlined)" +msgstr "(no es inlined)" -#. Pascal file name. FIXME. -#: ieee.c:1830 -msgid "Pascal file name not supported" -msgstr "El nombre de fichero Pascal no tiene soporte" +#: dwarf.c:1199 +#, c-format +msgid "(inlined)" +msgstr "(inlined)" -#: ieee.c:1878 -msgid "unsupported qualifier" -msgstr "calificador sin soporte" +#: dwarf.c:1202 +#, c-format +msgid "(declared as inline but ignored)" +msgstr "(declarado como inline pero ignorado)" -#: ieee.c:2147 -msgid "undefined variable in ATN" -msgstr "variable indefinida en ATN" +#: dwarf.c:1205 +#, c-format +msgid "(declared as inline and inlined)" +msgstr "(declarado como inline y es inline)" -#: ieee.c:2190 -msgid "unknown ATN type" -msgstr "tipo ATN desconocido" +#: dwarf.c:1208 +#, c-format +msgid " (Unknown inline attribute value: %lx)" +msgstr " (Valor desconocido de atributo inline: %lx)" -#. Reserved for FORTRAN common. -#: ieee.c:2312 -msgid "unsupported ATN11" -msgstr "ATN11 sin soporte" +#: dwarf.c:1354 dwarf.c:2484 +#, c-format +msgid " [without DW_AT_frame_base]" +msgstr " [sin DW_AT_frame_base]" -#. We have no way to record this information. FIXME. -#: ieee.c:2339 -msgid "unsupported ATN12" -msgstr "ATN12 sin soporte" +#: dwarf.c:1357 +#, c-format +msgid "(location list)" +msgstr "(lista de ubicación)" -#: ieee.c:2399 -msgid "unexpected string in C++ misc" -msgstr "cadena inesperada en misc de C++" +#: dwarf.c:1475 +#, c-format +msgid "Unknown AT value: %lx" +msgstr "Valor AT desconocido: %lx" -#: ieee.c:2412 -msgid "bad misc record" -msgstr "grabación misc errónea" +#: dwarf.c:1544 +#, c-format +msgid "No comp units in %s section ?" +msgstr "¿ No hay unidades de compilación en la sección %s ?" -#: ieee.c:2453 -msgid "unrecognized C++ misc record" -msgstr "grabación misc de C++ no reconocida" +#: dwarf.c:1553 +#, c-format +msgid "Not enough memory for a debug info array of %u entries" +msgstr "No hay suficiente memoria para una matriz de información de depuración de %u entradas" -#: ieee.c:2568 -msgid "undefined C++ object" -msgstr "objeto C++ no definido" +#: dwarf.c:1561 dwarf.c:2573 +#, c-format +msgid "" +"The section %s contains:\n" +"\n" +msgstr "" +"La sección %s contiene:\n" +"\n" -#: ieee.c:2602 -msgid "unrecognized C++ object spec" -msgstr "especificación de objeto C++ no reconocida" +#: dwarf.c:1569 +#, c-format +msgid "Unable to locate %s section!\n" +msgstr "¡No se puede localizar la sección %s!\n" -#: ieee.c:2638 -msgid "unsupported C++ object type" -msgstr "tipo de objeto C++ sin soporte" +#: dwarf.c:1635 +#, c-format +msgid " Compilation Unit @ offset 0x%lx:\n" +msgstr " Unidad de Compilación @ desplazamiento 0x%lx:\n" -#: ieee.c:2648 -msgid "C++ base class not defined" -msgstr "no está definida la clase base de C++" +#: dwarf.c:1636 +#, c-format +msgid " Length: %ld\n" +msgstr " Longitud: %ld\n" -#: ieee.c:2660 ieee.c:2765 -msgid "C++ object has no fields" -msgstr "el objeto C++ no tiene campos" +#: dwarf.c:1637 +#, c-format +msgid " Version: %d\n" +msgstr " Versión: %d\n" -#: ieee.c:2679 -msgid "C++ base class not found in container" -msgstr "no se encuentra la clase base C++ en el contenedor" +#: dwarf.c:1638 +#, c-format +msgid " Abbrev Offset: %ld\n" +msgstr " Desplaz Abrev: %ld\n" -#: ieee.c:2786 -msgid "C++ data member not found in container" -msgstr "no se encuentra los datos miembros C++ en el contenedor" +#: dwarf.c:1639 +#, c-format +msgid " Pointer Size: %d\n" +msgstr " Tamaño de Puntero: %d\n" -#: ieee.c:2827 ieee.c:2977 -msgid "unknown C++ visibility" -msgstr "visibilidad C++ desconocida" +#: dwarf.c:1644 +msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" +msgstr "Sólo la información de depuración DWARF versión 2 y 3 tiene soporte actualmente.\n" -#: ieee.c:2861 -msgid "bad C++ field bit pos or size" -msgstr "posición o tamaño erróneo del campo de bit C++" +#: dwarf.c:1685 +#, c-format +msgid "Unable to locate entry %lu in the abbreviation table\n" +msgstr "No se puede localizar la entrada %lu en la tabla de abreviaciones\n" -#: ieee.c:2953 -msgid "bad type for C++ method function" -msgstr "tipo erróneo para la función del método C++" +#: dwarf.c:1691 +#, c-format +msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" +msgstr " <%d><%lx>: Número de Abrev: %lu (%s)\n" -#: ieee.c:2963 -msgid "no type information for C++ method function" -msgstr "no hay información de tipo para la función del método C++" +#: dwarf.c:1785 +#, c-format +msgid "%s section needs a populated .debug_info section\n" +msgstr "la sección %s necesita una sección .debug_info llena\n" -#: ieee.c:3002 -msgid "C++ static virtual method" -msgstr "método virtual static de C++" +#: dwarf.c:1792 +#, c-format +msgid "%s section has more comp units than .debug_info section\n" +msgstr "la sección %s tiene más unidades de compilación que la sección .debug_info\n" -#: ieee.c:3097 -msgid "unrecognized C++ object overhead spec" -msgstr "especificación de adelanto de objeto C++ no reconocida" +#: dwarf.c:1794 +#, c-format +msgid "" +"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" +"\n" +msgstr "asumiendo que el tamaño del puntero es %d, de la última unidad de compilación en .debug_info\n" -#: ieee.c:3136 -msgid "undefined C++ vtable" -msgstr "vtable C++ no definida" +#: dwarf.c:1819 +#, c-format +msgid "" +"\n" +"Dump of debug contents of section %s:\n" +"\n" +msgstr "" +"\n" +"Volcado del contenido de depuración de la sección %s:\n" +"\n" -#: ieee.c:3205 -msgid "C++ default values not in a function" -msgstr "valores C++ por defecto no están en una función" +#: dwarf.c:1858 +msgid "The line info appears to be corrupt - the section is too small\n" +msgstr "La información de línea parece estar corrupta - esta sección es demasiado pequeña\n" -#: ieee.c:3245 -msgid "unrecognized C++ default type" -msgstr "tipo por defecto de C++ no reconocido" +#: dwarf.c:1867 +msgid "Only DWARF version 2 and 3 line info is currently supported.\n" +msgstr "Solamente la información de línea de DWARF versión 2 y 3 tiene soporte actualmente.\n" -#: ieee.c:3276 -msgid "reference parameter is not a pointer" -msgstr "el parámetro de referencia no es un puntero" +#: dwarf.c:1894 +#, c-format +msgid " Length: %ld\n" +msgstr " Longitud: %ld\n" -#: ieee.c:3359 -msgid "unrecognized C++ reference type" -msgstr "tipo de referencia de C++ no reconocido" +#: dwarf.c:1895 +#, c-format +msgid " DWARF Version: %d\n" +msgstr " Versión DWARF: %d\n" -#: ieee.c:3441 -msgid "C++ reference not found" -msgstr "no se encontró la referencia C++" +#: dwarf.c:1896 +#, c-format +msgid " Prologue Length: %d\n" +msgstr " Longitud del Prólogo: %d\n" -#: ieee.c:3449 -msgid "C++ reference is not pointer" -msgstr "la referencia C++ no es un puntero" +#: dwarf.c:1897 +#, c-format +msgid " Minimum Instruction Length: %d\n" +msgstr " Longitud Mínima Instrucción: %d\n" -#: ieee.c:3475 ieee.c:3483 -msgid "missing required ASN" -msgstr "falta el ASN requerido" +#: dwarf.c:1898 +#, c-format +msgid " Initial value of 'is_stmt': %d\n" +msgstr " Valor inicial de 'is_stmt': %d\n" -#: ieee.c:3510 ieee.c:3518 -msgid "missing required ATN65" -msgstr "falta el ATN65 requerido" +#: dwarf.c:1899 +#, c-format +msgid " Line Base: %d\n" +msgstr " Base Línea: %d\n" -#: ieee.c:3532 -msgid "bad ATN65 record" -msgstr "registro ATN65 erróneo" +#: dwarf.c:1900 +#, c-format +msgid " Line Range: %d\n" +msgstr " Rango Lìnea: %d\n" -#: ieee.c:4160 +#: dwarf.c:1901 #, c-format -msgid "IEEE numeric overflow: 0x" -msgstr "desbordamiento numérico IEEE: 0x" +msgid " Opcode Base: %d\n" +msgstr " Base de Código de Operación: %d\n" -#: ieee.c:4204 +#: dwarf.c:1902 #, c-format -msgid "IEEE string length overflow: %u\n" -msgstr "desbordamiento de longitud de cadena IEEE: %u\n" +msgid " (Pointer size: %u)%s\n" +msgstr " (Tamaño del puntero: %u)%s\n" -#: ieee.c:5203 +#: dwarf.c:1913 #, c-format -msgid "IEEE unsupported integer type size %u\n" -msgstr "tamaño de tipo entero IEEE %u sin soporte\n" +msgid "" +"\n" +" Opcodes:\n" +msgstr "" +"\n" +" Códigos de operación:\n" -#: ieee.c:5237 +#: dwarf.c:1916 #, c-format -msgid "IEEE unsupported float type size %u\n" -msgstr "tamaño de tipo coma flotante IEEE %u sin soporte\n" +msgid " Opcode %d has %d args\n" +msgstr " El código de operación %d tiene %d argumentos\n" -#: ieee.c:5271 +#: dwarf.c:1922 #, c-format -msgid "IEEE unsupported complex type size %u\n" -msgstr "tamaño de tipo complejo IEEE %u sin soporte\n" +msgid "" +"\n" +" The Directory Table is empty.\n" +msgstr "" +"\n" +" La Tabla de Directorios está vacía.\n" -#: nlmconv.c:267 srconv.c:1810 -msgid "input and output files must be different" -msgstr "los ficheros de entrada y salida deben ser diferentes" +#: dwarf.c:1925 +#, c-format +msgid "" +"\n" +" The Directory Table:\n" +msgstr "" +"\n" +" La Tabla de Directorios:\n" -#: nlmconv.c:314 -msgid "input file named both on command line and with INPUT" -msgstr "fichero de entrada nombrado en la línea de comandos y con INPUT" +#: dwarf.c:1929 +#, c-format +msgid " %s\n" +msgstr " %s\n" -#: nlmconv.c:323 -msgid "no input file" -msgstr "no hay fichero de entrada" +#: dwarf.c:1940 +#, c-format +msgid "" +"\n" +" The File Name Table is empty.\n" +msgstr "" +"\n" +" La Tabla de Nombres de Fichero está vacía.\n" -#: nlmconv.c:353 -msgid "no name for output file" -msgstr "no hay nombre para el fichero de salida" +#: dwarf.c:1943 +#, c-format +msgid "" +"\n" +" The File Name Table:\n" +msgstr "" +"\n" +" La Tabla de Nombres de Fichero:\n" -#: nlmconv.c:367 -msgid "warning: input and output formats are not compatible" -msgstr "aviso: los formatos de entrada y salida no son compatibles" +#: dwarf.c:1951 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: nlmconv.c:396 -msgid "make .bss section" -msgstr "hacer sección .bss" +#: dwarf.c:1962 +#, c-format +msgid "%s\n" +msgstr "%s\n" -#: nlmconv.c:405 -msgid "make .nlmsections section" -msgstr "hacer sección .nlmsections" +#. Now display the statements. +#: dwarf.c:1970 +#, c-format +msgid "" +"\n" +" Line Number Statements:\n" +msgstr "" +"\n" +" Declaraciones de Número de Línea:\n" -#: nlmconv.c:407 -msgid "set .nlmsections flags" -msgstr "establecer opciones .nlmsections" +#: dwarf.c:1986 +#, c-format +msgid " Special opcode %d: advance Address by %lu to 0x%lx" +msgstr " código de Operación especial %d: Dirección de avance por %lu a 0x%lx" -#: nlmconv.c:435 -msgid "set .bss vma" -msgstr "establecer vma .bss" +#: dwarf.c:1990 +#, c-format +msgid " and Line by %d to %d\n" +msgstr " y Línea por %d a %d\n" -#: nlmconv.c:442 -msgid "set .data size" -msgstr "establecer tamaño de .data" +#: dwarf.c:1998 +msgid "Extend line ops need a valid pointer size, guessing at 4\n" +msgstr "Los operadores de linea extendida necesitan un tamaño de puntero válido, adivinando en 4\n" -#: nlmconv.c:622 +#: dwarf.c:2007 #, c-format -msgid "warning: symbol %s imported but not in import list" -msgstr "aviso: se importó el símbolo %s pero no está en la lista de importación" +msgid " Copy\n" +msgstr " Copiar\n" -#: nlmconv.c:642 -msgid "set start address" -msgstr "establecer la dirección de inicio" +#: dwarf.c:2015 +#, c-format +msgid " Advance PC by %lu to 0x%lx\n" +msgstr " Avanzar el PC por %lu para %lx\n" -#: nlmconv.c:691 +#: dwarf.c:2023 #, c-format -msgid "warning: START procedure %s not defined" -msgstr "aviso: el procedimiento START %s no está definido" +msgid " Advance Line by %d to %d\n" +msgstr " Línea de Avance por %d para %d\n" -#: nlmconv.c:693 +#: dwarf.c:2030 #, c-format -msgid "warning: EXIT procedure %s not defined" -msgstr "aviso: el procedimiento EXIT %s no está definido" +msgid " Set File Name to entry %d in the File Name Table\n" +msgstr " Establecer el Nombre de Fichero para la entrada %d en la Tabla de Nombres de Fichero\n" -#: nlmconv.c:695 +#: dwarf.c:2038 #, c-format -msgid "warning: CHECK procedure %s not defined" -msgstr "aviso: el procedimiento CHECK %s no está definido" +msgid " Set column to %lu\n" +msgstr " Establecer la columna a %lu\n" -#: nlmconv.c:716 nlmconv.c:905 -msgid "custom section" -msgstr "sección a la medida" +#: dwarf.c:2045 +#, c-format +msgid " Set is_stmt to %d\n" +msgstr " Establecer is_stmt a %d\n" -#: nlmconv.c:737 nlmconv.c:934 -msgid "help section" -msgstr "sección de ayuda" +#: dwarf.c:2050 +#, c-format +msgid " Set basic block\n" +msgstr " Establecer el bloque básico\n" -#: nlmconv.c:759 nlmconv.c:952 -msgid "message section" -msgstr "sección de mensajes" +#: dwarf.c:2058 +#, c-format +msgid " Advance PC by constant %lu to 0x%lx\n" +msgstr " Avanzar el PC por la constante %lu a 0x%lx\n" -#: nlmconv.c:775 nlmconv.c:985 -msgid "module section" -msgstr "sección de módulos" +#: dwarf.c:2066 +#, c-format +msgid " Advance PC by fixed size amount %lu to 0x%lx\n" +msgstr " Avanzar el PC por la cantidad de tamaño fijo %lu a 0x%lx\n" -#: nlmconv.c:795 nlmconv.c:1001 -msgid "rpc section" -msgstr "sección de rpc" +#: dwarf.c:2071 +#, c-format +msgid " Set prologue_end to true\n" +msgstr " Establecer prologue_end a true\n" -#. There is no place to record this information. -#: nlmconv.c:831 +#: dwarf.c:2075 #, c-format -msgid "%s: warning: shared libraries can not have uninitialized data" -msgstr "%s: aviso: las bibliotecas compartidas no pueden tener datos sin iniciar" +msgid " Set epilogue_begin to true\n" +msgstr " Establecer epilogue_begin a true\n" -#: nlmconv.c:852 nlmconv.c:1020 -msgid "shared section" -msgstr "sección compartida" +#: dwarf.c:2081 +#, c-format +msgid " Set ISA to %lu\n" +msgstr " Establecer ISA a %lu\n" -#: nlmconv.c:860 -msgid "warning: No version number given" -msgstr "aviso: No se dió un número de versión" +#: dwarf.c:2085 +#, c-format +msgid " Unknown opcode %d with operands: " +msgstr " Código de operación desconocido %d con los operandos: " -#: nlmconv.c:900 nlmconv.c:929 nlmconv.c:947 nlmconv.c:996 nlmconv.c:1015 +#: dwarf.c:2111 dwarf.c:2197 dwarf.c:2271 dwarf.c:2382 dwarf.c:2514 +#: dwarf.c:2739 #, c-format -msgid "%s: read: %s" -msgstr "%s: leído: %s" +msgid "" +"Contents of the %s section:\n" +"\n" +msgstr "" +"Contenido de la sección %s:\n" +"\n" -#: nlmconv.c:922 -msgid "warning: FULLMAP is not supported; try ld -M" -msgstr "aviso: FULLMAP no tiene soporte; pruebe ld -M" +#: dwarf.c:2151 +msgid "Only DWARF 2 and 3 pubnames are currently supported\n" +msgstr "Actualmente sólo tienen soporte los nombres públicos DWARF 2 y 3\n" -#: nlmconv.c:1098 +#: dwarf.c:2158 #, c-format -msgid "Usage: %s [option(s)] [in-file [out-file]]\n" -msgstr "Modo de empleo: %s [opcion(es)] [fichero-entrada [fichero-salida]]\n" +msgid " Length: %ld\n" +msgstr " Longitud: %ld\n" -#: nlmconv.c:1099 +#: dwarf.c:2160 #, c-format -msgid " Convert an object file into a NetWare Loadable Module\n" -msgstr "Convertir un fichero objeto en un Módulo Cargable de NetWare (NLM)\n" +msgid " Version: %d\n" +msgstr " Versión: %d\n" -#: nlmconv.c:1100 +#: dwarf.c:2162 +#, c-format +msgid " Offset into .debug_info section: %ld\n" +msgstr " Desplazamiento en sección .debug_info: %ld\n" + +#: dwarf.c:2164 +#, c-format +msgid " Size of area in .debug_info section: %ld\n" +msgstr " Tamaño de área en sección .debug_info: %ld\n" + +#: dwarf.c:2167 #, c-format msgid "" -" The options are:\n" -" -I --input-target= Set the input binary file format\n" -" -O --output-target= Set the output binary file format\n" -" -T --header-file= Read for NLM header information\n" -" -l --linker= Use for any linking\n" -" -d --debug Display on stderr the linker command line\n" -" -h --help Display this information\n" -" -v --version Display the program's version\n" +"\n" +" Offset\tName\n" msgstr "" -" Las opciones son:\n" -" -I --input-target= Establece el formato del fichero binario de entrada\n" -" -O --output-target= Establece el formato del fichero binario de salida\n" -" -T --header-file= Lee el para la información del encabezado NLM\n" -" -l --linker= Usa el para cualquier enlazado\n" -" -d --debug Muestra en salida estándar la línea de comando del enlazador\n" -" -h --help Muestra esta información\n" -" -v --version Muestra la versión del programa\n" +"\n" +" Desplazamiento\tNombre\n" -#: nlmconv.c:1140 +#: dwarf.c:2218 #, c-format -msgid "support not compiled in for %s" -msgstr "soporte no compilado para %s" +msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" +msgstr " DW_MACINFO_start_file - numlinea: %d numfichero: %d\n" -#: nlmconv.c:1177 -msgid "make section" -msgstr "sección make" +#: dwarf.c:2224 +#, c-format +msgid " DW_MACINFO_end_file\n" +msgstr " DW_MACINFO_end_file\n" -#: nlmconv.c:1191 -msgid "set section size" -msgstr "establecer el tamaño de la sección" +#: dwarf.c:2232 +#, c-format +msgid " DW_MACINFO_define - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_define - numlinea : %d macro : %s\n" -#: nlmconv.c:1197 -msgid "set section alignment" -msgstr "establecer la alineación de la sección" +#: dwarf.c:2241 +#, c-format +msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_undef - numlinea : %d macro : %s\n" -#: nlmconv.c:1201 -msgid "set section flags" -msgstr "establecer las opciones de la sección" +#: dwarf.c:2253 +#, c-format +msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" +msgstr " DW_MACINFO_vendor_ext - constante : %d cadena : %s\n" -#: nlmconv.c:1212 -msgid "set .nlmsections size" -msgstr "establecer el tamaño de .nlmsections" +#: dwarf.c:2282 +#, c-format +msgid " Number TAG\n" +msgstr " Número TAG\n" -#: nlmconv.c:1293 nlmconv.c:1301 nlmconv.c:1310 nlmconv.c:1315 -msgid "set .nlmsection contents" -msgstr "establecer el contenido de .nlmsection" +#: dwarf.c:2288 +#, c-format +msgid " %ld %s [%s]\n" +msgstr " %ld %s [%s]\n" -#: nlmconv.c:1794 -msgid "stub section sizes" -msgstr "tamaños de la sección de cabos" +#: dwarf.c:2291 +msgid "has children" +msgstr "tiene hijos" -#: nlmconv.c:1841 -msgid "writing stub" -msgstr "escribiendo cabo" +#: dwarf.c:2291 +msgid "no children" +msgstr "sin hijos" -#: nlmconv.c:1925 +#: dwarf.c:2294 #, c-format -msgid "unresolved PC relative reloc against %s" -msgstr "reubicación relativa PC contra %s sin resolver" +msgid " %-18s %s\n" +msgstr " %-18s %s\n" -#: nlmconv.c:1989 +#: dwarf.c:2327 dwarf.c:2510 dwarf.c:2684 #, c-format -msgid "overflow when adjusting relocation against %s" -msgstr "desbordamiento al ajustar la reubicación contra %s" +msgid "" +"\n" +"The %s section is empty.\n" +msgstr "" +"\n" +"La sección %s está vacía.\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2372 +msgid "Location lists in .debug_info section aren't in ascending order!\n" +msgstr "¡Las listas de ubicación en la sección .debug_info no están en orden ascendente!\n" + +#: dwarf.c:2375 +msgid "No location lists in .debug_info section!\n" +msgstr "¡No hay listas de ubicación en la sección .debug_info!\n" -#: nlmconv.c:2116 +#: dwarf.c:2379 #, c-format -msgid "%s: execution of %s failed: " -msgstr "%s: falló la ejecución de %s: " +msgid "Location lists in %s section start at 0x%lx\n" +msgstr "Las listas de ubicación en la sección %s empiezan en 0x%lx\n" -#: nlmconv.c:2131 +#: dwarf.c:2383 #, c-format -msgid "Execution of %s failed" -msgstr "Falló la ejecución de %s" +msgid " Offset Begin End Expression\n" +msgstr " Desplaz Inicio Fin Expresión\n" -#: nm.c:224 size.c:80 strings.c:651 +#: dwarf.c:2414 #, c-format -msgid "Usage: %s [option(s)] [file(s)]\n" -msgstr "Modo de empleo: %s [opcion(es)] [fichero(s)]\n" +msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Hay un agujero [0x%lx - 0x%lx] en la sección .debug_loc.\n" -#: nm.c:225 +#: dwarf.c:2417 #, c-format -msgid " List symbols in [file(s)] (a.out by default).\n" -msgstr "Lista de símbolos en [fichero(s)] (a.out por defecto).\n" +msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Hay un traslape [0x%lx - 0x%lx] en la sección .debug_loc.\n" -#: nm.c:226 +#: dwarf.c:2424 #, c-format -msgid "" -" The options are:\n" -" -a, --debug-syms Display debugger-only symbols\n" -" -A, --print-file-name Print name of the input file before every symbol\n" -" -B Same as --format=bsd\n" -" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" -" The STYLE, if specified, can be `auto' (the default),\n" -" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" --no-demangle Do not demangle low-level symbol names\n" -" -D, --dynamic Display dynamic symbols instead of normal symbols\n" -" --defined-only Display only defined symbols\n" -" -e (ignored)\n" -" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" -" `sysv' or `posix'. The default is `bsd'\n" -" -g, --extern-only Display only external symbols\n" -" -l, --line-numbers Use debugging information to find a filename and\n" -" line number for each symbol\n" -" -n, --numeric-sort Sort symbols numerically by address\n" -" -o Same as -A\n" -" -p, --no-sort Do not sort the symbols\n" -" -P, --portability Same as --format=posix\n" -" -r, --reverse-sort Reverse the sense of the sort\n" -" -S, --print-size Print size of defined symbols\n" -" -s, --print-armap Include index for symbols from archive members\n" -" --size-sort Sort symbols by size\n" -" --special-syms Include special symbols in the output\n" -" --synthetic Display synthetic symbols as well\n" -" -t, --radix=RADIX Use RADIX for printing symbol values\n" -" --target=BFDNAME Specify the target object format as BFDNAME\n" -" -u, --undefined-only Display only undefined symbols\n" -" -X 32_64 (ignored)\n" -" -h, --help Display this information\n" -" -V, --version Display this program's version number\n" -"\n" -msgstr "" -"Las opciones son:\n" -" -a, --debug-syms Muestra símbolos sólo para el depurador\n" -" -A, --print-file-name Muestra el nombre del fichero de entrada antes de\n" -" cada símbolo\n" -" -B Igual que --format=bsd\n" -" -C, --demangle[=ESTILO] Decodifica los nombres de símbolo de bajo nivel en\n" -" nombres de nivel de usuario\n" -" El ESTILO, si se especifica, puede ser `auto'\n" -" (por defecto), `gnu', `lucid', `arm', `hp', `edg',\n" -" `gnu-v3', `java' o `gnat'\n" -" --no-demangle No decodifica los nombres de símbolo de bajo nivel\n" -" -D, --dynamic Muestra los símbolos dinámicos en lugar de los\n" -" símbolos normales\n" -" --defined-only Muestra solamente los símbolos definidos\n" -" -e (ignorado)\n" -" -f, --format=FORMATO Usa el formato de salida FORMATO. FORMATO puede ser\n" -" `bsd', `sysv' o `posix'. Por defecto es `bsd'\n" -" -g, --extern-only Muestra solamente los símbolos externos\n" -" -l, --line-numbers Utiliza la información de depuración para encontrar\n" -" un nombre de fichero y un número de línea para cada\n" -" símbolo\n" -" -n, --numeric-sort Ordena los símbolos numéricamente por dirección\n" -" -o Igual que -A\n" -" -p, --no-sort No ordena los símbolos\n" -" -P, --portability Igual que --format=posix\n" -" -r, --reverse-sort Cambia el sentido de la ordenación\n" -" -S, --print-size Muestra el tamaño de los símbolos definidos\n" -" -s, --print-armap Incluye el índice de los símbolos de miembros\n" -" del archivo\n" -" --size-sort Ordena los símbolos por tamaño\n" -" --special-syms Incluye los símbolos especiales en la salida\n" -" --synthetic Muestra también símbolos sintéticos\n" -" -t, --radix=RADICAL Utiliza el RADICAL para mostrar los valores de\n" -" los símbolos\n" -" --target=NOMBREBFD Especifica el formato de objeto objetivo como\n" -" NOMBREBFD\n" -" -u, --undefined-only Muestra sólo los símbolos indefinidos\n" -" -X 32_64 (ignorado)\n" -" -h, --help Muestra esta información\n" -" -V, --version Muestra el número de versión de este programa\n" -"\n" +msgid "Offset 0x%lx is bigger than .debug_loc section size.\n" +msgstr "El desplazamiento 0x%lx es más grande que el tamaño de la sección .debug_loc.\n" -#: nm.c:262 objdump.c:232 +#: dwarf.c:2433 dwarf.c:2460 dwarf.c:2470 #, c-format -msgid "Report bugs to %s.\n" -msgstr "Reportar bichos a %s.\n" +msgid "Location list starting at offset 0x%lx is not terminated.\n" +msgstr "La lista de reubicación que comienza en el desplazamiento 0x%lx no está terminada.\n" -#: nm.c:294 +#: dwarf.c:2445 dwarf.c:2784 #, c-format -msgid "%s: invalid radix" -msgstr "%s: radical inválido" +msgid " %8.8lx \n" +msgstr " %8.8lx \n" -#: nm.c:318 +#: dwarf.c:2453 #, c-format -msgid "%s: invalid output format" -msgstr "%s: formato de salida inválido" +msgid " %8.8lx %8.8lx %8.8lx (base address)\n" +msgstr " %8.8lx %8.8lx %8.8lx (dirección base)\n" + +#: dwarf.c:2487 dwarf.c:2801 +msgid " (start == end)" +msgstr " (inicio == final)" -#: nm.c:339 readelf.c:6342 readelf.c:6378 +#: dwarf.c:2489 dwarf.c:2803 +msgid " (start > end)" +msgstr " (inicio > final)" + +#: dwarf.c:2618 +msgid "Only DWARF 2 and 3 aranges are currently supported.\n" +msgstr "Sólo los rangos-a de DWARF 2 y 3 tienen soporte actualmente.\n" + +#: dwarf.c:2622 #, c-format -msgid ": %d" -msgstr " %d:" +msgid " Length: %ld\n" +msgstr " Longitud: %ld\n" -#: nm.c:341 readelf.c:6345 readelf.c:6390 +#: dwarf.c:2623 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Version: %d\n" +msgstr " Versión: %d\n" -#: nm.c:343 readelf.c:6347 readelf.c:6393 +#: dwarf.c:2624 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Offset into .debug_info: %lx\n" +msgstr " Desplaz. en .debug_info: %lx\n" -#: nm.c:380 +#: dwarf.c:2625 #, c-format -msgid "" -"\n" -"Archive index:\n" -msgstr "" -"\n" -"Índice del archivo:\n" +msgid " Pointer Size: %d\n" +msgstr " Tamaño del Puntero: %d\n" -#: nm.c:1225 +#: dwarf.c:2626 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s:\n" -"\n" -msgstr "" -"\n" -"\n" -"Símbolos indefinidos de %s:\n" -"\n" +msgid " Segment Size: %d\n" +msgstr " Tamaño del Segmento: %d\n" -#: nm.c:1227 +#: dwarf.c:2628 #, c-format msgid "" "\n" -"\n" -"Symbols from %s:\n" -"\n" +" Address Length\n" msgstr "" "\n" -"\n" -"Símbolos de %s:\n" -"\n" +" Longitud de la Dirección\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2729 +msgid "Range lists in .debug_info section aren't in ascending order!\n" +msgstr "¡Las listas de rango en la sección .debug_info no están en orden ascendente!\n" + +#: dwarf.c:2732 +msgid "No range lists in .debug_info section!\n" +msgstr "¡No hay listas de rango en la sección .debug_info!\n" -#: nm.c:1229 nm.c:1280 +#: dwarf.c:2736 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Nombre Valor Clase Tipo Tamaño Línea Sección\n" -"\n" +msgid "Range lists in %s section start at 0x%lx\n" +msgstr "Las listas de rango en la sección %s inician en 0x%lx\n" -#: nm.c:1232 nm.c:1283 +#: dwarf.c:2740 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Nombre Valor Clase Tipo Tamaño Línea Sección\n" -"\n" +msgid " Offset Begin End\n" +msgstr " Desplaz Inicio Fin\n" -#: nm.c:1276 +#: dwarf.c:2765 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Símbolos indefinidos de %s[%s]:\n" -"\n" +msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n" +msgstr "Hay un agujero [0x%lx - 0x%lx] en la sección %s.\n" -#: nm.c:1278 +#: dwarf.c:2769 #, c-format -msgid "" -"\n" -"\n" -"Symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Símbolos de %s[%s]:\n" -"\n" +msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n" +msgstr "Hay un traslape [0x%lx - 0x%lx] en la sección %s.\n" -#: nm.c:1580 -msgid "Only -X 32_64 is supported" -msgstr "Solamente -X 32_64 tiene soporte" +#: dwarf.c:2964 +#, c-format +msgid "The section %s contains:\n" +msgstr "La sección %s contiene:\n" -#: nm.c:1600 -msgid "Using the --size-sort and --undefined-only options together" -msgstr "Al usar juntas las opciones --size-sort y --undefined-only" +#: dwarf.c:3608 +#, c-format +msgid "unsupported or unknown DW_CFA_%d\n" +msgstr "DW_CFA_%d desconocido o sin soporte\n" -#: nm.c:1601 -msgid "will produce no output, since undefined symbols have no size." -msgstr "no se producirá salida, porque los símbolos indefinidos no tienen tamaño." +#: dwarf.c:3632 +#, c-format +msgid "Displaying the debug contents of section %s is not yet supported.\n" +msgstr "Aún no tiene soporte el mostrar el contenido de depuración de la sección %s.\n" -#: nm.c:1629 +#: dwarf.c:3674 #, c-format -msgid "data size %ld" -msgstr "tamaño de datos %ld" +msgid "%s: Error: " +msgstr "%s: Error: " -#: objcopy.c:396 srconv.c:1721 +#: dwarf.c:3685 #, c-format -msgid "Usage: %s [option(s)] in-file [out-file]\n" -msgstr "Modo de empleo: %s [opcion(es)] fichero-entrada [fichero-salida]\n" +msgid "%s: Warning: " +msgstr "%s: Aviso: " -#: objcopy.c:397 +#: emul_aix.c:51 #, c-format -msgid " Copies a binary file, possibly transforming it in the process\n" -msgstr " Copia un fichero binario, posiblemente transformándolo en el proceso\n" +msgid " [-g] - 32 bit small archive\n" +msgstr " [-g] - archivo small de 32 bit\n" -#: objcopy.c:398 objcopy.c:487 +#: emul_aix.c:52 #, c-format -msgid " The options are:\n" -msgstr " Las opciones son:\n" +msgid " [-X32] - ignores 64 bit objects\n" +msgstr " [-X32] - ignora los objetos de 64 bit\n" -#: objcopy.c:399 +#: emul_aix.c:53 #, c-format -msgid "" -" -I --input-target Assume input file is in format \n" -" -O --output-target Create an output file in format \n" -" -B --binary-architecture Set arch of output file, when input is binary\n" -" -F --target Set both input and output format to \n" -" --debugging Convert debugging information, if possible\n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -j --only-section Only copy section into the output\n" -" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" -" -R --remove-section Remove section from the output\n" -" -S --strip-all Remove all symbol and relocation information\n" -" -g --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" -N --strip-symbol Do not copy symbol \n" -" --strip-unneeded-symbol \n" -" Do not copy symbol unless needed by\n" -" relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -K --keep-symbol Only copy symbol \n" -" -L --localize-symbol Force symbol to be marked as a local\n" -" -G --keep-global-symbol Localize all symbols except \n" -" -W --weaken-symbol Force symbol to be marked as a weak\n" -" --weaken Force all global symbols to be marked as weak\n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -i --interleave Only copy one out of every bytes\n" -" -b --byte Select byte in every interleaved block\n" -" --gap-fill Fill gaps between sections with \n" -" --pad-to Pad the last section up to address \n" -" --set-start Set the start address to \n" -" {--change-start|--adjust-start} \n" -" Add to the start address\n" -" {--change-addresses|--adjust-vma} \n" -" Add to LMA, VMA and start addresses\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Change LMA and VMA of section by \n" -" --change-section-lma {=|+|-}\n" -" Change the LMA of section by \n" -" --change-section-vma {=|+|-}\n" -" Change the VMA of section by \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" Warn if a named section does not exist\n" -" --set-section-flags =\n" -" Set section 's properties to \n" -" --add-section = Add section found in to output\n" -" --rename-section =[,] Rename section to \n" -" --change-leading-char Force output format's leading character style\n" -" --remove-leading-char Remove leading character from global symbols\n" -" --redefine-sym = Redefine symbol name to \n" -" --redefine-syms --redefine-sym for all symbol pairs \n" -" listed in \n" -" --srec-len Restrict the length of generated Srecords\n" -" --srec-forceS3 Restrict the type of generated Srecords to S3\n" -" --strip-symbols -N for all symbols listed in \n" -" --strip-unneeded-symbols \n" -" --strip-unneeded-symbol for all symbols listed\n" -" in \n" -" --keep-symbols -K for all symbols listed in \n" -" --localize-symbols -L for all symbols listed in \n" -" --keep-global-symbols -G for all symbols listed in \n" -" --weaken-symbols -W for all symbols listed in \n" -" --alt-machine-code Use alternate machine code for output\n" -" --writable-text Mark the output text as writable\n" -" --readonly-text Make the output text write protected\n" -" --pure Mark the output file as demand paged\n" -" --impure Mark the output file as impure\n" -" --prefix-symbols Add to start of every symbol name\n" -" --prefix-sections Add to start of every section name\n" -" --prefix-alloc-sections \n" -" Add to start of every allocatable\n" -" section name\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -msgstr "" -" -I --input-target Asume que el fichero de entrada está en\n" -" el formato \n" -" -O --output-target Crea un fichero de salida en el formato\n" -" \n" -" -B --binary-architecture Establece la arquitectura del fichero de\n" -" salida, cuando la entrada es binaria\n" -" -F --target Establece tanto el formato de salida como\n" -" el de entrada a \n" -" --debugging Convierte la información de depuración, si\n" -" es posible\n" -" -p --preserve-dates Copia las marcas de tiempo de modificación y\n" -" acceso a la salida\n" -" -j --only-section Sólo copiar la sección en la salida\n" -" --add-gnu-debuglink= Agrega la sección de enlazado .gnu_debuglink\n" -" al ero\n" -" -R --remove-section Borra la sección de la salida\n" -" -S --strip-all Borra todos los símbolos y la información de\n" -" reubicación\n" -" -g --strip-debug Borra todos los símbolos y secciones de\n" -" depuración\n" -" --strip-unneeded Borra todos los símbolos innecesarios para\n" -" las reubicaciones\n" -" -N --strip-symbol No copia el símbolo \n" -" --strip-unneeded-symbol \n" -" No copia el símbolo a menos que sea\n" -" necesario para las reubicaciones\n" -" --only-keep-debug Borra todo excepto la información de\n" -" depuración\n" -" -K --keep-symbol Sólo copia el símbolo \n" -" -L --localize-symbol Forza que el símbolo se marque como\n" -" local\n" -" -G --keep-global-symbol Vuelve locales todos los símbolos excepto\n" -" \n" -" -W --weaken-symbol Forza que el símbolo se marque como\n" -" débil\n" -" --weaken Forza que todos los símbolos se marquen como\n" -" débiles\n" -" -w --wildcard Permite comodines en la comparación de\n" -" símbolos\n" -" -x --discard-all Borra todos los símbolos que no son globales\n" -" -X --discard-locals Borra cualquier símbolo generado por el\n" -" compilador\n" -" -i --interleave Sólo copia uno de cada bytes\n" -" -b --byte Selecciona el byte en cada bloque\n" -" espaciado\n" -" --gap-fill Rellena los huecos entre secciones con \n" -" --pad-to Rellena la última sección hasta la dirección \n" -" --set-start Establece la dirección de inicio en\n" -" \n" -" {--change-start|--adjust-start} \n" -" Agrega a la dirección de inicio\n" -" {--change-addresses|--adjust-vma} \n" -" Agrega a las direcciones LMA, VMA y\n" -" la de inicio\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Cambia el LMA y el VMA de la sección\n" -" por \n" -" --change-section-lma {=|+|-}\n" -" Cambia LMA de la sección por \n" -" --change-section-vma {=|+|-}\n" -" Cambia VMA de la sección por \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" Avisar si no existe una sección nombrada\n" -" --set-section-flags =\n" -" Establece las propiedades de la sección\n" -" a \n" -" --add-section =\n" -" Agrega la sección que se encuentra\n" -" en el a la salida\n" -" --rename-section =[,] Renombra la sección a \n" -" --change-leading-char Fuerza el carácter de estilo inicial en\n" -" el formato de salida\n" -" --remove-leading-char Borra el carácter inicial de los símbolos\n" -" globales\n" -" --redefine-sym = Redefine el nombre de símbolo a \n" -" --redefine-syms --redefine-sym para todos los pares de\n" -" símbolos enlistados en el \n" -" --srec-len Restringe la longitud de los Srecords\n" -" generados\n" -" --srec-forceS3 Restringe el tipo de los Srecords generados\n" -" a S3\n" -" --strip-symbols -N para todos los símbolos enlistados en el\n" -" \n" -" --strip-unneeded-symbols \n" -" --strip-unneeded-symbol para todos los\n" -" símbolos enlistados en el \n" -" --keep-symbols -K para todos los símbolos enlistados en el\n" -" \n" -" --localize-symbols -L para todos los símbolos enlistados en el\n" -" \n" -" --keep-global-symbols \n" -" -G para todos los símbolos enlistados en el\n" -" ero\n" -" --weaken-symbols -W para todos los símbolos enlistados en el\n" -" \n" -" --alt-machine-code <índice> Utiliza código máquina alternativo para la\n" -" salida\n" -" --writable-text Marca el texto de salida como modificable\n" -" --readonly-text Marca el texto de salida como protegido\n" -" contra escritura\n" -" --pure Marca el fichero de salida como paginado en\n" -" demanda\n" -" --impure Marca el fichero de salida como impuro --prefix-symbols Agrega al inicio de cada nombre de\n" -" símbolo\n" -" --prefix-sections Agrega al inicio de cada nombre de\n" -" sección\n" -" --prefix-alloc-sections \n" -" Agrega al inicio de cada nombre de\n" -" sección alojable\n" -" -v --verbose Enlista todos los ficheros objeto modificados\n" -" -V --version Muestra el número de versión de este programa\n" -" -h --help Muestra esta salida\n" -" --info Enlista los formatos objeto y arquitecturas\n" -" que se soportan\n" +msgid " [-X64] - ignores 32 bit objects\n" +msgstr " [-X64] - ignora los objetos de 32 bit\n" -#: objcopy.c:485 +#: emul_aix.c:54 #, c-format -msgid "Usage: %s in-file(s)\n" -msgstr "Modo de empleo: %s fichero(s)-entrada\n" +msgid " [-X32_64] - accepts 32 and 64 bit objects\n" +msgstr " [-X32_64] -acepta objetos de 32 y 64 bit\n" -#: objcopy.c:486 -#, c-format -msgid " Removes symbols and sections from files\n" -msgstr " Remueve símbolos y secciones de los ficheros\n" +#: ieee.c:311 +msgid "unexpected end of debugging information" +msgstr "fin inesperado de la información de depuración" -#: objcopy.c:488 -#, c-format -msgid "" -" -I --input-target= Assume input file is in format \n" -" -O --output-target= Create an output file in format \n" -" -F --target= Set both input and output format to \n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -R --remove-section= Remove section from the output\n" -" -s --strip-all Remove all symbol and relocation information\n" -" -g -S -d --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -N --strip-symbol= Do not copy symbol \n" -" -K --keep-symbol= Only copy symbol \n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -" -o Place stripped output into \n" -msgstr "" -" -I --input-target= Asume que el fichero de entrada está en\n" -" el formato \n" -" -O --output-target= Crea un fichero de salida en el formato\n" -" \n" -" -F --target Establece tanto el formato de salida como\n" -" el de entrada a \n" -" -p --preserve-dates Copia las marcas de tiempo de modificación\n" -" y acceso a la salida\n" -" -R --remove-section= Borra la sección de la salida\n" -" -s --strip-all Borra todos los símbolos y la información\n" -" de reubicación\n" -" -g -S --strip-debug Borra todos los símbolos y secciones de\n" -" depuración\n" -" --strip-unneeded Borra todos los símbolos innecesarios para\n" -" las reubicaciones\n" -" --only-keep-debug Borra todo excepto la información de\n" -" depuración\n" -" -N --strip-symbol= No copia el símbolo \n" -" -K --keep-symbol= Sólo copia el símbolo \n" -" -w --wildcard Permite comodines en la comparación de\n" -" símbolos\n" -" -x --discard-all Borra todos los símbolos que no son globales\n" -" -X --discard-locals Borra cualquier símbolo generado por\n" -" el compilador\n" -" -v --verbose Enlista todos los ficheros objeto modificados\n" -" -V --version Muestra el número de versión de este programa\n" -" -h --help Muestra esta salida\n" -" --info Muestra los formatos objeto y arquitecturas\n" -" soportados -o Coloca la salida limpia en el \n" +#: ieee.c:398 +msgid "invalid number" +msgstr "número inválido" -#: objcopy.c:560 -#, c-format -msgid "unrecognized section flag `%s'" -msgstr "opción de sección `%s' desconocida" +#: ieee.c:451 +msgid "invalid string length" +msgstr "longitud de cadena inválida" -#: objcopy.c:561 -#, c-format -msgid "supported flags: %s" -msgstr "opciones con soporte: %s" +#: ieee.c:506 ieee.c:547 +msgid "expression stack overflow" +msgstr "desbordamiento de la pila de expresión" -#: objcopy.c:638 -#, c-format -msgid "cannot open '%s': %s" -msgstr "no se puede abrir '%s': %s" +#: ieee.c:526 +msgid "unsupported IEEE expression operator" +msgstr "operador de expresión IEEE sin soporte" -#: objcopy.c:641 objcopy.c:2629 -#, c-format -msgid "%s: fread failed" -msgstr "%s: fread falló" +#: ieee.c:541 +msgid "unknown section" +msgstr "sección desconocida" -#: objcopy.c:714 -#, c-format -msgid "%s:%d: Ignoring rubbish found on this line" -msgstr "%s:%d: Se ignora la basura encontrada en esta línea" +#: ieee.c:562 +msgid "expression stack underflow" +msgstr "desbordamiento por debajo de la pila de expresión" -#: objcopy.c:976 -#, c-format -msgid "%s: Multiple redefinition of symbol \"%s\"" -msgstr "%s: Redefiniciones múltiples del símbolo \"%s\"" +#: ieee.c:576 +msgid "expression stack mismatch" +msgstr "no hay coincidencia en la pila de expresión" -#: objcopy.c:980 -#, c-format -msgid "%s: Symbol \"%s\" is target of more than one redefinition" -msgstr "%s: El símbolo \"%s\" es objetivo de más de una redefinición" +#: ieee.c:613 +msgid "unknown builtin type" +msgstr "tipo interno desconocido" -#: objcopy.c:1008 -#, c-format -msgid "couldn't open symbol redefinition file %s (error: %s)" -msgstr "no se puede abrir el fichero de redefinición de símbolos %s (error: %s)" +#: ieee.c:758 +msgid "BCD float type not supported" +msgstr "tipo de coma flotante BCD sin soporte" -#: objcopy.c:1086 -#, c-format -msgid "%s:%d: garbage found at end of line" -msgstr "%s:%d: se encontró basura al final de la línea" +#: ieee.c:895 +msgid "unexpected number" +msgstr "número inesperado" -#: objcopy.c:1089 -#, c-format -msgid "%s:%d: missing new symbol name" -msgstr "%s:%d: falta el nombre del símbolo nuevo" +#: ieee.c:902 +msgid "unexpected record type" +msgstr "tipo de grabación inesperado" -#: objcopy.c:1099 -#, c-format -msgid "%s:%d: premature end of file" -msgstr "%s:%d: fin de fichero prematuro" +#: ieee.c:935 +msgid "blocks left on stack at end" +msgstr "se dejaron bloques en la pila al final" -#: objcopy.c:1124 -msgid "Unable to change endianness of input file(s)" -msgstr "No se puede cambiar la endianez del (los) fichero(s) de entrada" +#: ieee.c:1198 +msgid "unknown BB type" +msgstr "typo BB desconocido" -#: objcopy.c:1133 -#, c-format -msgid "copy from %s(%s) to %s(%s)\n" -msgstr "copiar de %s(%s) a %s(%s)\n" +#: ieee.c:1207 +msgid "stack overflow" +msgstr "desbordamiento de la pila" -#: objcopy.c:1170 -#, c-format -msgid "Unable to recognise the format of the input file %s" -msgstr "No se puede reconocer el formato del fichero de entrada %s" +#: ieee.c:1230 +msgid "stack underflow" +msgstr "desbordamiento de la pila por debajo" -#: objcopy.c:1174 -#, c-format -msgid "Warning: Output file cannot represent architecture %s" -msgstr "Aviso: El fichero de salida no puede representar a la arquitectura %s" +#: ieee.c:1342 ieee.c:1412 ieee.c:2109 +msgid "illegal variable index" +msgstr "índice de variable ilegal" -#: objcopy.c:1211 -#, c-format -msgid "can't create section `%s': %s" -msgstr "no se puede crear la sección `%s' %s" +#: ieee.c:1390 +msgid "illegal type index" +msgstr "índice de tipo ilegal" -#: objcopy.c:1277 -msgid "there are no sections to be copied!" -msgstr "¡no hay secciones para copiar!" +#: ieee.c:1400 ieee.c:1437 +msgid "unknown TY code" +msgstr "código TY desconocido" -#: objcopy.c:1323 -#, c-format -msgid "Can't fill gap after %s: %s" -msgstr "No se puede llenar el espacio después de %s: %s" +#: ieee.c:1419 +msgid "undefined variable in TY" +msgstr "variable indefinida en TY" -#: objcopy.c:1348 -#, c-format -msgid "Can't add padding to %s: %s" -msgstr "No se puede agregar relleno a %s: %s" +#. Pascal file name. FIXME. +#: ieee.c:1830 +msgid "Pascal file name not supported" +msgstr "El nombre de fichero Pascal no tiene soporte" -#: objcopy.c:1514 -#, c-format -msgid "%s: error copying private BFD data: %s" -msgstr "%s: error al copiar los datos privados BFD: %s" +#: ieee.c:1878 +msgid "unsupported qualifier" +msgstr "calificador sin soporte" -#: objcopy.c:1525 -msgid "unknown alternate machine code, ignored" -msgstr "código máquina alternativo desconocido, ignorado" +#: ieee.c:2147 +msgid "undefined variable in ATN" +msgstr "variable indefinida en ATN" -#: objcopy.c:1555 objcopy.c:1585 -#, c-format -msgid "cannot mkdir %s for archive copying (error: %s)" -msgstr "no se puede crear el directorio %s para copiar el archivo (error: %s)" +#: ieee.c:2190 +msgid "unknown ATN type" +msgstr "tipo ATN desconocido" -#: objcopy.c:1790 -#, c-format -msgid "Multiple renames of section %s" -msgstr "Renombrado múltiple de la sección %s" +#. Reserved for FORTRAN common. +#: ieee.c:2312 +msgid "unsupported ATN11" +msgstr "ATN11 sin soporte" -#: objcopy.c:1841 -msgid "private header data" -msgstr "datos de encabezado privado" +#. We have no way to record this information. FIXME. +#: ieee.c:2339 +msgid "unsupported ATN12" +msgstr "ATN12 sin soporte" -#: objcopy.c:1849 -#, c-format -msgid "%s: error in %s: %s" -msgstr "%s: error en %s: %s" +#: ieee.c:2399 +msgid "unexpected string in C++ misc" +msgstr "cadena inesperada en misc de C++" -#: objcopy.c:1903 -msgid "making" -msgstr "haciendo" +#: ieee.c:2412 +msgid "bad misc record" +msgstr "grabación misc errónea" -#: objcopy.c:1912 -msgid "size" -msgstr "tamaño" +#: ieee.c:2453 +msgid "unrecognized C++ misc record" +msgstr "grabación misc de C++ no reconocida" -#: objcopy.c:1926 -msgid "vma" -msgstr "vma" +#: ieee.c:2568 +msgid "undefined C++ object" +msgstr "objeto C++ no definido" -#: objcopy.c:1951 -msgid "alignment" -msgstr "alineación" +#: ieee.c:2602 +msgid "unrecognized C++ object spec" +msgstr "especificación de objeto C++ no reconocida" -#: objcopy.c:1966 -msgid "flags" -msgstr "opciones" +#: ieee.c:2638 +msgid "unsupported C++ object type" +msgstr "tipo de objeto C++ sin soporte" -#: objcopy.c:1988 -msgid "private data" -msgstr "datos privados" +#: ieee.c:2648 +msgid "C++ base class not defined" +msgstr "no está definida la clase base de C++" -#: objcopy.c:1996 -#, c-format -msgid "%s: section `%s': error in %s: %s" -msgstr "%s: sección `%s': error en %s: %s" +#: ieee.c:2660 ieee.c:2765 +msgid "C++ object has no fields" +msgstr "el objeto C++ no tiene campos" -#: objcopy.c:2274 -#, c-format -msgid "%s: can't create debugging section: %s" -msgstr "%s: no se puede crear la sección de depuración: %s" +#: ieee.c:2679 +msgid "C++ base class not found in container" +msgstr "no se encuentra la clase base C++ en el contenedor" -#: objcopy.c:2288 -#, c-format -msgid "%s: can't set debugging section contents: %s" -msgstr "%s: no se puede establecer el contenido de la sección de depuración: %s" +#: ieee.c:2786 +msgid "C++ data member not found in container" +msgstr "no se encuentra los datos miembros C++ en el contenedor" -#: objcopy.c:2297 -#, c-format -msgid "%s: don't know how to write debugging information for %s" -msgstr "%s: se ignora cómo escribir la información de depuración para %s" +#: ieee.c:2827 ieee.c:2977 +msgid "unknown C++ visibility" +msgstr "visibilidad C++ desconocida" -#: objcopy.c:2472 -msgid "byte number must be non-negative" -msgstr "el número de bytes no debe ser negativo" +#: ieee.c:2861 +msgid "bad C++ field bit pos or size" +msgstr "posición o tamaño erróneo del campo de bit C++" -#: objcopy.c:2482 -msgid "interleave must be positive" -msgstr "el espacio debe ser positivo" +#: ieee.c:2953 +msgid "bad type for C++ method function" +msgstr "tipo erróneo para la función del método C++" -#: objcopy.c:2502 objcopy.c:2510 -#, c-format -msgid "%s both copied and removed" -msgstr "%s copiado y borrado" +#: ieee.c:2963 +msgid "no type information for C++ method function" +msgstr "no hay información de tipo para la función del método C++" -#: objcopy.c:2603 objcopy.c:2674 objcopy.c:2774 objcopy.c:2805 objcopy.c:2829 -#: objcopy.c:2833 objcopy.c:2853 -#, c-format -msgid "bad format for %s" -msgstr "formato erróneo para %s" +#: ieee.c:3002 +msgid "C++ static virtual method" +msgstr "método virtual static de C++" -#: objcopy.c:2624 -#, c-format -msgid "cannot open: %s: %s" -msgstr "no se puede abrir: %s: %s" +#: ieee.c:3097 +msgid "unrecognized C++ object overhead spec" +msgstr "especificación de adelanto de objeto C++ no reconocida" -#: objcopy.c:2743 -#, c-format -msgid "Warning: truncating gap-fill from 0x%s to 0x%x" -msgstr "Aviso: truncando el relleno de espacio de 0x%s a 0x%x" +#: ieee.c:3136 +msgid "undefined C++ vtable" +msgstr "vtable C++ no definida" -#: objcopy.c:2903 -msgid "alternate machine code index must be positive" -msgstr "el índice de código máquina alternativo debe ser positivo" +#: ieee.c:3205 +msgid "C++ default values not in a function" +msgstr "valores C++ por defecto no están en una función" -#: objcopy.c:2961 -msgid "byte number must be less than interleave" -msgstr "el número de bytes debe ser menor al espacio" +#: ieee.c:3245 +msgid "unrecognized C++ default type" +msgstr "tipo por defecto de C++ no reconocido" -#: objcopy.c:2991 -#, c-format -msgid "architecture %s unknown" -msgstr "arquitectura %s desconocida" +#: ieee.c:3276 +msgid "reference parameter is not a pointer" +msgstr "el parámetro de referencia no es un puntero" -#: objcopy.c:2995 -msgid "Warning: input target 'binary' required for binary architecture parameter." -msgstr "Aviso: se requiere el objetivo de entrada 'binary' para el parámeto binario de arquitectura." +#: ieee.c:3359 +msgid "unrecognized C++ reference type" +msgstr "tipo de referencia de C++ no reconocido" + +#: ieee.c:3441 +msgid "C++ reference not found" +msgstr "no se encontró la referencia C++" + +#: ieee.c:3449 +msgid "C++ reference is not pointer" +msgstr "la referencia C++ no es un puntero" + +#: ieee.c:3475 ieee.c:3483 +msgid "missing required ASN" +msgstr "falta el ASN requerido" + +#: ieee.c:3510 ieee.c:3518 +msgid "missing required ATN65" +msgstr "falta el ATN65 requerido" + +#: ieee.c:3532 +msgid "bad ATN65 record" +msgstr "registro ATN65 erróneo" -#: objcopy.c:2996 +#: ieee.c:4160 #, c-format -msgid " Argument %s ignored" -msgstr " Se ignora el argumento %s" +msgid "IEEE numeric overflow: 0x" +msgstr "desbordamiento numérico IEEE: 0x" -#: objcopy.c:3002 +#: ieee.c:4204 #, c-format -msgid "warning: could not locate '%s'. System error message: %s" -msgstr "aviso: no se puede encontrar '%s'. Mensaje de error del sistema: %s" +msgid "IEEE string length overflow: %u\n" +msgstr "desbordamiento de longitud de cadena IEEE: %u\n" -#: objcopy.c:3042 objcopy.c:3056 +#: ieee.c:5203 #, c-format -msgid "%s %s%c0x%s never used" -msgstr "%s nunca se usa %s%c0x%s" +msgid "IEEE unsupported integer type size %u\n" +msgstr "tamaño de tipo entero IEEE %u sin soporte\n" -#: objdump.c:176 +#: ieee.c:5237 #, c-format -msgid "Usage: %s \n" -msgstr "Modo de empleo: %s \n" +msgid "IEEE unsupported float type size %u\n" +msgstr "tamaño de tipo coma flotante IEEE %u sin soporte\n" -#: objdump.c:177 +#: ieee.c:5271 #, c-format -msgid " Display information from object .\n" -msgstr "Muestra la información de objeto.\n" +msgid "IEEE unsupported complex type size %u\n" +msgstr "tamaño de tipo complejo IEEE %u sin soporte\n" -#: objdump.c:178 +#: nlmconv.c:269 srconv.c:1813 +msgid "input and output files must be different" +msgstr "los ficheros de entrada y salida deben ser diferentes" + +#: nlmconv.c:316 +msgid "input file named both on command line and with INPUT" +msgstr "fichero de entrada nombrado en la línea de comandos y con INPUT" + +#: nlmconv.c:325 +msgid "no input file" +msgstr "no hay fichero de entrada" + +#: nlmconv.c:355 +msgid "no name for output file" +msgstr "no hay nombre para el fichero de salida" + +#: nlmconv.c:369 +msgid "warning: input and output formats are not compatible" +msgstr "aviso: los formatos de entrada y salida no son compatibles" + +#: nlmconv.c:398 +msgid "make .bss section" +msgstr "hacer sección .bss" + +#: nlmconv.c:407 +msgid "make .nlmsections section" +msgstr "hacer sección .nlmsections" + +#: nlmconv.c:409 +msgid "set .nlmsections flags" +msgstr "establecer opciones .nlmsections" + +#: nlmconv.c:437 +msgid "set .bss vma" +msgstr "establecer vma .bss" + +#: nlmconv.c:444 +msgid "set .data size" +msgstr "establecer tamaño de .data" + +#: nlmconv.c:624 #, c-format -msgid " At least one of the following switches must be given:\n" -msgstr "Por lo menos se requiere una de los siguientes opciones:\n" +msgid "warning: symbol %s imported but not in import list" +msgstr "aviso: se importó el símbolo %s pero no está en la lista de importación" -#: objdump.c:179 +#: nlmconv.c:644 +msgid "set start address" +msgstr "establecer la dirección de inicio" + +#: nlmconv.c:693 #, c-format -msgid "" -" -a, --archive-headers Display archive header information\n" -" -f, --file-headers Display the contents of the overall file header\n" -" -p, --private-headers Display object format specific file header contents\n" -" -h, --[section-]headers Display the contents of the section headers\n" -" -x, --all-headers Display the contents of all headers\n" -" -d, --disassemble Display assembler contents of executable sections\n" -" -D, --disassemble-all Display assembler contents of all sections\n" -" -S, --source Intermix source code with disassembly\n" -" -s, --full-contents Display the full contents of all sections requested\n" -" -g, --debugging Display debug information in object file\n" -" -e, --debugging-tags Display debug information using ctags style\n" -" -G, --stabs Display (in raw form) any STABS info in the file\n" -" -t, --syms Display the contents of the symbol table(s)\n" -" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" -" -r, --reloc Display the relocation entries in the file\n" -" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" -" -v, --version Display this program's version number\n" -" -i, --info List object formats and architectures supported\n" -" -H, --help Display this information\n" -msgstr "" -" -a, --archive-headers Muestra información de los encabezados del archivo\n" -" -f, --file-headers Muestra el contenido de todos los encabezados del\n" -" fichero\n" -" -p, --private-headers Muestra el contenido de los encabezados del fichero\n" -" específicos del formato objeto\n" -" -h, --[section-]headers Muestra el contenido de los encabezados de sección\n" -" -x, --all-headers Muestra el contenido de todos los encabezados\n" -" -d, --disassemble Muestra el contenido de ensamblador de las secciones\n" -" ejecutables\n" -" -D, --disassemble-all Muestra el contenido de ensamblador de todas las\n" -" secciones\n" -" -S, --source Intermezclar código fuente con el desensamblado\n" -" -s, --full-contents Muestra el contenido completo de todas las secciones\n" -" requeridas\n" -" -g, --debugging Muestra la información de depuración en el fichero\n" -" objeto\n" -" -e, --debugging-tags Muestra la información de depuración en estilo ctags\n" -" -G, --stabs Muestra (sin formato) cualquier información de STABS\n" -" en el fichero\n" -" -t, --syms Muestra el contenido de la(s) tabla(s) de símbolos\n" -" -T, --dynamic-syms Muestra el contenido de la tabla de símbolos\n" -" dinámicos\n" -" -r, --reloc Muestra las entradas de reubicación en el fichero\n" -" -R, --dynamic-reloc Muestra las entradas de reubicación dinámica en el\n" -" fichero\n" -" -v, --version Muestra el número de versión de este programa\n" -" -i, --info Enlista los formatos objeto y las arquitecturas\n" -" con soporte\n" -" -H, --help Muestra esta información\n" +msgid "warning: START procedure %s not defined" +msgstr "aviso: el procedimiento START %s no está definido" -#: objdump.c:202 +#: nlmconv.c:695 #, c-format -msgid "" -"\n" -" The following switches are optional:\n" -msgstr "" -"\n" -" Los siguientes interruptores son opcionales:\n" +msgid "warning: EXIT procedure %s not defined" +msgstr "aviso: el procedimiento EXIT %s no está definido" -#: objdump.c:203 +#: nlmconv.c:697 #, c-format -msgid "" -" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" -" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" -" -j, --section=NAME Only display information for section NAME\n" -" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" -" -EB --endian=big Assume big endian format when disassembling\n" -" -EL --endian=little Assume little endian format when disassembling\n" -" --file-start-context Include context from start of file (with -S)\n" -" -I, --include=DIR Add DIR to search list for source files\n" -" -l, --line-numbers Include line numbers and filenames in output\n" -" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" -" The STYLE, if specified, can be `auto', `gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" -w, --wide Format output for more than 80 columns\n" -" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" -" --start-address=ADDR Only process data whose address is >= ADDR\n" -" --stop-address=ADDR Only process data whose address is <= ADDR\n" -" --prefix-addresses Print complete address alongside disassembly\n" -" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" -" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" -" --special-syms Include special symbols in symbol dumps\n" -"\n" -msgstr "" -" -b, --target=NOMBREBFD Especifica el formato objeto objetivo\n" -" como NOMBREBFD\n" -" -m, --architecture=MÁQUINA Especifica la arquitectura objetivo\n" -" como MÁQUINA\n" -" -j, --section=NOMBRE Sólo muestra la información de\n" -" la sección NOMBRE\n" -" -M, --disassembler-options=OPT Pasa el texto OPT al desensamblador\n" -" -EB --endian=big Asume el formato big endian al desensamblar\n" -" -EL --endian=little Asume el formato little endian al desensamblar\n" -" --file-start-context Incluye el contexto del inicio del fichero\n" -" (con -S)\n" -" -I, --include=DIR Agrega el DIRectorio a la lista de búsqueda de\n" -" ficheros fuente\n" -" -l, --line-numbers Incluye los números de línea y los nombres de fichero\n" -" en la salida\n" -" -C, --demangle[=ESTILO] Decodifica los nombres de símbolo obtenidos/procesados\n" -" El ESTILO, si se especifica, puede ser `auto', 'gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" o `gnat'\n" -" -w, --wide Da formato a la salida para más de 80 columnas\n" -" -z, --disassemble-zeroes No salta los bloques de ceros al desensamblar\n" -" --start-address=DIR Sólo procesa los datos cuya dirección es\n" -" >= DIR\n" -" --stop-address=DIR Sólo procesa los datos cuya dirección es\n" -" <= DIR\n" -" --prefix-addresses Muestra las direcciones completas a lo largo\n" -" del desensamblado\n" -" --[no-]show-raw-insn Muestra en hexadecimal a lo largo\n" -" del desensamblado simbólico\n" -" --adjust-vma=DESPL Agrega el DESPLazamiento a todas las direcciones\n" -" mostradas de sección\n" -" --special-syms Incluye símbolos especiales en los volcados de\n" -" símbolos\n" +msgid "warning: CHECK procedure %s not defined" +msgstr "aviso: el procedimiento CHECK %s no está definido" -#: objdump.c:378 -#, c-format -msgid "Sections:\n" -msgstr "Secciones:\n" +#: nlmconv.c:718 nlmconv.c:907 +msgid "custom section" +msgstr "sección a la medida" -#: objdump.c:381 objdump.c:385 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" +#: nlmconv.c:739 nlmconv.c:936 +msgid "help section" +msgstr "sección de ayuda" -#: objdump.c:387 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" +#: nlmconv.c:761 nlmconv.c:954 +msgid "message section" +msgstr "sección de mensajes" -#: objdump.c:391 -#, c-format -msgid " Flags" -msgstr " Opciones" +#: nlmconv.c:777 nlmconv.c:987 +msgid "module section" +msgstr "sección de módulos" -#: objdump.c:393 -#, c-format -msgid " Pg" -msgstr " Pg" +#: nlmconv.c:797 nlmconv.c:1003 +msgid "rpc section" +msgstr "sección de rpc" -#: objdump.c:436 +#. There is no place to record this information. +#: nlmconv.c:833 #, c-format -msgid "%s: not a dynamic object" -msgstr "%s: no es un objeto dinámico" +msgid "%s: warning: shared libraries can not have uninitialized data" +msgstr "%s: aviso: las bibliotecas compartidas no pueden tener datos sin iniciar" -#: objdump.c:1722 -#, c-format -msgid "Disassembly of section %s:\n" -msgstr "Desensamblado de la sección %s:\n" +#: nlmconv.c:854 nlmconv.c:1022 +msgid "shared section" +msgstr "sección compartida" -#: objdump.c:1884 -#, c-format -msgid "Can't use supplied machine %s" -msgstr "No se puede utilizar la máquina %s proporcionada" +#: nlmconv.c:862 +msgid "warning: No version number given" +msgstr "aviso: No se dió un número de versión" -#: objdump.c:1903 +#: nlmconv.c:902 nlmconv.c:931 nlmconv.c:949 nlmconv.c:998 nlmconv.c:1017 #, c-format -msgid "Can't disassemble for architecture %s\n" -msgstr "No se puede desensamblar para la arquitectura %s\n" +msgid "%s: read: %s" +msgstr "%s: leído: %s" + +#: nlmconv.c:924 +msgid "warning: FULLMAP is not supported; try ld -M" +msgstr "aviso: FULLMAP no tiene soporte; pruebe ld -M" -#: objdump.c:1973 +#: nlmconv.c:1100 #, c-format -msgid "" -"No %s section present\n" -"\n" -msgstr "" -"No está presente la sección %s\n" -"\n" +msgid "Usage: %s [option(s)] [in-file [out-file]]\n" +msgstr "Modo de empleo: %s [opcion(es)] [fichero-entrada [fichero-salida]]\n" -#: objdump.c:1982 +#: nlmconv.c:1101 #, c-format -msgid "Reading %s section of %s failed: %s" -msgstr "Falló al leer la sección %s de %s: %s" +msgid " Convert an object file into a NetWare Loadable Module\n" +msgstr "Convertir un fichero objeto en un Módulo Cargable de NetWare (NLM)\n" -#: objdump.c:2026 +#: nlmconv.c:1102 #, c-format msgid "" -"Contents of %s section:\n" -"\n" +" The options are:\n" +" -I --input-target= Set the input binary file format\n" +" -O --output-target= Set the output binary file format\n" +" -T --header-file= Read for NLM header information\n" +" -l --linker= Use for any linking\n" +" -d --debug Display on stderr the linker command line\n" +" @ Read options from .\n" +" -h --help Display this information\n" +" -v --version Display the program's version\n" msgstr "" -"Contenido de la sección %s:\n" -"\n" +" Las opciones son:\n" +" -I --input-target= Establece el formato del fichero binario de entrada\n" +" -O --output-target= Establece el formato del fichero binario de salida\n" +" -T --header-file= Lee el para la información del encabezado NLM\n" +" -l --linker= Usa el para cualquier enlazado\n" +" -d --debug Muestra en salida estándar la línea de comando del enlazador\n" +" @ Lee opciones del .\n" +" -h --help Muestra esta información\n" +" -v --version Muestra la versión del programa\n" -#: objdump.c:2153 +#: nlmconv.c:1143 #, c-format -msgid "architecture: %s, " -msgstr "arquitectura: %s, " +msgid "support not compiled in for %s" +msgstr "soporte no compilado para %s" + +#: nlmconv.c:1180 +msgid "make section" +msgstr "sección make" + +#: nlmconv.c:1194 +msgid "set section size" +msgstr "establecer el tamaño de la sección" + +#: nlmconv.c:1200 +msgid "set section alignment" +msgstr "establecer la alineación de la sección" + +#: nlmconv.c:1204 +msgid "set section flags" +msgstr "establecer las opciones de la sección" + +#: nlmconv.c:1215 +msgid "set .nlmsections size" +msgstr "establecer el tamaño de .nlmsections" + +#: nlmconv.c:1296 nlmconv.c:1304 nlmconv.c:1313 nlmconv.c:1318 +msgid "set .nlmsection contents" +msgstr "establecer el contenido de .nlmsection" + +#: nlmconv.c:1797 +msgid "stub section sizes" +msgstr "tamaños de la sección de cabos" + +#: nlmconv.c:1844 +msgid "writing stub" +msgstr "escribiendo cabo" -#: objdump.c:2156 +#: nlmconv.c:1928 #, c-format -msgid "flags 0x%08x:\n" -msgstr "opciones 0x%08x:\n" +msgid "unresolved PC relative reloc against %s" +msgstr "reubicación relativa PC contra %s sin resolver" -#: objdump.c:2170 +#: nlmconv.c:1992 #, c-format -msgid "" -"\n" -"start address 0x" -msgstr "" -"\n" -"dirección de inicio 0x" +msgid "overflow when adjusting relocation against %s" +msgstr "desbordamiento al ajustar la reubicación contra %s" -#: objdump.c:2210 +#: nlmconv.c:2119 #, c-format -msgid "Contents of section %s:\n" -msgstr "Contenido de la sección %s:\n" +msgid "%s: execution of %s failed: " +msgstr "%s: falló la ejecución de %s: " -#: objdump.c:2335 +#: nlmconv.c:2134 #, c-format -msgid "no symbols\n" -msgstr "no hay símbolos\n" +msgid "Execution of %s failed" +msgstr "Falló la ejecución de %s" -#: objdump.c:2342 +#: nm.c:224 size.c:82 strings.c:708 #, c-format -msgid "no information for symbol number %ld\n" -msgstr "no hay información para el símbolo número %ld\n" +msgid "Usage: %s [option(s)] [file(s)]\n" +msgstr "Modo de empleo: %s [opcion(es)] [fichero(s)]\n" -#: objdump.c:2345 +#: nm.c:225 #, c-format -msgid "could not determine the type of symbol number %ld\n" -msgstr "no se puede determinar el tipo del símbolo número %ld\n" +msgid " List symbols in [file(s)] (a.out by default).\n" +msgstr "Lista de símbolos en [fichero(s)] (a.out por defecto).\n" -#: objdump.c:2611 +#: nm.c:226 #, c-format msgid "" -"\n" -"%s: file format %s\n" +" The options are:\n" +" -a, --debug-syms Display debugger-only symbols\n" +" -A, --print-file-name Print name of the input file before every symbol\n" +" -B Same as --format=bsd\n" +" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" +" The STYLE, if specified, can be `auto' (the default),\n" +" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" --no-demangle Do not demangle low-level symbol names\n" +" -D, --dynamic Display dynamic symbols instead of normal symbols\n" +" --defined-only Display only defined symbols\n" +" -e (ignored)\n" +" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" +" `sysv' or `posix'. The default is `bsd'\n" +" -g, --extern-only Display only external symbols\n" +" -l, --line-numbers Use debugging information to find a filename and\n" +" line number for each symbol\n" +" -n, --numeric-sort Sort symbols numerically by address\n" +" -o Same as -A\n" +" -p, --no-sort Do not sort the symbols\n" +" -P, --portability Same as --format=posix\n" +" -r, --reverse-sort Reverse the sense of the sort\n" +" -S, --print-size Print size of defined symbols\n" +" -s, --print-armap Include index for symbols from archive members\n" +" --size-sort Sort symbols by size\n" +" --special-syms Include special symbols in the output\n" +" --synthetic Display synthetic symbols as well\n" +" -t, --radix=RADIX Use RADIX for printing symbol values\n" +" --target=BFDNAME Specify the target object format as BFDNAME\n" +" -u, --undefined-only Display only undefined symbols\n" +" -X 32_64 (ignored)\n" +" @FILE Read options from FILE\n" +" -h, --help Display this information\n" +" -V, --version Display this program's version number\n" +"\n" msgstr "" +"Las opciones son:\n" +" -a, --debug-syms Muestra símbolos sólo para el depurador\n" +" -A, --print-file-name Muestra el nombre del fichero de entrada antes de\n" +" cada símbolo\n" +" -B Igual que --format=bsd\n" +" -C, --demangle[=ESTILO] Decodifica los nombres de símbolo de bajo nivel en\n" +" nombres de nivel de usuario\n" +" El ESTILO, si se especifica, puede ser `auto'\n" +" (por defecto), `gnu', `lucid', `arm', `hp', `edg',\n" +" `gnu-v3', `java' o `gnat'\n" +" --no-demangle No decodifica los nombres de símbolo de bajo nivel\n" +" -D, --dynamic Muestra los símbolos dinámicos en lugar de los\n" +" símbolos normales\n" +" --defined-only Muestra solamente los símbolos definidos\n" +" -e (ignorado)\n" +" -f, --format=FORMATO Usa el formato de salida FORMATO. FORMATO puede ser\n" +" `bsd', `sysv' o `posix'. Por defecto es `bsd'\n" +" -g, --extern-only Muestra solamente los símbolos externos\n" +" -l, --line-numbers Utiliza la información de depuración para encontrar\n" +" un nombre de fichero y un número de línea para cada\n" +" símbolo\n" +" -n, --numeric-sort Ordena los símbolos numéricamente por dirección\n" +" -o Igual que -A\n" +" -p, --no-sort No ordena los símbolos\n" +" -P, --portability Igual que --format=posix\n" +" -r, --reverse-sort Cambia el sentido de la ordenación\n" +" -S, --print-size Muestra el tamaño de los símbolos definidos\n" +" -s, --print-armap Incluye el índice de los símbolos de miembros\n" +" del archivo\n" +" --size-sort Ordena los símbolos por tamaño\n" +" --special-syms Incluye los símbolos especiales en la salida\n" +" --synthetic Muestra también símbolos sintéticos\n" +" -t, --radix=RADICAL Utiliza el RADICAL para mostrar los valores de\n" +" los símbolos\n" +" --target=NOMBREBFD Especifica el formato de objeto objetivo como\n" +" NOMBREBFD\n" +" -u, --undefined-only Muestra sólo los símbolos indefinidos\n" +" -X 32_64 (ignorado)\n" +" @FICHERO Lee opciones del FICHERO\n" +" -h, --help Muestra esta información\n" +" -V, --version Muestra el número de versión de este programa\n" "\n" -"%s: formato del fichero %s\n" - -#: objdump.c:2662 -#, c-format -msgid "%s: printing debugging information failed" -msgstr "%s: falló al mostrar la información de depuración" - -#: objdump.c:2753 -#, c-format -msgid "In archive %s:\n" -msgstr "En el fichero %s:\n" - -#: objdump.c:2873 -msgid "unrecognized -E option" -msgstr "opción -E no reconocida" - -#: objdump.c:2884 -#, c-format -msgid "unrecognized --endian type `%s'" -msgstr "tipo --endian `%s' no reconocido" -#: rdcoff.c:196 +#: nm.c:263 objdump.c:236 #, c-format -msgid "parse_coff_type: Bad type code 0x%x" -msgstr "parse_coff_type: Código de tipo 0x%x erróneo" +msgid "Report bugs to %s.\n" +msgstr "Reportar bichos a %s.\n" -#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 +#: nm.c:295 #, c-format -msgid "bfd_coff_get_syment failed: %s" -msgstr "bfd_coff_get_syment falló: %s" +msgid "%s: invalid radix" +msgstr "%s: radical inválido" -#: rdcoff.c:420 rdcoff.c:717 +#: nm.c:319 #, c-format -msgid "bfd_coff_get_auxent failed: %s" -msgstr "bfd_coff_get_auxent falló: %s" +msgid "%s: invalid output format" +msgstr "%s: formato de salida inválido" -#: rdcoff.c:784 +#: nm.c:340 readelf.c:6623 readelf.c:6659 #, c-format -msgid "%ld: .bf without preceding function" -msgstr "%ld: .bf sin una función precedente" +msgid ": %d" +msgstr " %d:" -#: rdcoff.c:834 +#: nm.c:342 readelf.c:6626 readelf.c:6671 #, c-format -msgid "%ld: unexpected .ef\n" -msgstr "%ld: .ef inesperado\n" +msgid ": %d" +msgstr ": %d" -#: rddbg.c:85 +#: nm.c:344 readelf.c:6628 readelf.c:6674 #, c-format -msgid "%s: no recognized debugging information" -msgstr "%s: no se reconoce la información de depuración" +msgid ": %d" +msgstr ": %d" -#: rddbg.c:394 +#: nm.c:381 #, c-format -msgid "Last stabs entries before error:\n" -msgstr "Últimas entradas stabs antes del error:\n" +msgid "" +"\n" +"Archive index:\n" +msgstr "" +"\n" +"Índice del archivo:\n" -#: readelf.c:272 +#: nm.c:1227 #, c-format -msgid "%s: Error: " -msgstr "%s: Error: " +msgid "" +"\n" +"\n" +"Undefined symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Símbolos indefinidos de %s:\n" +"\n" -#: readelf.c:283 +#: nm.c:1229 #, c-format -msgid "%s: Warning: " -msgstr "%s: Aviso: " +msgid "" +"\n" +"\n" +"Symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Símbolos de %s:\n" +"\n" -#: readelf.c:298 +#: nm.c:1231 nm.c:1282 #, c-format -msgid "Unable to seek to 0x%x for %s\n" -msgstr "No se puede buscar a 0x%x para %s\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Nombre Valor Clase Tipo Tamaño Línea Sección\n" +"\n" -#: readelf.c:310 +#: nm.c:1234 nm.c:1285 #, c-format -msgid "Out of memory allocating 0x%x bytes for %s\n" -msgstr "Memoria agotada al asignar 0x%x bytes para %s\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Nombre Valor Clase Tipo Tamaño Línea Sección\n" +"\n" -#: readelf.c:318 +#: nm.c:1278 #, c-format -msgid "Unable to read in 0x%x bytes of %s\n" -msgstr "No se pueden leer 0x%x bytes de %s\n" +msgid "" +"\n" +"\n" +"Undefined symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Símbolos indefinidos de %s[%s]:\n" +"\n" -#: readelf.c:364 readelf.c:412 readelf.c:615 readelf.c:647 +#: nm.c:1280 #, c-format -msgid "Unhandled data length: %d\n" -msgstr "Longitud de datos sin manejar: %d\n" - -#: readelf.c:752 -msgid "Don't know about relocations on this machine architecture\n" -msgstr "No se conocen las reubicaciones en esta arquitectura de máquina\n" - -#: readelf.c:772 readelf.c:799 readelf.c:842 readelf.c:869 -msgid "relocs" -msgstr "reubicaciones" +msgid "" +"\n" +"\n" +"Symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Símbolos de %s[%s]:\n" +"\n" -#: readelf.c:782 readelf.c:809 readelf.c:852 readelf.c:879 -msgid "out of memory parsing relocs" -msgstr "memoria agotada al decodificar reubicaciones" +#: nm.c:1584 +msgid "Only -X 32_64 is supported" +msgstr "Solamente -X 32_64 tiene soporte" -#: readelf.c:933 -#, c-format -msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" -msgstr " Desplaz Info Tipo Val. Símbolo Nombre Símbolo + Adend\n" +#: nm.c:1604 +msgid "Using the --size-sort and --undefined-only options together" +msgstr "Al usar juntas las opciones --size-sort y --undefined-only" -#: readelf.c:935 -#, c-format -msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" -msgstr " Desplaz Info Tipo Val.Símbolo Nom.Símbolo + Adend\n" +#: nm.c:1605 +msgid "will produce no output, since undefined symbols have no size." +msgstr "no se producirá salida, porque los símbolos indefinidos no tienen tamaño." -#: readelf.c:940 +#: nm.c:1633 #, c-format -msgid " Offset Info Type Sym. Value Symbol's Name\n" -msgstr " Desplaz Info Tipo Val. Símbolo Nombre Símbolo\n" +msgid "data size %ld" +msgstr "tamaño de datos %ld" -#: readelf.c:942 +#: objcopy.c:401 srconv.c:1721 #, c-format -msgid " Offset Info Type Sym.Value Sym. Name\n" -msgstr " Desplaz Info Tipo Val.Símbolo Nom. Símbolo\n" +msgid "Usage: %s [option(s)] in-file [out-file]\n" +msgstr "Modo de empleo: %s [opcion(es)] fichero-entrada [fichero-salida]\n" -#: readelf.c:950 +#: objcopy.c:402 #, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -msgstr " Desplaz Info Tipo Valor Símbolo Nombre Símbolo + Adend\n" +msgid " Copies a binary file, possibly transforming it in the process\n" +msgstr " Copia un fichero binario, posiblemente transformándolo en el proceso\n" -#: readelf.c:952 +#: objcopy.c:403 objcopy.c:495 #, c-format -msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" -msgstr " Desplaz Info Tipo Val. Símbolo Nom. Símbolo + Adend\n" +msgid " The options are:\n" +msgstr " Las opciones son:\n" -#: readelf.c:957 +#: objcopy.c:404 #, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name\n" -msgstr " Desplaz Info Tipo Valor Símbolo Nombre Símbolo\n" +msgid "" +" -I --input-target Assume input file is in format \n" +" -O --output-target Create an output file in format \n" +" -B --binary-architecture Set arch of output file, when input is binary\n" +" -F --target Set both input and output format to \n" +" --debugging Convert debugging information, if possible\n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -j --only-section Only copy section into the output\n" +" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" +" -R --remove-section Remove section from the output\n" +" -S --strip-all Remove all symbol and relocation information\n" +" -g --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" -N --strip-symbol Do not copy symbol \n" +" --strip-unneeded-symbol \n" +" Do not copy symbol unless needed by\n" +" relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -K --keep-symbol Do not strip symbol \n" +" -L --localize-symbol Force symbol to be marked as a local\n" +" --globalize-symbol Force symbol to be marked as a global\n" +" -G --keep-global-symbol Localize all symbols except \n" +" -W --weaken-symbol Force symbol to be marked as a weak\n" +" --weaken Force all global symbols to be marked as weak\n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -i --interleave Only copy one out of every bytes\n" +" -b --byte Select byte in every interleaved block\n" +" --gap-fill Fill gaps between sections with \n" +" --pad-to Pad the last section up to address \n" +" --set-start Set the start address to \n" +" {--change-start|--adjust-start} \n" +" Add to the start address\n" +" {--change-addresses|--adjust-vma} \n" +" Add to LMA, VMA and start addresses\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" Change LMA and VMA of section by \n" +" --change-section-lma {=|+|-}\n" +" Change the LMA of section by \n" +" --change-section-vma {=|+|-}\n" +" Change the VMA of section by \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" Warn if a named section does not exist\n" +" --set-section-flags =\n" +" Set section 's properties to \n" +" --add-section = Add section found in to output\n" +" --rename-section =[,] Rename section to \n" +" --change-leading-char Force output format's leading character style\n" +" --remove-leading-char Remove leading character from global symbols\n" +" --redefine-sym = Redefine symbol name to \n" +" --redefine-syms --redefine-sym for all symbol pairs \n" +" listed in \n" +" --srec-len Restrict the length of generated Srecords\n" +" --srec-forceS3 Restrict the type of generated Srecords to S3\n" +" --strip-symbols -N for all symbols listed in \n" +" --strip-unneeded-symbols \n" +" --strip-unneeded-symbol for all symbols listed\n" +" in \n" +" --keep-symbols -K for all symbols listed in \n" +" --localize-symbols -L for all symbols listed in \n" +" --globalize-symbols --globalize-symbol for all in \n" +" --keep-global-symbols -G for all symbols listed in \n" +" --weaken-symbols -W for all symbols listed in \n" +" --alt-machine-code Use alternate machine code for output\n" +" --writable-text Mark the output text as writable\n" +" --readonly-text Make the output text write protected\n" +" --pure Mark the output file as demand paged\n" +" --impure Mark the output file as impure\n" +" --prefix-symbols Add to start of every symbol name\n" +" --prefix-sections Add to start of every section name\n" +" --prefix-alloc-sections \n" +" Add to start of every allocatable\n" +" section name\n" +" -v --verbose List all object files modified\n" +" @ Read options from \n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +msgstr "" +" -I --input-target Asume que el fichero de entrada está en\n" +" el formato \n" +" -O --output-target Crea un fichero de salida en el formato\n" +" \n" +" -B --binary-architecture Establece la arquitectura del fichero de\n" +" salida, cuando la entrada es binaria\n" +" -F --target Establece tanto el formato de salida como\n" +" el de entrada a \n" +" --debugging Convierte la información de depuración, si\n" +" es posible\n" +" -p --preserve-dates Copia las marcas de tiempo de modificación y\n" +" acceso a la salida\n" +" -j --only-section Sólo copiar la sección en la salida\n" +" --add-gnu-debuglink= Agrega la sección de enlazado .gnu_debuglink\n" +" al ero\n" +" -R --remove-section Borra la sección de la salida\n" +" -S --strip-all Borra todos los símbolos y la información de\n" +" reubicación\n" +" -g --strip-debug Borra todos los símbolos y secciones de\n" +" depuración\n" +" --strip-unneeded Borra todos los símbolos innecesarios para\n" +" las reubicaciones\n" +" -N --strip-symbol No copia el símbolo \n" +" --strip-unneeded-symbol \n" +" No copia el símbolo a menos que sea\n" +" necesario para las reubicaciones\n" +" --only-keep-debug Borra todo excepto la información de\n" +" depuración\n" +" -K --keep-symbol Sólo copia el símbolo \n" +" -L --localize-symbol Fuerza que el símbolo se marque como\n" +" local\n" +" --globalize-symbol Fuerza que el símbolo se marque como\n" +" global\n" +" -G --keep-global-symbol Vuelve locales todos los símbolos excepto\n" +" \n" +" -W --weaken-symbol Fuerza que el símbolo se marque como\n" +" débil\n" +" --weaken Fuerza que todos los símbolos se marquen como\n" +" débiles\n" +" -w --wildcard Permite comodines en la comparación de\n" +" símbolos\n" +" -x --discard-all Borra todos los símbolos que no son globales\n" +" -X --discard-locals Borra cualquier símbolo generado por el\n" +" compilador\n" +" -i --interleave Sólo copia uno de cada bytes\n" +" -b --byte Selecciona el byte en cada bloque\n" +" espaciado\n" +" --gap-fill Rellena los huecos entre secciones con \n" +" --pad-to Rellena la última sección hasta la dirección \n" +" --set-start Establece la dirección de inicio en\n" +" \n" +" {--change-start|--adjust-start} \n" +" Agrega a la dirección de inicio\n" +" {--change-addresses|--adjust-vma} \n" +" Agrega a las direcciones LMA, VMA y\n" +" la de inicio\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" Cambia el LMA y el VMA de la sección\n" +" por \n" +" --change-section-lma {=|+|-}\n" +" Cambia LMA de la sección por \n" +" --change-section-vma {=|+|-}\n" +" Cambia VMA de la sección por \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" Avisar si no existe una sección nombrada\n" +" --set-section-flags =\n" +" Establece las propiedades de la sección\n" +" a \n" +" --add-section =\n" +" Agrega la sección que se encuentra\n" +" en el a la salida\n" +" --rename-section =[,] Renombra la sección a \n" +" --change-leading-char Fuerza el carácter de estilo inicial en\n" +" el formato de salida\n" +" --remove-leading-char Borra el carácter inicial de los símbolos\n" +" globales\n" +" --redefine-sym = Redefine el nombre de símbolo a \n" +" --redefine-syms --redefine-sym para todos los pares de\n" +" símbolos enlistados en el \n" +" --srec-len Restringe la longitud de los Srecords\n" +" generados\n" +" --srec-forceS3 Restringe el tipo de los Srecords generados\n" +" a S3\n" +" --strip-symbols -N para todos los símbolos enlistados en el\n" +" \n" +" --strip-unneeded-symbols \n" +" --strip-unneeded-symbol para todos los\n" +" símbolos enlistados en el \n" +" --keep-symbols -K para todos los símbolos enlistados en el\n" +" \n" +" --localize-symbols -L para todos los símbolos enlistados en el\n" +" \n" +" --globalize-symbols --globalize-symbol para todos los símbolos\n" +" en el \n" +" --keep-global-symbols \n" +" -G para todos los símbolos enlistados en el\n" +" \n" +" --weaken-symbols -W para todos los símbolos enlistados en el\n" +" \n" +" --alt-machine-code <índice> Utiliza código máquina alternativo para la\n" +" salida\n" +" --writable-text Marca el texto de salida como modificable\n" +" --readonly-text Marca el texto de salida como protegido\n" +" contra escritura\n" +" --pure Marca el fichero de salida como paginado en\n" +" demanda\n" +" --impure Marca el fichero de salida como impuro\n" +" --prefix-symbols Agrega al inicio de cada nombre de\n" +" símbolo\n" +" --prefix-sections Agrega al inicio de cada nombre de\n" +" sección\n" +" --prefix-alloc-sections \n" +" Agrega al inicio de cada nombre de\n" +" sección alojable\n" +" -v --verbose Enlista todos los ficheros objeto modificados\n" +" @ Lee opciones del \n" +" -V --version Muestra el número de versión de este programa\n" +" -h --help Muestra esta salida\n" +" --info Enlista los formatos objeto y arquitecturas\n" +" que se soportan\n" -#: readelf.c:959 +#: objcopy.c:493 #, c-format -msgid " Offset Info Type Sym. Value Sym. Name\n" -msgstr " Desplaz Info Tipo Val. Símbolo Nom. Símbolo\n" +msgid "Usage: %s in-file(s)\n" +msgstr "Modo de empleo: %s fichero(s)-entrada\n" -#: readelf.c:1239 readelf.c:1241 readelf.c:1324 readelf.c:1326 readelf.c:1335 -#: readelf.c:1337 +#: objcopy.c:494 #, c-format -msgid "unrecognized: %-7lx" -msgstr "no reconocido: %-7lx" +msgid " Removes symbols and sections from files\n" +msgstr " Remueve símbolos y secciones de los ficheros\n" -#: readelf.c:1295 +#: objcopy.c:496 #, c-format -msgid "" -msgstr "<índice de la tabla de cadenas: %3ld>" +msgid "" +" -I --input-target= Assume input file is in format \n" +" -O --output-target= Create an output file in format \n" +" -F --target= Set both input and output format to \n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -R --remove-section= Remove section from the output\n" +" -s --strip-all Remove all symbol and relocation information\n" +" -g -S -d --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -N --strip-symbol= Do not copy symbol \n" +" -K --keep-symbol= Do not strip symbol \n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -v --verbose List all object files modified\n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +" -o Place stripped output into \n" +msgstr "" +" -I --input-target= Asume que el fichero de entrada está en\n" +" el formato \n" +" -O --output-target= Crea un fichero de salida en el formato\n" +" \n" +" -F --target Establece tanto el formato de salida como\n" +" el de entrada a \n" +" -p --preserve-dates Copia las marcas de tiempo de modificación\n" +" y acceso a la salida\n" +" -R --remove-section= Borra la sección de la salida\n" +" -s --strip-all Borra todos los símbolos y la información\n" +" de reubicación\n" +" -g -S -d --strip-debug Borra todos los símbolos y secciones de\n" +" depuración\n" +" --strip-unneeded Borra todos los símbolos innecesarios para\n" +" las reubicaciones\n" +" --only-keep-debug Borra todo excepto la información de\n" +" depuración\n" +" -N --strip-symbol= No copia el símbolo \n" +" -K --keep-symbol= Sólo copia el símbolo \n" +" -w --wildcard Permite comodines en la comparación de\n" +" símbolos\n" +" -x --discard-all Borra todos los símbolos que no son globales\n" +" -X --discard-locals Borra cualquier símbolo generado por\n" +" el compilador\n" +" -v --verbose Enlista todos los ficheros objeto modificados\n" +" -V --version Muestra el número de versión de este programa\n" +" -h --help Muestra esta salida\n" +" --info Muestra los formatos objeto y arquitecturas\n" +" soportados\n" +" -o Coloca la salida limpia en el \n" -#: readelf.c:1297 +#: objcopy.c:568 #, c-format -msgid "" -msgstr "<índice de la tabla de cadenas corrupto: %3ld>" +msgid "unrecognized section flag `%s'" +msgstr "opción de sección `%s' desconocida" -#: readelf.c:1569 +#: objcopy.c:569 #, c-format -msgid "Processor Specific: %lx" -msgstr "Específico del Procesador: %lx" +msgid "supported flags: %s" +msgstr "opciones con soporte: %s" -#: readelf.c:1588 +#: objcopy.c:646 #, c-format -msgid "Operating System specific: %lx" -msgstr "específico del Sistema Operativo: %lx" +msgid "cannot open '%s': %s" +msgstr "no se puede abrir '%s': %s" -#: readelf.c:1592 readelf.c:2370 +#: objcopy.c:649 objcopy.c:2722 #, c-format -msgid ": %lx" -msgstr ": %lx" - -#: readelf.c:1605 -msgid "NONE (None)" -msgstr "NONE (Ninguno)" - -#: readelf.c:1606 -msgid "REL (Relocatable file)" -msgstr "REL (Fichero reubicable)" - -#: readelf.c:1607 -msgid "EXEC (Executable file)" -msgstr "EXEC (Fichero ejecutable)" - -#: readelf.c:1608 -msgid "DYN (Shared object file)" -msgstr "DYN (Fichero objeto compartido)" - -#: readelf.c:1609 -msgid "CORE (Core file)" -msgstr "CORE (Fichero núcleo)" +msgid "%s: fread failed" +msgstr "%s: fread falló" -#: readelf.c:1613 +#: objcopy.c:722 #, c-format -msgid "Processor Specific: (%x)" -msgstr "Específico del Procesado: (%x)" +msgid "%s:%d: Ignoring rubbish found on this line" +msgstr "%s:%d: Se ignora la basura encontrada en esta línea" -#: readelf.c:1615 +#: objcopy.c:996 #, c-format -msgid "OS Specific: (%x)" -msgstr "Específico del SO: (%x)" +msgid "%s: Multiple redefinition of symbol \"%s\"" +msgstr "%s: Redefiniciones múltiples del símbolo \"%s\"" -#: readelf.c:1617 readelf.c:1724 readelf.c:2554 +#: objcopy.c:1000 #, c-format -msgid ": %x" -msgstr ": %x" - -#: readelf.c:1629 -msgid "None" -msgstr "Ninguno" - -#: readelf.c:2229 -msgid "Standalone App" -msgstr "Aplicación por Sí Sola" +msgid "%s: Symbol \"%s\" is target of more than one redefinition" +msgstr "%s: El símbolo \"%s\" es objetivo de más de una redefinición" -#: readelf.c:2232 readelf.c:2952 readelf.c:2968 +#: objcopy.c:1028 #, c-format -msgid "" -msgstr "" +msgid "couldn't open symbol redefinition file %s (error: %s)" +msgstr "no se puede abrir el fichero de redefinición de símbolos %s (error: %s)" -#: readelf.c:2597 +#: objcopy.c:1106 #, c-format -msgid "Usage: readelf elf-file(s)\n" -msgstr "Modo de empleo: readelf fichero(s)-elf\n" +msgid "%s:%d: garbage found at end of line" +msgstr "%s:%d: se encontró basura al final de la línea" -#: readelf.c:2598 +#: objcopy.c:1109 #, c-format -msgid " Display information about the contents of ELF format files\n" -msgstr " Muestra información sobre el contenido de los ficheros de formato ELF\n" +msgid "%s:%d: missing new symbol name" +msgstr "%s:%d: falta el nombre del símbolo nuevo" -#: readelf.c:2599 +#: objcopy.c:1119 #, c-format -msgid "" -" Options are:\n" -" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Display the ELF file header\n" -" -l --program-headers Display the program headers\n" -" --segments An alias for --program-headers\n" -" -S --section-headers Display the sections' header\n" -" --sections An alias for --section-headers\n" -" -g --section-groups Display the section groups\n" -" -e --headers Equivalent to: -h -l -S\n" -" -s --syms Display the symbol table\n" -" --symbols An alias for --syms\n" -" -n --notes Display the core notes (if present)\n" -" -r --relocs Display the relocations (if present)\n" -" -u --unwind Display the unwind info (if present)\n" -" -d --dynamic Display the dynamic section (if present)\n" -" -V --version-info Display the version sections (if present)\n" -" -A --arch-specific Display architecture specific information (if any).\n" -" -D --use-dynamic Use the dynamic section info when displaying symbols\n" -" -x --hex-dump= Dump the contents of section \n" -" -w[liaprmfFsoR] or\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -" Display the contents of DWARF2 debug sections\n" -msgstr "" -" Las opciones son:\n" -" -a --all Equivalente a: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Muestra el encabezado del fichero ELF\n" -" -l --program-headers Muestra los encabezados del programa\n" -" --segments Un alias para --program-headers\n" -" -S --section-headers Muestra el encabezado de las secciones\n" -" --sections Un alias para --section-headers\n" -" -g --section-groups Muestra los grupos de sección\n" -" -e --headers Equivalente a: -h -l -S\n" -" -s --syms Muestra la tabla de símbolos\n" -" --symbols Un alias para --syms\n" -" -n --notes Muestra las notas de núcleo (si están presentes)\n" -" -r --relocs Muestra las reubicaciones (si están presentes)\n" -" -u --unwind Muestra la información de desenredo (si está presente)\n" -" -d --dynamic Muestra el segmento dinámico (si está presente)\n" -" -V --version-info Muestra las secciones de versión (si están presentes)\n" -" -A --arch-specific Muestra la información específica de la arquitectura\n" -" (si hay alguna).\n" -" -D --use-dynamic Usa la información de la sección dinámica cuando\n" -" muestra símbolos\n" -" -x --hex-dump= Vuelca el contenido de la sección \n" -" -w[liaprmfFsoR] ó\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -" Muestra el contenido de las secciones de depuración\n" -" DWARF2\n" +msgid "%s:%d: premature end of file" +msgstr "%s:%d: fin de fichero prematuro" -#: readelf.c:2622 +#: objcopy.c:1145 #, c-format -msgid "" -" -i --instruction-dump=\n" -" Disassemble the contents of section \n" -msgstr "" -" -i --instruction-dump=\n" -" Desensambla el contenido de la sección \n" +msgid "stat returns negative size for `%s'" +msgstr "stat devuelve un valor negativo para `%s'" -#: readelf.c:2626 +#: objcopy.c:1157 #, c-format -msgid "" -" -I --histogram Display histogram of bucket list lengths\n" -" -W --wide Allow output width to exceed 80 characters\n" -" -H --help Display this information\n" -" -v --version Display the version number of readelf\n" -msgstr "" -" -I --histogram Muestra un histograma de longitudes de la lista de\n" -" cubetas\n" -" -W --wide Permite que el ancho de la salida exceda 80 caracteres\n" -" -H --help Muestra esta información\n" -" -v --version Muestra el número de versión de readelf\n" +msgid "copy from `%s' [unknown] to `%s' [unknown]\n" +msgstr "copia de `%s' [desconocido] a `%s' [desconocido]\n" -#: readelf.c:2651 readelf.c:12118 -msgid "Out of memory allocating dump request table." -msgstr "Memoria agotada al asignar la tabla de petición de volcado." +#: objcopy.c:1212 +msgid "Unable to change endianness of input file(s)" +msgstr "No se puede cambiar la endianez del (los) fichero(s) de entrada" -#: readelf.c:2820 readelf.c:2888 +#: objcopy.c:1221 #, c-format -msgid "Unrecognized debug option '%s'\n" -msgstr "Opción de depuración '%s' no reconocida\n" +msgid "copy from `%s' [%s] to `%s' [%s]\n" +msgstr "copia de `%s' [%s] a `%s' [%s]\n" -#: readelf.c:2922 +#: objcopy.c:1258 objcopy.c:1715 #, c-format -msgid "Invalid option '-%c'\n" -msgstr "Opción '-%c' inválida\n" - -#: readelf.c:2936 -msgid "Nothing to do.\n" -msgstr "Nada por hacer.\n" - -#: readelf.c:2948 readelf.c:2964 readelf.c:5906 -msgid "none" -msgstr "ninguno" +msgid "Unable to recognise the format of the input file `%s'" +msgstr "No se puede reconocer el formato del fichero de entrada `%s'" -#: readelf.c:2965 -msgid "2's complement, little endian" -msgstr "complemento a 2, little endian" +#: objcopy.c:1261 +#, c-format +msgid "Warning: Output file cannot represent architecture `%s'" +msgstr "Aviso: El fichero de salida no puede representar a la arquitectura `%s'" -#: readelf.c:2966 -msgid "2's complement, big endian" -msgstr "complemento a 2, big endian" +#: objcopy.c:1305 +#, c-format +msgid "can't create section `%s': %s" +msgstr "no se puede crear la sección `%s' %s" -#: readelf.c:2984 -msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "No es un fichero ELF - tiene los bytes mágicos erróneos en el inicio\n" +#: objcopy.c:1356 +msgid "there are no sections to be copied!" +msgstr "¡no hay secciones para copiar!" -#: readelf.c:2992 +#: objcopy.c:1402 #, c-format -msgid "ELF Header:\n" -msgstr "Encabezado ELF:\n" +msgid "Can't fill gap after %s: %s" +msgstr "No se puede llenar el espacio después de %s: %s" -#: readelf.c:2993 +#: objcopy.c:1427 #, c-format -msgid " Magic: " -msgstr " Mágico: " +msgid "Can't add padding to %s: %s" +msgstr "No se puede agregar relleno a %s: %s" -#: readelf.c:2997 +#: objcopy.c:1594 #, c-format -msgid " Class: %s\n" -msgstr " Clase: %s\n" +msgid "%s: error copying private BFD data: %s" +msgstr "%s: error al copiar los datos privados BFD: %s" -#: readelf.c:2999 -#, c-format -msgid " Data: %s\n" -msgstr " Datos: %s\n" +#: objcopy.c:1605 +msgid "unknown alternate machine code, ignored" +msgstr "código máquina alternativo desconocido, ignorado" -#: readelf.c:3001 +#: objcopy.c:1635 objcopy.c:1665 #, c-format -msgid " Version: %d %s\n" -msgstr " Versión: %d %s\n" +msgid "cannot mkdir %s for archive copying (error: %s)" +msgstr "no se puede crear el directorio %s para copiar el archivo (error: %s)" -#: readelf.c:3008 +#: objcopy.c:1787 #, c-format -msgid " OS/ABI: %s\n" -msgstr " OS/ABI: %s\n" +msgid "error: the input file '%s' is empty" +msgstr "error: el fichero de entrada '%s' está vacío" -#: readelf.c:3010 +#: objcopy.c:1889 #, c-format -msgid " ABI Version: %d\n" -msgstr " Versión ABI: %d\n" +msgid "Multiple renames of section %s" +msgstr "Renombrado múltiple de la sección %s" -#: readelf.c:3012 -#, c-format -msgid " Type: %s\n" -msgstr " Tipo: %s\n" +#: objcopy.c:1940 +msgid "private header data" +msgstr "datos de encabezado privado" -#: readelf.c:3014 +#: objcopy.c:1948 #, c-format -msgid " Machine: %s\n" -msgstr " Máquina: %s\n" +msgid "%s: error in %s: %s" +msgstr "%s: error en %s: %s" -#: readelf.c:3016 -#, c-format -msgid " Version: 0x%lx\n" -msgstr " Versión: 0x%lx\n" +#: objcopy.c:2007 +msgid "making" +msgstr "haciendo" -#: readelf.c:3019 -#, c-format -msgid " Entry point address: " -msgstr " Dirección del punto de entrada: " +#: objcopy.c:2022 +msgid "size" +msgstr "tamaño" -#: readelf.c:3021 -#, c-format -msgid "" -"\n" -" Start of program headers: " -msgstr "" -"\n" -" Inicio de encabezados de programa: " +#: objcopy.c:2036 +msgid "vma" +msgstr "vma" -#: readelf.c:3023 -#, c-format -msgid "" -" (bytes into file)\n" -" Start of section headers: " -msgstr "" -" (bytes en el fichero)\n" -" Inicio de encabezados de sección: " +#: objcopy.c:2061 +msgid "alignment" +msgstr "alineación" + +#: objcopy.c:2083 +msgid "private data" +msgstr "datos privados" -#: readelf.c:3025 +#: objcopy.c:2091 #, c-format -msgid " (bytes into file)\n" -msgstr " (bytes en el fichero)\n" +msgid "%s: section `%s': error in %s: %s" +msgstr "%s: sección `%s': error en %s: %s" -#: readelf.c:3027 +#: objcopy.c:2363 #, c-format -msgid " Flags: 0x%lx%s\n" -msgstr " Opciones: 0x%lx%s\n" +msgid "%s: can't create debugging section: %s" +msgstr "%s: no se puede crear la sección de depuración: %s" -#: readelf.c:3030 +#: objcopy.c:2377 #, c-format -msgid " Size of this header: %ld (bytes)\n" -msgstr " Tamaño de este encabezado: %ld (bytes)\n" +msgid "%s: can't set debugging section contents: %s" +msgstr "%s: no se puede establecer el contenido de la sección de depuración: %s" -#: readelf.c:3032 +#: objcopy.c:2386 #, c-format -msgid " Size of program headers: %ld (bytes)\n" -msgstr " Tamaño de encabezados de programa: %ld (bytes)\n" +msgid "%s: don't know how to write debugging information for %s" +msgstr "%s: se ignora cómo escribir la información de depuración para %s" + +#: objcopy.c:2561 +msgid "byte number must be non-negative" +msgstr "el número de bytes no debe ser negativo" + +#: objcopy.c:2571 +msgid "interleave must be positive" +msgstr "el espacio debe ser positivo" -#: readelf.c:3034 +#: objcopy.c:2591 objcopy.c:2599 #, c-format -msgid " Number of program headers: %ld\n" -msgstr " Número de encabezados de programa: %ld\n" +msgid "%s both copied and removed" +msgstr "%s copiado y borrado" -#: readelf.c:3036 +#: objcopy.c:2696 objcopy.c:2767 objcopy.c:2867 objcopy.c:2898 objcopy.c:2922 +#: objcopy.c:2926 objcopy.c:2946 #, c-format -msgid " Size of section headers: %ld (bytes)\n" -msgstr " Tamaño de encabezados de sección: %ld (bytes)\n" +msgid "bad format for %s" +msgstr "formato erróneo para %s" -#: readelf.c:3038 +#: objcopy.c:2717 #, c-format -msgid " Number of section headers: %ld" -msgstr " Número de encabezados de sección: %ld" +msgid "cannot open: %s: %s" +msgstr "no se puede abrir: %s: %s" -#: readelf.c:3043 +#: objcopy.c:2836 #, c-format -msgid " Section header string table index: %ld" -msgstr " Índice de tabla de cadenas de sección de encabezado: %ld" +msgid "Warning: truncating gap-fill from 0x%s to 0x%x" +msgstr "Aviso: truncando el relleno de espacio de 0x%s a 0x%x" -#: readelf.c:3074 readelf.c:3107 -msgid "program headers" -msgstr "encabezados de programa" +#: objcopy.c:3000 +msgid "alternate machine code index must be positive" +msgstr "el índice de código máquina alternativo debe ser positivo" -#: readelf.c:3145 readelf.c:3446 readelf.c:3487 readelf.c:3546 readelf.c:3609 -#: readelf.c:3993 readelf.c:4017 readelf.c:5247 readelf.c:5291 readelf.c:5489 -#: readelf.c:6450 readelf.c:6464 readelf.c:11493 readelf.c:11912 -#: readelf.c:11979 -msgid "Out of memory\n" -msgstr "Memoria agotada\n" +#: objcopy.c:3058 +msgid "byte number must be less than interleave" +msgstr "el número de bytes debe ser menor al espacio" -#: readelf.c:3172 +#: objcopy.c:3088 #, c-format -msgid "" -"\n" -"There are no program headers in this file.\n" -msgstr "" -"\n" -"No hay encabezados de programa en este fichero.\n" +msgid "architecture %s unknown" +msgstr "arquitectura %s desconocida" -#: readelf.c:3178 -#, c-format -msgid "" -"\n" -"Elf file type is %s\n" -msgstr "" -"\n" -"El tipo del fichero elf es %s\n" +#: objcopy.c:3092 +msgid "Warning: input target 'binary' required for binary architecture parameter." +msgstr "Aviso: se requiere el objetivo de entrada 'binary' para el parámeto binario de arquitectura." -#: readelf.c:3179 +#: objcopy.c:3093 #, c-format -msgid "Entry point " -msgstr "Punto de entrada " +msgid " Argument %s ignored" +msgstr " Se ignora el argumento %s" -#: readelf.c:3181 +#: objcopy.c:3099 #, c-format -msgid "" -"\n" -"There are %d program headers, starting at offset " -msgstr "" -"\n" -"Hay %d encabezados de programa, empezando en el desplazamiento " +msgid "warning: could not locate '%s'. System error message: %s" +msgstr "aviso: no se puede encontrar '%s'. Mensaje de error del sistema: %s" -#: readelf.c:3193 readelf.c:3195 +#: objcopy.c:3141 objcopy.c:3155 #, c-format -msgid "" -"\n" -"Program Headers:\n" -msgstr "" -"\n" -"Encabezados de Programa:\n" +msgid "%s %s%c0x%s never used" +msgstr "%s nunca se usa %s%c0x%s" -#: readelf.c:3199 +#: objdump.c:178 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Tipo Desplaz DirVirt DirFísica TamFich TamMem Opt Alin\n" +msgid "Usage: %s \n" +msgstr "Modo de empleo: %s \n" -#: readelf.c:3202 +#: objdump.c:179 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Tipo Desplaz DirVirt DirFísica TamFich TamMem Opt Alin\n" +msgid " Display information from object .\n" +msgstr "Muestra la información de objeto.\n" -#: readelf.c:3206 +#: objdump.c:180 #, c-format -msgid " Type Offset VirtAddr PhysAddr\n" -msgstr " Tipo Desplazamiento DirVirtual DirFísica\n" +msgid " At least one of the following switches must be given:\n" +msgstr "Por lo menos se requiere una de los siguientes opciones:\n" -#: readelf.c:3208 +#: objdump.c:181 #, c-format -msgid " FileSiz MemSiz Flags Align\n" -msgstr " TamFichero TamMemoria Opts Alineación\n" - -#: readelf.c:3301 -msgid "more than one dynamic segment\n" -msgstr "más de un segmento dinámico\n" - -#: readelf.c:3312 -msgid "no .dynamic section in the dynamic segment" -msgstr "no hay una sección .dynamic en el segmento dinámico" - -#: readelf.c:3321 -msgid "the .dynamic section is not contained within the dynamic segment" -msgstr "la sección .dynamic no está contenida en el segmento dinámico" - -#: readelf.c:3323 -msgid "the .dynamic section is not the first section in the dynamic segment." -msgstr "la sección .dynamic no es la primera sección en el segmento dinámico." - -#: readelf.c:3337 -msgid "Unable to find program interpreter name\n" -msgstr "No se puede encontrar el nombre del programa intérprete\n" +msgid "" +" -a, --archive-headers Display archive header information\n" +" -f, --file-headers Display the contents of the overall file header\n" +" -p, --private-headers Display object format specific file header contents\n" +" -h, --[section-]headers Display the contents of the section headers\n" +" -x, --all-headers Display the contents of all headers\n" +" -d, --disassemble Display assembler contents of executable sections\n" +" -D, --disassemble-all Display assembler contents of all sections\n" +" -S, --source Intermix source code with disassembly\n" +" -s, --full-contents Display the full contents of all sections requested\n" +" -g, --debugging Display debug information in object file\n" +" -e, --debugging-tags Display debug information using ctags style\n" +" -G, --stabs Display (in raw form) any STABS info in the file\n" +" -W, --dwarf Display DWARF info in the file\n" +" -t, --syms Display the contents of the symbol table(s)\n" +" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" +" -r, --reloc Display the relocation entries in the file\n" +" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" +" @ Read options from \n" +" -v, --version Display this program's version number\n" +" -i, --info List object formats and architectures supported\n" +" -H, --help Display this information\n" +msgstr "" +" -a, --archive-headers Muestra información de los encabezados del archivo\n" +" -f, --file-headers Muestra el contenido de todos los encabezados del\n" +" fichero\n" +" -p, --private-headers Muestra el contenido de los encabezados del fichero\n" +" específicos del formato objeto\n" +" -h, --[section-]headers Muestra el contenido de los encabezados de sección\n" +" -x, --all-headers Muestra el contenido de todos los encabezados\n" +" -d, --disassemble Muestra el contenido de ensamblador de las secciones\n" +" ejecutables\n" +" -D, --disassemble-all Muestra el contenido de ensamblador de todas las\n" +" secciones\n" +" -S, --source Intermezclar código fuente con el desensamblado\n" +" -s, --full-contents Muestra el contenido completo de todas las secciones\n" +" requeridas\n" +" -g, --debugging Muestra la información de depuración en el fichero\n" +" objeto\n" +" -e, --debugging-tags Muestra la información de depuración en estilo ctags\n" +" -G, --stabs Muestra (sin formato) cualquier información de STABS\n" +" en el fichero\n" +" -W, --dwarf Muestra la información DWARF en el fichero\n" +" -t, --syms Muestra el contenido de la(s) tabla(s) de símbolos\n" +" -T, --dynamic-syms Muestra el contenido de la tabla de símbolos\n" +" dinámicos\n" +" -r, --reloc Muestra las entradas de reubicación en el fichero\n" +" -R, --dynamic-reloc Muestra las entradas de reubicación dinámica en el\n" +" fichero\n" +" @ Lee opciones del \n" +" -v, --version Muestra el número de versión de este programa\n" +" -i, --info Enlista los formatos objeto y las arquitecturas\n" +" con soporte\n" +" -H, --help Muestra esta información\n" -#: readelf.c:3344 +#: objdump.c:206 #, c-format msgid "" "\n" -" [Requesting program interpreter: %s]" +" The following switches are optional:\n" msgstr "" "\n" -" [Solicitando el programa intérprete: %s]" +" Los siguientes interruptores son opcionales:\n" -#: readelf.c:3356 +#: objdump.c:207 #, c-format msgid "" +" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" +" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" +" -j, --section=NAME Only display information for section NAME\n" +" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" +" -EB --endian=big Assume big endian format when disassembling\n" +" -EL --endian=little Assume little endian format when disassembling\n" +" --file-start-context Include context from start of file (with -S)\n" +" -I, --include=DIR Add DIR to search list for source files\n" +" -l, --line-numbers Include line numbers and filenames in output\n" +" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" +" The STYLE, if specified, can be `auto', `gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" -w, --wide Format output for more than 80 columns\n" +" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" +" --start-address=ADDR Only process data whose address is >= ADDR\n" +" --stop-address=ADDR Only process data whose address is <= ADDR\n" +" --prefix-addresses Print complete address alongside disassembly\n" +" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" +" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" +" --special-syms Include special symbols in symbol dumps\n" "\n" -" Section to Segment mapping:\n" msgstr "" -"\n" -" mapeo de Sección a Segmento:\n" +" -b, --target=NOMBREBFD Especifica el formato objeto objetivo\n" +" como NOMBREBFD\n" +" -m, --architecture=MÁQUINA Especifica la arquitectura objetivo\n" +" como MÁQUINA\n" +" -j, --section=NOMBRE Sólo muestra la información de\n" +" la sección NOMBRE\n" +" -M, --disassembler-options=OPT Pasa el texto OPT al desensamblador\n" +" -EB --endian=big Asume el formato big endian al desensamblar\n" +" -EL --endian=little Asume el formato little endian al desensamblar\n" +" --file-start-context Incluye el contexto del inicio del fichero\n" +" (con -S)\n" +" -I, --include=DIR Agrega el DIRectorio a la lista de búsqueda de\n" +" ficheros fuente\n" +" -l, --line-numbers Incluye los números de línea y los nombres de fichero\n" +" en la salida\n" +" -C, --demangle[=ESTILO] Decodifica los nombres de símbolo obtenidos/procesados\n" +" El ESTILO, si se especifica, puede ser `auto', 'gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" o `gnat'\n" +" -w, --wide Da formato a la salida para más de 80 columnas\n" +" -z, --disassemble-zeroes No salta los bloques de ceros al desensamblar\n" +" --start-address=DIR Sólo procesa los datos cuya dirección es\n" +" >= DIR\n" +" --stop-address=DIR Sólo procesa los datos cuya dirección es\n" +" <= DIR\n" +" --prefix-addresses Muestra las direcciones completas a lo largo\n" +" del desensamblado\n" +" --[no-]show-raw-insn Muestra en hexadecimal a lo largo\n" +" del desensamblado simbólico\n" +" --adjust-vma=DESPL Agrega el DESPLazamiento a todas las direcciones\n" +" mostradas de sección\n" +" --special-syms Incluye símbolos especiales en los volcados de\n" +" símbolos\n" -#: readelf.c:3357 +#: objdump.c:389 #, c-format -msgid " Segment Sections...\n" -msgstr " Segmento Secciones...\n" - -#: readelf.c:3408 -msgid "Cannot interpret virtual addresses without program headers.\n" -msgstr "No se pueden interpretar direcciones virtuales sin encabezados de programa.\n" +msgid "Sections:\n" +msgstr "Secciones:\n" -#: readelf.c:3424 +#: objdump.c:392 objdump.c:396 #, c-format -msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" -msgstr "La dirección virtual 0x%lx no está ubicada en ningún segmento PT_LOAD.\n" - -#: readelf.c:3438 readelf.c:3479 -msgid "section headers" -msgstr "encabezados de sección" - -#: readelf.c:3523 readelf.c:3586 -msgid "symbols" -msgstr "símbolos" - -# ¿Cómo se traduce esto? cfuga -#: readelf.c:3533 readelf.c:3596 -msgid "symtab shndx" -msgstr "symtab shndx" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" -#: readelf.c:3697 readelf.c:3977 +#: objdump.c:398 #, c-format -msgid "" -"\n" -"There are no sections in this file.\n" -msgstr "" -"\n" -"No hay secciones en este fichero.\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Ind Nombre Tamaño VMA LMA Desp fich Alin" -#: readelf.c:3703 +#: objdump.c:402 #, c-format -msgid "There are %d section headers, starting at offset 0x%lx:\n" -msgstr "Hay %d encabezados de sección, comenzando en el desplazamiento: 0x%lx:\n" +msgid " Flags" +msgstr " Opciones" -#: readelf.c:3720 readelf.c:4079 readelf.c:4290 readelf.c:4591 readelf.c:5011 -#: readelf.c:6618 -msgid "string table" -msgstr "tabla de cadenas" +#: objdump.c:404 +#, c-format +msgid " Pg" +msgstr " Pg" -#: readelf.c:3765 -msgid "File contains multiple dynamic symbol tables\n" -msgstr "El fichero contiene múltiples tablas dinámicas de símbolos\n" +#: objdump.c:447 +#, c-format +msgid "%s: not a dynamic object" +msgstr "%s: no es un objeto dinámico" -#: readelf.c:3777 -msgid "File contains multiple dynamic string tables\n" -msgstr "El fichero contiene múltiples tablas dinámicas de cadenas\n" +#: objdump.c:1735 +#, c-format +msgid "Disassembly of section %s:\n" +msgstr "Desensamblado de la sección %s:\n" -#: readelf.c:3782 -msgid "dynamic strings" -msgstr "cadenas dinámicas" +#: objdump.c:1897 +#, c-format +msgid "Can't use supplied machine %s" +msgstr "No se puede utilizar la máquina %s proporcionada" -#: readelf.c:3789 -msgid "File contains multiple symtab shndx tables\n" -msgstr "El fichero contiene múltiples tablas symtab shndx\n" +#: objdump.c:1916 +#, c-format +msgid "Can't disassemble for architecture %s\n" +msgstr "No se puede desensamblar para la arquitectura %s\n" -#: readelf.c:3828 +#: objdump.c:2006 #, c-format msgid "" "\n" -"Section Headers:\n" +"Can't get contents for section '%s'.\n" msgstr "" "\n" -"Encabezados de Sección:\n" +"No se puede obtener el ontenido de la sección '%s'.\n" -#: readelf.c:3830 +#: objdump.c:2143 #, c-format msgid "" +"No %s section present\n" "\n" -"Section Header:\n" msgstr "" +"No está presente la sección %s\n" "\n" -"Encabezados de Sección:\n" -#: readelf.c:3834 +#: objdump.c:2152 #, c-format -msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Nombre Tipo Direc Desp Tam ES Opt En Inf Al\n" +msgid "Reading %s section of %s failed: %s" +msgstr "Falló al leer la sección %s de %s: %s" -#: readelf.c:3837 +#: objdump.c:2196 #, c-format -msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Nombre Tipo Direc Desp Tam ES Opt En Inf Al\n" +msgid "" +"Contents of %s section:\n" +"\n" +msgstr "" +"Contenido de la sección %s:\n" +"\n" -#: readelf.c:3840 +#: objdump.c:2323 #, c-format -msgid " [Nr] Name Type Address Offset\n" -msgstr " [Nr] Nombre Tipo Dirección Despl\n" +msgid "architecture: %s, " +msgstr "arquitectura: %s, " -#: readelf.c:3841 +#: objdump.c:2326 #, c-format -msgid " Size EntSize Flags Link Info Align\n" -msgstr " Tamaño TamEnt Opts Enl Info Alin\n" +msgid "flags 0x%08x:\n" +msgstr "opciones 0x%08x:\n" -#: readelf.c:3936 +#: objdump.c:2340 #, c-format msgid "" -"Key to Flags:\n" -" W (write), A (alloc), X (execute), M (merge), S (strings)\n" -" I (info), L (link order), G (group), x (unknown)\n" -" O (extra OS processing required) o (OS specific), p (processor specific)\n" +"\n" +"start address 0x" msgstr "" -"Clave para Opciones:\n" -" W (escribir), A (asignar), X (ejecutar), M (mezclar), S (cadenas)\n" -" I (info), L (orden enlazado), G (grupo), x (desconocido)\n" -" O (se requiere procesamiento extra del SO) o (específico del SO)\n" -" p (específico del procesador)\n" +"\n" +"dirección de inicio 0x" -#: readelf.c:3954 +#: objdump.c:2380 #, c-format -msgid "[: 0x%x]" -msgstr "[: 0x%x]" +msgid "Contents of section %s:\n" +msgstr "Contenido de la sección %s:\n" -#: readelf.c:3984 -msgid "Section headers are not available!\n" -msgstr "¡Los encabezados de sección no están disponibles!\n" +#: objdump.c:2505 +#, c-format +msgid "no symbols\n" +msgstr "no hay símbolos\n" + +#: objdump.c:2512 +#, c-format +msgid "no information for symbol number %ld\n" +msgstr "no hay información para el símbolo número %ld\n" + +#: objdump.c:2515 +#, c-format +msgid "could not determine the type of symbol number %ld\n" +msgstr "no se puede determinar el tipo del símbolo número %ld\n" -#: readelf.c:4008 +#: objdump.c:2788 #, c-format msgid "" "\n" -"There are no section groups in this file.\n" +"%s: file format %s\n" msgstr "" "\n" -"No hay grupos de sección en este fichero.\n" +"%s: formato del fichero %s\n" -#: readelf.c:4042 +#: objdump.c:2845 #, c-format -msgid "Bad sh_link in group section `%s'\n" -msgstr "sh_link erróneo en la sección de grupo `%s'\n" +msgid "%s: printing debugging information failed" +msgstr "%s: falló al mostrar la información de depuración" -#: readelf.c:4061 +#: objdump.c:2936 #, c-format -msgid "Bad sh_info in group section `%s'\n" -msgstr "sh_info erróneo en la sección de grupo `%s'\n" +msgid "In archive %s:\n" +msgstr "En el fichero %s:\n" -#: readelf.c:4085 readelf.c:6947 -msgid "section data" -msgstr "datos de sección" +#: objdump.c:3058 +msgid "unrecognized -E option" +msgstr "opción -E no reconocida" -#: readelf.c:4097 +#: objdump.c:3069 #, c-format -msgid " [Index] Name\n" -msgstr " [Índice] Nombre\n" +msgid "unrecognized --endian type `%s'" +msgstr "tipo --endian `%s' no reconocido" -#: readelf.c:4114 +#: rdcoff.c:196 #, c-format -msgid "section [%5u] already in group section [%5u]\n" -msgstr "la sección [%5u] ya está en la sección de grupo [%5u]\n" +msgid "parse_coff_type: Bad type code 0x%x" +msgstr "parse_coff_type: Código de tipo 0x%x erróneo" -#: readelf.c:4127 +#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 #, c-format -msgid "section 0 in group section [%5u]\n" -msgstr "sección 0 en la sección de grupo [%5u]\n" +msgid "bfd_coff_get_syment failed: %s" +msgstr "bfd_coff_get_syment falló: %s" -#: readelf.c:4224 +#: rdcoff.c:420 rdcoff.c:717 #, c-format -msgid "" -"\n" -"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" -msgstr "" -"\n" -"'%s' la sección de reubicación en el desplazamiento 0x%lx contiene %ld bytes:\n" +msgid "bfd_coff_get_auxent failed: %s" +msgstr "bfd_coff_get_auxent falló: %s" -#: readelf.c:4236 +#: rdcoff.c:784 #, c-format -msgid "" -"\n" -"There are no dynamic relocations in this file.\n" -msgstr "" -"\n" -"No hay reubicaciones dinámicas en este fichero.\n" +msgid "%ld: .bf without preceding function" +msgstr "%ld: .bf sin una función precedente" -#: readelf.c:4260 +#: rdcoff.c:834 #, c-format -msgid "" -"\n" -"Relocation section " -msgstr "" -"\n" -"La sección de reubicación " +msgid "%ld: unexpected .ef\n" +msgstr "%ld: .ef inesperado\n" -#: readelf.c:4265 readelf.c:4666 readelf.c:4680 readelf.c:5025 +#: rddbg.c:85 #, c-format -msgid "'%s'" -msgstr "'%s'" +msgid "%s: no recognized debugging information" +msgstr "%s: no se reconoce la información de depuración" -#: readelf.c:4267 readelf.c:4682 readelf.c:5027 +#: rddbg.c:394 #, c-format -msgid " at offset 0x%lx contains %lu entries:\n" -msgstr " en el desplazamiento 0x%lx contiene %lu entradas:\n" +msgid "Last stabs entries before error:\n" +msgstr "Últimas entradas stabs antes del error:\n" -#: readelf.c:4308 +#: readelf.c:264 #, c-format -msgid "" -"\n" -"There are no relocations in this file.\n" -msgstr "" -"\n" -"No hay reubicaciones en este fichero.\n" - -#: readelf.c:4482 readelf.c:4862 -msgid "unwind table" -msgstr "tabla desenredada" +msgid "Unable to seek to 0x%lx for %s\n" +msgstr "No se puede buscar a 0x%lx para %s\n" -#: readelf.c:4540 readelf.c:4959 +#: readelf.c:279 #, c-format -msgid "Skipping unexpected relocation type %s\n" -msgstr "Saltando el tipo de reubicación %s inesperado\n" +msgid "Out of memory allocating 0x%lx bytes for %s\n" +msgstr "Memoria agotada al asignar 0x%lx bytes para %s\n" -#: readelf.c:4598 readelf.c:5018 readelf.c:5069 +#: readelf.c:289 #, c-format -msgid "" -"\n" -"There are no unwind sections in this file.\n" -msgstr "" -"\n" -"No hay secciones de desenredo en este fichero.\n" +msgid "Unable to read in 0x%lx bytes of %s\n" +msgstr "No se pueden leer 0x%lx bytes de %s\n" -#: readelf.c:4661 -#, c-format -msgid "" -"\n" -"Could not find unwind info section for " -msgstr "" -"\n" -"No se puede encontrar la sección de información de desenredo para " +#: readelf.c:623 +msgid "Don't know about relocations on this machine architecture\n" +msgstr "No se conocen las reubicaciones en esta arquitectura de máquina\n" -#: readelf.c:4673 -msgid "unwind info" -msgstr "información de desenredo" +#: readelf.c:643 readelf.c:671 readelf.c:715 readelf.c:743 +msgid "relocs" +msgstr "reubicaciones" -#: readelf.c:4675 readelf.c:5024 -#, c-format -msgid "" -"\n" -"Unwind section " -msgstr "" -"\n" -"Sección de desenredo " +#: readelf.c:654 readelf.c:682 readelf.c:726 readelf.c:754 +msgid "out of memory parsing relocs" +msgstr "memoria agotada al decodificar reubicaciones" -#: readelf.c:5228 readelf.c:5272 -msgid "dynamic section" -msgstr "sección dinámica" +#: readelf.c:808 +#, c-format +msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" +msgstr " Desplaz Info Tipo Val. Símbolo Nombre Símbolo + Adend\n" -#: readelf.c:5349 +#: readelf.c:810 #, c-format -msgid "" -"\n" -"There is no dynamic section in this file.\n" -msgstr "" -"\n" -"No hay sección dinámica en este fichero.\n" +msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" +msgstr " Desplaz Info Tipo Val.Símbolo Nom.Símbolo + Adend\n" -#: readelf.c:5387 -msgid "Unable to seek to end of file!" -msgstr "¡No se puede alcanzar el final del fichero!" +#: readelf.c:815 +#, c-format +msgid " Offset Info Type Sym. Value Symbol's Name\n" +msgstr " Desplaz Info Tipo Val. Símbolo Nombre Símbolo\n" -#: readelf.c:5400 -msgid "Unable to determine the number of symbols to load\n" -msgstr "No se puede determinar el número de símbolos a cargar\n" +#: readelf.c:817 +#, c-format +msgid " Offset Info Type Sym.Value Sym. Name\n" +msgstr " Desplaz Info Tipo Val.Símbolo Nom. Símbolo\n" -#: readelf.c:5435 -msgid "Unable to seek to end of file\n" -msgstr "No se puede alcanzar el final del fichero\n" +#: readelf.c:825 +#, c-format +msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" +msgstr " Desplaz Info Tipo Valor Símbolo Nombre Símbolo + Adend\n" -#: readelf.c:5442 -msgid "Unable to determine the length of the dynamic string table\n" -msgstr "No se puede determinar la longitud de la tabla dinámica de cadenas\n" +#: readelf.c:827 +#, c-format +msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" +msgstr " Desplaz Info Tipo Val. Símbolo Nom. Símbolo + Adend\n" -#: readelf.c:5447 -msgid "dynamic string table" -msgstr "tabla de cadena dinámicas" +#: readelf.c:832 +#, c-format +msgid " Offset Info Type Symbol's Value Symbol's Name\n" +msgstr " Desplaz Info Tipo Valor Símbolo Nombre Símbolo\n" -#: readelf.c:5482 -msgid "symbol information" -msgstr "información del símbolo" +#: readelf.c:834 +#, c-format +msgid " Offset Info Type Sym. Value Sym. Name\n" +msgstr " Desplaz Info Tipo Val. Símbolo Nom. Símbolo\n" -#: readelf.c:5507 +#: readelf.c:1127 readelf.c:1129 readelf.c:1238 readelf.c:1240 readelf.c:1249 +#: readelf.c:1251 #, c-format -msgid "" -"\n" -"Dynamic section at offset 0x%lx contains %u entries:\n" -msgstr "" -"\n" -"La sección dinámica en el desplazamiento 0x%lx contiene %u entradas:\n" +msgid "unrecognized: %-7lx" +msgstr "no reconocido: %-7lx" -#: readelf.c:5510 +#: readelf.c:1154 #, c-format -msgid " Tag Type Name/Value\n" -msgstr " Marca Tipo Nombre/Valor\n" +msgid "" +msgstr "" -#: readelf.c:5546 +#: readelf.c:1210 #, c-format -msgid "Auxiliary library" -msgstr "Biblioteca auxiliar" +msgid "" +msgstr "<índice de la tabla de cadenas: %3ld>" -#: readelf.c:5550 +#: readelf.c:1212 #, c-format -msgid "Filter library" -msgstr "Biblioteca de filtro" +msgid "" +msgstr "<índice de la tabla de cadenas corrupto: %3ld>" -#: readelf.c:5554 +#: readelf.c:1522 #, c-format -msgid "Configuration file" -msgstr "Fichero de configuración" +msgid "Processor Specific: %lx" +msgstr "Específico del Procesador: %lx" -#: readelf.c:5558 +#: readelf.c:1543 #, c-format -msgid "Dependency audit library" -msgstr "Biblioteca de auditoría de dependencias" +msgid "Operating System specific: %lx" +msgstr "específico del Sistema Operativo: %lx" -#: readelf.c:5562 +#: readelf.c:1547 readelf.c:2349 #, c-format -msgid "Audit library" -msgstr "Biblioteca de auditoría" +msgid ": %lx" +msgstr ": %lx" + +#: readelf.c:1560 +msgid "NONE (None)" +msgstr "NONE (Ninguno)" + +#: readelf.c:1561 +msgid "REL (Relocatable file)" +msgstr "REL (Fichero reubicable)" + +#: readelf.c:1562 +msgid "EXEC (Executable file)" +msgstr "EXEC (Fichero ejecutable)" + +#: readelf.c:1563 +msgid "DYN (Shared object file)" +msgstr "DYN (Fichero objeto compartido)" + +#: readelf.c:1564 +msgid "CORE (Core file)" +msgstr "CORE (Fichero núcleo)" -#: readelf.c:5580 readelf.c:5608 readelf.c:5636 +#: readelf.c:1568 #, c-format -msgid "Flags:" -msgstr "Opciones:" +msgid "Processor Specific: (%x)" +msgstr "Específico del Procesado: (%x)" -#: readelf.c:5583 readelf.c:5611 readelf.c:5638 +#: readelf.c:1570 #, c-format -msgid " None\n" -msgstr " Ninguna\n" +msgid "OS Specific: (%x)" +msgstr "Específico del SO: (%x)" -#: readelf.c:5759 +#: readelf.c:1572 readelf.c:1681 readelf.c:2541 #, c-format -msgid "Shared library: [%s]" -msgstr "Biblioteca compartida: [%s]" +msgid ": %x" +msgstr ": %x" -#: readelf.c:5762 -#, c-format -msgid " program interpreter" -msgstr " programa intérprete" +#: readelf.c:1584 +msgid "None" +msgstr "Ninguno" -#: readelf.c:5766 -#, c-format -msgid "Library soname: [%s]" -msgstr "Nombre-so de la biblioteca: [%s]" +#: readelf.c:2186 +msgid "Standalone App" +msgstr "Aplicación por Sí Sola" -#: readelf.c:5770 +#: readelf.c:2189 readelf.c:2948 readelf.c:2964 #, c-format -msgid "Library rpath: [%s]" -msgstr "Rpath de la biblioteca: [%s]" +msgid "" +msgstr "" -#: readelf.c:5774 +#: readelf.c:2586 #, c-format -msgid "Library runpath: [%s]" -msgstr "Ruta de ejecución de la biblioteca: [%s]" +msgid "Usage: readelf elf-file(s)\n" +msgstr "Modo de empleo: readelf fichero(s)-elf\n" -#: readelf.c:5837 +#: readelf.c:2587 #, c-format -msgid "Not needed object: [%s]\n" -msgstr "Objeto innecesario: [%s]\n" +msgid " Display information about the contents of ELF format files\n" +msgstr " Muestra información sobre el contenido de los ficheros de formato ELF\n" -#: readelf.c:5951 +#: readelf.c:2588 #, c-format msgid "" -"\n" -"Version definition section '%s' contains %ld entries:\n" +" Options are:\n" +" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header Display the ELF file header\n" +" -l --program-headers Display the program headers\n" +" --segments An alias for --program-headers\n" +" -S --section-headers Display the sections' header\n" +" --sections An alias for --section-headers\n" +" -g --section-groups Display the section groups\n" +" -t --section-details Display the section details\n" +" -e --headers Equivalent to: -h -l -S\n" +" -s --syms Display the symbol table\n" +" --symbols An alias for --syms\n" +" -n --notes Display the core notes (if present)\n" +" -r --relocs Display the relocations (if present)\n" +" -u --unwind Display the unwind info (if present)\n" +" -d --dynamic Display the dynamic section (if present)\n" +" -V --version-info Display the version sections (if present)\n" +" -A --arch-specific Display architecture specific information (if any).\n" +" -D --use-dynamic Use the dynamic section info when displaying symbols\n" +" -x --hex-dump= Dump the contents of section \n" +" -w[liaprmfFsoR] or\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +" Display the contents of DWARF2 debug sections\n" msgstr "" -"\n" -"La sección de definición de la versión '%s' contiene %ld entradas:\n" +" Las opciones son:\n" +" -a --all Equivalente a: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header Muestra el encabezado del fichero ELF\n" +" -l --program-headers Muestra los encabezados del programa\n" +" --segments Un alias para --program-headers\n" +" -S --section-headers Muestra el encabezado de las secciones\n" +" --sections Un alias para --section-headers\n" +" -g --section-groups Muestra los grupos de sección\n" +" -t --section-details Muestra los detalles de sección\n" +" -e --headers Equivalente a: -h -l -S\n" +" -s --syms Muestra la tabla de símbolos\n" +" --symbols Un alias para --syms\n" +" -n --notes Muestra las notas de núcleo (si están presentes)\n" +" -r --relocs Muestra las reubicaciones (si están presentes)\n" +" -u --unwind Muestra la información de desenredo (si está presente)\n" +" -d --dynamic Muestra el segmento dinámico (si está presente)\n" +" -V --version-info Muestra las secciones de versión (si están presentes)\n" +" -A --arch-specific Muestra la información específica de la arquitectura\n" +" (si hay alguna).\n" +" -D --use-dynamic Usa la información de la sección dinámica cuando\n" +" muestra símbolos\n" +" -x --hex-dump= Vuelca el contenido de la sección \n" +" -w[liaprmfFsoR] ó\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +" Muestra el contenido de las secciones de depuración\n" +" DWARF2\n" -#: readelf.c:5954 +#: readelf.c:2612 #, c-format -msgid " Addr: 0x" -msgstr " Dir: 0x" +msgid "" +" -i --instruction-dump=\n" +" Disassemble the contents of section \n" +msgstr "" +" -i --instruction-dump=\n" +" Desensambla el contenido de la sección \n" -#: readelf.c:5956 readelf.c:6148 +#: readelf.c:2616 #, c-format -msgid " Offset: %#08lx Link: %lx (%s)\n" -msgstr " Despl: %#08lx Enl: %lx (%s)\n" +msgid "" +" -I --histogram Display histogram of bucket list lengths\n" +" -W --wide Allow output width to exceed 80 characters\n" +" @ Read options from \n" +" -H --help Display this information\n" +" -v --version Display the version number of readelf\n" +msgstr "" +" -I --histogram Muestra un histograma de longitudes de la lista de\n" +" cubetas\n" +" -W --wide Permite que el ancho de la salida exceda 80 caracteres\n" +" @ Lee opciones del \n" +" -H --help Muestra esta información\n" +" -v --version Muestra el número de versión de readelf\n" -#: readelf.c:5961 -msgid "version definition section" -msgstr "sección de definición de versión" +#: readelf.c:2642 readelf.c:9180 +msgid "Out of memory allocating dump request table." +msgstr "Memoria agotada al asignar la tabla de petición de volcado." -#: readelf.c:5987 +#: readelf.c:2816 readelf.c:2884 #, c-format -msgid " %#06x: Rev: %d Flags: %s" -msgstr " %#06x: Rev: %d Opts: %s" +msgid "Unrecognized debug option '%s'\n" +msgstr "Opción de depuración '%s' no reconocida\n" -#: readelf.c:5990 +#: readelf.c:2918 #, c-format -msgid " Index: %d Cnt: %d " -msgstr " Ind: %d Cnt: %d " +msgid "Invalid option '-%c'\n" +msgstr "Opción '-%c' inválida\n" -#: readelf.c:6001 -#, c-format -msgid "Name: %s\n" -msgstr "Nombre: %s\n" +#: readelf.c:2932 +msgid "Nothing to do.\n" +msgstr "Nada por hacer.\n" -#: readelf.c:6003 -#, c-format -msgid "Name index: %ld\n" -msgstr "Índice de nombres: %ld\n" +#: readelf.c:2944 readelf.c:2960 readelf.c:6169 +msgid "none" +msgstr "ninguno" -#: readelf.c:6018 -#, c-format -msgid " %#06x: Parent %d: %s\n" -msgstr " %#06x: Padre %d: %s\n" +#: readelf.c:2961 +msgid "2's complement, little endian" +msgstr "complemento a 2, little endian" -#: readelf.c:6021 -#, c-format -msgid " %#06x: Parent %d, name index: %ld\n" -msgstr " %#06x: Padre %d, índice de nombres: %ld\n" +#: readelf.c:2962 +msgid "2's complement, big endian" +msgstr "complemento a 2, big endian" -#: readelf.c:6040 -#, c-format -msgid "" -"\n" -"Version needs section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"La sección de requerimientos de versión '%s' contiene %ld entradas:\n" +#: readelf.c:2980 +msgid "Not an ELF file - it has the wrong magic bytes at the start\n" +msgstr "No es un fichero ELF - tiene los bytes mágicos erróneos en el inicio\n" -#: readelf.c:6043 +#: readelf.c:2988 #, c-format -msgid " Addr: 0x" -msgstr " Dir: 0x" +msgid "ELF Header:\n" +msgstr "Encabezado ELF:\n" -#: readelf.c:6045 +#: readelf.c:2989 #, c-format -msgid " Offset: %#08lx Link to section: %ld (%s)\n" -msgstr " Despl: %#08lx Enlace a sección: %ld (%s)\n" +msgid " Magic: " +msgstr " Mágico: " -#: readelf.c:6050 -msgid "version need section" -msgstr "sección de versiones necesarias" +#: readelf.c:2993 +#, c-format +msgid " Class: %s\n" +msgstr " Clase: %s\n" -#: readelf.c:6072 +#: readelf.c:2995 #, c-format -msgid " %#06x: Version: %d" -msgstr " %#06x: Versión: %d" +msgid " Data: %s\n" +msgstr " Datos: %s\n" -#: readelf.c:6075 +#: readelf.c:2997 #, c-format -msgid " File: %s" -msgstr " Fichero: %s" +msgid " Version: %d %s\n" +msgstr " Versión: %d %s\n" -#: readelf.c:6077 +#: readelf.c:3004 #, c-format -msgid " File: %lx" -msgstr " Fichero: %lx" +msgid " OS/ABI: %s\n" +msgstr " OS/ABI: %s\n" -#: readelf.c:6079 +#: readelf.c:3006 #, c-format -msgid " Cnt: %d\n" -msgstr " Cnt: %d\n" +msgid " ABI Version: %d\n" +msgstr " Versión ABI: %d\n" -#: readelf.c:6097 +#: readelf.c:3008 #, c-format -msgid " %#06x: Name: %s" -msgstr " %#06x: Nombre: %s" +msgid " Type: %s\n" +msgstr " Tipo: %s\n" -#: readelf.c:6100 +#: readelf.c:3010 #, c-format -msgid " %#06x: Name index: %lx" -msgstr " %#06x: Índice de nombres: %lx" +msgid " Machine: %s\n" +msgstr " Máquina: %s\n" -#: readelf.c:6103 +#: readelf.c:3012 #, c-format -msgid " Flags: %s Version: %d\n" -msgstr " Opts: %s Versión: %d\n" +msgid " Version: 0x%lx\n" +msgstr " Versión: 0x%lx\n" -#: readelf.c:6139 -msgid "version string table" -msgstr "versión de tabla de cadenas" +#: readelf.c:3015 +#, c-format +msgid " Entry point address: " +msgstr " Dirección del punto de entrada: " -#: readelf.c:6143 +#: readelf.c:3017 #, c-format msgid "" "\n" -"Version symbols section '%s' contains %d entries:\n" +" Start of program headers: " msgstr "" "\n" -"La sección de símbolos de versión '%s' contiene %d entradas:\n" - -#: readelf.c:6146 -#, c-format -msgid " Addr: " -msgstr " Dir: " - -#: readelf.c:6156 -msgid "version symbol data" -msgstr "datos de símbolos de versión" - -#: readelf.c:6183 -msgid " 0 (*local*) " -msgstr " 0 (*local*) " - -#: readelf.c:6187 -msgid " 1 (*global*) " -msgstr " 1 (*global*) " - -#: readelf.c:6223 readelf.c:6677 -msgid "version need" -msgstr "la versión necesita" - -#: readelf.c:6233 -msgid "version need aux (2)" -msgstr "la versión necesita aux (2)" - -#: readelf.c:6275 readelf.c:6740 -msgid "version def" -msgstr "versión definida" - -#: readelf.c:6294 readelf.c:6755 -msgid "version def aux" -msgstr "versión definida auxiliar" +" Inicio de encabezados de programa: " -#: readelf.c:6325 +#: readelf.c:3019 #, c-format msgid "" -"\n" -"No version information found in this file.\n" +" (bytes into file)\n" +" Start of section headers: " msgstr "" -"\n" -"No se encontró información de versión en este fichero.\n" - -#: readelf.c:6456 -msgid "Unable to read in dynamic data\n" -msgstr "No se pueden leer los datos dinámicos\n" - -#: readelf.c:6509 -msgid "Unable to seek to start of dynamic information" -msgstr "No se puede encontrar el inicio de la información dinámica" +" (bytes en el fichero)\n" +" Inicio de encabezados de sección: " -#: readelf.c:6515 -msgid "Failed to read in number of buckets\n" -msgstr "Falló la lectura en el número de cubos\n" +#: readelf.c:3021 +#, c-format +msgid " (bytes into file)\n" +msgstr " (bytes en el fichero)\n" -#: readelf.c:6521 -msgid "Failed to read in number of chains\n" -msgstr "Falló la lectura en el número de cadenas\n" +#: readelf.c:3023 +#, c-format +msgid " Flags: 0x%lx%s\n" +msgstr " Opciones: 0x%lx%s\n" -#: readelf.c:6541 +#: readelf.c:3026 #, c-format -msgid "" -"\n" -"Symbol table for image:\n" -msgstr "" -"\n" -"Tabla de símbolos por imagen:\n" +msgid " Size of this header: %ld (bytes)\n" +msgstr " Tamaño de este encabezado: %ld (bytes)\n" -#: readelf.c:6543 +#: readelf.c:3028 #, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num Cub: Valor Tamaño Tipo Uni Vis Nombre Ind\n" +msgid " Size of program headers: %ld (bytes)\n" +msgstr " Tamaño de encabezados de programa: %ld (bytes)\n" -#: readelf.c:6545 +#: readelf.c:3030 #, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num Cub: Valor Tamaño Typo Uni Vis Nombre Ind\n" +msgid " Number of program headers: %ld\n" +msgstr " Número de encabezados de programa: %ld\n" -#: readelf.c:6597 +#: readelf.c:3032 #, c-format -msgid "" -"\n" -"Symbol table '%s' contains %lu entries:\n" -msgstr "" -"\n" -"La tabla de símbolos '%s' contiene %lu entradas:\n" +msgid " Size of section headers: %ld (bytes)\n" +msgstr " Tamaño de encabezados de sección: %ld (bytes)\n" -#: readelf.c:6601 +#: readelf.c:3034 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num: Valor Tam Tipo Unión Vis Nombre Ind\n" +msgid " Number of section headers: %ld" +msgstr " Número de encabezados de sección: %ld" -#: readelf.c:6603 +#: readelf.c:3039 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num: Valor Tam Tipo Unión Vis Nombre Ind\n" - -#: readelf.c:6649 -msgid "version data" -msgstr "datos de versión" +msgid " Section header string table index: %ld" +msgstr " Índice de tabla de cadenas de sección de encabezado: %ld" -#: readelf.c:6690 -msgid "version need aux (3)" -msgstr "la versión necesita aux (3)" +#: readelf.c:3070 readelf.c:3103 +msgid "program headers" +msgstr "encabezados de programa" -#: readelf.c:6715 -msgid "bad dynamic symbol" -msgstr "símbolo dinámico erróneo" +#: readelf.c:3141 readelf.c:3440 readelf.c:3481 readelf.c:3540 readelf.c:3603 +#: readelf.c:4208 readelf.c:4232 readelf.c:5510 readelf.c:5554 readelf.c:5752 +#: readelf.c:6734 readelf.c:6748 readelf.c:8564 readelf.c:8972 readelf.c:9039 +msgid "Out of memory\n" +msgstr "Memoria agotada\n" -#: readelf.c:6778 +#: readelf.c:3168 #, c-format msgid "" "\n" -"Dynamic symbol information is not available for displaying symbols.\n" +"There are no program headers in this file.\n" msgstr "" "\n" -"La información de símbolos dinámicos no está disponible para mostrar los símbolos.\n" +"No hay encabezados de programa en este fichero.\n" -#: readelf.c:6790 +#: readelf.c:3174 #, c-format msgid "" "\n" -"Histogram for bucket list length (total of %lu buckets):\n" +"Elf file type is %s\n" msgstr "" "\n" -"Histograma para la longitud de lista de cubos (total de %lu cubos):\n" +"El tipo del fichero elf es %s\n" -#: readelf.c:6792 +#: readelf.c:3175 #, c-format -msgid " Length Number %% of total Coverage\n" -msgstr " Long Número %% del total Cobertura\n" - -#: readelf.c:6797 readelf.c:6813 readelf.c:10967 readelf.c:11159 -msgid "Out of memory" -msgstr "Memoria agotada" +msgid "Entry point " +msgstr "Punto de entrada " -#: readelf.c:6862 +#: readelf.c:3177 #, c-format msgid "" "\n" -"Dynamic info segment at offset 0x%lx contains %d entries:\n" +"There are %d program headers, starting at offset " msgstr "" "\n" -"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d entradas:\n" - -#: readelf.c:6865 -#, c-format -msgid " Num: Name BoundTo Flags\n" -msgstr " Num: Nombre EnlaceA Opts\n" +"Hay %d encabezados de programa, empezando en el desplazamiento " -#: readelf.c:6917 +#: readelf.c:3189 readelf.c:3191 #, c-format msgid "" "\n" -"Assembly dump of section %s\n" +"Program Headers:\n" msgstr "" "\n" -"Volcado ensamblador de la sección %s\n" +"Encabezados de Programa:\n" -#: readelf.c:6938 +#: readelf.c:3195 #, c-format -msgid "" -"\n" -"Section '%s' has no data to dump.\n" -msgstr "" -"\n" -"La sección '%s' no tiene datos para volcar.\n" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Tipo Desplaz DirVirt DirFísica TamFich TamMem Opt Alin\n" -#: readelf.c:6943 +#: readelf.c:3198 #, c-format -msgid "" -"\n" -"Hex dump of section '%s':\n" -msgstr "" -"\n" -"Volcado hexadecimal de la sección '%s':\n" - -#: readelf.c:7090 -msgid "badly formed extended line op encountered!\n" -msgstr "¡se encontró un operador extendido de línea mal formado!\n" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Tipo Desplaz DirVirt DirFísica TamFich TamMem Opt Alin\n" -#: readelf.c:7097 +#: readelf.c:3202 #, c-format -msgid " Extended opcode %d: " -msgstr " Código de operación extendido %d: " +msgid " Type Offset VirtAddr PhysAddr\n" +msgstr " Tipo Desplazamiento DirVirtual DirFísica\n" -#: readelf.c:7102 +#: readelf.c:3204 #, c-format -msgid "" -"End of Sequence\n" -"\n" -msgstr "" -"Fin de la Secuencia\n" -"\n" +msgid " FileSiz MemSiz Flags Align\n" +msgstr " TamFichero TamMemoria Opts Alineación\n" -#: readelf.c:7108 -#, c-format -msgid "set Address to 0x%lx\n" -msgstr "establecer la Dirección a 0x%lx\n" +#: readelf.c:3297 +msgid "more than one dynamic segment\n" +msgstr "más de un segmento dinámico\n" -#: readelf.c:7113 -#, c-format -msgid " define new File Table entry\n" -msgstr " definir la nueva entrada en la Tabla de Ficheros\n" +#: readelf.c:3308 +msgid "no .dynamic section in the dynamic segment" +msgstr "no hay una sección .dynamic en el segmento dinámico" -#: readelf.c:7114 readelf.c:9032 -#, c-format -msgid " Entry\tDir\tTime\tSize\tName\n" -msgstr " Entr\tDir\tHora\tTam\tNombre\n" +#: readelf.c:3317 +msgid "the .dynamic section is not contained within the dynamic segment" +msgstr "la sección .dynamic no está contenida en el segmento dinámico" -#: readelf.c:7116 -#, c-format -msgid " %d\t" -msgstr " %d\t" +#: readelf.c:3319 +msgid "the .dynamic section is not the first section in the dynamic segment." +msgstr "la sección .dynamic no es la primera sección en el segmento dinámico." -#: readelf.c:7119 readelf.c:7121 readelf.c:7123 readelf.c:9044 readelf.c:9046 -#: readelf.c:9048 -#, c-format -msgid "%lu\t" -msgstr "%lu\t" +#: readelf.c:3333 +msgid "Unable to find program interpreter name\n" +msgstr "No se puede encontrar el nombre del programa intérprete\n" -#: readelf.c:7124 +#: readelf.c:3340 #, c-format msgid "" -"%s\n" "\n" +" [Requesting program interpreter: %s]" msgstr "" -"%s\n" "\n" +" [Solicitando el programa intérprete: %s]" -#: readelf.c:7128 -#, c-format -msgid "UNKNOWN: length %d\n" -msgstr "UNKNOWN: longitud %d\n" - -#: readelf.c:7155 -msgid "debug_str section data" -msgstr "sección de datos debug_str" - -#: readelf.c:7173 -msgid "" -msgstr "" - -#: readelf.c:7176 -msgid "" -msgstr "" - -#: readelf.c:7201 -msgid "debug_loc section data" -msgstr "sección de datos debug_loc" - -#: readelf.c:7235 -msgid "debug_range section data" -msgstr "sección de datos debug_range" - -#: readelf.c:7307 -#, c-format -msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" -msgstr "%s: saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela%s\n" - -#: readelf.c:7321 -#, c-format -msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" -msgstr "Saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela.%s\n" - -#: readelf.c:7565 -#, c-format -msgid "Unknown TAG value: %lx" -msgstr "Valor TAG desconocido: %lx" - -#: readelf.c:7601 -#, c-format -msgid "Unknown FORM value: %lx" -msgstr "Valor FORM desconocido: %lx" - -#: readelf.c:7610 -#, c-format -msgid " %lu byte block: " -msgstr " bloque de bytes %lu: " - -#: readelf.c:7944 +#: readelf.c:3352 #, c-format -msgid "(User defined location op)" -msgstr "(Operador de ubicación definido por el usuario)" +msgid "" +"\n" +" Section to Segment mapping:\n" +msgstr "" +"\n" +" mapeo de Sección a Segmento:\n" -#: readelf.c:7946 +#: readelf.c:3353 #, c-format -msgid "(Unknown location op)" -msgstr "(Operador de ubicación desconocido)" - -#: readelf.c:8015 -msgid "Internal error: DWARF version is not 2 or 3.\n" -msgstr "Error interno: la versión DWARF no es 2 ó 3.\n" +msgid " Segment Sections...\n" +msgstr " Segmento Secciones...\n" -#: readelf.c:8113 -msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" -msgstr "DW_FORM_data8 no tiene soporte cuando sizeof (unsigned long) != 8\n" +#: readelf.c:3402 +msgid "Cannot interpret virtual addresses without program headers.\n" +msgstr "No se pueden interpretar direcciones virtuales sin encabezados de programa.\n" -#: readelf.c:8162 +#: readelf.c:3418 #, c-format -msgid " (indirect string, offset: 0x%lx): %s" -msgstr " (cadena indirecta, desplazamiento 0x%lx): %s" +msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" +msgstr "La dirección virtual 0x%lx no está ubicada en ningún segmento PT_LOAD.\n" -#: readelf.c:8171 -#, c-format -msgid "Unrecognized form: %d\n" -msgstr "Form no reconocido: %d\n" +#: readelf.c:3432 readelf.c:3473 +msgid "section headers" +msgstr "encabezados de sección" -#: readelf.c:8256 -#, c-format -msgid "(not inlined)" -msgstr "(no es inlined)" +#: readelf.c:3517 readelf.c:3580 +msgid "symbols" +msgstr "símbolos" -#: readelf.c:8259 -#, c-format -msgid "(inlined)" -msgstr "(inlined)" +# ¿Cómo se traduce esto? cfuga +#: readelf.c:3527 readelf.c:3590 +msgid "symtab shndx" +msgstr "symtab shndx" -#: readelf.c:8262 +#: readelf.c:3817 readelf.c:4192 #, c-format -msgid "(declared as inline but ignored)" -msgstr "(declarado como inline pero ignorado)" +msgid "" +"\n" +"There are no sections in this file.\n" +msgstr "" +"\n" +"No hay secciones en este fichero.\n" -#: readelf.c:8265 +#: readelf.c:3823 #, c-format -msgid "(declared as inline and inlined)" -msgstr "(declarado como inline y es inline)" +msgid "There are %d section headers, starting at offset 0x%lx:\n" +msgstr "Hay %d encabezados de sección, comenzando en el desplazamiento: 0x%lx:\n" -#: readelf.c:8268 -#, c-format -msgid " (Unknown inline attribute value: %lx)" -msgstr " (Valor desconocido de atributo inline: %lx)" +#: readelf.c:3842 readelf.c:4309 readelf.c:4544 readelf.c:4852 readelf.c:5267 +#: readelf.c:6906 +msgid "string table" +msgstr "tabla de cadenas" -#: readelf.c:8413 readelf.c:9537 +#: readelf.c:3881 #, c-format -msgid " [without DW_AT_frame_base]" -msgstr " [sin DW_AT_frame_base]" +msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" +msgstr "La sección %d tiene un sh_entsize %lx inválido (se esperaba %lx)\n" -#: readelf.c:8416 -#, c-format -msgid "(location list)" -msgstr "(lista de ubicación)" +#: readelf.c:3901 +msgid "File contains multiple dynamic symbol tables\n" +msgstr "El fichero contiene múltiples tablas dinámicas de símbolos\n" -#: readelf.c:8534 -#, c-format -msgid "Unknown AT value: %lx" -msgstr "Valor AT desconocido: %lx" +#: readelf.c:3914 +msgid "File contains multiple dynamic string tables\n" +msgstr "El fichero contiene múltiples tablas dinámicas de cadenas\n" -#: readelf.c:8602 -msgid "No comp units in .debug_info section ?" -msgstr "¿ No hay unidades de compilación en la sección .debug_info ?" +#: readelf.c:3919 +msgid "dynamic strings" +msgstr "cadenas dinámicas" -#: readelf.c:8611 -#, c-format -msgid "Not enough memory for a debug info array of %u entries" -msgstr "No hay suficiente memoria para una matriz de información de depuración de %u entradas" +#: readelf.c:3926 +msgid "File contains multiple symtab shndx tables\n" +msgstr "El fichero contiene múltiples tablas symtab shndx\n" -#: readelf.c:8619 readelf.c:9630 +#: readelf.c:3973 #, c-format msgid "" -"The section %s contains:\n" "\n" +"Section Headers:\n" msgstr "" -"La sección %s contiene:\n" "\n" +"Encabezados de Sección:\n" -#: readelf.c:8693 -#, c-format -msgid " Compilation Unit @ %lx:\n" -msgstr " Unidad de Compilación @ %lx:\n" - -#: readelf.c:8694 +#: readelf.c:3975 #, c-format -msgid " Length: %ld\n" -msgstr " Longitud: %ld\n" +msgid "" +"\n" +"Section Header:\n" +msgstr "" +"\n" +"Encabezados de Sección:\n" -#: readelf.c:8695 +#: readelf.c:3981 readelf.c:3992 readelf.c:4003 #, c-format -msgid " Version: %d\n" -msgstr " Versión: %d\n" +msgid " [Nr] Name\n" +msgstr " [Nr] Nombre\n" -#: readelf.c:8696 +#: readelf.c:3982 #, c-format -msgid " Abbrev Offset: %ld\n" -msgstr " Desplaz Abrev: %ld\n" +msgid " Type Addr Off Size ES Lk Inf Al\n" +msgstr " Tipo Direc Desp Tam ES En Inf Al\n" -#: readelf.c:8697 +#: readelf.c:3986 #, c-format -msgid " Pointer Size: %d\n" -msgstr " Tamaño de Puntero: %d\n" +msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Nombre Tipo Direc Desp Tam ES Opt En Inf Al\n" -#: readelf.c:8702 -msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" -msgstr "Sólo la información de depuración DWARF versión 2 y 3 tiene soporte actualmente.\n" +#: readelf.c:3993 +#, c-format +msgid " Type Address Off Size ES Lk Inf Al\n" +msgstr " Tipo Direc Desp Tam ES En Inf Al\n" -#: readelf.c:8717 -msgid "Unable to locate .debug_abbrev section!\n" -msgstr "¡No se puede localizar la sección .debug_abbrev!\n" +#: readelf.c:3997 +#, c-format +msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Nombre Tipo Direc Desp Tam ES Opt En Inf Al\n" -#: readelf.c:8722 -msgid "debug_abbrev section data" -msgstr "sección de datos debug_abbrev" +#: readelf.c:4004 +#, c-format +msgid " Type Address Offset Link\n" +msgstr " Tipo Dirección Despl Enl\n" -#: readelf.c:8759 +#: readelf.c:4005 #, c-format -msgid "Unable to locate entry %lu in the abbreviation table\n" -msgstr "No se puede localizar la entrada %lu en la tabla de abreviaciones\n" +msgid " Size EntSize Info Align\n" +msgstr " Tamaño TamEnt Info Alin\n" -#: readelf.c:8765 +#: readelf.c:4009 #, c-format -msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" -msgstr " <%d><%lx>: Número de Abrev: %lu (%s)\n" +msgid " [Nr] Name Type Address Offset\n" +msgstr " [Nr] Nombre Tipo Dirección Despl\n" -#: readelf.c:8838 +#: readelf.c:4010 #, c-format -msgid "%s section needs a populated .debug_info section\n" -msgstr "la sección %s necesita una sección .debug_info llena\n" +msgid " Size EntSize Flags Link Info Align\n" +msgstr " Tamaño TamEnt Opts Enl Info Alin\n" -#: readelf.c:8845 +#: readelf.c:4015 #, c-format -msgid "%s section has more comp units than .debug_info section\n" -msgstr "la sección %s tiene más unidades de compilación que la sección .debug_info\n" +msgid " Flags\n" +msgstr " Opciones\n" -#: readelf.c:8847 +#: readelf.c:4150 #, c-format msgid "" -"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" -"\n" -msgstr "asumiendo que el tamaño del puntero es %d, de la última unidad de compilación en .debug_info\n" +"Key to Flags:\n" +" W (write), A (alloc), X (execute), M (merge), S (strings)\n" +" I (info), L (link order), G (group), x (unknown)\n" +" O (extra OS processing required) o (OS specific), p (processor specific)\n" +msgstr "" +"Clave para Opciones:\n" +" W (escribir), A (asignar), X (ejecutar), M (mezclar), S (cadenas)\n" +" I (info), L (orden enlazado), G (grupo), x (desconocido)\n" +" O (se requiere procesamiento extra del SO) o (específico del SO)\n" +" p (específico del procesador)\n" + +#: readelf.c:4168 +#, c-format +msgid "[: 0x%x]" +msgstr "[: 0x%x]" -#: readelf.c:8891 -msgid "extracting information from .debug_info section" -msgstr "extrayendo la información de la sección .debug_info" +#: readelf.c:4199 +msgid "Section headers are not available!\n" +msgstr "¡Los encabezados de sección no están disponibles!\n" -#: readelf.c:8909 +#: readelf.c:4223 #, c-format msgid "" "\n" -"Dump of debug contents of section %s:\n" -"\n" +"There are no section groups in this file.\n" msgstr "" "\n" -"Volcado del contenido de depuración de la sección %s:\n" -"\n" +"No hay grupos de sección en este fichero.\n" -#: readelf.c:8948 -msgid "The line info appears to be corrupt - the section is too small\n" -msgstr "La información de línea parece estar corrupta - esta sección es demasiado pequeña\n" +#: readelf.c:4259 +#, c-format +msgid "Bad sh_link in group section `%s'\n" +msgstr "sh_link erróneo en la sección de grupo `%s'\n" -#: readelf.c:8957 -msgid "Only DWARF version 2 and 3 line info is currently supported.\n" -msgstr "Solamente la información de línea de DWARF versión 2 y 3 tiene soporte actualmente.\n" +#: readelf.c:4278 +#, c-format +msgid "Bad sh_info in group section `%s'\n" +msgstr "sh_info erróneo en la sección de grupo `%s'\n" + +#: readelf.c:4317 readelf.c:7243 +msgid "section data" +msgstr "datos de sección" -#: readelf.c:8984 +#: readelf.c:4329 #, c-format -msgid " Length: %ld\n" -msgstr " Longitud: %ld\n" +msgid " [Index] Name\n" +msgstr " [Índice] Nombre\n" -#: readelf.c:8985 +#: readelf.c:4343 #, c-format -msgid " DWARF Version: %d\n" -msgstr " Versión DWARF: %d\n" +msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n" +msgstr "la sección [%5u] en la sección de grupo [%5u] > máximo de sección [%5u]\n" -#: readelf.c:8986 +#: readelf.c:4349 #, c-format -msgid " Prologue Length: %d\n" -msgstr " Longitud del Prólogo: %d\n" +msgid "invalid section [%5u] in group section [%5u]\n" +msgstr "sección inválida [%5u] en la sección de grupo [%5u]\n" -#: readelf.c:8987 +#: readelf.c:4359 #, c-format -msgid " Minimum Instruction Length: %d\n" -msgstr " Longitud Mínima Instrucción: %d\n" +msgid "section [%5u] in group section [%5u] already in group section [%5u]\n" +msgstr "la sección [%5u] en la sección de grupo [%5u] ya está en la sección de grupo [%5u]\n" -#: readelf.c:8988 +#: readelf.c:4372 #, c-format -msgid " Initial value of 'is_stmt': %d\n" -msgstr " Valor inicial de 'is_stmt': %d\n" +msgid "section 0 in group section [%5u]\n" +msgstr "sección 0 en la sección de grupo [%5u]\n" -#: readelf.c:8989 +#: readelf.c:4468 #, c-format -msgid " Line Base: %d\n" -msgstr " Base Línea: %d\n" +msgid "" +"\n" +"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +msgstr "" +"\n" +"'%s' la sección de reubicación en el desplazamiento 0x%lx contiene %ld bytes:\n" -#: readelf.c:8990 +#: readelf.c:4480 #, c-format -msgid " Line Range: %d\n" -msgstr " Rango Lìnea: %d\n" +msgid "" +"\n" +"There are no dynamic relocations in this file.\n" +msgstr "" +"\n" +"No hay reubicaciones dinámicas en este fichero.\n" -#: readelf.c:8991 +#: readelf.c:4504 #, c-format -msgid " Opcode Base: %d\n" -msgstr " Base de Código de Operación: %d\n" +msgid "" +"\n" +"Relocation section " +msgstr "" +"\n" +"La sección de reubicación " + +#: readelf.c:4509 readelf.c:4928 readelf.c:4942 readelf.c:5282 +#, c-format +msgid "'%s'" +msgstr "'%s'" -#: readelf.c:8992 +#: readelf.c:4511 readelf.c:4944 readelf.c:5284 #, c-format -msgid " (Pointer size: %u)\n" -msgstr " (Tamaño del puntero: %u\n" +msgid " at offset 0x%lx contains %lu entries:\n" +msgstr " en el desplazamiento 0x%lx contiene %lu entradas:\n" -#: readelf.c:9001 +#: readelf.c:4563 #, c-format msgid "" "\n" -" Opcodes:\n" +"There are no relocations in this file.\n" msgstr "" "\n" -" Códigos de operación:\n" +"No hay reubicaciones en este fichero.\n" + +#: readelf.c:4742 readelf.c:5124 +msgid "unwind table" +msgstr "tabla desenredada" -#: readelf.c:9004 +#: readelf.c:4801 readelf.c:5214 #, c-format -msgid " Opcode %d has %d args\n" -msgstr " El código de operación %d tiene %d argumentos\n" +msgid "Skipping unexpected relocation type %s\n" +msgstr "Saltando el tipo de reubicación %s inesperado\n" -#: readelf.c:9010 +#: readelf.c:4860 readelf.c:5275 readelf.c:5326 #, c-format msgid "" "\n" -" The Directory Table is empty.\n" +"There are no unwind sections in this file.\n" msgstr "" "\n" -" La Tabla de Directorios está vacía.\n" +"No hay secciones de desenredo en este fichero.\n" -#: readelf.c:9013 +#: readelf.c:4923 #, c-format msgid "" "\n" -" The Directory Table:\n" +"Could not find unwind info section for " msgstr "" "\n" -" La Tabla de Directorios:\n" +"No se puede encontrar la sección de información de desenredo para " -#: readelf.c:9017 -#, c-format -msgid " %s\n" -msgstr " %s\n" +#: readelf.c:4935 +msgid "unwind info" +msgstr "información de desenredo" -#: readelf.c:9028 +#: readelf.c:4937 readelf.c:5281 #, c-format msgid "" "\n" -" The File Name Table is empty.\n" +"Unwind section " msgstr "" "\n" -" La Tabla de Nombres de Fichero está vacía.\n" +"Sección de desenredo " -#: readelf.c:9031 +#: readelf.c:5491 readelf.c:5535 +msgid "dynamic section" +msgstr "sección dinámica" + +#: readelf.c:5612 #, c-format msgid "" "\n" -" The File Name Table:\n" +"There is no dynamic section in this file.\n" msgstr "" "\n" -" La Tabla de Nombres de Fichero:\n" +"No hay sección dinámica en este fichero.\n" -#: readelf.c:9039 -#, c-format -msgid " %d\t" -msgstr " %d\t" +#: readelf.c:5650 +msgid "Unable to seek to end of file!" +msgstr "¡No se puede alcanzar el final del fichero!" -#: readelf.c:9050 -#, c-format -msgid "%s\n" -msgstr "%s\n" +#: readelf.c:5663 +msgid "Unable to determine the number of symbols to load\n" +msgstr "No se puede determinar el número de símbolos a cargar\n" -#. Now display the statements. -#: readelf.c:9058 +#: readelf.c:5698 +msgid "Unable to seek to end of file\n" +msgstr "No se puede alcanzar el final del fichero\n" + +#: readelf.c:5705 +msgid "Unable to determine the length of the dynamic string table\n" +msgstr "No se puede determinar la longitud de la tabla dinámica de cadenas\n" + +#: readelf.c:5710 +msgid "dynamic string table" +msgstr "tabla de cadena dinámicas" + +#: readelf.c:5745 +msgid "symbol information" +msgstr "información del símbolo" + +#: readelf.c:5770 #, c-format msgid "" "\n" -" Line Number Statements:\n" +"Dynamic section at offset 0x%lx contains %u entries:\n" msgstr "" "\n" -" Declaraciones de Número de Línea:\n" +"La sección dinámica en el desplazamiento 0x%lx contiene %u entradas:\n" -#: readelf.c:9073 +#: readelf.c:5773 #, c-format -msgid " Special opcode %d: advance Address by %d to 0x%lx" -msgstr " código de Operación especial %d: Dirección de avance por %d a 0x%lx" +msgid " Tag Type Name/Value\n" +msgstr " Marca Tipo Nombre/Valor\n" -#: readelf.c:9077 +#: readelf.c:5809 #, c-format -msgid " and Line by %d to %d\n" -msgstr " y Línea por %d a %d\n" +msgid "Auxiliary library" +msgstr "Biblioteca auxiliar" -#: readelf.c:9088 +#: readelf.c:5813 #, c-format -msgid " Copy\n" -msgstr " Copiar\n" +msgid "Filter library" +msgstr "Biblioteca de filtro" -#: readelf.c:9095 +#: readelf.c:5817 #, c-format -msgid " Advance PC by %d to %lx\n" -msgstr " Avanzar el PC por %d para %lx\n" +msgid "Configuration file" +msgstr "Fichero de configuración" -#: readelf.c:9103 +#: readelf.c:5821 #, c-format -msgid " Advance Line by %d to %d\n" -msgstr " Línea de Avance por %d para %d\n" +msgid "Dependency audit library" +msgstr "Biblioteca de auditoría de dependencias" -#: readelf.c:9110 +#: readelf.c:5825 #, c-format -msgid " Set File Name to entry %d in the File Name Table\n" -msgstr " Establecer el Nombre de Fichero para la entrada %d en la Tabla de Nombres de Fichero\n" +msgid "Audit library" +msgstr "Biblioteca de auditoría" -#: readelf.c:9118 +#: readelf.c:5843 readelf.c:5871 readelf.c:5899 #, c-format -msgid " Set column to %d\n" -msgstr " Establecer la columna a %d\n" +msgid "Flags:" +msgstr "Opciones:" -#: readelf.c:9125 +#: readelf.c:5846 readelf.c:5874 readelf.c:5901 #, c-format -msgid " Set is_stmt to %d\n" -msgstr " Establecer is_stmt a %d\n" +msgid " None\n" +msgstr " Ninguna\n" -#: readelf.c:9130 +#: readelf.c:6022 #, c-format -msgid " Set basic block\n" -msgstr " Establecer el bloque básico\n" +msgid "Shared library: [%s]" +msgstr "Biblioteca compartida: [%s]" -#: readelf.c:9138 +#: readelf.c:6025 #, c-format -msgid " Advance PC by constant %d to 0x%lx\n" -msgstr " Avanzar el PC por la constante %d a 0x%lx\n" +msgid " program interpreter" +msgstr " programa intérprete" -#: readelf.c:9146 +#: readelf.c:6029 #, c-format -msgid " Advance PC by fixed size amount %d to 0x%lx\n" -msgstr " Avanzar el PC por la cantidad de tamaño fijo %d a 0x%lx\n" +msgid "Library soname: [%s]" +msgstr "Nombre-so de la biblioteca: [%s]" -#: readelf.c:9151 +#: readelf.c:6033 #, c-format -msgid " Set prologue_end to true\n" -msgstr " Establecer prologue_end a true\n" +msgid "Library rpath: [%s]" +msgstr "Rpath de la biblioteca: [%s]" -#: readelf.c:9155 +#: readelf.c:6037 #, c-format -msgid " Set epilogue_begin to true\n" -msgstr " Establecer epilogue_begin a true\n" +msgid "Library runpath: [%s]" +msgstr "Ruta de ejecución de la biblioteca: [%s]" -#: readelf.c:9161 +#: readelf.c:6100 #, c-format -msgid " Set ISA to %d\n" -msgstr " Establecer ISA a %d\n" +msgid "Not needed object: [%s]\n" +msgstr "Objeto innecesario: [%s]\n" -#: readelf.c:9165 +#: readelf.c:6214 #, c-format -msgid " Unknown opcode %d with operands: " -msgstr " Código de operación desconocido %d con los operandos: " +msgid "" +"\n" +"Version definition section '%s' contains %ld entries:\n" +msgstr "" +"\n" +"La sección de definición de la versión '%s' contiene %ld entradas:\n" + +#: readelf.c:6217 +#, c-format +msgid " Addr: 0x" +msgstr " Dir: 0x" + +#: readelf.c:6219 readelf.c:6426 +#, c-format +msgid " Offset: %#08lx Link: %lx (%s)\n" +msgstr " Despl: %#08lx Enl: %lx (%s)\n" + +#: readelf.c:6228 +msgid "version definition section" +msgstr "sección de definición de versión" + +#: readelf.c:6254 +#, c-format +msgid " %#06x: Rev: %d Flags: %s" +msgstr " %#06x: Rev: %d Opts: %s" + +#: readelf.c:6257 +#, c-format +msgid " Index: %d Cnt: %d " +msgstr " Ind: %d Cnt: %d " + +#: readelf.c:6268 +#, c-format +msgid "Name: %s\n" +msgstr "Nombre: %s\n" + +#: readelf.c:6270 +#, c-format +msgid "Name index: %ld\n" +msgstr "Índice de nombres: %ld\n" + +#: readelf.c:6285 +#, c-format +msgid " %#06x: Parent %d: %s\n" +msgstr " %#06x: Padre %d: %s\n" + +#: readelf.c:6288 +#, c-format +msgid " %#06x: Parent %d, name index: %ld\n" +msgstr " %#06x: Padre %d, índice de nombres: %ld\n" -#: readelf.c:9193 readelf.c:9279 readelf.c:9354 +#: readelf.c:6307 #, c-format msgid "" -"Contents of the %s section:\n" "\n" +"Version needs section '%s' contains %ld entries:\n" msgstr "" -"Contenido de la sección %s:\n" "\n" +"La sección de requerimientos de versión '%s' contiene %ld entradas:\n" -#: readelf.c:9233 -msgid "Only DWARF 2 and 3 pubnames are currently supported\n" -msgstr "Actualmente sólo tienen soporte los nombres públicos DWARF 2 y 3\n" - -#: readelf.c:9240 +#: readelf.c:6310 #, c-format -msgid " Length: %ld\n" -msgstr " Longitud: %ld\n" +msgid " Addr: 0x" +msgstr " Dir: 0x" -#: readelf.c:9242 +#: readelf.c:6312 #, c-format -msgid " Version: %d\n" -msgstr " Versión: %d\n" +msgid " Offset: %#08lx Link to section: %ld (%s)\n" +msgstr " Despl: %#08lx Enlace a sección: %ld (%s)\n" -#: readelf.c:9244 -#, c-format -msgid " Offset into .debug_info section: %ld\n" -msgstr " Desplazamiento en sección .debug_info: %ld\n" +#: readelf.c:6321 +msgid "version need section" +msgstr "sección de versiones necesarias" -#: readelf.c:9246 +#: readelf.c:6343 #, c-format -msgid " Size of area in .debug_info section: %ld\n" -msgstr " Tamaño de área en sección .debug_info: %ld\n" +msgid " %#06x: Version: %d" +msgstr " %#06x: Versión: %d" -#: readelf.c:9249 +#: readelf.c:6346 #, c-format -msgid "" -"\n" -" Offset\tName\n" -msgstr "" -"\n" -" Desplazamiento\tNombre\n" +msgid " File: %s" +msgstr " Fichero: %s" -#: readelf.c:9300 +#: readelf.c:6348 #, c-format -msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" -msgstr " DW_MACINFO_start_file - numlinea: %d numfichero: %d\n" +msgid " File: %lx" +msgstr " Fichero: %lx" -#: readelf.c:9306 +#: readelf.c:6350 #, c-format -msgid " DW_MACINFO_end_file\n" -msgstr " DW_MACINFO_end_file\n" +msgid " Cnt: %d\n" +msgstr " Cnt: %d\n" -#: readelf.c:9314 +#: readelf.c:6368 #, c-format -msgid " DW_MACINFO_define - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_define - numlinea : %d macro : %s\n" +msgid " %#06x: Name: %s" +msgstr " %#06x: Nombre: %s" -#: readelf.c:9323 +#: readelf.c:6371 #, c-format -msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_undef - numlinea : %d macro : %s\n" +msgid " %#06x: Name index: %lx" +msgstr " %#06x: Índice de nombres: %lx" -#: readelf.c:9335 +#: readelf.c:6374 #, c-format -msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" -msgstr " DW_MACINFO_vendor_ext - constante : %d cadena : %s\n" +msgid " Flags: %s Version: %d\n" +msgstr " Opts: %s Versión: %d\n" + +#: readelf.c:6417 +msgid "version string table" +msgstr "versión de tabla de cadenas" -#: readelf.c:9363 +#: readelf.c:6421 #, c-format -msgid " Number TAG\n" -msgstr " Número TAG\n" +msgid "" +"\n" +"Version symbols section '%s' contains %d entries:\n" +msgstr "" +"\n" +"La sección de símbolos de versión '%s' contiene %d entradas:\n" -#: readelf.c:9369 +#: readelf.c:6424 #, c-format -msgid " %ld %s [%s]\n" -msgstr " %ld %s [%s]\n" +msgid " Addr: " +msgstr " Dir: " -#: readelf.c:9372 -msgid "has children" -msgstr "tiene hijos" +#: readelf.c:6434 +msgid "version symbol data" +msgstr "datos de símbolos de versión" -#: readelf.c:9372 -msgid "no children" -msgstr "sin hijos" +#: readelf.c:6461 +msgid " 0 (*local*) " +msgstr " 0 (*local*) " -#: readelf.c:9375 -#, c-format -msgid " %-18s %s\n" -msgstr " %-18s %s\n" +#: readelf.c:6465 +msgid " 1 (*global*) " +msgstr " 1 (*global*) " + +#: readelf.c:6503 readelf.c:6969 +msgid "version need" +msgstr "la versión necesita" + +#: readelf.c:6513 +msgid "version need aux (2)" +msgstr "la versión necesita aux (2)" + +#: readelf.c:6555 readelf.c:7034 +msgid "version def" +msgstr "versión definida" + +#: readelf.c:6575 readelf.c:7049 +msgid "version def aux" +msgstr "versión definida auxiliar" -#: readelf.c:9410 +#: readelf.c:6606 #, c-format msgid "" "\n" -"The .debug_loc section is empty.\n" +"No version information found in this file.\n" msgstr "" "\n" -"La sección .debug_loc está vacía.\n" +"No se encontró información de versión en este fichero.\n" -#. FIXME: Should we handle this case? -#: readelf.c:9455 -msgid "Location lists in .debug_info section aren't in ascending order!\n" -msgstr "¡Las listas de ubicación en la sección .debug_info no están en orden ascendente!\n" +#: readelf.c:6740 +msgid "Unable to read in dynamic data\n" +msgstr "No se pueden leer los datos dinámicos\n" -#: readelf.c:9458 -msgid "No location lists in .debug_info section!\n" -msgstr "¡No hay listas de ubicación en la sección .debug_info!\n" +#: readelf.c:6793 +msgid "Unable to seek to start of dynamic information" +msgstr "No se puede encontrar el inicio de la información dinámica" -#: readelf.c:9461 -#, c-format -msgid "Location lists in .debug_loc section start at 0x%lx\n" -msgstr "Las listas de ubicación en la sección .debug_loc empiezan en 0x%lx\n" +#: readelf.c:6799 +msgid "Failed to read in number of buckets\n" +msgstr "Falló la lectura en el número de cubos\n" + +#: readelf.c:6805 +msgid "Failed to read in number of chains\n" +msgstr "Falló la lectura en el número de cadenas\n" -#: readelf.c:9464 +#: readelf.c:6825 #, c-format msgid "" -"Contents of the .debug_loc section:\n" "\n" +"Symbol table for image:\n" msgstr "" -"Contenido de la sección .debug_loc:\n" "\n" +"Tabla de símbolos por imagen:\n" -#: readelf.c:9465 +#: readelf.c:6827 #, c-format -msgid " Offset Begin End Expression\n" -msgstr " Desplaz Inicio Fin Expresión\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num Cub: Valor Tamaño Tipo Uni Vis Nombre Ind\n" -#: readelf.c:9495 +#: readelf.c:6829 #, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Hay un agujero [0x%lx - 0x%lx] en la sección .debug_loc.\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num Cub: Valor Tamaño Typo Uni Vis Nombre Ind\n" -#: readelf.c:9498 +#: readelf.c:6882 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Hay un traslape [0x%lx - 0x%lx] en la sección .debug_loc.\n" +msgid "" +"\n" +"Symbol table '%s' contains %lu entries:\n" +msgstr "" +"\n" +"La tabla de símbolos '%s' contiene %lu entradas:\n" -#: readelf.c:9512 readelf.c:9837 +#: readelf.c:6886 #, c-format -msgid " %8.8lx \n" -msgstr " %8.8lx \n" +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num: Valor Tam Tipo Unión Vis Nombre Ind\n" -#: readelf.c:9540 readelf.c:9854 -msgid " (start == end)" -msgstr " (inicio == final)" +#: readelf.c:6888 +#, c-format +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num: Valor Tam Tipo Unión Vis Nombre Ind\n" -#: readelf.c:9542 readelf.c:9856 -msgid " (start > end)" -msgstr " (inicio > final)" +#: readelf.c:6939 +msgid "version data" +msgstr "datos de versión" + +#: readelf.c:6982 +msgid "version need aux (3)" +msgstr "la versión necesita aux (3)" -#: readelf.c:9566 +#: readelf.c:7009 +msgid "bad dynamic symbol" +msgstr "símbolo dinámico erróneo" + +#: readelf.c:7073 #, c-format msgid "" "\n" -"The .debug_str section is empty.\n" +"Dynamic symbol information is not available for displaying symbols.\n" msgstr "" "\n" -"La sección .debug_str está vacía.\n" +"La información de símbolos dinámicos no está disponible para mostrar los símbolos.\n" -#: readelf.c:9570 +#: readelf.c:7085 #, c-format msgid "" -"Contents of the .debug_str section:\n" "\n" +"Histogram for bucket list length (total of %lu buckets):\n" msgstr "" -"Contenido de la sección .debug_str:\n" "\n" +"Histograma para la longitud de lista de cubos (total de %lu cubos):\n" -#: readelf.c:9675 -msgid "Only DWARF 2 and 3 aranges are currently supported.\n" -msgstr "Sólo los rangos-a de DWARF 2 y 3 tienen soporte actualmente.\n" - -#: readelf.c:9679 -#, c-format -msgid " Length: %ld\n" -msgstr " Longitud: %ld\n" - -#: readelf.c:9680 +#: readelf.c:7087 #, c-format -msgid " Version: %d\n" -msgstr " Versión: %d\n" +msgid " Length Number %% of total Coverage\n" +msgstr " Long Número %% del total Cobertura\n" -#: readelf.c:9681 -#, c-format -msgid " Offset into .debug_info: %lx\n" -msgstr " Desplaz. en .debug_info: %lx\n" +#: readelf.c:7092 readelf.c:7108 readelf.c:8031 readelf.c:8223 +msgid "Out of memory" +msgstr "Memoria agotada" -#: readelf.c:9682 +#: readelf.c:7157 #, c-format -msgid " Pointer Size: %d\n" -msgstr " Tamaño del Puntero: %d\n" +msgid "" +"\n" +"Dynamic info segment at offset 0x%lx contains %d entries:\n" +msgstr "" +"\n" +"El segmento de información dinámica en el desplazamiento 0x%lx contiene %d entradas:\n" -#: readelf.c:9683 +#: readelf.c:7160 #, c-format -msgid " Segment Size: %d\n" -msgstr " Tamaño del Segmento: %d\n" +msgid " Num: Name BoundTo Flags\n" +msgstr " Num: Nombre EnlaceA Opts\n" -#: readelf.c:9685 +#: readelf.c:7212 #, c-format msgid "" "\n" -" Address Length\n" +"Assembly dump of section %s\n" msgstr "" "\n" -" Longitud de la Dirección\n" +"Volcado ensamblador de la sección %s\n" -#: readelf.c:9741 +#: readelf.c:7233 #, c-format msgid "" "\n" -"The .debug_ranges section is empty.\n" +"Section '%s' has no data to dump.\n" msgstr "" "\n" -"La sección .debug_ranges está vacía.\n" - -#. FIXME: Should we handle this case? -#: readelf.c:9786 -msgid "Range lists in .debug_info section aren't in ascending order!\n" -msgstr "¡Las listas de rango en la sección .debug_info no están en orden ascendente!\n" - -#: readelf.c:9789 -msgid "No range lists in .debug_info section!\n" -msgstr "¡No hay listas de rango en la sección .debug_info!\n" - -#: readelf.c:9792 -#, c-format -msgid "Range lists in .debug_ranges section start at 0x%lx\n" -msgstr "Las listas de rango en la sección .debug_info inician en 0x%lx\n" +"La sección '%s' no tiene datos para volcar.\n" -#: readelf.c:9795 +#: readelf.c:7238 #, c-format msgid "" -"Contents of the .debug_ranges section:\n" "\n" +"Hex dump of section '%s':\n" msgstr "" -"Contenido de la sección .debug_ranges:\n" "\n" +"Volcado hexadecimal de la sección '%s':\n" -#: readelf.c:9796 -#, c-format -msgid " Offset Begin End\n" -msgstr " Desplaz Inicio Fin\n" - -#: readelf.c:9820 -#, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Hay un agujero [0x%lx - 0x%lx] en la sección .debug_ranges.\n" - -#: readelf.c:9823 +#: readelf.c:7359 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Hay un traslape [0x%lx - 0x%lx] en la sección .debug_ranges.\n" +msgid "skipping invalid relocation offset 0x%lx in section %s\n" +msgstr "saltando el desplazamiento de reubicación inválido 0x%lx en la sección%s\n" -#: readelf.c:10017 +#: readelf.c:7376 #, c-format -msgid "The section %s contains:\n" -msgstr "La sección %s contiene:\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela%s\n" +msgstr "saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela.%s\n" -#: readelf.c:10663 +#: readelf.c:7402 #, c-format -msgid "unsupported or unknown DW_CFA_%d\n" -msgstr "DW_CFA_%d desconocido o sin soporte\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" +msgstr "saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela.%s\n" -#: readelf.c:10688 +#: readelf.c:7435 #, c-format -msgid "Displaying the debug contents of section %s is not yet supported.\n" -msgstr "Aún no tiene soporte el mostrar el contenido de depuración de la sección %s.\n" +msgid "%s section data" +msgstr "datos de sección %s" -#: readelf.c:10732 +#: readelf.c:7472 #, c-format msgid "" "\n" @@ -4522,29 +4607,44 @@ msgstr "" "\n" "La sección '%s' no tiene datos de depuración.\n" -#: readelf.c:10746 -msgid "debug section data" -msgstr "sección de datos de depuración" - -#: readelf.c:10765 +#: readelf.c:7498 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "Sección de depuración no reconocida: %s\n" -#: readelf.c:10800 +#: readelf.c:7533 #, c-format msgid "Section %d was not dumped because it does not exist!\n" msgstr "¡La sección %d no se volcó porque no existe!\n" -#: readelf.c:10872 readelf.c:11236 +#: readelf.c:7791 +msgid "attributes" +msgstr "atributos" + +#: readelf.c:7809 +#, c-format +msgid "ERROR: Bad section length (%d > %d)\n" +msgstr "ERROR: Longitud de sección errónea (%d > %d)\n" + +#: readelf.c:7830 +#, c-format +msgid "ERROR: Bad subsection length (%d > %d)\n" +msgstr "ERROR: Longitud de subsección errónea (%d > %d)\n" + +#: readelf.c:7880 +#, c-format +msgid "Unknown format '%c'\n" +msgstr "Formato '%c' desconocido\n" + +#: readelf.c:7936 readelf.c:8304 msgid "liblist" msgstr "lista de bibliotecas" -#: readelf.c:10961 +#: readelf.c:8025 msgid "options" msgstr "opciones" -#: readelf.c:10991 +#: readelf.c:8055 #, c-format msgid "" "\n" @@ -4553,15 +4653,15 @@ msgstr "" "\n" "La sección '%s' contiene %d entradas:\n" -#: readelf.c:11152 +#: readelf.c:8216 msgid "conflict list found without a dynamic symbol table" msgstr "se encontró una lista de conflictos sin una tabla de símbolos dinámicos" -#: readelf.c:11168 readelf.c:11182 +#: readelf.c:8232 readelf.c:8246 msgid "conflict" msgstr "tiene conflictos con" -#: readelf.c:11192 +#: readelf.c:8256 #, c-format msgid "" "\n" @@ -4570,15 +4670,15 @@ msgstr "" "\n" "La sección '.conflict' contiene %lu entradas:\n" -#: readelf.c:11194 +#: readelf.c:8258 msgid " Num: Index Value Name" msgstr " Num: Índice Valor Nombre" -#: readelf.c:11243 +#: readelf.c:8311 msgid "liblist string table" msgstr "tabla de cadenas liblist" -#: readelf.c:11252 +#: readelf.c:8321 #, c-format msgid "" "\n" @@ -4587,90 +4687,90 @@ msgstr "" "\n" "La sección de lista de bibliotecas '%s' contiene %lu entradas:\n" -#: readelf.c:11303 +#: readelf.c:8374 msgid "NT_AUXV (auxiliary vector)" msgstr "NT_AUXV (vector auxiliar)" -#: readelf.c:11305 +#: readelf.c:8376 msgid "NT_PRSTATUS (prstatus structure)" msgstr "NT_PRSTATUS (estructura prstatus)" -#: readelf.c:11307 +#: readelf.c:8378 msgid "NT_FPREGSET (floating point registers)" msgstr "NT_FPREGSET (registros de coma flotante)" -#: readelf.c:11309 +#: readelf.c:8380 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "NT_PRPSINFO (estructura prpsinfo)" -#: readelf.c:11311 +#: readelf.c:8382 msgid "NT_TASKSTRUCT (task structure)" msgstr "NT_TASKSTRUCT (estructura task)" -#: readelf.c:11313 +#: readelf.c:8384 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "NT_PRXFPREG (estructura user_xfpregs)" -#: readelf.c:11315 +#: readelf.c:8386 msgid "NT_PSTATUS (pstatus structure)" msgstr "NT_PSTATUS (estructura pstatus)" -#: readelf.c:11317 +#: readelf.c:8388 msgid "NT_FPREGS (floating point registers)" msgstr "NT_FPREGS (registros de coma flotante)" -#: readelf.c:11319 +#: readelf.c:8390 msgid "NT_PSINFO (psinfo structure)" msgstr "NT_PSINFO (estructura psinfo)" -#: readelf.c:11321 +#: readelf.c:8392 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "NT_LWPSTATUS (estructura lwpstatus_t)" -#: readelf.c:11323 +#: readelf.c:8394 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "NT_LWPSINFO (estructura lwpsinfo_t)" -#: readelf.c:11325 +#: readelf.c:8396 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "NT_WIN32PSTATUS (estructura win32_pstatus)" -#: readelf.c:11333 +#: readelf.c:8404 msgid "NT_VERSION (version)" msgstr "NT_VERSION (versión)" -#: readelf.c:11335 +#: readelf.c:8406 msgid "NT_ARCH (architecture)" msgstr "NT_ARCH (arquitectura)" -#: readelf.c:11340 readelf.c:11362 +#: readelf.c:8411 readelf.c:8433 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "Tipo de nota desconocido: (0x%08x)" #. NetBSD core "procinfo" structure. -#: readelf.c:11352 +#: readelf.c:8423 msgid "NetBSD procinfo structure" msgstr "estructura procinfo de NetBSD" -#: readelf.c:11379 readelf.c:11393 +#: readelf.c:8450 readelf.c:8464 msgid "PT_GETREGS (reg structure)" msgstr "PT_GETREGS (estructura reg)" -#: readelf.c:11381 readelf.c:11395 +#: readelf.c:8452 readelf.c:8466 msgid "PT_GETFPREGS (fpreg structure)" msgstr "PT_GETFPREGS (estructura fpreg)" -#: readelf.c:11401 +#: readelf.c:8472 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "PT_FIRSTMACH+%d" -#: readelf.c:11447 +#: readelf.c:8518 msgid "notes" msgstr "notas" -#: readelf.c:11453 +#: readelf.c:8524 #, c-format msgid "" "\n" @@ -4679,27 +4779,27 @@ msgstr "" "\n" "Notas en el desplazamiento 0x%08lx con longitud 0x%08lx:\n" -#: readelf.c:11455 +#: readelf.c:8526 #, c-format msgid " Owner\t\tData size\tDescription\n" msgstr " Prop\t\tTamaño datos\tDescripción\n" -#: readelf.c:11474 +#: readelf.c:8545 #, c-format -msgid "corrupt note found at offset %x into core notes\n" -msgstr "se encontró una nota corrupta en el desplazamiento %x en las notas de núcleo\n" +msgid "corrupt note found at offset %lx into core notes\n" +msgstr "se encontró una nota corrupta en el desplazamiento %lx en las notas de núcleo\n" -#: readelf.c:11476 +#: readelf.c:8547 #, c-format -msgid " type: %x, namesize: %08lx, descsize: %08lx\n" -msgstr " tipo: %x, tamañonombre: %08lx, tamañodesc: %08lx\n" +msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" +msgstr " tipo: %lx, tamañonombre: %08lx, tamañodesc: %08lx\n" -#: readelf.c:11574 +#: readelf.c:8645 #, c-format msgid "No note segments present in the core file.\n" msgstr "No hay segmentos de notas presentes el el fichero core.\n" -#: readelf.c:11653 +#: readelf.c:8726 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" @@ -4707,12 +4807,12 @@ msgstr "" "Esta instancia de readelf ha sido construida sin soporte para un\n" "tipo de datos de 64 bit y por eso no puede leer ficheros ELF de 64 bit.\n" -#: readelf.c:11700 readelf.c:12059 +#: readelf.c:8775 readelf.c:9119 #, c-format msgid "%s: Failed to read file header\n" msgstr "%s: Falló al leer el encabezado del fichero\n" -#: readelf.c:11713 +#: readelf.c:8788 #, c-format msgid "" "\n" @@ -4721,68 +4821,68 @@ msgstr "" "\n" "Fichero: %s\n" -#: readelf.c:11876 readelf.c:11897 readelf.c:11934 readelf.c:12014 +#: readelf.c:8936 readelf.c:8957 readelf.c:8994 readelf.c:9074 #, c-format msgid "%s: failed to read archive header\n" msgstr "%s: falló al leer el encabezado del archivo\n" -#: readelf.c:11887 +#: readelf.c:8947 #, c-format msgid "%s: failed to skip archive symbol table\n" msgstr "%s: falló al saltar la tabla de símbolos del archivo\n" -#: readelf.c:11919 +#: readelf.c:8979 #, c-format msgid "%s: failed to read string table\n" msgstr "%s: falló al leer la tabla de cadenas\n" -#: readelf.c:11955 +#: readelf.c:9015 #, c-format msgid "%s: invalid archive string table offset %lu\n" msgstr "%s: desplazamiento de tabla de cadenas de archivo %lu inválido\n" -#: readelf.c:11971 +#: readelf.c:9031 #, c-format msgid "%s: bad archive file name\n" msgstr "%s: nombre de fichero de archivo erróneo\n" -#: readelf.c:12003 +#: readelf.c:9063 #, c-format msgid "%s: failed to seek to next archive header\n" msgstr "%s: falló al buscar el siguiente encabezado de archivo\n" -#: readelf.c:12037 +#: readelf.c:9097 #, c-format msgid "'%s': No such file\n" msgstr "'%s': No hay tal fichero\n" -#: readelf.c:12039 +#: readelf.c:9099 #, c-format msgid "Could not locate '%s'. System error message: %s\n" msgstr "No se puede encontrar '%s'. Mensaje de error del sistema: %s\n" -#: readelf.c:12046 +#: readelf.c:9106 #, c-format msgid "'%s' is not an ordinary file\n" msgstr "'%s' no es un fichero ordinario\n" -#: readelf.c:12053 +#: readelf.c:9113 #, c-format msgid "Input file '%s' is not readable.\n" msgstr "El fichero de entrada '%s' no es legible.\n" -#: rename.c:127 +#: rename.c:129 #, c-format msgid "%s: cannot set time: %s" msgstr "%s: no se puede establecer la hora: %s" #. We have to clean up here. -#: rename.c:162 rename.c:200 +#: rename.c:164 rename.c:202 #, c-format msgid "unable to rename '%s' reason: %s" msgstr "no se puede renombrar '%s' razón: %s" -#: rename.c:208 +#: rename.c:210 #, c-format msgid "unable to copy file '%s' reason: %s" msgstr "no se puede copiar el fichero '%s' razón: %s" @@ -5164,17 +5264,17 @@ msgstr "stat fall msgid "can't open `%s' for output: %s" msgstr "no se puede abrir `%s' para salida: %s" -#: size.c:81 +#: size.c:83 #, c-format msgid " Displays the sizes of sections inside binary files\n" msgstr " Muestra los tamaños de las secciones dentro de los ficheros binarios\n" -#: size.c:82 +#: size.c:84 #, c-format msgid " If no input file(s) are specified, a.out is assumed\n" msgstr "Si no se especifica(n) fichero(s) de salida, se asume a.out\n" -#: size.c:83 +#: size.c:85 #, c-format msgid "" " The options are:\n" @@ -5182,6 +5282,7 @@ msgid "" " -o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n" " -t --totals Display the total sizes (Berkeley only)\n" " --target= Set the binary file format\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" @@ -5194,16 +5295,17 @@ msgstr "" " -t --totals Muestra los tamaños totales\n" " (sólo Berkeley)\n" " --target= Establece el formato del fichero binario\n" +" @ Lee opciones del \n" " -h --help Muestra esta información\n" " -v --version Muestra la versión del programa\n" "\n" -#: size.c:153 +#: size.c:158 #, c-format msgid "invalid argument to --format: %s" msgstr "argumento inválido para --format: %s" -#: size.c:180 +#: size.c:185 #, c-format msgid "Invalid radix: %s\n" msgstr "Radical inválido: %s\n" @@ -5220,6 +5322,7 @@ msgid "" " -q --quick (Obsolete - ignored)\n" " -n --noprescan Do not perform a scan to convert commons into defs\n" " -d --debug Display information about what is being done\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5227,10 +5330,11 @@ msgstr "" " -q --quick (Obsoleto - ignorado)\n" " -n --noprescan No realizar una revisión para convertir comunes en definiciones\n" " -d --debug Muestra información acerca de lo que se está haciendo\n" +" @ Lee opciones del \n" " -h --help Muestra esta información\n" " -v --version Muestra el número de versión del programa\n" -#: srconv.c:1866 +#: srconv.c:1869 #, c-format msgid "unable to open output file %s" msgstr "no se puede abrir el fichero de salida %s" @@ -5368,22 +5472,22 @@ msgstr "varargs desenredados inesperados\n" msgid "Unrecognized demangled builtin type\n" msgstr "Tipo interno desenredado no reconocido\n" -#: strings.c:206 +#: strings.c:218 #, c-format msgid "invalid number %s" msgstr "número %s inválido" -#: strings.c:643 +#: strings.c:700 #, c-format msgid "invalid integer argument %s" msgstr "argumento entero %s inválido" -#: strings.c:652 +#: strings.c:709 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr " Muestra las cadenas imprimibles en [fichero(s)] (por defecto entrada estándar)\n" -#: strings.c:653 +#: strings.c:710 #, c-format msgid "" " The options are:\n" @@ -5396,6 +5500,7 @@ msgid "" " -T --target= Specify the binary file format\n" " -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5410,15 +5515,16 @@ msgstr "" " -T --target= Especifica el formato de fichero binario\n" " -e --encoding={s,S,b,l,B,L} Selecciona el tamaño del carácter y la \"endianez\":\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Lee opciones del fichero\n" " -h --help Muestra esta información\n" " -v --version Muestra el número de versión del programa\n" -#: sysdump.c:649 +#: sysdump.c:642 #, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" msgstr "Muestra una interpretación legible por humanos de un fichero objeto SYSROFF\n" -#: sysdump.c:650 +#: sysdump.c:643 #, c-format msgid "" " The options are:\n" @@ -5429,7 +5535,7 @@ msgstr "" " -h --help Muestra esta información\n" " -v --version Muestra el número de versión del programa\n" -#: sysdump.c:715 +#: sysdump.c:710 #, c-format msgid "cannot open input file %s" msgstr "no se puede abrir el fichero de entrada %s" @@ -5538,15 +5644,17 @@ msgstr " --yydebug Activa el decodificador de depuraci #, c-format msgid "" " -r Ignored for compatibility with rc\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" " Las opciones son:\n" " -r Se ignora por compatibilidad con rc\n" +" @ Lee opciones del \n" " -h --help Muestra este mensaje de ayuda\n" " -V --version Muestra la información de versión\n" -#: windres.c:664 +#: windres.c:665 #, c-format msgid "" "FORMAT is one of rc, res, or coff, and is deduced from the file name\n" @@ -5558,20 +5666,20 @@ msgstr "" "entrada. Sin fichero de entrada es la entrada estándar, por defecto rc.\n" "Sin fichero de salida es la salida estándar, por defecto rc.\n" -#: windres.c:800 +#: windres.c:803 msgid "invalid option -f\n" msgstr "opción -f inválida\n" -#: windres.c:805 +#: windres.c:808 msgid "No filename following the -fo option.\n" msgstr "No hay un nombre de fichero a continuación de la opción -fo.\n" -#: windres.c:863 +#: windres.c:866 #, c-format msgid "Option -I is deprecated for setting the input format, please use -J instead.\n" msgstr "La opción -I es obsoleta para establecer el formato de salida, por favor use -J en su lugar.\n" -#: windres.c:981 +#: windres.c:984 msgid "no resources" msgstr "no hay recursos" @@ -5590,6 +5698,71 @@ msgstr "stab_int_type: tipo %u err msgid "%s: warning: unknown size for field `%s' in struct" msgstr "%s: aviso: tamaño desconocido para el campo `%s' en la estructura" +#~ msgid "flags" +#~ msgstr "opciones" + +#~ msgid "debug_str section data" +#~ msgstr "sección de datos debug_str" + +#~ msgid "debug_loc section data" +#~ msgstr "sección de datos debug_loc" + +#~ msgid "debug_range section data" +#~ msgstr "sección de datos debug_range" + +#~ msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" +#~ msgstr "%s: saltando el tipo de símbolo %s inesperado en la reubicación en la sección .rela%s\n" + +#~ msgid "debug_abbrev section data" +#~ msgstr "sección de datos debug_abbrev" + +#~ msgid "extracting information from .debug_info section" +#~ msgstr "extrayendo la información de la sección .debug_info" + +#~ msgid "" +#~ "\n" +#~ "The .debug_loc section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "La sección .debug_loc está vacía.\n" + +#~ msgid "" +#~ "Contents of the .debug_loc section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenido de la sección .debug_loc:\n" +#~ "\n" + +#~ msgid "" +#~ "Contents of the .debug_str section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenido de la sección .debug_str:\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "The .debug_ranges section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "La sección .debug_ranges está vacía.\n" + +#~ msgid "" +#~ "Contents of the .debug_ranges section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenido de la sección .debug_ranges:\n" +#~ "\n" + +#~ msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Hay un agujero [0x%lx - 0x%lx] en la sección .debug_ranges.\n" + +#~ msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Hay un traslape [0x%lx - 0x%lx] en la sección .debug_ranges.\n" + +#~ msgid "debug section data" +#~ msgstr "sección de datos de depuración" + #~ msgid "" #~ "\n" #~ "\n" diff --git a/binutils/po/fr.po b/binutils/po/fr.po index 888dca2d7ac..c86fd895470 100644 --- a/binutils/po/fr.po +++ b/binutils/po/fr.po @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU binutils 2.15.96\n" +"Project-Id-Version: GNU binutils 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:03+1030\n" -"PO-Revision-Date: 2005-03-22 08:00-0500\n" +"POT-Creation-Date: 2005-10-25 09:14+0930\n" +"PO-Revision-Date: 2006-05-20 08:00-0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -15,27 +15,29 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: addr2line.c:73 +#: addr2line.c:76 #, c-format msgid "Usage: %s [option(s)] [addr(s)]\n" msgstr "Usage: %s [options] [adresses]\n" -#: addr2line.c:74 +#: addr2line.c:77 #, c-format msgid " Convert addresses into line number/file name pairs.\n" msgstr "Convertir les adresses en paires numéro de ligne/fichier.\n" -#: addr2line.c:75 +#: addr2line.c:78 #, c-format msgid " If no addresses are specified on the command line, they will be read from stdin\n" msgstr "Si aucune adresse n'est spécifiée sur la ligne de commande, elles seront lues de stdin\n" -#: addr2line.c:76 +#: addr2line.c:79 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -b --target= Set the binary file format\n" " -e --exe= Set the input file name (default is a.out)\n" +" -i --inlines\t\t Unwind inlined functions\n" " -s --basenames Strip directory names\n" " -f --functions Show function names\n" " -C --demangle[=style] Demangle function names\n" @@ -46,6 +48,7 @@ msgstr "" "Les options sont:\n" " -b --target= sélectionner le format du fichier binaire\n" " -e --exe= sélectionner le nom du fichier d'entrée (par défaut est a.out)\n" +" -i --inlines dérouler les fonctions enlignes\n" " -s --basenames élaguer les noms de répertoires\n" " -f --functions afficher les noms de fonctions\n" " -C --demangle[=style] décoder les noms de fonction\n" @@ -53,210 +56,217 @@ msgstr "" " -V --version afficher le nom et la version du logiciel\n" "\n" -#: addr2line.c:88 ar.c:263 coffdump.c:467 nlmconv.c:1110 objcopy.c:478 -#: objcopy.c:512 readelf.c:2631 size.c:99 srconv.c:1731 strings.c:667 -#: sysdump.c:655 windres.c:672 +#: addr2line.c:93 ar.c:263 coffdump.c:466 nlmconv.c:1113 objcopy.c:486 +#: objcopy.c:520 readelf.c:2622 size.c:102 srconv.c:1732 strings.c:725 +#: sysdump.c:648 windres.c:673 #, c-format msgid "Report bugs to %s\n" msgstr "Rapporter toutes anomalies à %s\n" -#: addr2line.c:241 +#: addr2line.c:253 #, c-format msgid "%s: can not get addresses from archive" msgstr "%s: ne peut obtenir l'adresse à partir de l'archive" -#: addr2line.c:311 nm.c:1519 objdump.c:2848 +#: addr2line.c:325 nm.c:1523 objdump.c:3033 #, c-format msgid "unknown demangling style `%s'" msgstr "style de d'encodage par mutilation inconnu « %s »" -#: ar.c:205 +#: ar.c:203 #, c-format msgid "no entry %s in archive\n" msgstr "pas d'entrée %s dans l'archive\n" -#: ar.c:221 +#: ar.c:219 #, c-format msgid "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n" msgstr "Usage: %s [options d'émulation] [-]{dmpqrstx}[abcfilNoPsSuvV] [nom-du-membre] [compteur] fichier-archive fichier...\n" -#: ar.c:224 +#: ar.c:222 #, c-format msgid " %s -M [ - read options from \n" +msgstr " @ lire les options à partir du \n" + +#: ar.c:252 #, c-format msgid "Usage: %s [options] archive\n" msgstr "Usage: %s [options] archive\n" -#: ar.c:254 +#: ar.c:253 #, c-format msgid " Generate an index to speed access to archives\n" msgstr " Générer un index pour accélérer les accès aux archives\n" -#: ar.c:255 +#: ar.c:254 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" "Les options sont:\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -V --version afficher le nom et la version du logiciel\n" -#: ar.c:483 +#: ar.c:485 msgid "two different operation options specified" msgstr "deux operations différentes spécifiées" -#: ar.c:558 +#: ar.c:560 #, c-format msgid "illegal option -- %c" msgstr "option illégale -- %c" -#: ar.c:604 +#: ar.c:606 msgid "no operation specified" msgstr "aucune opération spécifiée" -#: ar.c:607 +#: ar.c:609 msgid "`u' is only meaningful with the `r' option." msgstr "« u » n'a de sens qu'avec l'option « r »." -#: ar.c:615 +#: ar.c:617 msgid "`N' is only meaningful with the `x' and `d' options." msgstr "« N » n'a de sens qu'avec les options « x » et « d »." -#: ar.c:618 +#: ar.c:620 msgid "Value for `N' must be positive." msgstr "La valeur de « N » doit être positive." -#: ar.c:668 +#: ar.c:670 #, c-format msgid "internal error -- this option not implemented" msgstr "erreur interne -- cette option n'est pas implantée" -#: ar.c:737 +#: ar.c:739 #, c-format msgid "creating %s" msgstr "création de %s" -#: ar.c:786 ar.c:836 ar.c:1154 objcopy.c:1603 +#: ar.c:788 ar.c:838 ar.c:1156 objcopy.c:1683 #, c-format msgid "internal stat error on %s" msgstr "erreur interne d'évaluation de %s par stat()" -#: ar.c:790 +#: ar.c:792 #, c-format msgid "" "\n" @@ -267,37 +277,37 @@ msgstr "" "<%s>\n" "\n" -#: ar.c:806 ar.c:873 +#: ar.c:808 ar.c:875 #, c-format msgid "%s is not a valid archive" msgstr "%s n'est pas une archive valide" -#: ar.c:841 +#: ar.c:843 #, c-format msgid "stat returns negative size for %s" msgstr "stat() a retourné une taille négative for %s" -#: ar.c:1059 +#: ar.c:1061 #, c-format msgid "No member named `%s'\n" msgstr "Aucun membre ayant le nom « %s »\n" -#: ar.c:1109 +#: ar.c:1111 #, c-format msgid "no entry %s in archive %s!" msgstr "aucune entrée %s dans l'archive %s!" -#: ar.c:1246 +#: ar.c:1248 #, c-format msgid "%s: no archive map to update" msgstr "%s: aucune table d'archive à mettre à jour" -#: arsup.c:83 +#: arsup.c:87 #, c-format msgid "No entry %s in archive.\n" msgstr "Aucune entrée %s dans l'archive.\n" -#: arsup.c:109 +#: arsup.c:112 #, c-format msgid "Can't open file %s\n" msgstr "Ne peut ouvrir le fichier %s\n" @@ -353,95 +363,97 @@ msgid " No emulation specific options\n" msgstr " Pas d'options d'émulation spécifiques\n" #. Macros for common output. -#: binemul.h:42 +#: binemul.h:40 #, c-format msgid " emulation options: \n" msgstr " Options d'émulation: \n" -#: bucomm.c:109 +#: bucomm.c:110 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "ne peut initialiser les paramètres par défaut BDF cible vers « %s »: %s" -#: bucomm.c:120 +#: bucomm.c:121 #, c-format msgid "%s: Matching formats:" msgstr "%s: formats concordant:" -#: bucomm.c:135 +#: bucomm.c:136 #, c-format msgid "Supported targets:" msgstr "Cibles supportés:" -#: bucomm.c:137 +#: bucomm.c:138 #, c-format msgid "%s: supported targets:" msgstr "%s: cibles supportés:" -#: bucomm.c:153 +#: bucomm.c:154 #, c-format msgid "Supported architectures:" msgstr "Architectures supportées:" -#: bucomm.c:155 +#: bucomm.c:156 #, c-format msgid "%s: supported architectures:" msgstr "%s: architectures supportées:" -#: bucomm.c:348 +#: bucomm.c:349 #, c-format msgid "BFD header file version %s\n" msgstr "Version de l'en-tête du fichier BFD %s\n" -#: bucomm.c:449 +#: bucomm.c:450 #, c-format msgid "%s: bad number: %s" msgstr "%s: mauvais numéro: %s" -#: bucomm.c:466 strings.c:386 +#: bucomm.c:467 strings.c:438 #, c-format msgid "'%s': No such file" msgstr "'%s': pas de fichier comme tel" -#: bucomm.c:468 strings.c:388 +#: bucomm.c:469 strings.c:440 #, c-format msgid "Warning: could not locate '%s'. reason: %s" msgstr "AVERTISSEMENT: ne peut localiser '%s'. Raison: %s" -#: bucomm.c:472 +#: bucomm.c:473 #, c-format msgid "Warning: '%s' is not an ordinary file" msgstr "AVERTISSEMENT: '%s' n'est pas un fichier ordinaire" -#: coffdump.c:105 +#: coffdump.c:103 #, c-format msgid "#lines %d " msgstr "# de lignes %d " -#: coffdump.c:459 sysdump.c:648 +#: coffdump.c:457 sysdump.c:641 #, c-format msgid "Usage: %s [option(s)] in-file\n" msgstr "Usage: %s [options] fichier\n" -#: coffdump.c:460 +#: coffdump.c:458 #, c-format msgid " Print a human readable interpretation of a SYSROFF object file\n" msgstr "Aficher dans un format humainement lisible une interprétation du fichier objet SYSROFF\n" -#: coffdump.c:461 +#: coffdump.c:459 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" msgstr "" "Les options sont:\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -V --version afficher le nom et la version du logiciel\n" "\n" -#: coffdump.c:527 srconv.c:1819 sysdump.c:710 +#: coffdump.c:528 srconv.c:1822 sysdump.c:705 msgid "no input file specified" msgstr "Aucune fichier spécifié à l'entrée" @@ -538,576 +550,586 @@ msgstr "debug_get_real_type: information circulaire de d msgid "debug_write_type: illegal type encountered" msgstr "debug_write_type: type illégal rencontré" -#: dlltool.c:773 dlltool.c:797 dlltool.c:826 +#: dlltool.c:765 dlltool.c:789 dlltool.c:818 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "erreur interne: type de machine inconnue: %d" -#: dlltool.c:862 +#: dlltool.c:854 #, c-format msgid "Can't open def file: %s" msgstr "Ne peut ouvrir le fichier de définition: %s" -#: dlltool.c:867 +#: dlltool.c:859 #, c-format msgid "Processing def file: %s" msgstr "Traitement du fichier de définition: %s" -#: dlltool.c:871 +#: dlltool.c:863 msgid "Processed def file" msgstr "Traitement complété du fichier de définition" -#: dlltool.c:895 +#: dlltool.c:887 #, c-format msgid "Syntax error in def file %s:%d" msgstr "Erreur de syntaxe dans le fichier de définition %s:%d" -#: dlltool.c:930 +#: dlltool.c:922 #, c-format msgid "%s: Path components stripped from image name, '%s'." msgstr "%s: composants du chemin ont été éliminé du nom de l'imiage '%s'." -#: dlltool.c:939 +#: dlltool.c:931 #, c-format msgid "NAME: %s base: %x" msgstr "NOM: %s base: %x" -#: dlltool.c:942 dlltool.c:958 +#: dlltool.c:934 dlltool.c:950 msgid "Can't have LIBRARY and NAME" msgstr "Ne peut trouver la LIBRAIRIE et le NOM" -#: dlltool.c:955 +#: dlltool.c:947 #, c-format msgid "LIBRARY: %s base: %x" msgstr "LIBRAIRIE: %s base %x" -#: dlltool.c:1191 resrc.c:269 +#: dlltool.c:1183 resrc.c:269 #, c-format msgid "wait: %s" msgstr "en attente: %s" -#: dlltool.c:1196 dllwrap.c:418 resrc.c:274 +#: dlltool.c:1188 dllwrap.c:413 resrc.c:274 #, c-format msgid "subprocess got fatal signal %d" msgstr "sous-processus a reçu le signal fatal %d" -#: dlltool.c:1202 dllwrap.c:425 resrc.c:281 +#: dlltool.c:1194 dllwrap.c:420 resrc.c:281 #, c-format msgid "%s exited with status %d" msgstr "%s a terminé avec le statut %d" -#: dlltool.c:1233 +#: dlltool.c:1225 #, c-format msgid "Sucking in info from %s section in %s" msgstr "Aspirer les informations de la section %s dans %s" -#: dlltool.c:1358 +#: dlltool.c:1350 #, c-format msgid "Excluding symbol: %s" msgstr "Exclusion de symbole: %s" -#: dlltool.c:1447 dlltool.c:1458 nm.c:998 nm.c:1009 +#: dlltool.c:1439 dlltool.c:1450 nm.c:1000 nm.c:1011 #, c-format msgid "%s: no symbols" msgstr "%s: aucun symbole" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1484 +#: dlltool.c:1476 #, c-format msgid "Done reading %s" msgstr "Lecture complétée %s" -#: dlltool.c:1494 +#: dlltool.c:1486 #, c-format msgid "Unable to open object file: %s" msgstr "Incapable d'ouvrir le fichier objet: %s" -#: dlltool.c:1497 +#: dlltool.c:1489 #, c-format msgid "Scanning object file %s" msgstr "Scrutation du fichier objet %s" -#: dlltool.c:1512 +#: dlltool.c:1504 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "Ne peutproduire mcore-elf dll à partir du fichier d'archive: %s" -#: dlltool.c:1598 +#: dlltool.c:1590 msgid "Adding exports to output file" msgstr "Ajout des exports au fichier de sortie" -#: dlltool.c:1646 +#: dlltool.c:1638 msgid "Added exports to output file" msgstr "Exports ajoutés au fichier de sortie" -#: dlltool.c:1767 +#: dlltool.c:1759 #, c-format msgid "Generating export file: %s" msgstr "Génération du fichier d'exports: %s" -#: dlltool.c:1772 +#: dlltool.c:1764 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "Incapable d'ouvrir le fichier assembleur temporaire: %s" -#: dlltool.c:1775 +#: dlltool.c:1767 #, c-format msgid "Opened temporary file: %s" msgstr "Fichier temporaire ouvert: %s" -#: dlltool.c:1997 +#: dlltool.c:1989 msgid "Generated exports file" msgstr "Fichier d'exports généré" -#: dlltool.c:2203 +#: dlltool.c:2195 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "échec de bfd_open lors de l'ouverture du fichier stub: %s" -#: dlltool.c:2206 +#: dlltool.c:2198 #, c-format msgid "Creating stub file: %s" msgstr "Création du fichier stub: %s" -#: dlltool.c:2588 +#: dlltool.c:2580 #, c-format msgid "failed to open temporary head file: %s" msgstr "échec d'ouverture du fichier de tête temporaire: %s" -#: dlltool.c:2647 +#: dlltool.c:2639 #, c-format msgid "failed to open temporary tail file: %s" msgstr "échec d'ouverture du fichier de queue temporaire: %s" -#: dlltool.c:2714 +#: dlltool.c:2706 #, c-format msgid "Can't open .lib file: %s" msgstr "Ne peut ouvrir le fichier .lib: %s" -#: dlltool.c:2717 +#: dlltool.c:2709 #, c-format msgid "Creating library file: %s" msgstr "Création du fichier de librairie: %s" -#: dlltool.c:2800 dlltool.c:2806 +#: dlltool.c:2792 dlltool.c:2798 #, c-format msgid "cannot delete %s: %s" msgstr "ne peut détruire %s: %s" -#: dlltool.c:2811 +#: dlltool.c:2803 msgid "Created lib file" msgstr "Fichier de libraire créé" -#: dlltool.c:2904 +#: dlltool.c:2882 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "AVERTISSEMENT: EXPORT en duplication ignoré %s %d,%d" -#: dlltool.c:2910 +#: dlltool.c:2888 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "ERREUR, EXPORT en duplication avec ordinals: %s" -#: dlltool.c:3026 +#: dlltool.c:2993 msgid "Processing definitions" msgstr "Traitement des définitions" -#: dlltool.c:3058 +#: dlltool.c:3025 msgid "Processed definitions" msgstr "Définitions traitées" #. xgetext:c-format -#: dlltool.c:3065 dllwrap.c:479 +#: dlltool.c:3032 dllwrap.c:474 #, c-format msgid "Usage %s \n" msgstr "Usage %s \n" #. xgetext:c-format -#: dlltool.c:3067 +#: dlltool.c:3034 #, c-format msgid " -m --machine Create as DLL for . [default: %s]\n" msgstr " -m --machine créer comme DLL pour la . [défaut: %s]\n" -#: dlltool.c:3068 +#: dlltool.c:3035 #, c-format msgid " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" msgstr " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" -#: dlltool.c:3069 +#: dlltool.c:3036 #, c-format msgid " -e --output-exp Generate an export file.\n" msgstr " -e --output-exp générer un fichier d'export.\n" -#: dlltool.c:3070 +#: dlltool.c:3037 #, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr " -l --output-lib générer une librairie d'interface.\n" -#: dlltool.c:3071 +#: dlltool.c:3038 #, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr " -a --add-indirect ajouter les dll indirectes au fichier d'exports.\n" -#: dlltool.c:3072 +#: dlltool.c:3039 #, c-format msgid " -D --dllname Name of input dll to put into interface lib.\n" msgstr " -D --dllname nom du dll à placer dans la libraire d'interface.\n" -#: dlltool.c:3073 +#: dlltool.c:3040 #, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr " -d --input-def nom du fichier .def à lire\n" -#: dlltool.c:3074 +#: dlltool.c:3041 #, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr " -z --output-def nom du fichier .def à créer.\n" -#: dlltool.c:3075 +#: dlltool.c:3042 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols exporter tous les symboles vers le fichier .def\n" -#: dlltool.c:3076 +#: dlltool.c:3043 #, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr " --no-export-all-symbols exporter seulement la liste des symboles\n" -#: dlltool.c:3077 +#: dlltool.c:3044 #, c-format msgid " --exclude-symbols Don't export \n" msgstr " --exclude-symbols ne pas exporter la \n" -#: dlltool.c:3078 +#: dlltool.c:3045 #, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr " --no-default-excludes ne pas tenir compte des symboles d'exclusion par défaut\n" -#: dlltool.c:3079 +#: dlltool.c:3046 #, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr " -b --base-file lire le fichier de base généré par l'éditeur de liens\n" -#: dlltool.c:3080 +#: dlltool.c:3047 #, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr " -x --no-idata4 ne pas générer la section idata$4\n" -#: dlltool.c:3081 +#: dlltool.c:3048 #, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr " -c --no-idata5 ne pas générer la section idata$5\n" -#: dlltool.c:3082 +#: dlltool.c:3049 #, c-format msgid " -U --add-underscore Add underscores to symbols in interface library.\n" msgstr " -U --add-underscore ajouter des soulignés aux symboles dans la librairie d'interface\n" -#: dlltool.c:3083 +#: dlltool.c:3050 #, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr " -k --kill-at stopper @ à partir des noms exportés\n" -#: dlltool.c:3084 +#: dlltool.c:3051 #, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr " -A --add-stdcall-alias ajouter des aliases sans @\n" -#: dlltool.c:3085 +#: dlltool.c:3052 #, c-format msgid " -p --ext-prefix-alias Add aliases with .\n" msgstr " -p --axd-prefix-alias ajouter des aliases avec .\n" -#: dlltool.c:3086 +#: dlltool.c:3053 #, c-format msgid " -S --as Use for assembler.\n" msgstr " -S --as utiliser le pour l'assembleur\n" -#: dlltool.c:3087 +#: dlltool.c:3054 #, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr " -f --as-flags relayer les à l'assembleur\n" -#: dlltool.c:3088 +#: dlltool.c:3055 #, c-format msgid " -C --compat-implib Create backward compatible import library.\n" msgstr " -C --compat-implib créer une compatibilité arrière à la librairie d'importation\n" -#: dlltool.c:3089 +#: dlltool.c:3056 #, c-format msgid " -n --no-delete Keep temp files (repeat for extra preservation).\n" msgstr " -n --no-delete conserver les fichier temporaires\n" -#: dlltool.c:3090 +#: dlltool.c:3057 #, c-format msgid " -t --temp-prefix Use to construct temp file names.\n" msgstr " -t --temp-prefix utiliser le pour construire les noms de fichiers temporaires.\n" -#: dlltool.c:3091 +#: dlltool.c:3058 #, c-format msgid " -v --verbose Be verbose.\n" msgstr " -v --verbose passer en mode bavard\n" -#: dlltool.c:3092 +#: dlltool.c:3059 #, c-format msgid " -V --version Display the program version.\n" msgstr " -V --version afficher le nom et la version du logiciel\n" -#: dlltool.c:3093 +#: dlltool.c:3060 #, c-format msgid " -h --help Display this information.\n" msgstr " -h --help afficher l'aide-mémoire\n" -#: dlltool.c:3095 +#: dlltool.c:3061 +#, c-format +msgid " @ Read options from .\n" +msgstr " @ lire les options à partir du \n" + +#: dlltool.c:3063 #, c-format msgid " -M --mcore-elf Process mcore-elf object files into .\n" msgstr " -M --mcore-elf traiter le fichier objet mcore-elf selon le \n" -#: dlltool.c:3096 +#: dlltool.c:3064 #, c-format msgid " -L --linker Use as the linker.\n" msgstr " -L --linker utiliser comme éditeur de liens\n" -#: dlltool.c:3097 +#: dlltool.c:3065 #, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr " -F --linker-flags relayer les à l'éditeur de liens\n" -#: dlltool.c:3211 +#: dlltool.c:3181 #, c-format msgid "Path components stripped from dllname, '%s'." msgstr "Composants du chemin ont été éliminés du nom dll '%s'." -#: dlltool.c:3256 +#: dlltool.c:3226 #, c-format msgid "Unable to open base-file: %s" msgstr "Incapable d'ouvrir le fichier de base: %s" -#: dlltool.c:3288 +#: dlltool.c:3258 #, c-format msgid "Machine '%s' not supported" msgstr "Machine « %s » n'est pas supportée" -#: dlltool.c:3392 dllwrap.c:209 +#: dlltool.c:3362 dllwrap.c:204 #, c-format msgid "Tried file: %s" msgstr "Essai avec le fichier: %s" -#: dlltool.c:3399 dllwrap.c:216 +#: dlltool.c:3369 dllwrap.c:211 #, c-format msgid "Using file: %s" msgstr "Utilisation du fichier: %s" -#: dllwrap.c:299 +#: dllwrap.c:294 #, c-format msgid "Keeping temporary base file %s" msgstr "Conservation temportaire du fichier de base %s" -#: dllwrap.c:301 +#: dllwrap.c:296 #, c-format msgid "Deleting temporary base file %s" msgstr "Destruction du fichier de base temporaire %s" -#: dllwrap.c:315 +#: dllwrap.c:310 #, c-format msgid "Keeping temporary exp file %s" msgstr "Conservation du fichier temporaire exp %s" -#: dllwrap.c:317 +#: dllwrap.c:312 #, c-format msgid "Deleting temporary exp file %s" msgstr "Destruction du fichier exp temporaire %s" -#: dllwrap.c:330 +#: dllwrap.c:325 #, c-format msgid "Keeping temporary def file %s" msgstr "Conservation du fichier temporaire def %s" -#: dllwrap.c:332 +#: dllwrap.c:327 #, c-format msgid "Deleting temporary def file %s" msgstr "Destruction du fichier temporaire def %s" -#: dllwrap.c:480 +#: dllwrap.c:475 #, c-format msgid " Generic options:\n" msgstr " Option génériques:\n" -#: dllwrap.c:481 +#: dllwrap.c:476 +#, c-format +msgid " @ Read options from \n" +msgstr " @ lire les options à partir du \n" + +#: dllwrap.c:477 #, c-format msgid " --quiet, -q Work quietly\n" -msgstr " --quiet, -q travailler en silence\n" +msgstr " --quiet, -q travailler silencieusement\n" -#: dllwrap.c:482 +#: dllwrap.c:478 #, c-format msgid " --verbose, -v Verbose\n" msgstr " --verbose, -v travailler en mode bavard\n" -#: dllwrap.c:483 +#: dllwrap.c:479 #, c-format msgid " --version Print dllwrap version\n" msgstr " --version afficher la version du dllwrap\n" -#: dllwrap.c:484 +#: dllwrap.c:480 #, c-format msgid " --implib Synonym for --output-lib\n" msgstr " --implib identique à --output-lib\n" -#: dllwrap.c:485 +#: dllwrap.c:481 #, c-format msgid " Options for %s:\n" msgstr " Options pour %s:\n" -#: dllwrap.c:486 +#: dllwrap.c:482 #, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr " --driver-name par défaut « gcc »\n" -#: dllwrap.c:487 +#: dllwrap.c:483 #, c-format msgid " --driver-flags Override default ld flags\n" msgstr " --driver-flags écrasesr les fanions par défaut de ld\n" -#: dllwrap.c:488 +#: dllwrap.c:484 #, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr " --dlltool-name par défaut « dlltool »\n" -#: dllwrap.c:489 +#: dllwrap.c:485 #, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr " --entry spécifier une entrée alternative au point d'entrée du DLL\n" -#: dllwrap.c:490 +#: dllwrap.c:486 #, c-format msgid " --image-base Specify image base address\n" msgstr " --image-base spécifier une adresse de l'image de base\n" -#: dllwrap.c:491 +#: dllwrap.c:487 #, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr " --target i386-cygwin32 ou i386-mingw32\n" -#: dllwrap.c:492 +#: dllwrap.c:488 #, c-format msgid " --dry-run Show what needs to be run\n" msgstr " --dry-run afficher ce qui est nécessaire pour l'exécution\n" -#: dllwrap.c:493 +#: dllwrap.c:489 #, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr " --mno-cygwin créer une DLL de type Mingw\n" -#: dllwrap.c:494 +#: dllwrap.c:490 #, c-format msgid " Options passed to DLLTOOL:\n" msgstr " Options relayées à DLLTOOL:\n" -#: dllwrap.c:495 +#: dllwrap.c:491 #, c-format msgid " --machine \n" msgstr " --machine \n" -#: dllwrap.c:496 +#: dllwrap.c:492 #, c-format msgid " --output-exp Generate export file.\n" msgstr " --output-exp générer un fichier d'exports.\n" -#: dllwrap.c:497 +#: dllwrap.c:493 #, c-format msgid " --output-lib Generate input library.\n" msgstr " --output-lib générer une librairie d'entrée.\n" -#: dllwrap.c:498 +#: dllwrap.c:494 #, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr " --add-indirect ajouter les dll indirectes au fichier d'exports.\n" -#: dllwrap.c:499 +#: dllwrap.c:495 #, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr " --dllname nom du dll d'entrée à ajouter dans le fichier lib de sortie.\n" -#: dllwrap.c:500 +#: dllwrap.c:496 #, c-format msgid " --def Name input .def file\n" msgstr " --def nom du fichier d'entrée .def\n" -#: dllwrap.c:501 +#: dllwrap.c:497 #, c-format msgid " --output-def Name output .def file\n" msgstr " --output-def nom du fichier de sortie .def\n" -#: dllwrap.c:502 +#: dllwrap.c:498 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols exporter tous les symboles au fichier .def\n" -#: dllwrap.c:503 +#: dllwrap.c:499 #, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr " --no-export-all-symbols exporter seulement les symboles .drectve\n" -#: dllwrap.c:504 +#: dllwrap.c:500 #, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr " --exclude-symbols exclure la de .def\n" -#: dllwrap.c:505 +#: dllwrap.c:501 #, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr " --no-default-excludes ignorer les symboles par défaut d'exclusion\n" -#: dllwrap.c:506 +#: dllwrap.c:502 #, c-format msgid " --base-file Read linker generated base file\n" msgstr " --base-file lire le fichier de base généré par l'éditeur de liens\n" -#: dllwrap.c:507 +#: dllwrap.c:503 #, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr " --no-idata4 ne pas générer la section idata$4\n" -#: dllwrap.c:508 +#: dllwrap.c:504 #, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr " --no-idata5 ne pas générer la section idata$5\n" -#: dllwrap.c:509 +#: dllwrap.c:505 #, c-format msgid " -U Add underscores to .lib\n" msgstr " -U ajouter des soulignés au fichier .lib\n" -#: dllwrap.c:510 +#: dllwrap.c:506 #, c-format msgid " -k Kill @ from exported names\n" msgstr " -k stopper @ à partir des noms exportés\n" -#: dllwrap.c:511 +#: dllwrap.c:507 #, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr " --add-stdcall-alias ajouter les aliases sans @\n" -#: dllwrap.c:512 +#: dllwrap.c:508 #, c-format msgid " --as Use for assembler\n" msgstr " --as utiliser comme assembleur\n" -#: dllwrap.c:513 +#: dllwrap.c:509 #, c-format msgid " --nodelete Keep temp files.\n" msgstr " --nodelete conserver les fichiers temporaires.\n" -#: dllwrap.c:514 +#: dllwrap.c:510 #, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr " le reste est passé sans modification au pilote du langage\n" -#: dllwrap.c:784 +#: dllwrap.c:782 msgid "Must provide at least one of -o or --dllname options" msgstr "Obligation de fournir au moins une des options -o or --dllname" -#: dllwrap.c:813 +#: dllwrap.c:811 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" @@ -1115,3309 +1137,3365 @@ msgstr "" "aucun fichier d'exportation de définitions fourni.\n" "Création du fichier, mais il ne correspondra pas nécessairement à ce que vous désirez." -#: dllwrap.c:972 +#: dllwrap.c:970 #, c-format msgid "DLLTOOL name : %s\n" msgstr "OUTILDLL nom : %s\n" -#: dllwrap.c:973 +#: dllwrap.c:971 #, c-format msgid "DLLTOOL options : %s\n" msgstr "OUTILDLL options : %s\n" -#: dllwrap.c:974 +#: dllwrap.c:972 #, c-format msgid "DRIVER name : %s\n" msgstr "PILOTE name : %s\n" -#: dllwrap.c:975 +#: dllwrap.c:973 #, c-format msgid "DRIVER options : %s\n" msgstr "PILOTE options : %s\n" -#: emul_aix.c:51 +#: dwarf.c:93 dwarf.c:137 readelf.c:322 readelf.c:515 #, c-format -msgid " [-g] - 32 bit small archive\n" -msgstr " [-g] - petite archive de 32 bits\n" +msgid "Unhandled data length: %d\n" +msgstr "Taille de données non traitées: %d\n" -#: emul_aix.c:52 +#: dwarf.c:237 +msgid "badly formed extended line op encountered!\n" +msgstr "ligne rencontrée de l'extension de l'opérateur est mal composée!\n" + +#: dwarf.c:244 #, c-format -msgid " [-X32] - ignores 64 bit objects\n" -msgstr " [-X32] - ignore les objets de 64 bits\n" +msgid " Extended opcode %d: " +msgstr " Code op étendu %d: " -#: emul_aix.c:53 +#: dwarf.c:249 #, c-format -msgid " [-X64] - ignores 32 bit objects\n" -msgstr " [-X64] - ignore les objets de 32 bits\n" +msgid "" +"End of Sequence\n" +"\n" +msgstr "" +"Fin de séquence\n" +"\n" -#: emul_aix.c:54 +#: dwarf.c:255 #, c-format -msgid " [-X32_64] - accepts 32 and 64 bit objects\n" -msgstr " [-X32_64] - accepter les objets de 32 et 64 bits\n" +msgid "set Address to 0x%lx\n" +msgstr "initialisé l'adresse à 0x%lx\n" -#: ieee.c:311 -msgid "unexpected end of debugging information" -msgstr "fin inattendue des informations de débug" +#: dwarf.c:260 +#, c-format +msgid " define new File Table entry\n" +msgstr " définir une entrée pour un nouveau fichier de table\n" -#: ieee.c:398 -msgid "invalid number" -msgstr "numéro invalide" +#: dwarf.c:261 dwarf.c:1944 +#, c-format +msgid " Entry\tDir\tTime\tSize\tName\n" +msgstr " Entrée\tRép.\tDate\tTaille\tNom\n" -#: ieee.c:451 -msgid "invalid string length" -msgstr "longueur de chaîne invalide" +#: dwarf.c:263 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: ieee.c:506 ieee.c:547 -msgid "expression stack overflow" -msgstr "débordement de pile de l'expression" +#: dwarf.c:266 dwarf.c:268 dwarf.c:270 dwarf.c:1956 dwarf.c:1958 dwarf.c:1960 +#, c-format +msgid "%lu\t" +msgstr "%lu\t" -#: ieee.c:526 -msgid "unsupported IEEE expression operator" -msgstr "opérateur d'espression IEEE non supporté" +#: dwarf.c:271 +#, c-format +msgid "" +"%s\n" +"\n" +msgstr "" +"%s\n" +"\n" -#: ieee.c:541 -msgid "unknown section" -msgstr "section inconnue" +#: dwarf.c:275 +#, c-format +msgid "UNKNOWN: length %d\n" +msgstr "UNKNOWN: longueur %d\n" -#: ieee.c:562 -msgid "expression stack underflow" -msgstr "sous dépilage de l'expression" +#: dwarf.c:288 +msgid "" +msgstr "" -#: ieee.c:576 -msgid "expression stack mismatch" -msgstr "non concordance de l'expression dans la pile" +#: dwarf.c:294 +#, c-format +msgid "DW_FORM_strp offset too big: %lx\n" +msgstr "décalage DW_FORM_strp est trop grand: %lx\n" -#: ieee.c:613 -msgid "unknown builtin type" -msgstr "type de construit interne inconnu" +#: dwarf.c:295 +msgid "" +msgstr "" -#: ieee.c:758 -msgid "BCD float type not supported" -msgstr "type de numérotaion flottante BCD inconnue" +#: dwarf.c:528 +#, c-format +msgid "Unknown TAG value: %lx" +msgstr "Valeur d'étiquette (« TAG ») inconnue: %lx" -#: ieee.c:895 -msgid "unexpected number" -msgstr "numéro inattendu" +#: dwarf.c:564 +#, c-format +msgid "Unknown FORM value: %lx" +msgstr "Valeur FORM inconnue: %lx" -#: ieee.c:902 -msgid "unexpected record type" -msgstr "type d'enregistrement inattendu" +#: dwarf.c:573 +#, c-format +msgid " %lu byte block: " +msgstr " %lu bloc d'octets: " -#: ieee.c:935 -msgid "blocks left on stack at end" -msgstr "des blocs sont demeurés sur la pile à la fin" +#: dwarf.c:907 +#, c-format +msgid "(User defined location op)" +msgstr "(Op de localisation défini par l'usager)" -#: ieee.c:1198 -msgid "unknown BB type" -msgstr "type BB inconnu" +#: dwarf.c:909 +#, c-format +msgid "(Unknown location op)" +msgstr "(Op de localisation inconnu)" -#: ieee.c:1207 -msgid "stack overflow" -msgstr "débordement de la pile" +#: dwarf.c:955 +msgid "Internal error: DWARF version is not 2 or 3.\n" +msgstr "Erreur interne: DWARF version n'est ni 2 ou 3.\n" -#: ieee.c:1230 -msgid "stack underflow" -msgstr "sous dépilage de la pile" +#: dwarf.c:1053 +msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" +msgstr "DW_FORM_data8 n'est pas supporté lorsque sizeof (unsigned long) != 8\n" -#: ieee.c:1342 ieee.c:1412 ieee.c:2109 -msgid "illegal variable index" -msgstr "variable d'index illégale" +#: dwarf.c:1102 +#, c-format +msgid " (indirect string, offset: 0x%lx): %s" +msgstr " (chaîne indirecte, décalage: 0x%lx): %s" -#: ieee.c:1390 -msgid "illegal type index" -msgstr "type d'index illégal" - -#: ieee.c:1400 ieee.c:1437 -msgid "unknown TY code" -msgstr "code TY inconnu" +#: dwarf.c:1111 +#, c-format +msgid "Unrecognized form: %lu\n" +msgstr "Forme non reconnue: %lu\n" -#: ieee.c:1419 -msgid "undefined variable in TY" -msgstr "variable non définie dans TY" +#: dwarf.c:1196 +#, c-format +msgid "(not inlined)" +msgstr "(pas en ligne)" -#. Pascal file name. FIXME. -#: ieee.c:1830 -msgid "Pascal file name not supported" -msgstr "Nom de fichier Pascal non supporté" +#: dwarf.c:1199 +#, c-format +msgid "(inlined)" +msgstr "(en ligne)" -#: ieee.c:1878 -msgid "unsupported qualifier" -msgstr "qualificateur non supporté" +#: dwarf.c:1202 +#, c-format +msgid "(declared as inline but ignored)" +msgstr "(déclaré comme en ligne mais ignoré)" -#: ieee.c:2147 -msgid "undefined variable in ATN" -msgstr "variable non définie dans ATN" +#: dwarf.c:1205 +#, c-format +msgid "(declared as inline and inlined)" +msgstr "(déclaré comme en-ligne et en-ligné" -#: ieee.c:2190 -msgid "unknown ATN type" -msgstr "type ATN inconnu" +#: dwarf.c:1208 +#, c-format +msgid " (Unknown inline attribute value: %lx)" +msgstr " (valeur d'attribut en ligne inconnu: %lx)" -#. Reserved for FORTRAN common. -#: ieee.c:2312 -msgid "unsupported ATN11" -msgstr "ATN11 non supporté" +#: dwarf.c:1354 dwarf.c:2484 +#, c-format +msgid " [without DW_AT_frame_base]" +msgstr " [sans DW_AT_frame_base]" -#. We have no way to record this information. FIXME. -#: ieee.c:2339 -msgid "unsupported ATN12" -msgstr "ATN2 non supporté" +#: dwarf.c:1357 +#, c-format +msgid "(location list)" +msgstr "(liste de localisation)" -#: ieee.c:2399 -msgid "unexpected string in C++ misc" -msgstr "chaîne inattendue dans misc en C++" +#: dwarf.c:1475 +#, c-format +msgid "Unknown AT value: %lx" +msgstr "Valeur AT inconnue: %lx" -#: ieee.c:2412 -msgid "bad misc record" -msgstr "mauvais enregistrement misc" +#: dwarf.c:1544 +#, c-format +msgid "No comp units in %s section ?" +msgstr "Pas d'unités de comptabilisation dans la section %s ?" -#: ieee.c:2453 -msgid "unrecognized C++ misc record" -msgstr "enregistrement misc non reconnu en C++" +#: dwarf.c:1553 +#, c-format +msgid "Not enough memory for a debug info array of %u entries" +msgstr "Pas asses de mémoire pour les infos dans un tableau de mise au point de %u entrées" -#: ieee.c:2568 -msgid "undefined C++ object" -msgstr "objet indéfini en C++" +#: dwarf.c:1561 dwarf.c:2573 +#, c-format +msgid "" +"The section %s contains:\n" +"\n" +msgstr "" +"La section %s contient:\n" +"\n" -#: ieee.c:2602 -msgid "unrecognized C++ object spec" -msgstr "spécification d'objet non reconnu en C++" +#: dwarf.c:1569 +#, c-format +msgid "Unable to locate %s section!\n" +msgstr "Incapable de localiser la section %s!\n" -#: ieee.c:2638 -msgid "unsupported C++ object type" -msgstr "type d'objet non supporté en C++" +#: dwarf.c:1635 +#, c-format +msgid " Compilation Unit @ offset 0x%lx:\n" +msgstr " Unité de compilation @ décalée de 0x%lx:\n" -#: ieee.c:2648 -msgid "C++ base class not defined" -msgstr "classe de base non définie en C++" +#: dwarf.c:1636 +#, c-format +msgid " Length: %ld\n" +msgstr " Longueur: %ld\n" -#: ieee.c:2660 ieee.c:2765 -msgid "C++ object has no fields" -msgstr "objet n'ayant pas de champ en C++" +#: dwarf.c:1637 +#, c-format +msgid " Version: %d\n" +msgstr " Version: %d\n" -#: ieee.c:2679 -msgid "C++ base class not found in container" -msgstr "classe de base non repéré dans le conteneur en C++" +#: dwarf.c:1638 +#, c-format +msgid " Abbrev Offset: %ld\n" +msgstr " Décalage agrégé: %ld\n" -#: ieee.c:2786 -msgid "C++ data member not found in container" -msgstr "membre des données non repéré dans le conteneur en C++" +#: dwarf.c:1639 +#, c-format +msgid " Pointer Size: %d\n" +msgstr " Taille des pointeurs: %d\n" -#: ieee.c:2827 ieee.c:2977 -msgid "unknown C++ visibility" -msgstr "visibilité C++ inconnue" +#: dwarf.c:1644 +msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" +msgstr "Seuls les informations de débug de la version DWARF 2 et 3 sont couramment supportés.\n" -#: ieee.c:2861 -msgid "bad C++ field bit pos or size" -msgstr "mauvais champ de bit pos ou de taille en C++" +#: dwarf.c:1685 +#, c-format +msgid "Unable to locate entry %lu in the abbreviation table\n" +msgstr "Incapable de localiser l'entrée %lu dans la table d'abréviation\n" -#: ieee.c:2953 -msgid "bad type for C++ method function" -msgstr "mauvais type pour le méthode d'une fonction en C++" +#: dwarf.c:1691 +#, c-format +msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" +msgstr " <%d><%lx>: Numéro d'abréviation: %lu (%s)\n" -#: ieee.c:2963 -msgid "no type information for C++ method function" -msgstr "aucune information sur le type pour la méthode de la fonction en C++" +#: dwarf.c:1785 +#, c-format +msgid "%s section needs a populated .debug_info section\n" +msgstr "%s la section a besoin d'une section .debug_info_section\n" -#: ieee.c:3002 -msgid "C++ static virtual method" -msgstr "méthode statique virtuelle en C++" +#: dwarf.c:1792 +#, c-format +msgid "%s section has more comp units than .debug_info section\n" +msgstr "%s la section a plus d'unités de comptabilisation que la section .debug_info_section\n" -#: ieee.c:3097 -msgid "unrecognized C++ object overhead spec" -msgstr "spécification de l'en-tête de l'objet en C++ n'est pas reconnue" +#: dwarf.c:1794 +#, c-format +msgid "" +"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" +"\n" +msgstr "" +"on assume que la taille du pointeur est %d à partir de la dernière unité de comptabilisation dans .debug_info\n" +"\n" -#: ieee.c:3136 -msgid "undefined C++ vtable" -msgstr "vtable non définie en C++" +#: dwarf.c:1819 +#, c-format +msgid "" +"\n" +"Dump of debug contents of section %s:\n" +"\n" +msgstr "" +"\n" +"Vidange du contenu de débug de la section %s:\n" +"\n" -#: ieee.c:3205 -msgid "C++ default values not in a function" -msgstr "valeurs par défaut ne sont pas dans une fonction en C++" +#: dwarf.c:1858 +msgid "The line info appears to be corrupt - the section is too small\n" +msgstr "La ligne d'information semble corrompue - la section est trop petite\n" -#: ieee.c:3245 -msgid "unrecognized C++ default type" -msgstr "type par défaut en C++ n'est pas reconnu" +#: dwarf.c:1867 +msgid "Only DWARF version 2 and 3 line info is currently supported.\n" +msgstr "Seule la ligne d'info DWARF de version 2 et 3 est couramment supportée.\n" -#: ieee.c:3276 -msgid "reference parameter is not a pointer" -msgstr "paramètre de la référence n'est pas un pointeur" +#: dwarf.c:1894 +#, c-format +msgid " Length: %ld\n" +msgstr " Longueur: %ld\n" -#: ieee.c:3359 -msgid "unrecognized C++ reference type" -msgstr "référence du type en C++ n'est pas reconnue" +#: dwarf.c:1895 +#, c-format +msgid " DWARF Version: %d\n" +msgstr " Version DWARF: %d\n" -#: ieee.c:3441 -msgid "C++ reference not found" -msgstr "la référence n'a pas été retrouvée en C++" +#: dwarf.c:1896 +#, c-format +msgid " Prologue Length: %d\n" +msgstr " Longueur du prologue: %d\n" -#: ieee.c:3449 -msgid "C++ reference is not pointer" -msgstr "la référence n'est pas un pointeur en C++" +#: dwarf.c:1897 +#, c-format +msgid " Minimum Instruction Length: %d\n" +msgstr " Longueur minimale des instructions: %d\n" -#: ieee.c:3475 ieee.c:3483 -msgid "missing required ASN" -msgstr "ASN requis est absent" +#: dwarf.c:1898 +#, c-format +msgid " Initial value of 'is_stmt': %d\n" +msgstr " Valeur initiale de « is_stmt »: %d\n" -#: ieee.c:3510 ieee.c:3518 -msgid "missing required ATN65" -msgstr "ATN65 requis est absent" +#: dwarf.c:1899 +#, c-format +msgid " Line Base: %d\n" +msgstr " Ligne de base: %d\n" -#: ieee.c:3532 -msgid "bad ATN65 record" -msgstr "mauvais enregistrement ATN65" +#: dwarf.c:1900 +#, c-format +msgid " Line Range: %d\n" +msgstr " Ligne d'étendue: %d\n" -#: ieee.c:4160 +#: dwarf.c:1901 #, c-format -msgid "IEEE numeric overflow: 0x" -msgstr "débordement numériquie IEEE: Ox" +msgid " Opcode Base: %d\n" +msgstr " Code op Base: %d\n" -#: ieee.c:4204 +#: dwarf.c:1902 #, c-format -msgid "IEEE string length overflow: %u\n" -msgstr "débordement de la longueur de la chaîne IEEE: %u\n" +msgid " (Pointer size: %u)%s\n" +msgstr " (Taille des pointeurs: %u)%s\n" -#: ieee.c:5203 +#: dwarf.c:1913 #, c-format -msgid "IEEE unsupported integer type size %u\n" -msgstr "taille de type d'entier IEEE non supporté %u\n" +msgid "" +"\n" +" Opcodes:\n" +msgstr "" +"\n" +" Codes op:\n" -#: ieee.c:5237 +#: dwarf.c:1916 #, c-format -msgid "IEEE unsupported float type size %u\n" -msgstr "taille de type de nombre IEEE en notation flottante non supporté %u\n" +msgid " Opcode %d has %d args\n" +msgstr " Code op %d a %d arguments\n" -#: ieee.c:5271 +#: dwarf.c:1922 #, c-format -msgid "IEEE unsupported complex type size %u\n" -msgstr "taille de nombre complexe IEEE non supportée %u\n" +msgid "" +"\n" +" The Directory Table is empty.\n" +msgstr "" +"\n" +" La table des répertoires est vide.\n" -#: nlmconv.c:267 srconv.c:1810 -msgid "input and output files must be different" -msgstr "fichiers d'entrée et de sortie doivent être différents" +#: dwarf.c:1925 +#, c-format +msgid "" +"\n" +" The Directory Table:\n" +msgstr "" +"\n" +" La table des répertoire:\n" -#: nlmconv.c:314 -msgid "input file named both on command line and with INPUT" -msgstr "fichier d'entrée nommé à la fois sur la ligne de commande et dans la champ INPUT" +#: dwarf.c:1929 +#, c-format +msgid " %s\n" +msgstr " %s\n" -#: nlmconv.c:323 -msgid "no input file" -msgstr "aucun fichier d'entrée" +#: dwarf.c:1940 +#, c-format +msgid "" +"\n" +" The File Name Table is empty.\n" +msgstr "" +"\n" +" La talbe des noms de fichiers est vide.\n" -#: nlmconv.c:353 -msgid "no name for output file" -msgstr "aucun nom pour le fichier de sortie" +#: dwarf.c:1943 +#, c-format +msgid "" +"\n" +" The File Name Table:\n" +msgstr "" +"\n" +" La table des noms de fichiers:\n" -#: nlmconv.c:367 -msgid "warning: input and output formats are not compatible" -msgstr "AVERTISSEMENT: les formats d'entrée et de sortie sont incompatibles" +#: dwarf.c:1951 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: nlmconv.c:396 -msgid "make .bss section" -msgstr "générer la section .bss" +#: dwarf.c:1962 +#, c-format +msgid "%s\n" +msgstr "%s\n" -#: nlmconv.c:405 -msgid "make .nlmsections section" -msgstr "générer la section .nlmsections" +#. Now display the statements. +#: dwarf.c:1970 +#, c-format +msgid "" +"\n" +" Line Number Statements:\n" +msgstr "" +"\n" +" Numéro de ligne des déclarations:\n" -#: nlmconv.c:407 -msgid "set .nlmsections flags" -msgstr "initialiser les fanions .nlmsections" +#: dwarf.c:1986 +#, c-format +msgid " Special opcode %d: advance Address by %lu to 0x%lx" +msgstr " Op code spécial %d: devance l'adresse par %lu à 0x%lx" -#: nlmconv.c:435 -msgid "set .bss vma" -msgstr "initialiser le vma de la section .bss" +#: dwarf.c:1990 +#, c-format +msgid " and Line by %d to %d\n" +msgstr " et Ligne par %d à %d\n" -#: nlmconv.c:442 -msgid "set .data size" -msgstr "initialiser la taille de la section .data" +#: dwarf.c:1998 +msgid "Extend line ops need a valid pointer size, guessing at 4\n" +msgstr "opérateur de ligne étendue a besoin d'une taille valide pour le pointeur, on essaye à 4\n" -#: nlmconv.c:622 +#: dwarf.c:2007 #, c-format -msgid "warning: symbol %s imported but not in import list" -msgstr "AVERTISSEMENT: symbole %s importé mais n'est pas dans la liste d'importation" +msgid " Copy\n" +msgstr " Copie\n" -#: nlmconv.c:642 -msgid "set start address" -msgstr "initialiser l'adresse de départ" +#: dwarf.c:2015 +#, c-format +msgid " Advance PC by %lu to 0x%lx\n" +msgstr " Avancer le compteur PC de %lu à 0x%lx\n" -#: nlmconv.c:691 +#: dwarf.c:2023 #, c-format -msgid "warning: START procedure %s not defined" -msgstr "AVERTISSEMENT: procédure START %s n'est pas définie" +msgid " Advance Line by %d to %d\n" +msgstr " Avancer la ligne de %d à %d\n" -#: nlmconv.c:693 +#: dwarf.c:2030 #, c-format -msgid "warning: EXIT procedure %s not defined" -msgstr "AVERTISSEMENT: procédure EXIT %s n'est pas définie" +msgid " Set File Name to entry %d in the File Name Table\n" +msgstr " Initialisé le nom du fichier à l'entrée %d dans la table des noms de fichiers\n" -#: nlmconv.c:695 +#: dwarf.c:2038 #, c-format -msgid "warning: CHECK procedure %s not defined" -msgstr "AVERTISSEMENT: procédure CHECK %s n'est pas définie" +msgid " Set column to %lu\n" +msgstr " Initialiser la colonne à %lu\n" -#: nlmconv.c:716 nlmconv.c:905 -msgid "custom section" -msgstr "section « custom »" +#: dwarf.c:2045 +#, c-format +msgid " Set is_stmt to %d\n" +msgstr " Initialisé is_stmt avec %d\n" -#: nlmconv.c:737 nlmconv.c:934 -msgid "help section" -msgstr "section d'aide" +#: dwarf.c:2050 +#, c-format +msgid " Set basic block\n" +msgstr " Initialisé le bloc de base\n" -#: nlmconv.c:759 nlmconv.c:952 -msgid "message section" -msgstr "section message" +#: dwarf.c:2058 +#, c-format +msgid " Advance PC by constant %lu to 0x%lx\n" +msgstr " Avancer le compteur PC par une constante de %lu à 0x%lx\n" -#: nlmconv.c:775 nlmconv.c:985 -msgid "module section" -msgstr "section module" +#: dwarf.c:2066 +#, c-format +msgid " Advance PC by fixed size amount %lu to 0x%lx\n" +msgstr " Avancer le compteur PC par une taille fixe de %lu à 0x%lx\n" -#: nlmconv.c:795 nlmconv.c:1001 -msgid "rpc section" -msgstr "section rpc" +#: dwarf.c:2071 +#, c-format +msgid " Set prologue_end to true\n" +msgstr " Initialiser prologue_end à VRAI\n" -#. There is no place to record this information. -#: nlmconv.c:831 +#: dwarf.c:2075 #, c-format -msgid "%s: warning: shared libraries can not have uninitialized data" -msgstr "%s: AVERTISSEMENT: les librairies partagées ne peuvent avoir des données non initialisées" +msgid " Set epilogue_begin to true\n" +msgstr " Initialiser epilogue_begin à VRAI\n" -#: nlmconv.c:852 nlmconv.c:1020 -msgid "shared section" -msgstr "section partagée" +#: dwarf.c:2081 +#, c-format +msgid " Set ISA to %lu\n" +msgstr " Initialiser ISA à %lu\n" -#: nlmconv.c:860 -msgid "warning: No version number given" -msgstr "AVERTISSEMENT: aucun numéro de version fourni" +#: dwarf.c:2085 +#, c-format +msgid " Unknown opcode %d with operands: " +msgstr " opcode inconnu %d avec les opérandes:" -#: nlmconv.c:900 nlmconv.c:929 nlmconv.c:947 nlmconv.c:996 nlmconv.c:1015 +#: dwarf.c:2111 dwarf.c:2197 dwarf.c:2271 dwarf.c:2382 dwarf.c:2514 +#: dwarf.c:2739 #, c-format -msgid "%s: read: %s" -msgstr "%s: lu: %s" +msgid "" +"Contents of the %s section:\n" +"\n" +msgstr "" +"Contenue de la section %s:\n" +"\n" -#: nlmconv.c:922 -msgid "warning: FULLMAP is not supported; try ld -M" -msgstr "AVERTISSEMENT: FULLMAP n'est pas supporté; essayer ld -M" +#: dwarf.c:2151 +msgid "Only DWARF 2 and 3 pubnames are currently supported\n" +msgstr "Seuls les noms publics DWARF 2 et 3 sont couramment supportés\n" -#: nlmconv.c:1098 +#: dwarf.c:2158 #, c-format -msgid "Usage: %s [option(s)] [in-file [out-file]]\n" -msgstr "Usage: %s [options] fichier_entrée [fichier_sortie]\n" +msgid " Length: %ld\n" +msgstr " Longueur: %ld\n" -#: nlmconv.c:1099 +#: dwarf.c:2160 #, c-format -msgid " Convert an object file into a NetWare Loadable Module\n" -msgstr "Convertir un fichier objet en un module NetWare Loadable\n" +msgid " Version: %d\n" +msgstr " Version: %d\n" -#: nlmconv.c:1100 +#: dwarf.c:2162 +#, c-format +msgid " Offset into .debug_info section: %ld\n" +msgstr " Décalage dans la section .debug_info:%ld\n" + +#: dwarf.c:2164 +#, c-format +msgid " Size of area in .debug_info section: %ld\n" +msgstr " Taille de la zone dans la section .debug_info: %ld\n" + +#: dwarf.c:2167 #, c-format msgid "" -" The options are:\n" -" -I --input-target= Set the input binary file format\n" -" -O --output-target= Set the output binary file format\n" -" -T --header-file= Read for NLM header information\n" -" -l --linker= Use for any linking\n" -" -d --debug Display on stderr the linker command line\n" -" -h --help Display this information\n" -" -v --version Display the program's version\n" +"\n" +" Offset\tName\n" msgstr "" -"Les options sont:\n" -" -I --input-target= sélectionner le format binaire du fichier d'entrée\n" -" -O --output-target= sélectionner le format binaire du fichier de sortie\n" -" -T --header-file= lire les informations NLM du \n" -" -l --linker= utiliser l'éditeur de pour toutes éditions\n" -" -d --debug afficher la ligne de commande sur stderr\n" -" -h --help afficher l'aide-mémoire\n" -" -V --version afficher le nom et la version du logiciel\n" +"\n" +" Décalage\tNom\n" -#: nlmconv.c:1140 +#: dwarf.c:2218 #, c-format -msgid "support not compiled in for %s" -msgstr "soutien non compilé pour %s" +msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" +msgstr " DW_MACINFO_start_file - no de ligne: %d no de fichier: %d\n" -#: nlmconv.c:1177 -msgid "make section" -msgstr "section make" +#: dwarf.c:2224 +#, c-format +msgid " DW_MACINFO_end_file\n" +msgstr " DW_MACINFO_end_file\n" -#: nlmconv.c:1191 -msgid "set section size" -msgstr "initialisation de la taille de la section" +#: dwarf.c:2232 +#, c-format +msgid " DW_MACINFO_define - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_define - no de ligne : %d macro : %s\n" -#: nlmconv.c:1197 -msgid "set section alignment" -msgstr "initialisation de l'alignement de la section" +#: dwarf.c:2241 +#, c-format +msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_undef - no de ligne : %d macro : %s\n" -#: nlmconv.c:1201 -msgid "set section flags" -msgstr "initialisation des fanions de la section" +#: dwarf.c:2253 +#, c-format +msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" +msgstr " DW_MACINFO_vendor_ext - constante : %d chaîne : %s\n" -#: nlmconv.c:1212 -msgid "set .nlmsections size" -msgstr "initialisation de la taille de .nlmsections" +#: dwarf.c:2282 +#, c-format +msgid " Number TAG\n" +msgstr " Numéro d'étiquette\n" -#: nlmconv.c:1293 nlmconv.c:1301 nlmconv.c:1310 nlmconv.c:1315 -msgid "set .nlmsection contents" -msgstr "initialisation du contenu de .nlmsection" +#: dwarf.c:2288 +#, c-format +msgid " %ld %s [%s]\n" +msgstr " %ld %s [%s]\n" -#: nlmconv.c:1794 -msgid "stub section sizes" -msgstr "taille de la section stub" +#: dwarf.c:2291 +msgid "has children" +msgstr "a des rejetons" -#: nlmconv.c:1841 -msgid "writing stub" -msgstr "écriture du stub" +#: dwarf.c:2291 +msgid "no children" +msgstr "aucun rejeton" -#: nlmconv.c:1925 +#: dwarf.c:2294 #, c-format -msgid "unresolved PC relative reloc against %s" -msgstr "relocalisation relative sur PC non résolue de %s" +msgid " %-18s %s\n" +msgstr " %-18s %s\n" -#: nlmconv.c:1989 +#: dwarf.c:2327 dwarf.c:2510 dwarf.c:2684 #, c-format -msgid "overflow when adjusting relocation against %s" -msgstr "débordement lors de la relocalisation de %s" +msgid "" +"\n" +"The %s section is empty.\n" +msgstr "" +"\n" +"La section %s est vide.\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2372 +msgid "Location lists in .debug_info section aren't in ascending order!\n" +msgstr "Liste de localisation dans la ssection .debug_info ne sont pas en ordre ascendant!\n" + +#: dwarf.c:2375 +msgid "No location lists in .debug_info section!\n" +msgstr "Pas de liste de localisation dans la section .debug_info!\n" -#: nlmconv.c:2116 +#: dwarf.c:2379 #, c-format -msgid "%s: execution of %s failed: " -msgstr "%s: échec d'exécution de %s :" +msgid "Location lists in %s section start at 0x%lx\n" +msgstr "Listes de localisation dans la section %s qui débute à 0x%lx\n" -#: nlmconv.c:2131 +#: dwarf.c:2383 #, c-format -msgid "Execution of %s failed" -msgstr "Échec d'exécution de %s" +msgid " Offset Begin End Expression\n" +msgstr " Décalage Début Fin Expression\n" -#: nm.c:224 size.c:80 strings.c:651 +#: dwarf.c:2414 #, c-format -msgid "Usage: %s [option(s)] [file(s)]\n" -msgstr "Usage: %s [options] fichiers\n" +msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_loc.\n" -#: nm.c:225 +#: dwarf.c:2417 #, c-format -msgid " List symbols in [file(s)] (a.out by default).\n" -msgstr "Afficher les symboles des [fichiers] (a.out par défaut).\n" +msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Il y a un chevauchement [0x%lx - 0x%lx] dans la section .debug_loc.\n" -#: nm.c:226 +#: dwarf.c:2424 #, c-format -msgid "" -" The options are:\n" -" -a, --debug-syms Display debugger-only symbols\n" -" -A, --print-file-name Print name of the input file before every symbol\n" -" -B Same as --format=bsd\n" -" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" -" The STYLE, if specified, can be `auto' (the default),\n" -" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" --no-demangle Do not demangle low-level symbol names\n" -" -D, --dynamic Display dynamic symbols instead of normal symbols\n" -" --defined-only Display only defined symbols\n" -" -e (ignored)\n" -" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" -" `sysv' or `posix'. The default is `bsd'\n" -" -g, --extern-only Display only external symbols\n" -" -l, --line-numbers Use debugging information to find a filename and\n" -" line number for each symbol\n" -" -n, --numeric-sort Sort symbols numerically by address\n" -" -o Same as -A\n" -" -p, --no-sort Do not sort the symbols\n" -" -P, --portability Same as --format=posix\n" -" -r, --reverse-sort Reverse the sense of the sort\n" -" -S, --print-size Print size of defined symbols\n" -" -s, --print-armap Include index for symbols from archive members\n" -" --size-sort Sort symbols by size\n" -" --special-syms Include special symbols in the output\n" -" --synthetic Display synthetic symbols as well\n" -" -t, --radix=RADIX Use RADIX for printing symbol values\n" -" --target=BFDNAME Specify the target object format as BFDNAME\n" -" -u, --undefined-only Display only undefined symbols\n" -" -X 32_64 (ignored)\n" -" -h, --help Display this information\n" -" -V, --version Display this program's version number\n" -"\n" -msgstr "" -"Les options sont:\n" -" -a, --debug-syms afficher seulement les symboles de débug\n" -" -A, --print-file-name afficher le nom du fichier d'entrée avant chaque symbole\n" -" -B identique à --format=bsd\n" -" -C, --demangle[=STYLE] décoder les noms des symboles de bas niveau en noms de ceux\n" -" du niveau usager. Le STYLE, si spécifié, peut être « auto »\n" -" (par défaut), « gnu », « lucid », « arm », « hp », « edg » ou « gnu-new-abi »,\n" -" --no-demangle ne pas encoder par mutilation les noms des symboles de bas niveau\n" -" -D, --dynamic afficher les symboles dynamiques au lieu des symboles normaux\n" -" --defined-only afficher seulement les symboles définis\n" -" -e (ignoré)\n" -" -f, --format=FORMAT utiliser le FORMAT de sortie qui peut être « bsd » (par défaut),\n" -" « sysv » ou « posix ».\n" -" -g, --extern-only afficher seulement les symboles externes\n" -" -l, --line-numbers utiliser les informations de débug pour repérer le nom de fichier\n" -" et un numéro de ligne pour chaque symbole\n" -" -n, --numeric-sort trier les symboles numériquement par adresse\n" -" -o identique à -A\n" -" -p, --no-sort ne pas trier les symboles\n" -" -P, --portability identique à --format=posix\n" -" -r, --reverse-sort trier en ordre inverse\n" -" -S, --print-size afficher la taille des symboles définis\n" -" -s, --print-armap inclure un index pour les symboles à partir des membres de l'archive\n" -" --size-sort trier les symboles par leur taille\n" -" --special-syms inclure les symboles spéciaux sur la sortie\n" -" --synthetic afficher les symboles synthétiques\n" -" -t, --radix=BASE utiliser la BASE numérique pour afficher la valeur des symboles\n" -" --target=NOM_BFD spécifier la cible du format de l'objet par le NOM_BFD\n" -" -u, --undefined-only afficher seulement les symboles indéfinis\n" -" -V, --version afficher le nom et la version du logiciel\n" -" -X 32_64 (ignoré)\n" -" -h --help afficher l'aide-mémoire\n" -" -V --version afficher le nom et la version du logiciel\n" -"\n" +msgid "Offset 0x%lx is bigger than .debug_loc section size.\n" +msgstr "Le décalage 0x%lx est plus grand que la taille de la section .debug_loc.\n" -#: nm.c:262 objdump.c:232 +#: dwarf.c:2433 dwarf.c:2460 dwarf.c:2470 #, c-format -msgid "Report bugs to %s.\n" -msgstr "Rapporter toutes anomalies à %s\n" +msgid "Location list starting at offset 0x%lx is not terminated.\n" +msgstr "La liste de localisation débutan à l'adresse 0x%lx n'est pas terminée.\n" -#: nm.c:294 +#: dwarf.c:2445 dwarf.c:2784 #, c-format -msgid "%s: invalid radix" -msgstr "%s: base numérique invalide" +msgid " %8.8lx \n" +msgstr " %8.8lx \n" -#: nm.c:318 +#: dwarf.c:2453 #, c-format -msgid "%s: invalid output format" -msgstr "%s: format de sortie invalide" +msgid " %8.8lx %8.8lx %8.8lx (base address)\n" +msgstr " %8.8lx %8.8lx %8.8lx (adresse de base)\n" -#: nm.c:339 readelf.c:6342 readelf.c:6378 +#: dwarf.c:2487 dwarf.c:2801 +msgid " (start == end)" +msgstr " (début == fin)" + +#: dwarf.c:2489 dwarf.c:2803 +msgid " (start > end)" +msgstr " (début > fin)" + +#: dwarf.c:2618 +msgid "Only DWARF 2 and 3 aranges are currently supported.\n" +msgstr "Seuls les aranges DWARF de version 2 et 3 sont couramment supportés.\n" + +#: dwarf.c:2622 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Length: %ld\n" +msgstr " Longueur %ld\n" -#: nm.c:341 readelf.c:6345 readelf.c:6390 +#: dwarf.c:2623 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Version: %d\n" +msgstr " Version: %d\n" -#: nm.c:343 readelf.c:6347 readelf.c:6393 +#: dwarf.c:2624 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Offset into .debug_info: %lx\n" +msgstr " Décalage dans .debug_info: %lx\n" -#: nm.c:380 +#: dwarf.c:2625 #, c-format -msgid "" -"\n" -"Archive index:\n" -msgstr "" -"\n" -"Indexe de l'archive:\n" +msgid " Pointer Size: %d\n" +msgstr " Taille des pointeurs: %d\n" -#: nm.c:1225 +#: dwarf.c:2626 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s:\n" -"\n" -msgstr "" -"\n" -"\n" -"Symboles indéfinis dans %s:\n" -"\n" +msgid " Segment Size: %d\n" +msgstr " Taille des segments: %d\n" -#: nm.c:1227 +#: dwarf.c:2628 #, c-format msgid "" "\n" -"\n" -"Symbols from %s:\n" -"\n" +" Address Length\n" msgstr "" "\n" -"\n" -"Symboles de %s:\n" -"\n" +" Longueur d'adresse\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2729 +msgid "Range lists in .debug_info section aren't in ascending order!\n" +msgstr "Liste des étendues dans la section .debug_info n'est pas en ordre ascendant!\n" + +#: dwarf.c:2732 +msgid "No range lists in .debug_info section!\n" +msgstr "Aucune liste d'étendues dans la section .debug_info!\n" -#: nm.c:1229 nm.c:1280 +#: dwarf.c:2736 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Nom Valeur Classe Type Taille Ligne Section\n" -"\n" +msgid "Range lists in %s section start at 0x%lx\n" +msgstr "Listes d'étendues dans la section %s débutent à 0x%lx\n" -#: nm.c:1232 nm.c:1283 +#: dwarf.c:2740 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Nom Valeur Classe Type Taille Ligne Section\n" -"\n" +msgid " Offset Begin End\n" +msgstr " Décalage Début Fin\n" -#: nm.c:1276 +#: dwarf.c:2765 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Symboles indéfinis dans %s[%s]:\n" -"\n" +msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n" +msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section %s.\n" -#: nm.c:1278 +#: dwarf.c:2769 #, c-format -msgid "" -"\n" -"\n" -"Symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Symboles de %s[%s]:\n" -"\n" +msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n" +msgstr "Il y a un chevauchement [0x%lx - 0x%lx] dans la section %s.\n" -#: nm.c:1580 -msgid "Only -X 32_64 is supported" -msgstr "Seul -X 32_64 est supporté" +#: dwarf.c:2964 +#, c-format +msgid "The section %s contains:\n" +msgstr "La section %s contient:\n" -#: nm.c:1600 -msgid "Using the --size-sort and --undefined-only options together" -msgstr "Utiliser ensemble les options --size-sort et --undefined-only" +#: dwarf.c:3608 +#, c-format +msgid "unsupported or unknown DW_CFA_%d\n" +msgstr "DW_CFA_%d non supporté ou inconnu\n" -#: nm.c:1601 -msgid "will produce no output, since undefined symbols have no size." -msgstr "ne produira aucune sortie étant donnée que les symboles n'ont aucune taille." +#: dwarf.c:3632 +#, c-format +msgid "Displaying the debug contents of section %s is not yet supported.\n" +msgstr "L'affichage du contenu de la section de débug %s n'est pas encore supporté.\n" -#: nm.c:1629 +#: dwarf.c:3674 #, c-format -msgid "data size %ld" -msgstr "taille des donnée %ld" +msgid "%s: Error: " +msgstr "%s: ERREUR: " -#: objcopy.c:396 srconv.c:1721 +#: dwarf.c:3685 #, c-format -msgid "Usage: %s [option(s)] in-file [out-file]\n" -msgstr "Usage: %s [options] fichier_d_entrée [fichier_de_sortie]\n" +msgid "%s: Warning: " +msgstr "%s: AVERTISSEMENT: " -#: objcopy.c:397 +#: emul_aix.c:51 #, c-format -msgid " Copies a binary file, possibly transforming it in the process\n" -msgstr "Copier un fichier binaire, possiblement le transformer durant le traitement\n" +msgid " [-g] - 32 bit small archive\n" +msgstr " [-g] - petite archive de 32 bits\n" -#: objcopy.c:398 objcopy.c:487 +#: emul_aix.c:52 #, c-format -msgid " The options are:\n" -msgstr " Les options sont:\n" +msgid " [-X32] - ignores 64 bit objects\n" +msgstr " [-X32] - ignore les objets de 64 bits\n" -#: objcopy.c:399 +#: emul_aix.c:53 #, c-format -msgid "" -" -I --input-target Assume input file is in format \n" -" -O --output-target Create an output file in format \n" -" -B --binary-architecture Set arch of output file, when input is binary\n" -" -F --target Set both input and output format to \n" -" --debugging Convert debugging information, if possible\n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -j --only-section Only copy section into the output\n" -" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" -" -R --remove-section Remove section from the output\n" -" -S --strip-all Remove all symbol and relocation information\n" -" -g --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" -N --strip-symbol Do not copy symbol \n" -" --strip-unneeded-symbol \n" -" Do not copy symbol unless needed by\n" -" relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -K --keep-symbol Only copy symbol \n" -" -L --localize-symbol Force symbol to be marked as a local\n" -" -G --keep-global-symbol Localize all symbols except \n" -" -W --weaken-symbol Force symbol to be marked as a weak\n" -" --weaken Force all global symbols to be marked as weak\n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -i --interleave Only copy one out of every bytes\n" -" -b --byte Select byte in every interleaved block\n" -" --gap-fill Fill gaps between sections with \n" -" --pad-to Pad the last section up to address \n" -" --set-start Set the start address to \n" -" {--change-start|--adjust-start} \n" -" Add to the start address\n" -" {--change-addresses|--adjust-vma} \n" -" Add to LMA, VMA and start addresses\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Change LMA and VMA of section by \n" -" --change-section-lma {=|+|-}\n" -" Change the LMA of section by \n" -" --change-section-vma {=|+|-}\n" -" Change the VMA of section by \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" Warn if a named section does not exist\n" -" --set-section-flags =\n" -" Set section 's properties to \n" -" --add-section = Add section found in to output\n" -" --rename-section =[,] Rename section to \n" -" --change-leading-char Force output format's leading character style\n" -" --remove-leading-char Remove leading character from global symbols\n" -" --redefine-sym = Redefine symbol name to \n" -" --redefine-syms --redefine-sym for all symbol pairs \n" -" listed in \n" -" --srec-len Restrict the length of generated Srecords\n" -" --srec-forceS3 Restrict the type of generated Srecords to S3\n" -" --strip-symbols -N for all symbols listed in \n" -" --strip-unneeded-symbols \n" -" --strip-unneeded-symbol for all symbols listed\n" -" in \n" -" --keep-symbols -K for all symbols listed in \n" -" --localize-symbols -L for all symbols listed in \n" -" --keep-global-symbols -G for all symbols listed in \n" -" --weaken-symbols -W for all symbols listed in \n" -" --alt-machine-code Use alternate machine code for output\n" -" --writable-text Mark the output text as writable\n" -" --readonly-text Make the output text write protected\n" -" --pure Mark the output file as demand paged\n" -" --impure Mark the output file as impure\n" -" --prefix-symbols Add to start of every symbol name\n" -" --prefix-sections Add to start of every section name\n" -" --prefix-alloc-sections \n" -" Add to start of every allocatable\n" -" section name\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -msgstr "" -" -I --input-target assumer que le fichier d'entrée est de format \n" -" -O --output-target créer un fichier de sortie de format \n" -" -B --binary-architecture sélectionner l'architecture du fichier de sortie lorsque binaire\n" -" -F --target initialiser les formats d'entrée et de sortie à \n" -" --debugging convertir les informations de débug, si possible\n" -" -p --preserve-dates conserver les dates d'accès et de modification de fichiers\n" -" -j --only-section copier seulement la section dans le fichier de sortie\n" -" --add-gnu-debuglink= ajouter la section .gnu_debuglink d'édition de liens au \n" -" -R --remove-section retirer la section du fichier de sortie\n" -" -S --strip-all retirer tous les symboles et les informations de relocalisation\n" -" -g --strip-debug retirer tous les symboles de débug\n" -" --strip-unneeded retirer tous les symboles qui ne sont pas nécessaires pour la relocalisation\n" -" -N --strip-symbol ne pas copier le symbole \n" -" --strip-unneeded-symbol \n" -" ne pas copier le symbole à moins qu'il soit\n" -" nécessaire à la relocalisation\n" -" --only-keep-debug élaguer tout sauf les informations de mise au point\n" -" -K --keep-symbol copier seulement le symbole \n" -" -L --localize-symbol marquer le symbole comme symbole local\n" -" -G --keep-global-symbol localiser tous les symboles sauf celui ayant pour \n" -" -W --weaken-symbol marquer le symbole comme symbole faible\n" -" --weaken marquer tous les symboles globaux comme symboles faibles\n" -" -x --discard-all retirer tous les symboles qui ne sont pas globaux\n" -" -X --discard-locals retirer tous les symboles générés par le compilateur\n" -" -i --interleave copier seulement 1 octet à chaque d'octets\n" -" -b --byte sélectionner l'octet dans chaque bloc intercalé\n" -" --gap-fill remplir les trous entre les sections avec la \n" -" --pad-to remplir la dernière section jusqu'à l'\n" -" --set-start utiliser l' de départ\n" -" {--change-start|--adjust-start} \n" -" ajouter l' à l'adresse de départ\n" -" {--change-addresses|--adjust-vma} \n" -" ajouter l' aux adresses LMA, VMA et de départ\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" modifier LMA et VMA de la section par la \n" -" --change-section-lma {=|+|-}\n" -" modifier LMA de la section par la \n" -" --change-section-vma {=|+|-}\n" -" modifier VMA de la section par la \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" avertir si le nom de la section n'existe pas\n" -" --set-section-flags =\n" -" initialiser les propriétés de la section avec les \n" -" --add-section = ajouter la section repérée dans le vers la sortie\n" -" --rename-section =[,] renommer l' section à la \n" -" --change-leading-char forcer le format de sortie du style des caractères de préfixe\n" -" --remove-leading-char retirer les caractères de préfixe des symboles globaux\n" -" --redefine-sym =\n" -" redéfinir le nom du symbole à \n" -" --srec-len restreindre la longueur des Srecords générés\n" -" --srec-forceS3 restreindre le type de Srecords générés à S3\n" -" --strip-symbols -N pour tous les symboles listés dans le \n" -" --keep-symbols -K pour tous les symboles listés dans le \n" -" --localize-symbols -L pour tous les symboles listés dans le \n" -" --keep-global-symbols \n" -" -G pour tous les symboles listés dans le \n" -" --weaken-symbols -W pour tous les symboles listés dans le \n" -" --alt-machine-code Use alternate machine code for output\n" -" -v --verbose afficher la liste de tous les objets modifiés\n" -" -V --version afficher le nom et la version du logiciel\n" -" -h --help afficher l'aide-mémoire\n" +msgid " [-X64] - ignores 32 bit objects\n" +msgstr " [-X64] - ignore les objets de 32 bits\n" -#: objcopy.c:485 +#: emul_aix.c:54 #, c-format -msgid "Usage: %s in-file(s)\n" -msgstr "Usage: %s fichiers\n" +msgid " [-X32_64] - accepts 32 and 64 bit objects\n" +msgstr " [-X32_64] - accepter les objets de 32 et 64 bits\n" -#: objcopy.c:486 -#, c-format -msgid " Removes symbols and sections from files\n" -msgstr "Enlever les symboles et les sections des fichiers\n" +#: ieee.c:311 +msgid "unexpected end of debugging information" +msgstr "fin inattendue des informations de débug" -#: objcopy.c:488 -#, c-format -msgid "" -" -I --input-target= Assume input file is in format \n" -" -O --output-target= Create an output file in format \n" -" -F --target= Set both input and output format to \n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -R --remove-section= Remove section from the output\n" -" -s --strip-all Remove all symbol and relocation information\n" -" -g -S -d --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -N --strip-symbol= Do not copy symbol \n" -" -K --keep-symbol= Only copy symbol \n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -" -o Place stripped output into \n" -msgstr "" -" -I --input-target assumer que le format du fichier d'entrée est \n" -" -O --output-target créer un fichier de sortie ayant le format \n" -" -F --target utiliser à l'entrée et à la sortie le format \n" -" -p --preserve-dates préserver les dates d'accès et de modification lors de la copie\n" -" -R --remove-section= retirer la section du fichier de sortie\n" -" -s --strip-all retirer tous les symboles et les informations de relocalisation\n" -" -g -S -d --strip-debug retirer tous les symboles de débug\n" -" --strip-unneeded retirer tous les symboles qui ne sont pas nécessaire à la relocalisation\n" -" --only-keep-debug retirer tous les symboles sauf les informations de mise au point\n" -" -N --strip-symbol ne pas copier le symbole \n" -" -K --keep-symbol copier seulement le symbole \n" -" -x --discard-all retirer tous les symboles qui ne sont pas globaux\n" -" -X --discard-locals retirer tous les symboles qui sont générés par le compilateur\n" -" -v --verbose afficher tous les fichiers objets modifiés\n" -" -V --version afficher le nom et la version du logiciel\n" -" -h --help afficher l'aide-mémoire\n" -" --info lister le format des objets et les architectures supportés\n" -" -o placer la sortie élaguée dans le \n" +#: ieee.c:398 +msgid "invalid number" +msgstr "numéro invalide" -#: objcopy.c:560 -#, c-format -msgid "unrecognized section flag `%s'" -msgstr "fanion de section non reconnnu « %s »" +#: ieee.c:451 +msgid "invalid string length" +msgstr "longueur de chaîne invalide" -#: objcopy.c:561 -#, c-format -msgid "supported flags: %s" -msgstr "fanions supportés: %s" +#: ieee.c:506 ieee.c:547 +msgid "expression stack overflow" +msgstr "débordement de pile de l'expression" -#: objcopy.c:638 -#, c-format -msgid "cannot open '%s': %s" -msgstr "ne peut ouvrir: « %s »: %s" +#: ieee.c:526 +msgid "unsupported IEEE expression operator" +msgstr "opérateur d'espression IEEE non supporté" -#: objcopy.c:641 objcopy.c:2629 -#, c-format -msgid "%s: fread failed" -msgstr "%s: fread en échec" +#: ieee.c:541 +msgid "unknown section" +msgstr "section inconnue" -#: objcopy.c:714 -#, c-format -msgid "%s:%d: Ignoring rubbish found on this line" -msgstr "%s:%d: rebus ignoré trouvé sur la ligne" +#: ieee.c:562 +msgid "expression stack underflow" +msgstr "sous dépilage de l'expression" -#: objcopy.c:976 -#, c-format -msgid "%s: Multiple redefinition of symbol \"%s\"" -msgstr "%s: re-définition multiples du symbole « %s »" +#: ieee.c:576 +msgid "expression stack mismatch" +msgstr "non concordance de l'expression dans la pile" -#: objcopy.c:980 -#, c-format -msgid "%s: Symbol \"%s\" is target of more than one redefinition" -msgstr "%s: symbole « %s » cible plus d'une re-définition" +#: ieee.c:613 +msgid "unknown builtin type" +msgstr "type de construit interne inconnu" -#: objcopy.c:1008 -#, c-format -msgid "couldn't open symbol redefinition file %s (error: %s)" -msgstr "ne peut ouvrir le fichier de redéfinition de symboles %s (erreur: %s)" +#: ieee.c:758 +msgid "BCD float type not supported" +msgstr "type de numérotaion flottante BCD inconnue" -#: objcopy.c:1086 -#, c-format -msgid "%s:%d: garbage found at end of line" -msgstr "%s:%d: rebus à la fin de la ligne" +#: ieee.c:895 +msgid "unexpected number" +msgstr "numéro inattendu" -#: objcopy.c:1089 -#, c-format -msgid "%s:%d: missing new symbol name" -msgstr "%s:%d: nom du nouveau symbole manquant" +#: ieee.c:902 +msgid "unexpected record type" +msgstr "type d'enregistrement inattendu" -#: objcopy.c:1099 -#, c-format -msgid "%s:%d: premature end of file" -msgstr "%s:%d: fin de fichier prématuré" +#: ieee.c:935 +msgid "blocks left on stack at end" +msgstr "des blocs sont demeurés sur la pile à la fin" -#: objcopy.c:1124 -msgid "Unable to change endianness of input file(s)" -msgstr "Incapable de changer de systèmes d'encodage (poids fort- faible) des fichiers d'entrée" +#: ieee.c:1198 +msgid "unknown BB type" +msgstr "type BB inconnu" -#: objcopy.c:1133 -#, c-format -msgid "copy from %s(%s) to %s(%s)\n" -msgstr "copie de %s(%s) vers %s(%s)\n" +#: ieee.c:1207 +msgid "stack overflow" +msgstr "débordement de la pile" -#: objcopy.c:1170 -#, c-format -msgid "Unable to recognise the format of the input file %s" -msgstr "Incapable de reconnaître le format du fichier d'entrée %s" +#: ieee.c:1230 +msgid "stack underflow" +msgstr "sous dépilage de la pile" -#: objcopy.c:1174 -#, c-format -msgid "Warning: Output file cannot represent architecture %s" -msgstr "AVERTISSEMENT: fichier de sortie ne peut représenter l'architecture %s" +#: ieee.c:1342 ieee.c:1412 ieee.c:2109 +msgid "illegal variable index" +msgstr "variable d'index illégale" -#: objcopy.c:1211 -#, c-format -msgid "can't create section `%s': %s" -msgstr "Ne peut créer la section « %s »: %s" +#: ieee.c:1390 +msgid "illegal type index" +msgstr "type d'index illégal" -#: objcopy.c:1277 -msgid "there are no sections to be copied!" -msgstr "Il n'y a pas de section à copier!" +#: ieee.c:1400 ieee.c:1437 +msgid "unknown TY code" +msgstr "code TY inconnu" -#: objcopy.c:1323 -#, c-format -msgid "Can't fill gap after %s: %s" -msgstr "Ne peut remplir le vide après %s: %s" +#: ieee.c:1419 +msgid "undefined variable in TY" +msgstr "variable non définie dans TY" -#: objcopy.c:1348 -#, c-format -msgid "Can't add padding to %s: %s" -msgstr "Ne peut ajouter de remplissage pour %s: %s" +#. Pascal file name. FIXME. +#: ieee.c:1830 +msgid "Pascal file name not supported" +msgstr "Nom de fichier Pascal non supporté" -#: objcopy.c:1514 -#, c-format -msgid "%s: error copying private BFD data: %s" -msgstr "%s: erreur de copie des données privées BFD: %s" +#: ieee.c:1878 +msgid "unsupported qualifier" +msgstr "qualificateur non supporté" -#: objcopy.c:1525 -msgid "unknown alternate machine code, ignored" -msgstr "code machine alternatif inconnu, ignoré" +#: ieee.c:2147 +msgid "undefined variable in ATN" +msgstr "variable non définie dans ATN" -#: objcopy.c:1555 objcopy.c:1585 -#, c-format -msgid "cannot mkdir %s for archive copying (error: %s)" -msgstr "ne peut créer le répertoire mkdir %s pour copie d'archivage (erreur: %s)" +#: ieee.c:2190 +msgid "unknown ATN type" +msgstr "type ATN inconnu" -#: objcopy.c:1790 -#, c-format -msgid "Multiple renames of section %s" -msgstr "Changement multiples de noms de la section %s" +#. Reserved for FORTRAN common. +#: ieee.c:2312 +msgid "unsupported ATN11" +msgstr "ATN11 non supporté" -#: objcopy.c:1841 -msgid "private header data" -msgstr "données d'en-tête privée" +#. We have no way to record this information. FIXME. +#: ieee.c:2339 +msgid "unsupported ATN12" +msgstr "ATN2 non supporté" + +#: ieee.c:2399 +msgid "unexpected string in C++ misc" +msgstr "chaîne inattendue dans misc en C++" + +#: ieee.c:2412 +msgid "bad misc record" +msgstr "mauvais enregistrement misc" + +#: ieee.c:2453 +msgid "unrecognized C++ misc record" +msgstr "enregistrement misc non reconnu en C++" + +#: ieee.c:2568 +msgid "undefined C++ object" +msgstr "objet indéfini en C++" + +#: ieee.c:2602 +msgid "unrecognized C++ object spec" +msgstr "spécification d'objet non reconnu en C++" + +#: ieee.c:2638 +msgid "unsupported C++ object type" +msgstr "type d'objet non supporté en C++" + +#: ieee.c:2648 +msgid "C++ base class not defined" +msgstr "classe de base non définie en C++" -#: objcopy.c:1849 -#, c-format -msgid "%s: error in %s: %s" -msgstr "%s: erreur dans %s: %s" +#: ieee.c:2660 ieee.c:2765 +msgid "C++ object has no fields" +msgstr "objet n'ayant pas de champ en C++" -#: objcopy.c:1903 -msgid "making" -msgstr "génération" +#: ieee.c:2679 +msgid "C++ base class not found in container" +msgstr "classe de base non repéré dans le conteneur en C++" -#: objcopy.c:1912 -msgid "size" -msgstr "taille" +#: ieee.c:2786 +msgid "C++ data member not found in container" +msgstr "membre des données non repéré dans le conteneur en C++" -#: objcopy.c:1926 -msgid "vma" -msgstr "vma" +#: ieee.c:2827 ieee.c:2977 +msgid "unknown C++ visibility" +msgstr "visibilité C++ inconnue" -#: objcopy.c:1951 -msgid "alignment" -msgstr "alignement" +#: ieee.c:2861 +msgid "bad C++ field bit pos or size" +msgstr "mauvais champ de bit pos ou de taille en C++" -#: objcopy.c:1966 -msgid "flags" -msgstr "fanions" +#: ieee.c:2953 +msgid "bad type for C++ method function" +msgstr "mauvais type pour le méthode d'une fonction en C++" -#: objcopy.c:1988 -msgid "private data" -msgstr "données privées" +#: ieee.c:2963 +msgid "no type information for C++ method function" +msgstr "aucune information sur le type pour la méthode de la fonction en C++" -#: objcopy.c:1996 -#, c-format -msgid "%s: section `%s': error in %s: %s" -msgstr "%s: section « %s »: erreur dans %s: %s" +#: ieee.c:3002 +msgid "C++ static virtual method" +msgstr "méthode statique virtuelle en C++" -#: objcopy.c:2274 -#, c-format -msgid "%s: can't create debugging section: %s" -msgstr "%s: ne peut créer la section de débug: %s" +#: ieee.c:3097 +msgid "unrecognized C++ object overhead spec" +msgstr "spécification de l'en-tête de l'objet en C++ n'est pas reconnue" -#: objcopy.c:2288 -#, c-format -msgid "%s: can't set debugging section contents: %s" -msgstr "%s: ne peut initialiser le contenu de la section de débug: %s" +#: ieee.c:3136 +msgid "undefined C++ vtable" +msgstr "vtable non définie en C++" -#: objcopy.c:2297 -#, c-format -msgid "%s: don't know how to write debugging information for %s" -msgstr "%s: ne sait comment écrire les informations de débug de %s" +#: ieee.c:3205 +msgid "C++ default values not in a function" +msgstr "valeurs par défaut ne sont pas dans une fonction en C++" -#: objcopy.c:2472 -msgid "byte number must be non-negative" -msgstr "le nombre d'octet ne peut être négatif" +#: ieee.c:3245 +msgid "unrecognized C++ default type" +msgstr "type par défaut en C++ n'est pas reconnu" -#: objcopy.c:2482 -msgid "interleave must be positive" -msgstr "l'intercalage doit être positif" +#: ieee.c:3276 +msgid "reference parameter is not a pointer" +msgstr "paramètre de la référence n'est pas un pointeur" -#: objcopy.c:2502 objcopy.c:2510 -#, c-format -msgid "%s both copied and removed" -msgstr "%s les deux doivent être copiés et enlevés" +#: ieee.c:3359 +msgid "unrecognized C++ reference type" +msgstr "référence du type en C++ n'est pas reconnue" -#: objcopy.c:2603 objcopy.c:2674 objcopy.c:2774 objcopy.c:2805 objcopy.c:2829 -#: objcopy.c:2833 objcopy.c:2853 -#, c-format -msgid "bad format for %s" -msgstr "mauvais format pour %s" +#: ieee.c:3441 +msgid "C++ reference not found" +msgstr "la référence n'a pas été retrouvée en C++" -#: objcopy.c:2624 -#, c-format -msgid "cannot open: %s: %s" -msgstr "ne peut ouvrir: %s: %s" +#: ieee.c:3449 +msgid "C++ reference is not pointer" +msgstr "la référence n'est pas un pointeur en C++" -#: objcopy.c:2743 -#, c-format -msgid "Warning: truncating gap-fill from 0x%s to 0x%x" -msgstr "AVERTISSEMENT: réduction du remplissage de 0x%s à 0x%x" +#: ieee.c:3475 ieee.c:3483 +msgid "missing required ASN" +msgstr "ASN requis est absent" -#: objcopy.c:2903 -msgid "alternate machine code index must be positive" -msgstr "le code alternatif d'index du code machine doit être positif" +#: ieee.c:3510 ieee.c:3518 +msgid "missing required ATN65" +msgstr "ATN65 requis est absent" -#: objcopy.c:2961 -msgid "byte number must be less than interleave" -msgstr "le nombre d'octets ne peut être plus petit que celui de l'intercalage" +#: ieee.c:3532 +msgid "bad ATN65 record" +msgstr "mauvais enregistrement ATN65" -#: objcopy.c:2991 +#: ieee.c:4160 #, c-format -msgid "architecture %s unknown" -msgstr "architecture %s inconnue" - -#: objcopy.c:2995 -msgid "Warning: input target 'binary' required for binary architecture parameter." -msgstr "AVERTISSEMENT: la cible d'entrée « binary » requiert un paramètre pour une architecture binaire." +msgid "IEEE numeric overflow: 0x" +msgstr "débordement numériquie IEEE: Ox" -#: objcopy.c:2996 +#: ieee.c:4204 #, c-format -msgid " Argument %s ignored" -msgstr " Argument %s ignoré" +msgid "IEEE string length overflow: %u\n" +msgstr "débordement de la longueur de la chaîne IEEE: %u\n" -#: objcopy.c:3002 +#: ieee.c:5203 #, c-format -msgid "warning: could not locate '%s'. System error message: %s" -msgstr "AVERTISSEMENT: ne peut localiser '%s'. Message d'erreur système: %s" +msgid "IEEE unsupported integer type size %u\n" +msgstr "taille de type d'entier IEEE non supporté %u\n" -#: objcopy.c:3042 objcopy.c:3056 +#: ieee.c:5237 #, c-format -msgid "%s %s%c0x%s never used" -msgstr "%s %s%c0x%s jamais utilisé" +msgid "IEEE unsupported float type size %u\n" +msgstr "taille de type de nombre IEEE en notation flottante non supporté %u\n" -#: objdump.c:176 +#: ieee.c:5271 #, c-format -msgid "Usage: %s \n" -msgstr "Usage: %s \n" +msgid "IEEE unsupported complex type size %u\n" +msgstr "taille de nombre complexe IEEE non supportée %u\n" -#: objdump.c:177 -#, c-format -msgid " Display information from object .\n" -msgstr "Afficher les informations depuis les objet.\n" +#: nlmconv.c:269 srconv.c:1813 +msgid "input and output files must be different" +msgstr "fichiers d'entrée et de sortie doivent être différents" -#: objdump.c:178 -#, c-format -msgid " At least one of the following switches must be given:\n" -msgstr "Au moins un des commutateurs suivants doit être fourni:\n" +#: nlmconv.c:316 +msgid "input file named both on command line and with INPUT" +msgstr "fichier d'entrée nommé à la fois sur la ligne de commande et dans la champ INPUT" -#: objdump.c:179 -#, c-format -msgid "" -" -a, --archive-headers Display archive header information\n" -" -f, --file-headers Display the contents of the overall file header\n" -" -p, --private-headers Display object format specific file header contents\n" -" -h, --[section-]headers Display the contents of the section headers\n" -" -x, --all-headers Display the contents of all headers\n" -" -d, --disassemble Display assembler contents of executable sections\n" -" -D, --disassemble-all Display assembler contents of all sections\n" -" -S, --source Intermix source code with disassembly\n" -" -s, --full-contents Display the full contents of all sections requested\n" -" -g, --debugging Display debug information in object file\n" -" -e, --debugging-tags Display debug information using ctags style\n" -" -G, --stabs Display (in raw form) any STABS info in the file\n" -" -t, --syms Display the contents of the symbol table(s)\n" -" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" -" -r, --reloc Display the relocation entries in the file\n" -" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" -" -v, --version Display this program's version number\n" -" -i, --info List object formats and architectures supported\n" -" -H, --help Display this information\n" -msgstr "" -" -a, --archive-headers afficher l'information de l'en-tête de l'archive\n" -" -f, --file-headers afficher le contenu global du fichier d'en-tête\n" -" -p, --private-headers afficher le format spécifique du contenu de l'en-tête de l'objet\n" -" -h, --[section-]headers afficher le contenu des en-têtes de section\n" -" -x, --all-headers afficher le contenu de toutes les en-têtes\n" -" -d, --disassemble afficher le contenu en assembleur des sections exécutables\n" -" -D, --disassemble-all afficher le contenu en assembleur de toutes les sections\n" -" -S, --source inter-mêler le code source avec le déassemblage\n" -" -s, --full-contents afficher le contenu complet de toutes les sections voulus\n" -" -g, --debugging afficher les informations de mise au point du fichier objet\n" -" -e, --debugging-tags afficher les informations de mise au point en utilisant le style ctags\n" -" -G, --stabs afficher (en format brut) toutes les infos à inclure du fichier\n" -" -t, --syms afficher le contenu de(s) table(s) de symboles\n" -" -T, --dynamic-syms afficher le contenu de la table dynamique de symboles\n" -" -r, --reloc afficher les entrées de relocalisation du fichier\n" -" -R, --dynamic-reloc afficher les entrées dynamiques de relocalisation du fichier\n" -" -V, --version afficher le nom et la version du logiciel\n" -" -i, --info afficher les formats objets et les architectures supportées\n" -" -H, --help afficher cette information\n" +#: nlmconv.c:325 +msgid "no input file" +msgstr "aucun fichier d'entrée" -#: objdump.c:202 -#, c-format -msgid "" -"\n" -" The following switches are optional:\n" -msgstr "" -"\n" -" Les commutateurs suivants sont optionnels:\n" +#: nlmconv.c:355 +msgid "no name for output file" +msgstr "aucun nom pour le fichier de sortie" -#: objdump.c:203 -#, c-format -msgid "" -" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" -" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" -" -j, --section=NAME Only display information for section NAME\n" -" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" -" -EB --endian=big Assume big endian format when disassembling\n" -" -EL --endian=little Assume little endian format when disassembling\n" -" --file-start-context Include context from start of file (with -S)\n" -" -I, --include=DIR Add DIR to search list for source files\n" -" -l, --line-numbers Include line numbers and filenames in output\n" -" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" -" The STYLE, if specified, can be `auto', `gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" -w, --wide Format output for more than 80 columns\n" -" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" -" --start-address=ADDR Only process data whose address is >= ADDR\n" -" --stop-address=ADDR Only process data whose address is <= ADDR\n" -" --prefix-addresses Print complete address alongside disassembly\n" -" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" -" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" -" --special-syms Include special symbols in symbol dumps\n" -"\n" -msgstr "" -" -b, --target=NOMBFD spécifier le format de l'objet cible comme NOMBFD\n" -" -m, --architecture=MACHINE spécifier l'architecture cible de la MACHINE\n" -" -j, --section=NOM afficher seulement les informations de la section du NOM\n" -" -M, --disassembler-options=OPT relayer l'OPTion au dé-assembleur\n" -" -EB --endian=big assumer le format « big endian » lors du dé-assemblage\n" -" -EL --endian=little assumer le format « little endian » lors du dé-assemblage\n" -" --file-start-context inclure le contexte à partir du début du fichier (avec -S)\n" -" -I, --include=RÉPERTOIRE ajouter le répertoire à la liste de recherche des fichiers sources\n" -" -l, --line-numbers inclure les numéros de ligne et les noms de fichier dans la sortie\n" -" -C, --demangle[=STYLE] décoder les mutilations/traitements des noms de symboles\n" -" Le STYLE, si spécifé, peut être « auto », « gnu »,\n" -" « lucid », « arm », « hp », « edg », ou « gnu-v3 »,\n" -" « gnu-new-abi » ou « gnat »\n" -" -w, --wide formatter la sortie pour plus de 80 colonnes\n" -" -z, --disassemble-zeroes ne pas escamoter les blocs de zéros lors du dé-assemblage\n" -" --start-address=ADR traiter seulement les données dont les adresses sont >= ADR\n" -" --stop-address=ADR traiter seulement les données dont les adresses sont <= ADR\n" -" --prefix-addresses afficher les adresses complètes dans le dé-assemblage\n" -" --[no-]show-raw-insn afficher en hexadécimale le dé-assemblage symbolique\n" -" --adjust-vma=DÉCALAGE ajouter un DÉCALAGE à toutes les adresses affichés des sections\n" -" --special-syms inclure les symboles spéciaux dans la vidange de symboles\n" -"\n" +#: nlmconv.c:369 +msgid "warning: input and output formats are not compatible" +msgstr "AVERTISSEMENT: les formats d'entrée et de sortie sont incompatibles" -#: objdump.c:378 -#, c-format -msgid "Sections:\n" -msgstr "Sections:\n" +#: nlmconv.c:398 +msgid "make .bss section" +msgstr "générer la section .bss" + +#: nlmconv.c:407 +msgid "make .nlmsections section" +msgstr "générer la section .nlmsections" + +#: nlmconv.c:409 +msgid "set .nlmsections flags" +msgstr "initialiser les fanions .nlmsections" + +#: nlmconv.c:437 +msgid "set .bss vma" +msgstr "initialiser le vma de la section .bss" -#: objdump.c:381 objdump.c:385 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Idx Nom Taille VMA LMA Fich off Algn" +#: nlmconv.c:444 +msgid "set .data size" +msgstr "initialiser la taille de la section .data" -#: objdump.c:387 +#: nlmconv.c:624 #, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Idx Nom Taille VMA LMA Fich off Algn" +msgid "warning: symbol %s imported but not in import list" +msgstr "AVERTISSEMENT: symbole %s importé mais n'est pas dans la liste d'importation" -#: objdump.c:391 -#, c-format -msgid " Flags" -msgstr " Fanions" +#: nlmconv.c:644 +msgid "set start address" +msgstr "initialiser l'adresse de départ" -#: objdump.c:393 +#: nlmconv.c:693 #, c-format -msgid " Pg" -msgstr " Pg" +msgid "warning: START procedure %s not defined" +msgstr "AVERTISSEMENT: procédure START %s n'est pas définie" -#: objdump.c:436 +#: nlmconv.c:695 #, c-format -msgid "%s: not a dynamic object" -msgstr "%s: n'est pas un objet dynamique" +msgid "warning: EXIT procedure %s not defined" +msgstr "AVERTISSEMENT: procédure EXIT %s n'est pas définie" -#: objdump.c:1722 +#: nlmconv.c:697 #, c-format -msgid "Disassembly of section %s:\n" -msgstr "Déassemblage de la section %s:\n" +msgid "warning: CHECK procedure %s not defined" +msgstr "AVERTISSEMENT: procédure CHECK %s n'est pas définie" -#: objdump.c:1884 -#, c-format -msgid "Can't use supplied machine %s" -msgstr "Ne peut utiliser la machine %s" +#: nlmconv.c:718 nlmconv.c:907 +msgid "custom section" +msgstr "section « custom »" -#: objdump.c:1903 -#, c-format -msgid "Can't disassemble for architecture %s\n" -msgstr "Ne peut déassembler pour l'architecture %s\n" +#: nlmconv.c:739 nlmconv.c:936 +msgid "help section" +msgstr "section d'aide" -#: objdump.c:1973 -#, c-format -msgid "" -"No %s section present\n" -"\n" -msgstr "" -"Aucune section %s présente\n" -"\n" +#: nlmconv.c:761 nlmconv.c:954 +msgid "message section" +msgstr "section message" -#: objdump.c:1982 -#, c-format -msgid "Reading %s section of %s failed: %s" -msgstr "Lecture de la section %s de %s a échouée: %s" +#: nlmconv.c:777 nlmconv.c:987 +msgid "module section" +msgstr "section module" -#: objdump.c:2026 -#, c-format -msgid "" -"Contents of %s section:\n" -"\n" -msgstr "" -"Contenu de la section %s:\n" -"\n" +#: nlmconv.c:797 nlmconv.c:1003 +msgid "rpc section" +msgstr "section rpc" -#: objdump.c:2153 +#. There is no place to record this information. +#: nlmconv.c:833 #, c-format -msgid "architecture: %s, " -msgstr "architecture: %s, " +msgid "%s: warning: shared libraries can not have uninitialized data" +msgstr "%s: AVERTISSEMENT: les librairies partagées ne peuvent avoir des données non initialisées" -#: objdump.c:2156 -#, c-format -msgid "flags 0x%08x:\n" -msgstr "fanions 0x%08x:\n" +#: nlmconv.c:854 nlmconv.c:1022 +msgid "shared section" +msgstr "section partagée" -#: objdump.c:2170 -#, c-format -msgid "" -"\n" -"start address 0x" -msgstr "" -"\n" -"adresse de départ 0x" +#: nlmconv.c:862 +msgid "warning: No version number given" +msgstr "AVERTISSEMENT: aucun numéro de version fourni" -#: objdump.c:2210 +#: nlmconv.c:902 nlmconv.c:931 nlmconv.c:949 nlmconv.c:998 nlmconv.c:1017 #, c-format -msgid "Contents of section %s:\n" -msgstr "Contenu de la section %s:\n" +msgid "%s: read: %s" +msgstr "%s: lu: %s" -#: objdump.c:2335 -#, c-format -msgid "no symbols\n" -msgstr "aucun symbole\n" +#: nlmconv.c:924 +msgid "warning: FULLMAP is not supported; try ld -M" +msgstr "AVERTISSEMENT: FULLMAP n'est pas supporté; essayer ld -M" -#: objdump.c:2342 +#: nlmconv.c:1100 #, c-format -msgid "no information for symbol number %ld\n" -msgstr "pas d'information pour le symbol numéro %ld\n" +msgid "Usage: %s [option(s)] [in-file [out-file]]\n" +msgstr "Usage: %s [options] fichier_entrée [fichier_sortie]\n" -#: objdump.c:2345 +#: nlmconv.c:1101 #, c-format -msgid "could not determine the type of symbol number %ld\n" -msgstr "incapable de déterminer le type du symbole numéro %ld\n" +msgid " Convert an object file into a NetWare Loadable Module\n" +msgstr "Convertir un fichier objet en un module NetWare Loadable\n" -#: objdump.c:2611 +#: nlmconv.c:1102 #, c-format msgid "" -"\n" -"%s: file format %s\n" +" The options are:\n" +" -I --input-target= Set the input binary file format\n" +" -O --output-target= Set the output binary file format\n" +" -T --header-file= Read for NLM header information\n" +" -l --linker= Use for any linking\n" +" -d --debug Display on stderr the linker command line\n" +" @ Read options from .\n" +" -h --help Display this information\n" +" -v --version Display the program's version\n" msgstr "" -"\n" -"%s: format de fichier %s\n" - -#: objdump.c:2662 -#, c-format -msgid "%s: printing debugging information failed" -msgstr "%s: échec d'affichage des information de débug" +"Les options sont:\n" +" -I --input-target= sélectionner le format binaire du fichier d'entrée\n" +" -O --output-target= sélectionner le format binaire du fichier de sortie\n" +" -T --header-file= lire les informations NLM du \n" +" -l --linker= utiliser l'éditeur de pour toutes éditions\n" +" -d --debug afficher la ligne de commande sur stderr\n" +" @ lire les options à partir du \n" +" -h --help afficher l'aide-mémoire\n" +" -V --version afficher le nom et la version du logiciel\n" -#: objdump.c:2753 +#: nlmconv.c:1143 #, c-format -msgid "In archive %s:\n" -msgstr "Dans l'archive %s:\n" - -#: objdump.c:2873 -msgid "unrecognized -E option" -msgstr "option -E non reconnue" +msgid "support not compiled in for %s" +msgstr "soutien non compilé pour %s" -#: objdump.c:2884 -#, c-format -msgid "unrecognized --endian type `%s'" -msgstr "type non reconnu --endian « %s »" +#: nlmconv.c:1180 +msgid "make section" +msgstr "section make" -#: rdcoff.c:196 -#, c-format -msgid "parse_coff_type: Bad type code 0x%x" -msgstr "parse_coff_type: mauvais type de code 0x%x" +#: nlmconv.c:1194 +msgid "set section size" +msgstr "initialisation de la taille de la section" -#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 -#, c-format -msgid "bfd_coff_get_syment failed: %s" -msgstr "bfd_coff_get_syment en échec: %s" +#: nlmconv.c:1200 +msgid "set section alignment" +msgstr "initialisation de l'alignement de la section" -#: rdcoff.c:420 rdcoff.c:717 -#, c-format -msgid "bfd_coff_get_auxent failed: %s" -msgstr "bfd_coff_get_auxent en échec: %s" +#: nlmconv.c:1204 +msgid "set section flags" +msgstr "initialisation des fanions de la section" -#: rdcoff.c:784 -#, c-format -msgid "%ld: .bf without preceding function" -msgstr "%ld: .bf aucune fonction qui précède" +#: nlmconv.c:1215 +msgid "set .nlmsections size" +msgstr "initialisation de la taille de .nlmsections" -#: rdcoff.c:834 -#, c-format -msgid "%ld: unexpected .ef\n" -msgstr "%ld: .ef inattendu\n" +#: nlmconv.c:1296 nlmconv.c:1304 nlmconv.c:1313 nlmconv.c:1318 +msgid "set .nlmsection contents" +msgstr "initialisation du contenu de .nlmsection" -#: rddbg.c:85 -#, c-format -msgid "%s: no recognized debugging information" -msgstr "%s: aucune information de débug reconnue" +#: nlmconv.c:1797 +msgid "stub section sizes" +msgstr "taille de la section stub" -#: rddbg.c:394 -#, c-format -msgid "Last stabs entries before error:\n" -msgstr "Dernière entrées à inclure avant erreur:\n" +#: nlmconv.c:1844 +msgid "writing stub" +msgstr "écriture du stub" -#: readelf.c:272 +#: nlmconv.c:1928 #, c-format -msgid "%s: Error: " -msgstr "%s: ERREUR: " +msgid "unresolved PC relative reloc against %s" +msgstr "relocalisation relative sur PC non résolue de %s" -#: readelf.c:283 +#: nlmconv.c:1992 #, c-format -msgid "%s: Warning: " -msgstr "%s: AVERTISSEMENT: " +msgid "overflow when adjusting relocation against %s" +msgstr "débordement lors de la relocalisation de %s" -#: readelf.c:298 +#: nlmconv.c:2119 #, c-format -msgid "Unable to seek to 0x%x for %s\n" -msgstr "Incapable de repérer 0x%x pour %s\n" +msgid "%s: execution of %s failed: " +msgstr "%s: échec d'exécution de %s :" -#: readelf.c:310 +#: nlmconv.c:2134 #, c-format -msgid "Out of memory allocating 0x%x bytes for %s\n" -msgstr "Mémoire épuisée lors de l'allocation de 0x%x octets pour %s\n" +msgid "Execution of %s failed" +msgstr "Échec d'exécution de %s" -#: readelf.c:318 +#: nm.c:224 size.c:82 strings.c:708 #, c-format -msgid "Unable to read in 0x%x bytes of %s\n" -msgstr "Incapable de lire 0x%x octets de %s\n" +msgid "Usage: %s [option(s)] [file(s)]\n" +msgstr "Usage: %s [options] fichiers\n" -#: readelf.c:364 readelf.c:412 readelf.c:615 readelf.c:647 +#: nm.c:225 #, c-format -msgid "Unhandled data length: %d\n" -msgstr "Taille de données non traitées: %d\n" - -#: readelf.c:752 -msgid "Don't know about relocations on this machine architecture\n" -msgstr "Ne connaît pas de méthode pour la relocalisation sur l'architecture de cette machine\n" - -#: readelf.c:772 readelf.c:799 readelf.c:842 readelf.c:869 -msgid "relocs" -msgstr "relocalisations" - -#: readelf.c:782 readelf.c:809 readelf.c:852 readelf.c:879 -msgid "out of memory parsing relocs" -msgstr "Mémoire épuisée lors de l'analyse syntaxique des relocalisations" +msgid " List symbols in [file(s)] (a.out by default).\n" +msgstr "Afficher les symboles des [fichiers] (a.out par défaut).\n" -#: readelf.c:933 +#: nm.c:226 #, c-format -msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" -msgstr " Décalage Info Type Val.-sym. Noms-symb. + Addenda\n" +msgid "" +" The options are:\n" +" -a, --debug-syms Display debugger-only symbols\n" +" -A, --print-file-name Print name of the input file before every symbol\n" +" -B Same as --format=bsd\n" +" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" +" The STYLE, if specified, can be `auto' (the default),\n" +" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" --no-demangle Do not demangle low-level symbol names\n" +" -D, --dynamic Display dynamic symbols instead of normal symbols\n" +" --defined-only Display only defined symbols\n" +" -e (ignored)\n" +" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" +" `sysv' or `posix'. The default is `bsd'\n" +" -g, --extern-only Display only external symbols\n" +" -l, --line-numbers Use debugging information to find a filename and\n" +" line number for each symbol\n" +" -n, --numeric-sort Sort symbols numerically by address\n" +" -o Same as -A\n" +" -p, --no-sort Do not sort the symbols\n" +" -P, --portability Same as --format=posix\n" +" -r, --reverse-sort Reverse the sense of the sort\n" +" -S, --print-size Print size of defined symbols\n" +" -s, --print-armap Include index for symbols from archive members\n" +" --size-sort Sort symbols by size\n" +" --special-syms Include special symbols in the output\n" +" --synthetic Display synthetic symbols as well\n" +" -t, --radix=RADIX Use RADIX for printing symbol values\n" +" --target=BFDNAME Specify the target object format as BFDNAME\n" +" -u, --undefined-only Display only undefined symbols\n" +" -X 32_64 (ignored)\n" +" @FILE Read options from FILE\n" +" -h, --help Display this information\n" +" -V, --version Display this program's version number\n" +"\n" +msgstr "" +"Les options sont:\n" +" -a, --debug-syms afficher seulement les symboles de débug\n" +" -A, --print-file-name afficher le nom du fichier d'entrée avant chaque symbole\n" +" -B identique à --format=bsd\n" +" -C, --demangle[=STYLE] décoder les noms des symboles de bas niveau en noms de ceux\n" +" du niveau usager. Le STYLE, si spécifié, peut être « auto »\n" +" (par défaut), « gnu », « lucid », « arm », « hp », « edg » ou « gnu-new-abi »,\n" +" --no-demangle ne pas encoder par mutilation les noms des symboles de bas niveau\n" +" -D, --dynamic afficher les symboles dynamiques au lieu des symboles normaux\n" +" --defined-only afficher seulement les symboles définis\n" +" -e (ignoré)\n" +" -f, --format=FORMAT utiliser le FORMAT de sortie qui peut être « bsd » (par défaut),\n" +" « sysv » ou « posix ».\n" +" -g, --extern-only afficher seulement les symboles externes\n" +" -l, --line-numbers utiliser les informations de débug pour repérer le nom de fichier\n" +" et un numéro de ligne pour chaque symbole\n" +" -n, --numeric-sort trier les symboles numériquement par adresse\n" +" -o identique à -A\n" +" -p, --no-sort ne pas trier les symboles\n" +" -P, --portability identique à --format=posix\n" +" -r, --reverse-sort trier en ordre inverse\n" +" -S, --print-size afficher la taille des symboles définis\n" +" -s, --print-armap inclure un index pour les symboles à partir des membres de l'archive\n" +" --size-sort trier les symboles par leur taille\n" +" --special-syms inclure les symboles spéciaux sur la sortie\n" +" --synthetic afficher les symboles synthétiques\n" +" -t, --radix=BASE utiliser la BASE numérique pour afficher la valeur des symboles\n" +" --target=NOM_BFD spécifier la cible du format de l'objet par le NOM_BFD\n" +" -u, --undefined-only afficher seulement les symboles indéfinis\n" +" -V, --version afficher le nom et la version du logiciel\n" +" -X 32_64 (ignoré)\n" +" @ lire les options à partir du \n" +" -h --help afficher l'aide-mémoire\n" +" -V --version afficher le nom et la version du logiciel\n" +"\n" -#: readelf.c:935 +#: nm.c:263 objdump.c:236 #, c-format -msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" -msgstr " Décalage Info Type Val.-sym Noms-symb + Addenda\n" +msgid "Report bugs to %s.\n" +msgstr "Rapporter toutes anomalies à %s\n" -#: readelf.c:940 +#: nm.c:295 #, c-format -msgid " Offset Info Type Sym. Value Symbol's Name\n" -msgstr " Décalage Info Type Val.-sym. Noms-symboles\n" +msgid "%s: invalid radix" +msgstr "%s: base numérique invalide" -#: readelf.c:942 +#: nm.c:319 #, c-format -msgid " Offset Info Type Sym.Value Sym. Name\n" -msgstr " Décalage Info Type Val.-sym Noms-symboles\n" +msgid "%s: invalid output format" +msgstr "%s: format de sortie invalide" -#: readelf.c:950 +#: nm.c:340 readelf.c:6623 readelf.c:6659 #, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -msgstr " Décalage Info Type Valeurs symbols Noms symboles + Addenda\n" +msgid ": %d" +msgstr ": %d" -#: readelf.c:952 +#: nm.c:342 readelf.c:6626 readelf.c:6671 #, c-format -msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" -msgstr " Décalage Info Type Val.-symboles Noms-symb.+ Addenda\n" +msgid ": %d" +msgstr ": %d" -#: readelf.c:957 +#: nm.c:344 readelf.c:6628 readelf.c:6674 #, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name\n" -msgstr " Décalage Info Type Valeurs symbols Noms symbols\n" +msgid ": %d" +msgstr ": %d" -#: readelf.c:959 +#: nm.c:381 #, c-format -msgid " Offset Info Type Sym. Value Sym. Name\n" -msgstr " Décalage Info Type Val.-symboles Noms-symboles\n" +msgid "" +"\n" +"Archive index:\n" +msgstr "" +"\n" +"Indexe de l'archive:\n" -#: readelf.c:1239 readelf.c:1241 readelf.c:1324 readelf.c:1326 readelf.c:1335 -#: readelf.c:1337 +#: nm.c:1227 #, c-format -msgid "unrecognized: %-7lx" -msgstr "non reconnue: %-7lx" +msgid "" +"\n" +"\n" +"Undefined symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symboles indéfinis dans %s:\n" +"\n" -#: readelf.c:1295 +#: nm.c:1229 #, c-format -msgid "" -msgstr "" +msgid "" +"\n" +"\n" +"Symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symboles de %s:\n" +"\n" -#: readelf.c:1297 +#: nm.c:1231 nm.c:1282 #, c-format -msgid "" -msgstr "" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Nom Valeur Classe Type Taille Ligne Section\n" +"\n" -#: readelf.c:1569 +#: nm.c:1234 nm.c:1285 #, c-format -msgid "Processor Specific: %lx" -msgstr "Spécificités du processeur: %lx" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Nom Valeur Classe Type Taille Ligne Section\n" +"\n" -#: readelf.c:1588 +#: nm.c:1278 #, c-format -msgid "Operating System specific: %lx" -msgstr "Spécificités du systèmes d'exploitation: %lx" +msgid "" +"\n" +"\n" +"Undefined symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symboles indéfinis dans %s[%s]:\n" +"\n" -#: readelf.c:1592 readelf.c:2370 +#: nm.c:1280 #, c-format -msgid ": %lx" -msgstr ": %lx" - -#: readelf.c:1605 -msgid "NONE (None)" -msgstr "NONE (Aucun)" - -#: readelf.c:1606 -msgid "REL (Relocatable file)" -msgstr "REL (Fichier de relocalisation)" - -#: readelf.c:1607 -msgid "EXEC (Executable file)" -msgstr "EXEC (fichier exécutable)" +msgid "" +"\n" +"\n" +"Symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symboles de %s[%s]:\n" +"\n" -#: readelf.c:1608 -msgid "DYN (Shared object file)" -msgstr "DYN (fichier objet partagé)" +#: nm.c:1584 +msgid "Only -X 32_64 is supported" +msgstr "Seul -X 32_64 est supporté" -#: readelf.c:1609 -msgid "CORE (Core file)" -msgstr "CORE (fichier core)" +#: nm.c:1604 +msgid "Using the --size-sort and --undefined-only options together" +msgstr "Utiliser ensemble les options --size-sort et --undefined-only" -#: readelf.c:1613 -#, c-format -msgid "Processor Specific: (%x)" -msgstr "Spécificités du processor: (%x)" +#: nm.c:1605 +msgid "will produce no output, since undefined symbols have no size." +msgstr "ne produira aucune sortie étant donnée que les symboles n'ont aucune taille." -#: readelf.c:1615 +#: nm.c:1633 #, c-format -msgid "OS Specific: (%x)" -msgstr "Spécificités du système d'exploitation: (%x)" +msgid "data size %ld" +msgstr "taille des donnée %ld" -#: readelf.c:1617 readelf.c:1724 readelf.c:2554 +#: objcopy.c:401 srconv.c:1721 #, c-format -msgid ": %x" -msgstr ": %x" - -#: readelf.c:1629 -msgid "None" -msgstr "Aucun" - -#: readelf.c:2229 -msgid "Standalone App" -msgstr "Tache autonome" +msgid "Usage: %s [option(s)] in-file [out-file]\n" +msgstr "Usage: %s [options] fichier_d_entrée [fichier_de_sortie]\n" -#: readelf.c:2232 readelf.c:2952 readelf.c:2968 +#: objcopy.c:402 #, c-format -msgid "" -msgstr "" +msgid " Copies a binary file, possibly transforming it in the process\n" +msgstr "Copier un fichier binaire, possiblement le transformer durant le traitement\n" -#: readelf.c:2597 +#: objcopy.c:403 objcopy.c:495 #, c-format -msgid "Usage: readelf elf-file(s)\n" -msgstr "Usage: readelf fichiers-elf\n" +msgid " The options are:\n" +msgstr " Les options sont:\n" -#: readelf.c:2598 +#: objcopy.c:404 #, c-format -msgid " Display information about the contents of ELF format files\n" -msgstr "Afficher les informations à propos du contenu du format des fichiers ELF\n" +msgid "" +" -I --input-target Assume input file is in format \n" +" -O --output-target Create an output file in format \n" +" -B --binary-architecture Set arch of output file, when input is binary\n" +" -F --target Set both input and output format to \n" +" --debugging Convert debugging information, if possible\n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -j --only-section Only copy section into the output\n" +" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" +" -R --remove-section Remove section from the output\n" +" -S --strip-all Remove all symbol and relocation information\n" +" -g --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" -N --strip-symbol Do not copy symbol \n" +" --strip-unneeded-symbol \n" +" Do not copy symbol unless needed by\n" +" relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -K --keep-symbol Do not strip symbol \n" +" -L --localize-symbol Force symbol to be marked as a local\n" +" --globalize-symbol Force symbol to be marked as a global\n" +" -G --keep-global-symbol Localize all symbols except \n" +" -W --weaken-symbol Force symbol to be marked as a weak\n" +" --weaken Force all global symbols to be marked as weak\n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -i --interleave Only copy one out of every bytes\n" +" -b --byte Select byte in every interleaved block\n" +" --gap-fill Fill gaps between sections with \n" +" --pad-to Pad the last section up to address \n" +" --set-start Set the start address to \n" +" {--change-start|--adjust-start} \n" +" Add to the start address\n" +" {--change-addresses|--adjust-vma} \n" +" Add to LMA, VMA and start addresses\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" Change LMA and VMA of section by \n" +" --change-section-lma {=|+|-}\n" +" Change the LMA of section by \n" +" --change-section-vma {=|+|-}\n" +" Change the VMA of section by \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" Warn if a named section does not exist\n" +" --set-section-flags =\n" +" Set section 's properties to \n" +" --add-section = Add section found in to output\n" +" --rename-section =[,] Rename section to \n" +" --change-leading-char Force output format's leading character style\n" +" --remove-leading-char Remove leading character from global symbols\n" +" --redefine-sym = Redefine symbol name to \n" +" --redefine-syms --redefine-sym for all symbol pairs \n" +" listed in \n" +" --srec-len Restrict the length of generated Srecords\n" +" --srec-forceS3 Restrict the type of generated Srecords to S3\n" +" --strip-symbols -N for all symbols listed in \n" +" --strip-unneeded-symbols \n" +" --strip-unneeded-symbol for all symbols listed\n" +" in \n" +" --keep-symbols -K for all symbols listed in \n" +" --localize-symbols -L for all symbols listed in \n" +" --globalize-symbols --globalize-symbol for all in \n" +" --keep-global-symbols -G for all symbols listed in \n" +" --weaken-symbols -W for all symbols listed in \n" +" --alt-machine-code Use alternate machine code for output\n" +" --writable-text Mark the output text as writable\n" +" --readonly-text Make the output text write protected\n" +" --pure Mark the output file as demand paged\n" +" --impure Mark the output file as impure\n" +" --prefix-symbols Add to start of every symbol name\n" +" --prefix-sections Add to start of every section name\n" +" --prefix-alloc-sections \n" +" Add to start of every allocatable\n" +" section name\n" +" -v --verbose List all object files modified\n" +" @ Read options from \n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +msgstr "" +" -I --input-target assumer que le fichier d'entrée est de format \n" +" -O --output-target créer un fichier de sortie de format \n" +" -B --binary-architecture sélectionner l'architecture du fichier de sortie lorsque binaire\n" +" -F --target initialiser les formats d'entrée et de sortie à \n" +" --debugging convertir les informations de débug, si possible\n" +" -p --preserve-dates conserver les dates d'accès et de modification de fichiers\n" +" -j --only-section copier seulement la section dans le fichier de sortie\n" +" --add-gnu-debuglink= ajouter la section .gnu_debuglink d'édition de liens au \n" +" -R --remove-section retirer la section du fichier de sortie\n" +" -S --strip-all retirer tous les symboles et les informations de relocalisation\n" +" -g --strip-debug retirer tous les symboles de débug\n" +" --strip-unneeded retirer tous les symboles qui ne sont pas nécessaires pour la relocalisation\n" +" -N --strip-symbol ne pas copier le symbole \n" +" --strip-unneeded-symbol \n" +" ne pas copier le symbole à moins qu'il soit\n" +" nécessaire à la relocalisation\n" +" --only-keep-debug élaguer tout sauf les informations de mise au point\n" +" -K --keep-symbol copier seulement le symbole \n" +" -L --localize-symbol marquer le symbole comme symbole local\n" +" -G --keep-global-symbol localiser tous les symboles sauf celui ayant pour \n" +" -W --weaken-symbol marquer le symbole comme symbole faible\n" +" --weaken marquer tous les symboles globaux comme symboles faibles\n" +" -x --discard-all retirer tous les symboles qui ne sont pas globaux\n" +" -X --discard-locals retirer tous les symboles générés par le compilateur\n" +" -i --interleave copier seulement 1 octet à chaque d'octets\n" +" -b --byte sélectionner l'octet dans chaque bloc intercalé\n" +" --gap-fill remplir les trous entre les sections avec la \n" +" --pad-to remplir la dernière section jusqu'à l'\n" +" --set-start utiliser l' de départ\n" +" {--change-start|--adjust-start} \n" +" ajouter l' à l'adresse de départ\n" +" {--change-addresses|--adjust-vma} \n" +" ajouter l' aux adresses LMA, VMA et de départ\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" modifier LMA et VMA de la section par la \n" +" --change-section-lma {=|+|-}\n" +" modifier LMA de la section par la \n" +" --change-section-vma {=|+|-}\n" +" modifier VMA de la section par la \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" avertir si le nom de la section n'existe pas\n" +" --set-section-flags =\n" +" initialiser les propriétés de la section avec les \n" +" --add-section = ajouter la section repérée dans le vers la sortie\n" +" --rename-section =[,] renommer l' section à la \n" +" --change-leading-char forcer le format de sortie du style des caractères de préfixe\n" +" --remove-leading-char retirer les caractères de préfixe des symboles globaux\n" +" --redefine-sym =\n" +" redéfinir le nom du symbole à \n" +" --srec-len restreindre la longueur des Srecords générés\n" +" --srec-forceS3 restreindre le type de Srecords générés à S3\n" +" --strip-symbols -N pour tous les symboles listés dans le \n" +" --keep-symbols -K pour tous les symboles listés dans le \n" +" --localize-symbols -L pour tous les symboles listés dans le \n" +" --keep-global-symbols \n" +" -G pour tous les symboles listés dans le \n" +" --weaken-symbols -W pour tous les symboles listés dans le \n" +" --alt-machine-code Use alternate machine code for output\n" +" -v --verbose afficher la liste de tous les objets modifiés\n" +" @ lire les options à partir du \n" +" -V --version afficher le nom et la version du logiciel\n" +" -h --help afficher l'aide-mémoire\n" -#: readelf.c:2599 +#: objcopy.c:493 #, c-format -msgid "" -" Options are:\n" -" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Display the ELF file header\n" -" -l --program-headers Display the program headers\n" -" --segments An alias for --program-headers\n" -" -S --section-headers Display the sections' header\n" -" --sections An alias for --section-headers\n" -" -g --section-groups Display the section groups\n" -" -e --headers Equivalent to: -h -l -S\n" -" -s --syms Display the symbol table\n" -" --symbols An alias for --syms\n" -" -n --notes Display the core notes (if present)\n" -" -r --relocs Display the relocations (if present)\n" -" -u --unwind Display the unwind info (if present)\n" -" -d --dynamic Display the dynamic section (if present)\n" -" -V --version-info Display the version sections (if present)\n" -" -A --arch-specific Display architecture specific information (if any).\n" -" -D --use-dynamic Use the dynamic section info when displaying symbols\n" -" -x --hex-dump= Dump the contents of section \n" -" -w[liaprmfFsoR] or\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -" Display the contents of DWARF2 debug sections\n" -msgstr "" -"Les options sont:\n" -" -a --all équivalent à: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header afficher l'en-tête du fichier ELF\n" -" -l --program-headers afficher les en-têtes du programme\n" -" --segments un alias pour --program-headers\n" -" -S --section-headers afficher les en-têtes des sections\n" -" --sections un alias pour --section-headers\n" -" -g --section-groups afficher les groupes de section\n" -" -e --headers équivalent à: -h -l -S\n" -" -s --syms afficher la table des symboles\n" -" --symbols un alias pour --syms\n" -" -n --notes afficher les notes du core (si présentes)\n" -" -r --relocs afficher les relocalisation (si présentes)\n" -" -u --unwind afficher les informations de type unwind (si présentes)\n" -" -d --dynamic afficher le segment dynamique (si présent)\n" -" -V --version-info afficher la version des sections (si présentes)\n" -" -A --arch-specific afficher les informations spécifiques d'architecture (si présentes)\n" -" -D --use-dynamic utiliser les informations de la section\n" -" dynamique lors de l'affichage des symboles\n" -" -x --hex-dump= vidanger le contenu de la section \n" -" -w[liaprmfFso] ou\n" -" --debug-dump[=liGne,=info,=abrév.,=nom-public,=étendue,=macro,=trames,=chaîne,=localisation]\n" -" afficher le contenu des sections débug DWARF2\n" +msgid "Usage: %s in-file(s)\n" +msgstr "Usage: %s fichiers\n" -#: readelf.c:2622 +#: objcopy.c:494 #, c-format -msgid "" -" -i --instruction-dump=\n" -" Disassemble the contents of section \n" -msgstr "" -" -i --instruction-dump=\n" -" déassembler le contenu de la section \n" +msgid " Removes symbols and sections from files\n" +msgstr "Enlever les symboles et les sections des fichiers\n" -#: readelf.c:2626 +#: objcopy.c:496 #, c-format msgid "" -" -I --histogram Display histogram of bucket list lengths\n" -" -W --wide Allow output width to exceed 80 characters\n" -" -H --help Display this information\n" -" -v --version Display the version number of readelf\n" +" -I --input-target= Assume input file is in format \n" +" -O --output-target= Create an output file in format \n" +" -F --target= Set both input and output format to \n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -R --remove-section= Remove section from the output\n" +" -s --strip-all Remove all symbol and relocation information\n" +" -g -S -d --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -N --strip-symbol= Do not copy symbol \n" +" -K --keep-symbol= Do not strip symbol \n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -v --verbose List all object files modified\n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +" -o Place stripped output into \n" msgstr "" -" -I --histogram afficher l'histogramme des bacs selon la longueur de la liste\n" -" -W --wide permettre d'afficher plus de 80 caractères\n" -" -H --help afficher l'aide-mémoire\n" -" -V --version afficher le nom et la version du logiciel\n" - -#: readelf.c:2651 readelf.c:12118 -msgid "Out of memory allocating dump request table." -msgstr "Mémoire épuisée allocation d'une table pour requêtes de vidange" - -#: readelf.c:2820 readelf.c:2888 -#, c-format -msgid "Unrecognized debug option '%s'\n" -msgstr "Option de débug non reconnue « %s »\n" - -#: readelf.c:2922 -#, c-format -msgid "Invalid option '-%c'\n" -msgstr "Option invalide '-%c»\n" - -#: readelf.c:2936 -msgid "Nothing to do.\n" -msgstr "Rien à faire.\n" - -#: readelf.c:2948 readelf.c:2964 readelf.c:5906 -msgid "none" -msgstr "aucun" - -#: readelf.c:2965 -msgid "2's complement, little endian" -msgstr "complément à 2, système à octets de poids faible d'abord (little endian)" - -#: readelf.c:2966 -msgid "2's complement, big endian" -msgstr "complément à 2, système à octets de poids fort d'abord (big endian)" - -#: readelf.c:2984 -msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "N'est pas un fichier ELF - a les mauvais octets magiques au départ\n" - -#: readelf.c:2992 -#, c-format -msgid "ELF Header:\n" -msgstr "En-tête ELF:\n" - -#: readelf.c:2993 -#, c-format -msgid " Magic: " -msgstr " Magique: " - -#: readelf.c:2997 -#, c-format -msgid " Class: %s\n" -msgstr " Classe: %s\n" +" -I --input-target assumer que le format du fichier d'entrée est \n" +" -O --output-target créer un fichier de sortie ayant le format \n" +" -F --target utiliser à l'entrée et à la sortie le format \n" +" -p --preserve-dates préserver les dates d'accès et de modification lors de la copie\n" +" -R --remove-section= retirer la section du fichier de sortie\n" +" -s --strip-all retirer tous les symboles et les informations de relocalisation\n" +" -g -S -d --strip-debug retirer tous les symboles de débug\n" +" --strip-unneeded retirer tous les symboles qui ne sont pas nécessaire à la relocalisation\n" +" --only-keep-debug retirer tous les symboles sauf les informations de mise au point\n" +" -N --strip-symbol ne pas copier le symbole \n" +" -K --keep-symbol copier seulement le symbole \n" +" -w --wildcard permettre tous les symboles dans la comparaison\n" +" -x --discard-all retirer tous les symboles qui ne sont pas globaux\n" +" -X --discard-locals retirer tous les symboles qui sont générés par le compilateur\n" +" -v --verbose afficher tous les fichiers objets modifiés\n" +" -V --version afficher le nom et la version du logiciel\n" +" -h --help afficher l'aide-mémoire\n" +" --info lister le format des objets et les architectures supportés\n" +" -o placer la sortie élaguée dans le \n" -#: readelf.c:2999 +#: objcopy.c:568 #, c-format -msgid " Data: %s\n" -msgstr " Données: %s\n" +msgid "unrecognized section flag `%s'" +msgstr "fanion de section non reconnnu « %s »" -#: readelf.c:3001 +#: objcopy.c:569 #, c-format -msgid " Version: %d %s\n" -msgstr " Version: %d %s\n" +msgid "supported flags: %s" +msgstr "fanions supportés: %s" -#: readelf.c:3008 +#: objcopy.c:646 #, c-format -msgid " OS/ABI: %s\n" -msgstr " OS/ABI: %s\n" +msgid "cannot open '%s': %s" +msgstr "ne peut ouvrir: « %s »: %s" -#: readelf.c:3010 +#: objcopy.c:649 objcopy.c:2722 #, c-format -msgid " ABI Version: %d\n" -msgstr " Version ABI: %d\n" +msgid "%s: fread failed" +msgstr "%s: fread en échec" -#: readelf.c:3012 +#: objcopy.c:722 #, c-format -msgid " Type: %s\n" -msgstr " Type: %s\n" +msgid "%s:%d: Ignoring rubbish found on this line" +msgstr "%s:%d: rebus ignoré trouvé sur la ligne" -#: readelf.c:3014 +#: objcopy.c:996 #, c-format -msgid " Machine: %s\n" -msgstr " Machine: %s\n" +msgid "%s: Multiple redefinition of symbol \"%s\"" +msgstr "%s: re-définition multiples du symbole « %s »" -#: readelf.c:3016 +#: objcopy.c:1000 #, c-format -msgid " Version: 0x%lx\n" -msgstr " Version: 0x%lx\n" +msgid "%s: Symbol \"%s\" is target of more than one redefinition" +msgstr "%s: symbole « %s » cible plus d'une re-définition" -#: readelf.c:3019 +#: objcopy.c:1028 #, c-format -msgid " Entry point address: " -msgstr " Adresse du point d'entrée: " +msgid "couldn't open symbol redefinition file %s (error: %s)" +msgstr "ne peut ouvrir le fichier de redéfinition de symboles %s (erreur: %s)" -#: readelf.c:3021 +#: objcopy.c:1106 #, c-format -msgid "" -"\n" -" Start of program headers: " -msgstr "" -"\n" -" Début des en-têtes de programme: " +msgid "%s:%d: garbage found at end of line" +msgstr "%s:%d: rebus à la fin de la ligne" -#: readelf.c:3023 +#: objcopy.c:1109 #, c-format -msgid "" -" (bytes into file)\n" -" Start of section headers: " -msgstr "" -" (octets dans le fichier)\n" -" Début des en-têtes de section: " +msgid "%s:%d: missing new symbol name" +msgstr "%s:%d: nom du nouveau symbole manquant" -#: readelf.c:3025 +#: objcopy.c:1119 #, c-format -msgid " (bytes into file)\n" -msgstr " (octets dans le fichier)\n" +msgid "%s:%d: premature end of file" +msgstr "%s:%d: fin de fichier prématuré" -#: readelf.c:3027 +#: objcopy.c:1145 #, c-format -msgid " Flags: 0x%lx%s\n" -msgstr " Fanions: 0x%lx%s\n" +msgid "stat returns negative size for `%s'" +msgstr "stat() a retourné une taille négative for « %s »" -#: readelf.c:3030 +#: objcopy.c:1157 #, c-format -msgid " Size of this header: %ld (bytes)\n" -msgstr " Taille de cet en-tête: %ld (bytes)\n" +msgid "copy from `%s' [unknown] to `%s' [unknown]\n" +msgstr "copier à partir de « %s » [inconnu] vers « %s » [inconnu]\n" -#: readelf.c:3032 -#, c-format -msgid " Size of program headers: %ld (bytes)\n" -msgstr " Taille de l'en-tête du programme: %ld (bytes)\n" +#: objcopy.c:1212 +msgid "Unable to change endianness of input file(s)" +msgstr "Incapable de changer de systèmes d'encodage (poids fort- faible) des fichiers d'entrée" -#: readelf.c:3034 +#: objcopy.c:1221 #, c-format -msgid " Number of program headers: %ld\n" -msgstr " Nombre d'en-tête du programme: %ld\n" +msgid "copy from `%s' [%s] to `%s' [%s]\n" +msgstr "copier de « %s » [%s] vers « %s » [%s]\n" -#: readelf.c:3036 +#: objcopy.c:1258 objcopy.c:1715 #, c-format -msgid " Size of section headers: %ld (bytes)\n" -msgstr " Taille des en-têtes de section: %ld (bytes)\n" +msgid "Unable to recognise the format of the input file `%s'" +msgstr "Incapable de reconnaître le format du fichier d'entrée « %s »" -#: readelf.c:3038 +#: objcopy.c:1261 #, c-format -msgid " Number of section headers: %ld" -msgstr " Nombre d'en-têtes de section: %ld" +msgid "Warning: Output file cannot represent architecture `%s'" +msgstr "AVERTISSEMENT: fichier de sortie ne peut représenter l'architecture « %s »" -#: readelf.c:3043 +#: objcopy.c:1305 #, c-format -msgid " Section header string table index: %ld" -msgstr " Table d'indexes des chaînes d'en-tête de section: %ld" - -#: readelf.c:3074 readelf.c:3107 -msgid "program headers" -msgstr "En-tête de programme" +msgid "can't create section `%s': %s" +msgstr "Ne peut créer la section « %s »: %s" -#: readelf.c:3145 readelf.c:3446 readelf.c:3487 readelf.c:3546 readelf.c:3609 -#: readelf.c:3993 readelf.c:4017 readelf.c:5247 readelf.c:5291 readelf.c:5489 -#: readelf.c:6450 readelf.c:6464 readelf.c:11493 readelf.c:11912 -#: readelf.c:11979 -msgid "Out of memory\n" -msgstr "Mémoire épuisée\n" +#: objcopy.c:1356 +msgid "there are no sections to be copied!" +msgstr "Il n'y a pas de section à copier!" -#: readelf.c:3172 +#: objcopy.c:1402 #, c-format -msgid "" -"\n" -"There are no program headers in this file.\n" -msgstr "" -"\n" -"Il n'y a pas d'en-têtes de programme dans ce fichier.\n" +msgid "Can't fill gap after %s: %s" +msgstr "Ne peut remplir le vide après %s: %s" -#: readelf.c:3178 +#: objcopy.c:1427 #, c-format -msgid "" -"\n" -"Elf file type is %s\n" -msgstr "" -"\n" -"Type de fichier ELF est %s\n" +msgid "Can't add padding to %s: %s" +msgstr "Ne peut ajouter de remplissage pour %s: %s" -#: readelf.c:3179 +#: objcopy.c:1594 #, c-format -msgid "Entry point " -msgstr "Point d'entrée " +msgid "%s: error copying private BFD data: %s" +msgstr "%s: erreur de copie des données privées BFD: %s" -#: readelf.c:3181 -#, c-format -msgid "" -"\n" -"There are %d program headers, starting at offset " -msgstr "" -"\n" -"Il y a %d en-têtes de programme, débutant à l'adresse de décalage" +#: objcopy.c:1605 +msgid "unknown alternate machine code, ignored" +msgstr "code machine alternatif inconnu, ignoré" -#: readelf.c:3193 readelf.c:3195 +#: objcopy.c:1635 objcopy.c:1665 #, c-format -msgid "" -"\n" -"Program Headers:\n" -msgstr "" -"\n" -"En-têtes de programme:\n" +msgid "cannot mkdir %s for archive copying (error: %s)" +msgstr "ne peut créer le répertoire mkdir %s pour copie d'archivage (erreur: %s)" -#: readelf.c:3199 +#: objcopy.c:1787 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Type Décalage Adr. vir. Adr.phys. T.Fich. T.Mém. Fan Alignement\n" +msgid "error: the input file '%s' is empty" +msgstr "ERREUR: le fichier d'entrée « %s » est vide" -#: readelf.c:3202 +#: objcopy.c:1889 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Type Décalage Adr. vir. Adr.phys. T.Fich. T.Mém. Fan Alignement\n" +msgid "Multiple renames of section %s" +msgstr "Changement multiples de noms de la section %s" -#: readelf.c:3206 -#, c-format -msgid " Type Offset VirtAddr PhysAddr\n" -msgstr " Type Décalage Adr.virt Adr.phys.\n" +#: objcopy.c:1940 +msgid "private header data" +msgstr "données d'en-tête privée" -#: readelf.c:3208 +#: objcopy.c:1948 #, c-format -msgid " FileSiz MemSiz Flags Align\n" -msgstr " Taille fichier Taille mémoire Fanion Alignement\n" +msgid "%s: error in %s: %s" +msgstr "%s: ERREUR dans %s: %s" -#: readelf.c:3301 -msgid "more than one dynamic segment\n" -msgstr "plus d'un segment dynamique\n" +#: objcopy.c:2007 +msgid "making" +msgstr "génération" -#: readelf.c:3312 -msgid "no .dynamic section in the dynamic segment" -msgstr "pas de section .dynamic dans le segment dynamique" +#: objcopy.c:2022 +msgid "size" +msgstr "taille" -#: readelf.c:3321 -msgid "the .dynamic section is not contained within the dynamic segment" -msgstr "la section .dynamic n'est pas contenu à l'intérieur du segment dynamique" +#: objcopy.c:2036 +msgid "vma" +msgstr "vma" -#: readelf.c:3323 -msgid "the .dynamic section is not the first section in the dynamic segment." -msgstr "la section .dynamic n'est pas la première section dans le segment dynamique." +#: objcopy.c:2061 +msgid "alignment" +msgstr "alignement" -#: readelf.c:3337 -msgid "Unable to find program interpreter name\n" -msgstr "Incapable de repérer le nom de l'interpréteur du programme\n" +#: objcopy.c:2083 +msgid "private data" +msgstr "données privées" -#: readelf.c:3344 +#: objcopy.c:2091 #, c-format -msgid "" -"\n" -" [Requesting program interpreter: %s]" -msgstr "" -"\n" -" [Réquisition de l'interpréteur de programme: %s]" +msgid "%s: section `%s': error in %s: %s" +msgstr "%s: section « %s »: ERREUR dans %s: %s" -#: readelf.c:3356 +#: objcopy.c:2363 #, c-format -msgid "" -"\n" -" Section to Segment mapping:\n" -msgstr "" -"\n" -" Section à la projection de segement:\n" +msgid "%s: can't create debugging section: %s" +msgstr "%s: ne peut créer la section de débug: %s" -#: readelf.c:3357 +#: objcopy.c:2377 #, c-format -msgid " Segment Sections...\n" -msgstr " Sections de segment...\n" +msgid "%s: can't set debugging section contents: %s" +msgstr "%s: ne peut initialiser le contenu de la section de débug: %s" -#: readelf.c:3408 -msgid "Cannot interpret virtual addresses without program headers.\n" -msgstr "Ne peut interpréter les adresses virtuelles sans l'en-tête du programme.\n" +#: objcopy.c:2386 +#, c-format +msgid "%s: don't know how to write debugging information for %s" +msgstr "%s: ne sait comment écrire les informations de débug de %s" + +#: objcopy.c:2561 +msgid "byte number must be non-negative" +msgstr "le nombre d'octet ne peut être négatif" + +#: objcopy.c:2571 +msgid "interleave must be positive" +msgstr "l'intercalage doit être positif" -#: readelf.c:3424 +#: objcopy.c:2591 objcopy.c:2599 #, c-format -msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" -msgstr "L'adresse virtuelle 0x%lx ne peut être localisé dans chaque segment PT_LOAD.\n" +msgid "%s both copied and removed" +msgstr "%s les deux doivent être copiés et enlevés" -#: readelf.c:3438 readelf.c:3479 -msgid "section headers" -msgstr "En-têtes de section" +#: objcopy.c:2696 objcopy.c:2767 objcopy.c:2867 objcopy.c:2898 objcopy.c:2922 +#: objcopy.c:2926 objcopy.c:2946 +#, c-format +msgid "bad format for %s" +msgstr "mauvais format pour %s" -#: readelf.c:3523 readelf.c:3586 -msgid "symbols" -msgstr "symboles" +#: objcopy.c:2717 +#, c-format +msgid "cannot open: %s: %s" +msgstr "ne peut ouvrir: %s: %s" -#: readelf.c:3533 readelf.c:3596 -msgid "symtab shndx" -msgstr "symtab shndx" +#: objcopy.c:2836 +#, c-format +msgid "Warning: truncating gap-fill from 0x%s to 0x%x" +msgstr "AVERTISSEMENT: réduction du remplissage de 0x%s à 0x%x" + +#: objcopy.c:3000 +msgid "alternate machine code index must be positive" +msgstr "le code alternatif d'index du code machine doit être positif" + +#: objcopy.c:3058 +msgid "byte number must be less than interleave" +msgstr "le nombre d'octets ne peut être plus petit que celui de l'intercalage" -#: readelf.c:3697 readelf.c:3977 +#: objcopy.c:3088 #, c-format -msgid "" -"\n" -"There are no sections in this file.\n" -msgstr "" -"\n" -"Il n'y a pas de section dans ce fichier.\n" +msgid "architecture %s unknown" +msgstr "architecture %s inconnue" + +#: objcopy.c:3092 +msgid "Warning: input target 'binary' required for binary architecture parameter." +msgstr "AVERTISSEMENT: la cible d'entrée « binary » requiert un paramètre pour une architecture binaire." -#: readelf.c:3703 +#: objcopy.c:3093 #, c-format -msgid "There are %d section headers, starting at offset 0x%lx:\n" -msgstr "Il y a %d en-têtes de section, débutant à l'adresse de décalage 0x%lx:\n" +msgid " Argument %s ignored" +msgstr " Argument %s ignoré" -#: readelf.c:3720 readelf.c:4079 readelf.c:4290 readelf.c:4591 readelf.c:5011 -#: readelf.c:6618 -msgid "string table" -msgstr "table de chaînes" +#: objcopy.c:3099 +#, c-format +msgid "warning: could not locate '%s'. System error message: %s" +msgstr "AVERTISSEMENT: ne peut localiser '%s'. Message d'erreur système: %s" -#: readelf.c:3765 -msgid "File contains multiple dynamic symbol tables\n" -msgstr "Le fichier contient plusieurs tables dynamiques de symboles\n" +#: objcopy.c:3141 objcopy.c:3155 +#, c-format +msgid "%s %s%c0x%s never used" +msgstr "%s %s%c0x%s jamais utilisé" -#: readelf.c:3777 -msgid "File contains multiple dynamic string tables\n" -msgstr "Le fichier contient plusieurs tables de chaînes dynamiques\n" +#: objdump.c:178 +#, c-format +msgid "Usage: %s \n" +msgstr "Usage: %s \n" -#: readelf.c:3782 -msgid "dynamic strings" -msgstr "chaînes dynamiques" +#: objdump.c:179 +#, c-format +msgid " Display information from object .\n" +msgstr "Afficher les informations depuis les objet.\n" -#: readelf.c:3789 -msgid "File contains multiple symtab shndx tables\n" -msgstr "Le fichier contient de multiples tables symboliques shndx\n" +#: objdump.c:180 +#, c-format +msgid " At least one of the following switches must be given:\n" +msgstr "Au moins un des commutateurs suivants doit être fourni:\n" + +#: objdump.c:181 +#, c-format +msgid "" +" -a, --archive-headers Display archive header information\n" +" -f, --file-headers Display the contents of the overall file header\n" +" -p, --private-headers Display object format specific file header contents\n" +" -h, --[section-]headers Display the contents of the section headers\n" +" -x, --all-headers Display the contents of all headers\n" +" -d, --disassemble Display assembler contents of executable sections\n" +" -D, --disassemble-all Display assembler contents of all sections\n" +" -S, --source Intermix source code with disassembly\n" +" -s, --full-contents Display the full contents of all sections requested\n" +" -g, --debugging Display debug information in object file\n" +" -e, --debugging-tags Display debug information using ctags style\n" +" -G, --stabs Display (in raw form) any STABS info in the file\n" +" -W, --dwarf Display DWARF info in the file\n" +" -t, --syms Display the contents of the symbol table(s)\n" +" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" +" -r, --reloc Display the relocation entries in the file\n" +" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" +" @ Read options from \n" +" -v, --version Display this program's version number\n" +" -i, --info List object formats and architectures supported\n" +" -H, --help Display this information\n" +msgstr "" +" -a, --archive-headers afficher l'information de l'en-tête de l'archive\n" +" -f, --file-headers afficher le contenu global du fichier d'en-tête\n" +" -p, --private-headers afficher le format spécifique du contenu de l'en-tête de l'objet\n" +" -h, --[section-]headers afficher le contenu des en-têtes de section\n" +" -x, --all-headers afficher le contenu de toutes les en-têtes\n" +" -d, --disassemble afficher le contenu en assembleur des sections exécutables\n" +" -D, --disassemble-all afficher le contenu en assembleur de toutes les sections\n" +" -S, --source inter-mêler le code source avec le déassemblage\n" +" -s, --full-contents afficher le contenu complet de toutes les sections voulus\n" +" -g, --debugging afficher les informations de mise au point du fichier objet\n" +" -e, --debugging-tags afficher les informations de mise au point en utilisant le style ctags\n" +" -G, --stabs afficher (en format brut) toutes les infos à inclure du fichier\n" +" -t, --syms afficher le contenu de(s) table(s) de symboles\n" +" -T, --dynamic-syms afficher le contenu de la table dynamique de symboles\n" +" -r, --reloc afficher les entrées de relocalisation du fichier\n" +" -R, --dynamic-reloc afficher les entrées dynamiques de relocalisation du fichier\n" +" @ lire les options à partir du \n" +" -V, --version afficher le nom et la version du logiciel\n" +" -i, --info afficher les formats objets et les architectures supportées\n" +" -H, --help afficher cette information\n" -#: readelf.c:3828 +#: objdump.c:206 #, c-format msgid "" "\n" -"Section Headers:\n" +" The following switches are optional:\n" msgstr "" "\n" -"En-têtes de section:\n" +" Les commutateurs suivants sont optionnels:\n" -#: readelf.c:3830 +#: objdump.c:207 #, c-format msgid "" +" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" +" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" +" -j, --section=NAME Only display information for section NAME\n" +" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" +" -EB --endian=big Assume big endian format when disassembling\n" +" -EL --endian=little Assume little endian format when disassembling\n" +" --file-start-context Include context from start of file (with -S)\n" +" -I, --include=DIR Add DIR to search list for source files\n" +" -l, --line-numbers Include line numbers and filenames in output\n" +" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" +" The STYLE, if specified, can be `auto', `gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" -w, --wide Format output for more than 80 columns\n" +" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" +" --start-address=ADDR Only process data whose address is >= ADDR\n" +" --stop-address=ADDR Only process data whose address is <= ADDR\n" +" --prefix-addresses Print complete address alongside disassembly\n" +" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" +" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" +" --special-syms Include special symbols in symbol dumps\n" "\n" -"Section Header:\n" msgstr "" +" -b, --target=NOMBFD spécifier le format de l'objet cible comme NOMBFD\n" +" -m, --architecture=MACHINE spécifier l'architecture cible de la MACHINE\n" +" -j, --section=NOM afficher seulement les informations de la section du NOM\n" +" -M, --disassembler-options=OPT relayer l'OPTion au dé-assembleur\n" +" -EB --endian=big assumer le format « big endian » lors du dé-assemblage\n" +" -EL --endian=little assumer le format « little endian » lors du dé-assemblage\n" +" --file-start-context inclure le contexte à partir du début du fichier (avec -S)\n" +" -I, --include=RÉPERTOIRE ajouter le répertoire à la liste de recherche des fichiers sources\n" +" -l, --line-numbers inclure les numéros de ligne et les noms de fichier dans la sortie\n" +" -C, --demangle[=STYLE] décoder les mutilations/traitements des noms de symboles\n" +" Le STYLE, si spécifé, peut être « auto », « gnu »,\n" +" « lucid », « arm », « hp », « edg », ou « gnu-v3 »,\n" +" « gnu-new-abi » ou « gnat »\n" +" -w, --wide formatter la sortie pour plus de 80 colonnes\n" +" -z, --disassemble-zeroes ne pas escamoter les blocs de zéros lors du dé-assemblage\n" +" --start-address=ADR traiter seulement les données dont les adresses sont >= ADR\n" +" --stop-address=ADR traiter seulement les données dont les adresses sont <= ADR\n" +" --prefix-addresses afficher les adresses complètes dans le dé-assemblage\n" +" --[no-]show-raw-insn afficher en hexadécimale le dé-assemblage symbolique\n" +" --adjust-vma=DÉCALAGE ajouter un DÉCALAGE à toutes les adresses affichés des sections\n" +" --special-syms inclure les symboles spéciaux dans la vidange de symboles\n" "\n" -"En-têtes de section:\n" - -#: readelf.c:3834 -#, c-format -msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Nom Type Adr Décala.Taille ES Fan LN Inf Al\n" - -#: readelf.c:3837 -#, c-format -msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Nom Type Adr Décala.Taille ES Fan LN Inf Al\n" - -#: readelf.c:3840 -#, c-format -msgid " [Nr] Name Type Address Offset\n" -msgstr " [Nr] Nom Type Adresse Décalage\n" -#: readelf.c:3841 +#: objdump.c:389 #, c-format -msgid " Size EntSize Flags Link Info Align\n" -msgstr " Taille TaillEntré Fanion Lien Info Alignement\n" +msgid "Sections:\n" +msgstr "Sections:\n" -#: readelf.c:3936 +#: objdump.c:392 objdump.c:396 #, c-format -msgid "" -"Key to Flags:\n" -" W (write), A (alloc), X (execute), M (merge), S (strings)\n" -" I (info), L (link order), G (group), x (unknown)\n" -" O (extra OS processing required) o (OS specific), p (processor specific)\n" -msgstr "" -"Clé des fanions:\n" -" W (écriture), A (allocation), X (exécution), M (fusion), S (chaînes)\n" -" I (info), L (ordre des liens), G (groupe), x (inconnu)\n" -" O (traiterment additionnel requis pour l'OS) o (spécifique à l'OS), p (spécifique au processeur)\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Idx Nom Taille VMA LMA Fich off Algn" -#: readelf.c:3954 +#: objdump.c:398 #, c-format -msgid "[: 0x%x]" -msgstr ": 0x%x]" - -#: readelf.c:3984 -msgid "Section headers are not available!\n" -msgstr "En-têtes de section ne sont pas disponibles!\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Idx Nom Taille VMA LMA Fich off Algn" -#: readelf.c:4008 +#: objdump.c:402 #, c-format -msgid "" -"\n" -"There are no section groups in this file.\n" -msgstr "" -"\n" -"Il n'y a pas de groupe de section dans ce fichier.\n" +msgid " Flags" +msgstr " Fanions" -#: readelf.c:4042 +#: objdump.c:404 #, c-format -msgid "Bad sh_link in group section `%s'\n" -msgstr "sh_link erroné dans la section de groupe `%s'\n" +msgid " Pg" +msgstr " Pg" -#: readelf.c:4061 +#: objdump.c:447 #, c-format -msgid "Bad sh_info in group section `%s'\n" -msgstr "sh_info erroné dans la section de groupe`%s'\n" - -#: readelf.c:4085 readelf.c:6947 -msgid "section data" -msgstr "données de section" +msgid "%s: not a dynamic object" +msgstr "%s: n'est pas un objet dynamique" -#: readelf.c:4097 +#: objdump.c:1735 #, c-format -msgid " [Index] Name\n" -msgstr " [Index] Nom\n" +msgid "Disassembly of section %s:\n" +msgstr "Déassemblage de la section %s:\n" -#: readelf.c:4114 +#: objdump.c:1897 #, c-format -msgid "section [%5u] already in group section [%5u]\n" -msgstr "section [%5u] est déjà dans le groupe section [%5u]\n" +msgid "Can't use supplied machine %s" +msgstr "Ne peut utiliser la machine %s" -#: readelf.c:4127 +#: objdump.c:1916 #, c-format -msgid "section 0 in group section [%5u]\n" -msgstr "section 0 dans le groupe section [%5u]\n" +msgid "Can't disassemble for architecture %s\n" +msgstr "Ne peut déassembler pour l'architecture %s\n" -#: readelf.c:4224 +#: objdump.c:2006 #, c-format msgid "" "\n" -"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +"Can't get contents for section '%s'.\n" msgstr "" "\n" -"'%s' section de relocalisation à l'adresse de décalage 0x%lx contient %ld octets:\n" +"Ne peut obtenir le contenu de la section « %s ».\n" -#: readelf.c:4236 +#: objdump.c:2143 #, c-format msgid "" +"No %s section present\n" "\n" -"There are no dynamic relocations in this file.\n" msgstr "" +"Aucune section %s présente\n" "\n" -"Il n'y a pas d'informations de relocalisation dynamique dans ce fichier.\n" -#: readelf.c:4260 +#: objdump.c:2152 +#, c-format +msgid "Reading %s section of %s failed: %s" +msgstr "Lecture de la section %s de %s a échouée: %s" + +#: objdump.c:2196 #, c-format msgid "" +"Contents of %s section:\n" "\n" -"Relocation section " msgstr "" +"Contenu de la section %s:\n" "\n" -"Section de relocalisation " -#: readelf.c:4265 readelf.c:4666 readelf.c:4680 readelf.c:5025 +#: objdump.c:2323 #, c-format -msgid "'%s'" -msgstr "« %s »" +msgid "architecture: %s, " +msgstr "architecture: %s, " -#: readelf.c:4267 readelf.c:4682 readelf.c:5027 +#: objdump.c:2326 #, c-format -msgid " at offset 0x%lx contains %lu entries:\n" -msgstr " à l'adresse de décalage 0x%lx contient %lu entrées:\n" +msgid "flags 0x%08x:\n" +msgstr "fanions 0x%08x:\n" -#: readelf.c:4308 +#: objdump.c:2340 #, c-format msgid "" "\n" -"There are no relocations in this file.\n" +"start address 0x" msgstr "" "\n" -"Il n'y a pas de relocalisation dans ce fichier.\n" - -#: readelf.c:4482 readelf.c:4862 -msgid "unwind table" -msgstr "table unwind" +"adresse de départ 0x" -#: readelf.c:4540 readelf.c:4959 +#: objdump.c:2380 #, c-format -msgid "Skipping unexpected relocation type %s\n" -msgstr "Escamotage du type de relocalisation inattendue %s\n" +msgid "Contents of section %s:\n" +msgstr "Contenu de la section %s:\n" -#: readelf.c:4598 readelf.c:5018 readelf.c:5069 +#: objdump.c:2505 #, c-format -msgid "" -"\n" -"There are no unwind sections in this file.\n" -msgstr "" -"\n" -"Il n'y a pas de section unwind dans ce fichier.\n" +msgid "no symbols\n" +msgstr "aucun symbole\n" -#: readelf.c:4661 +#: objdump.c:2512 #, c-format -msgid "" -"\n" -"Could not find unwind info section for " -msgstr "" -"\n" -"N'a pu repérer les infos d'une section unwind pour " - -#: readelf.c:4673 -msgid "unwind info" -msgstr "info unwind" +msgid "no information for symbol number %ld\n" +msgstr "pas d'information pour le symbol numéro %ld\n" -#: readelf.c:4675 readelf.c:5024 +#: objdump.c:2515 #, c-format -msgid "" -"\n" -"Unwind section " -msgstr "" -"\n" -"Section unwind" - -#: readelf.c:5228 readelf.c:5272 -msgid "dynamic section" -msgstr "section dynamique" +msgid "could not determine the type of symbol number %ld\n" +msgstr "incapable de déterminer le type du symbole numéro %ld\n" -#: readelf.c:5349 +#: objdump.c:2788 #, c-format msgid "" "\n" -"There is no dynamic section in this file.\n" +"%s: file format %s\n" msgstr "" "\n" -"Il n'y a pas de section dynamique dans ce fichier.\n" - -#: readelf.c:5387 -msgid "Unable to seek to end of file!" -msgstr "Incapable de repérer la fin du fichier!" - -#: readelf.c:5400 -msgid "Unable to determine the number of symbols to load\n" -msgstr "Incapable de déterminer le nombre de symboles à charger\n" - -#: readelf.c:5435 -msgid "Unable to seek to end of file\n" -msgstr "Incapable de repérer la fin du fichier\n" +"%s: format de fichier %s\n" -#: readelf.c:5442 -msgid "Unable to determine the length of the dynamic string table\n" -msgstr "Incapable de déterminer la longueur de la table de chaînes dynamiques\n" +#: objdump.c:2845 +#, c-format +msgid "%s: printing debugging information failed" +msgstr "%s: échec d'affichage des information de débug" -#: readelf.c:5447 -msgid "dynamic string table" -msgstr "table dynamique de chaînes" +#: objdump.c:2936 +#, c-format +msgid "In archive %s:\n" +msgstr "Dans l'archive %s:\n" -#: readelf.c:5482 -msgid "symbol information" -msgstr "information de symbole" +#: objdump.c:3058 +msgid "unrecognized -E option" +msgstr "option -E non reconnue" -#: readelf.c:5507 +#: objdump.c:3069 #, c-format -msgid "" -"\n" -"Dynamic section at offset 0x%lx contains %u entries:\n" -msgstr "" -"\n" -"Section dynamique à l'adresse de décalage 0x%lx contient %u entrées:\n" +msgid "unrecognized --endian type `%s'" +msgstr "type non reconnu --endian « %s »" -#: readelf.c:5510 +#: rdcoff.c:196 #, c-format -msgid " Tag Type Name/Value\n" -msgstr " Étiquettes Type Nom/Valeur\n" +msgid "parse_coff_type: Bad type code 0x%x" +msgstr "parse_coff_type: mauvais type de code 0x%x" -#: readelf.c:5546 +#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 #, c-format -msgid "Auxiliary library" -msgstr "Librairie auxiliaire" +msgid "bfd_coff_get_syment failed: %s" +msgstr "bfd_coff_get_syment en échec: %s" -#: readelf.c:5550 +#: rdcoff.c:420 rdcoff.c:717 #, c-format -msgid "Filter library" -msgstr "Librairie de filtre" +msgid "bfd_coff_get_auxent failed: %s" +msgstr "bfd_coff_get_auxent en échec: %s" -#: readelf.c:5554 +#: rdcoff.c:784 #, c-format -msgid "Configuration file" -msgstr "Fichier de configuration" +msgid "%ld: .bf without preceding function" +msgstr "%ld: .bf aucune fonction qui précède" -#: readelf.c:5558 +#: rdcoff.c:834 #, c-format -msgid "Dependency audit library" -msgstr "Librairie d'audit des dépendances" +msgid "%ld: unexpected .ef\n" +msgstr "%ld: .ef inattendu\n" -#: readelf.c:5562 +#: rddbg.c:85 #, c-format -msgid "Audit library" -msgstr "Librairie des audits" +msgid "%s: no recognized debugging information" +msgstr "%s: aucune information de débug reconnue" -#: readelf.c:5580 readelf.c:5608 readelf.c:5636 +#: rddbg.c:394 #, c-format -msgid "Flags:" -msgstr "Fanions:" +msgid "Last stabs entries before error:\n" +msgstr "Dernière entrées à inclure avant erreur:\n" -#: readelf.c:5583 readelf.c:5611 readelf.c:5638 +#: readelf.c:264 #, c-format -msgid " None\n" -msgstr "Aucun\n" +msgid "Unable to seek to 0x%lx for %s\n" +msgstr "Incapable de repérer 0x%lx pour %s\n" -#: readelf.c:5759 +#: readelf.c:279 #, c-format -msgid "Shared library: [%s]" -msgstr "Librairie partagées: [%s]" +msgid "Out of memory allocating 0x%lx bytes for %s\n" +msgstr "Mémoire épuisée lors de l'allocation de 0x%lx octets pour %s\n" -#: readelf.c:5762 +#: readelf.c:289 #, c-format -msgid " program interpreter" -msgstr " programme interpréteur" +msgid "Unable to read in 0x%lx bytes of %s\n" +msgstr "Incapable de lire 0x%lx octets de %s\n" -#: readelf.c:5766 -#, c-format -msgid "Library soname: [%s]" -msgstr "Librairie soname: [%s]" +#: readelf.c:623 +msgid "Don't know about relocations on this machine architecture\n" +msgstr "Ne connaît pas de méthode pour la relocalisation sur l'architecture de cette machine\n" -#: readelf.c:5770 +#: readelf.c:643 readelf.c:671 readelf.c:715 readelf.c:743 +msgid "relocs" +msgstr "relocalisations" + +#: readelf.c:654 readelf.c:682 readelf.c:726 readelf.c:754 +msgid "out of memory parsing relocs" +msgstr "Mémoire épuisée lors de l'analyse syntaxique des relocalisations" + +#: readelf.c:808 #, c-format -msgid "Library rpath: [%s]" -msgstr "Librairie rpath: [%s]" +msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" +msgstr " Décalage Info Type Val.-sym. Noms-symb. + Addenda\n" -#: readelf.c:5774 +#: readelf.c:810 #, c-format -msgid "Library runpath: [%s]" -msgstr "Librairie runpath:[%s]" +msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" +msgstr " Décalage Info Type Val.-sym Noms-symb + Addenda\n" -#: readelf.c:5837 +#: readelf.c:815 #, c-format -msgid "Not needed object: [%s]\n" -msgstr "Objet non nécessaire: [%s]\n" +msgid " Offset Info Type Sym. Value Symbol's Name\n" +msgstr " Décalage Info Type Val.-sym. Noms-symboles\n" -#: readelf.c:5951 +#: readelf.c:817 #, c-format -msgid "" -"\n" -"Version definition section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"Section des définitions de version « %s » contient %ld entrées:\n" +msgid " Offset Info Type Sym.Value Sym. Name\n" +msgstr " Décalage Info Type Val.-sym Noms-symboles\n" -#: readelf.c:5954 +#: readelf.c:825 #, c-format -msgid " Addr: 0x" -msgstr " Adr: 0x" +msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" +msgstr " Décalage Info Type Valeurs symbols Noms symboles + Addenda\n" -#: readelf.c:5956 readelf.c:6148 +#: readelf.c:827 #, c-format -msgid " Offset: %#08lx Link: %lx (%s)\n" -msgstr " Décalage: %#08lx Lien: %lx (%s)\n" - -#: readelf.c:5961 -msgid "version definition section" -msgstr "section de définition de version" +msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" +msgstr " Décalage Info Type Val.-symboles Noms-symb.+ Addenda\n" -#: readelf.c:5987 +#: readelf.c:832 #, c-format -msgid " %#06x: Rev: %d Flags: %s" -msgstr " %#06x: Rev: %d Fanions: %s" +msgid " Offset Info Type Symbol's Value Symbol's Name\n" +msgstr " Décalage Info Type Valeurs symbols Noms symbols\n" -#: readelf.c:5990 +#: readelf.c:834 #, c-format -msgid " Index: %d Cnt: %d " -msgstr " Index: %d Compteur: %d " +msgid " Offset Info Type Sym. Value Sym. Name\n" +msgstr " Décalage Info Type Val.-symboles Noms-symboles\n" -#: readelf.c:6001 +#: readelf.c:1127 readelf.c:1129 readelf.c:1238 readelf.c:1240 readelf.c:1249 +#: readelf.c:1251 #, c-format -msgid "Name: %s\n" -msgstr "Nom: %s\n" +msgid "unrecognized: %-7lx" +msgstr "non reconnue: %-7lx" -#: readelf.c:6003 +#: readelf.c:1154 #, c-format -msgid "Name index: %ld\n" -msgstr "Nom de l'index: %ld\n" +msgid "" +msgstr "" -#: readelf.c:6018 +#: readelf.c:1210 #, c-format -msgid " %#06x: Parent %d: %s\n" -msgstr " %#06x: Parent %d: %s\n" +msgid "" +msgstr "" -#: readelf.c:6021 +#: readelf.c:1212 #, c-format -msgid " %#06x: Parent %d, name index: %ld\n" -msgstr " %#06x: Parent %d, name index: %ld\n" +msgid "" +msgstr "" -#: readelf.c:6040 +#: readelf.c:1522 #, c-format -msgid "" -"\n" -"Version needs section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"Version nécessitant la section « %s » contenant %ld entrées:\n" +msgid "Processor Specific: %lx" +msgstr "Spécificités du processeur: %lx" -#: readelf.c:6043 +#: readelf.c:1543 #, c-format -msgid " Addr: 0x" -msgstr " Adr: 0x" +msgid "Operating System specific: %lx" +msgstr "Spécificités du systèmes d'exploitation: %lx" -#: readelf.c:6045 +#: readelf.c:1547 readelf.c:2349 #, c-format -msgid " Offset: %#08lx Link to section: %ld (%s)\n" -msgstr " Décalage: %#08lx Lien vers la section: %ld (%s)\n" +msgid ": %lx" +msgstr ": %lx" -#: readelf.c:6050 -msgid "version need section" -msgstr "version nécessite une section" +#: readelf.c:1560 +msgid "NONE (None)" +msgstr "NONE (Aucun)" + +#: readelf.c:1561 +msgid "REL (Relocatable file)" +msgstr "REL (Fichier de relocalisation)" + +#: readelf.c:1562 +msgid "EXEC (Executable file)" +msgstr "EXEC (fichier exécutable)" + +#: readelf.c:1563 +msgid "DYN (Shared object file)" +msgstr "DYN (fichier objet partagé)" + +#: readelf.c:1564 +msgid "CORE (Core file)" +msgstr "CORE (fichier core)" -#: readelf.c:6072 +#: readelf.c:1568 #, c-format -msgid " %#06x: Version: %d" -msgstr " %#06x: Version: %d" +msgid "Processor Specific: (%x)" +msgstr "Spécificités du processor: (%x)" -#: readelf.c:6075 +#: readelf.c:1570 #, c-format -msgid " File: %s" -msgstr " Fichier: %s" +msgid "OS Specific: (%x)" +msgstr "Spécificités du système d'exploitation: (%x)" -#: readelf.c:6077 +#: readelf.c:1572 readelf.c:1681 readelf.c:2541 #, c-format -msgid " File: %lx" -msgstr " Fichier: %lx" +msgid ": %x" +msgstr ": %x" + +#: readelf.c:1584 +msgid "None" +msgstr "Aucun" -#: readelf.c:6079 +#: readelf.c:2186 +msgid "Standalone App" +msgstr "Tache autonome" + +#: readelf.c:2189 readelf.c:2948 readelf.c:2964 #, c-format -msgid " Cnt: %d\n" -msgstr " Compteur: %d\n" +msgid "" +msgstr "" -#: readelf.c:6097 +#: readelf.c:2586 #, c-format -msgid " %#06x: Name: %s" -msgstr " %#06x: Nom: %s" +msgid "Usage: readelf elf-file(s)\n" +msgstr "Usage: readelf fichiers-elf\n" -#: readelf.c:6100 +#: readelf.c:2587 #, c-format -msgid " %#06x: Name index: %lx" -msgstr " %#06x: Nom de l'index: %lx" +msgid " Display information about the contents of ELF format files\n" +msgstr "Afficher les informations à propos du contenu du format des fichiers ELF\n" -#: readelf.c:6103 +#: readelf.c:2588 #, c-format -msgid " Flags: %s Version: %d\n" -msgstr " Fanions: %s Version: %d\n" +msgid "" +" Options are:\n" +" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header Display the ELF file header\n" +" -l --program-headers Display the program headers\n" +" --segments An alias for --program-headers\n" +" -S --section-headers Display the sections' header\n" +" --sections An alias for --section-headers\n" +" -g --section-groups Display the section groups\n" +" -t --section-details Display the section details\n" +" -e --headers Equivalent to: -h -l -S\n" +" -s --syms Display the symbol table\n" +" --symbols An alias for --syms\n" +" -n --notes Display the core notes (if present)\n" +" -r --relocs Display the relocations (if present)\n" +" -u --unwind Display the unwind info (if present)\n" +" -d --dynamic Display the dynamic section (if present)\n" +" -V --version-info Display the version sections (if present)\n" +" -A --arch-specific Display architecture specific information (if any).\n" +" -D --use-dynamic Use the dynamic section info when displaying symbols\n" +" -x --hex-dump= Dump the contents of section \n" +" -w[liaprmfFsoR] or\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +" Display the contents of DWARF2 debug sections\n" +msgstr "" +"Les options sont:\n" +" -a --all équivalent à: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header afficher l'en-tête du fichier ELF\n" +" -l --program-headers afficher les en-têtes du programme\n" +" --segments un alias pour --program-headers\n" +" -S --section-headers afficher les en-têtes des sections\n" +" --sections un alias pour --section-headers\n" +" -g --section-groups afficher les groupes de section\n" +" -t --section-details afficher les détails de la section\n" +" -e --headers équivalent à: -h -l -S\n" +" -s --syms afficher la table des symboles\n" +" --symbols un alias pour --syms\n" +" -n --notes afficher les notes du core (si présentes)\n" +" -r --relocs afficher les relocalisation (si présentes)\n" +" -u --unwind afficher les informations de type unwind (si présentes)\n" +" -d --dynamic afficher le segment dynamique (si présent)\n" +" -V --version-info afficher la version des sections (si présentes)\n" +" -A --arch-specific afficher les informations spécifiques d'architecture (si présentes)\n" +" -D --use-dynamic utiliser les informations de la section\n" +" dynamique lors de l'affichage des symboles\n" +" -x --hex-dump= vidanger le contenu de la section \n" +" -w[liaprmfFso] ou\n" +" --debug-dump[=liGne,=info,=abrév.,=nom-public,=étendue,=macro,=trames,=chaîne,=localisation]\n" +" afficher le contenu des sections débug DWARF2\n" -#: readelf.c:6139 -msgid "version string table" -msgstr "table chaîne de version" +#: readelf.c:2612 +#, c-format +msgid "" +" -i --instruction-dump=\n" +" Disassemble the contents of section \n" +msgstr "" +" -i --instruction-dump=\n" +" déassembler le contenu de la section \n" -#: readelf.c:6143 +#: readelf.c:2616 #, c-format msgid "" -"\n" -"Version symbols section '%s' contains %d entries:\n" +" -I --histogram Display histogram of bucket list lengths\n" +" -W --wide Allow output width to exceed 80 characters\n" +" @ Read options from \n" +" -H --help Display this information\n" +" -v --version Display the version number of readelf\n" msgstr "" -"\n" -"La version de section « %s » des symboles contient %d entrée:\n" +" -I --histogram afficher l'histogramme des bacs selon la longueur de la liste\n" +" -W --wide permettre d'afficher plus de 80 caractères\n" +" @ lire les options à partir du \n" +" -H --help afficher l'aide-mémoire\n" +" -V --version afficher le nom et la version du logiciel\n" + +#: readelf.c:2642 readelf.c:9180 +msgid "Out of memory allocating dump request table." +msgstr "Mémoire épuisée allocation d'une table pour requêtes de vidange" -#: readelf.c:6146 +#: readelf.c:2816 readelf.c:2884 #, c-format -msgid " Addr: " -msgstr " Adr: " +msgid "Unrecognized debug option '%s'\n" +msgstr "Option de débug non reconnue « %s »\n" -#: readelf.c:6156 -msgid "version symbol data" -msgstr "données de symbole de version" +#: readelf.c:2918 +#, c-format +msgid "Invalid option '-%c'\n" +msgstr "Option invalide '-%c»\n" -#: readelf.c:6183 -msgid " 0 (*local*) " -msgstr " 0 (*local*) " +#: readelf.c:2932 +msgid "Nothing to do.\n" +msgstr "Rien à faire.\n" -#: readelf.c:6187 -msgid " 1 (*global*) " -msgstr " 1 (*global*) " +#: readelf.c:2944 readelf.c:2960 readelf.c:6169 +msgid "none" +msgstr "aucun" -#: readelf.c:6223 readelf.c:6677 -msgid "version need" -msgstr "version nécessaire" +#: readelf.c:2961 +msgid "2's complement, little endian" +msgstr "complément à 2, système à octets de poids faible d'abord (little endian)" -#: readelf.c:6233 -msgid "version need aux (2)" -msgstr "version nécessite aux (2)" +#: readelf.c:2962 +msgid "2's complement, big endian" +msgstr "complément à 2, système à octets de poids fort d'abord (big endian)" -#: readelf.c:6275 readelf.c:6740 -msgid "version def" -msgstr "définition de version" +#: readelf.c:2980 +msgid "Not an ELF file - it has the wrong magic bytes at the start\n" +msgstr "N'est pas un fichier ELF - a les mauvais octets magiques au départ\n" -#: readelf.c:6294 readelf.c:6755 -msgid "version def aux" -msgstr "définition de version aux" +#: readelf.c:2988 +#, c-format +msgid "ELF Header:\n" +msgstr "En-tête ELF:\n" -#: readelf.c:6325 +#: readelf.c:2989 #, c-format -msgid "" -"\n" -"No version information found in this file.\n" -msgstr "" -"\n" -"Aucune information de version repérée dans ce fichier.\n" +msgid " Magic: " +msgstr " Magique: " -#: readelf.c:6456 -msgid "Unable to read in dynamic data\n" -msgstr "Incapable de lire les données dynamiques\n" +#: readelf.c:2993 +#, c-format +msgid " Class: %s\n" +msgstr " Classe: %s\n" -#: readelf.c:6509 -msgid "Unable to seek to start of dynamic information" -msgstr "Incapable de repérer le début des informations dynamiques" +#: readelf.c:2995 +#, c-format +msgid " Data: %s\n" +msgstr " Données: %s\n" -#: readelf.c:6515 -msgid "Failed to read in number of buckets\n" -msgstr "Échec de lecture parmi tous les baquets\n" +#: readelf.c:2997 +#, c-format +msgid " Version: %d %s\n" +msgstr " Version: %d %s\n" -#: readelf.c:6521 -msgid "Failed to read in number of chains\n" -msgstr "Échec de lecture du nombre de chaînes\n" +#: readelf.c:3004 +#, c-format +msgid " OS/ABI: %s\n" +msgstr " OS/ABI: %s\n" + +#: readelf.c:3006 +#, c-format +msgid " ABI Version: %d\n" +msgstr " Version ABI: %d\n" + +#: readelf.c:3008 +#, c-format +msgid " Type: %s\n" +msgstr " Type: %s\n" + +#: readelf.c:3010 +#, c-format +msgid " Machine: %s\n" +msgstr " Machine: %s\n" + +#: readelf.c:3012 +#, c-format +msgid " Version: 0x%lx\n" +msgstr " Version: 0x%lx\n" + +#: readelf.c:3015 +#, c-format +msgid " Entry point address: " +msgstr " Adresse du point d'entrée: " -#: readelf.c:6541 +#: readelf.c:3017 #, c-format msgid "" "\n" -"Symbol table for image:\n" +" Start of program headers: " msgstr "" "\n" -"Table de symbole de l'image:\n" - -#: readelf.c:6543 -#, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Nb Buc: Valeur Taille Type Lien Vis Ndx Nom\n" - -#: readelf.c:6545 -#, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Nb Buc: Valeur Taille Type Lien Vis Ndx Nom\n" +" Début des en-têtes de programme: " -#: readelf.c:6597 +#: readelf.c:3019 #, c-format msgid "" -"\n" -"Symbol table '%s' contains %lu entries:\n" +" (bytes into file)\n" +" Start of section headers: " msgstr "" -"\n" -"Table de symboles « %s » contient %lu entrées:\n" +" (octets dans le fichier)\n" +" Début des en-têtes de section: " -#: readelf.c:6601 +#: readelf.c:3021 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num: Valeur Tail Type Lien Vis Ndx Nom\n" +msgid " (bytes into file)\n" +msgstr " (octets dans le fichier)\n" -#: readelf.c:6603 +#: readelf.c:3023 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Num: Valeur Tail Type Lien Vis Ndx Nom\n" +msgid " Flags: 0x%lx%s\n" +msgstr " Fanions: 0x%lx%s\n" -#: readelf.c:6649 -msgid "version data" -msgstr "données de version" +#: readelf.c:3026 +#, c-format +msgid " Size of this header: %ld (bytes)\n" +msgstr " Taille de cet en-tête: %ld (bytes)\n" -#: readelf.c:6690 -msgid "version need aux (3)" -msgstr "version nécessite aux (3)" +#: readelf.c:3028 +#, c-format +msgid " Size of program headers: %ld (bytes)\n" +msgstr " Taille de l'en-tête du programme: %ld (bytes)\n" -#: readelf.c:6715 -msgid "bad dynamic symbol" -msgstr "mauvais symbole dynamique" +#: readelf.c:3030 +#, c-format +msgid " Number of program headers: %ld\n" +msgstr " Nombre d'en-tête du programme: %ld\n" -#: readelf.c:6778 +#: readelf.c:3032 #, c-format -msgid "" -"\n" -"Dynamic symbol information is not available for displaying symbols.\n" -msgstr "" -"\n" -"L'information dynamique des symboles n'est pas disponible pour l'affichage des symboles.\n" +msgid " Size of section headers: %ld (bytes)\n" +msgstr " Taille des en-têtes de section: %ld (bytes)\n" -#: readelf.c:6790 +#: readelf.c:3034 #, c-format -msgid "" -"\n" -"Histogram for bucket list length (total of %lu buckets):\n" -msgstr "" -"\n" -"Histogramme de la longueur de la liste des baquets (total de %lu baquets):\n" +msgid " Number of section headers: %ld" +msgstr " Nombre d'en-têtes de section: %ld" -#: readelf.c:6792 +#: readelf.c:3039 #, c-format -msgid " Length Number %% of total Coverage\n" -msgstr " Long. Nombre %% de couverture totale\n" +msgid " Section header string table index: %ld" +msgstr " Table d'indexes des chaînes d'en-tête de section: %ld" -#: readelf.c:6797 readelf.c:6813 readelf.c:10967 readelf.c:11159 -msgid "Out of memory" -msgstr "Mémoire épuisée" +#: readelf.c:3070 readelf.c:3103 +msgid "program headers" +msgstr "En-tête de programme" + +#: readelf.c:3141 readelf.c:3440 readelf.c:3481 readelf.c:3540 readelf.c:3603 +#: readelf.c:4208 readelf.c:4232 readelf.c:5510 readelf.c:5554 readelf.c:5752 +#: readelf.c:6734 readelf.c:6748 readelf.c:8564 readelf.c:8972 readelf.c:9039 +msgid "Out of memory\n" +msgstr "Mémoire épuisée\n" -#: readelf.c:6862 +#: readelf.c:3168 #, c-format msgid "" "\n" -"Dynamic info segment at offset 0x%lx contains %d entries:\n" +"There are no program headers in this file.\n" msgstr "" "\n" -"Segment d'informations dynamiques à l'adresse de décalage 0x%lx contient %d entrées:\n" - -#: readelf.c:6865 -#, c-format -msgid " Num: Name BoundTo Flags\n" -msgstr " Num: Nom Lier à Fanions\n" +"Il n'y a pas d'en-têtes de programme dans ce fichier.\n" -#: readelf.c:6917 +#: readelf.c:3174 #, c-format msgid "" "\n" -"Assembly dump of section %s\n" +"Elf file type is %s\n" msgstr "" "\n" -"Vidange de la section assembleur %s\n" +"Type de fichier ELF est %s\n" -#: readelf.c:6938 +#: readelf.c:3175 #, c-format -msgid "" -"\n" -"Section '%s' has no data to dump.\n" -msgstr "" -"\n" -"La section « %s » n'a pas de données à être videngé.\n" +msgid "Entry point " +msgstr "Point d'entrée " -#: readelf.c:6943 +#: readelf.c:3177 #, c-format msgid "" "\n" -"Hex dump of section '%s':\n" +"There are %d program headers, starting at offset " msgstr "" "\n" -"Vidange hexadécimale de la section « %s »:\n" - -#: readelf.c:7090 -msgid "badly formed extended line op encountered!\n" -msgstr "ligne rencontrée de l'extension de l'opérateur est mal composée!\n" - -#: readelf.c:7097 -#, c-format -msgid " Extended opcode %d: " -msgstr " Code op étendu %d: " +"Il y a %d en-têtes de programme, débutant à l'adresse de décalage" -#: readelf.c:7102 +#: readelf.c:3189 readelf.c:3191 #, c-format msgid "" -"End of Sequence\n" "\n" +"Program Headers:\n" msgstr "" -"Fin de séquence\n" "\n" +"En-têtes de programme:\n" -#: readelf.c:7108 -#, c-format -msgid "set Address to 0x%lx\n" -msgstr "initialisé l'adresse à 0x%lx\n" - -#: readelf.c:7113 -#, c-format -msgid " define new File Table entry\n" -msgstr " définir une entrée pour un nouveau fichier de table\n" - -#: readelf.c:7114 readelf.c:9032 -#, c-format -msgid " Entry\tDir\tTime\tSize\tName\n" -msgstr " Entrée\tRép.\tDate\tTaille\tNom\n" - -#: readelf.c:7116 +#: readelf.c:3195 #, c-format -msgid " %d\t" -msgstr " %d\t" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Type Décalage Adr. vir. Adr.phys. T.Fich. T.Mém. Fan Alignement\n" -#: readelf.c:7119 readelf.c:7121 readelf.c:7123 readelf.c:9044 readelf.c:9046 -#: readelf.c:9048 +#: readelf.c:3198 #, c-format -msgid "%lu\t" -msgstr "%lu\t" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Type Décalage Adr. vir. Adr.phys. T.Fich. T.Mém. Fan Alignement\n" -#: readelf.c:7124 +#: readelf.c:3202 #, c-format -msgid "" -"%s\n" -"\n" -msgstr "" -"%s\n" -"\n" +msgid " Type Offset VirtAddr PhysAddr\n" +msgstr " Type Décalage Adr.virt Adr.phys.\n" -#: readelf.c:7128 +#: readelf.c:3204 #, c-format -msgid "UNKNOWN: length %d\n" -msgstr "UNKNOWN: longueur %d\n" - -#: readelf.c:7155 -msgid "debug_str section data" -msgstr "données de la section debug_str" - -#: readelf.c:7173 -msgid "" -msgstr "" +msgid " FileSiz MemSiz Flags Align\n" +msgstr " Taille fichier Taille mémoire Fanion Alignement\n" -#: readelf.c:7176 -msgid "" -msgstr "" +#: readelf.c:3297 +msgid "more than one dynamic segment\n" +msgstr "plus d'un segment dynamique\n" -#: readelf.c:7201 -msgid "debug_loc section data" -msgstr "données de la section debug_loc" +#: readelf.c:3308 +msgid "no .dynamic section in the dynamic segment" +msgstr "pas de section .dynamic dans le segment dynamique" -#: readelf.c:7235 -msgid "debug_range section data" -msgstr "données de la section debug_range de mise au point" +#: readelf.c:3317 +msgid "the .dynamic section is not contained within the dynamic segment" +msgstr "la section .dynamic n'est pas contenu à l'intérieur du segment dynamique" -#: readelf.c:7307 -#, c-format -msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" -msgstr "%s: escamotage inattendu du type de symbole %s dans la section relocalisation .rela%s\n" +#: readelf.c:3319 +msgid "the .dynamic section is not the first section in the dynamic segment." +msgstr "la section .dynamic n'est pas la première section dans le segment dynamique." -#: readelf.c:7321 -#, c-format -msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" -msgstr "escamotage inattendu du type de symbole %s dans la section de relocalisation .rela%s\n" +#: readelf.c:3333 +msgid "Unable to find program interpreter name\n" +msgstr "Incapable de repérer le nom de l'interpréteur du programme\n" -#: readelf.c:7565 +#: readelf.c:3340 #, c-format -msgid "Unknown TAG value: %lx" -msgstr "Valeur d'étiquette (« TAG ») inconnue: %lx" +msgid "" +"\n" +" [Requesting program interpreter: %s]" +msgstr "" +"\n" +" [Réquisition de l'interpréteur de programme: %s]" -#: readelf.c:7601 +#: readelf.c:3352 #, c-format -msgid "Unknown FORM value: %lx" -msgstr "Valeur FORM inconnue: %lx" +msgid "" +"\n" +" Section to Segment mapping:\n" +msgstr "" +"\n" +" Section à la projection de segement:\n" -#: readelf.c:7610 +#: readelf.c:3353 #, c-format -msgid " %lu byte block: " -msgstr " %lu bloc d'octets: " +msgid " Segment Sections...\n" +msgstr " Sections de segment...\n" -#: readelf.c:7944 -#, c-format -msgid "(User defined location op)" -msgstr "(Op de localisation défini par l'usager)" +#: readelf.c:3402 +msgid "Cannot interpret virtual addresses without program headers.\n" +msgstr "Ne peut interpréter les adresses virtuelles sans l'en-tête du programme.\n" -#: readelf.c:7946 +#: readelf.c:3418 #, c-format -msgid "(Unknown location op)" -msgstr "(Op de localisation inconnu)" - -#: readelf.c:8015 -msgid "Internal error: DWARF version is not 2 or 3.\n" -msgstr "Erreur interne: DWARF version n'est ni 2 ou 3.\n" - -#: readelf.c:8113 -msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" -msgstr "DW_FORM_data8 n'est pas supporté lorsque sizeof (unsigned long) != 8\n" +msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" +msgstr "L'adresse virtuelle 0x%lx ne peut être localisé dans chaque segment PT_LOAD.\n" -#: readelf.c:8162 -#, c-format -msgid " (indirect string, offset: 0x%lx): %s" -msgstr " (chaîne indirecte, décalage: 0x%lx): %s" +#: readelf.c:3432 readelf.c:3473 +msgid "section headers" +msgstr "En-têtes de section" -#: readelf.c:8171 -#, c-format -msgid "Unrecognized form: %d\n" -msgstr "Forme non reconnue: %d\n" +#: readelf.c:3517 readelf.c:3580 +msgid "symbols" +msgstr "symboles" -#: readelf.c:8256 -#, c-format -msgid "(not inlined)" -msgstr "(pas en ligne)" +#: readelf.c:3527 readelf.c:3590 +msgid "symtab shndx" +msgstr "symtab shndx" -#: readelf.c:8259 +#: readelf.c:3817 readelf.c:4192 #, c-format -msgid "(inlined)" -msgstr "(en ligne)" +msgid "" +"\n" +"There are no sections in this file.\n" +msgstr "" +"\n" +"Il n'y a pas de section dans ce fichier.\n" -#: readelf.c:8262 +#: readelf.c:3823 #, c-format -msgid "(declared as inline but ignored)" -msgstr "(déclaré comme en ligne mais ignoré)" +msgid "There are %d section headers, starting at offset 0x%lx:\n" +msgstr "Il y a %d en-têtes de section, débutant à l'adresse de décalage 0x%lx:\n" -#: readelf.c:8265 -#, c-format -msgid "(declared as inline and inlined)" -msgstr "(déclaré comme en-ligne et en-ligné" +#: readelf.c:3842 readelf.c:4309 readelf.c:4544 readelf.c:4852 readelf.c:5267 +#: readelf.c:6906 +msgid "string table" +msgstr "table de chaînes" -#: readelf.c:8268 +#: readelf.c:3881 #, c-format -msgid " (Unknown inline attribute value: %lx)" -msgstr " (valeur d'attribut en ligne inconnu: %lx)" +msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" +msgstr "La section %d a une sh_entsize %lx invalide (attendait %lx)\n" -#: readelf.c:8413 readelf.c:9537 -#, c-format -msgid " [without DW_AT_frame_base]" -msgstr " [sans DW_AT_frame_base]" +#: readelf.c:3901 +msgid "File contains multiple dynamic symbol tables\n" +msgstr "Le fichier contient plusieurs tables dynamiques de symboles\n" -#: readelf.c:8416 -#, c-format -msgid "(location list)" -msgstr "(liste de localisation)" +#: readelf.c:3914 +msgid "File contains multiple dynamic string tables\n" +msgstr "Le fichier contient plusieurs tables de chaînes dynamiques\n" -#: readelf.c:8534 -#, c-format -msgid "Unknown AT value: %lx" -msgstr "Valeur AT inconnue: %lx" +#: readelf.c:3919 +msgid "dynamic strings" +msgstr "chaînes dynamiques" -#: readelf.c:8602 -msgid "No comp units in .debug_info section ?" -msgstr "Pas d'unités de comptabilisation dans la section .debug_info ?" +#: readelf.c:3926 +msgid "File contains multiple symtab shndx tables\n" +msgstr "Le fichier contient de multiples tables symboliques shndx\n" -#: readelf.c:8611 +#: readelf.c:3973 #, c-format -msgid "Not enough memory for a debug info array of %u entries" -msgstr "Pas asses de mémoire pour les infos dans un tableau de mise au point de %u entrées" +msgid "" +"\n" +"Section Headers:\n" +msgstr "" +"\n" +"En-têtes de section:\n" -#: readelf.c:8619 readelf.c:9630 +#: readelf.c:3975 #, c-format msgid "" -"The section %s contains:\n" "\n" +"Section Header:\n" msgstr "" -"La section %s contient:\n" "\n" +"En-têtes de section:\n" -#: readelf.c:8693 +#: readelf.c:3981 readelf.c:3992 readelf.c:4003 #, c-format -msgid " Compilation Unit @ %lx:\n" -msgstr " Unité de compilation @ %lx:\n" +msgid " [Nr] Name\n" +msgstr " [Nr] Nom\n" -#: readelf.c:8694 +#: readelf.c:3982 #, c-format -msgid " Length: %ld\n" -msgstr " Longueur: %ld\n" +msgid " Type Addr Off Size ES Lk Inf Al\n" +msgstr " Type Adr Décala.Taille ES LN Inf Al\n" -#: readelf.c:8695 +#: readelf.c:3986 #, c-format -msgid " Version: %d\n" -msgstr " Version: %d\n" +msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Nom Type Adr Décala.Taille ES Fan LN Inf Al\n" -#: readelf.c:8696 +#: readelf.c:3993 #, c-format -msgid " Abbrev Offset: %ld\n" -msgstr " Décalage agrégé: %ld\n" +msgid " Type Address Off Size ES Lk Inf Al\n" +msgstr " Type Adresse Décala.Taille ES LN Inf Al\n" -#: readelf.c:8697 +#: readelf.c:3997 #, c-format -msgid " Pointer Size: %d\n" -msgstr " Taille des pointeurs: %d\n" - -#: readelf.c:8702 -msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" -msgstr "Seuls les informations de débug de la version DWARF 2 et 3 sont couramment supportés.\n" - -#: readelf.c:8717 -msgid "Unable to locate .debug_abbrev section!\n" -msgstr "Incapable de localiser la section .debug_abbrev!\n" +msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Nom Type Adr Décala.Taille ES Fan LN Inf Al\n" -#: readelf.c:8722 -msgid "debug_abbrev section data" -msgstr "données de la section debug_abbrev" +#: readelf.c:4004 +#, c-format +msgid " Type Address Offset Link\n" +msgstr " Type Adresse Décalage Lien\n" -#: readelf.c:8759 +#: readelf.c:4005 #, c-format -msgid "Unable to locate entry %lu in the abbreviation table\n" -msgstr "Incapable de localiser l'entrée %lu dans la table d'abréviation\n" +msgid " Size EntSize Info Align\n" +msgstr " Taille TaillEntré Info Alignement\n" -#: readelf.c:8765 +#: readelf.c:4009 #, c-format -msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" -msgstr " <%d><%lx>: Numéro d'abréviation: %lu (%s)\n" +msgid " [Nr] Name Type Address Offset\n" +msgstr " [Nr] Nom Type Adresse Décalage\n" -#: readelf.c:8838 +#: readelf.c:4010 #, c-format -msgid "%s section needs a populated .debug_info section\n" -msgstr "%s la section a besoin d'une section .debug_info_section\n" +msgid " Size EntSize Flags Link Info Align\n" +msgstr " Taille TaillEntré Fanion Lien Info Alignement\n" -#: readelf.c:8845 +#: readelf.c:4015 #, c-format -msgid "%s section has more comp units than .debug_info section\n" -msgstr "%s la section a plus d'unités de comptabilisation que la section .debug_info_section\n" +msgid " Flags\n" +msgstr " Fanions\n" -#: readelf.c:8847 +#: readelf.c:4150 #, c-format msgid "" -"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" -"\n" +"Key to Flags:\n" +" W (write), A (alloc), X (execute), M (merge), S (strings)\n" +" I (info), L (link order), G (group), x (unknown)\n" +" O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -"on assume que la taille du pointeur est %d à partir de la dernière unité de comptabilisation dans .debug_info\n" -"\n" +"Clé des fanions:\n" +" W (écriture), A (allocation), X (exécution), M (fusion), S (chaînes)\n" +" I (info), L (ordre des liens), G (groupe), x (inconnu)\n" +" O (traiterment additionnel requis pour l'OS) o (spécifique à l'OS), p (spécifique au processeur)\n" + +#: readelf.c:4168 +#, c-format +msgid "[: 0x%x]" +msgstr ": 0x%x]" -#: readelf.c:8891 -msgid "extracting information from .debug_info section" -msgstr "extraction d'information à partir de la section .debug_info" +#: readelf.c:4199 +msgid "Section headers are not available!\n" +msgstr "En-têtes de section ne sont pas disponibles!\n" -#: readelf.c:8909 +#: readelf.c:4223 #, c-format msgid "" "\n" -"Dump of debug contents of section %s:\n" -"\n" +"There are no section groups in this file.\n" msgstr "" "\n" -"Vidange du contenu de débug de la section %s:\n" -"\n" +"Il n'y a pas de groupe de section dans ce fichier.\n" -#: readelf.c:8948 -msgid "The line info appears to be corrupt - the section is too small\n" -msgstr "La ligne d'information semble corrompue - la section est trop petite\n" +#: readelf.c:4259 +#, c-format +msgid "Bad sh_link in group section `%s'\n" +msgstr "sh_link erroné dans la section de groupe `%s'\n" -#: readelf.c:8957 -msgid "Only DWARF version 2 and 3 line info is currently supported.\n" -msgstr "Seule la ligne d'info DWARF de version 2 et 3 est couramment supportée.\n" +#: readelf.c:4278 +#, c-format +msgid "Bad sh_info in group section `%s'\n" +msgstr "sh_info erroné dans la section de groupe`%s'\n" -#: readelf.c:8984 +#: readelf.c:4317 readelf.c:7243 +msgid "section data" +msgstr "données de section" + +#: readelf.c:4329 #, c-format -msgid " Length: %ld\n" -msgstr " Longueur: %ld\n" +msgid " [Index] Name\n" +msgstr " [Index] Nom\n" -#: readelf.c:8985 +#: readelf.c:4343 #, c-format -msgid " DWARF Version: %d\n" -msgstr " Version DWARF: %d\n" +msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n" +msgstr "section [%5u] est dans le groupe section [%5u] > que le maximum de la section [%5u]\n" -#: readelf.c:8986 +#: readelf.c:4349 #, c-format -msgid " Prologue Length: %d\n" -msgstr " Longueur du prologue: %d\n" +msgid "invalid section [%5u] in group section [%5u]\n" +msgstr "section invalide [%5u] est dans le groupe section [%5u]\n" -#: readelf.c:8987 +#: readelf.c:4359 #, c-format -msgid " Minimum Instruction Length: %d\n" -msgstr " Longueur minimale des instructions: %d\n" +msgid "section [%5u] in group section [%5u] already in group section [%5u]\n" +msgstr "section [%5u] est dans le groupe section [%5u] qui est déjà dans le groupe section [%5u]\n" -#: readelf.c:8988 +#: readelf.c:4372 #, c-format -msgid " Initial value of 'is_stmt': %d\n" -msgstr " Valeur initiale de « is_stmt »: %d\n" +msgid "section 0 in group section [%5u]\n" +msgstr "section 0 dans le groupe section [%5u]\n" -#: readelf.c:8989 +#: readelf.c:4468 #, c-format -msgid " Line Base: %d\n" -msgstr " Ligne de base: %d\n" +msgid "" +"\n" +"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +msgstr "" +"\n" +"'%s' section de relocalisation à l'adresse de décalage 0x%lx contient %ld octets:\n" -#: readelf.c:8990 +#: readelf.c:4480 #, c-format -msgid " Line Range: %d\n" -msgstr " Ligne d'étendue: %d\n" +msgid "" +"\n" +"There are no dynamic relocations in this file.\n" +msgstr "" +"\n" +"Il n'y a pas d'informations de relocalisation dynamique dans ce fichier.\n" -#: readelf.c:8991 +#: readelf.c:4504 #, c-format -msgid " Opcode Base: %d\n" -msgstr " Code op Base: %d\n" +msgid "" +"\n" +"Relocation section " +msgstr "" +"\n" +"Section de relocalisation " + +#: readelf.c:4509 readelf.c:4928 readelf.c:4942 readelf.c:5282 +#, c-format +msgid "'%s'" +msgstr "« %s »" -#: readelf.c:8992 +#: readelf.c:4511 readelf.c:4944 readelf.c:5284 #, c-format -msgid " (Pointer size: %u)\n" -msgstr " Taille des pointeurs: %u)\n" +msgid " at offset 0x%lx contains %lu entries:\n" +msgstr " à l'adresse de décalage 0x%lx contient %lu entrées:\n" -#: readelf.c:9001 +#: readelf.c:4563 #, c-format msgid "" "\n" -" Opcodes:\n" +"There are no relocations in this file.\n" msgstr "" "\n" -" Codes op:\n" +"Il n'y a pas de relocalisation dans ce fichier.\n" + +#: readelf.c:4742 readelf.c:5124 +msgid "unwind table" +msgstr "table unwind" -#: readelf.c:9004 +#: readelf.c:4801 readelf.c:5214 #, c-format -msgid " Opcode %d has %d args\n" -msgstr " Code op %d a %d arguments\n" +msgid "Skipping unexpected relocation type %s\n" +msgstr "Escamotage du type de relocalisation inattendue %s\n" -#: readelf.c:9010 +#: readelf.c:4860 readelf.c:5275 readelf.c:5326 #, c-format msgid "" "\n" -" The Directory Table is empty.\n" +"There are no unwind sections in this file.\n" msgstr "" "\n" -" La table des répertoires est vide.\n" +"Il n'y a pas de section unwind dans ce fichier.\n" -#: readelf.c:9013 +#: readelf.c:4923 #, c-format msgid "" "\n" -" The Directory Table:\n" +"Could not find unwind info section for " msgstr "" "\n" -" La table des répertoire:\n" +"N'a pu repérer les infos d'une section unwind pour " -#: readelf.c:9017 -#, c-format -msgid " %s\n" -msgstr " %s\n" +#: readelf.c:4935 +msgid "unwind info" +msgstr "info unwind" -#: readelf.c:9028 +#: readelf.c:4937 readelf.c:5281 #, c-format msgid "" "\n" -" The File Name Table is empty.\n" +"Unwind section " msgstr "" "\n" -" La talbe des noms de fichiers est vide.\n" +"Section unwind" -#: readelf.c:9031 +#: readelf.c:5491 readelf.c:5535 +msgid "dynamic section" +msgstr "section dynamique" + +#: readelf.c:5612 #, c-format msgid "" "\n" -" The File Name Table:\n" +"There is no dynamic section in this file.\n" msgstr "" "\n" -" La table des noms de fichiers:\n" +"Il n'y a pas de section dynamique dans ce fichier.\n" -#: readelf.c:9039 -#, c-format -msgid " %d\t" -msgstr " %d\t" +#: readelf.c:5650 +msgid "Unable to seek to end of file!" +msgstr "Incapable de repérer la fin du fichier!" -#: readelf.c:9050 -#, c-format -msgid "%s\n" -msgstr "%s\n" +#: readelf.c:5663 +msgid "Unable to determine the number of symbols to load\n" +msgstr "Incapable de déterminer le nombre de symboles à charger\n" -#. Now display the statements. -#: readelf.c:9058 +#: readelf.c:5698 +msgid "Unable to seek to end of file\n" +msgstr "Incapable de repérer la fin du fichier\n" + +#: readelf.c:5705 +msgid "Unable to determine the length of the dynamic string table\n" +msgstr "Incapable de déterminer la longueur de la table de chaînes dynamiques\n" + +#: readelf.c:5710 +msgid "dynamic string table" +msgstr "table dynamique de chaînes" + +#: readelf.c:5745 +msgid "symbol information" +msgstr "information de symbole" + +#: readelf.c:5770 #, c-format msgid "" "\n" -" Line Number Statements:\n" +"Dynamic section at offset 0x%lx contains %u entries:\n" msgstr "" "\n" -" Numéro de ligne des déclarations:\n" - -#: readelf.c:9073 -#, c-format -msgid " Special opcode %d: advance Address by %d to 0x%lx" -msgstr " Code op spécial %d: avancé l'Adresse par %d à 0x%lx" +"Section dynamique à l'adresse de décalage 0x%lx contient %u entrées:\n" -#: readelf.c:9077 +#: readelf.c:5773 #, c-format -msgid " and Line by %d to %d\n" -msgstr " et Ligne par %d à %d\n" +msgid " Tag Type Name/Value\n" +msgstr " Étiquettes Type Nom/Valeur\n" -#: readelf.c:9088 +#: readelf.c:5809 #, c-format -msgid " Copy\n" -msgstr " Copie\n" +msgid "Auxiliary library" +msgstr "Librairie auxiliaire" -#: readelf.c:9095 +#: readelf.c:5813 #, c-format -msgid " Advance PC by %d to %lx\n" -msgstr " Avancer le compteur PC de %d à %lx\n" +msgid "Filter library" +msgstr "Librairie de filtre" -#: readelf.c:9103 +#: readelf.c:5817 #, c-format -msgid " Advance Line by %d to %d\n" -msgstr " Avancer la ligne de %d à %d\n" +msgid "Configuration file" +msgstr "Fichier de configuration" -#: readelf.c:9110 +#: readelf.c:5821 #, c-format -msgid " Set File Name to entry %d in the File Name Table\n" -msgstr " Initialisé le nom du fichier à l'entrée %d dans la table des noms de fichiers\n" +msgid "Dependency audit library" +msgstr "Librairie d'audit des dépendances" -#: readelf.c:9118 +#: readelf.c:5825 #, c-format -msgid " Set column to %d\n" -msgstr " Initialisé la colonne à %d\n" +msgid "Audit library" +msgstr "Librairie des audits" -#: readelf.c:9125 +#: readelf.c:5843 readelf.c:5871 readelf.c:5899 #, c-format -msgid " Set is_stmt to %d\n" -msgstr " Initialisé is_stmt avec %d\n" +msgid "Flags:" +msgstr "Fanions:" -#: readelf.c:9130 +#: readelf.c:5846 readelf.c:5874 readelf.c:5901 #, c-format -msgid " Set basic block\n" -msgstr " Initialisé le bloc de base\n" +msgid " None\n" +msgstr "Aucun\n" -#: readelf.c:9138 +#: readelf.c:6022 #, c-format -msgid " Advance PC by constant %d to 0x%lx\n" -msgstr " Avancer le compteur PC par constante de %d à 0x%lx\n" +msgid "Shared library: [%s]" +msgstr "Librairie partagées: [%s]" -#: readelf.c:9146 +#: readelf.c:6025 #, c-format -msgid " Advance PC by fixed size amount %d to 0x%lx\n" -msgstr " Avancer le compteur PC par une taille fixe de %d à 0x%lx\n" +msgid " program interpreter" +msgstr " programme interpréteur" -#: readelf.c:9151 +#: readelf.c:6029 #, c-format -msgid " Set prologue_end to true\n" -msgstr " Initialiser prologue_end à VRAI\n" +msgid "Library soname: [%s]" +msgstr "Librairie soname: [%s]" -#: readelf.c:9155 +#: readelf.c:6033 #, c-format -msgid " Set epilogue_begin to true\n" -msgstr " Initialiser epilogue_begin à VRAI\n" +msgid "Library rpath: [%s]" +msgstr "Librairie rpath: [%s]" -#: readelf.c:9161 +#: readelf.c:6037 #, c-format -msgid " Set ISA to %d\n" -msgstr " Initialiser ISA à %d\n" +msgid "Library runpath: [%s]" +msgstr "Librairie runpath:[%s]" -#: readelf.c:9165 +#: readelf.c:6100 #, c-format -msgid " Unknown opcode %d with operands: " -msgstr " opcode inconnu %d avec les opérandes:" +msgid "Not needed object: [%s]\n" +msgstr "Objet non nécessaire: [%s]\n" -#: readelf.c:9193 readelf.c:9279 readelf.c:9354 +#: readelf.c:6214 #, c-format msgid "" -"Contents of the %s section:\n" "\n" +"Version definition section '%s' contains %ld entries:\n" msgstr "" -"Contenue de la section %s:\n" "\n" +"Section des définitions de version « %s » contient %ld entrées:\n" -#: readelf.c:9233 -msgid "Only DWARF 2 and 3 pubnames are currently supported\n" -msgstr "Seuls les noms publics DWARF 2 et 3 sont couramment supportés\n" +#: readelf.c:6217 +#, c-format +msgid " Addr: 0x" +msgstr " Adr: 0x" -#: readelf.c:9240 +#: readelf.c:6219 readelf.c:6426 #, c-format -msgid " Length: %ld\n" -msgstr " Longueur: %ld\n" +msgid " Offset: %#08lx Link: %lx (%s)\n" +msgstr " Décalage: %#08lx Lien: %lx (%s)\n" + +#: readelf.c:6228 +msgid "version definition section" +msgstr "section de définition de version" + +#: readelf.c:6254 +#, c-format +msgid " %#06x: Rev: %d Flags: %s" +msgstr " %#06x: Rev: %d Fanions: %s" + +#: readelf.c:6257 +#, c-format +msgid " Index: %d Cnt: %d " +msgstr " Index: %d Compteur: %d " + +#: readelf.c:6268 +#, c-format +msgid "Name: %s\n" +msgstr "Nom: %s\n" -#: readelf.c:9242 +#: readelf.c:6270 #, c-format -msgid " Version: %d\n" -msgstr " Version: %d\n" +msgid "Name index: %ld\n" +msgstr "Nom de l'index: %ld\n" -#: readelf.c:9244 +#: readelf.c:6285 #, c-format -msgid " Offset into .debug_info section: %ld\n" -msgstr " Décalage dans la section .debug_info:%ld\n" +msgid " %#06x: Parent %d: %s\n" +msgstr " %#06x: Parent %d: %s\n" -#: readelf.c:9246 +#: readelf.c:6288 #, c-format -msgid " Size of area in .debug_info section: %ld\n" -msgstr " Taille de la zone dans la section .debug_info: %ld\n" +msgid " %#06x: Parent %d, name index: %ld\n" +msgstr " %#06x: Parent %d, name index: %ld\n" -#: readelf.c:9249 +#: readelf.c:6307 #, c-format msgid "" "\n" -" Offset\tName\n" +"Version needs section '%s' contains %ld entries:\n" msgstr "" "\n" -" Décalage\tNom\n" +"Version nécessitant la section « %s » contenant %ld entrées:\n" -#: readelf.c:9300 +#: readelf.c:6310 #, c-format -msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" -msgstr " DW_MACINFO_start_file - no de ligne: %d no de fichier: %d\n" +msgid " Addr: 0x" +msgstr " Adr: 0x" -#: readelf.c:9306 +#: readelf.c:6312 #, c-format -msgid " DW_MACINFO_end_file\n" -msgstr " DW_MACINFO_end_file\n" +msgid " Offset: %#08lx Link to section: %ld (%s)\n" +msgstr " Décalage: %#08lx Lien vers la section: %ld (%s)\n" -#: readelf.c:9314 -#, c-format -msgid " DW_MACINFO_define - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_define - no de ligne : %d macro : %s\n" +#: readelf.c:6321 +msgid "version need section" +msgstr "version nécessite une section" -#: readelf.c:9323 +#: readelf.c:6343 #, c-format -msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_undef - no de ligne : %d macro : %s\n" +msgid " %#06x: Version: %d" +msgstr " %#06x: Version: %d" -#: readelf.c:9335 +#: readelf.c:6346 #, c-format -msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" -msgstr " DW_MACINFO_vendor_ext - constante : %d chaîne : %s\n" +msgid " File: %s" +msgstr " Fichier: %s" -#: readelf.c:9363 +#: readelf.c:6348 #, c-format -msgid " Number TAG\n" -msgstr " Numéro d'étiquette\n" +msgid " File: %lx" +msgstr " Fichier: %lx" -#: readelf.c:9369 +#: readelf.c:6350 #, c-format -msgid " %ld %s [%s]\n" -msgstr " %ld %s [%s]\n" +msgid " Cnt: %d\n" +msgstr " Compteur: %d\n" -#: readelf.c:9372 -msgid "has children" -msgstr "a des rejetons" +#: readelf.c:6368 +#, c-format +msgid " %#06x: Name: %s" +msgstr " %#06x: Nom: %s" -#: readelf.c:9372 -msgid "no children" -msgstr "aucun rejeton" +#: readelf.c:6371 +#, c-format +msgid " %#06x: Name index: %lx" +msgstr " %#06x: Nom de l'index: %lx" -#: readelf.c:9375 +#: readelf.c:6374 #, c-format -msgid " %-18s %s\n" -msgstr " %-18s %s\n" +msgid " Flags: %s Version: %d\n" +msgstr " Fanions: %s Version: %d\n" + +#: readelf.c:6417 +msgid "version string table" +msgstr "table chaîne de version" -#: readelf.c:9410 +#: readelf.c:6421 #, c-format msgid "" "\n" -"The .debug_loc section is empty.\n" +"Version symbols section '%s' contains %d entries:\n" msgstr "" "\n" -"La section .debug_loc est vide.\n" +"La version de section « %s » des symboles contient %d entrée:\n" -#. FIXME: Should we handle this case? -#: readelf.c:9455 -msgid "Location lists in .debug_info section aren't in ascending order!\n" -msgstr "Liste de localisation dans la ssection .debug_info ne sont pas en ordre ascendant!\n" +#: readelf.c:6424 +#, c-format +msgid " Addr: " +msgstr " Adr: " -#: readelf.c:9458 -msgid "No location lists in .debug_info section!\n" -msgstr "Pas de liste de localisation dans la section .debug_info!\n" +#: readelf.c:6434 +msgid "version symbol data" +msgstr "données de symbole de version" -#: readelf.c:9461 -#, c-format -msgid "Location lists in .debug_loc section start at 0x%lx\n" -msgstr "Liste de localisation dans la section .debug_loc qui débute à 0x%lx\n" +#: readelf.c:6461 +msgid " 0 (*local*) " +msgstr " 0 (*local*) " + +#: readelf.c:6465 +msgid " 1 (*global*) " +msgstr " 1 (*global*) " -#: readelf.c:9464 +#: readelf.c:6503 readelf.c:6969 +msgid "version need" +msgstr "version nécessaire" + +#: readelf.c:6513 +msgid "version need aux (2)" +msgstr "version nécessite aux (2)" + +#: readelf.c:6555 readelf.c:7034 +msgid "version def" +msgstr "définition de version" + +#: readelf.c:6575 readelf.c:7049 +msgid "version def aux" +msgstr "définition de version aux" + +#: readelf.c:6606 #, c-format msgid "" -"Contents of the .debug_loc section:\n" "\n" +"No version information found in this file.\n" msgstr "" -"Contenu de la section .debug_loc:\n" "\n" +"Aucune information de version repérée dans ce fichier.\n" -#: readelf.c:9465 -#, c-format -msgid " Offset Begin End Expression\n" -msgstr " Décalage Début Fin Expression\n" - -#: readelf.c:9495 -#, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_loc.\n" - -#: readelf.c:9498 -#, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Il y a un chevauchement [0x%lx - 0x%lx] dans la section .debug_loc.\n" +#: readelf.c:6740 +msgid "Unable to read in dynamic data\n" +msgstr "Incapable de lire les données dynamiques\n" -#: readelf.c:9512 readelf.c:9837 -#, c-format -msgid " %8.8lx \n" -msgstr " %8.8lx \n" +#: readelf.c:6793 +msgid "Unable to seek to start of dynamic information" +msgstr "Incapable de repérer le début des informations dynamiques" -#: readelf.c:9540 readelf.c:9854 -msgid " (start == end)" -msgstr " (début == fin)" +#: readelf.c:6799 +msgid "Failed to read in number of buckets\n" +msgstr "Échec de lecture parmi tous les baquets\n" -#: readelf.c:9542 readelf.c:9856 -msgid " (start > end)" -msgstr " (début > fin)" +#: readelf.c:6805 +msgid "Failed to read in number of chains\n" +msgstr "Échec de lecture du nombre de chaînes\n" -#: readelf.c:9566 +#: readelf.c:6825 #, c-format msgid "" "\n" -"The .debug_str section is empty.\n" +"Symbol table for image:\n" msgstr "" "\n" -"La section .debug_str est vide.\n" +"Table de symbole de l'image:\n" + +#: readelf.c:6827 +#, c-format +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Nb Buc: Valeur Taille Type Lien Vis Ndx Nom\n" + +#: readelf.c:6829 +#, c-format +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Nb Buc: Valeur Taille Type Lien Vis Ndx Nom\n" -#: readelf.c:9570 +#: readelf.c:6882 #, c-format msgid "" -"Contents of the .debug_str section:\n" "\n" +"Symbol table '%s' contains %lu entries:\n" msgstr "" -"Contenu de la section .debug_str:\n" "\n" +"Table de symboles « %s » contient %lu entrées:\n" -#: readelf.c:9675 -msgid "Only DWARF 2 and 3 aranges are currently supported.\n" -msgstr "Seuls les aranges DWARF de version 2 et 3 sont couramment supportés.\n" - -#: readelf.c:9679 +#: readelf.c:6886 #, c-format -msgid " Length: %ld\n" -msgstr " Longueur %ld\n" +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num: Valeur Tail Type Lien Vis Ndx Nom\n" -#: readelf.c:9680 +#: readelf.c:6888 #, c-format -msgid " Version: %d\n" -msgstr " Version: %d\n" +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Num: Valeur Tail Type Lien Vis Ndx Nom\n" -#: readelf.c:9681 -#, c-format -msgid " Offset into .debug_info: %lx\n" -msgstr " Décalage dans .debug_info: %lx\n" +#: readelf.c:6939 +msgid "version data" +msgstr "données de version" -#: readelf.c:9682 -#, c-format -msgid " Pointer Size: %d\n" -msgstr " Taille des pointeurs: %d\n" +#: readelf.c:6982 +msgid "version need aux (3)" +msgstr "version nécessite aux (3)" -#: readelf.c:9683 -#, c-format -msgid " Segment Size: %d\n" -msgstr " Taille des segments: %d\n" +#: readelf.c:7009 +msgid "bad dynamic symbol" +msgstr "mauvais symbole dynamique" -#: readelf.c:9685 +#: readelf.c:7073 #, c-format msgid "" "\n" -" Address Length\n" +"Dynamic symbol information is not available for displaying symbols.\n" msgstr "" "\n" -" Longueur d'adresse\n" +"L'information dynamique des symboles n'est pas disponible pour l'affichage des symboles.\n" -#: readelf.c:9741 +#: readelf.c:7085 #, c-format msgid "" "\n" -"The .debug_ranges section is empty.\n" +"Histogram for bucket list length (total of %lu buckets):\n" msgstr "" "\n" -"La section .debug_ranges est vide.\n" +"Histogramme de la longueur de la liste des baquets (total de %lu baquets):\n" -#. FIXME: Should we handle this case? -#: readelf.c:9786 -msgid "Range lists in .debug_info section aren't in ascending order!\n" -msgstr "Liste des étendues dans la section .debug_info n'est pas en ordre ascendant!\n" +#: readelf.c:7087 +#, c-format +msgid " Length Number %% of total Coverage\n" +msgstr " Long. Nombre %% de couverture totale\n" -#: readelf.c:9789 -msgid "No range lists in .debug_info section!\n" -msgstr "Aucune liste d'étendues dans la section .debug_info!\n" +#: readelf.c:7092 readelf.c:7108 readelf.c:8031 readelf.c:8223 +msgid "Out of memory" +msgstr "Mémoire épuisée" + +#: readelf.c:7157 +#, c-format +msgid "" +"\n" +"Dynamic info segment at offset 0x%lx contains %d entries:\n" +msgstr "" +"\n" +"Segment d'informations dynamiques à l'adresse de décalage 0x%lx contient %d entrées:\n" -#: readelf.c:9792 +#: readelf.c:7160 #, c-format -msgid "Range lists in .debug_ranges section start at 0x%lx\n" -msgstr "Listes d'étendues dans la section .debug_ranges débutent à 0x%lx\n" +msgid " Num: Name BoundTo Flags\n" +msgstr " Num: Nom Lier à Fanions\n" -#: readelf.c:9795 +#: readelf.c:7212 #, c-format msgid "" -"Contents of the .debug_ranges section:\n" "\n" +"Assembly dump of section %s\n" msgstr "" -"Contenu de la section .debug_ranges:\n" "\n" +"Vidange de la section assembleur %s\n" -#: readelf.c:9796 +#: readelf.c:7233 #, c-format -msgid " Offset Begin End\n" -msgstr " Décalage Début Fin\n" +msgid "" +"\n" +"Section '%s' has no data to dump.\n" +msgstr "" +"\n" +"La section « %s » n'a pas de données à être videngé.\n" -#: readelf.c:9820 +#: readelf.c:7238 #, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_ranges.\n" +msgid "" +"\n" +"Hex dump of section '%s':\n" +msgstr "" +"\n" +"Vidange hexadécimale de la section « %s »:\n" -#: readelf.c:9823 +#: readelf.c:7359 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_ranges.\n" +msgid "skipping invalid relocation offset 0x%lx in section %s\n" +msgstr "escamotage invalide de relocalisation du décalage 0x%lx dans la section %s\n" -#: readelf.c:10017 +#: readelf.c:7376 #, c-format -msgid "The section %s contains:\n" -msgstr "La section %s contient:\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela%s\n" +msgstr "escamotage inattendu du type de symbole %s dans la section de relocalisation .rela%s\n" -#: readelf.c:10663 +#: readelf.c:7402 #, c-format -msgid "unsupported or unknown DW_CFA_%d\n" -msgstr "DW_CFA_%d non supporté ou inconnu\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" +msgstr "escamotage inattendu du type de symbole %s dans la section de relocalisation .rela%s\n" -#: readelf.c:10688 +#: readelf.c:7435 #, c-format -msgid "Displaying the debug contents of section %s is not yet supported.\n" -msgstr "L'affichage du contenu de la section de débug %s n'est pas encore supporté.\n" +msgid "%s section data" +msgstr "données de section %s" -#: readelf.c:10732 +#: readelf.c:7472 #, c-format msgid "" "\n" @@ -4426,29 +4504,44 @@ msgstr "" "\n" "La section « %s » n'a aucune donnée de débug.\n" -#: readelf.c:10746 -msgid "debug section data" -msgstr "données de la section debug" - -#: readelf.c:10765 +#: readelf.c:7498 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "Section de débug non reconnue: %s\n" -#: readelf.c:10800 +#: readelf.c:7533 #, c-format msgid "Section %d was not dumped because it does not exist!\n" msgstr "La section %d n'a pas été vidangée parce qu'inexistante!\n" -#: readelf.c:10872 readelf.c:11236 +#: readelf.c:7791 +msgid "attributes" +msgstr "attributs" + +#: readelf.c:7809 +#, c-format +msgid "ERROR: Bad section length (%d > %d)\n" +msgstr "ERREUR: longueur erronée de section (%d > %d)\n" + +#: readelf.c:7830 +#, c-format +msgid "ERROR: Bad subsection length (%d > %d)\n" +msgstr "EREUR: longueur erronée de la sous-section (%d > %d)\n" + +#: readelf.c:7880 +#, c-format +msgid "Unknown format '%c'\n" +msgstr "Format inconnu « %c »\n" + +#: readelf.c:7936 readelf.c:8304 msgid "liblist" msgstr "liblist" -#: readelf.c:10961 +#: readelf.c:8025 msgid "options" msgstr "options" -#: readelf.c:10991 +#: readelf.c:8055 #, c-format msgid "" "\n" @@ -4457,15 +4550,15 @@ msgstr "" "\n" "Section « %s » contient %d entrées:\n" -#: readelf.c:11152 +#: readelf.c:8216 msgid "conflict list found without a dynamic symbol table" msgstr "conflit de liste repéré sans symbole de table dynamique" -#: readelf.c:11168 readelf.c:11182 +#: readelf.c:8232 readelf.c:8246 msgid "conflict" msgstr "conflit" -#: readelf.c:11192 +#: readelf.c:8256 #, c-format msgid "" "\n" @@ -4474,15 +4567,15 @@ msgstr "" "\n" "La section « .conflict » contient %lu entrées:\n" -#: readelf.c:11194 +#: readelf.c:8258 msgid " Num: Index Value Name" msgstr " Nombre: Index Valeur Nom" -#: readelf.c:11243 +#: readelf.c:8311 msgid "liblist string table" msgstr "table de chaînes liblist" -#: readelf.c:11252 +#: readelf.c:8321 #, c-format msgid "" "\n" @@ -4491,90 +4584,90 @@ msgstr "" "\n" "Liste de libraire de la section « %s » contenant %lu entrées:\n" -#: readelf.c:11303 +#: readelf.c:8374 msgid "NT_AUXV (auxiliary vector)" msgstr "NT_AUXV (vecteur auxiliaire)" -#: readelf.c:11305 +#: readelf.c:8376 msgid "NT_PRSTATUS (prstatus structure)" msgstr "NT_PRSTATUS (structure prstatus)" -#: readelf.c:11307 +#: readelf.c:8378 msgid "NT_FPREGSET (floating point registers)" msgstr "NT_FPREGSET (régistres en virgule flottante)" -#: readelf.c:11309 +#: readelf.c:8380 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "NT_PRPSINFO (structure prpsinfo)" -#: readelf.c:11311 +#: readelf.c:8382 msgid "NT_TASKSTRUCT (task structure)" msgstr "NT_TASKSTRUCT (structure de taches)" -#: readelf.c:11313 +#: readelf.c:8384 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "NT_PRXFPREG (structure user_xfpregs)" -#: readelf.c:11315 +#: readelf.c:8386 msgid "NT_PSTATUS (pstatus structure)" msgstr "NT_PSTATUS (structure pstatus)" -#: readelf.c:11317 +#: readelf.c:8388 msgid "NT_FPREGS (floating point registers)" msgstr "NT_FPREGS (registres en virgule flottante)" -#: readelf.c:11319 +#: readelf.c:8390 msgid "NT_PSINFO (psinfo structure)" msgstr "NT_PSINFO (structure psinfo)" -#: readelf.c:11321 +#: readelf.c:8392 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "NT_LWPSTATUS (structure lwpstatus_t)" -#: readelf.c:11323 +#: readelf.c:8394 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "NT_LWPSINFO (structure lwpsinfo_t)" -#: readelf.c:11325 +#: readelf.c:8396 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "NT_WIN32PSTATUS (structure win32_pstatus)" -#: readelf.c:11333 +#: readelf.c:8404 msgid "NT_VERSION (version)" msgstr "NT_VERSION (version)" -#: readelf.c:11335 +#: readelf.c:8406 msgid "NT_ARCH (architecture)" msgstr "NT_ARCH (architecture)" -#: readelf.c:11340 readelf.c:11362 +#: readelf.c:8411 readelf.c:8433 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "Type de note inconnu: (0x%08x)" #. NetBSD core "procinfo" structure. -#: readelf.c:11352 +#: readelf.c:8423 msgid "NetBSD procinfo structure" msgstr "structure proinfo NetBSD" -#: readelf.c:11379 readelf.c:11393 +#: readelf.c:8450 readelf.c:8464 msgid "PT_GETREGS (reg structure)" msgstr "PT_GETREGS (structure reg)" -#: readelf.c:11381 readelf.c:11395 +#: readelf.c:8452 readelf.c:8466 msgid "PT_GETFPREGS (fpreg structure)" msgstr "PT_GETFPPREGS (structure fpreg)" -#: readelf.c:11401 +#: readelf.c:8472 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "PT_FIRSTMACH+%d" -#: readelf.c:11447 +#: readelf.c:8518 msgid "notes" msgstr "notes" -#: readelf.c:11453 +#: readelf.c:8524 #, c-format msgid "" "\n" @@ -4583,27 +4676,27 @@ msgstr "" "\n" "Notes au décalage 0x%08lx de longueur 0x%08lx:\n" -#: readelf.c:11455 +#: readelf.c:8526 #, c-format msgid " Owner\t\tData size\tDescription\n" msgstr " Propriétaire\t\tTaille de données\tDescription\n" -#: readelf.c:11474 +#: readelf.c:8545 #, c-format -msgid "corrupt note found at offset %x into core notes\n" -msgstr "note corrompue repérée au décalage %x dans les notes du core\n" +msgid "corrupt note found at offset %lx into core notes\n" +msgstr "note corrompue repérée au décalage %lx dans les notes du core\n" -#: readelf.c:11476 +#: readelf.c:8547 #, c-format -msgid " type: %x, namesize: %08lx, descsize: %08lx\n" -msgstr " type: %x, taille de noms: %08lx, taille de descriptions: %08lx\n" +msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" +msgstr " type: %lx, taille des noms: %08lx, taille de descriptions: %08lx\n" -#: readelf.c:11574 +#: readelf.c:8645 #, c-format msgid "No note segments present in the core file.\n" msgstr "Aucun note de segment présent dans le fichier core.\n" -#: readelf.c:11653 +#: readelf.c:8726 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" @@ -4611,12 +4704,12 @@ msgstr "" "Cette instance de readelf a été contstruite sans soutien pour des\n" "types de données de 64 bits et ne peut donc lire des fichiers de 64 bits ELF.\n" -#: readelf.c:11700 readelf.c:12059 +#: readelf.c:8775 readelf.c:9119 #, c-format msgid "%s: Failed to read file header\n" msgstr "%s: échec de lecture de l'en-tête du fichier\n" -#: readelf.c:11713 +#: readelf.c:8788 #, c-format msgid "" "\n" @@ -4625,68 +4718,68 @@ msgstr "" "\n" "Fichier: %s\n" -#: readelf.c:11876 readelf.c:11897 readelf.c:11934 readelf.c:12014 +#: readelf.c:8936 readelf.c:8957 readelf.c:8994 readelf.c:9074 #, c-format msgid "%s: failed to read archive header\n" msgstr "%s: échec de lecture de l'en-tête de l'archive\n" -#: readelf.c:11887 +#: readelf.c:8947 #, c-format msgid "%s: failed to skip archive symbol table\n" msgstr "%s: échec d'escamotage de la table de symboles dans l'archive\n" -#: readelf.c:11919 +#: readelf.c:8979 #, c-format msgid "%s: failed to read string table\n" msgstr "%s: échec de lecture de la table de chaînes\n" -#: readelf.c:11955 +#: readelf.c:9015 #, c-format msgid "%s: invalid archive string table offset %lu\n" msgstr "%s: chaîne de décalage %lu dans la table est invalide dans l'archive\n" -#: readelf.c:11971 +#: readelf.c:9031 #, c-format msgid "%s: bad archive file name\n" msgstr "%s: nom erroné du fichier d'archive\n" -#: readelf.c:12003 +#: readelf.c:9063 #, c-format msgid "%s: failed to seek to next archive header\n" msgstr "%s: échec de repérage de la prochaine en-tête d'archive\n" -#: readelf.c:12037 +#: readelf.c:9097 #, c-format msgid "'%s': No such file\n" msgstr "'%s': pas de fichier comme tel\n" -#: readelf.c:12039 +#: readelf.c:9099 #, c-format msgid "Could not locate '%s'. System error message: %s\n" msgstr "Ne peut retrouver '%s'. Message d'erreur système: %s\n" -#: readelf.c:12046 +#: readelf.c:9106 #, c-format msgid "'%s' is not an ordinary file\n" msgstr "'%s' n'est pas un fichier ordinaire\n" -#: readelf.c:12053 +#: readelf.c:9113 #, c-format msgid "Input file '%s' is not readable.\n" msgstr "Fichier d'entrée %s n'est pas lisible.\n" -#: rename.c:127 +#: rename.c:129 #, c-format msgid "%s: cannot set time: %s" msgstr "%s: ne peut initialisé l'heure: %s" #. We have to clean up here. -#: rename.c:162 rename.c:200 +#: rename.c:164 rename.c:202 #, c-format msgid "unable to rename '%s' reason: %s" msgstr "incapable de renommer '%s' pour la raison suivante: %s" -#: rename.c:208 +#: rename.c:210 #, c-format msgid "unable to copy file '%s' reason: %s" msgstr "incapable de copier le fichier '%s' pour la raisoin suivante: %s" @@ -5068,17 +5161,17 @@ msgstr " msgid "can't open `%s' for output: %s" msgstr "ne peut ouvrir « %s » pour la sortie: %s" -#: size.c:81 +#: size.c:83 #, c-format msgid " Displays the sizes of sections inside binary files\n" msgstr "Afficher les tailles des sections à l'intérieur des fichiers binaires\n" -#: size.c:82 +#: size.c:84 #, c-format msgid " If no input file(s) are specified, a.out is assumed\n" msgstr "Aucune fichier spécifié à l'entrée a.out est assumé\n" -#: size.c:83 +#: size.c:85 #, c-format msgid "" " The options are:\n" @@ -5086,6 +5179,7 @@ msgid "" " -o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n" " -t --totals Display the total sizes (Berkeley only)\n" " --target= Set the binary file format\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" @@ -5095,16 +5189,17 @@ msgstr "" " -o|-d|-h --radix={8|10|16} afficher les nombres en octal, décimal ou hexadécimal\n" " -t --totals afficher les tailles totales (Berkeley seulement)\n" " --target= sélectionner le format de fichier binaire\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -V --version afficher le nom et la version du logiciel\n" "\n" -#: size.c:153 +#: size.c:158 #, c-format msgid "invalid argument to --format: %s" msgstr "argument invalide pour --format: %s" -#: size.c:180 +#: size.c:185 #, c-format msgid "Invalid radix: %s\n" msgstr "Base numérique invalide: %s\n" @@ -5121,6 +5216,7 @@ msgid "" " -q --quick (Obsolete - ignored)\n" " -n --noprescan Do not perform a scan to convert commons into defs\n" " -d --debug Display information about what is being done\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5128,10 +5224,11 @@ msgstr "" " -q --quick (obsolète - ignoré)\n" " -n --noprescan ne pas faire de scrutation pour convertir les commun en defs\n" " -d --debug afficher de l'information à propos de ce qui a été fait\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -V --version afficher le nom et la version du logiciel\n" -#: srconv.c:1866 +#: srconv.c:1869 #, c-format msgid "unable to open output file %s" msgstr "incapable d'ouvrir le fichier de sortie %s" @@ -5269,22 +5366,22 @@ msgstr "Varargs inattendu de d msgid "Unrecognized demangled builtin type\n" msgstr "type de construit de démutilation non reconnu\n" -#: strings.c:206 +#: strings.c:218 #, c-format msgid "invalid number %s" msgstr "nombre invalide %s" -#: strings.c:643 +#: strings.c:700 #, c-format msgid "invalid integer argument %s" msgstr "argument en valeur entière invalide %s" -#: strings.c:652 +#: strings.c:709 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr "Afficher les chaîne imprimables des [fichier] (stdin par défaut)\n" -#: strings.c:653 +#: strings.c:710 #, c-format msgid "" " The options are:\n" @@ -5297,6 +5394,7 @@ msgid "" " -T --target= Specify the binary file format\n" " -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5311,15 +5409,16 @@ msgstr "" " -e --encoding={s,S,b,l,B,L} sélectionner la taille des caractères et le\n" " système de poids fort ou faible:\n" " s = 8-bits, {b,l} = 16-bits, {B,L} = 32-bits\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -v --version afficher le nom et la version du logiciel\n" -#: sysdump.c:649 +#: sysdump.c:642 #, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" msgstr "Afficher dans un format humainement lisible l'interprétation du fichier objet SYSROFF\n" -#: sysdump.c:650 +#: sysdump.c:643 #, c-format msgid "" " The options are:\n" @@ -5330,7 +5429,7 @@ msgstr "" " -h --help afficher l'aide-mémoire\n" " -v --version afficher le nom et la version du logiciel\n" -#: sysdump.c:715 +#: sysdump.c:710 #, c-format msgid "cannot open input file %s" msgstr "ne peut ouvrir le fichier d'entrée %s" @@ -5442,15 +5541,17 @@ msgstr " --yydebug activer le mode de d #, c-format msgid "" " -r Ignored for compatibility with rc\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" "Les options sont:\n" " -r ignoré pour la compatibilité avec rc\n" +" @ lire les options à partir du \n" " -h --help afficher l'aide-mémoire\n" " -V --version afficher le nom et la version du logiciel\n" -#: windres.c:664 +#: windres.c:665 #, c-format msgid "" "FORMAT is one of rc, res, or coff, and is deduced from the file name\n" @@ -5462,20 +5563,20 @@ msgstr "" "L'entrée par défaut se fait à partir de stdin, par défaut pour rc.\n" "La sortie par défaut est stdout, par défaut pour rc.\n" -#: windres.c:800 +#: windres.c:803 msgid "invalid option -f\n" msgstr "option invalide -f\n" -#: windres.c:805 +#: windres.c:808 msgid "No filename following the -fo option.\n" msgstr "Pas de nom de fichier après l'option -fo.\n" -#: windres.c:863 +#: windres.c:866 #, c-format msgid "Option -I is deprecated for setting the input format, please use -J instead.\n" msgstr "L'option -I est dépréciée pour fixer le format d'entrée, svp utiliser -J à la place.\n" -#: windres.c:981 +#: windres.c:984 msgid "no resources" msgstr "aucune ressource" @@ -5494,6 +5595,71 @@ msgstr "stab_int_type: mauvaise taille %u" msgid "%s: warning: unknown size for field `%s' in struct" msgstr "%s: AVERTISSEMENT: taille inconnue pour le champ « %s » dans le struct" +#~ msgid "flags" +#~ msgstr "fanions" + +#~ msgid "debug_str section data" +#~ msgstr "données de la section debug_str" + +#~ msgid "debug_loc section data" +#~ msgstr "données de la section debug_loc" + +#~ msgid "debug_range section data" +#~ msgstr "données de la section debug_range de mise au point" + +#~ msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" +#~ msgstr "%s: escamotage inattendu du type de symbole %s dans la section relocalisation .rela%s\n" + +#~ msgid "debug_abbrev section data" +#~ msgstr "données de la section debug_abbrev" + +#~ msgid "extracting information from .debug_info section" +#~ msgstr "extraction d'information à partir de la section .debug_info" + +#~ msgid "" +#~ "\n" +#~ "The .debug_loc section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "La section .debug_loc est vide.\n" + +#~ msgid "" +#~ "Contents of the .debug_loc section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenu de la section .debug_loc:\n" +#~ "\n" + +#~ msgid "" +#~ "Contents of the .debug_str section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenu de la section .debug_str:\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "The .debug_ranges section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "La section .debug_ranges est vide.\n" + +#~ msgid "" +#~ "Contents of the .debug_ranges section:\n" +#~ "\n" +#~ msgstr "" +#~ "Contenu de la section .debug_ranges:\n" +#~ "\n" + +#~ msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_ranges.\n" + +#~ msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Il y a un trou [0x%lx - 0x%lx] dans la section .debug_ranges.\n" + +#~ msgid "debug section data" +#~ msgstr "données de la section debug" + #~ msgid "" #~ "\n" #~ "\n" diff --git a/binutils/po/ru.po b/binutils/po/ru.po index 708fdc3d997..9f654e3dfad 100644 --- a/binutils/po/ru.po +++ b/binutils/po/ru.po @@ -1,43 +1,45 @@ -# Translation of binutils-2.15.96.po to Russian -# Translation of binutils-2.14rel030712.ru.po to Russian -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Translation of binutils-2.16.93.po to Russian +# Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. -# Pavel Maryanov , 2003, 2005. # +# Pavel Maryanov , 2003, 2005, 2006. msgid "" msgstr "" -"Project-Id-Version: binutils-2.15.96\n" +"Project-Id-Version: binutils-2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:03+1030\n" -"PO-Revision-Date: 2005-03-10 13:34+0200\n" +"POT-Creation-Date: 2005-10-25 09:14+0930\n" +"PO-Revision-Date: 2006-05-22 14:32+0300\n" "Last-Translator: Pavel Maryanov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=KOI8-R\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: addr2line.c:73 +#: addr2line.c:76 #, c-format msgid "Usage: %s [option(s)] [addr(s)]\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [ÁÄÒÅÓ(Á)]\n" -#: addr2line.c:74 +#: addr2line.c:77 #, c-format msgid " Convert addresses into line number/file name pairs.\n" msgstr "ëÏÎ×ÅÒÔÉÒÕÅÔ ÁÄÒÅÓÁ × ÐÁÒÙ ÎÏÍÅÒ_ÓÔÒÏËÉ/ÉÍÑ_ÆÁÊÌÁ.\n" -#: addr2line.c:75 +#: addr2line.c:78 #, c-format msgid " If no addresses are specified on the command line, they will be read from stdin\n" msgstr " åÓÌÉ ÁÄÒÅÓÁ ÎÅ ÕËÁÚÁÎÙ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ, ÏÎÉ ÂÕÄÕÔ ÐÒÏÞÉÔÁÎÙ ÉÚ stdin\n" -#: addr2line.c:76 +#: addr2line.c:79 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -b --target= Set the binary file format\n" " -e --exe= Set the input file name (default is a.out)\n" +" -i --inlines\t\t Unwind inlined functions\n" " -s --basenames Strip directory names\n" " -f --functions Show function names\n" " -C --demangle[=style] Demangle function names\n" @@ -46,6 +48,7 @@ msgid "" "\n" msgstr "" " ïÐÃÉÉ:\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -b --target= õÓÔÁÎÏ×ÉÔØ ÆÏÒÍÁÔ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" " -e --exe= õÓÔÁÎÏ×ÉÔØ ÉÍÑ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ a.out)\n" " -s --basenames ÷ÙÄÅÌÉÔØ ÉÍÅÎÁ ËÁÔÁÌÏÇÏ×\n" @@ -55,212 +58,219 @@ msgstr "" " -v --version ðÏËÁÚÁÔØ ×ÅÒÓÉÀ ÐÒÏÇÒÁÍÍÙ\n" "\n" -#: addr2line.c:88 ar.c:263 coffdump.c:467 nlmconv.c:1110 objcopy.c:478 -#: objcopy.c:512 readelf.c:2631 size.c:99 srconv.c:1731 strings.c:667 -#: sysdump.c:655 windres.c:672 +#: addr2line.c:93 ar.c:263 coffdump.c:466 nlmconv.c:1113 objcopy.c:486 +#: objcopy.c:520 readelf.c:2622 size.c:102 srconv.c:1732 strings.c:725 +#: sysdump.c:648 windres.c:673 #, c-format msgid "Report bugs to %s\n" -msgstr "ïÔÞÅÔÙ Ï ÏÛÉÂËÁÈ ÏÔÐÒÁ×ÌÑÊÔÅ × %s\n" +msgstr "ïÔÞ£ÔÙ Ï ÏÛÉÂËÁÈ ÏÔÐÒÁ×ÌÑÊÔÅ × %s\n" -#: addr2line.c:241 +#: addr2line.c:253 #, c-format msgid "%s: can not get addresses from archive" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÁÄÒÅÓÁ ÉÚ ÁÒÈÉ×Á" -#: addr2line.c:311 nm.c:1519 objdump.c:2848 +#: addr2line.c:325 nm.c:1523 objdump.c:3033 #, c-format msgid "unknown demangling style `%s'" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÔÉÌØ ÄÅËÏÄÉÒÏ×ÁÎÉÑ `%s'" -#: ar.c:205 +#: ar.c:203 #, c-format msgid "no entry %s in archive\n" msgstr "× ÁÒÈÉ×Å ÎÅÔ ÐÕÎËÔÁ %s\n" -#: ar.c:221 +#: ar.c:219 #, c-format msgid "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n" msgstr "" "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ ÜÍÕÌÑÃÉÉ] [-]{dmpqrstx}[abcfilNoPsSuvV] [ÉÍÑ_ÞÌÅÎÁ]\n" " [ÓÞÅÔ] ÆÁÊÌ_ÁÒÈÉ×Á ÆÁÊÌ...\n" -#: ar.c:224 +#: ar.c:222 #, c-format msgid " %s -M [ - read options from \n" +msgstr " @ - ÞÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" + +#: ar.c:252 #, c-format msgid "Usage: %s [options] archive\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] ÁÒÈÉ×\n" -#: ar.c:254 +#: ar.c:253 #, c-format msgid " Generate an index to speed access to archives\n" msgstr " óÏÚÄÁÅÔ ÉÎÄÅËÓ ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÓËÏÒÏÓÔÉ ÄÏÓÔÕÐÁ Ë ÁÒÈÉ×ÁÍ\n" -#: ar.c:255 +#: ar.c:254 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" " ïÐÃÉÉ:\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÓÐÒÁ×ÏÞÎÏÇÏ ÓÏÏÂÝÅÎÉÑ\n" " -V --version ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ×ÅÒÓÉÉ\n" -#: ar.c:483 +#: ar.c:485 msgid "two different operation options specified" msgstr "ÕËÁÚÁÎÙ ÏÐÃÉÉ ÄÌÑ Ä×ÕÈ ÒÁÚÌÉÞÎÙÈ ÏÐÅÒÁÃÉÊ" -#: ar.c:558 +#: ar.c:560 #, c-format msgid "illegal option -- %c" msgstr "ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -- %c" -#: ar.c:604 +#: ar.c:606 msgid "no operation specified" msgstr "ÏÐÅÒÁÃÉÑ ÎÅ ÕËÁÚÁÎÁ" -#: ar.c:607 +#: ar.c:609 msgid "`u' is only meaningful with the `r' option." msgstr "`u' ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ ÔÏÌØËÏ Ó ÏÐÃÉÅÊ `r'." -#: ar.c:615 +#: ar.c:617 msgid "`N' is only meaningful with the `x' and `d' options." msgstr "`u' ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ ÔÏÌØËÏ Ó ÏÐÃÉÑÍÉ `x' É `d'." -#: ar.c:618 +#: ar.c:620 msgid "Value for `N' must be positive." msgstr "úÎÁÞÅÎÉÅ ÄÌÑ `N' ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ." -#: ar.c:668 +#: ar.c:670 #, c-format msgid "internal error -- this option not implemented" msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ -- ÜÔÁ ÏÐÃÉÑ ÎÅ ×ÙÐÏÌÎÅÎÁ" -#: ar.c:737 +#: ar.c:739 #, c-format msgid "creating %s" msgstr "ÓÏÚÄÁÅÔÓÑ %s" -#: ar.c:786 ar.c:836 ar.c:1154 objcopy.c:1603 +#: ar.c:788 ar.c:838 ar.c:1156 objcopy.c:1683 #, c-format msgid "internal stat error on %s" msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ stat ÎÁ %s" -#: ar.c:790 +#: ar.c:792 #, c-format msgid "" "\n" @@ -271,37 +281,37 @@ msgstr "" "<%s>\n" "\n" -#: ar.c:806 ar.c:873 +#: ar.c:808 ar.c:875 #, c-format msgid "%s is not a valid archive" msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÁÒÈÉ×ÏÍ" -#: ar.c:841 +#: ar.c:843 #, c-format msgid "stat returns negative size for %s" msgstr "stat ×ÏÚ×ÒÁÔÉÌ ÏÔÒÉÃÁÔÅÌØÎÙÊ ÒÁÚÍÅÒ ÄÌÑ %s" -#: ar.c:1059 +#: ar.c:1061 #, c-format msgid "No member named `%s'\n" msgstr "îÅÔ ÞÌÅÎÁ Ó ÉÍÅÎÅÍ `%s'\n" -#: ar.c:1109 +#: ar.c:1111 #, c-format msgid "no entry %s in archive %s!" msgstr "ÐÕÎËÔÁ %s ÎÅÔ × ÁÒÈÉ×Å %s!" -#: ar.c:1246 +#: ar.c:1248 #, c-format msgid "%s: no archive map to update" msgstr "%s: ÎÅÔ ËÁÒÔÙ ÁÒÈÉ×Á ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ" -#: arsup.c:83 +#: arsup.c:87 #, c-format msgid "No entry %s in archive.\n" msgstr "ÐÕÎËÔÁ %s ÎÅÔ × ÁÒÈÉ×Å.\n" -#: arsup.c:109 +#: arsup.c:112 #, c-format msgid "Can't open file %s\n" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ %s\n" @@ -357,95 +367,97 @@ msgid " No emulation specific options\n" msgstr " îÅÔ ÏÐÃÉÊ, ÓÐÅÃÉÆÉÞÎÙÈ ÄÌÑ ÜÍÕÌÑÃÉÉ\n" #. Macros for common output. -#: binemul.h:42 +#: binemul.h:40 #, c-format msgid " emulation options: \n" msgstr " ÏÐÃÉÉ ÜÍÕÌÑÃÉÉ: \n" -#: bucomm.c:109 +#: bucomm.c:110 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÃÅÌØ BFD ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÁ `%s': %s" -#: bucomm.c:120 +#: bucomm.c:121 #, c-format msgid "%s: Matching formats:" msgstr "%s: æÏÒÍÁÔÙ ÓÏ×ÐÁÄÅÎÉÑ:" -#: bucomm.c:135 +#: bucomm.c:136 #, c-format msgid "Supported targets:" msgstr "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÃÅÌÉ:" -#: bucomm.c:137 +#: bucomm.c:138 #, c-format msgid "%s: supported targets:" msgstr "%s: ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÃÅÌÉ:" -#: bucomm.c:153 +#: bucomm.c:154 #, c-format msgid "Supported architectures:" msgstr "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÁÒÈÉÔÅËÔÕÒÙ:" -#: bucomm.c:155 +#: bucomm.c:156 #, c-format msgid "%s: supported architectures:" msgstr "%s: ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÁÒÈÉÔÅËÔÕÒÙ:" -#: bucomm.c:348 +#: bucomm.c:349 #, c-format msgid "BFD header file version %s\n" msgstr "æÁÊÌ ÚÁÇÏÌÏ×ËÁ BFD ×ÅÒÓÉÑ %s\n" -#: bucomm.c:449 +#: bucomm.c:450 #, c-format msgid "%s: bad number: %s" msgstr "%s: ÐÌÏÈÏÅ ÞÉÓÌÏ: %s" -#: bucomm.c:466 strings.c:386 +#: bucomm.c:467 strings.c:438 #, c-format msgid "'%s': No such file" msgstr "'%s': îÅÔ ÔÁËÏÇÏ ÆÁÊÌÁ" -#: bucomm.c:468 strings.c:388 +#: bucomm.c:469 strings.c:440 #, c-format msgid "Warning: could not locate '%s'. reason: %s" msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ '%s'. ðÒÉÞÉÎÁ: %s" -#: bucomm.c:472 +#: bucomm.c:473 #, c-format msgid "Warning: '%s' is not an ordinary file" msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: '%s' ÎÅ Ñ×ÌÑÅÔÓÑ ÏÂÙÞÎÙÍ ÆÁÊÌÏÍ" -#: coffdump.c:105 +#: coffdump.c:103 #, c-format msgid "#lines %d " msgstr "#ÓÔÒÏËÉ %d " -#: coffdump.c:459 sysdump.c:648 +#: coffdump.c:457 sysdump.c:641 #, c-format msgid "Usage: %s [option(s)] in-file\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] in-ÆÁÊÌ\n" -#: coffdump.c:460 +#: coffdump.c:458 #, c-format msgid " Print a human readable interpretation of a SYSROFF object file\n" msgstr " ÷Ù×ÏÄÉÔ ÕÄÏÂÏÞÉÔÁÅÍÕÀ ÄÌÑ ÞÅÌÏ×ÅËÁ ÉÎÔÅÒÐÒÅÔÁÃÉÀ ÏÂßÅËÔÎÏÇÏ ÆÁÊÌÁ SYSROFF\n" -#: coffdump.c:461 +#: coffdump.c:459 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" msgstr "" " ïÐÃÉÉ:\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" " -v --version ÷Ù×ÏÄ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" "\n" -#: coffdump.c:527 srconv.c:1819 sysdump.c:710 +#: coffdump.c:528 srconv.c:1822 sysdump.c:705 msgid "no input file specified" msgstr "ÎÅ ÕËÁÚÁÎ ×ÈÏÄÎÏÊ ÆÁÊÌ" @@ -542,576 +554,586 @@ msgstr "debug_get_real_type: msgid "debug_write_type: illegal type encountered" msgstr "debug_write_type: ×ÓÔÒÅÞÅÎ ÎÅ×ÅÒÎÙÊ ÔÉÐ" -#: dlltool.c:773 dlltool.c:797 dlltool.c:826 +#: dlltool.c:765 dlltool.c:789 dlltool.c:818 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: îÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ÍÁÛÉÎÙ: %d" -#: dlltool.c:862 +#: dlltool.c:854 #, c-format msgid "Can't open def file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ def: %s" -#: dlltool.c:867 +#: dlltool.c:859 #, c-format msgid "Processing def file: %s" msgstr "ïÂÒÁÂÁÔÙ×ÁÅÔÓÑ ÆÁÊÌ def: %s" -#: dlltool.c:871 +#: dlltool.c:863 msgid "Processed def file" msgstr "ïÂÒÁÂÏÔÁÎ ÆÁÊÌ def" -#: dlltool.c:895 +#: dlltool.c:887 #, c-format msgid "Syntax error in def file %s:%d" msgstr "ïÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÆÁÊÌÅ def %s:%d" -#: dlltool.c:930 +#: dlltool.c:922 #, c-format msgid "%s: Path components stripped from image name, '%s'." msgstr "%s: ëÏÍÐÏÎÅÎÔÙ ÐÕÔÉ, ÉÚ×ÌÅÞÅÎÎÙÅ ÉÚ ÉÍÅÎÉ ÉÚÏÂÒÁÖÅÎÉÑ, '%s'." -#: dlltool.c:939 +#: dlltool.c:931 #, c-format msgid "NAME: %s base: %x" msgstr "NAME: %s base: %x" -#: dlltool.c:942 dlltool.c:958 +#: dlltool.c:934 dlltool.c:950 msgid "Can't have LIBRARY and NAME" msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÍÅÔØ LIBRARY É NAME" -#: dlltool.c:955 +#: dlltool.c:947 #, c-format msgid "LIBRARY: %s base: %x" msgstr "LIBRARY: %s base: %x" -#: dlltool.c:1191 resrc.c:269 +#: dlltool.c:1183 resrc.c:269 #, c-format msgid "wait: %s" msgstr "ÏÖÉÄÁÎÉÅ: %s" -#: dlltool.c:1196 dllwrap.c:418 resrc.c:274 +#: dlltool.c:1188 dllwrap.c:413 resrc.c:274 #, c-format msgid "subprocess got fatal signal %d" msgstr "ÐÏÄÐÒÏÃÅÓÓ ÐÏÌÕÞÉÌ ÆÁÔÁÌØÎÙÊ ÓÉÇÎÁÌ %d" -#: dlltool.c:1202 dllwrap.c:425 resrc.c:281 +#: dlltool.c:1194 dllwrap.c:420 resrc.c:281 #, c-format msgid "%s exited with status %d" msgstr "%s ÚÁ×ÅÒÛÅÎ ÓÏ ÓÔÁÔÕÓÏÍ %d" -#: dlltool.c:1233 +#: dlltool.c:1225 #, c-format msgid "Sucking in info from %s section in %s" msgstr "÷ÓÁÓÙ×ÁÅÔÓÑ ÉÎÆÏÒÍÁÃÉÑ ÉÚ ÒÁÚÄÅÌÁ %s × %s" -#: dlltool.c:1358 +#: dlltool.c:1350 #, c-format msgid "Excluding symbol: %s" msgstr "óÉÍ×ÏÌ ÉÓËÌÀÞÅÎÉÑ: %s" -#: dlltool.c:1447 dlltool.c:1458 nm.c:998 nm.c:1009 +#: dlltool.c:1439 dlltool.c:1450 nm.c:1000 nm.c:1011 #, c-format msgid "%s: no symbols" msgstr "%s: ÎÅÔ ÓÉÍ×ÏÌÏ×" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1484 +#: dlltool.c:1476 #, c-format msgid "Done reading %s" msgstr "þÔÅÎÉÅ ×ÙÐÏÌÎÅÎÏ %s" -#: dlltool.c:1494 +#: dlltool.c:1486 #, c-format msgid "Unable to open object file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÏÂßÅËÔÎÙÊ ÆÁÊÌ: %s" -#: dlltool.c:1497 +#: dlltool.c:1489 #, c-format msgid "Scanning object file %s" msgstr "óËÁÎÉÒÕÅÔÓÑ ÏÂßÅËÔÎÙÊ ÆÁÊÌ %s" -#: dlltool.c:1512 +#: dlltool.c:1504 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÆÏÒÍÉÒÏ×ÁÔØ mcore-elf dll ÉÚ ÆÁÊÌÁ ÁÒÈÉ×Á: %s" -#: dlltool.c:1598 +#: dlltool.c:1590 msgid "Adding exports to output file" msgstr "üËÓÐÏÒÔÎÙÅ ÄÁÎÎÙÅ ÄÏÂÁ×ÌÑÀÔÓÑ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ" -#: dlltool.c:1646 +#: dlltool.c:1638 msgid "Added exports to output file" msgstr "üËÓÐÏÒÔÎÙÅ ÄÁÎÎÙÅ ÄÏÂÁ×ÌÅÎÙ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ" -#: dlltool.c:1767 +#: dlltool.c:1759 #, c-format msgid "Generating export file: %s" msgstr "çÅÎÅÒÉÒÕÅÔÓÑ ÆÁÊÌ ÜËÓÐÏÒÔÁ: %s" -#: dlltool.c:1772 +#: dlltool.c:1764 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÁÓÓÅÍÂÌÅÒÁ: %s" -#: dlltool.c:1775 +#: dlltool.c:1767 #, c-format msgid "Opened temporary file: %s" msgstr "ïÔËÒÙÔÙÊ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ: %s" -#: dlltool.c:1997 +#: dlltool.c:1989 msgid "Generated exports file" msgstr "óÇÅÎÅÒÉÒÏ×ÁÎ ÆÁÊÌ ÜËÓÐÏÒÔÁ" -#: dlltool.c:2203 +#: dlltool.c:2195 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "bfd_open ÎÅ ÓÍÏÇ ÏÔËÒÙÔØ ÆÁÊÌ stub: %s" -#: dlltool.c:2206 +#: dlltool.c:2198 #, c-format msgid "Creating stub file: %s" msgstr "óÏÚÄÁÅÔÓÑ ÆÁÊÌ stub: %s" -#: dlltool.c:2588 +#: dlltool.c:2580 #, c-format msgid "failed to open temporary head file: %s" msgstr "ÓÂÏÊ ÐÒÉ ÏÔËÒÙÔÉÉ ×ÒÅÍÅÎÎÏÇÏ ÇÏÌÏ×ÎÏÇÏ ÆÁÊÌÁ: %s" -#: dlltool.c:2647 +#: dlltool.c:2639 #, c-format msgid "failed to open temporary tail file: %s" msgstr "ÓÂÏÊ ÐÒÉ ÏÔËÒÙÔÉÉ ×ÒÅÍÅÎÎÏÇÏ ËÏÎÅÞÎÏÇÏ ÆÁÊÌÁ: %s" -#: dlltool.c:2714 +#: dlltool.c:2706 #, c-format msgid "Can't open .lib file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ .lib: %s" -#: dlltool.c:2717 +#: dlltool.c:2709 #, c-format msgid "Creating library file: %s" msgstr "óÏÚÄÁÅÔÓÑ ÆÁÊÌ ÂÉÂÌÉÏÔÅËÉ: %s" -#: dlltool.c:2800 dlltool.c:2806 +#: dlltool.c:2792 dlltool.c:2798 #, c-format msgid "cannot delete %s: %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ %s: %s" -#: dlltool.c:2811 +#: dlltool.c:2803 msgid "Created lib file" msgstr "óÏÚÄÁÎ lib-ÆÁÊÌ" -#: dlltool.c:2904 +#: dlltool.c:2882 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ, ÐÒÏÐÕÓËÁÅÔÓÑ ÐÏ×ÔÏÒÑÀÝÉÊÓÑ EXPORT %s %d,%d" -#: dlltool.c:2910 +#: dlltool.c:2888 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "ïÛÉÂËÁ, EXPORT ÐÏ×ÔÏÒÑÅÔÓÑ Ó ÐÏÒÑÄËÏ×ÙÍÉ ÞÉÓÌÉÔÅÌØÎÙÍÉ: %s" -#: dlltool.c:3026 +#: dlltool.c:2993 msgid "Processing definitions" msgstr "ïÂÒÁÂÁÔÙ×ÁÀÔÓÑ ÏÐÉÓÁÎÉÑ" -#: dlltool.c:3058 +#: dlltool.c:3025 msgid "Processed definitions" msgstr "ïÐÉÓÁÎÉÑ ÏÂÒÁÂÏÔÁÎÙ" #. xgetext:c-format -#: dlltool.c:3065 dllwrap.c:479 +#: dlltool.c:3032 dllwrap.c:474 #, c-format msgid "Usage %s \n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s <ÏÐÃÉÉ> <ÏÂßÅËÔÎÙÅ_ÆÁÊÌÙ>\n" #. xgetext:c-format -#: dlltool.c:3067 +#: dlltool.c:3034 #, c-format msgid " -m --machine Create as DLL for . [default: %s]\n" msgstr " -m --machine <ÍÁÛÉÎÁ> óÏÚÄÁÎÉÅ ËÁË DLL ÄÌÑ <ÍÁÛÉÎÙ>. [ÐÏ ÕÍÏÌÞÁÎÉÀ: %s]\n" -#: dlltool.c:3068 +#: dlltool.c:3035 #, c-format msgid " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" msgstr " ×ÏÚÍÏÖÎÏ <ÍÁÛÉÎÁ>: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" -#: dlltool.c:3069 +#: dlltool.c:3036 #, c-format msgid " -e --output-exp Generate an export file.\n" msgstr " -e --output-exp <×ÙÈ_ÉÍÑ> óÏÚÄÁÎÉÅ ÆÁÊÌÁ ÜËÓÐÏÒÔÁ.\n" -#: dlltool.c:3070 +#: dlltool.c:3037 #, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr " -l --output-lib <×ÙÈ_ÉÍÑ> óÏÚÄÁÎÉÅ ÂÉÂÌÉÏÔÅËÉ ÉÎÔÅÒÆÅÊÓÁ.\n" -#: dlltool.c:3071 +#: dlltool.c:3038 #, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr " -a --add-indirect äÏÂÁ×ÌÅÎÉÅ ÎÅÐÒÑÍÙÈ dll × ÆÁÊÌ ÜËÓÐÏÒÔÁ.\n" -#: dlltool.c:3072 +#: dlltool.c:3039 #, c-format msgid " -D --dllname Name of input dll to put into interface lib.\n" msgstr " -D --dllname <ÉÍÑ> éÍÑ ×ÈÏÄÎÏÊ dll ÄÌÑ ÐÏÍÅÝÅÎÉÑ × ÂÉÂÌÉÏÔÅËÕ ÉÎÔÅÒÆÅÊÓÁ.\n" -#: dlltool.c:3073 +#: dlltool.c:3040 #, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr " -d --input-def éÍÑ ÆÁÊÌÁ .def ÄÌÑ ÓÞÉÔÙ×ÁÎÉÑ.\n" -#: dlltool.c:3074 +#: dlltool.c:3041 #, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr " -z --output-def éÍÑ ÓÏÚÄÁ×ÁÅÍÏÇÏ ÆÁÊÌÁ .def.\n" -#: dlltool.c:3075 +#: dlltool.c:3042 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols üËÓÐÏÒÔ ×ÓÅÈ ÓÉÍ×ÏÌÏ× × .def\n" -#: dlltool.c:3076 +#: dlltool.c:3043 #, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr " --no-export-all-symbols üËÓÐÏÒÔ ÔÏÌØËÏ ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" -#: dlltool.c:3077 +#: dlltool.c:3044 #, c-format msgid " --exclude-symbols Don't export \n" msgstr " --exclude-symbols <ÓÐÉÓÏË> îÅ ÜËÓÐÏÒÔÉÒÏ×ÁÔØ <ÓÐÉÓÏË>\n" -#: dlltool.c:3078 +#: dlltool.c:3045 #, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr " --no-default-excludes ïÞÉÓÔËÁ ÓÉÍ×ÏÌÏ× ÉÓËÌÀÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: dlltool.c:3079 +#: dlltool.c:3046 #, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr " -b --base-file þÔÅÎÉÅ ÓÏÚÄÁÎÎÏÇÏ ËÏÍÐÏÎÏ×ÝÉËÏÍ base-ÆÁÊÌÁ.\n" -#: dlltool.c:3080 +#: dlltool.c:3047 #, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr " -x --no-idata4 îÅ ÓÏÚÄÁ×ÁÔØ ÒÁÚÄÅÌ idata$4.\n" -#: dlltool.c:3081 +#: dlltool.c:3048 #, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr " -c --no-idata5 îÅ ÓÏÚÄÁ×ÁÔØ ÒÁÚÄÅÌ idata$5.\n" -#: dlltool.c:3082 +#: dlltool.c:3049 #, c-format msgid " -U --add-underscore Add underscores to symbols in interface library.\n" msgstr " -U --add-underscore äÏÂÁ×ÌÅÎÉÅ ÓÉÍ×ÏÌÏ× ÐÏÄÞÅÒËÉ×ÁÎÉÑ Ë ÓÉÍ×ÏÌÁÍ × ÂÉÂÌÉÏÔÅËÅ ÉÎÔÅÒÆÅÊÓÁ.\n" -#: dlltool.c:3083 +#: dlltool.c:3050 #, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr " -k --kill-at õÄÁÌÅÎÉÅ @ ÉÚ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÉÍÅÎ.\n" -#: dlltool.c:3084 +#: dlltool.c:3051 #, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr " -A --add-stdcall-alias äÏÂÁ×ÌÅÎÉÅ ÁÌÉÁÓÏ× ÂÅÚ @.\n" -#: dlltool.c:3085 +#: dlltool.c:3052 #, c-format msgid " -p --ext-prefix-alias Add aliases with .\n" msgstr " -p --ext-prefix-alias <ÐÒÅÆÉËÓ> äÏÂÁ×ÌÅÎÉÅ ÁÌÉÁÓÏ× Ó <ÐÒÅÆÉËÓÏÍ>.\n" -#: dlltool.c:3086 +#: dlltool.c:3053 #, c-format msgid " -S --as Use for assembler.\n" msgstr " -S --as <ÉÍÑ> éÓÐÏÌØÚÏ×ÁÎÉÅ <ÉÍÅÎÉ> ÄÌÑ ÁÓÓÅÍÂÌÅÒÁ.\n" -#: dlltool.c:3087 +#: dlltool.c:3054 #, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr " -f --as-flags <ÆÌÁÇÉ> ðÅÒÅÄÁÞÁ <ÆÌÁÇÏ×> × ÁÓÓÅÍÂÌÅÒ.\n" -#: dlltool.c:3088 +#: dlltool.c:3055 #, c-format msgid " -C --compat-implib Create backward compatible import library.\n" msgstr " -C --compat-implib óÏÚÄÁÎÉÅ ÂÉÂÌÉÏÔÅËÉ ÉÍÐÏÒÔÁ Ó ÏÂÒÁÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔØÀ.\n" -#: dlltool.c:3089 +#: dlltool.c:3056 #, c-format msgid " -n --no-delete Keep temp files (repeat for extra preservation).\n" msgstr " -n --no-delete ïÓÔÁ×ÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ (ÐÏ×ÔÏÒ ÄÌÑ ÄÏÐ. ÚÁÝÉÔÙ).\n" -#: dlltool.c:3090 +#: dlltool.c:3057 #, c-format msgid " -t --temp-prefix Use to construct temp file names.\n" msgstr " -t --temp-prefix <ÐÒÅÆÉËÓ> éÓÐÏÌØÚÏ×ÁÎÉÅ <ÐÒÅÆÉËÓÁ> ÄÌÑ ÓÏÚÄÁÎÉÑ ÉÍÅÎ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ×.\n" -#: dlltool.c:3091 +#: dlltool.c:3058 #, c-format msgid " -v --verbose Be verbose.\n" msgstr " -v --verbose ðÏÄÒÏÂÎÙÊ ÒÅÖÉÍ.\n" -#: dlltool.c:3092 +#: dlltool.c:3059 #, c-format msgid " -V --version Display the program version.\n" msgstr " -V --version ÷Ù×ÏÄ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ.\n" -#: dlltool.c:3093 +#: dlltool.c:3060 #, c-format msgid " -h --help Display this information.\n" msgstr " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" -#: dlltool.c:3095 +#: dlltool.c:3061 +#, c-format +msgid " @ Read options from .\n" +msgstr " @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>.\n" + +#: dlltool.c:3063 #, c-format msgid " -M --mcore-elf Process mcore-elf object files into .\n" msgstr " -M --mcore-elf <×ÙÈ_ÉÍÑ> ïÂÒÁÂÏÔËÁ ÏÂßÅËÔÎÏÇÏ ÆÁÊÌÁ mcore-elf × <×ÙÈ_ÉÍÑ>.\n" -#: dlltool.c:3096 +#: dlltool.c:3064 #, c-format msgid " -L --linker Use as the linker.\n" msgstr " -L --linker <ÉÍÑ> éÓÐÏÌØÚÏ×ÁÎÉÅ <ÉÍÅÎÉ> × ËÁÞÅÓÔ×Å ËÏÍÐÏÎÏ×ÝÉËÁ.\n" -#: dlltool.c:3097 +#: dlltool.c:3065 #, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr " -F --linker-flags <ÆÌÁÇÉ> ðÅÒÅÄÁÞÁ <ÆÌÁÇÏ×> ËÏÍÐÏÎÏ×ÝÉËÕ.\n" -#: dlltool.c:3211 +#: dlltool.c:3181 #, c-format msgid "Path components stripped from dllname, '%s'." msgstr "ëÏÍÐÏÎÅÎÔÙ ÐÕÔÉ, ÉÚ×ÌÅÞÅÎÎÙÅ ÉÚ ÉÍÅÎÉ dll, '%s'." -#: dlltool.c:3256 +#: dlltool.c:3226 #, c-format msgid "Unable to open base-file: %s" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ base-ÆÁÊÌ: %s" -#: dlltool.c:3288 +#: dlltool.c:3258 #, c-format msgid "Machine '%s' not supported" msgstr "íÁÛÉÎÁ '%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: dlltool.c:3392 dllwrap.c:209 +#: dlltool.c:3362 dllwrap.c:204 #, c-format msgid "Tried file: %s" msgstr "ïÐÒÏÂÏ×ÁÎÎÙÊ ÆÁÊÌ: %s" -#: dlltool.c:3399 dllwrap.c:216 +#: dlltool.c:3369 dllwrap.c:211 #, c-format msgid "Using file: %s" msgstr "éÓÐÏÌØÚÕÅÔÓÑ ÆÁÊÌ: %s" -#: dllwrap.c:299 +#: dllwrap.c:294 #, c-format msgid "Keeping temporary base file %s" msgstr "ïÓÔÁ×ÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ base-ÆÁÊÌ %s" -#: dllwrap.c:301 +#: dllwrap.c:296 #, c-format msgid "Deleting temporary base file %s" msgstr "õÄÁÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ base-ÆÁÊÌ %s" -#: dllwrap.c:315 +#: dllwrap.c:310 #, c-format msgid "Keeping temporary exp file %s" msgstr "ïÓÔÁ×ÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ exp-ÆÁÊÌ %s" -#: dllwrap.c:317 +#: dllwrap.c:312 #, c-format msgid "Deleting temporary exp file %s" msgstr "õÄÁÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ exp-ÆÁÊÌ %s" -#: dllwrap.c:330 +#: dllwrap.c:325 #, c-format msgid "Keeping temporary def file %s" msgstr "ïÓÔÁ×ÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ def-ÆÁÊÌ %s" -#: dllwrap.c:332 +#: dllwrap.c:327 #, c-format msgid "Deleting temporary def file %s" msgstr "õÄÁÌÑÅÔÓÑ ×ÒÅÍÅÎÎÙÊ def-ÆÁÊÌ %s" -#: dllwrap.c:480 +#: dllwrap.c:475 #, c-format msgid " Generic options:\n" msgstr " ïÂÝÉÅ ÏÐÃÉÉ:\n" -#: dllwrap.c:481 +#: dllwrap.c:476 +#, c-format +msgid " @ Read options from \n" +msgstr " @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" + +#: dllwrap.c:477 #, c-format msgid " --quiet, -q Work quietly\n" msgstr " --quiet, -q íÏÌÞÁÌÉ×ÙÊ ÒÅÖÉÍ\n" -#: dllwrap.c:482 +#: dllwrap.c:478 #, c-format msgid " --verbose, -v Verbose\n" msgstr " --verbose, -v ðÏÄÒÏÂÎÙÊ ÒÅÖÉÍ\n" -#: dllwrap.c:483 +#: dllwrap.c:479 #, c-format msgid " --version Print dllwrap version\n" msgstr " --version ÷Ù×ÏÄ ×ÅÒÓÉÉ dllwrap\n" -#: dllwrap.c:484 +#: dllwrap.c:480 #, c-format msgid " --implib Synonym for --output-lib\n" msgstr " --implib <×ÙÈ_ÉÍÑ> óÉÎÏÎÉÍ ÄÌÑ --output-lib\n" -#: dllwrap.c:485 +#: dllwrap.c:481 #, c-format msgid " Options for %s:\n" msgstr " ïÐÃÉÉ ÄÌÑ %s:\n" -#: dllwrap.c:486 +#: dllwrap.c:482 #, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr " --driver-name <ÄÒÁÊ×ÅÒ> úÎÁÞÅÎÉÑ ÄÌÑ \"gcc\" ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: dllwrap.c:487 +#: dllwrap.c:483 #, c-format msgid " --driver-flags Override default ld flags\n" msgstr " --driver-flags <ÆÌÁÇÉ> ðÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÆÌÁÇÏ× ld ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: dllwrap.c:488 +#: dllwrap.c:484 #, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr " --dlltool-name úÎÁÞÅÎÉÑ ÄÌÑ \"dlltool\" ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: dllwrap.c:489 +#: dllwrap.c:485 #, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr " --entry <ÐÕÎËÔ> õËÁÚÁÎÉÅ ÁÌØÔÅÒÎÁÔÉ×ÎÏÊ ÔÏÞËÉ ×ÈÏÄÁ DLL\n" -#: dllwrap.c:490 +#: dllwrap.c:486 #, c-format msgid " --image-base Specify image base address\n" msgstr " --image-base õËÁÚÁÎÉÅ ÂÁÚÏ×ÏÇÏ ÁÄÒÅÓÁ ÏÂÒÁÚÁ\n" -#: dllwrap.c:491 +#: dllwrap.c:487 #, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr " --target <ÍÁÛÉÎÁ> i386-cygwin32 ÉÌÉ i386-mingw32\n" -#: dllwrap.c:492 +#: dllwrap.c:488 #, c-format msgid " --dry-run Show what needs to be run\n" msgstr " --dry-run ðÏËÁÚÁÔØ, ÞÔÏ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÐÕÝÅÎÏ\n" -#: dllwrap.c:493 +#: dllwrap.c:489 #, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr " --mno-cygwin óÏÚÄÁÎÉÅ Mingw DLL\n" -#: dllwrap.c:494 +#: dllwrap.c:490 #, c-format msgid " Options passed to DLLTOOL:\n" msgstr " ïÐÃÉÉ, ÐÅÒÅÄÁ×ÁÅÍÙÅ × DLLTOOL:\n" -#: dllwrap.c:495 +#: dllwrap.c:491 #, c-format msgid " --machine \n" msgstr " --machine <ÍÁÛÉÎÁ>\n" -#: dllwrap.c:496 +#: dllwrap.c:492 #, c-format msgid " --output-exp Generate export file.\n" msgstr " --output-exp <×ÙÈ_ÉÍÑ> óÏÚÄÁÎÉÅ ÆÁÊÌÁ ÜËÓÐÏÒÔÁ.\n" -#: dllwrap.c:497 +#: dllwrap.c:493 #, c-format msgid " --output-lib Generate input library.\n" msgstr " --output-lib <×ÙÈ_ÉÍÑ> óÏÚÄÁÎÉÅ ×ÈÏÄÎÏÊ ÂÉÂÌÉÏÔÅËÉ.\n" -#: dllwrap.c:498 +#: dllwrap.c:494 #, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr " --add-indirect äÏÂÁ×ÌÅÎÉÅ ÎÅÐÒÑÍÙÈ dll × ÆÁÊÌ ÜËÓÐÏÒÔÁ.\n" -#: dllwrap.c:499 +#: dllwrap.c:495 #, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr " --dllname <ÉÍÑ> éÍÑ ×ÈÏÄÎÏÊ dll ÄÌÑ ÐÏÍÅÝÅÎÉÑ × ×ÙÈÏÄÎÕÀ ÂÉÂÌÉÏÔÅËÕ.\n" -#: dllwrap.c:500 +#: dllwrap.c:496 #, c-format msgid " --def Name input .def file\n" msgstr " --def éÍÑ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ .def\n" -#: dllwrap.c:501 +#: dllwrap.c:497 #, c-format msgid " --output-def Name output .def file\n" msgstr " --output-def éÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ .def\n" -#: dllwrap.c:502 +#: dllwrap.c:498 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols üËÓÐÏÒÔ ×ÓÅÈ ÓÉÍ×ÏÌÏ× × .def\n" -#: dllwrap.c:503 +#: dllwrap.c:499 #, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr " --no-export-all-symbols üËÓÐÏÒÔ ÔÏÌØËÏ ÓÉÍ×ÏÌÏ× .drectve\n" -#: dllwrap.c:504 +#: dllwrap.c:500 #, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr " --exclude-symbols <ÓÐÉÓÏË> éÓËÌÀÞÉÔØ <ÓÐÉÓÏË> ÉÚ .def\n" -#: dllwrap.c:505 +#: dllwrap.c:501 #, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr " --no-default-excludes õÄÁÌÅÎÉÅ ÓÉÍ×ÏÌÏ× ÉÓËÌÀÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ\n" -#: dllwrap.c:506 +#: dllwrap.c:502 #, c-format msgid " --base-file Read linker generated base file\n" msgstr " --base-file þÔÅÎÉÅ ÓÏÚÄÁÎÎÏÇÏ ËÏÍÐÏÎÏ×ÝÉËÏÍ base-ÆÁÊÌÁ.\n" -#: dllwrap.c:507 +#: dllwrap.c:503 #, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr " --no-idata4 îÅ ÓÏÚÄÁ×ÁÔØ ÒÁÚÄÅÌ idata$4.\n" -#: dllwrap.c:508 +#: dllwrap.c:504 #, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr " --no-idata5 îÅ ÓÏÚÄÁ×ÁÔØ ÒÁÚÄÅÌ idata$5.\n" -#: dllwrap.c:509 +#: dllwrap.c:505 #, c-format msgid " -U Add underscores to .lib\n" msgstr " -U äÏÂÁ×ÌÅÎÉÅ ÓÉÍ×ÏÌÏ× ÐÏÄÞÅÒËÉ×ÁÎÉÑ × .lib\n" -#: dllwrap.c:510 +#: dllwrap.c:506 #, c-format msgid " -k Kill @ from exported names\n" msgstr " -k õÄÁÌÅÎÉÅ @ ÉÚ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÉÍÅÎ.\n" -#: dllwrap.c:511 +#: dllwrap.c:507 #, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr " --add-stdcall-alias äÏÂÁ×ÌÅÎÉÅ ÁÌÉÁÓÏ× ÂÅÚ @\n" -#: dllwrap.c:512 +#: dllwrap.c:508 #, c-format msgid " --as Use for assembler\n" msgstr " --as <ÉÍÑ> éÓÐÏÌØÚÏ×ÁÎÉÅ <ÉÍÅÎÉ> ÄÌÑ ÁÓÓÅÍÂÌÅÒÁ\n" -#: dllwrap.c:513 +#: dllwrap.c:509 #, c-format msgid " --nodelete Keep temp files.\n" msgstr " --nodelete ïÓÔÁ×ÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ.\n" -#: dllwrap.c:514 +#: dllwrap.c:510 #, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr " ïÓÔÁÌØÎÏÅ ÂÅÚ ÉÚÍÅÎÅÎÉÊ ÐÅÒÅÄÁÎÏ ÑÚÙËÏ×ÏÍÕ ÄÒÁÊ×ÅÒÕ\n" -#: dllwrap.c:784 +#: dllwrap.c:782 msgid "Must provide at least one of -o or --dllname options" msgstr "îÅÏÂÈÏÄÉÍÏ ÐÒÅÄÏÓÔÁ×ÉÔØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÏÄÎÕ ÉÚ ÏÐÃÉÊ -o ÉÌÉ --dllname" -#: dllwrap.c:813 +#: dllwrap.c:811 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" @@ -1119,3321 +1141,3380 @@ msgstr "" "ÎÅ ÐÒÅÄÏÓÔÁ×ÌÅÎ ÆÁÊÌ ÏÐÉÓÁÎÉÑ ÜËÓÐÏÒÔÁ.\n" "ïÎ ÓÏÚÄÁÅÔÓÑ, ÎÏ ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ÎÅ ÔÏ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ" -#: dllwrap.c:972 +#: dllwrap.c:970 #, c-format msgid "DLLTOOL name : %s\n" msgstr "DLLTOOL ÉÍÑ : %s\n" -#: dllwrap.c:973 +#: dllwrap.c:971 #, c-format msgid "DLLTOOL options : %s\n" msgstr "DLLTOOL ÏÐÃÉÉ : %s\n" -#: dllwrap.c:974 +#: dllwrap.c:972 #, c-format msgid "DRIVER name : %s\n" msgstr "DRIVER ÉÍÑ : %s\n" -#: dllwrap.c:975 +#: dllwrap.c:973 #, c-format msgid "DRIVER options : %s\n" msgstr "DRIVER ÏÐÃÉÉ : %s\n" -#: emul_aix.c:51 +#: dwarf.c:93 dwarf.c:137 readelf.c:322 readelf.c:515 #, c-format -msgid " [-g] - 32 bit small archive\n" -msgstr " [-g] - 32-ÂÉÔÎÙÊ ÍÁÌÅÎØËÉÊ ÁÒÈÉ×\n" +msgid "Unhandled data length: %d\n" +msgstr "äÌÉÎÁ ÎÅÏÂÒÁÂÁÔÙ×ÁÅÍÙÈ ÄÁÎÎÙÈ: %d\n" -#: emul_aix.c:52 +#: dwarf.c:237 +msgid "badly formed extended line op encountered!\n" +msgstr "×ÓÔÒÅÞÅÎ ÎÅ×ÅÒÎÏ ÓÆÏÒÍÉÒÏ×ÁÎÎÙÊ ÒÁÓÛÉÒÅÎÎÙÊ line-up!\n" + +#: dwarf.c:244 #, c-format -msgid " [-X32] - ignores 64 bit objects\n" -msgstr " [-X32] - ÐÒÏÐÕÓËÁÅÔ 64-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" +msgid " Extended opcode %d: " +msgstr " òÁÓÛÉÒÅÎÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d: " -#: emul_aix.c:53 +#: dwarf.c:249 #, c-format -msgid " [-X64] - ignores 32 bit objects\n" -msgstr " [-X64] - ÐÒÏÐÕÓËÁÅÔ 32-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" +msgid "" +"End of Sequence\n" +"\n" +msgstr "" +"ëÏÎÅà ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ\n" +"\n" -#: emul_aix.c:54 +#: dwarf.c:255 #, c-format -msgid " [-X32_64] - accepts 32 and 64 bit objects\n" -msgstr " [-X32_64] - ÄÏÐÕÓËÁÅÔ 32- É 64-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" +msgid "set Address to 0x%lx\n" +msgstr "ÕÓÔÁÎÏ×ËÁ ÁÄÒÅÓÁ × 0x%lx\n" -#: ieee.c:311 -msgid "unexpected end of debugging information" -msgstr "ÎÅÏÖÉÄÁÎÎÏÅ ÏËÏÎÞÁÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ" +#: dwarf.c:260 +#, c-format +msgid " define new File Table entry\n" +msgstr " ÏÐÒÅÄÅÌÅÎÉÅ ÎÏ×ÏÇÏ ÐÕÎËÔÁ ôÁÂÌÉÃÙ ÆÁÊÌÏ×\n" -#: ieee.c:398 -msgid "invalid number" -msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ" +#: dwarf.c:261 dwarf.c:1944 +#, c-format +msgid " Entry\tDir\tTime\tSize\tName\n" +msgstr " ðÕÎËÔ\tëÁÔÁÌÏÇ\t÷ÒÅÍÑ\tòÁÚÍÅÒ\téÍÑ\n" -#: ieee.c:451 -msgid "invalid string length" -msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÓÔÒÏËÉ" +#: dwarf.c:263 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: ieee.c:506 ieee.c:547 -msgid "expression stack overflow" -msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" +#: dwarf.c:266 dwarf.c:268 dwarf.c:270 dwarf.c:1956 dwarf.c:1958 dwarf.c:1960 +#, c-format +msgid "%lu\t" +msgstr "%lu\t" -#: ieee.c:526 -msgid "unsupported IEEE expression operator" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÏÐÅÒÁÔÏÒ ×ÙÒÁÖÅÎÉÑ IEEE" +#: dwarf.c:271 +#, c-format +msgid "" +"%s\n" +"\n" +msgstr "" +"%s\n" +"\n" -#: ieee.c:541 -msgid "unknown section" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÒÁÚÄÅÌ" +#: dwarf.c:275 +#, c-format +msgid "UNKNOWN: length %d\n" +msgstr "îåéú÷åóôîùê: ÄÌÉÎÁ %d\n" -#: ieee.c:562 -msgid "expression stack underflow" -msgstr "ÏÐÕÓÔÏÛÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" +#: dwarf.c:288 +msgid "" +msgstr "<ÎÅÔ ÒÁÚÄÅÌÁ .debug_str>" -#: ieee.c:576 -msgid "expression stack mismatch" -msgstr "ÎÅÓÏ×ÐÁÄÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" +#: dwarf.c:294 +#, c-format +msgid "DW_FORM_strp offset too big: %lx\n" +msgstr "óÍÅÝÅÎÉÅ DW_FORM_strp ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ: %lx\n" -#: ieee.c:613 -msgid "unknown builtin type" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ×ÓÔÒÏÅÎÎÙÊ ÔÉÐ" +#: dwarf.c:295 +msgid "" +msgstr "<ÓÍÅÝÅÎÉÅ ÓÌÉÛËÏÍ ×ÅÌÉËÏ>" -#: ieee.c:758 -msgid "BCD float type not supported" -msgstr "ä×ÏÉÞÎÏ-ËÏÄÉÒÏ×ÁÎÎÙÊ ÄÅÓÑÔÉÞÎÙÊ ÔÉÐ Ó ÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" +#: dwarf.c:528 +#, c-format +msgid "Unknown TAG value: %lx" +msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ TAG: %lx" -#: ieee.c:895 -msgid "unexpected number" -msgstr "ÎÅÏÖÉÄÁÎÎÏÅ ÞÉÓÌÏ" +#: dwarf.c:564 +#, c-format +msgid "Unknown FORM value: %lx" +msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ FORM: %lx" -#: ieee.c:902 -msgid "unexpected record type" -msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÍÂÉÎÉÒÏ×ÁÎÎÙÊ ÔÉÐ" +#: dwarf.c:573 +#, c-format +msgid " %lu byte block: " +msgstr " %lu-ÂÁÊÔÏ×ÙÊ ÂÌÏË: " -#: ieee.c:935 -msgid "blocks left on stack at end" -msgstr "× ËÏÎÃÅ ÓÔÅËÁ ÏÓÔÁÌÉÓØ ÂÌÏËÉ" +#: dwarf.c:907 +#, c-format +msgid "(User defined location op)" +msgstr "(ïÐÒÅÄÅÌÅÎÎÏÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÒÁÚÍÅÝÅÎÉÅ ÏÐÅÒÁÃÉÉ)" -#: ieee.c:1198 -msgid "unknown BB type" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ BB" +#: dwarf.c:909 +#, c-format +msgid "(Unknown location op)" +msgstr "(îÅÉÚ×ÅÓÔÎÏÅ ÒÁÚÍÅÝÅÎÉÅ ÏÐÅÒÁÃÉÉ)" -#: ieee.c:1207 -msgid "stack overflow" -msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ" +#: dwarf.c:955 +msgid "Internal error: DWARF version is not 2 or 3.\n" +msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: ÎÏÍÅÒ ×ÅÒÓÉÉ DWARF ÎÅ 2 ÉÌÉ 3.\n" -#: ieee.c:1230 -msgid "stack underflow" -msgstr "ÏÐÕÓÔÏÛÅÎÉÅ ÓÔÅËÁ" +#: dwarf.c:1053 +msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" +msgstr "DW_FORM_data8 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ, ËÏÇÄÁ sizeof (ÄÌÉÎÎÏÅ ÃÅÌÏÅ ÞÉÓÌÏ ÂÅÚ ÚÎÁËÁ) != 8\n" -#: ieee.c:1342 ieee.c:1412 ieee.c:2109 -msgid "illegal variable index" -msgstr "ÎÅ×ÅÒÎÙÊ ÉÎÄÅËÓ ÐÅÒÅÍÅÎÎÏÊ" +#: dwarf.c:1102 +#, c-format +msgid " (indirect string, offset: 0x%lx): %s" +msgstr " (ËÏÓ×ÅÎÎÁÑ ÓÔÒÏËÁ, ÓÍÅÝÅÎÉÅ: 0x%lx): %s" -#: ieee.c:1390 -msgid "illegal type index" -msgstr "ÎÅ×ÅÒÎÙÊ ÉÎÄÅËÓ ÔÉÐÁ" - -#: ieee.c:1400 ieee.c:1437 -msgid "unknown TY code" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ËÏÄ TY" +#: dwarf.c:1111 +#, c-format +msgid "Unrecognized form: %lu\n" +msgstr "îÅÒÁÓÐÏÚÎÁÎÎÁÑ ÆÏÒÍÁ: %lu\n" -#: ieee.c:1419 -msgid "undefined variable in TY" -msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ × TY" +#: dwarf.c:1196 +#, c-format +msgid "(not inlined)" +msgstr "(ÎÅ ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ)" -#. Pascal file name. FIXME. -#: ieee.c:1830 -msgid "Pascal file name not supported" -msgstr "éÍÑ ÆÁÊÌÁ Pascal ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" +#: dwarf.c:1199 +#, c-format +msgid "(inlined)" +msgstr "(×ÎÕÔÒÉÓÔÒÏÞÎÙÊ)" -#: ieee.c:1878 -msgid "unsupported qualifier" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ËÌÁÓÓÉÆÉËÁÔÏÒ" +#: dwarf.c:1202 +#, c-format +msgid "(declared as inline but ignored)" +msgstr "(ÏÂßÑ×ÌÅÎ ËÁË ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ, ÎÏ ÐÒÏÐÕÝÅÎ)" -#: ieee.c:2147 -msgid "undefined variable in ATN" -msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ × ATN" +#: dwarf.c:1205 +#, c-format +msgid "(declared as inline and inlined)" +msgstr "(ÏÂßÑ×ÌÅÎ ËÁË ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ, ÔÁË É ÅÓÔØ)" -#: ieee.c:2190 -msgid "unknown ATN type" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ATN" +#: dwarf.c:1208 +#, c-format +msgid " (Unknown inline attribute value: %lx)" +msgstr " (îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ ×ÎÕÔÒÉÓÔÒÏÞÎÏÇÏ ÁÔÒÉÂÕÔÁ: %lx)" -#. Reserved for FORTRAN common. -#: ieee.c:2312 -msgid "unsupported ATN11" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ATN11" +#: dwarf.c:1354 dwarf.c:2484 +#, c-format +msgid " [without DW_AT_frame_base]" +msgstr " [ÂÅÚ DW_AT_frame_base]" -#. We have no way to record this information. FIXME. -#: ieee.c:2339 -msgid "unsupported ATN12" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ATN12" +#: dwarf.c:1357 +#, c-format +msgid "(location list)" +msgstr "(ÓÐÉÓÏË ÍÅÓÔÏÐÏÌÏÖÅÎÉÑ)" -#: ieee.c:2399 -msgid "unexpected string in C++ misc" -msgstr "ÎÅÏÖÉÄÁÎÎÁÑ ÓÔÒÏËÁ × C++ misc" +#: dwarf.c:1475 +#, c-format +msgid "Unknown AT value: %lx" +msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ AT: %lx " -#: ieee.c:2412 -msgid "bad misc record" -msgstr "ÐÌÏÈÁÑ ÚÁÐÉÓØ misc" +#: dwarf.c:1544 +#, c-format +msgid "No comp units in %s section ?" +msgstr "÷ ÒÁÚÄÅÌÅ %s ÎÅÔ ÜÌÅÍÅÎÔÏ× comp?" -#: ieee.c:2453 -msgid "unrecognized C++ misc record" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ C++ ÚÁÐÉÓØ misc" +#: dwarf.c:1553 +#, c-format +msgid "Not enough memory for a debug info array of %u entries" +msgstr "îÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ ÄÌÑ ÍÁÓÓÉ×Á Ó ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ ÉÚ %u ÜÌÅÍÅÎÔÏ×" -#: ieee.c:2568 -msgid "undefined C++ object" -msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÙÊ ÏÂßÅËÔ C++" +#: dwarf.c:1561 dwarf.c:2573 +#, c-format +msgid "" +"The section %s contains:\n" +"\n" +msgstr "" +"òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ:\n" +"\n" -#: ieee.c:2602 -msgid "unrecognized C++ object spec" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÏÂßÅËÔÁ C++" +#: dwarf.c:1569 +#, c-format +msgid "Unable to locate %s section!\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÁÚÍÅÝÅÎÉÅ ÒÁÚÄÅÌÁ %s!\n" -#: ieee.c:2638 -msgid "unsupported C++ object type" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉÐ ÏÂßÅËÔÁ C++" +#: dwarf.c:1635 +#, c-format +msgid " Compilation Unit @ offset 0x%lx:\n" +msgstr " åÄÉÎÉÃÁ ËÏÍÐÉÌÑÃÉÉ @ ÓÍÅÝÅÎÉÅ 0x%lx:\n" -#: ieee.c:2648 -msgid "C++ base class not defined" -msgstr "ÂÁÚÏ×ÙÊ ËÌÁÓÓ C++ ÎÅ ÏÐÒÅÄÅÌÅÎ" +#: dwarf.c:1636 +#, c-format +msgid " Length: %ld\n" +msgstr " äÌÉÎÁ: %ld\n" -#: ieee.c:2660 ieee.c:2765 -msgid "C++ object has no fields" -msgstr "ÏÂßÅËÔ C++ ÎÅ ÉÍÅÅÔ ÐÏÌÅÊ" +#: dwarf.c:1637 +#, c-format +msgid " Version: %d\n" +msgstr " ÷ÅÒÓÉÑ: %d\n" -#: ieee.c:2679 -msgid "C++ base class not found in container" -msgstr "ÂÁÚÏ×ÙÊ ËÌÁÓÓ C++ ÎÅ ÎÁÊÄÅÎ × ËÏÎÅÊÎÅÒÅ" +#: dwarf.c:1638 +#, c-format +msgid " Abbrev Offset: %ld\n" +msgstr " óÍÅÝ. ÁÂÂÒÅ×: %ld\n" -#: ieee.c:2786 -msgid "C++ data member not found in container" -msgstr "ÜÌÅÍÅÎÔ ËÌÁÓÓÁ C++ ÎÅ ÎÁÊÄÅÎ × ËÏÎÔÅÊÎÅÒÅ" +#: dwarf.c:1639 +#, c-format +msgid " Pointer Size: %d\n" +msgstr " òÁÚÍ. ÕËÁÚÁÔ: %d\n" -#: ieee.c:2827 ieee.c:2977 -msgid "unknown C++ visibility" -msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ×ÉÄÉÍÏÓÔØ C++" +#: dwarf.c:1644 +msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" +msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÏÔÌÁÄÏÞÎÁÑ ÉÎÆÏÒÍÁÃÉÑ ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" -#: ieee.c:2861 -msgid "bad C++ field bit pos or size" -msgstr "ÎÅ×ÅÒÎÙÊ Ä×ÏÉÞÎÙÊ ÒÁÚÒÑÄ ÉÌÉ ÒÁÚÍÅÒ ÐÏÌÑ C++" +#: dwarf.c:1685 +#, c-format +msgid "Unable to locate entry %lu in the abbreviation table\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÁÚÍÅÝÅÎÉÅ ÐÕÎËÔÁ %lu × ÔÁÂÌÉÃÅ ÁÂÂÒÅ×ÉÁÃÉÉ\n" -#: ieee.c:2953 -msgid "bad type for C++ method function" -msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÆÕÎËÃÉÉ ÍÅÔÏÄÁ C++" +#: dwarf.c:1691 +#, c-format +msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" +msgstr " <%d><%lx>: îÏÍÅÒ ÁÂÂÒÅ×: %lu (%s)\n" -#: ieee.c:2963 -msgid "no type information for C++ method function" -msgstr "ÎÅÔ ÉÎÆÏÒÍÁÃÉÉ Ï ÔÉÐÅ ÄÌÑ ÆÕÎËÃÉÉ ÍÅÔÏÄÁ C++" +#: dwarf.c:1785 +#, c-format +msgid "%s section needs a populated .debug_info section\n" +msgstr "òÁÚÄÅÌÕ %s ÎÅÏÂÈÏÄÉÍ ÚÁÐÏÌÎÅÎÎÙÊ ÒÁÚÄÅÌ .debug_info\n" -#: ieee.c:3002 -msgid "C++ static virtual method" -msgstr "ÓÔÁÔÉÞÅÓËÉÊ ×ÉÒÔÕÁÌØÎÙÊ ÍÅÔÏÄ C++" +#: dwarf.c:1792 +#, c-format +msgid "%s section has more comp units than .debug_info section\n" +msgstr "òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ ÂÏÌØÛÅ ÜÌÅÍÅÎÔÏ× comp, ÞÅÍ ÒÁÚÄÅÌ .debug_info\n" -#: ieee.c:3097 -msgid "unrecognized C++ object overhead spec" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÓÌÕÖÅÂÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÏÂßÅËÔÁ C++" +#: dwarf.c:1794 +#, c-format +msgid "" +"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" +"\n" +msgstr "" +"ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÞÔÏ ÒÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ - %d, ÏÔ ÐÏÓÌÅÄÎÅÇÏ ÜÌÅÍÅÎÔÁ comp × .debug_info\n" +"\n" -#: ieee.c:3136 -msgid "undefined C++ vtable" -msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ×ÉÒÔÕÁÌØÎÁÑ ÔÁÂÌÉÃÁ C++" +#: dwarf.c:1819 +#, c-format +msgid "" +"\n" +"Dump of debug contents of section %s:\n" +"\n" +msgstr "" +"\n" +"äÁÍÐ ÄÌÑ ÏÔÌÁÄËÉ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ %s:\n" +"\n" -#: ieee.c:3205 -msgid "C++ default values not in a function" -msgstr "ÚÎÁÞÅÎÉÑ C++ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ × ÆÕÎËÃÉÉ" +#: dwarf.c:1858 +msgid "The line info appears to be corrupt - the section is too small\n" +msgstr "ðÏÈÏÖÅ, ÞÔÏ ÓÔÒÏËÁ ÉÎÆÏ ÐÏ×ÒÅÖÄÅÎÁ - ÒÁÚÄÅÌ ÓÌÉÛËÏÍ ÍÁÌ\n" -#: ieee.c:3245 -msgid "unrecognized C++ default type" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉÐ C++ ÐÏ ÕÍÏÌÞÁÎÉÀ" +#: dwarf.c:1867 +msgid "Only DWARF version 2 and 3 line info is currently supported.\n" +msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÓÔÒÏËÉ ÉÎÆÏ ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" -#: ieee.c:3276 -msgid "reference parameter is not a pointer" -msgstr "ÓÓÙÌÏÞÎÙÊ ÐÁÒÁÍÅÔÒ ÎÅ Ñ×ÌÑÅÔÓÑ ÕËÁÚÁÔÅÌÅÍ" +#: dwarf.c:1894 +#, c-format +msgid " Length: %ld\n" +msgstr " äÌÉÎÁ: %ld\n" -#: ieee.c:3359 -msgid "unrecognized C++ reference type" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÓÓÙÌÏÞÎÙÊ ÔÉÐ C++" +#: dwarf.c:1895 +#, c-format +msgid " DWARF Version: %d\n" +msgstr " DWARF ×ÅÒÓÉÑ: %d\n" -#: ieee.c:3441 -msgid "C++ reference not found" -msgstr "ÓÓÙÌËÁ C++ ÎÅ ÎÁÊÄÅÎÁ" +#: dwarf.c:1896 +#, c-format +msgid " Prologue Length: %d\n" +msgstr " äÌÉÎÁ ÐÒÏÌÏÇÁ: %d\n" -#: ieee.c:3449 -msgid "C++ reference is not pointer" -msgstr "ÓÓÙÌËÁ C++ ÎÅ Ñ×ÌÑÅÔÓÑ ÕËÁÚÁÔÅÌÅÍ" +#: dwarf.c:1897 +#, c-format +msgid " Minimum Instruction Length: %d\n" +msgstr " íÉÎÉÍ. ÄÌÉÎÁ ÉÎÓÔÒÕËÃÉÉ: %d\n" -#: ieee.c:3475 ieee.c:3483 -msgid "missing required ASN" -msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÔÒÅÂÕÅÍÙÊ ASN" +#: dwarf.c:1898 +#, c-format +msgid " Initial value of 'is_stmt': %d\n" +msgstr " îÁÞ. ÚÎÁÞÅÎÉÅ 'is_stmt': %d\n" -#: ieee.c:3510 ieee.c:3518 -msgid "missing required ATN65" -msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÔÒÅÂÕÅÍÙÊ ATN65" +#: dwarf.c:1899 +#, c-format +msgid " Line Base: %d\n" +msgstr " ïÓÎÏ×ÁÎÉÅ ÓÔÒÏËÉ: %d\n" -#: ieee.c:3532 -msgid "bad ATN65 record" -msgstr "ÐÌÏÈÁÑ ÚÁÐÉÓØ ATN65" +#: dwarf.c:1900 +#, c-format +msgid " Line Range: %d\n" +msgstr " äÉÁÐÁÚÏÎ ÓÔÒÏËÉ: %d\n" -#: ieee.c:4160 +#: dwarf.c:1901 #, c-format -msgid "IEEE numeric overflow: 0x" -msgstr "ÞÉÓÌÏ×ÏÅ ÐÅÒÅÐÏÌÎÅÎÉÅ IEEE: 0x" +msgid " Opcode Base: %d\n" +msgstr " ïÓÎÏ×ÁÎÉÅ ËÏÄÁ ÏÐÅÒÁÃÉÉ: %d\n" -#: ieee.c:4204 +#: dwarf.c:1902 #, c-format -msgid "IEEE string length overflow: %u\n" -msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÄÌÉÎÙ ÓÔÒÏËÉ IEEE: %u\n" +msgid " (Pointer size: %u)%s\n" +msgstr " (òÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ: %u)%s\n" -#: ieee.c:5203 +#: dwarf.c:1913 #, c-format -msgid "IEEE unsupported integer type size %u\n" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ÃÅÌÏÇÏ ÔÉÐÁ IEEE %u\n" +msgid "" +"\n" +" Opcodes:\n" +msgstr "" +"\n" +" ëÏÄÙ ÏÐÅÒÁÃÉÊ:\n" -#: ieee.c:5237 +#: dwarf.c:1916 #, c-format -msgid "IEEE unsupported float type size %u\n" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ÔÉÐÁ Ó ÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ IEEE %u\n" +msgid " Opcode %d has %d args\n" +msgstr " ëÏÄ ÏÐÅÒÁÃÉÉ %d ÓÏÄÅÒÖÉÔ %d ÁÒÇÕÍÅÎÔÏ×\n" -#: ieee.c:5271 +#: dwarf.c:1922 #, c-format -msgid "IEEE unsupported complex type size %u\n" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ËÏÍÐÌÅËÓÎÏÇÏ ÔÉÐÁ IEEE%u\n" +msgid "" +"\n" +" The Directory Table is empty.\n" +msgstr "" +"\n" +" ôÁÂÌÉÃÁ ËÁÔÁÌÏÇÏ× ÐÕÓÔÁ.\n" -#: nlmconv.c:267 srconv.c:1810 -msgid "input and output files must be different" -msgstr "×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÁÊÌÙ ÄÏÌÖÎÙ ÂÙÔØ ÒÁÚÌÉÞÎÙÍÉ" +#: dwarf.c:1925 +#, c-format +msgid "" +"\n" +" The Directory Table:\n" +msgstr "" +"\n" +" ôÁÂÌÉÃÁ ËÁÔÁÌÏÇÏ×:\n" -#: nlmconv.c:314 -msgid "input file named both on command line and with INPUT" -msgstr "×ÈÏÄÎÏÊ ÆÁÊÌ ÎÁÚ×ÁÎ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ É × INPUT" +#: dwarf.c:1929 +#, c-format +msgid " %s\n" +msgstr " %s\n" -#: nlmconv.c:323 -msgid "no input file" -msgstr "ÎÅÔ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ" +#: dwarf.c:1940 +#, c-format +msgid "" +"\n" +" The File Name Table is empty.\n" +msgstr "" +"\n" +" ôÁÂÌÉÃÁ ÉÍÅÎ ÆÁÊÌÏ× ÐÕÓÔÁ.\n" -#: nlmconv.c:353 -msgid "no name for output file" -msgstr "ÎÅÔ ÉÍÅÎÉ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ" +#: dwarf.c:1943 +#, c-format +msgid "" +"\n" +" The File Name Table:\n" +msgstr "" +"\n" +" ôÁÂÌÉÃÁ ÉÍÅÎ ÆÁÊÌÏ×:\n" -#: nlmconv.c:367 -msgid "warning: input and output formats are not compatible" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ" +#: dwarf.c:1951 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: nlmconv.c:396 -msgid "make .bss section" -msgstr "ÓÏÚÄÁÎÉÅ ÒÁÚÄÅÌÁ .bss" +#: dwarf.c:1962 +#, c-format +msgid "%s\n" +msgstr "%s\n" -#: nlmconv.c:405 -msgid "make .nlmsections section" -msgstr "ÓÏÚÄÁÎÉÅ ÒÁÚÄÅÌÁ .nlmsections" +#. Now display the statements. +#: dwarf.c:1970 +#, c-format +msgid "" +"\n" +" Line Number Statements:\n" +msgstr "" +"\n" +" ïÐÅÒÁÔÏÒÙ ÎÏÍÅÒÁ ÓÔÒÏËÉ:\n" -#: nlmconv.c:407 -msgid "set .nlmsections flags" -msgstr "ÕÓÔÁÎÏ×ËÁ ÆÌÁÇÏ× .nlmsections" +#: dwarf.c:1986 +#, c-format +msgid " Special opcode %d: advance Address by %lu to 0x%lx" +msgstr " óÐÅÃÉÁÌØÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d: ÐÒÏÄ×ÉÖÅÎÉÅ ÁÄÒÅÓÁ ÎÁ %lu × 0x%lx" -#: nlmconv.c:435 -msgid "set .bss vma" -msgstr "ÕÓÔÁÎÏ×ËÁ .bss vma" +#: dwarf.c:1990 +#, c-format +msgid " and Line by %d to %d\n" +msgstr " É ÓÔÒÏËÉ ÎÁ %d × %d\n" -#: nlmconv.c:442 -msgid "set .data size" -msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ .data" +#: dwarf.c:1998 +msgid "Extend line ops need a valid pointer size, guessing at 4\n" +msgstr "äÌÑ ÒÁÓÛÉÒÅÎÎÙÈ ËÏÄÏ× ÏÐÅÒÁÃÉÊ ÎÕÖÅÎ ×ÅÒÎÙÊ ÒÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ; ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ 4\n" -#: nlmconv.c:622 +#: dwarf.c:2007 #, c-format -msgid "warning: symbol %s imported but not in import list" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÉÍ×ÏÌ %s ÉÍÐÏÒÔÉÒÏ×ÁÎ, ÎÏ ÅÇÏ ÎÅÔ × ÓÐÉÓËÅ ÉÍÐÏÒÔÁ" +msgid " Copy\n" +msgstr " ëÏÐÉÑ\n" -#: nlmconv.c:642 -msgid "set start address" -msgstr "ÕÓÔÁÎÏ×ËÁ ÎÁÞÁÌØÎÏÇÏ ÁÄÒÅÓÁ" +#: dwarf.c:2015 +#, c-format +msgid " Advance PC by %lu to 0x%lx\n" +msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞ£ÔÞÉËÁ ËÏÍÁÎÄ ÎÁ %lu × 0x%lx\n" -#: nlmconv.c:691 +#: dwarf.c:2023 #, c-format -msgid "warning: START procedure %s not defined" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: START-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" +msgid " Advance Line by %d to %d\n" +msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÔÒÏËÉ ÎÁ %d × %d\n" -#: nlmconv.c:693 +#: dwarf.c:2030 #, c-format -msgid "warning: EXIT procedure %s not defined" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: EXIT-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" +msgid " Set File Name to entry %d in the File Name Table\n" +msgstr " õÓÔÁÎÏ×ËÁ ÉÍÅÎÉ ÆÁÊÌÁ × ÐÕÎËÔ %d × ÔÁÂÌÉÃÅ ÉÍÅÎ ÆÁÊÌÏ×\n" -#: nlmconv.c:695 +#: dwarf.c:2038 #, c-format -msgid "warning: CHECK procedure %s not defined" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: CHECK-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" +msgid " Set column to %lu\n" +msgstr " õÓÔÁÎÏ×ËÁ ÓÔÏÌÂÃÁ × %lu\n" -#: nlmconv.c:716 nlmconv.c:905 -msgid "custom section" -msgstr "ÒÁÚÄÅÌ custom" +#: dwarf.c:2045 +#, c-format +msgid " Set is_stmt to %d\n" +msgstr " õÓÔÁÎÏ×ËÁ is_stmt × %d\n" -#: nlmconv.c:737 nlmconv.c:934 -msgid "help section" -msgstr "ÒÁÚÄÅÌ help" +#: dwarf.c:2050 +#, c-format +msgid " Set basic block\n" +msgstr " õÓÔÁÎÏ×ËÁ ÂÁÚÏ×ÏÇÏ ÂÌÏËÁ\n" -#: nlmconv.c:759 nlmconv.c:952 -msgid "message section" -msgstr "ÒÁÚÄÅÌ message" +#: dwarf.c:2058 +#, c-format +msgid " Advance PC by constant %lu to 0x%lx\n" +msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞ£ÔÞÉËÁ ËÏÍÁÎÄ ÎÁ ÐÏÓÔÏÑÎÎÕÀ %lu × 0x%lx\n" -#: nlmconv.c:775 nlmconv.c:985 -msgid "module section" -msgstr "ÒÁÚÄÅÌ module" +#: dwarf.c:2066 +#, c-format +msgid " Advance PC by fixed size amount %lu to 0x%lx\n" +msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞ£ÔÞÉËÁ ËÏÍÁÎÄ ÎÁ ×ÅÌÉÞÉÎÕ ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ ÒÁÚÍÅÒÁ %lu × 0x%lx\n" -#: nlmconv.c:795 nlmconv.c:1001 -msgid "rpc section" -msgstr "ÒÁÚÄÅÌ rpc" +#: dwarf.c:2071 +#, c-format +msgid " Set prologue_end to true\n" +msgstr " õÓÔÁÎÏ×ËÁ prologue_end × `ÉÓÔÉÎÁ'\n" -#. There is no place to record this information. -#: nlmconv.c:831 +#: dwarf.c:2075 #, c-format -msgid "%s: warning: shared libraries can not have uninitialized data" -msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÅ ÄÁÎÎÙÅ" +msgid " Set epilogue_begin to true\n" +msgstr " õÓÔÁÎÏ×ËÁ epilogue_begin × `ÉÓÔÉÎÁ'\n" -#: nlmconv.c:852 nlmconv.c:1020 -msgid "shared section" -msgstr "ÒÁÚÄÅÌ shared" +#: dwarf.c:2081 +#, c-format +msgid " Set ISA to %lu\n" +msgstr " õÓÔÁÎÏ×ËÁ ISA × %lu\n" -#: nlmconv.c:860 -msgid "warning: No version number given" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: îÅ ÕËÁÚÁÎ ÎÏÍÅÒ ×ÅÒÓÉÉ" +#: dwarf.c:2085 +#, c-format +msgid " Unknown opcode %d with operands: " +msgstr " îÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d Ó ÏÐÅÒÁÎÄÁÍÉ: " -#: nlmconv.c:900 nlmconv.c:929 nlmconv.c:947 nlmconv.c:996 nlmconv.c:1015 +#: dwarf.c:2111 dwarf.c:2197 dwarf.c:2271 dwarf.c:2382 dwarf.c:2514 +#: dwarf.c:2739 #, c-format -msgid "%s: read: %s" -msgstr "%s: ÞÔÅÎÉÅ: %s" +msgid "" +"Contents of the %s section:\n" +"\n" +msgstr "" +"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" +"\n" -#: nlmconv.c:922 -msgid "warning: FULLMAP is not supported; try ld -M" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: FULLMAP ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ; ÐÏÐÒÏÂÕÊÔÅ ld -M" +#: dwarf.c:2151 +msgid "Only DWARF 2 and 3 pubnames are currently supported\n" +msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ pubname ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3\n" -#: nlmconv.c:1098 +#: dwarf.c:2158 #, c-format -msgid "Usage: %s [option(s)] [in-file [out-file]]\n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [in-ÆÁÊÌ [out-ÆÁÊÌ]]\n" +msgid " Length: %ld\n" +msgstr " äÌÉÎÁ: %ld\n" -#: nlmconv.c:1099 +#: dwarf.c:2160 #, c-format -msgid " Convert an object file into a NetWare Loadable Module\n" -msgstr " ëÏÎ×ÅÒÔÉÒÕÅÔ ÏÂßÅËÔÎÙÊ ÆÁÊÌ × ÚÁÇÒÕÖÁÅÍÙÊ ÍÏÄÕÌØ ÓÉÓÔÅÍÙ NetWare\n" +msgid " Version: %d\n" +msgstr " ÷ÅÒÓÉÑ: %d\n" -#: nlmconv.c:1100 +#: dwarf.c:2162 +#, c-format +msgid " Offset into .debug_info section: %ld\n" +msgstr " óÍÅÝÅÎÉÅ × ÒÁÚÄÅÌ .debug_info: %ld\n" + +#: dwarf.c:2164 +#, c-format +msgid " Size of area in .debug_info section: %ld\n" +msgstr " òÁÚÍ. ÏÂÌÁÓÔÉ × ÒÁÚÄÅÌÅ .debug_info: %ld\n" + +#: dwarf.c:2167 #, c-format msgid "" -" The options are:\n" -" -I --input-target= Set the input binary file format\n" -" -O --output-target= Set the output binary file format\n" -" -T --header-file= Read for NLM header information\n" -" -l --linker= Use for any linking\n" -" -d --debug Display on stderr the linker command line\n" -" -h --help Display this information\n" -" -v --version Display the program's version\n" +"\n" +" Offset\tName\n" msgstr "" -" ïÐÃÉÉ:\n" -" -I --input-target= õÓÔÁÎÏ×ËÁ ÆÏÒÍÁÔÁ ×ÈÏÄÎÏÇÏ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" -" -O --output-target= õÓÔÁÎÏ×ËÁ ÆÏÒÍÁÔÁ ×ÙÈÏÄÎÏÇÏ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" -" -T --header-file=<ÆÁÊÌ> þÔÅÎÉÅ <ÆÁÊÌÁ> Ó ÉÎÆÏÒÍÁÃÉÅÊ ÚÁÇÏÌÏ×ËÁ NLM\n" -" -l --linker=<ËÏÍÐÏÎÏ×ÝÉË> éÓÐÏÌØÚÏ×ÁÎÉÅ <ËÏÍÐÏÎÏ×ÝÉËÁ> ÄÌÑ ÌÀÂÏÇÏ Ó×ÑÚÙ×ÁÎÉÑ\n" -" -d --debug ÷Ù×ÏÄ ÎÁ stderr ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ËÏÍÐÏÎÏ×ÝÉËÁ\n" -" -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" -" -v --version ÷Ù×ÏÄ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" +"\n" +" óÍÅÝÅÎÉÅ\téÍÑ\n" -#: nlmconv.c:1140 +#: dwarf.c:2218 #, c-format -msgid "support not compiled in for %s" -msgstr "ÏÔËÏÍÐÉÌÉÒÏ×ÁÎ ÂÅÚ ÐÏÄÄÅÒÖËÉ %s" +msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" +msgstr " DW_MACINFO_start_file - ÎÏÍÅÒ_ÓÔÒÏËÉ: %d ÎÏÍÅÒ_ÆÁÊÌÁ: %d\n" -#: nlmconv.c:1177 -msgid "make section" -msgstr "ÒÁÚÄÅÌ make" +#: dwarf.c:2224 +#, c-format +msgid " DW_MACINFO_end_file\n" +msgstr " DW_MACINFO_end_file\n" -#: nlmconv.c:1191 -msgid "set section size" -msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ ÒÁÚÄÅÌÁ" +#: dwarf.c:2232 +#, c-format +msgid " DW_MACINFO_define - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_define - ÎÏÍÅÒ_ÓÔÒÏËÉ : %d ÍÁËÒÏ : %s\n" -#: nlmconv.c:1197 -msgid "set section alignment" -msgstr "ÕÓÔÁÎÏ×ËÁ ÏÒÉÅÎÔÁÃÉÉ ÒÁÚÄÅÌÁ" +#: dwarf.c:2241 +#, c-format +msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_undef - ÎÏÍÅÒ_ÓÔÒÏËÉ : %d ÍÁËÒÏ : %s\n" -#: nlmconv.c:1201 -msgid "set section flags" -msgstr "ÕÓÔÁÎÏ×ËÁ ÆÌÁÇÏ× ÒÁÚÄÅÌÁ" +#: dwarf.c:2253 +#, c-format +msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" +msgstr " DW_MACINFO_vendor_ext - ËÏÎÓÔÁÎÔÁ : %d ÓÔÒÏËÁ : %s\n" -#: nlmconv.c:1212 -msgid "set .nlmsections size" -msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ .nlmsections" +#: dwarf.c:2282 +#, c-format +msgid " Number TAG\n" +msgstr " þÉÓÌÏ TAG\n" -#: nlmconv.c:1293 nlmconv.c:1301 nlmconv.c:1310 nlmconv.c:1315 -msgid "set .nlmsection contents" -msgstr "ÕÓÔÁÎÏ×ËÁ ÓÏÄÅÒÖÉÍÏÇÏ .nlmsections" +#: dwarf.c:2288 +#, c-format +msgid " %ld %s [%s]\n" +msgstr " %ld %s [%s]\n" -#: nlmconv.c:1794 -msgid "stub section sizes" -msgstr "ÒÁÚÍÅÒÙ ÒÁÚÄÅÌÁ ÚÁÇÌÕÛËÉ" +#: dwarf.c:2291 +msgid "has children" +msgstr "ÉÍÅÅÔ ÐÏÔÏÍËÏ×" -#: nlmconv.c:1841 -msgid "writing stub" -msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ ÚÁÇÌÕÛËÁ" +#: dwarf.c:2291 +msgid "no children" +msgstr "ÎÅÔ ÐÏÔÏÍËÏ×" -#: nlmconv.c:1925 +#: dwarf.c:2294 #, c-format -msgid "unresolved PC relative reloc against %s" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÏÔÎÏÓÉÔÅÌØÎÏÅ ÐÅÒÅÍÅÝÅÎÉÅ ÐÏ ÓÞÅÔÞÉËÕ ËÏÍÁÎÄ × %s" +msgid " %-18s %s\n" +msgstr " %-18s %s\n" -#: nlmconv.c:1989 +#: dwarf.c:2327 dwarf.c:2510 dwarf.c:2684 #, c-format -msgid "overflow when adjusting relocation against %s" -msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÐÒÉ ÒÅÇÕÌÉÒÏ×ËÅ ÐÅÒÅÍÅÝÅÎÉÑ × %s" +msgid "" +"\n" +"The %s section is empty.\n" +msgstr "" +"\n" +"òÁÚÄÅÌ %s ÐÕÓÔ.\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2372 +msgid "Location lists in .debug_info section aren't in ascending order!\n" +msgstr "óÐÉÓËÉ ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ × ÒÁÚÄÅÌÅ .debug_info ÎÅ ÕÐÏÒÑÄÏÞÅÎÙ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ!\n" + +#: dwarf.c:2375 +msgid "No location lists in .debug_info section!\n" +msgstr "÷ ÒÁÚÄÅÌÅ .debug_info ÎÅÔ ÓÐÉÓËÏ× ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ!\n" -#: nlmconv.c:2116 +#: dwarf.c:2379 #, c-format -msgid "%s: execution of %s failed: " -msgstr "%s: ×ÙÐÏÌÎÅÎÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ: " +msgid "Location lists in %s section start at 0x%lx\n" +msgstr "óÐÉÓËÉ ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ × ÒÁÚÄÅÌÅ %s ÎÁÞÉÎÁÀÔÓÑ Ó 0x%lx\n" -#: nlmconv.c:2131 +#: dwarf.c:2383 #, c-format -msgid "Execution of %s failed" -msgstr "÷ÙÐÏÌÎÅÎÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ" +msgid " Offset Begin End Expression\n" +msgstr " óÍÅÝ. îÁÞÁÌÏ ëÏÎÅà òÁÓÛÉÒÅÎÉÅ\n" -#: nm.c:224 size.c:80 strings.c:651 +#: dwarf.c:2414 #, c-format -msgid "Usage: %s [option(s)] [file(s)]\n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [ÆÁÊÌ(Ù)]\n" +msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "÷ ÒÁÚÄÅÌÅ .debug_loc ÐÒÉÓÕÔÓÔ×ÕÅÔ ÄÙÒÁ [0x%lx - 0x%lx].\n" -#: nm.c:225 +#: dwarf.c:2417 #, c-format -msgid " List symbols in [file(s)] (a.out by default).\n" -msgstr " ÷Ù×ÏÄÉÔ ÓÐÉÓÏË ÓÉÍ×ÏÌÏ× × [ÆÁÊÌ(Ù)] (ÐÏ ÕÍÏÌÞÁÎÉÀ × a.out).\n" +msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "÷ ÒÁÚÄÅÌÅ .debug_loc ÐÒÉÓÕÔÓÔ×ÕÅÔ ÐÅÒÅËÒÙÔÉÅ [0x%lx - 0x%lx].\n" -#: nm.c:226 +#: dwarf.c:2424 #, c-format -msgid "" -" The options are:\n" -" -a, --debug-syms Display debugger-only symbols\n" -" -A, --print-file-name Print name of the input file before every symbol\n" -" -B Same as --format=bsd\n" -" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" -" The STYLE, if specified, can be `auto' (the default),\n" -" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" --no-demangle Do not demangle low-level symbol names\n" -" -D, --dynamic Display dynamic symbols instead of normal symbols\n" -" --defined-only Display only defined symbols\n" -" -e (ignored)\n" -" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" -" `sysv' or `posix'. The default is `bsd'\n" -" -g, --extern-only Display only external symbols\n" -" -l, --line-numbers Use debugging information to find a filename and\n" -" line number for each symbol\n" -" -n, --numeric-sort Sort symbols numerically by address\n" -" -o Same as -A\n" -" -p, --no-sort Do not sort the symbols\n" -" -P, --portability Same as --format=posix\n" -" -r, --reverse-sort Reverse the sense of the sort\n" -" -S, --print-size Print size of defined symbols\n" -" -s, --print-armap Include index for symbols from archive members\n" -" --size-sort Sort symbols by size\n" -" --special-syms Include special symbols in the output\n" -" --synthetic Display synthetic symbols as well\n" -" -t, --radix=RADIX Use RADIX for printing symbol values\n" -" --target=BFDNAME Specify the target object format as BFDNAME\n" -" -u, --undefined-only Display only undefined symbols\n" -" -X 32_64 (ignored)\n" -" -h, --help Display this information\n" -" -V, --version Display this program's version number\n" -"\n" -msgstr "" -" ïÐÃÉÉ:\n" -" -a, --debug-syms ÷Ù×ÏÄ ÔÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" -A, --print-file-name ÷Ù×ÏÄ ÉÍÅÎÉ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ ÐÅÒÅÄ ËÁÖÄÙÍ ÓÉÍ×ÏÌÏÍ\n" -" -B ôÏ ÖÅ, ÞÔÏ É --format=bsd\n" -" -C, --demangle[=óôéìø] äÅËÏÄÉÒÏ×ÁÎÉÅ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÈ ÉÍÅÎ ÓÉÍ×ÏÌÏ× × ÉÍÅÎÁ\n" -" ÕÒÏ×ÎÑ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" -" óôéìø, ÅÓÌÉ ÕËÁÚÁÎ, ÍÏÖÅÔ ÂÙÔØ `auto' (ÐÏ ÕÍÏÌÞÁÎÉÀ),\n" -" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" ÉÌÉ `gnat'\n" -" --no-demangle îÅ ÄÅËÏÄÉÒÏ×ÁÔØ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÅ ÉÍÅÎÁ ÓÉÍ×ÏÌÏ×\n" -" -D, --dynamic ÷Ù×ÏÄ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ× ×ÍÅÓÔÏ ÎÏÒÍÁÌØÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" --defined-only ÷Ù×ÏÄ ÔÏÌØËÏ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" -e (ÐÒÏÐÕÝÅÎÁ)\n" -" -f, --format=æïòíáô éÓÐÏÌØÚÏ×ÁÎÉÅ æïòíáô × ËÁÞÅÓÔ×Å ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ.\n" -" æïòíáô ÍÏÖÅÔ ÂÙÔØ `bsd', `sysv' ÉÌÉ `posix'. -g, --extern-only ÷Ù×ÏÄ ÔÏÌØËÏ ×ÎÅÛÎÉÈ ÓÉÍ×ÏÌÏ×\n" -" -l, --line-numbers éÓÐÏÌØÚÏ×ÁÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÄÌÑ ÎÁÈÏÖÄÅÎÉÑ\n" -" ÉÍÅÎÉ ÆÁÊÌÁ É ÎÏÍÅÒÁ ÓÔÒÏËÉ ÄÌÑ ËÁÖÄÏÇÏ ÓÉÍ×ÏÌÁ\n" -" -n, --numeric-sort óÏÒÔÉÒÏ×ËÁ ÓÉÍ×ÏÌÏ× ÐÏ ÁÄÒÅÓÕ\n" -" -o ôÏ ÖÅ, ÞÔÏ É -A\n" -" -p, --no-sort âÅÚ ÓÏÒÔÉÒÏ×ËÉ ÓÉÍ×ÏÌÏ×\n" -" -P, --portability ôÏ ÖÅ, ÞÔÏ É --format=posix\n" -" -r, --reverse-sort óÏÒÔÉÒÏ×ËÁ × ÏÂÒÁÔÎÏÍ ÐÏÒÑÄËÅ\n" -" -S, --print-size ÷Ù×ÏÄ ÒÁÚÍÅÒÁ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" -s, --print-armap ÷ËÌÀÞÅÎÉÅ ÉÎÄÅËÓÁ ÄÌÑ ÓÉÍ×ÏÌÏ× ÉÚ ÞÌÅÎÏ× ÁÒÈÉ×Á\n" -" --size-sort óÏÒÔÉÒÏ×ËÁ ÓÉÍ×ÏÌÏ× ÐÏ ÒÁÚÍÅÒÕ\n" -" --special-syms ÷ËÌÀÞÅÎÉÅ ÓÐÅÃÉÁÌØÎÙÈ ÓÉÍ×ÏÌÏ× × ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ\n" -" --synthetic ÷Ù×ÏÄ ÔÁËÖÅ ÓÉÎÔÅÔÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" -" -t, --radix=RADIX éÓÐÏÌØÚÏ×ÁÎÉÅ RADIX ÄÌÑ ×Ù×ÏÄÁ ÚÎÁÞÅÎÉÊ ÓÉÍ×ÏÌÏ×\n" -" --target=BFD-éíñ õËÁÚÁÎÉÅ ÃÅÌÅ×ÏÇÏ ÆÏÒÍÁÔÁ ÏÂßÅËÔÁ ËÁË BFD-éíñ\n" -" -u, --undefined-only ÷Ù×ÏÄ ÔÏÌØËÏ ÎÅ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" -X 32_64 (ÐÒÏÐÕÝÅÎÁ)\n" -" -h, --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" -" -V, --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" -"\n" +msgid "Offset 0x%lx is bigger than .debug_loc section size.\n" +msgstr "óÍÅÝÅÎÉÅ 0x%lx ÂÏÌØÛÅ, ÞÅÍ ÒÁÚÍÅÒ ÒÁÚÄÅÌÁ .debug_loc.\n" -#: nm.c:262 objdump.c:232 +#: dwarf.c:2433 dwarf.c:2460 dwarf.c:2470 #, c-format -msgid "Report bugs to %s.\n" -msgstr "ïÔÞÅÔÙ Ï ÏÛÉÂËÁÈ ÏÔÐÒÁ×ÌÑÊÔÅ × %s\n" +msgid "Location list starting at offset 0x%lx is not terminated.\n" +msgstr "óÐÉÓÏË ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ, ÎÁÞÉÎÁÑ ÓÏ ÓÍÅÝÅÎÉÑ 0x%lx, ÎÅ ÚÁ×ÅÒÛ£Î.\n" -#: nm.c:294 +#: dwarf.c:2445 dwarf.c:2784 #, c-format -msgid "%s: invalid radix" -msgstr "%s: ÎÅ×ÅÒÎÙÊ radix" +msgid " %8.8lx \n" +msgstr " %8.8lx <ëÏÎÅà ÓÐÉÓËÁ>\n" -#: nm.c:318 +#: dwarf.c:2453 #, c-format -msgid "%s: invalid output format" -msgstr "%s: ÎÅ×ÅÒÎÙÊ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ" +msgid " %8.8lx %8.8lx %8.8lx (base address)\n" +msgstr " %8.8lx %8.8lx %8.8lx (ÂÁÚÏ×ÙÊ ÁÄÒÅÓ)\n" + +#: dwarf.c:2487 dwarf.c:2801 +msgid " (start == end)" +msgstr " (ÎÁÞÁÌÏ == ËÏÎÅÃ)" + +#: dwarf.c:2489 dwarf.c:2803 +msgid " (start > end)" +msgstr " (ÎÁÞÁÌÏ > ËÏÎÅÃ)" -#: nm.c:339 readelf.c:6342 readelf.c:6378 +#: dwarf.c:2618 +msgid "Only DWARF 2 and 3 aranges are currently supported.\n" +msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ aganges ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" + +#: dwarf.c:2622 #, c-format -msgid ": %d" -msgstr "<ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ>: %d" +msgid " Length: %ld\n" +msgstr " äÌÉÎÁ: %ld\n" -#: nm.c:341 readelf.c:6345 readelf.c:6390 +#: dwarf.c:2623 #, c-format -msgid ": %d" -msgstr "<ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó>: %d" +msgid " Version: %d\n" +msgstr " ÷ÅÒÓÉÑ: %d\n" -#: nm.c:343 readelf.c:6347 readelf.c:6393 +#: dwarf.c:2624 #, c-format -msgid ": %d" -msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %d" +msgid " Offset into .debug_info: %lx\n" +msgstr " óÍÅÝÅÎÉÅ × .debug_info: %lx\n" -#: nm.c:380 +#: dwarf.c:2625 #, c-format -msgid "" -"\n" -"Archive index:\n" -msgstr "" -"\n" -"éÎÄÅËÓ ÁÒÈÉ×Á:\n" +msgid " Pointer Size: %d\n" +msgstr " òÁÚÍ. ÕËÁÚÁÔ: %d\n" -#: nm.c:1225 +#: dwarf.c:2626 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s:\n" -"\n" -msgstr "" -"\n" -"\n" -"îÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ %s:\n" -"\n" +msgid " Segment Size: %d\n" +msgstr " òÁÚÍ. ÓÅÇÍ.: %d\n" -#: nm.c:1227 +#: dwarf.c:2628 #, c-format msgid "" "\n" -"\n" -"Symbols from %s:\n" -"\n" +" Address Length\n" msgstr "" "\n" -"\n" -"óÉÍ×ÏÌÙ ÉÚ %s:\n" -"\n" +" áÄÒÅÓ äÌÉÎÁ\n" -#: nm.c:1229 nm.c:1280 +#. FIXME: Should we handle this case? +#: dwarf.c:2729 +msgid "Range lists in .debug_info section aren't in ascending order!\n" +msgstr "óÐÉÓËÉ ÄÉÁÐÁÚÏÎÏ× × ÒÁÚÄÅÌÅ .debug_info ÎÅ ÕÐÏÒÑÄÏÞÅÎÙ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ!\n" + +#: dwarf.c:2732 +msgid "No range lists in .debug_info section!\n" +msgstr "÷ ÒÁÚÄÅÌÅ .debug_info ÎÅÔ ÓÐÉÓËÏ× ÄÉÁÐÁÚÏÎÏ×!\n" + +#: dwarf.c:2736 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"éÍÑ úÎÁÞ. ëÌÁÓÓ ôÉÐ òÁÚÍÅÒ óÔÒÏËÁ òÁÚÄÅÌ\n" -"\n" +msgid "Range lists in %s section start at 0x%lx\n" +msgstr "óÐÉÓËÉ ÄÉÁÐÁÚÏÎÏ× × ÒÁÚÄÅÌÅ %s ÎÁÞÉÎÁÀÔÓÑ Ó 0x%lx\n" -#: nm.c:1232 nm.c:1283 +#: dwarf.c:2740 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"éÍÑ úÎÁÞ. ëÌÁÓÓ ôÉÐ òÁÚÍÅÒ óÔÒÏËÁ òÁÚÄÅÌ\n" -"\n" +msgid " Offset Begin End\n" +msgstr " óÍÅÝ. îÁÞÁÌÏ ëÏÎÅÃ\n" -#: nm.c:1276 +#: dwarf.c:2765 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"îÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ %s[%s]:\n" -"\n" +msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n" +msgstr "äÙÒÁ [0x%lx - 0x%lx] × ÒÁÚÄÅÌÅ %s.\n" -#: nm.c:1278 +#: dwarf.c:2769 #, c-format -msgid "" -"\n" -"\n" -"Symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"óÉÍ×ÏÌÙ ÉÚ %s[%s]:\n" -"\n" +msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n" +msgstr "ðÅÒÅËÒÙÔÉÅ [0x%lx - 0x%lx] × ÒÁÚÄÅÌÅ %s.\n" -#: nm.c:1580 -msgid "Only -X 32_64 is supported" -msgstr "ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ -X 32_64" +#: dwarf.c:2964 +#, c-format +msgid "The section %s contains:\n" +msgstr "òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ:\n" -#: nm.c:1600 -msgid "Using the --size-sort and --undefined-only options together" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ×ÍÅÓÔÅ ÏÐÃÉÊ --size-sort É --undefined-only" +#: dwarf.c:3608 +#, c-format +msgid "unsupported or unknown DW_CFA_%d\n" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÉÌÉ ÎÅÉÚ×ÅÓÔÎÙÊ DW_CFA_%d\n" -#: nm.c:1601 -msgid "will produce no output, since undefined symbols have no size." -msgstr "ÎÅ ÄÁÓÔ ×ÙÈÏÄÎÙÈ ÄÁÎÎÙÈ, Ô.Ë. ÎÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÎÅ ÉÍÅÀÔ ÒÁÚÍÅÒÁ." +#: dwarf.c:3632 +#, c-format +msgid "Displaying the debug contents of section %s is not yet supported.\n" +msgstr "ïÔÏÂÒÁÖÅÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÒÁÚÄÅÌÁ %s ÅÝÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.\n" -#: nm.c:1629 +#: dwarf.c:3674 #, c-format -msgid "data size %ld" -msgstr "ÒÁÚÍÅÒ ÄÁÎÎÙÈ %ld" +msgid "%s: Error: " +msgstr "%s: ïÛÉÂËÁ: " -#: objcopy.c:396 srconv.c:1721 +#: dwarf.c:3685 #, c-format -msgid "Usage: %s [option(s)] in-file [out-file]\n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] in-ÆÁÊÌ [out-ÆÁÊÌ]\n" +msgid "%s: Warning: " +msgstr "%s: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: " -#: objcopy.c:397 +#: emul_aix.c:51 #, c-format -msgid " Copies a binary file, possibly transforming it in the process\n" -msgstr " ëÏÐÉÒÕÅÔ Ä×ÏÉÞÎÙÊ ÆÁÊÌ, ×ÏÚÍÏÖÎÏ, ÐÒÅÏÂÒÁÚÏ×Ù×ÁÑ ÅÇÏ × ÐÒÏÃÅÓÓÅ\n" +msgid " [-g] - 32 bit small archive\n" +msgstr " [-g] - 32-ÂÉÔÎÙÊ ÍÁÌÅÎØËÉÊ ÁÒÈÉ×\n" -#: objcopy.c:398 objcopy.c:487 +#: emul_aix.c:52 #, c-format -msgid " The options are:\n" -msgstr " ïÐÃÉÉ:\n" +msgid " [-X32] - ignores 64 bit objects\n" +msgstr " [-X32] - ÐÒÏÐÕÓËÁÅÔ 64-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" -#: objcopy.c:399 +#: emul_aix.c:53 #, c-format -msgid "" -" -I --input-target Assume input file is in format \n" -" -O --output-target Create an output file in format \n" -" -B --binary-architecture Set arch of output file, when input is binary\n" -" -F --target Set both input and output format to \n" -" --debugging Convert debugging information, if possible\n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -j --only-section Only copy section into the output\n" -" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" -" -R --remove-section Remove section from the output\n" -" -S --strip-all Remove all symbol and relocation information\n" -" -g --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" -N --strip-symbol Do not copy symbol \n" -" --strip-unneeded-symbol \n" -" Do not copy symbol unless needed by\n" -" relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -K --keep-symbol Only copy symbol \n" -" -L --localize-symbol Force symbol to be marked as a local\n" -" -G --keep-global-symbol Localize all symbols except \n" -" -W --weaken-symbol Force symbol to be marked as a weak\n" -" --weaken Force all global symbols to be marked as weak\n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -i --interleave Only copy one out of every bytes\n" -" -b --byte Select byte in every interleaved block\n" -" --gap-fill Fill gaps between sections with \n" -" --pad-to Pad the last section up to address \n" -" --set-start Set the start address to \n" -" {--change-start|--adjust-start} \n" -" Add to the start address\n" -" {--change-addresses|--adjust-vma} \n" -" Add to LMA, VMA and start addresses\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Change LMA and VMA of section by \n" -" --change-section-lma {=|+|-}\n" -" Change the LMA of section by \n" -" --change-section-vma {=|+|-}\n" -" Change the VMA of section by \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" Warn if a named section does not exist\n" -" --set-section-flags =\n" -" Set section 's properties to \n" -" --add-section = Add section found in to output\n" -" --rename-section =[,] Rename section to \n" -" --change-leading-char Force output format's leading character style\n" -" --remove-leading-char Remove leading character from global symbols\n" -" --redefine-sym = Redefine symbol name to \n" -" --redefine-syms --redefine-sym for all symbol pairs \n" -" listed in \n" -" --srec-len Restrict the length of generated Srecords\n" -" --srec-forceS3 Restrict the type of generated Srecords to S3\n" -" --strip-symbols -N for all symbols listed in \n" -" --strip-unneeded-symbols \n" -" --strip-unneeded-symbol for all symbols listed\n" -" in \n" -" --keep-symbols -K for all symbols listed in \n" -" --localize-symbols -L for all symbols listed in \n" -" --keep-global-symbols -G for all symbols listed in \n" -" --weaken-symbols -W for all symbols listed in \n" -" --alt-machine-code Use alternate machine code for output\n" -" --writable-text Mark the output text as writable\n" -" --readonly-text Make the output text write protected\n" -" --pure Mark the output file as demand paged\n" -" --impure Mark the output file as impure\n" -" --prefix-symbols Add to start of every symbol name\n" -" --prefix-sections Add to start of every section name\n" -" --prefix-alloc-sections \n" -" Add to start of every allocatable\n" -" section name\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -msgstr "" -" -I --input-target ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ×ÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" -" -O --output-target óÏÚÄÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" -" -B --binary-architecture <ÁÒÈ> õÓÔÁÎÏ×ÉÔØ ÁÒÈÉÔÅËÔÕÒÕ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ, ËÏÇÄÁ ×ÈÏÄÎÏÊ ÆÁÊÌ Ä×ÏÉÞÎÙÊ\n" -" -F --target õÓÔÁÎÏ×ÉÔØ ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ × \n" -" --debugging ðÒÅÏÂÒÁÚÏ×ÁÔØ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÅÓÌÉ ÜÔÏ ×ÏÚÍÏÖÎÏ\n" -" -p --preserve-dates ëÏÐÉÒÏ×ÁÔØ ×ÒÅÍÑ ÍÏÄÉÆÉËÁÃÉÉ/ÄÏÓÔÕÐÁ ÎÁ ×Ù×ÏÄ\n" -" -j --only-section <ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÎÁ ×Ù×ÏÄ\n" -" --add-gnu-debuglink=<ÆÁÊÌ> äÏÂÁ×ÌÅÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÒÁÚÄÅÌÁ .gnu_debuglink × <ÆÁÊÌ>\n" -" -R --remove-section <ÉÍÑ> õÄÁÌÉÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÉÚ ×Ù×ÏÄÁ\n" -" -S --strip-all õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ É ÉÎÆÏÒÍÁÃÉÀ Ï ÐÅÒÅÍÅÝÅÎÉÉ\n" -" -g --strip-debug õÄÁÌÉÔØ ×ÓÅ ÏÔÌÁÄÏÞÎÙÅ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ\n" -" --strip-unneeded õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ, ÎÅ ÎÕÖÎÙÅ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" -" -N --strip-symbol <ÉÍÑ> îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>\n" -" --strip-unneeded-symbol <ÉÍÑ>\n" -" îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>, ÅÓÌÉ ÎÅ ÎÕÖÅÎ ÄÌÑ\n" -" ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" -" --only-keep-debug ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ\n" -" -K --keep-symbol <ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌ <ÉÍÑ>\n" -" -L --localize-symbol <ÉÍÑ> ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÞÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ> ËÁË ÌÏËÁÌØÎÙÊ\n" -" -G --keep-global-symbol <ÉÍÑ> ìÏËÁÌÉÚÏ×ÁÔØ ×ÓÅ ÓÉÍ×ÏÌÙ ËÒÏÍÅ <ÉÍÑ>\n" -" -W --weaken-symbol <ÉÍÑ> ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÔÉÔØ ÓÉÍ×ÏÌ <ÉÍÑ> ËÁË ÓÌÁÂÙÊ\n" -" --weaken ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÔÉÔØ ÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ ËÁË ÓÌÁÂÙÅ\n" -" -w --wildcard òÁÚÒÅÛÉÔØ ÍÁÓËÕ ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÓÉÍ×ÏÌÏ×\n" -" -x --discard-all õÄÁÌÉÔØ ×ÓÅ ÎÅÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ\n" -" -X --discard-locals õÄÁÌÉÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ËÏÍÐÉÌÑÔÏÒÏÍ\n" -" -i --interleave <ÞÉÓÌÏ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÏÄÉÎ ÂÁÊÔ ÞÅÒÅÚ ËÁÖÄÏÅ <ÞÉÓÌÏ> ÂÁÊÔ\n" -" -b --byte <ÎÏÍÅÒ> ÷ÙÂÒÁÔØ ÂÁÊÔ <ÎÏÍÅÒ> × ËÁÖÄÏÍ ÞÅÒÅÄÕÀÝÅÍÓÑ ÂÌÏËÅ\n" -" --gap-fill <ÚÎÁÞÅÎÉÅ> úÁÐÏÌÎÉÔØ ÐÒÏÍÅÖÕÔËÉ ÍÅÖÄÕ ÒÁÚÄÅÌÁÍÉ <ÚÎÁÞÅÎÉÅÍ>\n" -" --pad-to <ÁÄÒÅÓ> úÁÐÏÌÎÉÔØ ÐÏÓÌÅÄÎÉÊ ÒÁÚÄÅÌ ÄÏ ÁÄÒÅÓÁ <ÁÄÒÅÓ>\n" -" --set-start <ÁÄÒÅÓ> õÓÔÁÎÏ×ÉÔØ ÎÁÞÁÌØÎÙÊ ÁÄÒÅÓ × <ÁÄÒÅÓ>\n" -" {--change-start|--adjust-start} <ÐÒÉÒÁÝÅÎÉÅ>\n" -" äÏÂÁ×ÉÔØ <ÐÒÉÒÁÝÅÎÉÅ> Ë ÎÁÞÁÌØÎÏÍÕ ÁÄÒÅÓÕ\n" -" {--change-addresses|--adjust-vma} <ÐÒÉÒÁÝÅÎÉÅ>\n" -" äÏÂÁ×ÉÔØ <ÐÒÉÒÁÝÅÎÉÅ> Ë LMA, VMA É ÎÁÞÁÌØÎÏÍÕ ÁÄÒÅÓÁÍ\n" -" {--change-section-address|--adjust-section-vma} <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" -" éÚÍÅÎÉÔØ LMA É VMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" -" --change-section-lma <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" -" éÚÍÅÎÉÔØ LMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" -" --change-section-vma <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" -" éÚÍÅÎÉÔØ VMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" ðÒÅÄÕÐÒÅÄÉÔØ, ÅÓÌÉ ÎÁÚ×ÁÎÎÙÊ ÒÁÚÄÅÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ\n" -" --set-section-flags <ÉÍÑ>=<ÆÌÁÇÉ>\n" -" õÓÔÁÎÏ×ÉÔØ Ó×ÏÊÓÔ×Á ÒÁÚÄÅÌÁ <ÉÍÑ> × <ÆÌÁÇÉ>\n" -" --add-section <ÉÍÑ>=<ÆÁÊÌ> äÏÂÁ×ÉÔØ ÒÁÚÄÅÌ <ÉÍÑ>, ÎÁÊÄÅÎÎÙÊ × <ÆÁÊÌÅ>, ÎÁ ×Ù×ÏÄ\n" -" --rename-section <ÓÔÁÒ>=<ÎÏ×>[,<ÆÌÁÇÉ>] ðÅÒÅÉÍÅÎÏ×ÁÔØ ÒÁÚÄÅÌ <ÓÔÁÒ> ÎÁ <ÎÏ×>\n" -" --change-leading-char ðÒÉÎÕÄÉÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÉÌØ ÚÁÇÌÁ×ÎÏÇÏ ÓÉÍ×ÏÌÁ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ\n" -" --remove-leading-char õÄÁÌÉÔØ ÚÁÇÌÁ×ÎÙÊ ÓÉÍ×ÏÌ ÉÚ ÇÌÏÂÁÌØÎÙÈ ÓÉÍ×ÏÌÏ×\n" -" --redefine-sym <ÓÔÁÒ>=<ÎÏ×> ðÅÒÅÏÐÒÅÄÅÌÉÔØ ÉÍÑ ÓÉÍ×ÏÌÁ <ÓÔÁÒ> ÎÁ <ÎÏ×>\n" -" --redefine-syms <ÆÁÊÌ> --redefine-sym ÄÌÑ ×ÓÅÈ ÐÁÒ ÓÉÍ×ÏÌÏ×,\n" -" ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --srec-len <ÞÉÓÌÏ> ïÇÒÁÎÉÞÉÔØ ÄÌÉÎÕ ÓÏÚÄÁÎÎÙÈ S-ÚÁÐÉÓÅÊ\n" -" --srec-forceS3 ïÇÒÁÎÉÞÉÔØ ÔÉÐ ÓÏÚÄÁÎÎÙÈ S-ÚÁÐÉÓÅÊ ÄÏ S3\n" -" --strip-symbols <ÆÁÊÌ> -N ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --strip-unneeded-symbols <ÆÁÊÌ>\n" -" --strip-unneeded-symbol ÄÌÑ ×ÓÅÈ ÓÉÍ×ÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ\n" -" × <ÆÁÊÌÅ>\n" -" --keep-symbols <ÆÁÊÌ> -K ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --localize-symbols <ÆÁÊÌ> -L ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --keep-global-symbols <ÆÁÊÌ> -G ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --weaken-symbols <ÆÁÊÌ> -W ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" -" --alt-machine-code <ÉÎÄÅËÓ> éÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ËÏÄ ÍÁÛÉÎÙ ÄÌÑ ×Ù×ÏÄÁ\n" -" --writable-text ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÔÅËÓÔ ËÁË ÐÅÒÅÚÁÐÉÓÙ×ÁÅÍÙÊ\n" -" --readonly-text ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÔÅËÓÔ ËÁË ÚÁÝÉÝÅÎÎÙÊ ÏÔ ÚÁÐÉÓÉ\n" -" --pure ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ ËÁË ÌÉÓÔÁÅÍÙÊ ÐÏ ×ÙÚÏ×Õ\n" -" --impure ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ ËÁË ÚÁÇÒÑÚÎÅÎÎÙÊ\n" -" --prefix-symbols <ÐÒÅÆÉËÓ> äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ ÓÉÍ×ÏÌÁ\n" -" --prefix-sections <ÐÒÅÆÉËÓ> äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ ÒÁÚÄÅÌÁ\n" -" --prefix-alloc-sections <ÐÒÅÆÉËÓ>\n" -" äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ\n" -" ÎÁÚÎÁÞÁÅÍÏÇÏ ÒÁÚÄÅÌÁ\n" -" -v --verbose ðÅÒÅÞÉÓÌÉÔØ ×ÓÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÅ ÏÂßÅËÔÎÙÅ ÆÁÊÌÙ\n" -" -V --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" -" -h --help ÷Ù×ÅÓÔÉ ÜÔÕ ÓÐÒÁ×ËÕ\n" -" --info ðÅÒÅÞÉÓÌÉÔØ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÏÒÍÁÔÙ ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒÙ\n" - -#: objcopy.c:485 -#, c-format -msgid "Usage: %s in-file(s)\n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s <ÏÐÃÉÉ> in-ÆÁÊÌ(Ù)\n" +msgid " [-X64] - ignores 32 bit objects\n" +msgstr " [-X64] - ÐÒÏÐÕÓËÁÅÔ 32-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" -#: objcopy.c:486 +#: emul_aix.c:54 #, c-format -msgid " Removes symbols and sections from files\n" -msgstr " õÄÁÌÑÅÔ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ ÉÚ ÆÁÊÌÏ×\n" +msgid " [-X32_64] - accepts 32 and 64 bit objects\n" +msgstr " [-X32_64] - ÄÏÐÕÓËÁÅÔ 32- É 64-ÂÉÔÎÙÅ ÏÂßÅËÔÙ\n" -#: objcopy.c:488 -#, c-format -msgid "" -" -I --input-target= Assume input file is in format \n" -" -O --output-target= Create an output file in format \n" -" -F --target= Set both input and output format to \n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -R --remove-section= Remove section from the output\n" -" -s --strip-all Remove all symbol and relocation information\n" -" -g -S -d --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -N --strip-symbol= Do not copy symbol \n" -" -K --keep-symbol= Only copy symbol \n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -" -o Place stripped output into \n" -msgstr "" -" -I --input-target= ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ×ÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" -" -O --output-target= óÏÚÄÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" -" -F --target= õÓÔÁÎÏ×ÉÔØ ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ × \n" -" -p --preserve-dates ëÏÐÉÒÏ×ÁÔØ ×ÒÅÍÑ ÍÏÄÉÆÉËÁÃÉÉ/ÄÏÓÔÕÐÁ ÎÁ ×Ù×ÏÄ\n" -" -R --remove-section <ÉÍÑ> õÄÁÌÉÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÉÚ ×Ù×ÏÄÁ\n" -" -s --strip-all õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ É ÉÎÆÏÒÍÁÃÉÀ Ï ÐÅÒÅÍÅÝÅÎÉÉ\n" -" -g -S -d --strip-debug õÄÁÌÉÔØ ×ÓÅ ÏÔÌÁÄÏÞÎÙÅ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ\n" -" --strip-unneeded õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ, ÎÅ ÎÕÖÎÙÅ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" -" -N --strip-symbol=<ÉÍÑ> îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>\n" -" -K --keep-symbol=<ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌ <ÉÍÑ>\n" -" -w --wildcard òÁÚÒÅÛÉÔØ ÍÁÓËÕ ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÓÉÍ×ÏÌÏ×\n" -" -x --discard-all õÄÁÌÉÔØ ×ÓÅ ÎÅÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ\n" -" -X --discard-locals õÄÁÌÉÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ËÏÍÐÉÌÑÔÏÒÏÍ\n" -" -v --verbose ðÅÒÅÞÉÓÌÉÔØ ×ÓÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÅ ÏÂßÅËÔÎÙÅ ÆÁÊÌÙ\n" -" -V --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" -" -h --help ÷Ù×ÅÓÔÉ ÜÔÕ ÓÐÒÁ×ËÕ\n" -" --info ðÅÒÅÞÉÓÌÉÔØ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÏÒÍÁÔÙ ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒÙ\n" -" -o <ÆÁÊÌ> ðÏÍÅÓÔÉÔØ ÏÂÒÁÂÏÔÁÎÎÙÅ ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ × <ÆÁÊÌ>\n" +#: ieee.c:311 +msgid "unexpected end of debugging information" +msgstr "ÎÅÏÖÉÄÁÎÎÏÅ ÏËÏÎÞÁÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ" -#: objcopy.c:560 -#, c-format -msgid "unrecognized section flag `%s'" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÆÌÁÇ ÒÁÚÄÅÌÁ `%s'" +#: ieee.c:398 +msgid "invalid number" +msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ" -#: objcopy.c:561 -#, c-format -msgid "supported flags: %s" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÌÁÇÉ: %s" +#: ieee.c:451 +msgid "invalid string length" +msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÓÔÒÏËÉ" -#: objcopy.c:638 -#, c-format -msgid "cannot open '%s': %s" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ '%s': %s" +#: ieee.c:506 ieee.c:547 +msgid "expression stack overflow" +msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" -#: objcopy.c:641 objcopy.c:2629 -#, c-format -msgid "%s: fread failed" -msgstr "%s: fread ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ" +#: ieee.c:526 +msgid "unsupported IEEE expression operator" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÏÐÅÒÁÔÏÒ ×ÙÒÁÖÅÎÉÑ IEEE" -#: objcopy.c:714 -#, c-format -msgid "%s:%d: Ignoring rubbish found on this line" -msgstr "%s:%d: ðÒÏÐÕÓËÁÅÔÓÑ ÍÕÓÏÒ, ÎÁÊÄÅÎÎÙÊ × ÜÔÏÊ ÓÔÒÏËÅ " +#: ieee.c:541 +msgid "unknown section" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÒÁÚÄÅÌ" -#: objcopy.c:976 -#, c-format -msgid "%s: Multiple redefinition of symbol \"%s\"" -msgstr "%s: íÎÏÇÏËÒÁÔÎÏÅ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ \"%s\"" +#: ieee.c:562 +msgid "expression stack underflow" +msgstr "ÏÐÕÓÔÏÛÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" -#: objcopy.c:980 -#, c-format -msgid "%s: Symbol \"%s\" is target of more than one redefinition" -msgstr "%s: óÉÍ×ÏÌ \"%s\" Ñ×ÌÑÅÔÓÑ ÃÅÌØÀ ÂÏÌÅÅ, ÞÅÍ ÏÄÎÏÇÏ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ" +#: ieee.c:576 +msgid "expression stack mismatch" +msgstr "ÎÅÓÏ×ÐÁÄÅÎÉÅ ÓÔÅËÁ ×ÙÒÁÖÅÎÉÑ" -#: objcopy.c:1008 -#, c-format -msgid "couldn't open symbol redefinition file %s (error: %s)" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ ÓÉÍ×ÏÌÁ %s (ÏÛÉÂËÁ: %s)" +#: ieee.c:613 +msgid "unknown builtin type" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ×ÓÔÒÏÅÎÎÙÊ ÔÉÐ" -#: objcopy.c:1086 -#, c-format -msgid "%s:%d: garbage found at end of line" -msgstr "%s:%d: × ËÏÎÃÅ ÓÔÒÏËÉ ÎÁÊÄÅÎ ÍÕÓÏÒ" +#: ieee.c:758 +msgid "BCD float type not supported" +msgstr "ä×ÏÉÞÎÏ-ËÏÄÉÒÏ×ÁÎÎÙÊ ÄÅÓÑÔÉÞÎÙÊ ÔÉÐ Ó ÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: objcopy.c:1089 -#, c-format -msgid "%s:%d: missing new symbol name" -msgstr "%s:%d: ÏÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÎÏ×ÏÇÏ ÓÉÍ×ÏÌÁ" +#: ieee.c:895 +msgid "unexpected number" +msgstr "ÎÅÏÖÉÄÁÎÎÏÅ ÞÉÓÌÏ" -#: objcopy.c:1099 -#, c-format -msgid "%s:%d: premature end of file" -msgstr "%s:%d: ÐÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ" +#: ieee.c:902 +msgid "unexpected record type" +msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÍÂÉÎÉÒÏ×ÁÎÎÙÊ ÔÉÐ" -#: objcopy.c:1124 -msgid "Unable to change endianness of input file(s)" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ endianness ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ" +#: ieee.c:935 +msgid "blocks left on stack at end" +msgstr "× ËÏÎÃÅ ÓÔÅËÁ ÏÓÔÁÌÉÓØ ÂÌÏËÉ" -#: objcopy.c:1133 -#, c-format -msgid "copy from %s(%s) to %s(%s)\n" -msgstr "ËÏÐÉÒÏ×ÁÎÉÅ ÉÚ %s(%s) × %s(%s)\n" +#: ieee.c:1198 +msgid "unknown BB type" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ BB" -#: objcopy.c:1170 -#, c-format -msgid "Unable to recognise the format of the input file %s" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÆÏÒÍÁÔ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ %s" +#: ieee.c:1207 +msgid "stack overflow" +msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ" -#: objcopy.c:1174 -#, c-format -msgid "Warning: Output file cannot represent architecture %s" -msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÷ÙÈÏÄÎÏÊ ÆÁÊÌ ÎÅ ÍÏÖÅÔ ÐÒÅÄÏÓÔÁ×ÉÔØ ÁÒÈÉÔÅËÔÕÒÕ %s" +#: ieee.c:1230 +msgid "stack underflow" +msgstr "ÏÐÕÓÔÏÛÅÎÉÅ ÓÔÅËÁ" -#: objcopy.c:1211 -#, c-format -msgid "can't create section `%s': %s" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÒÁÚÄÅÌ `%s': %s" +#: ieee.c:1342 ieee.c:1412 ieee.c:2109 +msgid "illegal variable index" +msgstr "ÎÅ×ÅÒÎÙÊ ÉÎÄÅËÓ ÐÅÒÅÍÅÎÎÏÊ" -#: objcopy.c:1277 -msgid "there are no sections to be copied!" -msgstr "ÎÅÔ ÒÁÚÄÅÌÏ× ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ!" +#: ieee.c:1390 +msgid "illegal type index" +msgstr "ÎÅ×ÅÒÎÙÊ ÉÎÄÅËÓ ÔÉÐÁ" -#: objcopy.c:1323 -#, c-format -msgid "Can't fill gap after %s: %s" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÏÌÎÉÔØ ÐÒÏÍÅÖÕÔÏË ÐÏÓÌÅ %s: %s" +#: ieee.c:1400 ieee.c:1437 +msgid "unknown TY code" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ËÏÄ TY" -#: objcopy.c:1348 -#, c-format -msgid "Can't add padding to %s: %s" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÚÁÐÏÌÎÅÎÉÅ × %s: %s" +#: ieee.c:1419 +msgid "undefined variable in TY" +msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ × TY" -#: objcopy.c:1514 -#, c-format -msgid "%s: error copying private BFD data: %s" -msgstr "%s: ÏÛÉÂËÁ ËÏÐÉÒÏ×ÁÎÉÑ ÞÁÓÔÎÙÈ ÄÁÎÎÙÈ BFD: %s" +#. Pascal file name. FIXME. +#: ieee.c:1830 +msgid "Pascal file name not supported" +msgstr "éÍÑ ÆÁÊÌÁ Pascal ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: objcopy.c:1525 -msgid "unknown alternate machine code, ignored" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ËÏÄ ÍÁÛÉÎÙ, ÐÒÏÐÕÝÅÎ" +#: ieee.c:1878 +msgid "unsupported qualifier" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ËÌÁÓÓÉÆÉËÁÔÏÒ" -#: objcopy.c:1555 objcopy.c:1585 -#, c-format -msgid "cannot mkdir %s for archive copying (error: %s)" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ mkdir %s ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ ÁÒÈÉ×Á (ÏÛÉÂËÁ: %s)" +#: ieee.c:2147 +msgid "undefined variable in ATN" +msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ × ATN" -#: objcopy.c:1790 -#, c-format -msgid "Multiple renames of section %s" -msgstr "íÎÏÇÏËÒÁÔÎÙÅ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÒÁÚÄÅÌÁ %s" +#: ieee.c:2190 +msgid "unknown ATN type" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ATN" -#: objcopy.c:1841 -msgid "private header data" -msgstr "ÞÁÓÔÎÙÅ ÄÁÎÎÙÅ ÚÁÇÏÌÏ×ËÁ" +#. Reserved for FORTRAN common. +#: ieee.c:2312 +msgid "unsupported ATN11" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ATN11" -#: objcopy.c:1849 -#, c-format -msgid "%s: error in %s: %s" -msgstr "%s: ÏÛÉÂËÁ × %s: %s" +#. We have no way to record this information. FIXME. +#: ieee.c:2339 +msgid "unsupported ATN12" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ATN12" -#: objcopy.c:1903 -msgid "making" -msgstr "ÓÏÚÄÁÅÔÓÑ" +#: ieee.c:2399 +msgid "unexpected string in C++ misc" +msgstr "ÎÅÏÖÉÄÁÎÎÁÑ ÓÔÒÏËÁ × C++ misc" -#: objcopy.c:1912 -msgid "size" -msgstr "ÒÁÚÍÅÒ" +#: ieee.c:2412 +msgid "bad misc record" +msgstr "ÐÌÏÈÁÑ ÚÁÐÉÓØ misc" -#: objcopy.c:1926 -msgid "vma" -msgstr "vma" +#: ieee.c:2453 +msgid "unrecognized C++ misc record" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ C++ ÚÁÐÉÓØ misc" -#: objcopy.c:1951 -msgid "alignment" -msgstr "ÏÒÉÅÎÔÁÃÉÑ" +#: ieee.c:2568 +msgid "undefined C++ object" +msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÙÊ ÏÂßÅËÔ C++" -#: objcopy.c:1966 -msgid "flags" -msgstr "ÆÌÁÇÉ" +#: ieee.c:2602 +msgid "unrecognized C++ object spec" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÏÂßÅËÔÁ C++" -#: objcopy.c:1988 -msgid "private data" -msgstr "ÞÁÓÔÎÙÅ ÄÁÎÎÙÅ" +#: ieee.c:2638 +msgid "unsupported C++ object type" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉÐ ÏÂßÅËÔÁ C++" + +#: ieee.c:2648 +msgid "C++ base class not defined" +msgstr "ÂÁÚÏ×ÙÊ ËÌÁÓÓ C++ ÎÅ ÏÐÒÅÄÅÌÅÎ" + +#: ieee.c:2660 ieee.c:2765 +msgid "C++ object has no fields" +msgstr "ÏÂßÅËÔ C++ ÎÅ ÉÍÅÅÔ ÐÏÌÅÊ" + +#: ieee.c:2679 +msgid "C++ base class not found in container" +msgstr "ÂÁÚÏ×ÙÊ ËÌÁÓÓ C++ ÎÅ ÎÁÊÄÅÎ × ËÏÎÅÊÎÅÒÅ" + +#: ieee.c:2786 +msgid "C++ data member not found in container" +msgstr "ÜÌÅÍÅÎÔ ËÌÁÓÓÁ C++ ÎÅ ÎÁÊÄÅÎ × ËÏÎÔÅÊÎÅÒÅ" + +#: ieee.c:2827 ieee.c:2977 +msgid "unknown C++ visibility" +msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ×ÉÄÉÍÏÓÔØ C++" + +#: ieee.c:2861 +msgid "bad C++ field bit pos or size" +msgstr "ÎÅ×ÅÒÎÙÊ Ä×ÏÉÞÎÙÊ ÒÁÚÒÑÄ ÉÌÉ ÒÁÚÍÅÒ ÐÏÌÑ C++" + +#: ieee.c:2953 +msgid "bad type for C++ method function" +msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÆÕÎËÃÉÉ ÍÅÔÏÄÁ C++" + +#: ieee.c:2963 +msgid "no type information for C++ method function" +msgstr "ÎÅÔ ÉÎÆÏÒÍÁÃÉÉ Ï ÔÉÐÅ ÄÌÑ ÆÕÎËÃÉÉ ÍÅÔÏÄÁ C++" + +#: ieee.c:3002 +msgid "C++ static virtual method" +msgstr "ÓÔÁÔÉÞÅÓËÉÊ ×ÉÒÔÕÁÌØÎÙÊ ÍÅÔÏÄ C++" + +#: ieee.c:3097 +msgid "unrecognized C++ object overhead spec" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÓÌÕÖÅÂÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÏÂßÅËÔÁ C++" + +#: ieee.c:3136 +msgid "undefined C++ vtable" +msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÁÑ ×ÉÒÔÕÁÌØÎÁÑ ÔÁÂÌÉÃÁ C++" + +#: ieee.c:3205 +msgid "C++ default values not in a function" +msgstr "ÚÎÁÞÅÎÉÑ C++ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ × ÆÕÎËÃÉÉ" + +#: ieee.c:3245 +msgid "unrecognized C++ default type" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉÐ C++ ÐÏ ÕÍÏÌÞÁÎÉÀ" + +#: ieee.c:3276 +msgid "reference parameter is not a pointer" +msgstr "ÓÓÙÌÏÞÎÙÊ ÐÁÒÁÍÅÔÒ ÎÅ Ñ×ÌÑÅÔÓÑ ÕËÁÚÁÔÅÌÅÍ" + +#: ieee.c:3359 +msgid "unrecognized C++ reference type" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÓÓÙÌÏÞÎÙÊ ÔÉÐ C++" + +#: ieee.c:3441 +msgid "C++ reference not found" +msgstr "ÓÓÙÌËÁ C++ ÎÅ ÎÁÊÄÅÎÁ" + +#: ieee.c:3449 +msgid "C++ reference is not pointer" +msgstr "ÓÓÙÌËÁ C++ ÎÅ Ñ×ÌÑÅÔÓÑ ÕËÁÚÁÔÅÌÅÍ" + +#: ieee.c:3475 ieee.c:3483 +msgid "missing required ASN" +msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÔÒÅÂÕÅÍÙÊ ASN" + +#: ieee.c:3510 ieee.c:3518 +msgid "missing required ATN65" +msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÔÒÅÂÕÅÍÙÊ ATN65" + +#: ieee.c:3532 +msgid "bad ATN65 record" +msgstr "ÐÌÏÈÁÑ ÚÁÐÉÓØ ATN65" -#: objcopy.c:1996 +#: ieee.c:4160 #, c-format -msgid "%s: section `%s': error in %s: %s" -msgstr "%s: ÒÁÚÄÅÌ `%s': ÏÛÉÂËÁ × %s: %s" +msgid "IEEE numeric overflow: 0x" +msgstr "ÞÉÓÌÏ×ÏÅ ÐÅÒÅÐÏÌÎÅÎÉÅ IEEE: 0x" -#: objcopy.c:2274 +#: ieee.c:4204 #, c-format -msgid "%s: can't create debugging section: %s" -msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÏÔÌÁÄÏÞÎÙÊ ÒÁÚÄÅÌ: %s" +msgid "IEEE string length overflow: %u\n" +msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÄÌÉÎÙ ÓÔÒÏËÉ IEEE: %u\n" -#: objcopy.c:2288 +#: ieee.c:5203 #, c-format -msgid "%s: can't set debugging section contents: %s" -msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÏÔÌÁÄÏÞÎÏÇÏ ÒÁÚÄÅÌÁ: %s" +msgid "IEEE unsupported integer type size %u\n" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ÃÅÌÏÇÏ ÔÉÐÁ IEEE %u\n" -#: objcopy.c:2297 +#: ieee.c:5237 #, c-format -msgid "%s: don't know how to write debugging information for %s" -msgstr "%s: ÎÅ ÉÚ×ÅÓÔÎÏ, ËÁË ÚÁÐÉÓÁÔØ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ ÄÌÑ %s" +msgid "IEEE unsupported float type size %u\n" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ÔÉÐÁ Ó ÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ IEEE %u\n" -#: objcopy.c:2472 -msgid "byte number must be non-negative" -msgstr "ÎÏÍÅÒ ÂÁÊÔÁ ÄÏÌÖÅÎ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÙÍ" +#: ieee.c:5271 +#, c-format +msgid "IEEE unsupported complex type size %u\n" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÁÚÍÅÒ ËÏÍÐÌÅËÓÎÏÇÏ ÔÉÐÁ IEEE%u\n" -#: objcopy.c:2482 -msgid "interleave must be positive" -msgstr "ÞÅÒÅÄÏ×ÁÎÉÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" +#: nlmconv.c:269 srconv.c:1813 +msgid "input and output files must be different" +msgstr "×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÁÊÌÙ ÄÏÌÖÎÙ ÂÙÔØ ÒÁÚÌÉÞÎÙÍÉ" + +#: nlmconv.c:316 +msgid "input file named both on command line and with INPUT" +msgstr "×ÈÏÄÎÏÊ ÆÁÊÌ ÎÁÚ×ÁÎ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ É × INPUT" + +#: nlmconv.c:325 +msgid "no input file" +msgstr "ÎÅÔ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ" + +#: nlmconv.c:355 +msgid "no name for output file" +msgstr "ÎÅÔ ÉÍÅÎÉ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ" + +#: nlmconv.c:369 +msgid "warning: input and output formats are not compatible" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ" + +#: nlmconv.c:398 +msgid "make .bss section" +msgstr "ÓÏÚÄÁÎÉÅ ÒÁÚÄÅÌÁ .bss" -#: objcopy.c:2502 objcopy.c:2510 +#: nlmconv.c:407 +msgid "make .nlmsections section" +msgstr "ÓÏÚÄÁÎÉÅ ÒÁÚÄÅÌÁ .nlmsections" + +#: nlmconv.c:409 +msgid "set .nlmsections flags" +msgstr "ÕÓÔÁÎÏ×ËÁ ÆÌÁÇÏ× .nlmsections" + +#: nlmconv.c:437 +msgid "set .bss vma" +msgstr "ÕÓÔÁÎÏ×ËÁ .bss vma" + +#: nlmconv.c:444 +msgid "set .data size" +msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ .data" + +#: nlmconv.c:624 #, c-format -msgid "%s both copied and removed" -msgstr "ÏÂÁ %s ÓËÏÐÉÒÏ×ÁÎÙ É ÕÄÁÌÅÎÙ" +msgid "warning: symbol %s imported but not in import list" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÉÍ×ÏÌ %s ÉÍÐÏÒÔÉÒÏ×ÁÎ, ÎÏ ÅÇÏ ÎÅÔ × ÓÐÉÓËÅ ÉÍÐÏÒÔÁ" + +#: nlmconv.c:644 +msgid "set start address" +msgstr "ÕÓÔÁÎÏ×ËÁ ÎÁÞÁÌØÎÏÇÏ ÁÄÒÅÓÁ" -#: objcopy.c:2603 objcopy.c:2674 objcopy.c:2774 objcopy.c:2805 objcopy.c:2829 -#: objcopy.c:2833 objcopy.c:2853 +#: nlmconv.c:693 #, c-format -msgid "bad format for %s" -msgstr "ÐÌÏÈÏÊ ÆÏÒÍÁÔ ÄÌÑ %s" +msgid "warning: START procedure %s not defined" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: START-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" -#: objcopy.c:2624 +#: nlmconv.c:695 #, c-format -msgid "cannot open: %s: %s" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s: %s" +msgid "warning: EXIT procedure %s not defined" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: EXIT-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" -#: objcopy.c:2743 +#: nlmconv.c:697 #, c-format -msgid "Warning: truncating gap-fill from 0x%s to 0x%x" -msgstr "ðÒÅÄÕÐÒÅÖÅÄÎÉÅ: ÏÂÒÅÚÁÅÔÓÑ ÚÁÐÏÌÎÅÎÉÅ ÐÒÏÍÅÖÕÔËÁ ÏÔ 0x%s ÄÏ 0x%x" +msgid "warning: CHECK procedure %s not defined" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: CHECK-ÐÒÏÃÅÄÕÒÁ %s ÎÅ ÏÐÒÅÄÅÌÅÎÁ" -#: objcopy.c:2903 -msgid "alternate machine code index must be positive" -msgstr "ÉÎÄÅËÓ ÁÌØÔÅÒÎÁÔÉ×ÎÏÇÏ ËÏÄÁ ÍÁÛÉÎÙ ÄÏÌÖÅÎ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" +#: nlmconv.c:718 nlmconv.c:907 +msgid "custom section" +msgstr "ÒÁÚÄÅÌ custom" -#: objcopy.c:2961 -msgid "byte number must be less than interleave" -msgstr "ÎÏÍÅÒ ÂÁÊÔÁ ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ÞÅÒÅÄÏ×ÁÎÉÑ" +#: nlmconv.c:739 nlmconv.c:936 +msgid "help section" +msgstr "ÒÁÚÄÅÌ help" -#: objcopy.c:2991 -#, c-format -msgid "architecture %s unknown" -msgstr "ÁÒÈÉÔÅËÔÕÒÁ %s ÎÅ ÉÚ×ÅÓÔÎÁ" +#: nlmconv.c:761 nlmconv.c:954 +msgid "message section" +msgstr "ÒÁÚÄÅÌ message" -#: objcopy.c:2995 -msgid "Warning: input target 'binary' required for binary architecture parameter." -msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: 'Ä×ÏÉÞÎÙÊ' ÃÅÌÅ×ÏÊ ×ÈÏÄÎÏÊ ÆÁÊÌ ÔÒÅÂÕÅÔÓÑ ÄÌÑ ÐÁÒÁÍÅÔÒÁ Ä×ÏÉÞÎÏÊ ÁÒÈÉÔÅËÔÕÒÙ." +#: nlmconv.c:777 nlmconv.c:987 +msgid "module section" +msgstr "ÒÁÚÄÅÌ module" -#: objcopy.c:2996 -#, c-format -msgid " Argument %s ignored" -msgstr " áÒÇÕÍÅÎÔ %s ÐÒÏÐÕÝÅÎ" +#: nlmconv.c:797 nlmconv.c:1003 +msgid "rpc section" +msgstr "ÒÁÚÄÅÌ rpc" -#: objcopy.c:3002 +#. There is no place to record this information. +#: nlmconv.c:833 #, c-format -msgid "warning: could not locate '%s'. System error message: %s" -msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ '%s'. óÉÓÔÅÍÎÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ: %s" +msgid "%s: warning: shared libraries can not have uninitialized data" +msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÅ ÄÁÎÎÙÅ" -#: objcopy.c:3042 objcopy.c:3056 -#, c-format -msgid "%s %s%c0x%s never used" -msgstr "%s %s%c0x%s ÎÉËÏÇÄÁ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ" +#: nlmconv.c:854 nlmconv.c:1022 +msgid "shared section" +msgstr "ÒÁÚÄÅÌ shared" + +#: nlmconv.c:862 +msgid "warning: No version number given" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: îÅ ÕËÁÚÁÎ ÎÏÍÅÒ ×ÅÒÓÉÉ" -#: objdump.c:176 +#: nlmconv.c:902 nlmconv.c:931 nlmconv.c:949 nlmconv.c:998 nlmconv.c:1017 #, c-format -msgid "Usage: %s \n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s <ÏÐÃÉÉ> <ÆÁÊÌ(Ù)>\n" +msgid "%s: read: %s" +msgstr "%s: ÞÔÅÎÉÅ: %s" + +#: nlmconv.c:924 +msgid "warning: FULLMAP is not supported; try ld -M" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: FULLMAP ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ; ÐÏÐÒÏÂÕÊÔÅ ld -M" -#: objdump.c:177 +#: nlmconv.c:1100 #, c-format -msgid " Display information from object .\n" -msgstr " ïÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÏÂßÅËÔÁ <ÆÁÊÌ(Ù)>.\n" +msgid "Usage: %s [option(s)] [in-file [out-file]]\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [in-ÆÁÊÌ [out-ÆÁÊÌ]]\n" -#: objdump.c:178 +#: nlmconv.c:1101 #, c-format -msgid " At least one of the following switches must be given:\n" -msgstr " äÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÏÄÉÎ ÉÚ ÓÌÅÄÕÀÝÉÈ ËÌÀÞÅÊ:\n" +msgid " Convert an object file into a NetWare Loadable Module\n" +msgstr " ëÏÎ×ÅÒÔÉÒÕÅÔ ÏÂßÅËÔÎÙÊ ÆÁÊÌ × ÚÁÇÒÕÖÁÅÍÙÊ ÍÏÄÕÌØ ÓÉÓÔÅÍÙ NetWare\n" -#: objdump.c:179 +#: nlmconv.c:1102 #, c-format msgid "" -" -a, --archive-headers Display archive header information\n" -" -f, --file-headers Display the contents of the overall file header\n" -" -p, --private-headers Display object format specific file header contents\n" -" -h, --[section-]headers Display the contents of the section headers\n" -" -x, --all-headers Display the contents of all headers\n" -" -d, --disassemble Display assembler contents of executable sections\n" -" -D, --disassemble-all Display assembler contents of all sections\n" -" -S, --source Intermix source code with disassembly\n" -" -s, --full-contents Display the full contents of all sections requested\n" -" -g, --debugging Display debug information in object file\n" -" -e, --debugging-tags Display debug information using ctags style\n" -" -G, --stabs Display (in raw form) any STABS info in the file\n" -" -t, --syms Display the contents of the symbol table(s)\n" -" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" -" -r, --reloc Display the relocation entries in the file\n" -" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" -" -v, --version Display this program's version number\n" -" -i, --info List object formats and architectures supported\n" -" -H, --help Display this information\n" +" The options are:\n" +" -I --input-target= Set the input binary file format\n" +" -O --output-target= Set the output binary file format\n" +" -T --header-file= Read for NLM header information\n" +" -l --linker= Use for any linking\n" +" -d --debug Display on stderr the linker command line\n" +" @ Read options from .\n" +" -h --help Display this information\n" +" -v --version Display the program's version\n" msgstr "" -" -a, --archive-headers ÷Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ ÚÁÇÏÌÏ×ËÁ ÁÒÈÉ×Á\n" -" -f, --file-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÁ ×ÓÅÇÏ ÆÁÊÌÁ\n" -" -p, --private-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÁ ÆÁÊÌÁ, ÓÐÅÃÉÆÉÞÎÏÇÏ ÄÌÑ ÆÏÒÍÁÔÁ ÏÂßÅËÔÁ\n" -" -h, --[section-]headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÏ×\n" -" -x, --all-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ×ÓÅÈ ÚÁÇÏÌÏ×ËÏ×\n" -" -d, --disassemble ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÁÓÓÅÍÂÌÅÒÁ ÉÓÐÏÌÎÑÅÍÙÈ ÒÁÚÄÅÌÏ×\n" -" -D, --disassemble-all ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÁÓÓÅÍÂÌÅÒÁ ×ÓÅÈ ÒÁÚÄÅÌÏ×\n" -" -S, --source ðÅÒÅÍÅÛÁÔØ ÉÓÈÏÄÎÙÊ ËÏÄ Ó ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅÍ\n" -" -s, --full-contents ÷Ù×ÅÓÔÉ ÐÏÌÎÏÅ ÓÏÄÅÒÖÉÍÏÅ ×ÓÅÈ ÚÁÐÒÏÛÅÎÎÙÈ ÒÁÚÄÅÌÏ×\n" -" -g, --debugging ÷Ù×ÅÓÔÉ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ × ÏÂßÅËÔÎÏÍ ÆÁÊÌÅ\n" -" -e, --debugging-tags ÷Ù×ÅÓÔÉ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ × ÓÔÉÌÅ ctags\n" -" -G, --stabs ÷Ù×ÅÓÔÉ (× ÓÙÒÏÊ ÆÏÒÍÅ) ÌÀÂÕÀ ÉÎÆÏÒÍÁÃÉÀ STABS × ÆÁÊÌÅ\n" -" -t, --syms ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÔÁÂÌÉÃ(Ù) ÓÉÍ×ÏÌÏ×\n" -" -T, --dynamic-syms ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÔÁÂÌÉÃÙ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" -" -r, --reloc ÷Ù×ÅÓÔÉ ÐÕÎËÔÙ ÐÅÒÅÍÅÝÅÎÉÑ × ÆÁÊÌÅ\n" -" -R, --dynamic-reloc ÷Ù×ÅÓÔÉ ÐÕÎËÔÙ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÐÅÒÅÍÅÝÅÎÉÑ × ÆÁÊÌÅ\n" -" -v, --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" -" -i, --info ÷Ù×ÅÓÔÉ ÓÐÉÓÏË ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÆÏÒÍÁÔÏ× ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒ\n" -" -H, --help ÷Ù×ÅÓÔÉ ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ\n" +" ïÐÃÉÉ:\n" +" -I --input-target= õÓÔÁÎÏ×ËÁ ÆÏÒÍÁÔÁ ×ÈÏÄÎÏÇÏ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" +" -O --output-target= õÓÔÁÎÏ×ËÁ ÆÏÒÍÁÔÁ ×ÙÈÏÄÎÏÇÏ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" +" -T --header-file=<ÆÁÊÌ> þÔÅÎÉÅ <ÆÁÊÌÁ> Ó ÉÎÆÏÒÍÁÃÉÅÊ ÚÁÇÏÌÏ×ËÁ NLM\n" +" -l --linker=<ËÏÍÐÏÎÏ×ÝÉË> éÓÐÏÌØÚÏ×ÁÎÉÅ <ËÏÍÐÏÎÏ×ÝÉËÁ> ÄÌÑ ÌÀÂÏÇÏ Ó×ÑÚÙ×ÁÎÉÑ\n" +" -d --debug ÷Ù×ÏÄ ÎÁ stderr ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ËÏÍÐÏÎÏ×ÝÉËÁ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" +" -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" +" -v --version ÷Ù×ÏÄ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" -#: objdump.c:202 +#: nlmconv.c:1143 #, c-format -msgid "" -"\n" -" The following switches are optional:\n" -msgstr "" -"\n" -" óÌÅÄÕÀÝÉÅ ËÌÀÞÉ Ñ×ÌÑÀÔÓÑ ÏÐÃÉÏÎÁÌØÎÙÍÉ:\n" +msgid "support not compiled in for %s" +msgstr "ÏÔËÏÍÐÉÌÉÒÏ×ÁÎ ÂÅÚ ÐÏÄÄÅÒÖËÉ %s" -#: objdump.c:203 -#, c-format -msgid "" -" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" -" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" -" -j, --section=NAME Only display information for section NAME\n" -" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" -" -EB --endian=big Assume big endian format when disassembling\n" -" -EL --endian=little Assume little endian format when disassembling\n" -" --file-start-context Include context from start of file (with -S)\n" -" -I, --include=DIR Add DIR to search list for source files\n" -" -l, --line-numbers Include line numbers and filenames in output\n" -" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" -" The STYLE, if specified, can be `auto', `gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" -w, --wide Format output for more than 80 columns\n" -" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" -" --start-address=ADDR Only process data whose address is >= ADDR\n" -" --stop-address=ADDR Only process data whose address is <= ADDR\n" -" --prefix-addresses Print complete address alongside disassembly\n" -" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" -" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" -" --special-syms Include special symbols in symbol dumps\n" -"\n" -msgstr "" -" -b, --target=BFD-éíñ õËÁÚÁÔØ ÃÅÌÅ×ÏÊ ÆÏÒÍÁÔ ÏÂßÅËÔÁ ËÁË BFD-éíñ\n" -" -m, --architecture=íáûéîá õËÁÚÁÔØ ÃÅÌÅ×ÕÀ ÁÒÈÉÔÅËÔÕÒÕ ËÁË íáûéîá\n" -" -j, --section=éíñ ÷Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ ÔÏÌØËÏ ÄÌÑ ÒÁÚÄÅÌÁ éíñ\n" -" -M, --disassembler-options=OPT ðÅÒÅÄÁÔØ ÔÅËÓÔ OPT × ÄÉÚÁÓÓÅÍÂÌÅÒ\n" -" -EB --endian=big ðÒÅÄÐÏÌÏÖÉÔØ ÆÏÒÍÁÔ big endian ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" -" -EL --endian=little ðÒÅÄÐÏÌÏÖÉÔØ ÆÏÒÍÁÔ little endian ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" -" --file-start-context ÷ËÌÀÞÉÔØ ËÏÎÔÅËÓÔ ÉÚ ÎÁÞÁÌÁ ÆÁÊÌÁ (Ó -S)\n" -" -I, --include=ëáô äÏÂÁ×ÉÔØ ëáôÁÌÏÇ × ÓÐÉÓÏË ÐÏÉÓËÁ ÉÓÈÏÄÎÙÈ ÆÁÊÌÏ×\n" -" -l, --line-numbers ÷ËÌÀÞÉÔØ ÎÏÍÅÒÁ ÓÔÒÏË É ÉÍÅÎÁ ÆÁÊÌÏ× ÎÁ ×Ù×ÏÄÅ\n" -" -C, --demangle[=óôéìø] äÅËÏÄÉÒÏ×ÁÔØ ÓËÏÒÒÅËÔÉÒÏ×ÁÎÎÙÅ/ÏÂÒÁÂÏÔÁÎÎÙÅ ÉÍÅÎÁ ÓÉÍ×ÏÌÏ×\n" -" óôéìø, ÅÓÌÉ ÕËÁÚÁÎ, ÍÏÖÅÔ ÂÙÔØ `auto', `gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" ÉÌÉ `gnat'\n" -" -w, --wide æÏÒÍÁÔÉÒÏ×ÁÔØ ×Ù×ÏÄ ÄÌÑ ÂÏÌÅÅ,šÞÅÍ 80 ËÏÌÏÎÏË\n" -" -z, --disassemble-zeroes îÅ ÐÒÏÐÕÓËÁÔØ ÂÌÏËÉ ÎÕÌÅÊ ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" -" --start-address=áäòåó ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÄÁÎÎÙÅ, ÁÄÒÅÓ ËÏÔÏÒÙÈ >= áäòåó\n" -" --stop-address=áäòåó ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÄÁÎÎÙÅ, ÁÄÒÅÓ ËÏÔÏÒÙÈ <= áäòåó\n" -" --prefix-addresses ÷Ù×ÅÓÔÉ ÐÏÌÎÙÊ ÁÄÒÅÓ ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" -" --[no-]show-raw-insn ÷Ù×ÅÓÔÉ hex ÐÒÉ ÓÉÍ×ÏÌÉÞÅÓËÏÍ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" -" --adjust-vma=óíåýåîéå äÏÂÁ×ÉÔØ óíåýåîéå ËÏ ×ÓÅÍ ÁÄÒÅÓÁÍ ×Ù×ÏÄÉÍÙÈ ÒÁÚÄÅÌÏ×\n" -" --special-syms ÷ËÌÀÞÉÔØ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌÙ × ÄÁÍÐÙ ÓÉÍ×ÏÌÏ×\n" -"\n" +#: nlmconv.c:1180 +msgid "make section" +msgstr "ÒÁÚÄÅÌ make" -#: objdump.c:378 -#, c-format -msgid "Sections:\n" -msgstr "òÁÚÄÅÌÙ:\n" +#: nlmconv.c:1194 +msgid "set section size" +msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ ÒÁÚÄÅÌÁ" -#: objdump.c:381 objdump.c:385 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "éÎÄ éÍÑ òÁÚÍÅÒ VMA LMA æÁÊÌ ÷ÙÒÁ×" +#: nlmconv.c:1200 +msgid "set section alignment" +msgstr "ÕÓÔÁÎÏ×ËÁ ÏÒÉÅÎÔÁÃÉÉ ÒÁÚÄÅÌÁ" -#: objdump.c:387 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "éÎÄ éÍÑ òÁÚÍÅÒ VMA LMA æÁÊÌ ÷ÙÒÁ×" +#: nlmconv.c:1204 +msgid "set section flags" +msgstr "ÕÓÔÁÎÏ×ËÁ ÆÌÁÇÏ× ÒÁÚÄÅÌÁ" + +#: nlmconv.c:1215 +msgid "set .nlmsections size" +msgstr "ÕÓÔÁÎÏ×ËÁ ÒÁÚÍÅÒÁ .nlmsections" + +#: nlmconv.c:1296 nlmconv.c:1304 nlmconv.c:1313 nlmconv.c:1318 +msgid "set .nlmsection contents" +msgstr "ÕÓÔÁÎÏ×ËÁ ÓÏÄÅÒÖÉÍÏÇÏ .nlmsections" + +#: nlmconv.c:1797 +msgid "stub section sizes" +msgstr "ÒÁÚÍÅÒÙ ÒÁÚÄÅÌÁ ÚÁÇÌÕÛËÉ" + +#: nlmconv.c:1844 +msgid "writing stub" +msgstr "ÚÁÐÉÓÙ×ÁÅÔÓÑ ÚÁÇÌÕÛËÁ" -#: objdump.c:391 +#: nlmconv.c:1928 #, c-format -msgid " Flags" -msgstr " æÌÁÇÉ" +msgid "unresolved PC relative reloc against %s" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÏÔÎÏÓÉÔÅÌØÎÏÅ ÐÅÒÅÍÅÝÅÎÉÅ ÐÏ ÓÞÅÔÞÉËÕ ËÏÍÁÎÄ × %s" -#: objdump.c:393 +#: nlmconv.c:1992 #, c-format -msgid " Pg" -msgstr " óÔÒ" +msgid "overflow when adjusting relocation against %s" +msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÐÒÉ ÒÅÇÕÌÉÒÏ×ËÅ ÐÅÒÅÍÅÝÅÎÉÑ × %s" -#: objdump.c:436 +#: nlmconv.c:2119 #, c-format -msgid "%s: not a dynamic object" -msgstr "%s: ÎÅ ÄÉÎÁÍÉÞÅÓËÉÊ ÏÂßÅËÔ" +msgid "%s: execution of %s failed: " +msgstr "%s: ×ÙÐÏÌÎÅÎÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ: " -#: objdump.c:1722 +#: nlmconv.c:2134 #, c-format -msgid "Disassembly of section %s:\n" -msgstr "äÉÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÒÁÚÄÅÌÁ %s:\n" +msgid "Execution of %s failed" +msgstr "÷ÙÐÏÌÎÅÎÉÅ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ" -#: objdump.c:1884 +#: nm.c:224 size.c:82 strings.c:708 #, c-format -msgid "Can't use supplied machine %s" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÅÄÓÔÁ×ÌÅÎÎÕÀ ÍÁÛÉÎÕ %s" +msgid "Usage: %s [option(s)] [file(s)]\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [ÆÁÊÌ(Ù)]\n" -#: objdump.c:1903 +#: nm.c:225 #, c-format -msgid "Can't disassemble for architecture %s\n" -msgstr "äÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÎÅ×ÏÚÍÏÖÎÏ ÄÌÑ ÁÒÈÉÔÅËÔÕÒÙ %s\n" +msgid " List symbols in [file(s)] (a.out by default).\n" +msgstr " ÷Ù×ÏÄÉÔ ÓÐÉÓÏË ÓÉÍ×ÏÌÏ× × [ÆÁÊÌ(Ù)] (ÐÏ ÕÍÏÌÞÁÎÉÀ × a.out).\n" -#: objdump.c:1973 +#: nm.c:226 #, c-format msgid "" -"No %s section present\n" +" The options are:\n" +" -a, --debug-syms Display debugger-only symbols\n" +" -A, --print-file-name Print name of the input file before every symbol\n" +" -B Same as --format=bsd\n" +" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" +" The STYLE, if specified, can be `auto' (the default),\n" +" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" --no-demangle Do not demangle low-level symbol names\n" +" -D, --dynamic Display dynamic symbols instead of normal symbols\n" +" --defined-only Display only defined symbols\n" +" -e (ignored)\n" +" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" +" `sysv' or `posix'. The default is `bsd'\n" +" -g, --extern-only Display only external symbols\n" +" -l, --line-numbers Use debugging information to find a filename and\n" +" line number for each symbol\n" +" -n, --numeric-sort Sort symbols numerically by address\n" +" -o Same as -A\n" +" -p, --no-sort Do not sort the symbols\n" +" -P, --portability Same as --format=posix\n" +" -r, --reverse-sort Reverse the sense of the sort\n" +" -S, --print-size Print size of defined symbols\n" +" -s, --print-armap Include index for symbols from archive members\n" +" --size-sort Sort symbols by size\n" +" --special-syms Include special symbols in the output\n" +" --synthetic Display synthetic symbols as well\n" +" -t, --radix=RADIX Use RADIX for printing symbol values\n" +" --target=BFDNAME Specify the target object format as BFDNAME\n" +" -u, --undefined-only Display only undefined symbols\n" +" -X 32_64 (ignored)\n" +" @FILE Read options from FILE\n" +" -h, --help Display this information\n" +" -V, --version Display this program's version number\n" "\n" msgstr "" -"òÁÚÄÅÌ %s ÏÔÓÕÔÓÔ×ÕÅÔ\n" +" ïÐÃÉÉ:\n" +" -a, --debug-syms ÷Ù×ÏÄ ÔÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" -A, --print-file-name ÷Ù×ÏÄ ÉÍÅÎÉ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ ÐÅÒÅÄ ËÁÖÄÙÍ ÓÉÍ×ÏÌÏÍ\n" +" -B ôÏ ÖÅ, ÞÔÏ É --format=bsd\n" +" -C, --demangle[=óôéìø] äÅËÏÄÉÒÏ×ÁÎÉÅ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÈ ÉÍÅÎ ÓÉÍ×ÏÌÏ× × ÉÍÅÎÁ\n" +" ÕÒÏ×ÎÑ ÐÏÌØÚÏ×ÁÔÅÌÑ\n" +" óôéìø, ÅÓÌÉ ÕËÁÚÁÎ, ÍÏÖÅÔ ÂÙÔØ `auto' (ÐÏ ÕÍÏÌÞÁÎÉÀ),\n" +" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" ÉÌÉ `gnat'\n" +" --no-demangle îÅ ÄÅËÏÄÉÒÏ×ÁÔØ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÅ ÉÍÅÎÁ ÓÉÍ×ÏÌÏ×\n" +" -D, --dynamic ÷Ù×ÏÄ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ× ×ÍÅÓÔÏ ÎÏÒÍÁÌØÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" --defined-only ÷Ù×ÏÄ ÔÏÌØËÏ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" -e (ÐÒÏÐÕÝÅÎÁ)\n" +" -f, --format=æïòíáô éÓÐÏÌØÚÏ×ÁÎÉÅ æïòíáô × ËÁÞÅÓÔ×Å ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ.\n" +" æïòíáô ÍÏÖÅÔ ÂÙÔØ `bsd', `sysv' ÉÌÉ `posix'.\n" +" ðÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ `bsd'.\n" +" -g, --extern-only ÷Ù×ÏÄ ÔÏÌØËÏ ×ÎÅÛÎÉÈ ÓÉÍ×ÏÌÏ×\n" +" -l, --line-numbers éÓÐÏÌØÚÏ×ÁÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÄÌÑ ÎÁÈÏÖÄÅÎÉÑ\n" +" ÉÍÅÎÉ ÆÁÊÌÁ É ÎÏÍÅÒÁ ÓÔÒÏËÉ ÄÌÑ ËÁÖÄÏÇÏ ÓÉÍ×ÏÌÁ\n" +" -n, --numeric-sort óÏÒÔÉÒÏ×ËÁ ÓÉÍ×ÏÌÏ× ÐÏ ÁÄÒÅÓÕ\n" +" -o ôÏ ÖÅ, ÞÔÏ É -A\n" +" -p, --no-sort âÅÚ ÓÏÒÔÉÒÏ×ËÉ ÓÉÍ×ÏÌÏ×\n" +" -P, --portability ôÏ ÖÅ, ÞÔÏ É --format=posix\n" +" -r, --reverse-sort óÏÒÔÉÒÏ×ËÁ × ÏÂÒÁÔÎÏÍ ÐÏÒÑÄËÅ\n" +" -S, --print-size ÷Ù×ÏÄ ÒÁÚÍÅÒÁ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" -s, --print-armap ÷ËÌÀÞÅÎÉÅ ÉÎÄÅËÓÁ ÄÌÑ ÓÉÍ×ÏÌÏ× ÉÚ ÞÌÅÎÏ× ÁÒÈÉ×Á\n" +" --size-sort óÏÒÔÉÒÏ×ËÁ ÓÉÍ×ÏÌÏ× ÐÏ ÒÁÚÍÅÒÕ\n" +" --special-syms ÷ËÌÀÞÅÎÉÅ ÓÐÅÃÉÁÌØÎÙÈ ÓÉÍ×ÏÌÏ× × ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ\n" +" --synthetic ÷Ù×ÏÄ ÔÁËÖÅ ÓÉÎÔÅÔÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" +" -t, --radix=RADIX éÓÐÏÌØÚÏ×ÁÎÉÅ RADIX ÄÌÑ ×Ù×ÏÄÁ ÚÎÁÞÅÎÉÊ ÓÉÍ×ÏÌÏ×\n" +" --target=BFD-éíñ õËÁÚÁÎÉÅ ÃÅÌÅ×ÏÇÏ ÆÏÒÍÁÔÁ ÏÂßÅËÔÁ ËÁË BFD-éíñ\n" +" -u, --undefined-only ÷Ù×ÏÄ ÔÏÌØËÏ ÎÅ ÏÐÒÅÄÅÌÅÎÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" -X 32_64 (ÐÒÏÐÕÝÅÎÁ)\n" +" @æáêì þÉÔÁÔØ ÏÐÃÉÉ ÉÚ æáêìá\n" +" -h, --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" +" -V, --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" "\n" -#: objdump.c:1982 +#: nm.c:263 objdump.c:236 #, c-format -msgid "Reading %s section of %s failed: %s" -msgstr "þÔÅÎÉÅ %s ÒÁÚÄÅÌÁ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ: %s" +msgid "Report bugs to %s.\n" +msgstr "ïÔÞ£ÔÙ Ï ÏÛÉÂËÁÈ ÏÔÐÒÁ×ÌÑÊÔÅ × %s\n" -#: objdump.c:2026 +#: nm.c:295 #, c-format -msgid "" -"Contents of %s section:\n" -"\n" -msgstr "" -"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" -"\n" +msgid "%s: invalid radix" +msgstr "%s: ÎÅ×ÅÒÎÙÊ radix" -#: objdump.c:2153 +#: nm.c:319 #, c-format -msgid "architecture: %s, " -msgstr "ÁÒÈÉÔÅËÔÕÒÁ: %s, " +msgid "%s: invalid output format" +msgstr "%s: ÎÅ×ÅÒÎÙÊ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ" -#: objdump.c:2156 +#: nm.c:340 readelf.c:6623 readelf.c:6659 #, c-format -msgid "flags 0x%08x:\n" -msgstr "ÆÌÁÇÉ 0x%08x:\n" +msgid ": %d" +msgstr "<ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ>: %d" + +#: nm.c:342 readelf.c:6626 readelf.c:6671 +#, c-format +msgid ": %d" +msgstr "<ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó>: %d" + +#: nm.c:344 readelf.c:6628 readelf.c:6674 +#, c-format +msgid ": %d" +msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %d" -#: objdump.c:2170 +#: nm.c:381 #, c-format msgid "" "\n" -"start address 0x" +"Archive index:\n" msgstr "" "\n" -"ÎÁÞÁÌØÎÙÊ ÁÄÒÅÓ 0x" +"éÎÄÅËÓ ÁÒÈÉ×Á:\n" -#: objdump.c:2210 +#: nm.c:1227 #, c-format -msgid "Contents of section %s:\n" -msgstr "óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" +msgid "" +"\n" +"\n" +"Undefined symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"îÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ %s:\n" +"\n" -#: objdump.c:2335 +#: nm.c:1229 #, c-format -msgid "no symbols\n" -msgstr "ÎÅÔ ÓÉÍ×ÏÌÏ×\n" +msgid "" +"\n" +"\n" +"Symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"óÉÍ×ÏÌÙ ÉÚ %s:\n" +"\n" -#: objdump.c:2342 +#: nm.c:1231 nm.c:1282 #, c-format -msgid "no information for symbol number %ld\n" -msgstr "ÎÅÔ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÉÍ×ÏÌÅ ÎÏÍÅÒ %ld\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"éÍÑ úÎÁÞ. ëÌÁÓÓ ôÉÐ òÁÚÍÅÒ óÔÒÏËÁ òÁÚÄÅÌ\n" +"\n" -#: objdump.c:2345 +#: nm.c:1234 nm.c:1285 #, c-format -msgid "could not determine the type of symbol number %ld\n" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÓÉÍ×ÏÌÁ ÎÏÍÅÒ %ld\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"éÍÑ úÎÁÞ. ëÌÁÓÓ ôÉÐ òÁÚÍÅÒ óÔÒÏËÁ òÁÚÄÅÌ\n" +"\n" -#: objdump.c:2611 +#: nm.c:1278 #, c-format msgid "" "\n" -"%s: file format %s\n" +"\n" +"Undefined symbols from %s[%s]:\n" +"\n" msgstr "" "\n" -"%s: ÆÏÒÍÁÔ ÆÁÊÌÁ %s\n" +"\n" +"îÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ %s[%s]:\n" +"\n" -#: objdump.c:2662 +#: nm.c:1280 #, c-format -msgid "%s: printing debugging information failed" -msgstr "%s: ×Ù×ÏÄ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ" +msgid "" +"\n" +"\n" +"Symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"óÉÍ×ÏÌÙ ÉÚ %s[%s]:\n" +"\n" -#: objdump.c:2753 -#, c-format -msgid "In archive %s:\n" -msgstr "÷ ÁÒÈÉ×Å %s:\n" +#: nm.c:1584 +msgid "Only -X 32_64 is supported" +msgstr "ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ -X 32_64" -#: objdump.c:2873 -msgid "unrecognized -E option" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÐÃÉÑ -E" +#: nm.c:1604 +msgid "Using the --size-sort and --undefined-only options together" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ×ÍÅÓÔÅ ÏÐÃÉÊ --size-sort É --undefined-only" -#: objdump.c:2884 +#: nm.c:1605 +msgid "will produce no output, since undefined symbols have no size." +msgstr "ÎÅ ÄÁÓÔ ×ÙÈÏÄÎÙÈ ÄÁÎÎÙÈ, Ô.Ë. ÎÅÏÐÒÅÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÙ ÎÅ ÉÍÅÀÔ ÒÁÚÍÅÒÁ." + +#: nm.c:1633 #, c-format -msgid "unrecognized --endian type `%s'" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ --endian ÔÉÐ `%s'" +msgid "data size %ld" +msgstr "ÒÁÚÍÅÒ ÄÁÎÎÙÈ %ld" -#: rdcoff.c:196 +#: objcopy.c:401 srconv.c:1721 #, c-format -msgid "parse_coff_type: Bad type code 0x%x" -msgstr "parse_coff_type: ðÌÏÈÏÊ ËÏÄ ÔÉÐÁ 0x%x" +msgid "Usage: %s [option(s)] in-file [out-file]\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] in-ÆÁÊÌ [out-ÆÁÊÌ]\n" -#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 +#: objcopy.c:402 #, c-format -msgid "bfd_coff_get_syment failed: %s" -msgstr "bfd_coff_get_syment ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %s" +msgid " Copies a binary file, possibly transforming it in the process\n" +msgstr " ëÏÐÉÒÕÅÔ Ä×ÏÉÞÎÙÊ ÆÁÊÌ, ×ÏÚÍÏÖÎÏ, ÐÒÅÏÂÒÁÚÏ×Ù×ÁÑ ÅÇÏ × ÐÒÏÃÅÓÓÅ\n" -#: rdcoff.c:420 rdcoff.c:717 +#: objcopy.c:403 objcopy.c:495 #, c-format -msgid "bfd_coff_get_auxent failed: %s" -msgstr "bfd_coff_get_auxent ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %s" +msgid " The options are:\n" +msgstr " ïÐÃÉÉ:\n" -#: rdcoff.c:784 +#: objcopy.c:404 #, c-format -msgid "%ld: .bf without preceding function" -msgstr "%ld: .bf ÂÅÚ ÐÒÅÄÛÅÓÔ×ÕÀÝÅÊ ÆÕÎËÃÉÉ" +msgid "" +" -I --input-target Assume input file is in format \n" +" -O --output-target Create an output file in format \n" +" -B --binary-architecture Set arch of output file, when input is binary\n" +" -F --target Set both input and output format to \n" +" --debugging Convert debugging information, if possible\n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -j --only-section Only copy section into the output\n" +" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" +" -R --remove-section Remove section from the output\n" +" -S --strip-all Remove all symbol and relocation information\n" +" -g --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" -N --strip-symbol Do not copy symbol \n" +" --strip-unneeded-symbol \n" +" Do not copy symbol unless needed by\n" +" relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -K --keep-symbol Do not strip symbol \n" +" -L --localize-symbol Force symbol to be marked as a local\n" +" --globalize-symbol Force symbol to be marked as a global\n" +" -G --keep-global-symbol Localize all symbols except \n" +" -W --weaken-symbol Force symbol to be marked as a weak\n" +" --weaken Force all global symbols to be marked as weak\n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -i --interleave Only copy one out of every bytes\n" +" -b --byte Select byte in every interleaved block\n" +" --gap-fill Fill gaps between sections with \n" +" --pad-to Pad the last section up to address \n" +" --set-start Set the start address to \n" +" {--change-start|--adjust-start} \n" +" Add to the start address\n" +" {--change-addresses|--adjust-vma} \n" +" Add to LMA, VMA and start addresses\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" Change LMA and VMA of section by \n" +" --change-section-lma {=|+|-}\n" +" Change the LMA of section by \n" +" --change-section-vma {=|+|-}\n" +" Change the VMA of section by \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" Warn if a named section does not exist\n" +" --set-section-flags =\n" +" Set section 's properties to \n" +" --add-section = Add section found in to output\n" +" --rename-section =[,] Rename section to \n" +" --change-leading-char Force output format's leading character style\n" +" --remove-leading-char Remove leading character from global symbols\n" +" --redefine-sym = Redefine symbol name to \n" +" --redefine-syms --redefine-sym for all symbol pairs \n" +" listed in \n" +" --srec-len Restrict the length of generated Srecords\n" +" --srec-forceS3 Restrict the type of generated Srecords to S3\n" +" --strip-symbols -N for all symbols listed in \n" +" --strip-unneeded-symbols \n" +" --strip-unneeded-symbol for all symbols listed\n" +" in \n" +" --keep-symbols -K for all symbols listed in \n" +" --localize-symbols -L for all symbols listed in \n" +" --globalize-symbols --globalize-symbol for all in \n" +" --keep-global-symbols -G for all symbols listed in \n" +" --weaken-symbols -W for all symbols listed in \n" +" --alt-machine-code Use alternate machine code for output\n" +" --writable-text Mark the output text as writable\n" +" --readonly-text Make the output text write protected\n" +" --pure Mark the output file as demand paged\n" +" --impure Mark the output file as impure\n" +" --prefix-symbols Add to start of every symbol name\n" +" --prefix-sections Add to start of every section name\n" +" --prefix-alloc-sections \n" +" Add to start of every allocatable\n" +" section name\n" +" -v --verbose List all object files modified\n" +" @ Read options from \n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +msgstr "" +" -I --input-target ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ×ÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" +" -O --output-target óÏÚÄÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" +" -B --binary-architecture <ÁÒÈ> õÓÔÁÎÏ×ÉÔØ ÁÒÈÉÔÅËÔÕÒÕ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ, ËÏÇÄÁ ×ÈÏÄÎÏÊ ÆÁÊÌ Ä×ÏÉÞÎÙÊ\n" +" -F --target õÓÔÁÎÏ×ÉÔØ ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ × \n" +" --debugging ðÒÅÏÂÒÁÚÏ×ÁÔØ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÅÓÌÉ ÜÔÏ ×ÏÚÍÏÖÎÏ\n" +" -p --preserve-dates ëÏÐÉÒÏ×ÁÔØ ×ÒÅÍÑ ÍÏÄÉÆÉËÁÃÉÉ/ÄÏÓÔÕÐÁ ÎÁ ×Ù×ÏÄ\n" +" -j --only-section <ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÎÁ ×Ù×ÏÄ\n" +" --add-gnu-debuglink=<ÆÁÊÌ> äÏÂÁ×ÌÅÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÒÁÚÄÅÌÁ .gnu_debuglink × <ÆÁÊÌ>\n" +" -R --remove-section <ÉÍÑ> õÄÁÌÉÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÉÚ ×Ù×ÏÄÁ\n" +" -S --strip-all õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ É ÉÎÆÏÒÍÁÃÉÀ Ï ÐÅÒÅÍÅÝÅÎÉÉ\n" +" -g --strip-debug õÄÁÌÉÔØ ×ÓÅ ÏÔÌÁÄÏÞÎÙÅ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ\n" +" --strip-unneeded õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ, ÎÅ ÎÕÖÎÙÅ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" +" -N --strip-symbol <ÉÍÑ> îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>\n" +" --strip-unneeded-symbol <ÉÍÑ>\n" +" îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>, ÅÓÌÉ ÎÅ ÎÕÖÅÎ ÄÌÑ\n" +" ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" +" --only-keep-debug ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ\n" +" -K --keep-symbol <ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌ <ÉÍÑ>\n" +" -L --localize-symbol <ÉÍÑ> ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÞÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ> ËÁË ÌÏËÁÌØÎÙÊ\n" +" -G --keep-global-symbol <ÉÍÑ> ìÏËÁÌÉÚÏ×ÁÔØ ×ÓÅ ÓÉÍ×ÏÌÙ ËÒÏÍÅ <ÉÍÑ>\n" +" -W --weaken-symbol <ÉÍÑ> ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÔÉÔØ ÓÉÍ×ÏÌ <ÉÍÑ> ËÁË ÓÌÁÂÙÊ\n" +" --weaken ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÏÍÅÔÉÔØ ÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ ËÁË ÓÌÁÂÙÅ\n" +" -w --wildcard òÁÚÒÅÛÉÔØ ÍÁÓËÕ ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÓÉÍ×ÏÌÏ×\n" +" -x --discard-all õÄÁÌÉÔØ ×ÓÅ ÎÅÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ\n" +" -X --discard-locals õÄÁÌÉÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ËÏÍÐÉÌÑÔÏÒÏÍ\n" +" -i --interleave <ÞÉÓÌÏ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÏÄÉÎ ÂÁÊÔ ÞÅÒÅÚ ËÁÖÄÏÅ <ÞÉÓÌÏ> ÂÁÊÔ\n" +" -b --byte <ÎÏÍÅÒ> ÷ÙÂÒÁÔØ ÂÁÊÔ <ÎÏÍÅÒ> × ËÁÖÄÏÍ ÞÅÒÅÄÕÀÝÅÍÓÑ ÂÌÏËÅ\n" +" --gap-fill <ÚÎÁÞÅÎÉÅ> úÁÐÏÌÎÉÔØ ÐÒÏÍÅÖÕÔËÉ ÍÅÖÄÕ ÒÁÚÄÅÌÁÍÉ <ÚÎÁÞÅÎÉÅÍ>\n" +" --pad-to <ÁÄÒÅÓ> úÁÐÏÌÎÉÔØ ÐÏÓÌÅÄÎÉÊ ÒÁÚÄÅÌ ÄÏ ÁÄÒÅÓÁ <ÁÄÒÅÓ>\n" +" --set-start <ÁÄÒÅÓ> õÓÔÁÎÏ×ÉÔØ ÎÁÞÁÌØÎÙÊ ÁÄÒÅÓ × <ÁÄÒÅÓ>\n" +" {--change-start|--adjust-start} <ÐÒÉÒÁÝÅÎÉÅ>\n" +" äÏÂÁ×ÉÔØ <ÐÒÉÒÁÝÅÎÉÅ> Ë ÎÁÞÁÌØÎÏÍÕ ÁÄÒÅÓÕ\n" +" {--change-addresses|--adjust-vma} <ÐÒÉÒÁÝÅÎÉÅ>\n" +" äÏÂÁ×ÉÔØ <ÐÒÉÒÁÝÅÎÉÅ> Ë LMA, VMA É ÎÁÞÁÌØÎÏÍÕ ÁÄÒÅÓÁÍ\n" +" {--change-section-address|--adjust-section-vma} <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" +" éÚÍÅÎÉÔØ LMA É VMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" +" --change-section-lma <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" +" éÚÍÅÎÉÔØ LMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" +" --change-section-vma <ÉÍÑ>{=|+|-}<ÚÎÁÞÅÎÉÅ>\n" +" éÚÍÅÎÉÔØ VMA ÒÁÚÄÅÌÁ <ÉÍÑ> ÎÁ <ÚÎÁÞÅÎÉÅ>\n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" ðÒÅÄÕÐÒÅÄÉÔØ, ÅÓÌÉ ÎÁÚ×ÁÎÎÙÊ ÒÁÚÄÅÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ\n" +" --set-section-flags <ÉÍÑ>=<ÆÌÁÇÉ>\n" +" õÓÔÁÎÏ×ÉÔØ Ó×ÏÊÓÔ×Á ÒÁÚÄÅÌÁ <ÉÍÑ> × <ÆÌÁÇÉ>\n" +" --add-section <ÉÍÑ>=<ÆÁÊÌ> äÏÂÁ×ÉÔØ ÒÁÚÄÅÌ <ÉÍÑ>, ÎÁÊÄÅÎÎÙÊ × <ÆÁÊÌÅ>, ÎÁ ×Ù×ÏÄ\n" +" --rename-section <ÓÔÁÒ>=<ÎÏ×>[,<ÆÌÁÇÉ>] ðÅÒÅÉÍÅÎÏ×ÁÔØ ÒÁÚÄÅÌ <ÓÔÁÒ> ÎÁ <ÎÏ×>\n" +" --change-leading-char ðÒÉÎÕÄÉÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÉÌØ ÚÁÇÌÁ×ÎÏÇÏ ÓÉÍ×ÏÌÁ ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ\n" +" --remove-leading-char õÄÁÌÉÔØ ÚÁÇÌÁ×ÎÙÊ ÓÉÍ×ÏÌ ÉÚ ÇÌÏÂÁÌØÎÙÈ ÓÉÍ×ÏÌÏ×\n" +" --redefine-sym <ÓÔÁÒ>=<ÎÏ×> ðÅÒÅÏÐÒÅÄÅÌÉÔØ ÉÍÑ ÓÉÍ×ÏÌÁ <ÓÔÁÒ> ÎÁ <ÎÏ×>\n" +" --redefine-syms <ÆÁÊÌ> --redefine-sym ÄÌÑ ×ÓÅÈ ÐÁÒ ÓÉÍ×ÏÌÏ×,\n" +" ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --srec-len <ÞÉÓÌÏ> ïÇÒÁÎÉÞÉÔØ ÄÌÉÎÕ ÓÏÚÄÁÎÎÙÈ S-ÚÁÐÉÓÅÊ\n" +" --srec-forceS3 ïÇÒÁÎÉÞÉÔØ ÔÉÐ ÓÏÚÄÁÎÎÙÈ S-ÚÁÐÉÓÅÊ ÄÏ S3\n" +" --strip-symbols <ÆÁÊÌ> -N ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --strip-unneeded-symbols <ÆÁÊÌ>\n" +" --strip-unneeded-symbol ÄÌÑ ×ÓÅÈ ÓÉÍ×ÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ\n" +" × <ÆÁÊÌÅ>\n" +" --keep-symbols <ÆÁÊÌ> -K ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --localize-symbols <ÆÁÊÌ> -L ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --keep-global-symbols <ÆÁÊÌ> -G ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --weaken-symbols <ÆÁÊÌ> -W ÄÌÑ ×ÓÅÈ ÓÉÍÏÌÏ×, ÐÅÒÅÞÉÓÌÅÎÎÙÈ × <ÆÁÊÌÅ>\n" +" --alt-machine-code <ÉÎÄÅËÓ> éÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ËÏÄ ÍÁÛÉÎÙ ÄÌÑ ×Ù×ÏÄÁ\n" +" --writable-text ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÔÅËÓÔ ËÁË ÐÅÒÅÚÁÐÉÓÙ×ÁÅÍÙÊ\n" +" --readonly-text ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÔÅËÓÔ ËÁË ÚÁÝÉÝÅÎÎÙÊ ÏÔ ÚÁÐÉÓÉ\n" +" --pure ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ ËÁË ÌÉÓÔÁÅÍÙÊ ÐÏ ×ÙÚÏ×Õ\n" +" --impure ðÏÍÅÔÉÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ ËÁË ÚÁÇÒÑÚÎÅÎÎÙÊ\n" +" --prefix-symbols <ÐÒÅÆÉËÓ> äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ ÓÉÍ×ÏÌÁ\n" +" --prefix-sections <ÐÒÅÆÉËÓ> äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ ÒÁÚÄÅÌÁ\n" +" --prefix-alloc-sections <ÐÒÅÆÉËÓ>\n" +" äÏÂÁ×ÉÔØ <ÐÒÅÆÉËÓ> × ÎÁÞÁÌÏ ÉÍÅÎÉ ËÁÖÄÏÇÏ\n" +" ÎÁÚÎÁÞÁÅÍÏÇÏ ÒÁÚÄÅÌÁ\n" +" -v --verbose ðÅÒÅÞÉÓÌÉÔØ ×ÓÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÅ ÏÂßÅËÔÎÙÅ ÆÁÊÌÙ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" +" -V --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" +" -h --help ÷Ù×ÅÓÔÉ ÜÔÕ ÓÐÒÁ×ËÕ\n" +" --info ðÅÒÅÞÉÓÌÉÔØ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÏÒÍÁÔÙ ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒÙ\n" -#: rdcoff.c:834 +#: objcopy.c:493 #, c-format -msgid "%ld: unexpected .ef\n" -msgstr "%ld: ÎÅÏÖÉÄÁÎÎÙÊ .ef\n" +msgid "Usage: %s in-file(s)\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s <ÏÐÃÉÉ> in-ÆÁÊÌ(Ù)\n" -#: rddbg.c:85 +#: objcopy.c:494 #, c-format -msgid "%s: no recognized debugging information" -msgstr "%s: ÎÅÔ ÒÁÓÐÏÚÎÁÎÎÏÊ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ" +msgid " Removes symbols and sections from files\n" +msgstr " õÄÁÌÑÅÔ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ ÉÚ ÆÁÊÌÏ×\n" -#: rddbg.c:394 -#, c-format -msgid "Last stabs entries before error:\n" -msgstr "ðÏÓÌÅÄÎÉÅ ÐÕÎËÔÙ stabs ÐÅÒÅÄ ÏÛÉÂËÏÊ:\n" - -#: readelf.c:272 -#, c-format -msgid "%s: Error: " -msgstr "%s: ïÛÉÂËÁ: " - -#: readelf.c:283 -#, c-format -msgid "%s: Warning: " -msgstr "%s: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: " - -#: readelf.c:298 -#, c-format -msgid "Unable to seek to 0x%x for %s\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ 0x%x ÄÌÑ %s\n" - -#: readelf.c:310 -#, c-format -msgid "Out of memory allocating 0x%x bytes for %s\n" -msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÓÐÒÅÄÅÌÅÎÉÉ 0x%x ÂÁÊÔ ÄÌÑ %s\n" - -#: readelf.c:318 -#, c-format -msgid "Unable to read in 0x%x bytes of %s\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÕÞÉÔØ ÐÏÓÒÅÄÓÔ×ÏÍ ÞÔÅÎÉÑ 0x%x ÂÁÊÔ %s\n" - -#: readelf.c:364 readelf.c:412 readelf.c:615 readelf.c:647 -#, c-format -msgid "Unhandled data length: %d\n" -msgstr "äÌÉÎÁ ÎÅÏÂÒÁÂÁÔÙ×ÁÅÍÙÈ ÄÁÎÎÙÈ: %d\n" - -#: readelf.c:752 -msgid "Don't know about relocations on this machine architecture\n" -msgstr "îÅÉÚ×ÅÓÔÎÏ Ï ÐÅÒÅÍÅÝÅÎÉÑÈ ÄÌÑ ÜÔÏÊ ÁÒÈÉÔÅËÔÕÒÙ ÍÁÛÉÎÙ\n" - -#: readelf.c:772 readelf.c:799 readelf.c:842 readelf.c:869 -msgid "relocs" -msgstr "ÐÅÒÅÍÅÝÅÎÉÑ" - -#: readelf.c:782 readelf.c:809 readelf.c:852 readelf.c:879 -msgid "out of memory parsing relocs" -msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÚÂÏÒÅ ÐÅÒÅÍÅÝÅÎÉÊ" - -#: readelf.c:933 -#, c-format -msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ + Addend\n" - -#: readelf.c:935 -#, c-format -msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×. + Addend\n" - -#: readelf.c:940 -#, c-format -msgid " Offset Info Type Sym. Value Symbol's Name\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×ÏÌÁ\n" - -#: readelf.c:942 -#, c-format -msgid " Offset Info Type Sym.Value Sym. Name\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×.\n" - -#: readelf.c:950 -#, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞÅÎÉÅ ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ + Addend\n" - -#: readelf.c:952 -#, c-format -msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×. + Addend\n" - -#: readelf.c:957 -#, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞÅÎÉÅ ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ\n" - -#: readelf.c:959 -#, c-format -msgid " Offset Info Type Sym. Value Sym. Name\n" -msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×.\n" - -#: readelf.c:1239 readelf.c:1241 readelf.c:1324 readelf.c:1326 readelf.c:1335 -#: readelf.c:1337 -#, c-format -msgid "unrecognized: %-7lx" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ: %-7lx" - -#: readelf.c:1295 -#, c-format -msgid "" -msgstr "<ÉÎÄÅËÓ ÔÁÂÌÉÃÙ ÓÔÒÏË: %3ld>" - -#: readelf.c:1297 -#, c-format -msgid "" -msgstr "<ÐÏ×ÒÅÖÄÅÎ ÉÎÄÅËÓ ÔÁÂÌÉÃÙ ÓÔÒÏË: %3ld>" - -#: readelf.c:1569 -#, c-format -msgid "Processor Specific: %lx" -msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ: %lx" - -#: readelf.c:1588 -#, c-format -msgid "Operating System specific: %lx" -msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ: %lx" - -#: readelf.c:1592 readelf.c:2370 -#, c-format -msgid ": %lx" -msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %lx" - -#: readelf.c:1605 -msgid "NONE (None)" -msgstr "îåô (îÅÔ)" - -#: readelf.c:1606 -msgid "REL (Relocatable file)" -msgstr "REL (ðÅÒÅÍÅÝÁÅÍÙÊ ÆÁÊÌ)" - -#: readelf.c:1607 -msgid "EXEC (Executable file)" -msgstr "EXEC (éÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ)" - -#: readelf.c:1608 -msgid "DYN (Shared object file)" -msgstr "DYN (óÏ×Í. ÉÓÐ. ÏÂßÅËÔÎÙÊ ÆÁÊÌ)" - -#: readelf.c:1609 -msgid "CORE (Core file)" -msgstr "CORE (ïÓÎÏ×ÎÏÊ ÆÁÊÌ)" - -#: readelf.c:1613 -#, c-format -msgid "Processor Specific: (%x)" -msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ: (%x)" - -#: readelf.c:1615 -#, c-format -msgid "OS Specific: (%x)" -msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó: (%x)" - -#: readelf.c:1617 readelf.c:1724 readelf.c:2554 -#, c-format -msgid ": %x" -msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %x" - -#: readelf.c:1629 -msgid "None" -msgstr "îÅÔ" - -#: readelf.c:2229 -msgid "Standalone App" -msgstr "éÚÏÌÉÒÏ×ÁÎÎÏÅ ÐÒÉÌÏÖÅÎÉÅ" - -#: readelf.c:2232 readelf.c:2952 readelf.c:2968 -#, c-format -msgid "" -msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ: %x>" - -#: readelf.c:2597 -#, c-format -msgid "Usage: readelf elf-file(s)\n" -msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: readelf <ÏÐÃÉÉ> elf-ÆÁÊÌ(Ù)\n" - -#: readelf.c:2598 -#, c-format -msgid " Display information about the contents of ELF format files\n" -msgstr " ïÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÄÅÒÖÉÍÏÍ ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ ELF\n" - -#: readelf.c:2599 +#: objcopy.c:496 #, c-format msgid "" -" Options are:\n" -" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Display the ELF file header\n" -" -l --program-headers Display the program headers\n" -" --segments An alias for --program-headers\n" -" -S --section-headers Display the sections' header\n" -" --sections An alias for --section-headers\n" -" -g --section-groups Display the section groups\n" -" -e --headers Equivalent to: -h -l -S\n" -" -s --syms Display the symbol table\n" -" --symbols An alias for --syms\n" -" -n --notes Display the core notes (if present)\n" -" -r --relocs Display the relocations (if present)\n" -" -u --unwind Display the unwind info (if present)\n" -" -d --dynamic Display the dynamic section (if present)\n" -" -V --version-info Display the version sections (if present)\n" -" -A --arch-specific Display architecture specific information (if any).\n" -" -D --use-dynamic Use the dynamic section info when displaying symbols\n" -" -x --hex-dump= Dump the contents of section \n" -" -w[liaprmfFsoR] or\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -" Display the contents of DWARF2 debug sections\n" -msgstr "" -" ïÐÃÉÉ:\n" -" -a --all üË×É×ÁÌÅÎÔÎÁ: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÁ ÆÁÊÌÁ ELF\n" -" -l --program-headers ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ\n" -" --segments áÌÉÁÓ ÄÌÑ --program-headers\n" -" -S --section-headers ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÁ ÒÁÚÄÅÌÏ×\n" -" --sections áÌÉÁÓ ÄÌÑ --section-headers\n" -" -e --headers üË×É×ÁÌÅÎÔÎÁ: -h -l -S\n" -" -s --syms ÷Ù×ÏÄ ÔÁÂÌÉÃÙ ÓÉÍ×ÏÌÏ×\n" -" --symbols áÌÉÁÓ ÄÌÑ --syms\n" -" -n --notes ÷Ù×ÏÄ ÏÓÎÏ×ÎÙÈ ÚÁÐÉÓÅÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" -" -r --relocs ÷Ù×ÏÄ ÐÅÒÅÍÅÝÅÎÉÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" -" -u --unwind ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÁÓÐÉÓÙ×ÁÎÉÉ (ÅÓÌÉ ÉÍÅÅÔÓÑ)\n" -" -d --dynamic ÷Ù×ÏÄ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ (ÅÓÌÉ ÉÍÅÅÔÓÑ)\n" -" -V --version-info ÷Ù×ÏÄ ÒÁÚÄÅÌÏ× Ó ×ÅÒÓÉÅÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" -" -A --arch-specific ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ, ÓÐÅÃÉÆÉÞÎÏÊ ÄÌÑ ÁÒÈÉÔÅËÔÕÒÙ (ÅÓÌÉ ÉÍÅÅÔÓÑ).\n" -" -D --use-dynamic éÓÐÏÌØÚÏ×ÁÎÉÅ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ ÒÁÚÄÅÌÁ ÐÒÉ ×Ù×ÏÄÅ ÓÉÍ×ÏÌÏ×\n" -" -x --hex-dump=<ÎÏÍÅÒ> äÁÍÐ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ <ÎÏÍÅÒ>\n" -" -w[liaprmfFsoR] ÉÌÉ\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=macro,=frames,=str,=loc,=Ranges]\n" -" ÷Ù×ÏÄ ÓÏÄÅÒÖÉÍÏÇÏ ÏÔÌÁÄÏÞÎÙÈ ÒÁÚÄÅÌÏ× DWARF2\n" - -#: readelf.c:2622 -#, c-format -msgid "" -" -i --instruction-dump=\n" -" Disassemble the contents of section \n" -msgstr "" -" -i --instruction-dump=<ÎÏÍÅÒ>\n" -" äÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ <ÎÏÍÅÒ>\n" - -#: readelf.c:2626 -#, c-format -msgid "" -" -I --histogram Display histogram of bucket list lengths\n" -" -W --wide Allow output width to exceed 80 characters\n" -" -H --help Display this information\n" -" -v --version Display the version number of readelf\n" +" -I --input-target= Assume input file is in format \n" +" -O --output-target= Create an output file in format \n" +" -F --target= Set both input and output format to \n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -R --remove-section= Remove section from the output\n" +" -s --strip-all Remove all symbol and relocation information\n" +" -g -S -d --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -N --strip-symbol= Do not copy symbol \n" +" -K --keep-symbol= Do not strip symbol \n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -v --verbose List all object files modified\n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +" -o Place stripped output into \n" msgstr "" -" -I --histogram ÷Ù×ÏÄ ÇÉÓÔÏÇÒÁÍÍÙ ÄÌÉÎ ÓÐÉÓËÁ ÕÞÁÓÔËÁ ÐÁÍÑÔÉ\n" -" -W --wide òÁÚÒÅÛÅÎÉÅ ÛÉÒÉÎÙ ×Ù×ÏÄÁ ÂÏÌÅÅ 80 ÓÉÍ×ÏÌÏ×\n" -" -H --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" -" -v --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ readelf\n" - -#: readelf.c:2651 readelf.c:12118 -msgid "Out of memory allocating dump request table." -msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÚÍÅÝÅÎÉÉ ÄÁÍÐÁ ÔÁÂÌÉÃÙ ÚÁÐÒÏÓÁ." - -#: readelf.c:2820 readelf.c:2888 -#, c-format -msgid "Unrecognized debug option '%s'\n" -msgstr "îÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÔÌÁÄÏÞÎÁÑ ÏÐÃÉÑ '%s'\n" - -#: readelf.c:2922 -#, c-format -msgid "Invalid option '-%c'\n" -msgstr "îÅ×ÅÒÎÁÑ ÏÐÃÉÑ '-%c'\n" - -#: readelf.c:2936 -msgid "Nothing to do.\n" -msgstr "îÅÞÅÇÏ ×ÙÐÏÌÎÑÔØ.\n" - -#: readelf.c:2948 readelf.c:2964 readelf.c:5906 -msgid "none" -msgstr "ÎÅÔ" - -#: readelf.c:2965 -msgid "2's complement, little endian" -msgstr "ÄÏÐÏÌÎÅÎÉÅ ÄÏ 2, little endian" - -#: readelf.c:2966 -msgid "2's complement, big endian" -msgstr "ÄÏÐÏÌÎÅÎÉÅ ÄÏ 2, big endian" - -#: readelf.c:2984 -msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "îÅ ELF-ÆÁÊÌ - ÏÎ ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÅ magic-ÂÁÊÔÙ × ÎÁÞÁÌÅ\n" - -#: readelf.c:2992 -#, c-format -msgid "ELF Header:\n" -msgstr "úÁÇÏÌÏ×ÏË ELF:\n" - -#: readelf.c:2993 -#, c-format -msgid " Magic: " -msgstr " Magic: " - -#: readelf.c:2997 -#, c-format -msgid " Class: %s\n" -msgstr " ëÌÁÓÓ: %s\n" - -#: readelf.c:2999 -#, c-format -msgid " Data: %s\n" -msgstr " äÁÎÎÙÅ: %s\n" - -#: readelf.c:3001 -#, c-format -msgid " Version: %d %s\n" -msgstr " ÷ÅÒÓÉÑ: %d %s\n" - -#: readelf.c:3008 -#, c-format -msgid " OS/ABI: %s\n" -msgstr " OS/ABI: %s\n" - -#: readelf.c:3010 -#, c-format -msgid " ABI Version: %d\n" -msgstr " ÷ÅÒÓÉÑ ABI: %d\n" +" -I --input-target= ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ×ÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" +" -O --output-target= óÏÚÄÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \n" +" -F --target= õÓÔÁÎÏ×ÉÔØ ×ÈÏÄÎÏÊ É ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔÙ × \n" +" -p --preserve-dates ëÏÐÉÒÏ×ÁÔØ ×ÒÅÍÑ ÍÏÄÉÆÉËÁÃÉÉ/ÄÏÓÔÕÐÁ ÎÁ ×Ù×ÏÄ\n" +" -R --remove-section <ÉÍÑ> õÄÁÌÉÔØ ÒÁÚÄÅÌ <ÉÍÑ> ÉÚ ×Ù×ÏÄÁ\n" +" -s --strip-all õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ É ÉÎÆÏÒÍÁÃÉÀ Ï ÐÅÒÅÍÅÝÅÎÉÉ\n" +" -g -S -d --strip-debug õÄÁÌÉÔØ ×ÓÅ ÏÔÌÁÄÏÞÎÙÅ ÓÉÍ×ÏÌÙ É ÒÁÚÄÅÌÙ\n" +" --strip-unneeded õÄÁÌÉÔØ ×ÓÅ ÓÉÍ×ÏÌÙ, ÎÅ ÎÕÖÎÙÅ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÊ\n" +" --only-keep-debug õÄÁÌÉÔØ ×Ó£, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" +" -N --strip-symbol=<ÉÍÑ> îÅ ËÏÐÉÒÏ×ÁÔØ ÓÉÍ×ÏÌ <ÉÍÑ>\n" +" -K --keep-symbol=<ÉÍÑ> ëÏÐÉÒÏ×ÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌ <ÉÍÑ>\n" +" -w --wildcard òÁÚÒÅÛÉÔØ ÍÁÓËÕ ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÓÉÍ×ÏÌÏ×\n" +" -x --discard-all õÄÁÌÉÔØ ×ÓÅ ÎÅÇÌÏÂÁÌØÎÙÅ ÓÉÍ×ÏÌÙ\n" +" -X --discard-locals õÄÁÌÉÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ËÏÍÐÉÌÑÔÏÒÏÍ\n" +" -v --verbose ðÅÒÅÞÉÓÌÉÔØ ×ÓÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÅ ÏÂßÅËÔÎÙÅ ÆÁÊÌÙ\n" +" -V --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" +" -h --help ÷Ù×ÅÓÔÉ ÜÔÕ ÓÐÒÁ×ËÕ\n" +" --info ðÅÒÅÞÉÓÌÉÔØ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÏÒÍÁÔÙ ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒÙ\n" +" -o <ÆÁÊÌ> ðÏÍÅÓÔÉÔØ ÏÂÒÁÂÏÔÁÎÎÙÅ ×ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ × <ÆÁÊÌ>\n" -#: readelf.c:3012 +#: objcopy.c:568 #, c-format -msgid " Type: %s\n" -msgstr " ôÉÐ: %s\n" +msgid "unrecognized section flag `%s'" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÆÌÁÇ ÒÁÚÄÅÌÁ `%s'" -#: readelf.c:3014 +#: objcopy.c:569 #, c-format -msgid " Machine: %s\n" -msgstr " íÁÛÉÎÁ: %s\n" +msgid "supported flags: %s" +msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÆÌÁÇÉ: %s" -#: readelf.c:3016 +#: objcopy.c:646 #, c-format -msgid " Version: 0x%lx\n" -msgstr " ÷ÅÒÓÉÑ: 0x%lx\n" +msgid "cannot open '%s': %s" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ '%s': %s" -#: readelf.c:3019 +#: objcopy.c:649 objcopy.c:2722 #, c-format -msgid " Entry point address: " -msgstr " áÄÒÅÓ ÔÏÞËÉ ×ÈÏÄÁ: " +msgid "%s: fread failed" +msgstr "%s: fread ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ" -#: readelf.c:3021 +#: objcopy.c:722 #, c-format -msgid "" -"\n" -" Start of program headers: " -msgstr "" -"\n" -" îÁÞÁÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: " +msgid "%s:%d: Ignoring rubbish found on this line" +msgstr "%s:%d: ðÒÏÐÕÓËÁÅÔÓÑ ÍÕÓÏÒ, ÎÁÊÄÅÎÎÙÊ × ÜÔÏÊ ÓÔÒÏËÅ " -#: readelf.c:3023 +#: objcopy.c:996 #, c-format -msgid "" -" (bytes into file)\n" -" Start of section headers: " -msgstr "" -" (ÂÁÊÔ × ÆÁÊÌÅ)\n" -" îÁÞÁÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: " +msgid "%s: Multiple redefinition of symbol \"%s\"" +msgstr "%s: íÎÏÇÏËÒÁÔÎÏÅ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ \"%s\"" -#: readelf.c:3025 +#: objcopy.c:1000 #, c-format -msgid " (bytes into file)\n" -msgstr " (ÂÁÊÔ × ÆÁÊÌÅ)\n" +msgid "%s: Symbol \"%s\" is target of more than one redefinition" +msgstr "%s: óÉÍ×ÏÌ \"%s\" Ñ×ÌÑÅÔÓÑ ÃÅÌØÀ ÂÏÌÅÅ, ÞÅÍ ÏÄÎÏÇÏ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ" -#: readelf.c:3027 +#: objcopy.c:1028 #, c-format -msgid " Flags: 0x%lx%s\n" -msgstr " æÌÁÇÉ: 0x%lx%s\n" +msgid "couldn't open symbol redefinition file %s (error: %s)" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ ÓÉÍ×ÏÌÁ %s (ÏÛÉÂËÁ: %s)" -#: readelf.c:3030 +#: objcopy.c:1106 #, c-format -msgid " Size of this header: %ld (bytes)\n" -msgstr " òÁÚÍÅÒ ÜÔÏÇÏ ÚÁÇÏÌÏ×ËÁ: %ld (ÂÁÊÔ)\n" +msgid "%s:%d: garbage found at end of line" +msgstr "%s:%d: × ËÏÎÃÅ ÓÔÒÏËÉ ÎÁÊÄÅÎ ÍÕÓÏÒ" -#: readelf.c:3032 +#: objcopy.c:1109 #, c-format -msgid " Size of program headers: %ld (bytes)\n" -msgstr " òÁÚÍÅÒ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: %ld (ÂÁÊÔ)\n" +msgid "%s:%d: missing new symbol name" +msgstr "%s:%d: ÏÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÎÏ×ÏÇÏ ÓÉÍ×ÏÌÁ" -#: readelf.c:3034 +#: objcopy.c:1119 #, c-format -msgid " Number of program headers: %ld\n" -msgstr " þÉÓÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: %ld\n" +msgid "%s:%d: premature end of file" +msgstr "%s:%d: ÐÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ" -#: readelf.c:3036 +#: objcopy.c:1145 #, c-format -msgid " Size of section headers: %ld (bytes)\n" -msgstr " òÁÚÍÅÒ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ: %ld (ÂÁÊÔ)\n" +msgid "stat returns negative size for `%s'" +msgstr "stat ×ÏÚ×ÒÁÔÉÌ ÏÔÒÉÃÁÔÅÌØÎÙÊ ÒÁÚÍÅÒ ÄÌÑ `%s'" -#: readelf.c:3038 +#: objcopy.c:1157 #, c-format -msgid " Number of section headers: %ld" -msgstr " þÉÓÌÏ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ: %ld" +msgid "copy from `%s' [unknown] to `%s' [unknown]\n" +msgstr "ËÏÐÉÒÏ×ÁÎÉÅ ÉÚ `%s' [ÎÅÉÚ×.] × `%s' [ÎÅÉÚ×.]\n" -#: readelf.c:3043 -#, c-format -msgid " Section header string table index: %ld" -msgstr " éÎÄÅËÓ ÔÁÂÌ. ÓÔÒÏË ÚÁÇÏÌ. ÒÁÚÄÅÌÁ: %ld" +#: objcopy.c:1212 +msgid "Unable to change endianness of input file(s)" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ endianness ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ" -#: readelf.c:3074 readelf.c:3107 -msgid "program headers" -msgstr "ÚÁÇÏÌÏ×ËÉ ÐÒÏÇÒÁÍÍÙ" +#: objcopy.c:1221 +#, c-format +msgid "copy from `%s' [%s] to `%s' [%s]\n" +msgstr "ËÏÐÉÒÏ×ÁÎÉÅ ÉÚ `%s' [%s] × `%s' [%s]\n" -#: readelf.c:3145 readelf.c:3446 readelf.c:3487 readelf.c:3546 readelf.c:3609 -#: readelf.c:3993 readelf.c:4017 readelf.c:5247 readelf.c:5291 readelf.c:5489 -#: readelf.c:6450 readelf.c:6464 readelf.c:11493 readelf.c:11912 -#: readelf.c:11979 -msgid "Out of memory\n" -msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ\n" +#: objcopy.c:1258 objcopy.c:1715 +#, c-format +msgid "Unable to recognise the format of the input file `%s'" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÆÏÒÍÁÔ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ `%s'" -#: readelf.c:3172 +#: objcopy.c:1261 #, c-format -msgid "" -"\n" -"There are no program headers in this file.\n" -msgstr "" -"\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ.\n" +msgid "Warning: Output file cannot represent architecture `%s'" +msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÷ÙÈÏÄÎÏÊ ÆÁÊÌ ÎÅ ÍÏÖÅÔ ÐÒÅÄÏÓÔÁ×ÉÔØ ÁÒÈÉÔÅËÔÕÒÕ `%s'" -#: readelf.c:3178 +#: objcopy.c:1305 #, c-format -msgid "" -"\n" -"Elf file type is %s\n" -msgstr "" -"\n" -"ôÉÐ elf-ÆÁÊÌÁ - %s\n" +msgid "can't create section `%s': %s" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÒÁÚÄÅÌ `%s': %s" + +#: objcopy.c:1356 +msgid "there are no sections to be copied!" +msgstr "ÎÅÔ ÒÁÚÄÅÌÏ× ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ!" -#: readelf.c:3179 +#: objcopy.c:1402 #, c-format -msgid "Entry point " -msgstr "ôÏÞËÁ ×ÈÏÄÁ " +msgid "Can't fill gap after %s: %s" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÏÌÎÉÔØ ÐÒÏÍÅÖÕÔÏË ÐÏÓÌÅ %s: %s" -#: readelf.c:3181 +#: objcopy.c:1427 #, c-format -msgid "" -"\n" -"There are %d program headers, starting at offset " -msgstr "" -"\n" -"éÍÅÅÔÓÑ %d ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ, ÎÁÞÉÎÁÑ ÓÏ ÓÍÅÝÅÎÉÑ " +msgid "Can't add padding to %s: %s" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÚÁÐÏÌÎÅÎÉÅ × %s: %s" -#: readelf.c:3193 readelf.c:3195 +#: objcopy.c:1594 #, c-format -msgid "" -"\n" -"Program Headers:\n" -msgstr "" -"\n" -"úÁÇÏÌÏ×ËÉ ÐÒÏÇÒÁÍÍÙ:\n" +msgid "%s: error copying private BFD data: %s" +msgstr "%s: ÏÛÉÂËÁ ËÏÐÉÒÏ×ÁÎÉÑ ÞÁÓÔÎÙÈ ÄÁÎÎÙÈ BFD: %s" -#: readelf.c:3199 +#: objcopy.c:1605 +msgid "unknown alternate machine code, ignored" +msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ËÏÄ ÍÁÛÉÎÙ, ÐÒÏÐÕÝÅÎ" + +#: objcopy.c:1635 objcopy.c:1665 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÇ ÷ÙÒÁ×Î\n" +msgid "cannot mkdir %s for archive copying (error: %s)" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ mkdir %s ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ ÁÒÈÉ×Á (ÏÛÉÂËÁ: %s)" -#: readelf.c:3202 +#: objcopy.c:1787 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÇ ÷ÙÒÁ×Î\n" +msgid "error: the input file '%s' is empty" +msgstr "ÏÛÉÂËÁ: ×ÈÏÄÎÏÊ ÆÁÊÌ '%s' ÐÕÓÔ" -#: readelf.c:3206 +#: objcopy.c:1889 #, c-format -msgid " Type Offset VirtAddr PhysAddr\n" -msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ\n" +msgid "Multiple renames of section %s" +msgstr "íÎÏÇÏËÒÁÔÎÙÅ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÒÁÚÄÅÌÁ %s" + +#: objcopy.c:1940 +msgid "private header data" +msgstr "ÞÁÓÔÎÙÅ ÄÁÎÎÙÅ ÚÁÇÏÌÏ×ËÁ" -#: readelf.c:3208 +#: objcopy.c:1948 #, c-format -msgid " FileSiz MemSiz Flags Align\n" -msgstr " òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÁÇÉ ÷ÙÒÁ×Î\n" +msgid "%s: error in %s: %s" +msgstr "%s: ÏÛÉÂËÁ × %s: %s" -#: readelf.c:3301 -msgid "more than one dynamic segment\n" -msgstr "ÂÏÌÅÅ ÏÄÎÏÇÏ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ\n" +#: objcopy.c:2007 +msgid "making" +msgstr "ÓÏÚÄÁÅÔÓÑ" -#: readelf.c:3312 -msgid "no .dynamic section in the dynamic segment" -msgstr "× ÄÉÎÁÍÉÞÅÓËÏÍ ÓÅÇÍÅÎÔÅ ÎÅÔ ÒÁÚÄÅÌÁ .dynamic" +#: objcopy.c:2022 +msgid "size" +msgstr "ÒÁÚÍÅÒ" -#: readelf.c:3321 -msgid "the .dynamic section is not contained within the dynamic segment" -msgstr "× ÄÉÎÁÍÉÞÅÓËÏÍ ÓÅÇÍÅÎÔÅ ÎÅ ÓÏÄÅÒÖÉÔÓÑ ÒÁÚÄÅÌ .dynamic" +#: objcopy.c:2036 +msgid "vma" +msgstr "vma" -#: readelf.c:3323 -msgid "the .dynamic section is not the first section in the dynamic segment." -msgstr "ÒÁÚÄÅÌ .dynamic ÎÅ Ñ×ÌÑÅÔÓÑ ÐÅÒ×ÙÍ ÒÁÚÄÅÌÏÍ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ" +#: objcopy.c:2061 +msgid "alignment" +msgstr "ÏÒÉÅÎÔÁÃÉÑ" -#: readelf.c:3337 -msgid "Unable to find program interpreter name\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÉÍÑ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ ÐÒÏÇÒÁÍÍÙ\n" +#: objcopy.c:2083 +msgid "private data" +msgstr "ÞÁÓÔÎÙÅ ÄÁÎÎÙÅ" -#: readelf.c:3344 +#: objcopy.c:2091 #, c-format -msgid "" -"\n" -" [Requesting program interpreter: %s]" -msgstr "" -"\n" -" [úÁÐÒÁÛÉ×ÁÅÍÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ÐÒÏÇÒÁÍÍÙ: %s]" +msgid "%s: section `%s': error in %s: %s" +msgstr "%s: ÒÁÚÄÅÌ `%s': ÏÛÉÂËÁ × %s: %s" -#: readelf.c:3356 +#: objcopy.c:2363 #, c-format -msgid "" -"\n" -" Section to Segment mapping:\n" -msgstr "" -"\n" -" óÏÏÔ×ÅÔÓÔ×ÉÅ ÒÁÚÄÅÌ-ÓÅÇÍÅÎÔ:\n" +msgid "%s: can't create debugging section: %s" +msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÏÔÌÁÄÏÞÎÙÊ ÒÁÚÄÅÌ: %s" -#: readelf.c:3357 +#: objcopy.c:2377 #, c-format -msgid " Segment Sections...\n" -msgstr " óÅÇÍÅÎÔ òÁÚÄÅÌÙ...\n" +msgid "%s: can't set debugging section contents: %s" +msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÏÔÌÁÄÏÞÎÏÇÏ ÒÁÚÄÅÌÁ: %s" -#: readelf.c:3408 -msgid "Cannot interpret virtual addresses without program headers.\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÎÔÅÒÐÒÅÔÉÒÏ×ÁÔØ ×ÉÒÔÕÁÌØÎÙÅ ÁÄÒÅÓÁ ÂÅÚ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ.\n" +#: objcopy.c:2386 +#, c-format +msgid "%s: don't know how to write debugging information for %s" +msgstr "%s: ÎÅ ÉÚ×ÅÓÔÎÏ, ËÁË ÚÁÐÉÓÁÔØ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ ÄÌÑ %s" + +#: objcopy.c:2561 +msgid "byte number must be non-negative" +msgstr "ÎÏÍÅÒ ÂÁÊÔÁ ÄÏÌÖÅÎ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÙÍ" + +#: objcopy.c:2571 +msgid "interleave must be positive" +msgstr "ÞÅÒÅÄÏ×ÁÎÉÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" -#: readelf.c:3424 +#: objcopy.c:2591 objcopy.c:2599 #, c-format -msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" -msgstr "÷ÉÒÔÕÁÌØÎÙÊ ÁÄÒÅÓ 0x%lx ÎÅ ÒÁÚÍÅÝÅÎ × ËÁËÏÍ-ÌÉÂÏ ÓÅÇÍÅÎÔÅ PT_LOAD.\n" +msgid "%s both copied and removed" +msgstr "ÏÂÁ %s ÓËÏÐÉÒÏ×ÁÎÙ É ÕÄÁÌÅÎÙ" -#: readelf.c:3438 readelf.c:3479 -msgid "section headers" -msgstr "ÚÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÏ×" +#: objcopy.c:2696 objcopy.c:2767 objcopy.c:2867 objcopy.c:2898 objcopy.c:2922 +#: objcopy.c:2926 objcopy.c:2946 +#, c-format +msgid "bad format for %s" +msgstr "ÐÌÏÈÏÊ ÆÏÒÍÁÔ ÄÌÑ %s" -#: readelf.c:3523 readelf.c:3586 -msgid "symbols" -msgstr "ÓÉÍ×ÏÌÙ" +#: objcopy.c:2717 +#, c-format +msgid "cannot open: %s: %s" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ: %s: %s" -#: readelf.c:3533 readelf.c:3596 -msgid "symtab shndx" -msgstr "symtab shndx" +#: objcopy.c:2836 +#, c-format +msgid "Warning: truncating gap-fill from 0x%s to 0x%x" +msgstr "ðÒÅÄÕÐÒÅÖÅÄÎÉÅ: ÏÂÒÅÚÁÅÔÓÑ ÚÁÐÏÌÎÅÎÉÅ ÐÒÏÍÅÖÕÔËÁ ÏÔ 0x%s ÄÏ 0x%x" + +#: objcopy.c:3000 +msgid "alternate machine code index must be positive" +msgstr "ÉÎÄÅËÓ ÁÌØÔÅÒÎÁÔÉ×ÎÏÇÏ ËÏÄÁ ÍÁÛÉÎÙ ÄÏÌÖÅÎ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" + +#: objcopy.c:3058 +msgid "byte number must be less than interleave" +msgstr "ÎÏÍÅÒ ÂÁÊÔÁ ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ÞÅÒÅÄÏ×ÁÎÉÑ" -#: readelf.c:3697 readelf.c:3977 +#: objcopy.c:3088 #, c-format -msgid "" -"\n" -"There are no sections in this file.\n" -msgstr "" -"\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÒÁÚÄÅÌÏ×.\n" +msgid "architecture %s unknown" +msgstr "ÁÒÈÉÔÅËÔÕÒÁ %s ÎÅ ÉÚ×ÅÓÔÎÁ" + +#: objcopy.c:3092 +msgid "Warning: input target 'binary' required for binary architecture parameter." +msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: 'Ä×ÏÉÞÎÙÊ' ÃÅÌÅ×ÏÊ ×ÈÏÄÎÏÊ ÆÁÊÌ ÔÒÅÂÕÅÔÓÑ ÄÌÑ ÐÁÒÁÍÅÔÒÁ Ä×ÏÉÞÎÏÊ ÁÒÈÉÔÅËÔÕÒÙ." -#: readelf.c:3703 +#: objcopy.c:3093 #, c-format -msgid "There are %d section headers, starting at offset 0x%lx:\n" -msgstr "éÍÅÅÔÓÑ %d ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ, ÎÁÞÉÎÁÑ ÓÏ ÓÍÅÝÅÎÉÑ 0x%lx:\n" +msgid " Argument %s ignored" +msgstr " áÒÇÕÍÅÎÔ %s ÐÒÏÐÕÝÅÎ" -#: readelf.c:3720 readelf.c:4079 readelf.c:4290 readelf.c:4591 readelf.c:5011 -#: readelf.c:6618 -msgid "string table" -msgstr "ÔÁÂÌÉÃÁ ÓÔÒÏË" +#: objcopy.c:3099 +#, c-format +msgid "warning: could not locate '%s'. System error message: %s" +msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ '%s'. óÉÓÔÅÍÎÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ: %s" -#: readelf.c:3765 -msgid "File contains multiple dynamic symbol tables\n" -msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" +#: objcopy.c:3141 objcopy.c:3155 +#, c-format +msgid "%s %s%c0x%s never used" +msgstr "%s %s%c0x%s ÎÉËÏÇÄÁ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ" -#: readelf.c:3777 -msgid "File contains multiple dynamic string tables\n" -msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË\n" +#: objdump.c:178 +#, c-format +msgid "Usage: %s \n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s <ÏÐÃÉÉ> <ÆÁÊÌ(Ù)>\n" -#: readelf.c:3782 -msgid "dynamic strings" -msgstr "ÄÉÎÁÍÉÞÅÓËÉÅ ÓÔÒÏËÉ" +#: objdump.c:179 +#, c-format +msgid " Display information from object .\n" +msgstr " ïÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÏÂßÅËÔÁ <ÆÁÊÌ(Ù)>.\n" -#: readelf.c:3789 -msgid "File contains multiple symtab shndx tables\n" -msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà symtab shndx\n" +#: objdump.c:180 +#, c-format +msgid " At least one of the following switches must be given:\n" +msgstr " äÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÏÄÉÎ ÉÚ ÓÌÅÄÕÀÝÉÈ ËÌÀÞÅÊ:\n" + +#: objdump.c:181 +#, c-format +msgid "" +" -a, --archive-headers Display archive header information\n" +" -f, --file-headers Display the contents of the overall file header\n" +" -p, --private-headers Display object format specific file header contents\n" +" -h, --[section-]headers Display the contents of the section headers\n" +" -x, --all-headers Display the contents of all headers\n" +" -d, --disassemble Display assembler contents of executable sections\n" +" -D, --disassemble-all Display assembler contents of all sections\n" +" -S, --source Intermix source code with disassembly\n" +" -s, --full-contents Display the full contents of all sections requested\n" +" -g, --debugging Display debug information in object file\n" +" -e, --debugging-tags Display debug information using ctags style\n" +" -G, --stabs Display (in raw form) any STABS info in the file\n" +" -W, --dwarf Display DWARF info in the file\n" +" -t, --syms Display the contents of the symbol table(s)\n" +" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" +" -r, --reloc Display the relocation entries in the file\n" +" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" +" @ Read options from \n" +" -v, --version Display this program's version number\n" +" -i, --info List object formats and architectures supported\n" +" -H, --help Display this information\n" +msgstr "" +" -a, --archive-headers ÷Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ ÚÁÇÏÌÏ×ËÁ ÁÒÈÉ×Á\n" +" -f, --file-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÁ ×ÓÅÇÏ ÆÁÊÌÁ\n" +" -p, --private-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÁ ÆÁÊÌÁ, ÓÐÅÃÉÆÉÞÎÏÇÏ ÄÌÑ ÆÏÒÍÁÔÁ ÏÂßÅËÔÁ\n" +" -h, --[section-]headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÏ×\n" +" -x, --all-headers ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ×ÓÅÈ ÚÁÇÏÌÏ×ËÏ×\n" +" -d, --disassemble ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÁÓÓÅÍÂÌÅÒÁ ÉÓÐÏÌÎÑÅÍÙÈ ÒÁÚÄÅÌÏ×\n" +" -D, --disassemble-all ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÁÓÓÅÍÂÌÅÒÁ ×ÓÅÈ ÒÁÚÄÅÌÏ×\n" +" -S, --source ðÅÒÅÍÅÛÁÔØ ÉÓÈÏÄÎÙÊ ËÏÄ Ó ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅÍ\n" +" -s, --full-contents ÷Ù×ÅÓÔÉ ÐÏÌÎÏÅ ÓÏÄÅÒÖÉÍÏÅ ×ÓÅÈ ÚÁÐÒÏÛÅÎÎÙÈ ÒÁÚÄÅÌÏ×\n" +" -g, --debugging ÷Ù×ÅÓÔÉ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ × ÏÂßÅËÔÎÏÍ ÆÁÊÌÅ\n" +" -e, --debugging-tags ÷Ù×ÅÓÔÉ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ × ÓÔÉÌÅ ctags\n" +" -G, --stabs ÷Ù×ÅÓÔÉ (× ÓÙÒÏÊ ÆÏÒÍÅ) ÌÀÂÕÀ ÉÎÆÏÒÍÁÃÉÀ STABS × ÆÁÊÌÅ\n" +" -t, --syms ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÔÁÂÌÉÃ(Ù) ÓÉÍ×ÏÌÏ×\n" +" -T, --dynamic-syms ÷Ù×ÅÓÔÉ ÓÏÄÅÒÖÉÍÏÅ ÔÁÂÌÉÃÙ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" +" -r, --reloc ÷Ù×ÅÓÔÉ ÐÕÎËÔÙ ÐÅÒÅÍÅÝÅÎÉÑ × ÆÁÊÌÅ\n" +" -R, --dynamic-reloc ÷Ù×ÅÓÔÉ ÐÕÎËÔÙ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÐÅÒÅÍÅÝÅÎÉÑ × ÆÁÊÌÅ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" +" -v, --version ÷Ù×ÅÓÔÉ ÎÏÍÅÒ ×ÅÒÓÉÉ ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ\n" +" -i, --info ÷Ù×ÅÓÔÉ ÓÐÉÓÏË ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÆÏÒÍÁÔÏ× ÏÂßÅËÔÏ× É ÁÒÈÉÔÅËÔÕÒ\n" +" -H, --help ÷Ù×ÅÓÔÉ ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ\n" -#: readelf.c:3828 +#: objdump.c:206 #, c-format msgid "" "\n" -"Section Headers:\n" +" The following switches are optional:\n" msgstr "" "\n" -"úÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÏ×:\n" +" óÌÅÄÕÀÝÉÅ ËÌÀÞÉ Ñ×ÌÑÀÔÓÑ ÏÐÃÉÏÎÁÌØÎÙÍÉ:\n" -#: readelf.c:3830 +#: objdump.c:207 #, c-format msgid "" +" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" +" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" +" -j, --section=NAME Only display information for section NAME\n" +" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" +" -EB --endian=big Assume big endian format when disassembling\n" +" -EL --endian=little Assume little endian format when disassembling\n" +" --file-start-context Include context from start of file (with -S)\n" +" -I, --include=DIR Add DIR to search list for source files\n" +" -l, --line-numbers Include line numbers and filenames in output\n" +" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" +" The STYLE, if specified, can be `auto', `gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" -w, --wide Format output for more than 80 columns\n" +" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" +" --start-address=ADDR Only process data whose address is >= ADDR\n" +" --stop-address=ADDR Only process data whose address is <= ADDR\n" +" --prefix-addresses Print complete address alongside disassembly\n" +" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" +" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" +" --special-syms Include special symbols in symbol dumps\n" "\n" -"Section Header:\n" msgstr "" +" -b, --target=BFD-éíñ õËÁÚÁÔØ ÃÅÌÅ×ÏÊ ÆÏÒÍÁÔ ÏÂßÅËÔÁ ËÁË BFD-éíñ\n" +" -m, --architecture=íáûéîá õËÁÚÁÔØ ÃÅÌÅ×ÕÀ ÁÒÈÉÔÅËÔÕÒÕ ËÁË íáûéîá\n" +" -j, --section=éíñ ÷Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ ÔÏÌØËÏ ÄÌÑ ÒÁÚÄÅÌÁ éíñ\n" +" -M, --disassembler-options=OPT ðÅÒÅÄÁÔØ ÔÅËÓÔ OPT × ÄÉÚÁÓÓÅÍÂÌÅÒ\n" +" -EB --endian=big ðÒÅÄÐÏÌÏÖÉÔØ ÆÏÒÍÁÔ big endian ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" +" -EL --endian=little ðÒÅÄÐÏÌÏÖÉÔØ ÆÏÒÍÁÔ little endian ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" +" --file-start-context ÷ËÌÀÞÉÔØ ËÏÎÔÅËÓÔ ÉÚ ÎÁÞÁÌÁ ÆÁÊÌÁ (Ó -S)\n" +" -I, --include=ëáô äÏÂÁ×ÉÔØ ëáôÁÌÏÇ × ÓÐÉÓÏË ÐÏÉÓËÁ ÉÓÈÏÄÎÙÈ ÆÁÊÌÏ×\n" +" -l, --line-numbers ÷ËÌÀÞÉÔØ ÎÏÍÅÒÁ ÓÔÒÏË É ÉÍÅÎÁ ÆÁÊÌÏ× ÎÁ ×Ù×ÏÄÅ\n" +" -C, --demangle[=óôéìø] äÅËÏÄÉÒÏ×ÁÔØ ÓËÏÒÒÅËÔÉÒÏ×ÁÎÎÙÅ/ÏÂÒÁÂÏÔÁÎÎÙÅ ÉÍÅÎÁ ÓÉÍ×ÏÌÏ×\n" +" óôéìø, ÅÓÌÉ ÕËÁÚÁÎ, ÍÏÖÅÔ ÂÙÔØ `auto', `gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" ÉÌÉ `gnat'\n" +" -w, --wide æÏÒÍÁÔÉÒÏ×ÁÔØ ×Ù×ÏÄ ÄÌÑ ÂÏÌÅÅ,šÞÅÍ 80 ËÏÌÏÎÏË\n" +" -z, --disassemble-zeroes îÅ ÐÒÏÐÕÓËÁÔØ ÂÌÏËÉ ÎÕÌÅÊ ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" +" --start-address=áäòåó ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÄÁÎÎÙÅ, ÁÄÒÅÓ ËÏÔÏÒÙÈ >= áäòåó\n" +" --stop-address=áäòåó ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÄÁÎÎÙÅ, ÁÄÒÅÓ ËÏÔÏÒÙÈ <= áäòåó\n" +" --prefix-addresses ÷Ù×ÅÓÔÉ ÐÏÌÎÙÊ ÁÄÒÅÓ ÐÒÉ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" +" --[no-]show-raw-insn ÷Ù×ÅÓÔÉ hex ÐÒÉ ÓÉÍ×ÏÌÉÞÅÓËÏÍ ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÉ\n" +" --adjust-vma=óíåýåîéå äÏÂÁ×ÉÔØ óíåýåîéå ËÏ ×ÓÅÍ ÁÄÒÅÓÁÍ ×Ù×ÏÄÉÍÙÈ ÒÁÚÄÅÌÏ×\n" +" --special-syms ÷ËÌÀÞÉÔØ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌÙ × ÄÁÍÐÙ ÓÉÍ×ÏÌÏ×\n" "\n" -"úÁÇÏÌÏ×ÏË ÒÁÚÄÅÌÁ:\n" - -#: readelf.c:3834 -#, c-format -msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" -msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES æÌÇ óÓ éÎÆ Al\n" - -#: readelf.c:3837 -#, c-format -msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" -msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES æÌÇ ìË éÎÆ Al\n" - -#: readelf.c:3840 -#, c-format -msgid " [Nr] Name Type Address Offset\n" -msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝÅÎÉÅ\n" -#: readelf.c:3841 +#: objdump.c:389 #, c-format -msgid " Size EntSize Flags Link Info Align\n" -msgstr " òÁÚÍÅÒ òÁÚÍ.Ent æÌÁÇÉ óÓÙÌË éÎÆÏ ÷ÙÒÁ×Î\n" +msgid "Sections:\n" +msgstr "òÁÚÄÅÌÙ:\n" -#: readelf.c:3936 +#: objdump.c:392 objdump.c:396 #, c-format -msgid "" -"Key to Flags:\n" -" W (write), A (alloc), X (execute), M (merge), S (strings)\n" -" I (info), L (link order), G (group), x (unknown)\n" -" O (extra OS processing required) o (OS specific), p (processor specific)\n" -msgstr "" -"ïÂÏÚÎÁÞÅÎÉÑ ÆÌÁÇÏ×:\n" -" W (ÚÁÐÉÓØ), A (ÎÁÚÎÁÞ), X (ÉÓÐÏÌÎÑÅÍÙÊ), M (ÓÌÉÑÎÉÅ), S (ÓÔÒÏËÉ)\n" -" I (ÉÎÆÏ), L (ÐÏÒÑÄÏË ÓÓÙÌÏË), G (ÇÒÕÐÐÁ), x (ÎÅÉÚ×.)\n" -" O (ÔÒÅÂ. ÄÏÐ. ÏÂÒÁÂÏÔËÁ ïó) o (ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó), p (ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ)\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "éÎÄ éÍÑ òÁÚÍÅÒ VMA LMA æÁÊÌ ÷ÙÒÁ×" -#: readelf.c:3954 +#: objdump.c:398 #, c-format -msgid "[: 0x%x]" -msgstr "[<ÎÅÉÚ×ÅÓÔÎÙÊ>: 0x%x]" - -#: readelf.c:3984 -msgid "Section headers are not available!\n" -msgstr "îÅÄÏÓÔÕÐÎÙ ÚÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÁ!\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "éÎÄ éÍÑ òÁÚÍÅÒ VMA LMA æÁÊÌ ÷ÙÒÁ×" -#: readelf.c:4008 +#: objdump.c:402 #, c-format -msgid "" -"\n" -"There are no section groups in this file.\n" -msgstr "" -"\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÇÒÕÐÐ ÒÁÚÄÅÌÏ×.\n" +msgid " Flags" +msgstr " æÌÁÇÉ" -#: readelf.c:4042 +#: objdump.c:404 #, c-format -msgid "Bad sh_link in group section `%s'\n" -msgstr "îÅ×ÅÒÎÙÊ sh_link × ÒÁÚÄÅÌÅ ÇÒÕÐÐ `%s'\n" +msgid " Pg" +msgstr " óÔÒ" -#: readelf.c:4061 +#: objdump.c:447 #, c-format -msgid "Bad sh_info in group section `%s'\n" -msgstr "îÅ×ÅÒÎÙÊ sh_info × ÒÁÚÄÅÌÅ ÇÒÕÐÐ `%s'\n" - -#: readelf.c:4085 readelf.c:6947 -msgid "section data" -msgstr "ÄÁÎÎÙÅ ÒÁÚÄÅÌÁ" +msgid "%s: not a dynamic object" +msgstr "%s: ÎÅ ÄÉÎÁÍÉÞÅÓËÉÊ ÏÂßÅËÔ" -#: readelf.c:4097 +#: objdump.c:1735 #, c-format -msgid " [Index] Name\n" -msgstr " [éÎÄÅËÓ] éÍÑ\n" +msgid "Disassembly of section %s:\n" +msgstr "äÉÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÒÁÚÄÅÌÁ %s:\n" -#: readelf.c:4114 +#: objdump.c:1897 #, c-format -msgid "section [%5u] already in group section [%5u]\n" -msgstr "ÒÁÚÄÅÌ [%5u] ÕÖÅ ÎÁÈÏÄÉÔÓÑ × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u]\n" +msgid "Can't use supplied machine %s" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÅÄÓÔÁ×ÌÅÎÎÕÀ ÍÁÛÉÎÕ %s" -#: readelf.c:4127 +#: objdump.c:1916 #, c-format -msgid "section 0 in group section [%5u]\n" -msgstr "ÒÁÚÄÅÌ 0 × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u]\n" +msgid "Can't disassemble for architecture %s\n" +msgstr "äÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÎÅ×ÏÚÍÏÖÎÏ ÄÌÑ ÁÒÈÉÔÅËÔÕÒÙ %s\n" -#: readelf.c:4224 +#: objdump.c:2006 #, c-format msgid "" "\n" -"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +"Can't get contents for section '%s'.\n" msgstr "" "\n" -"'%s' ÒÁÚÄÅÌ ÐÅÒÅÍÅÝÅÎÉÑ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %ld ÂÁÊÔ:\n" +"îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ '%s'.\n" -#: readelf.c:4236 +#: objdump.c:2143 #, c-format msgid "" +"No %s section present\n" "\n" -"There are no dynamic relocations in this file.\n" msgstr "" +"òÁÚÄÅÌ %s ÏÔÓÕÔÓÔ×ÕÅÔ\n" "\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÄÉÎÁÍÉÞÅÓËÉÈ ÐÅÒÅÍÅÝÅÎÉÊ .\n" -#: readelf.c:4260 +#: objdump.c:2152 +#, c-format +msgid "Reading %s section of %s failed: %s" +msgstr "þÔÅÎÉÅ %s ÒÁÚÄÅÌÁ %s ÚÁ×ÅÒÛÉÌÏÓØ ÎÅÕÄÁÞÅÊ: %s" + +#: objdump.c:2196 #, c-format msgid "" +"Contents of %s section:\n" "\n" -"Relocation section " msgstr "" +"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" "\n" -"òÁÚÄÅÌ ÐÅÒÅÍÅÝÅÎÉÑ " -#: readelf.c:4265 readelf.c:4666 readelf.c:4680 readelf.c:5025 +#: objdump.c:2323 #, c-format -msgid "'%s'" -msgstr "'%s'" +msgid "architecture: %s, " +msgstr "ÁÒÈÉÔÅËÔÕÒÁ: %s, " -#: readelf.c:4267 readelf.c:4682 readelf.c:5027 +#: objdump.c:2326 #, c-format -msgid " at offset 0x%lx contains %lu entries:\n" -msgstr " ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" +msgid "flags 0x%08x:\n" +msgstr "ÆÌÁÇÉ 0x%08x:\n" -#: readelf.c:4308 +#: objdump.c:2340 #, c-format msgid "" "\n" -"There are no relocations in this file.\n" +"start address 0x" msgstr "" "\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÐÅÒÅÍÅÝÅÎÉÊ.\n" - -#: readelf.c:4482 readelf.c:4862 -msgid "unwind table" -msgstr "ÒÁÚ×ÅÒÎÕÔÁÑ ÔÁÂÌÉÃÁ" +"ÎÁÞÁÌØÎÙÊ ÁÄÒÅÓ 0x" -#: readelf.c:4540 readelf.c:4959 +#: objdump.c:2380 #, c-format -msgid "Skipping unexpected relocation type %s\n" -msgstr "ðÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÐÅÒÅÍÅÝÅÎÉÑ %s\n" +msgid "Contents of section %s:\n" +msgstr "óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" -#: readelf.c:4598 readelf.c:5018 readelf.c:5069 +#: objdump.c:2505 #, c-format -msgid "" -"\n" -"There are no unwind sections in this file.\n" -msgstr "" -"\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÒÁÚ×ÅÒÎÕÔÙÈ ÒÁÚÄÅÌÏ×.\n" +msgid "no symbols\n" +msgstr "ÎÅÔ ÓÉÍ×ÏÌÏ×\n" -#: readelf.c:4661 +#: objdump.c:2512 #, c-format -msgid "" -"\n" -"Could not find unwind info section for " -msgstr "" -"\n" -"îÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÎÁÊÔÉ ÒÁÚÄÅÌ Ó ÒÁÚ×ÅÒÎÕÔÏÊ ÉÎÆÏÒÍÁÃÉÅÊ ÄÌÑ" - -#: readelf.c:4673 -msgid "unwind info" -msgstr "ÒÁÚ×ÅÒÎÕÔÁÑ ÉÎÆÏÒÍÁÃÉÑ" +msgid "no information for symbol number %ld\n" +msgstr "ÎÅÔ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÉÍ×ÏÌÅ ÎÏÍÅÒ %ld\n" -#: readelf.c:4675 readelf.c:5024 +#: objdump.c:2515 #, c-format -msgid "" -"\n" -"Unwind section " -msgstr "" -"\n" -"òÁÚ×ÅÒÎÕÔÙÊ ÒÁÚÄÅÌ " - -#: readelf.c:5228 readelf.c:5272 -msgid "dynamic section" -msgstr "ÄÉÎÁÍÉÞÅÓËÉÊ ÒÁÚÄÅÌ" +msgid "could not determine the type of symbol number %ld\n" +msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÓÉÍ×ÏÌÁ ÎÏÍÅÒ %ld\n" -#: readelf.c:5349 +#: objdump.c:2788 #, c-format msgid "" "\n" -"There is no dynamic section in this file.\n" +"%s: file format %s\n" msgstr "" "\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÒÁÚÄÅÌÁ.\n" - -#: readelf.c:5387 -msgid "Unable to seek to end of file!" -msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÄÏ ËÏÎÃÁ ÆÁÊÌÁ!" +"%s: ÆÏÒÍÁÔ ÆÁÊÌÁ %s\n" -#: readelf.c:5400 -msgid "Unable to determine the number of symbols to load\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÞÉÓÌÏ ÚÁÇÒÕÖÁÅÍÙÈ ÓÉÍ×ÏÌÏ×\n" +#: objdump.c:2845 +#, c-format +msgid "%s: printing debugging information failed" +msgstr "%s: ×Ù×ÏÄ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ" -#: readelf.c:5435 -msgid "Unable to seek to end of file\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÄÏ ËÏÎÃÁ ÆÁÊÌÁ\n" +#: objdump.c:2936 +#, c-format +msgid "In archive %s:\n" +msgstr "÷ ÁÒÈÉ×Å %s:\n" -#: readelf.c:5442 -msgid "Unable to determine the length of the dynamic string table\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÄÌÉÎÕ ÔÁÂÌÉÃÙ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË\n" +#: objdump.c:3058 +msgid "unrecognized -E option" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÐÃÉÑ -E" -#: readelf.c:5447 -msgid "dynamic string table" -msgstr "ÔÁÂÌÉÃÁ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË" +#: objdump.c:3069 +#, c-format +msgid "unrecognized --endian type `%s'" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ --endian ÔÉÐ `%s'" -#: readelf.c:5482 -msgid "symbol information" -msgstr "ÉÎÆÏÒÍÁÃÉÑ Ï ÓÉÍ×ÏÌÅ" +#: rdcoff.c:196 +#, c-format +msgid "parse_coff_type: Bad type code 0x%x" +msgstr "parse_coff_type: ðÌÏÈÏÊ ËÏÄ ÔÉÐÁ 0x%x" -#: readelf.c:5507 +#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 #, c-format -msgid "" -"\n" -"Dynamic section at offset 0x%lx contains %u entries:\n" -msgstr "" -"\n" -"äÉÎÁÍÉÞÅÓËÉÊ ÒÁÚÄÅÌ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %u ÐÕÎËÔÏ×:\n" +msgid "bfd_coff_get_syment failed: %s" +msgstr "bfd_coff_get_syment ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %s" -#: readelf.c:5510 +#: rdcoff.c:420 rdcoff.c:717 #, c-format -msgid " Tag Type Name/Value\n" -msgstr " ôÅÇ ôÉÐ éÍÑ/úÎÁÞ\n" +msgid "bfd_coff_get_auxent failed: %s" +msgstr "bfd_coff_get_auxent ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÄÁÞÅÊ: %s" -#: readelf.c:5546 +#: rdcoff.c:784 #, c-format -msgid "Auxiliary library" -msgstr "÷ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ" +msgid "%ld: .bf without preceding function" +msgstr "%ld: .bf ÂÅÚ ÐÒÅÄÛÅÓÔ×ÕÀÝÅÊ ÆÕÎËÃÉÉ" -#: readelf.c:5550 +#: rdcoff.c:834 #, c-format -msgid "Filter library" -msgstr "âÉÂÌÉÏÔÅËÁ ÆÉÌØÔÒÏ×" +msgid "%ld: unexpected .ef\n" +msgstr "%ld: ÎÅÏÖÉÄÁÎÎÙÊ .ef\n" -#: readelf.c:5554 +#: rddbg.c:85 #, c-format -msgid "Configuration file" -msgstr "æÁÊÌ ÎÁÓÔÒÏÊËÉ" +msgid "%s: no recognized debugging information" +msgstr "%s: ÎÅÔ ÒÁÓÐÏÚÎÁÎÎÏÊ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ" -#: readelf.c:5558 +#: rddbg.c:394 #, c-format -msgid "Dependency audit library" -msgstr "âÉÂÌÉÏÔÅËÁ ÁÕÄÉÔÁ ÚÁ×ÉÓÉÍÏÓÔÅÊ" +msgid "Last stabs entries before error:\n" +msgstr "ðÏÓÌÅÄÎÉÅ ÐÕÎËÔÙ stabs ÐÅÒÅÄ ÏÛÉÂËÏÊ:\n" -#: readelf.c:5562 +#: readelf.c:264 #, c-format -msgid "Audit library" -msgstr "âÉÂÌÉÏÔÅËÁ ÁÕÄÉÔÁ" +msgid "Unable to seek to 0x%lx for %s\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ 0x%lx ÄÌÑ %s\n" -#: readelf.c:5580 readelf.c:5608 readelf.c:5636 +#: readelf.c:279 #, c-format -msgid "Flags:" -msgstr "æÌÁÇÉ:" +msgid "Out of memory allocating 0x%lx bytes for %s\n" +msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÓÐÒÅÄÅÌÅÎÉÉ 0x%lx ÂÁÊÔ ÄÌÑ %s\n" -#: readelf.c:5583 readelf.c:5611 readelf.c:5638 +#: readelf.c:289 #, c-format -msgid " None\n" -msgstr " îÅÔ\n" +msgid "Unable to read in 0x%lx bytes of %s\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ 0x%lx ÂÁÊÔ ÉÚ %s\n" + +#: readelf.c:623 +msgid "Don't know about relocations on this machine architecture\n" +msgstr "îÅÉÚ×ÅÓÔÎÏ Ï ÐÅÒÅÍÅÝÅÎÉÑÈ ÄÌÑ ÜÔÏÊ ÁÒÈÉÔÅËÔÕÒÙ ÍÁÛÉÎÙ\n" + +#: readelf.c:643 readelf.c:671 readelf.c:715 readelf.c:743 +msgid "relocs" +msgstr "ÐÅÒÅÍÅÝÅÎÉÑ" + +#: readelf.c:654 readelf.c:682 readelf.c:726 readelf.c:754 +msgid "out of memory parsing relocs" +msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÚÂÏÒÅ ÐÅÒÅÍÅÝÅÎÉÊ" -#: readelf.c:5759 +#: readelf.c:808 #, c-format -msgid "Shared library: [%s]" -msgstr "óÏ×Í. ÉÓÐ. ÂÉÂÌÉÏÔÅËÁ: [%s]" +msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ + Addend\n" -#: readelf.c:5762 +#: readelf.c:810 #, c-format -msgid " program interpreter" -msgstr " ÉÎÔÅÒÐÒÅÔÁÔÏÒ ÐÒÏÇÒÁÍÍÙ" +msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×. + Addend\n" -#: readelf.c:5766 +#: readelf.c:815 #, c-format -msgid "Library soname: [%s]" -msgstr "âÉÂÌÉÏÔÅËÁ soname: [%s]" +msgid " Offset Info Type Sym. Value Symbol's Name\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×ÏÌÁ\n" -#: readelf.c:5770 +#: readelf.c:817 #, c-format -msgid "Library rpath: [%s]" -msgstr "âÉÂÌÉÏÔÅËÁ rpath: [%s]" +msgid " Offset Info Type Sym.Value Sym. Name\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ× éÍÑ ÓÉÍ×.\n" -#: readelf.c:5774 +#: readelf.c:825 #, c-format -msgid "Library runpath: [%s]" -msgstr "âÉÂÌÉÏÔÅËÁ runpath: [%s]" +msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞÅÎÉÅ ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ + Addend\n" -#: readelf.c:5837 +#: readelf.c:827 #, c-format -msgid "Not needed object: [%s]\n" -msgstr "îÅÎÕÖÎÙÊ ÏÂßÅËÔ: [%s]\n" +msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×. + Addend\n" -#: readelf.c:5951 +#: readelf.c:832 #, c-format -msgid "" -"\n" -"Version definition section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"òÁÚÄÅÌ ÏÐÉÓÁÎÉÑ ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %ld ÐÕÎËÔÏ×:\n" +msgid " Offset Info Type Symbol's Value Symbol's Name\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞÅÎÉÅ ÓÉÍ×. éÍÑ ÓÉÍ×ÏÌÁ\n" -#: readelf.c:5954 +#: readelf.c:834 #, c-format -msgid " Addr: 0x" -msgstr " áÄÒÅÓ: 0x" +msgid " Offset Info Type Sym. Value Sym. Name\n" +msgstr " óÍÅÝÅÎÉÅ éÎÆÏ ôÉÐ úÎÁÞ.ÓÉÍ×. éÍÑ ÓÉÍ×.\n" -#: readelf.c:5956 readelf.c:6148 +#: readelf.c:1127 readelf.c:1129 readelf.c:1238 readelf.c:1240 readelf.c:1249 +#: readelf.c:1251 #, c-format -msgid " Offset: %#08lx Link: %lx (%s)\n" -msgstr " óÍÅÝÅÎÉÅ: %#08lx óÓÙÌËÁ: %lx (%s)\n" - -#: readelf.c:5961 -msgid "version definition section" -msgstr "ÒÁÚÄÅÌ ÏÐÉÓÁÎÉÑ ×ÅÒÓÉÉ" +msgid "unrecognized: %-7lx" +msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ: %-7lx" -#: readelf.c:5987 +#: readelf.c:1154 #, c-format -msgid " %#06x: Rev: %d Flags: %s" -msgstr " %#06x: òÅ×ÉÚÉÑ: %d æÌÁÇÉ: %s" +msgid "" +msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ addend: %lx>" -#: readelf.c:5990 +#: readelf.c:1210 #, c-format -msgid " Index: %d Cnt: %d " -msgstr " éÎÄÅËÓ: %d óÞÅÔÞÉË: %d " +msgid "" +msgstr "<ÉÎÄÅËÓ ÔÁÂÌÉÃÙ ÓÔÒÏË: %3ld>" -#: readelf.c:6001 +#: readelf.c:1212 #, c-format -msgid "Name: %s\n" -msgstr "éÍÑ: %s\n" +msgid "" +msgstr "<ÐÏ×ÒÅÖÄÅÎ ÉÎÄÅËÓ ÔÁÂÌÉÃÙ ÓÔÒÏË: %3ld>" -#: readelf.c:6003 +#: readelf.c:1522 #, c-format -msgid "Name index: %ld\n" -msgstr "éÎÄÅËÓ ÉÍÅÎÉ: %ld\n" +msgid "Processor Specific: %lx" +msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ: %lx" -#: readelf.c:6018 +#: readelf.c:1543 #, c-format -msgid " %#06x: Parent %d: %s\n" -msgstr " %#06x: òÏÄÉÔÅÌØ %d: %s\n" +msgid "Operating System specific: %lx" +msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ: %lx" -#: readelf.c:6021 +#: readelf.c:1547 readelf.c:2349 #, c-format -msgid " %#06x: Parent %d, name index: %ld\n" -msgstr " %#06x: òÏÄÉÔÅÌØ %d, ÉÎÄÅËÓ ÉÍÅÎÉ: %ld\n" +msgid ": %lx" +msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %lx" -#: readelf.c:6040 -#, c-format -msgid "" -"\n" -"Version needs section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"òÁÚÄÅÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %ld ÐÕÎËÔÏ×:\n" +#: readelf.c:1560 +msgid "NONE (None)" +msgstr "îåô (îÅÔ)" -#: readelf.c:6043 -#, c-format -msgid " Addr: 0x" -msgstr " áÄÒÅÓ: 0x" +#: readelf.c:1561 +msgid "REL (Relocatable file)" +msgstr "REL (ðÅÒÅÍÅÝÁÅÍÙÊ ÆÁÊÌ)" -#: readelf.c:6045 -#, c-format -msgid " Offset: %#08lx Link to section: %ld (%s)\n" -msgstr " óÍÅÝÅÎÉÅ: %#08lx óÓÙÌËÁ ÎÁ ÒÁÚÄÅÌ: %ld (%s)\n" +#: readelf.c:1562 +msgid "EXEC (Executable file)" +msgstr "EXEC (éÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ)" -#: readelf.c:6050 -msgid "version need section" -msgstr "ÒÁÚÄÅÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ ×ÅÒÓÉÉ" +#: readelf.c:1563 +msgid "DYN (Shared object file)" +msgstr "DYN (óÏ×Í. ÉÓÐ. ÏÂßÅËÔÎÙÊ ÆÁÊÌ)" -#: readelf.c:6072 -#, c-format -msgid " %#06x: Version: %d" -msgstr " %#06x: ÷ÅÒÓÉÑ: %d" +#: readelf.c:1564 +msgid "CORE (Core file)" +msgstr "CORE (ïÓÎÏ×ÎÏÊ ÆÁÊÌ)" -#: readelf.c:6075 +#: readelf.c:1568 #, c-format -msgid " File: %s" -msgstr " æÁÊÌ: %s" +msgid "Processor Specific: (%x)" +msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ: (%x)" -#: readelf.c:6077 +#: readelf.c:1570 #, c-format -msgid " File: %lx" -msgstr " æÁÊÌ: %lx" +msgid "OS Specific: (%x)" +msgstr "óÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó: (%x)" -#: readelf.c:6079 +#: readelf.c:1572 readelf.c:1681 readelf.c:2541 #, c-format -msgid " Cnt: %d\n" -msgstr " óÞÅÔÞÉË: %d\n" +msgid ": %x" +msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ>: %x" -#: readelf.c:6097 -#, c-format -msgid " %#06x: Name: %s" -msgstr " %#06x: éÍÑ: %s" +#: readelf.c:1584 +msgid "None" +msgstr "îÅÔ" -#: readelf.c:6100 +#: readelf.c:2186 +msgid "Standalone App" +msgstr "éÚÏÌÉÒÏ×ÁÎÎÏÅ ÐÒÉÌÏÖÅÎÉÅ" + +#: readelf.c:2189 readelf.c:2948 readelf.c:2964 #, c-format -msgid " %#06x: Name index: %lx" -msgstr " %#06x: éÎÄÅËÓ ÉÍÅÎÉ: %lx" +msgid "" +msgstr "<ÎÅÉÚ×ÅÓÔÎÙÊ: %x>" -#: readelf.c:6103 +#: readelf.c:2586 #, c-format -msgid " Flags: %s Version: %d\n" -msgstr " æÌÁÇÉ: %s ÷ÅÒÓÉÑ: %d\n" +msgid "Usage: readelf elf-file(s)\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: readelf <ÏÐÃÉÉ> elf-ÆÁÊÌ(Ù)\n" -#: readelf.c:6139 -msgid "version string table" -msgstr "ÔÁÂÌÉÃÁ ÓÔÒÏË ×ÅÒÓÉÉ" +#: readelf.c:2587 +#, c-format +msgid " Display information about the contents of ELF format files\n" +msgstr " ïÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÄÅÒÖÉÍÏÍ ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ ELF\n" -#: readelf.c:6143 +#: readelf.c:2588 #, c-format msgid "" -"\n" -"Version symbols section '%s' contains %d entries:\n" +" Options are:\n" +" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header Display the ELF file header\n" +" -l --program-headers Display the program headers\n" +" --segments An alias for --program-headers\n" +" -S --section-headers Display the sections' header\n" +" --sections An alias for --section-headers\n" +" -g --section-groups Display the section groups\n" +" -t --section-details Display the section details\n" +" -e --headers Equivalent to: -h -l -S\n" +" -s --syms Display the symbol table\n" +" --symbols An alias for --syms\n" +" -n --notes Display the core notes (if present)\n" +" -r --relocs Display the relocations (if present)\n" +" -u --unwind Display the unwind info (if present)\n" +" -d --dynamic Display the dynamic section (if present)\n" +" -V --version-info Display the version sections (if present)\n" +" -A --arch-specific Display architecture specific information (if any).\n" +" -D --use-dynamic Use the dynamic section info when displaying symbols\n" +" -x --hex-dump= Dump the contents of section \n" +" -w[liaprmfFsoR] or\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +" Display the contents of DWARF2 debug sections\n" msgstr "" -"\n" -"òÁÚÄÅÌ ÓÉÍ×ÏÌÏ× ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %d ÐÕÎËÔÏ×:\n" +" ïÐÃÉÉ:\n" +" -a --all üË×É×ÁÌÅÎÔÎÁ: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÁ ÆÁÊÌÁ ELF\n" +" -l --program-headers ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ\n" +" --segments áÌÉÁÓ ÄÌÑ --program-headers\n" +" -S --section-headers ÷Ù×ÏÄ ÚÁÇÏÌÏ×ËÁ ÒÁÚÄÅÌÏ×\n" +" --sections áÌÉÁÓ ÄÌÑ --section-headers\n" +" -g --section-groups ÷Ù×ÏÄ ÇÒÕÐÐ ÒÁÚÄÅÌÏ×\n" +" -t --section-details ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÁÚÄÅÌÅ\n" +" -e --headers üË×É×ÁÌÅÎÔÎÁ: -h -l -S\n" +" -s --syms ÷Ù×ÏÄ ÔÁÂÌÉÃÙ ÓÉÍ×ÏÌÏ×\n" +" --symbols áÌÉÁÓ ÄÌÑ --syms\n" +" -n --notes ÷Ù×ÏÄ ÏÓÎÏ×ÎÙÈ ÚÁÐÉÓÅÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" +" -r --relocs ÷Ù×ÏÄ ÐÅÒÅÍÅÝÅÎÉÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" +" -u --unwind ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÁÓÐÉÓÙ×ÁÎÉÉ (ÅÓÌÉ ÉÍÅÅÔÓÑ)\n" +" -d --dynamic ÷Ù×ÏÄ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ (ÅÓÌÉ ÉÍÅÅÔÓÑ)\n" +" -V --version-info ÷Ù×ÏÄ ÒÁÚÄÅÌÏ× Ó ×ÅÒÓÉÅÊ (ÅÓÌÉ ÉÍÅÀÔÓÑ)\n" +" -A --arch-specific ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ, ÓÐÅÃÉÆÉÞÎÏÊ ÄÌÑ ÁÒÈÉÔÅËÔÕÒÙ (ÅÓÌÉ ÉÍÅÅÔÓÑ).\n" +" -D --use-dynamic éÓÐÏÌØÚÏ×ÁÎÉÅ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ ÒÁÚÄÅÌÁ ÐÒÉ ×Ù×ÏÄÅ ÓÉÍ×ÏÌÏ×\n" +" -x --hex-dump=<ÎÏÍÅÒ> äÁÍÐ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ <ÎÏÍÅÒ>\n" +" -w[liaprmfFsoR] ÉÌÉ\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=ranges,=macro,=frames,=str,=loc,=Ranges]\n" +" ÷Ù×ÏÄ ÓÏÄÅÒÖÉÍÏÇÏ ÏÔÌÁÄÏÞÎÙÈ ÒÁÚÄÅÌÏ× DWARF2\n" -#: readelf.c:6146 +#: readelf.c:2612 #, c-format -msgid " Addr: " -msgstr " áÄÒÅÓ: " - -#: readelf.c:6156 -msgid "version symbol data" -msgstr "ÄÁÎÎÙÅ ÓÉÍ×ÏÌÁ ×ÅÒÓÉÉ" - -#: readelf.c:6183 -msgid " 0 (*local*) " -msgstr " 0 (*ÌÏËÁÌØÎÙÊ*) " +msgid "" +" -i --instruction-dump=\n" +" Disassemble the contents of section \n" +msgstr "" +" -i --instruction-dump=<ÎÏÍÅÒ>\n" +" äÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÎÉÅ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ <ÎÏÍÅÒ>\n" -#: readelf.c:6187 -msgid " 1 (*global*) " -msgstr " 1 (*ÇÌÏÂÁÌØÎÙÊ*) " +#: readelf.c:2616 +#, c-format +msgid "" +" -I --histogram Display histogram of bucket list lengths\n" +" -W --wide Allow output width to exceed 80 characters\n" +" @ Read options from \n" +" -H --help Display this information\n" +" -v --version Display the version number of readelf\n" +msgstr "" +" -I --histogram ÷Ù×ÏÄ ÇÉÓÔÏÇÒÁÍÍÙ ÄÌÉÎ ÓÐÉÓËÁ ÕÞÁÓÔËÁ ÐÁÍÑÔÉ\n" +" -W --wide òÁÚÒÅÛÅÎÉÅ ÛÉÒÉÎÙ ×Ù×ÏÄÁ ÂÏÌÅÅ 80 ÓÉÍ×ÏÌÏ×\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" +" -H --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" +" -v --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ readelf\n" -#: readelf.c:6223 readelf.c:6677 -msgid "version need" -msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ" +#: readelf.c:2642 readelf.c:9180 +msgid "Out of memory allocating dump request table." +msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ ÐÒÉ ÒÁÚÍÅÝÅÎÉÉ ÄÁÍÐÁ ÔÁÂÌÉÃÙ ÚÁÐÒÏÓÁ." -#: readelf.c:6233 -msgid "version need aux (2)" -msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ aux (2)" +#: readelf.c:2816 readelf.c:2884 +#, c-format +msgid "Unrecognized debug option '%s'\n" +msgstr "îÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÔÌÁÄÏÞÎÁÑ ÏÐÃÉÑ '%s'\n" -#: readelf.c:6275 readelf.c:6740 -msgid "version def" -msgstr "ÏÐÉÓÁÎÉÅ ×ÅÒÓÉÉ" +#: readelf.c:2918 +#, c-format +msgid "Invalid option '-%c'\n" +msgstr "îÅ×ÅÒÎÁÑ ÏÐÃÉÑ '-%c'\n" -#: readelf.c:6294 readelf.c:6755 -msgid "version def aux" -msgstr "ÏÐÉÓÁÎÉÅ ×ÅÒÓÉÉ aux" +#: readelf.c:2932 +msgid "Nothing to do.\n" +msgstr "îÅÞÅÇÏ ×ÙÐÏÌÎÑÔØ.\n" -#: readelf.c:6325 -#, c-format -msgid "" -"\n" -"No version information found in this file.\n" -msgstr "" -"\n" -"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅ ÎÁÊÄÅÎÁ ÉÎÆÏÒÍÁÃÉÑ Ï ×ÅÒÓÉÉ.\n" +#: readelf.c:2944 readelf.c:2960 readelf.c:6169 +msgid "none" +msgstr "ÎÅÔ" -#: readelf.c:6456 -msgid "Unable to read in dynamic data\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÄÉÎÁÍÉÞÅÓËÉÅ ÄÁÎÎÙÅ\n" +#: readelf.c:2961 +msgid "2's complement, little endian" +msgstr "ÄÏÐÏÌÎÅÎÉÅ ÄÏ 2, little endian" -#: readelf.c:6509 -msgid "Unable to seek to start of dynamic information" -msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÏÔ ÎÁÞÁÌÁ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ" +#: readelf.c:2962 +msgid "2's complement, big endian" +msgstr "ÄÏÐÏÌÎÅÎÉÅ ÄÏ 2, big endian" -#: readelf.c:6515 -msgid "Failed to read in number of buckets\n" -msgstr "óÂÏÊ ÐÒÉ ÓÞÉÔÙ×ÁÎÉÉ ÞÉÓÌÁ ÏÂÌÁÓÔÅÊ ÐÁÍÑÔÉ\n" +#: readelf.c:2980 +msgid "Not an ELF file - it has the wrong magic bytes at the start\n" +msgstr "îÅ ELF-ÆÁÊÌ - ÏÎ ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÅ magic-ÂÁÊÔÙ × ÎÁÞÁÌÅ\n" -#: readelf.c:6521 -msgid "Failed to read in number of chains\n" -msgstr "óÂÏÊ ÐÒÉ ÓÞÉÔÙ×ÁÎÉÉ ÞÉÓÌÁ ÃÅÐÏÞÅË\n" +#: readelf.c:2988 +#, c-format +msgid "ELF Header:\n" +msgstr "úÁÇÏÌÏ×ÏË ELF:\n" -#: readelf.c:6541 +#: readelf.c:2989 #, c-format -msgid "" -"\n" -"Symbol table for image:\n" -msgstr "" -"\n" -"ôÁÂÌÉÃÁ ÓÉÍ×ÏÌÏ× ÄÌÑ ÉÚÏÂÒÁÖÅÎÉÑ:\n" +msgid " Magic: " +msgstr " Magic: " + +#: readelf.c:2993 +#, c-format +msgid " Class: %s\n" +msgstr " ëÌÁÓÓ: %s\n" -#: readelf.c:6543 +#: readelf.c:2995 #, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " ïÂÌÁÓÔÉ: úÎÁÞ òÁÚÍÅÒ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" +msgid " Data: %s\n" +msgstr " äÁÎÎÙÅ: %s\n" -#: readelf.c:6545 +#: readelf.c:2997 #, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " ïÂÌÁÓÔÉ: úÎÁÞ òÁÚÍÅÒ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" +msgid " Version: %d %s\n" +msgstr " ÷ÅÒÓÉÑ: %d %s\n" -#: readelf.c:6597 +#: readelf.c:3004 #, c-format -msgid "" -"\n" -"Symbol table '%s' contains %lu entries:\n" -msgstr "" -"\n" -"ôÁÂÌÉÃÁ ÓÉÍ×ÏÌÏ× '%s' ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" +msgid " OS/ABI: %s\n" +msgstr " OS/ABI: %s\n" -#: readelf.c:6601 +#: readelf.c:3006 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " þÉÓ: úÎÁÞ òÁÚÍ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" +msgid " ABI Version: %d\n" +msgstr " ÷ÅÒÓÉÑ ABI: %d\n" -#: readelf.c:6603 +#: readelf.c:3008 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " þÉÓ: úÎÁÞ òÁÚÍ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" +msgid " Type: %s\n" +msgstr " ôÉÐ: %s\n" -#: readelf.c:6649 -msgid "version data" -msgstr "ÄÁÎÎÙÅ ×ÅÒÓÉÉ" +#: readelf.c:3010 +#, c-format +msgid " Machine: %s\n" +msgstr " íÁÛÉÎÁ: %s\n" -#: readelf.c:6690 -msgid "version need aux (3)" -msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ aux (3)" +#: readelf.c:3012 +#, c-format +msgid " Version: 0x%lx\n" +msgstr " ÷ÅÒÓÉÑ: 0x%lx\n" -#: readelf.c:6715 -msgid "bad dynamic symbol" -msgstr "ÎÅ×ÅÒÎÙÊ ÄÉÎÁÍÉÞÅÓËÉÊ ÓÉÍ×ÏÌ" +#: readelf.c:3015 +#, c-format +msgid " Entry point address: " +msgstr " áÄÒÅÓ ÔÏÞËÉ ×ÈÏÄÁ: " -#: readelf.c:6778 +#: readelf.c:3017 #, c-format msgid "" "\n" -"Dynamic symbol information is not available for displaying symbols.\n" +" Start of program headers: " msgstr "" "\n" -"éÎÆÏÒÍÁÃÉÑ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÉÍ×ÏÌÁ ÎÅ ÄÏÓÔÕÐÎÁ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÉÍ×ÏÌÏ×.\n" +" îÁÞÁÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: " -#: readelf.c:6790 +#: readelf.c:3019 #, c-format msgid "" -"\n" -"Histogram for bucket list length (total of %lu buckets):\n" +" (bytes into file)\n" +" Start of section headers: " msgstr "" -"\n" -"çÉÓÔÏÇÒÁÍÍÁ ÄÌÑ ÄÌÉÎÙ ÓÐÉÓËÁ ÏÂÌÁÓÔÅÊ ÐÁÍÑÔÉ (×ÓÅÇÏ %lu ÏÂÌÁÓÔÅÊ):\n" +" (ÂÁÊÔ × ÆÁÊÌÅ)\n" +" îÁÞÁÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: " -#: readelf.c:6792 +#: readelf.c:3021 #, c-format -msgid " Length Number %% of total Coverage\n" -msgstr " äÌÉÎÁ þÉÓÌÏ %% ÏÔ ×ÓÅÇÏ ïÈ×ÁÔ\n" +msgid " (bytes into file)\n" +msgstr " (ÂÁÊÔ × ÆÁÊÌÅ)\n" -#: readelf.c:6797 readelf.c:6813 readelf.c:10967 readelf.c:11159 -msgid "Out of memory" -msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ" +#: readelf.c:3023 +#, c-format +msgid " Flags: 0x%lx%s\n" +msgstr " æÌÁÇÉ: 0x%lx%s\n" -#: readelf.c:6862 +#: readelf.c:3026 #, c-format -msgid "" -"\n" -"Dynamic info segment at offset 0x%lx contains %d entries:\n" -msgstr "" -"\n" -"óÅÇÍÅÎÔ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %d ÐÕÎËÔÏ×:\n" +msgid " Size of this header: %ld (bytes)\n" +msgstr " òÁÚÍÅÒ ÜÔÏÇÏ ÚÁÇÏÌÏ×ËÁ: %ld (ÂÁÊÔ)\n" -#: readelf.c:6865 +#: readelf.c:3028 #, c-format -msgid " Num: Name BoundTo Flags\n" -msgstr " þÉÓ: éÍÑ çÒÁÎÉÃÁ æÌÁÇÉ\n" +msgid " Size of program headers: %ld (bytes)\n" +msgstr " òÁÚÍÅÒ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: %ld (ÂÁÊÔ)\n" -#: readelf.c:6917 +#: readelf.c:3030 #, c-format -msgid "" -"\n" -"Assembly dump of section %s\n" -msgstr "" -"\n" -"óÂÏÒÏÞÎÙÊ ÄÁÍÐ ÒÁÚÄÅÌÁ %s\n" +msgid " Number of program headers: %ld\n" +msgstr " þÉÓÌÏ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ: %ld\n" + +#: readelf.c:3032 +#, c-format +msgid " Size of section headers: %ld (bytes)\n" +msgstr " òÁÚÍÅÒ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ: %ld (ÂÁÊÔ)\n" + +#: readelf.c:3034 +#, c-format +msgid " Number of section headers: %ld" +msgstr " þÉÓÌÏ ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ: %ld" + +#: readelf.c:3039 +#, c-format +msgid " Section header string table index: %ld" +msgstr " éÎÄÅËÓ ÔÁÂÌ. ÓÔÒÏË ÚÁÇÏÌ. ÒÁÚÄÅÌÁ: %ld" + +#: readelf.c:3070 readelf.c:3103 +msgid "program headers" +msgstr "ÚÁÇÏÌÏ×ËÉ ÐÒÏÇÒÁÍÍÙ" + +#: readelf.c:3141 readelf.c:3440 readelf.c:3481 readelf.c:3540 readelf.c:3603 +#: readelf.c:4208 readelf.c:4232 readelf.c:5510 readelf.c:5554 readelf.c:5752 +#: readelf.c:6734 readelf.c:6748 readelf.c:8564 readelf.c:8972 readelf.c:9039 +msgid "Out of memory\n" +msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ\n" -#: readelf.c:6938 +#: readelf.c:3168 #, c-format msgid "" "\n" -"Section '%s' has no data to dump.\n" +"There are no program headers in this file.\n" msgstr "" "\n" -"òÁÚÄÅÌ '%s' ÎÅ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÈ ÄÌÑ ÄÁÍÐÁ.\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ.\n" -#: readelf.c:6943 +#: readelf.c:3174 #, c-format msgid "" "\n" -"Hex dump of section '%s':\n" +"Elf file type is %s\n" msgstr "" "\n" -"Hex-ÄÁÍÐ ÒÁÚÄÅÌÁ '%s':\n" - -#: readelf.c:7090 -msgid "badly formed extended line op encountered!\n" -msgstr "×ÓÔÒÅÞÅÎ ÎÅ×ÅÒÎÏ ÓÆÏÒÍÉÒÏ×ÁÎÎÙÊ ÒÁÓÛÉÒÅÎÎÙÊ line-up!\n" +"ôÉÐ elf-ÆÁÊÌÁ - %s\n" -#: readelf.c:7097 +#: readelf.c:3175 #, c-format -msgid " Extended opcode %d: " -msgstr " òÁÓÛÉÒÅÎÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d: " +msgid "Entry point " +msgstr "ôÏÞËÁ ×ÈÏÄÁ " -#: readelf.c:7102 +#: readelf.c:3177 #, c-format msgid "" -"End of Sequence\n" "\n" +"There are %d program headers, starting at offset " msgstr "" -"ëÏÎÅà ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ\n" "\n" +"éÍÅÅÔÓÑ %d ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ, ÎÁÞÉÎÁÑ ÓÏ ÓÍÅÝÅÎÉÑ " -#: readelf.c:7108 -#, c-format -msgid "set Address to 0x%lx\n" -msgstr "ÕÓÔÁÎÏ×ËÁ ÁÄÒÅÓÁ × 0x%lx\n" - -#: readelf.c:7113 -#, c-format -msgid " define new File Table entry\n" -msgstr " ÏÐÒÅÄÅÌÅÎÉÅ ÎÏ×ÏÇÏ ÐÕÎËÔÁ ôÁÂÌÉÃÙ ÆÁÊÌÏ×\n" - -#: readelf.c:7114 readelf.c:9032 -#, c-format -msgid " Entry\tDir\tTime\tSize\tName\n" -msgstr " ðÕÎËÔ\tëÁÔÁÌÏÇ\t÷ÒÅÍÑ\tòÁÚÍÅÒ\téÍÑ\n" - -#: readelf.c:7116 -#, c-format -msgid " %d\t" -msgstr " %d\t" - -#: readelf.c:7119 readelf.c:7121 readelf.c:7123 readelf.c:9044 readelf.c:9046 -#: readelf.c:9048 -#, c-format -msgid "%lu\t" -msgstr "%lu\t" - -#: readelf.c:7124 +#: readelf.c:3189 readelf.c:3191 #, c-format msgid "" -"%s\n" "\n" +"Program Headers:\n" msgstr "" -"%s\n" "\n" +"úÁÇÏÌÏ×ËÉ ÐÒÏÇÒÁÍÍÙ:\n" -#: readelf.c:7128 +#: readelf.c:3195 #, c-format -msgid "UNKNOWN: length %d\n" -msgstr "îåéú÷åóôîùê: ÄÌÉÎÁ %d\n" - -#: readelf.c:7155 -msgid "debug_str section data" -msgstr "äÁÎÎÙÅ ÒÁÚÄÅÌÁ debug_str" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÇ ÷ÙÒÁ×Î\n" -#: readelf.c:7173 -msgid "" -msgstr "<ÎÅÔ ÒÁÚÄÅÌÁ .debug_str>" +#: readelf.c:3198 +#, c-format +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÇ ÷ÙÒÁ×Î\n" -#: readelf.c:7176 -msgid "" -msgstr "<ÓÍÅÝÅÎÉÅ ÓÌÉÛËÏÍ ×ÅÌÉËÏ>" +#: readelf.c:3202 +#, c-format +msgid " Type Offset VirtAddr PhysAddr\n" +msgstr " ôÉÐ óÍÅÝ. ÷ÉÒÔ.ÁÄÒ æÉÚ.ÁÄÒ\n" -#: readelf.c:7201 -msgid "debug_loc section data" -msgstr "äÁÎÎÙÅ ÒÁÚÄÅÌÁ debug_loc" +#: readelf.c:3204 +#, c-format +msgid " FileSiz MemSiz Flags Align\n" +msgstr " òÚÍ.ÆÊÌ òÚÍ.ÐÍ æÌÁÇÉ ÷ÙÒÁ×Î\n" -#: readelf.c:7235 -msgid "debug_range section data" -msgstr "äÁÎÎÙÅ ÒÁÚÄÅÌÁ debug_range" +#: readelf.c:3297 +msgid "more than one dynamic segment\n" +msgstr "ÂÏÌÅÅ ÏÄÎÏÇÏ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ\n" -#: readelf.c:7307 -#, c-format -msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" -msgstr "%s: ÐÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÓÉÍ×ÏÌÁ %s × ÐÅÒÅÍÅÝÅÎÉÉ × ÒÁÚÄÅÌÅ .rela%s\n" +#: readelf.c:3308 +msgid "no .dynamic section in the dynamic segment" +msgstr "× ÄÉÎÁÍÉÞÅÓËÏÍ ÓÅÇÍÅÎÔÅ ÎÅÔ ÒÁÚÄÅÌÁ .dynamic" -#: readelf.c:7321 -#, c-format -msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" -msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÓÉÍ×ÏÌÁ %s × ÐÅÒÅÍÅÝÅÎÉÉ × ÒÁÚÄÅÌÅ .rela%s\n" +#: readelf.c:3317 +msgid "the .dynamic section is not contained within the dynamic segment" +msgstr "× ÄÉÎÁÍÉÞÅÓËÏÍ ÓÅÇÍÅÎÔÅ ÎÅ ÓÏÄÅÒÖÉÔÓÑ ÒÁÚÄÅÌ .dynamic" -#: readelf.c:7565 -#, c-format -msgid "Unknown TAG value: %lx" -msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ TAG: %lx" +#: readelf.c:3319 +msgid "the .dynamic section is not the first section in the dynamic segment." +msgstr "ÒÁÚÄÅÌ .dynamic ÎÅ Ñ×ÌÑÅÔÓÑ ÐÅÒ×ÙÍ ÒÁÚÄÅÌÏÍ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÅÇÍÅÎÔÁ" -#: readelf.c:7601 -#, c-format -msgid "Unknown FORM value: %lx" -msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ FORM: %lx" +#: readelf.c:3333 +msgid "Unable to find program interpreter name\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÉÍÑ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ ÐÒÏÇÒÁÍÍÙ\n" -#: readelf.c:7610 +#: readelf.c:3340 #, c-format -msgid " %lu byte block: " -msgstr " %lu-ÂÁÊÔÏ×ÙÊ ÂÌÏË: " +msgid "" +"\n" +" [Requesting program interpreter: %s]" +msgstr "" +"\n" +" [úÁÐÒÁÛÉ×ÁÅÍÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ÐÒÏÇÒÁÍÍÙ: %s]" -#: readelf.c:7944 +#: readelf.c:3352 #, c-format -msgid "(User defined location op)" -msgstr "(ïÐÒÅÄÅÌÅÎÎÏÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÒÁÚÍÅÝÅÎÉÅ ÏÐÅÒÁÃÉÉ)" +msgid "" +"\n" +" Section to Segment mapping:\n" +msgstr "" +"\n" +" óÏÏÔ×ÅÔÓÔ×ÉÅ ÒÁÚÄÅÌ-ÓÅÇÍÅÎÔ:\n" -#: readelf.c:7946 +#: readelf.c:3353 #, c-format -msgid "(Unknown location op)" -msgstr "(îÅÉÚ×ÅÓÔÎÏÅ ÒÁÚÍÅÝÅÎÉÅ ÏÐÅÒÁÃÉÉ)" - -#: readelf.c:8015 -msgid "Internal error: DWARF version is not 2 or 3.\n" -msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: ÎÏÍÅÒ ×ÅÒÓÉÉ DWARF ÎÅ 2 ÉÌÉ 3.\n" +msgid " Segment Sections...\n" +msgstr " óÅÇÍÅÎÔ òÁÚÄÅÌÙ...\n" -#: readelf.c:8113 -msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" -msgstr "DW_FORM_data8 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ, ËÏÇÄÁ sizeof (ÄÌÉÎÎÏÅ ÃÅÌÏÅ ÞÉÓÌÏ ÂÅÚ ÚÎÁËÁ) != 8\n" +#: readelf.c:3402 +msgid "Cannot interpret virtual addresses without program headers.\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÎÔÅÒÐÒÅÔÉÒÏ×ÁÔØ ×ÉÒÔÕÁÌØÎÙÅ ÁÄÒÅÓÁ ÂÅÚ ÚÁÇÏÌÏ×ËÏ× ÐÒÏÇÒÁÍÍÙ.\n" -#: readelf.c:8162 +#: readelf.c:3418 #, c-format -msgid " (indirect string, offset: 0x%lx): %s" -msgstr " (ËÏÓ×ÅÎÎÁÑ ÓÔÒÏËÁ, ÓÍÅÝÅÎÉÅ: 0x%lx): %s" +msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" +msgstr "÷ÉÒÔÕÁÌØÎÙÊ ÁÄÒÅÓ 0x%lx ÎÅ ÒÁÚÍÅÝÅÎ × ËÁËÏÍ-ÌÉÂÏ ÓÅÇÍÅÎÔÅ PT_LOAD.\n" -#: readelf.c:8171 -#, c-format -msgid "Unrecognized form: %d\n" -msgstr "îÅÒÁÓÐÏÚÎÁÎÎÁÑ ÆÏÒÍÁ: %d\n" +#: readelf.c:3432 readelf.c:3473 +msgid "section headers" +msgstr "ÚÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÏ×" -#: readelf.c:8256 -#, c-format -msgid "(not inlined)" -msgstr "(ÎÅ ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ)" +#: readelf.c:3517 readelf.c:3580 +msgid "symbols" +msgstr "ÓÉÍ×ÏÌÙ" -#: readelf.c:8259 -#, c-format -msgid "(inlined)" -msgstr "(×ÎÕÔÒÉÓÔÒÏÞÎÙÊ)" +#: readelf.c:3527 readelf.c:3590 +msgid "symtab shndx" +msgstr "symtab shndx" -#: readelf.c:8262 +#: readelf.c:3817 readelf.c:4192 #, c-format -msgid "(declared as inline but ignored)" -msgstr "(ÏÂßÑ×ÌÅÎ ËÁË ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ, ÎÏ ÐÒÏÐÕÝÅÎ)" +msgid "" +"\n" +"There are no sections in this file.\n" +msgstr "" +"\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÒÁÚÄÅÌÏ×.\n" -#: readelf.c:8265 +#: readelf.c:3823 #, c-format -msgid "(declared as inline and inlined)" -msgstr "(ÏÂßÑ×ÌÅÎ ËÁË ×ÎÕÔÒÉÓÔÒÏÞÎÙÊ, ÔÁË É ÅÓÔØ)" +msgid "There are %d section headers, starting at offset 0x%lx:\n" +msgstr "éÍÅÅÔÓÑ %d ÚÁÇÏÌÏ×ËÏ× ÒÁÚÄÅÌÁ, ÎÁÞÉÎÁÑ ÓÏ ÓÍÅÝÅÎÉÑ 0x%lx:\n" -#: readelf.c:8268 -#, c-format -msgid " (Unknown inline attribute value: %lx)" -msgstr " (îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ ×ÎÕÔÒÉÓÔÒÏÞÎÏÇÏ ÁÔÒÉÂÕÔÁ: %lx)" +#: readelf.c:3842 readelf.c:4309 readelf.c:4544 readelf.c:4852 readelf.c:5267 +#: readelf.c:6906 +msgid "string table" +msgstr "ÔÁÂÌÉÃÁ ÓÔÒÏË" -#: readelf.c:8413 readelf.c:9537 +#: readelf.c:3881 #, c-format -msgid " [without DW_AT_frame_base]" -msgstr " [ÂÅÚ DW_AT_frame_base]" +msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" +msgstr "òÁÚÄÅÌ %d ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÊ sh_entsize %lx (ÏÖÉÄÁÌÏÓØ %lx)\n" -#: readelf.c:8416 -#, c-format -msgid "(location list)" -msgstr "(ÓÐÉÓÏË ÍÅÓÔÏÐÏÌÏÖÅÎÉÑ)" +#: readelf.c:3901 +msgid "File contains multiple dynamic symbol tables\n" +msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×\n" -#: readelf.c:8534 -#, c-format -msgid "Unknown AT value: %lx" -msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÚÎÁÞÅÎÉÅ AT: %lx " +#: readelf.c:3914 +msgid "File contains multiple dynamic string tables\n" +msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË\n" -#: readelf.c:8602 -msgid "No comp units in .debug_info section ?" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_info ÎÅÔ ÜÌÅÍÅÎÔÏ× comp?" +#: readelf.c:3919 +msgid "dynamic strings" +msgstr "ÄÉÎÁÍÉÞÅÓËÉÅ ÓÔÒÏËÉ" -#: readelf.c:8611 -#, c-format -msgid "Not enough memory for a debug info array of %u entries" -msgstr "îÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ ÄÌÑ ÍÁÓÓÉ×Á Ó ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ ÉÚ %u ÜÌÅÍÅÎÔÏ×" +#: readelf.c:3926 +msgid "File contains multiple symtab shndx tables\n" +msgstr "æÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÓËÏÌØËÏ ÔÁÂÌÉà symtab shndx\n" -#: readelf.c:8619 readelf.c:9630 +#: readelf.c:3973 #, c-format msgid "" -"The section %s contains:\n" "\n" +"Section Headers:\n" msgstr "" -"òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ:\n" "\n" +"úÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÏ×:\n" -#: readelf.c:8693 +#: readelf.c:3975 #, c-format -msgid " Compilation Unit @ %lx:\n" -msgstr " åÄÉÎÉÃÁ ËÏÍÐÉÌÑÃÉÉ @ %lx:\n" +msgid "" +"\n" +"Section Header:\n" +msgstr "" +"\n" +"úÁÇÏÌÏ×ÏË ÒÁÚÄÅÌÁ:\n" -#: readelf.c:8694 +#: readelf.c:3981 readelf.c:3992 readelf.c:4003 #, c-format -msgid " Length: %ld\n" -msgstr " äÌÉÎÁ: %ld\n" +msgid " [Nr] Name\n" +msgstr " [Nr] éÍÑ\n" -#: readelf.c:8695 +#: readelf.c:3982 #, c-format -msgid " Version: %d\n" -msgstr " ÷ÅÒÓÉÑ: %d\n" +msgid " Type Addr Off Size ES Lk Inf Al\n" +msgstr " ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES óÓ éÎÆ Al\n" -#: readelf.c:8696 +#: readelf.c:3986 #, c-format -msgid " Abbrev Offset: %ld\n" -msgstr " óÍÅÝ. ÁÂÂÒÅ×: %ld\n" +msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" +msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES æÌÇ óÓ éÎÆ Al\n" -#: readelf.c:8697 +#: readelf.c:3993 #, c-format -msgid " Pointer Size: %d\n" -msgstr " òÁÚÍ. ÕËÁÚÁÔ: %d\n" - -#: readelf.c:8702 -msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" -msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÏÔÌÁÄÏÞÎÁÑ ÉÎÆÏÒÍÁÃÉÑ ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" +msgid " Type Address Off Size ES Lk Inf Al\n" +msgstr " ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES óÓ éÎÆ Al\n" -#: readelf.c:8717 -msgid "Unable to locate .debug_abbrev section!\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÁÚÍÅÝÅÎÉÅ ÒÁÚÄÅÌÁ .debug_abbrev!\n" +#: readelf.c:3997 +#, c-format +msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" +msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝ òÁÚÍ ES æÌÇ ìË éÎÆ Al\n" -#: readelf.c:8722 -msgid "debug_abbrev section data" -msgstr "äÁÎÎÙÅ ÒÁÚÄÅÌÁ debug_abbrev" +#: readelf.c:4004 +#, c-format +msgid " Type Address Offset Link\n" +msgstr " ôÉÐ áÄÒÅÓ óÍÅÝÅÎÉÅ óÓÙÌËÁ\n" -#: readelf.c:8759 +#: readelf.c:4005 #, c-format -msgid "Unable to locate entry %lu in the abbreviation table\n" -msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÁÚÍÅÝÅÎÉÅ ÐÕÎËÔÁ %lu × ÔÁÂÌÉÃÅ ÁÂÂÒÅ×ÉÁÃÉÉ\n" +msgid " Size EntSize Info Align\n" +msgstr " òÁÚÍÅÒ òÁÚÍ.Ent éÎÆÏ ÷ÙÒÁ×Î\n" -#: readelf.c:8765 +#: readelf.c:4009 #, c-format -msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" -msgstr " <%d><%lx>: îÏÍÅÒ ÁÂÂÒÅ×: %lu (%s)\n" +msgid " [Nr] Name Type Address Offset\n" +msgstr " [îÍ] éÍÑ ôÉÐ áÄÒÅÓ óÍÅÝÅÎÉÅ\n" -#: readelf.c:8838 +#: readelf.c:4010 #, c-format -msgid "%s section needs a populated .debug_info section\n" -msgstr "òÁÚÄÅÌÕ %s ÎÅÏÂÈÏÄÉÍ ÚÁÐÏÌÎÅÎÎÙÊ ÒÁÚÄÅÌ .debug_info\n" +msgid " Size EntSize Flags Link Info Align\n" +msgstr " òÁÚÍÅÒ òÁÚÍ.Ent æÌÁÇÉ óÓÙÌË éÎÆÏ ÷ÙÒÁ×Î\n" -#: readelf.c:8845 +#: readelf.c:4015 #, c-format -msgid "%s section has more comp units than .debug_info section\n" -msgstr "òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ ÂÏÌØÛÅ ÜÌÅÍÅÎÔÏ× comp, ÞÅÍ ÒÁÚÄÅÌ .debug_info\n" +msgid " Flags\n" +msgstr " æÌÁÇÉ\n" -#: readelf.c:8847 +#: readelf.c:4150 #, c-format msgid "" -"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" -"\n" +"Key to Flags:\n" +" W (write), A (alloc), X (execute), M (merge), S (strings)\n" +" I (info), L (link order), G (group), x (unknown)\n" +" O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -"ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÞÔÏ ÒÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ - %d, ÏÔ ÐÏÓÌÅÄÎÅÇÏ ÜÌÅÍÅÎÔÁ comp × .debug_info\n" -"\n" +"ïÂÏÚÎÁÞÅÎÉÑ ÆÌÁÇÏ×:\n" +" W (ÚÁÐÉÓØ), A (ÎÁÚÎÁÞ), X (ÉÓÐÏÌÎÑÅÍÙÊ), M (ÓÌÉÑÎÉÅ), S (ÓÔÒÏËÉ)\n" +" I (ÉÎÆÏ), L (ÐÏÒÑÄÏË ÓÓÙÌÏË), G (ÇÒÕÐÐÁ), x (ÎÅÉÚ×.)\n" +" O (ÔÒÅÂ. ÄÏÐ. ÏÂÒÁÂÏÔËÁ ïó) o (ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ïó), p (ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ÐÒÏÃÅÓÓÏÒÁ)\n" + +#: readelf.c:4168 +#, c-format +msgid "[: 0x%x]" +msgstr "[<ÎÅÉÚ×ÅÓÔÎÙÊ>: 0x%x]" -#: readelf.c:8891 -msgid "extracting information from .debug_info section" -msgstr "ÉÚ×ÌÅËÁÅÔÓÑ ÉÎÆÏÒÍÁÃÉÑ ÉÚ ÒÁÚÄÅÌÁ .debug_info" +#: readelf.c:4199 +msgid "Section headers are not available!\n" +msgstr "îÅÄÏÓÔÕÐÎÙ ÚÁÇÏÌÏ×ËÉ ÒÁÚÄÅÌÁ!\n" -#: readelf.c:8909 +#: readelf.c:4223 #, c-format msgid "" "\n" -"Dump of debug contents of section %s:\n" -"\n" +"There are no section groups in this file.\n" msgstr "" "\n" -"äÁÍÐ ÄÌÑ ÏÔÌÁÄËÉ ÓÏÄÅÒÖÉÍÏÇÏ ÒÁÚÄÅÌÁ %s:\n" -"\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÇÒÕÐÐ ÒÁÚÄÅÌÏ×.\n" -#: readelf.c:8948 -msgid "The line info appears to be corrupt - the section is too small\n" -msgstr "ðÏÈÏÖÅ, ÞÔÏ ÓÔÒÏËÁ ÉÎÆÏ ÐÏ×ÒÅÖÄÅÎÁ - ÒÁÚÄÅÌ ÓÌÉÛËÏÍ ÍÁÌ\n" +#: readelf.c:4259 +#, c-format +msgid "Bad sh_link in group section `%s'\n" +msgstr "îÅ×ÅÒÎÙÊ sh_link × ÒÁÚÄÅÌÅ ÇÒÕÐÐ `%s'\n" -#: readelf.c:8957 -msgid "Only DWARF version 2 and 3 line info is currently supported.\n" -msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÓÔÒÏËÉ ÉÎÆÏ ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" +#: readelf.c:4278 +#, c-format +msgid "Bad sh_info in group section `%s'\n" +msgstr "îÅ×ÅÒÎÙÊ sh_info × ÒÁÚÄÅÌÅ ÇÒÕÐÐ `%s'\n" -#: readelf.c:8984 +#: readelf.c:4317 readelf.c:7243 +msgid "section data" +msgstr "ÄÁÎÎÙÅ ÒÁÚÄÅÌÁ" + +#: readelf.c:4329 #, c-format -msgid " Length: %ld\n" -msgstr " äÌÉÎÁ: %ld\n" +msgid " [Index] Name\n" +msgstr " [éÎÄÅËÓ] éÍÑ\n" -#: readelf.c:8985 +#: readelf.c:4343 #, c-format -msgid " DWARF Version: %d\n" -msgstr " DWARF ×ÅÒÓÉÑ: %d\n" +msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n" +msgstr "ÒÁÚÄÅÌ [%5u] ÕÖÅ ÎÁÈÏÄÉÔÓÑ × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u] > ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÄÅÌ [%5u]\n" -#: readelf.c:8986 +#: readelf.c:4349 #, c-format -msgid " Prologue Length: %d\n" -msgstr " äÌÉÎÁ ÐÒÏÌÏÇÁ: %d\n" +msgid "invalid section [%5u] in group section [%5u]\n" +msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌ [%5u] × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u]\n" -#: readelf.c:8987 +#: readelf.c:4359 #, c-format -msgid " Minimum Instruction Length: %d\n" -msgstr " íÉÎÉÍ. ÄÌÉÎÁ ÉÎÓÔÒÕËÃÉÉ: %d\n" +msgid "section [%5u] in group section [%5u] already in group section [%5u]\n" +msgstr "ÒÁÚÄÅÌ [%5u] ÉÚ ÒÁÚÄÅÌÁ ÇÒÕÐÐ [%5u] ÕÖÅ ÎÁÈÏÄÉÔÓÑ × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u]\n" -#: readelf.c:8988 +#: readelf.c:4372 #, c-format -msgid " Initial value of 'is_stmt': %d\n" -msgstr " îÁÞ. ÚÎÁÞÅÎÉÅ 'is_stmt': %d\n" +msgid "section 0 in group section [%5u]\n" +msgstr "ÒÁÚÄÅÌ 0 × ÒÁÚÄÅÌÅ ÇÒÕÐÐ [%5u]\n" -#: readelf.c:8989 +#: readelf.c:4468 #, c-format -msgid " Line Base: %d\n" -msgstr " ïÓÎÏ×ÁÎÉÅ ÓÔÒÏËÉ: %d\n" +msgid "" +"\n" +"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +msgstr "" +"\n" +"'%s' ÒÁÚÄÅÌ ÐÅÒÅÍÅÝÅÎÉÑ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %ld ÂÁÊÔ:\n" -#: readelf.c:8990 +#: readelf.c:4480 #, c-format -msgid " Line Range: %d\n" -msgstr " äÉÁÐÁÚÏÎ ÓÔÒÏËÉ: %d\n" +msgid "" +"\n" +"There are no dynamic relocations in this file.\n" +msgstr "" +"\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÄÉÎÁÍÉÞÅÓËÉÈ ÐÅÒÅÍÅÝÅÎÉÊ .\n" -#: readelf.c:8991 +#: readelf.c:4504 #, c-format -msgid " Opcode Base: %d\n" -msgstr " ïÓÎÏ×ÁÎÉÅ ËÏÄÁ ÏÐÅÒÁÃÉÉ: %d\n" +msgid "" +"\n" +"Relocation section " +msgstr "" +"\n" +"òÁÚÄÅÌ ÐÅÒÅÍÅÝÅÎÉÑ " + +#: readelf.c:4509 readelf.c:4928 readelf.c:4942 readelf.c:5282 +#, c-format +msgid "'%s'" +msgstr "'%s'" -#: readelf.c:8992 +#: readelf.c:4511 readelf.c:4944 readelf.c:5284 #, c-format -msgid " (Pointer size: %u)\n" -msgstr " (òÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ: %u)\n" +msgid " at offset 0x%lx contains %lu entries:\n" +msgstr " ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" -#: readelf.c:9001 +#: readelf.c:4563 #, c-format msgid "" "\n" -" Opcodes:\n" +"There are no relocations in this file.\n" msgstr "" "\n" -" ëÏÄÙ ÏÐÅÒÁÃÉÊ:\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÐÅÒÅÍÅÝÅÎÉÊ.\n" + +#: readelf.c:4742 readelf.c:5124 +msgid "unwind table" +msgstr "ÒÁÚ×ÅÒÎÕÔÁÑ ÔÁÂÌÉÃÁ" -#: readelf.c:9004 +#: readelf.c:4801 readelf.c:5214 #, c-format -msgid " Opcode %d has %d args\n" -msgstr " ëÏÄ ÏÐÅÒÁÃÉÉ %d ÓÏÄÅÒÖÉÔ %d ÁÒÇÕÍÅÎÔÏ×\n" +msgid "Skipping unexpected relocation type %s\n" +msgstr "ðÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÐÅÒÅÍÅÝÅÎÉÑ %s\n" -#: readelf.c:9010 +#: readelf.c:4860 readelf.c:5275 readelf.c:5326 #, c-format msgid "" "\n" -" The Directory Table is empty.\n" +"There are no unwind sections in this file.\n" msgstr "" "\n" -" ôÁÂÌÉÃÁ ËÁÔÁÌÏÇÏ× ÐÕÓÔÁ.\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÒÁÚ×ÅÒÎÕÔÙÈ ÒÁÚÄÅÌÏ×.\n" -#: readelf.c:9013 +#: readelf.c:4923 #, c-format msgid "" "\n" -" The Directory Table:\n" +"Could not find unwind info section for " msgstr "" "\n" -" ôÁÂÌÉÃÁ ËÁÔÁÌÏÇÏ×:\n" +"îÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÎÁÊÔÉ ÒÁÚÄÅÌ Ó ÒÁÚ×ÅÒÎÕÔÏÊ ÉÎÆÏÒÍÁÃÉÅÊ ÄÌÑ" -#: readelf.c:9017 -#, c-format -msgid " %s\n" -msgstr " %s\n" +#: readelf.c:4935 +msgid "unwind info" +msgstr "ÒÁÚ×ÅÒÎÕÔÁÑ ÉÎÆÏÒÍÁÃÉÑ" -#: readelf.c:9028 +#: readelf.c:4937 readelf.c:5281 #, c-format msgid "" "\n" -" The File Name Table is empty.\n" +"Unwind section " msgstr "" "\n" -" ôÁÂÌÉÃÁ ÉÍÅÎ ÆÁÊÌÏ× ÐÕÓÔÁ.\n" +"òÁÚ×ÅÒÎÕÔÙÊ ÒÁÚÄÅÌ " -#: readelf.c:9031 +#: readelf.c:5491 readelf.c:5535 +msgid "dynamic section" +msgstr "ÄÉÎÁÍÉÞÅÓËÉÊ ÒÁÚÄÅÌ" + +#: readelf.c:5612 #, c-format msgid "" "\n" -" The File Name Table:\n" +"There is no dynamic section in this file.\n" msgstr "" "\n" -" ôÁÂÌÉÃÁ ÉÍÅÎ ÆÁÊÌÏ×:\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅÔ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÒÁÚÄÅÌÁ.\n" -#: readelf.c:9039 -#, c-format -msgid " %d\t" -msgstr " %d\t" +#: readelf.c:5650 +msgid "Unable to seek to end of file!" +msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÄÏ ËÏÎÃÁ ÆÁÊÌÁ!" -#: readelf.c:9050 -#, c-format -msgid "%s\n" -msgstr "%s\n" +#: readelf.c:5663 +msgid "Unable to determine the number of symbols to load\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÞÉÓÌÏ ÚÁÇÒÕÖÁÅÍÙÈ ÓÉÍ×ÏÌÏ×\n" -#. Now display the statements. -#: readelf.c:9058 +#: readelf.c:5698 +msgid "Unable to seek to end of file\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÄÏ ËÏÎÃÁ ÆÁÊÌÁ\n" + +#: readelf.c:5705 +msgid "Unable to determine the length of the dynamic string table\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÄÌÉÎÕ ÔÁÂÌÉÃÙ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË\n" + +#: readelf.c:5710 +msgid "dynamic string table" +msgstr "ÔÁÂÌÉÃÁ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÔÒÏË" + +#: readelf.c:5745 +msgid "symbol information" +msgstr "ÉÎÆÏÒÍÁÃÉÑ Ï ÓÉÍ×ÏÌÅ" + +#: readelf.c:5770 #, c-format msgid "" "\n" -" Line Number Statements:\n" +"Dynamic section at offset 0x%lx contains %u entries:\n" msgstr "" "\n" -" ïÐÅÒÁÔÏÒÙ ÎÏÍÅÒÁ ÓÔÒÏËÉ:\n" +"äÉÎÁÍÉÞÅÓËÉÊ ÒÁÚÄÅÌ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %u ÐÕÎËÔÏ×:\n" -#: readelf.c:9073 +#: readelf.c:5773 #, c-format -msgid " Special opcode %d: advance Address by %d to 0x%lx" -msgstr " óÐÅÃÉÁÌØÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d: ÐÒÏÄ×ÉÖÅÎÉÅ ÁÄÒÅÓÁ ÎÁ %d × 0x%lx" +msgid " Tag Type Name/Value\n" +msgstr " ôÅÇ ôÉÐ éÍÑ/úÎÁÞ\n" -#: readelf.c:9077 +#: readelf.c:5809 #, c-format -msgid " and Line by %d to %d\n" -msgstr " É ÓÔÒÏËÉ ÎÁ %d × %d\n" +msgid "Auxiliary library" +msgstr "÷ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ" -#: readelf.c:9088 +#: readelf.c:5813 #, c-format -msgid " Copy\n" -msgstr " ëÏÐÉÑ\n" +msgid "Filter library" +msgstr "âÉÂÌÉÏÔÅËÁ ÆÉÌØÔÒÏ×" -#: readelf.c:9095 +#: readelf.c:5817 #, c-format -msgid " Advance PC by %d to %lx\n" -msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞÅÔÞÉËÁ ËÏÍÁÎÄ ÎÁ %d × %lx\n" +msgid "Configuration file" +msgstr "æÁÊÌ ÎÁÓÔÒÏÊËÉ" -#: readelf.c:9103 +#: readelf.c:5821 #, c-format -msgid " Advance Line by %d to %d\n" -msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÔÒÏËÉ ÎÁ %d × %d\n" +msgid "Dependency audit library" +msgstr "âÉÂÌÉÏÔÅËÁ ÁÕÄÉÔÁ ÚÁ×ÉÓÉÍÏÓÔÅÊ" -#: readelf.c:9110 +#: readelf.c:5825 #, c-format -msgid " Set File Name to entry %d in the File Name Table\n" -msgstr " õÓÔÁÎÏ×ËÁ ÉÍÅÎÉ ÆÁÊÌÁ × ÐÕÎËÔ %d × ÔÁÂÌÉÃÅ ÉÍÅÎ ÆÁÊÌÏ×\n" +msgid "Audit library" +msgstr "âÉÂÌÉÏÔÅËÁ ÁÕÄÉÔÁ" + +#: readelf.c:5843 readelf.c:5871 readelf.c:5899 +#, c-format +msgid "Flags:" +msgstr "æÌÁÇÉ:" + +#: readelf.c:5846 readelf.c:5874 readelf.c:5901 +#, c-format +msgid " None\n" +msgstr " îÅÔ\n" + +#: readelf.c:6022 +#, c-format +msgid "Shared library: [%s]" +msgstr "óÏ×Í. ÉÓÐ. ÂÉÂÌÉÏÔÅËÁ: [%s]" + +#: readelf.c:6025 +#, c-format +msgid " program interpreter" +msgstr " ÉÎÔÅÒÐÒÅÔÁÔÏÒ ÐÒÏÇÒÁÍÍÙ" + +#: readelf.c:6029 +#, c-format +msgid "Library soname: [%s]" +msgstr "âÉÂÌÉÏÔÅËÁ soname: [%s]" + +#: readelf.c:6033 +#, c-format +msgid "Library rpath: [%s]" +msgstr "âÉÂÌÉÏÔÅËÁ rpath: [%s]" + +#: readelf.c:6037 +#, c-format +msgid "Library runpath: [%s]" +msgstr "âÉÂÌÉÏÔÅËÁ runpath: [%s]" + +#: readelf.c:6100 +#, c-format +msgid "Not needed object: [%s]\n" +msgstr "îÅÎÕÖÎÙÊ ÏÂßÅËÔ: [%s]\n" -#: readelf.c:9118 +#: readelf.c:6214 #, c-format -msgid " Set column to %d\n" -msgstr " õÓÔÁÎÏ×ËÁ ÓÔÏÌÂÃÁ × %d\n" +msgid "" +"\n" +"Version definition section '%s' contains %ld entries:\n" +msgstr "" +"\n" +"òÁÚÄÅÌ ÏÐÉÓÁÎÉÑ ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %ld ÐÕÎËÔÏ×:\n" -#: readelf.c:9125 +#: readelf.c:6217 #, c-format -msgid " Set is_stmt to %d\n" -msgstr " õÓÔÁÎÏ×ËÁ is_stmt × %d\n" +msgid " Addr: 0x" +msgstr " áÄÒÅÓ: 0x" -#: readelf.c:9130 +#: readelf.c:6219 readelf.c:6426 #, c-format -msgid " Set basic block\n" -msgstr " õÓÔÁÎÏ×ËÁ ÂÁÚÏ×ÏÇÏ ÂÌÏËÁ\n" +msgid " Offset: %#08lx Link: %lx (%s)\n" +msgstr " óÍÅÝÅÎÉÅ: %#08lx óÓÙÌËÁ: %lx (%s)\n" + +#: readelf.c:6228 +msgid "version definition section" +msgstr "ÒÁÚÄÅÌ ÏÐÉÓÁÎÉÑ ×ÅÒÓÉÉ" -#: readelf.c:9138 +#: readelf.c:6254 #, c-format -msgid " Advance PC by constant %d to 0x%lx\n" -msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞÅÔÞÉËÁ ËÏÍÁÎÄ ÎÁ ÐÏÓÔÏÑÎÎÕÀ %d × 0x%lx\n" +msgid " %#06x: Rev: %d Flags: %s" +msgstr " %#06x: òÅ×ÉÚÉÑ: %d æÌÁÇÉ: %s" -#: readelf.c:9146 +#: readelf.c:6257 #, c-format -msgid " Advance PC by fixed size amount %d to 0x%lx\n" -msgstr " ðÒÏÄ×ÉÖÅÎÉÅ ÓÞÅÔÞÉËÁ ËÏÍÁÎÄ ÎÁ ×ÅÌÉÞÉÎÕ ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ ÒÁÚÍÅÒÁ %d × 0x%lx\n" +msgid " Index: %d Cnt: %d " +msgstr " éÎÄÅËÓ: %d óÞÅÔÞÉË: %d " -#: readelf.c:9151 +#: readelf.c:6268 #, c-format -msgid " Set prologue_end to true\n" -msgstr " õÓÔÁÎÏ×ËÁ prologue_end × `ÉÓÔÉÎÁ'\n" +msgid "Name: %s\n" +msgstr "éÍÑ: %s\n" -#: readelf.c:9155 +#: readelf.c:6270 #, c-format -msgid " Set epilogue_begin to true\n" -msgstr " õÓÔÁÎÏ×ËÁ epilogue_begin × `ÉÓÔÉÎÁ'\n" +msgid "Name index: %ld\n" +msgstr "éÎÄÅËÓ ÉÍÅÎÉ: %ld\n" -#: readelf.c:9161 +#: readelf.c:6285 #, c-format -msgid " Set ISA to %d\n" -msgstr " õÓÔÁÎÏ×ËÁ ISA × %d\n" +msgid " %#06x: Parent %d: %s\n" +msgstr " %#06x: òÏÄÉÔÅÌØ %d: %s\n" -#: readelf.c:9165 +#: readelf.c:6288 #, c-format -msgid " Unknown opcode %d with operands: " -msgstr " îÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ %d Ó ÏÐÅÒÁÎÄÁÍÉ: " +msgid " %#06x: Parent %d, name index: %ld\n" +msgstr " %#06x: òÏÄÉÔÅÌØ %d, ÉÎÄÅËÓ ÉÍÅÎÉ: %ld\n" -#: readelf.c:9193 readelf.c:9279 readelf.c:9354 +#: readelf.c:6307 #, c-format msgid "" -"Contents of the %s section:\n" "\n" +"Version needs section '%s' contains %ld entries:\n" msgstr "" -"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ %s:\n" "\n" +"òÁÚÄÅÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %ld ÐÕÎËÔÏ×:\n" -#: readelf.c:9233 -msgid "Only DWARF 2 and 3 pubnames are currently supported\n" -msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ pubname ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3\n" - -#: readelf.c:9240 +#: readelf.c:6310 #, c-format -msgid " Length: %ld\n" -msgstr " äÌÉÎÁ: %ld\n" +msgid " Addr: 0x" +msgstr " áÄÒÅÓ: 0x" -#: readelf.c:9242 +#: readelf.c:6312 #, c-format -msgid " Version: %d\n" -msgstr " ÷ÅÒÓÉÑ: %d\n" +msgid " Offset: %#08lx Link to section: %ld (%s)\n" +msgstr " óÍÅÝÅÎÉÅ: %#08lx óÓÙÌËÁ ÎÁ ÒÁÚÄÅÌ: %ld (%s)\n" -#: readelf.c:9244 -#, c-format -msgid " Offset into .debug_info section: %ld\n" -msgstr " óÍÅÝÅÎÉÅ × ÒÁÚÄÅÌ .debug_info: %ld\n" +#: readelf.c:6321 +msgid "version need section" +msgstr "ÒÁÚÄÅÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ ×ÅÒÓÉÉ" -#: readelf.c:9246 +#: readelf.c:6343 #, c-format -msgid " Size of area in .debug_info section: %ld\n" -msgstr " òÁÚÍ. ÏÂÌÁÓÔÉ × ÒÁÚÄÅÌÅ .debug_info: %ld\n" +msgid " %#06x: Version: %d" +msgstr " %#06x: ÷ÅÒÓÉÑ: %d" -#: readelf.c:9249 +#: readelf.c:6346 #, c-format -msgid "" -"\n" -" Offset\tName\n" -msgstr "" -"\n" -" óÍÅÝÅÎÉÅ\téÍÑ\n" +msgid " File: %s" +msgstr " æÁÊÌ: %s" -#: readelf.c:9300 +#: readelf.c:6348 #, c-format -msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" -msgstr " DW_MACINFO_start_file - ÎÏÍÅÒ_ÓÔÒÏËÉ: %d ÎÏÍÅÒ_ÆÁÊÌÁ: %d\n" +msgid " File: %lx" +msgstr " æÁÊÌ: %lx" -#: readelf.c:9306 +#: readelf.c:6350 #, c-format -msgid " DW_MACINFO_end_file\n" -msgstr " DW_MACINFO_end_file\n" +msgid " Cnt: %d\n" +msgstr " óÞÅÔÞÉË: %d\n" -#: readelf.c:9314 +#: readelf.c:6368 #, c-format -msgid " DW_MACINFO_define - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_define - ÎÏÍÅÒ_ÓÔÒÏËÉ : %d ÍÁËÒÏ : %s\n" +msgid " %#06x: Name: %s" +msgstr " %#06x: éÍÑ: %s" -#: readelf.c:9323 +#: readelf.c:6371 #, c-format -msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_undef - ÎÏÍÅÒ_ÓÔÒÏËÉ : %d ÍÁËÒÏ : %s\n" +msgid " %#06x: Name index: %lx" +msgstr " %#06x: éÎÄÅËÓ ÉÍÅÎÉ: %lx" -#: readelf.c:9335 +#: readelf.c:6374 #, c-format -msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" -msgstr " DW_MACINFO_vendor_ext - ËÏÎÓÔÁÎÔÁ : %d ÓÔÒÏËÁ : %s\n" +msgid " Flags: %s Version: %d\n" +msgstr " æÌÁÇÉ: %s ÷ÅÒÓÉÑ: %d\n" + +#: readelf.c:6417 +msgid "version string table" +msgstr "ÔÁÂÌÉÃÁ ÓÔÒÏË ×ÅÒÓÉÉ" -#: readelf.c:9363 +#: readelf.c:6421 #, c-format -msgid " Number TAG\n" -msgstr " þÉÓÌÏ TAG\n" +msgid "" +"\n" +"Version symbols section '%s' contains %d entries:\n" +msgstr "" +"\n" +"òÁÚÄÅÌ ÓÉÍ×ÏÌÏ× ×ÅÒÓÉÉ '%s' ÓÏÄÅÒÖÉÔ %d ÐÕÎËÔÏ×:\n" -#: readelf.c:9369 +#: readelf.c:6424 #, c-format -msgid " %ld %s [%s]\n" -msgstr " %ld %s [%s]\n" +msgid " Addr: " +msgstr " áÄÒÅÓ: " -#: readelf.c:9372 -msgid "has children" -msgstr "ÉÍÅÅÔ ÐÏÔÏÍËÏ×" +#: readelf.c:6434 +msgid "version symbol data" +msgstr "ÄÁÎÎÙÅ ÓÉÍ×ÏÌÁ ×ÅÒÓÉÉ" -#: readelf.c:9372 -msgid "no children" -msgstr "ÎÅÔ ÐÏÔÏÍËÏ×" +#: readelf.c:6461 +msgid " 0 (*local*) " +msgstr " 0 (*ÌÏËÁÌØÎÙÊ*) " -#: readelf.c:9375 -#, c-format -msgid " %-18s %s\n" -msgstr " %-18s %s\n" +#: readelf.c:6465 +msgid " 1 (*global*) " +msgstr " 1 (*ÇÌÏÂÁÌØÎÙÊ*) " + +#: readelf.c:6503 readelf.c:6969 +msgid "version need" +msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ" + +#: readelf.c:6513 +msgid "version need aux (2)" +msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ aux (2)" + +#: readelf.c:6555 readelf.c:7034 +msgid "version def" +msgstr "ÏÐÉÓÁÎÉÅ ×ÅÒÓÉÉ" -#: readelf.c:9410 +#: readelf.c:6575 readelf.c:7049 +msgid "version def aux" +msgstr "ÏÐÉÓÁÎÉÅ ×ÅÒÓÉÉ aux" + +#: readelf.c:6606 #, c-format msgid "" "\n" -"The .debug_loc section is empty.\n" +"No version information found in this file.\n" msgstr "" "\n" -"òÁÚÄÅÌ .debug_loc ÐÕÓÔ.\n" +"÷ ÜÔÏÍ ÆÁÊÌÅ ÎÅ ÎÁÊÄÅÎÁ ÉÎÆÏÒÍÁÃÉÑ Ï ×ÅÒÓÉÉ.\n" -#. FIXME: Should we handle this case? -#: readelf.c:9455 -msgid "Location lists in .debug_info section aren't in ascending order!\n" -msgstr "óÐÉÓËÉ ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ × ÒÁÚÄÅÌÅ .debug_info ÎÅ ÕÐÏÒÑÄÏÞÅÎÙ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ!\n" +#: readelf.c:6740 +msgid "Unable to read in dynamic data\n" +msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÄÉÎÁÍÉÞÅÓËÉÅ ÄÁÎÎÙÅ\n" -#: readelf.c:9458 -msgid "No location lists in .debug_info section!\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_info ÎÅÔ ÓÐÉÓËÏ× ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ!\n" +#: readelf.c:6793 +msgid "Unable to seek to start of dynamic information" +msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÏÔ ÎÁÞÁÌÁ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ" -#: readelf.c:9461 -#, c-format -msgid "Location lists in .debug_loc section start at 0x%lx\n" -msgstr "óÐÉÓËÉ ÍÅÓÔÏÐÏÌÏÖÅÎÉÊ × ÒÁÚÄÅÌÅ .debug_loc ÎÁÞÉÎÁÀÔÓÑ Ó 0x%lx\n" +#: readelf.c:6799 +msgid "Failed to read in number of buckets\n" +msgstr "óÂÏÊ ÐÒÉ ÓÞÉÔÙ×ÁÎÉÉ ÞÉÓÌÁ ÏÂÌÁÓÔÅÊ ÐÁÍÑÔÉ\n" + +#: readelf.c:6805 +msgid "Failed to read in number of chains\n" +msgstr "óÂÏÊ ÐÒÉ ÓÞÉÔÙ×ÁÎÉÉ ÞÉÓÌÁ ÃÅÐÏÞÅË\n" -#: readelf.c:9464 +#: readelf.c:6825 #, c-format msgid "" -"Contents of the .debug_loc section:\n" "\n" +"Symbol table for image:\n" msgstr "" -"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ .debug_loc:\n" "\n" +"ôÁÂÌÉÃÁ ÓÉÍ×ÏÌÏ× ÄÌÑ ÉÚÏÂÒÁÖÅÎÉÑ:\n" -#: readelf.c:9465 +#: readelf.c:6827 #, c-format -msgid " Offset Begin End Expression\n" -msgstr " óÍÅÝ. îÁÞÁÌÏ ëÏÎÅà òÁÓÛÉÒÅÎÉÅ\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " ïÂÌÁÓÔÉ: úÎÁÞ òÁÚÍÅÒ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" -#: readelf.c:9495 +#: readelf.c:6829 #, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_loc ÐÒÉÓÕÔÓÔ×ÕÅÔ ÄÙÒÁ [0x%lx - 0x%lx].\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " ïÂÌÁÓÔÉ: úÎÁÞ òÁÚÍÅÒ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" -#: readelf.c:9498 +#: readelf.c:6882 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_loc ÐÒÉÓÕÔÓÔ×ÕÅÔ ÐÅÒÅËÒÙÔÉÅ [0x%lx - 0x%lx].\n" +msgid "" +"\n" +"Symbol table '%s' contains %lu entries:\n" +msgstr "" +"\n" +"ôÁÂÌÉÃÁ ÓÉÍ×ÏÌÏ× '%s' ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" -#: readelf.c:9512 readelf.c:9837 +#: readelf.c:6886 #, c-format -msgid " %8.8lx \n" -msgstr " %8.8lx <ëÏÎÅà ÓÐÉÓËÁ>\n" +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " þÉÓ: úÎÁÞ òÁÚÍ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" -#: readelf.c:9540 readelf.c:9854 -msgid " (start == end)" -msgstr " (ÎÁÞÁÌÏ == ËÏÎÅÃ)" +#: readelf.c:6888 +#, c-format +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " þÉÓ: úÎÁÞ òÁÚÍ ôÉÐ ó×ÑÚ Vis éÎÄÅËÓ ÉÍÅÎÉ\n" -#: readelf.c:9542 readelf.c:9856 -msgid " (start > end)" -msgstr " (ÎÁÞÁÌÏ > ËÏÎÅÃ)" +#: readelf.c:6939 +msgid "version data" +msgstr "ÄÁÎÎÙÅ ×ÅÒÓÉÉ" + +#: readelf.c:6982 +msgid "version need aux (3)" +msgstr "ÚÁ×ÉÓÉÍÏÓÔØ ×ÅÒÓÉÉ aux (3)" + +#: readelf.c:7009 +msgid "bad dynamic symbol" +msgstr "ÎÅ×ÅÒÎÙÊ ÄÉÎÁÍÉÞÅÓËÉÊ ÓÉÍ×ÏÌ" -#: readelf.c:9566 +#: readelf.c:7073 #, c-format msgid "" "\n" -"The .debug_str section is empty.\n" +"Dynamic symbol information is not available for displaying symbols.\n" msgstr "" "\n" -"òÁÚÄÅÌ .debug_str ÐÕÓÔ.\n" +"éÎÆÏÒÍÁÃÉÑ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÓÉÍ×ÏÌÁ ÎÅ ÄÏÓÔÕÐÎÁ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÉÍ×ÏÌÏ×.\n" -#: readelf.c:9570 +#: readelf.c:7085 #, c-format msgid "" -"Contents of the .debug_str section:\n" "\n" +"Histogram for bucket list length (total of %lu buckets):\n" msgstr "" -"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ .debug_str:\n" "\n" +"çÉÓÔÏÇÒÁÍÍÁ ÄÌÑ ÄÌÉÎÙ ÓÐÉÓËÁ ÏÂÌÁÓÔÅÊ ÐÁÍÑÔÉ (×ÓÅÇÏ %lu ÏÂÌÁÓÔÅÊ):\n" -#: readelf.c:9675 -msgid "Only DWARF 2 and 3 aranges are currently supported.\n" -msgstr "óÅÊÞÁÓ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ aganges ÔÏÌØËÏ ÄÌÑ DWARF ×ÅÒÓÉÉ 2 É 3.\n" - -#: readelf.c:9679 -#, c-format -msgid " Length: %ld\n" -msgstr " äÌÉÎÁ: %ld\n" - -#: readelf.c:9680 +#: readelf.c:7087 #, c-format -msgid " Version: %d\n" -msgstr " ÷ÅÒÓÉÑ: %d\n" +msgid " Length Number %% of total Coverage\n" +msgstr " äÌÉÎÁ þÉÓÌÏ %% ÏÔ ×ÓÅÇÏ ïÈ×ÁÔ\n" -#: readelf.c:9681 -#, c-format -msgid " Offset into .debug_info: %lx\n" -msgstr " óÍÅÝÅÎÉÅ × .debug_info: %lx\n" +#: readelf.c:7092 readelf.c:7108 readelf.c:8031 readelf.c:8223 +msgid "Out of memory" +msgstr "îÅÈ×ÁÔËÁ ÐÁÍÑÔÉ" -#: readelf.c:9682 +#: readelf.c:7157 #, c-format -msgid " Pointer Size: %d\n" -msgstr " òÁÚÍ. ÕËÁÚÁÔ: %d\n" +msgid "" +"\n" +"Dynamic info segment at offset 0x%lx contains %d entries:\n" +msgstr "" +"\n" +"óÅÇÍÅÎÔ ÄÉÎÁÍÉÞÅÓËÏÊ ÉÎÆÏÒÍÁÃÉÉ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%lx ÓÏÄÅÒÖÉÔ %d ÐÕÎËÔÏ×:\n" -#: readelf.c:9683 +#: readelf.c:7160 #, c-format -msgid " Segment Size: %d\n" -msgstr " òÁÚÍ. ÓÅÇÍ.: %d\n" +msgid " Num: Name BoundTo Flags\n" +msgstr " þÉÓ: éÍÑ çÒÁÎÉÃÁ æÌÁÇÉ\n" -#: readelf.c:9685 +#: readelf.c:7212 #, c-format msgid "" "\n" -" Address Length\n" +"Assembly dump of section %s\n" msgstr "" "\n" -" áÄÒÅÓ äÌÉÎÁ\n" +"óÂÏÒÏÞÎÙÊ ÄÁÍÐ ÒÁÚÄÅÌÁ %s\n" -#: readelf.c:9741 +#: readelf.c:7233 #, c-format msgid "" "\n" -"The .debug_ranges section is empty.\n" +"Section '%s' has no data to dump.\n" msgstr "" "\n" -"òÁÚÄÅÌ .debug_ranges ÐÕÓÔ.\n" - -#. FIXME: Should we handle this case? -#: readelf.c:9786 -msgid "Range lists in .debug_info section aren't in ascending order!\n" -msgstr "óÐÉÓËÉ ÄÉÁÐÁÚÏÎÏ× × ÒÁÚÄÅÌÅ .debug_info ÎÅ ÕÐÏÒÑÄÏÞÅÎÙ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ!\n" - -#: readelf.c:9789 -msgid "No range lists in .debug_info section!\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_info ÎÅÔ ÓÐÉÓËÏ× ÄÉÁÐÁÚÏÎÏ×!\n" - -#: readelf.c:9792 -#, c-format -msgid "Range lists in .debug_ranges section start at 0x%lx\n" -msgstr "óÐÉÓËÉ ÄÉÁÐÁÚÏÎÏ× × ÒÁÚÄÅÌÅ .debug_loc ÎÁÞÉÎÁÀÔÓÑ Ó 0x%lx\n" +"òÁÚÄÅÌ '%s' ÎÅ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÈ ÄÌÑ ÄÁÍÐÁ.\n" -#: readelf.c:9795 +#: readelf.c:7238 #, c-format msgid "" -"Contents of the .debug_ranges section:\n" "\n" +"Hex dump of section '%s':\n" msgstr "" -"óÏÄÅÒÖÉÍÏÅ ÒÁÚÄÅÌÁ .debug_ranges:\n" "\n" +"Hex-ÄÁÍÐ ÒÁÚÄÅÌÁ '%s':\n" -#: readelf.c:9796 -#, c-format -msgid " Offset Begin End\n" -msgstr " óÍÅÝ. îÁÞÁÌÏ ëÏÎÅÃ\n" - -#: readelf.c:9820 -#, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_ranges ÐÒÉÓÕÔÓÔ×ÕÅÔ ÄÙÒÁ [0x%lx - 0x%lx].\n" - -#: readelf.c:9823 +#: readelf.c:7359 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "÷ ÒÁÚÄÅÌÅ .debug_ranges ÐÒÉÓÕÔÓÔ×ÕÅÔ ÐÅÒÅËÒÙÔÉÅ [0x%lx - 0x%lx].\n" +msgid "skipping invalid relocation offset 0x%lx in section %s\n" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ ÎÅ×ÅÒÎÏÅ ÓÍÅÝÅÎÉÅ ÐÅÒÅÍÅÝÅÎÉÑ 0x%lx × ÒÁÚÄÅÌÅ %s\n" -#: readelf.c:10017 +#: readelf.c:7376 #, c-format -msgid "The section %s contains:\n" -msgstr "òÁÚÄÅÌ %s ÓÏÄÅÒÖÉÔ:\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela%s\n" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÓÉÍ×ÏÌÁ %s × ÐÅÒÅÍÅÝÅÎÉÉ × ÒÁÚÄÅÌÅ .rela%s\n" -#: readelf.c:10663 +#: readelf.c:7402 #, c-format -msgid "unsupported or unknown DW_CFA_%d\n" -msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÉÌÉ ÎÅÉÚ×ÅÓÔÎÙÊ DW_CFA_%d\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÓÉÍ×ÏÌÁ %s × ÐÅÒÅÍÅÝÅÎÉÉ × ÒÁÚÄÅÌÅ .rela.%s\n" -#: readelf.c:10688 +#: readelf.c:7435 #, c-format -msgid "Displaying the debug contents of section %s is not yet supported.\n" -msgstr "ïÔÏÂÒÁÖÅÎÉÅ ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÒÁÚÄÅÌÁ %s ÅÝÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.\n" +msgid "%s section data" +msgstr "ÄÁÎÎÙÅ ÒÁÚÄÅÌÁ %s" -#: readelf.c:10732 +#: readelf.c:7472 #, c-format msgid "" "\n" @@ -4442,29 +4523,44 @@ msgstr "" "\n" "òÁÚÄÅÌ '%s' ÎÅ ÓÏÄÅÒÖÉÔ ÏÔÌÁÄÏÞÎÙÈ ÄÁÎÎÙÈ.\n" -#: readelf.c:10746 -msgid "debug section data" -msgstr "äÁÎÎÙÅ ÒÁÚÄÅÌÁ ÏÔÌÁÄËÉ" - -#: readelf.c:10765 +#: readelf.c:7498 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ÒÁÚÄÅÌ ÏÔÌÁÄËÉ: %s\n" -#: readelf.c:10800 +#: readelf.c:7533 #, c-format msgid "Section %d was not dumped because it does not exist!\n" msgstr "äÌÑ ÒÁÚÄÅÌÁ %d ÄÁÍÐ ÎÅ ÂÙÌ ×ÙÐÏÌÎÅÎ, ÐÏÔÏÍÕ ÞÔÏ ÏÎ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ!\n" -#: readelf.c:10872 readelf.c:11236 +#: readelf.c:7791 +msgid "attributes" +msgstr "ÁÔÒÉÂÕÔÙ" + +#: readelf.c:7809 +#, c-format +msgid "ERROR: Bad section length (%d > %d)\n" +msgstr "ïûéâëá: îÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÒÁÚÄÅÌÁ (%d > %d)\n" + +#: readelf.c:7830 +#, c-format +msgid "ERROR: Bad subsection length (%d > %d)\n" +msgstr "ïûéâëá: îÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÐÏÄÒÁÚÄÅÌÁ (%d > %d)\n" + +#: readelf.c:7880 +#, c-format +msgid "Unknown format '%c'\n" +msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÆÏÒÍÁÔ '%c'\n" + +#: readelf.c:7936 readelf.c:8304 msgid "liblist" msgstr "liblist" -#: readelf.c:10961 +#: readelf.c:8025 msgid "options" msgstr "ÏÐÃÉÉ" -#: readelf.c:10991 +#: readelf.c:8055 #, c-format msgid "" "\n" @@ -4473,15 +4569,15 @@ msgstr "" "\n" "òÁÚÄÅÌ '%s' ÓÏÄÅÒÖÉÔ %d ÐÕÎËÔÏ×:\n" -#: readelf.c:11152 +#: readelf.c:8216 msgid "conflict list found without a dynamic symbol table" msgstr "ÓÐÉÓÏË ËÏÎÆÌÉËÔÏ× ÎÁÊÄÅÎ ÂÅÚ ÔÁÂÌÉÃÙ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ×" -#: readelf.c:11168 readelf.c:11182 +#: readelf.c:8232 readelf.c:8246 msgid "conflict" msgstr "ËÏÎÆÌÉËÔ" -#: readelf.c:11192 +#: readelf.c:8256 #, c-format msgid "" "\n" @@ -4490,15 +4586,15 @@ msgstr "" "\n" "òÁÚÄÅÌ '.conflict' ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" -#: readelf.c:11194 +#: readelf.c:8258 msgid " Num: Index Value Name" msgstr " îÏÍ: éÎÄÅËÓ úÎÁÞ. éÍÑ" -#: readelf.c:11243 +#: readelf.c:8311 msgid "liblist string table" msgstr "ÔÁÂÌÉÃÁ ÓÔÒÏË liblist" -#: readelf.c:11252 +#: readelf.c:8321 #, c-format msgid "" "\n" @@ -4507,90 +4603,90 @@ msgstr "" "\n" "òÁÚÄÅÌ ÓÐÉÓËÁ ÂÉÂÌÉÏÔÅË '%s' ÓÏÄÅÒÖÉÔ %lu ÐÕÎËÔÏ×:\n" -#: readelf.c:11303 +#: readelf.c:8374 msgid "NT_AUXV (auxiliary vector)" msgstr "NT_AUXV (×ÓÐÏÍÏÇÁÔÅÌØÎÙÊ ×ÅËÔÏÒ)" -#: readelf.c:11305 +#: readelf.c:8376 msgid "NT_PRSTATUS (prstatus structure)" msgstr "NT_PRSTATUS (ÓÔÒÕËÔÕÒÁ prstatus)" -#: readelf.c:11307 +#: readelf.c:8378 msgid "NT_FPREGSET (floating point registers)" msgstr "NT_FPREGSET (ÒÅÇÉÓÔÒÙ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ)" -#: readelf.c:11309 +#: readelf.c:8380 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "NT_PRPSINFO (ÓÔÒÕËÔÕÒÁ prpsinfo)" -#: readelf.c:11311 +#: readelf.c:8382 msgid "NT_TASKSTRUCT (task structure)" msgstr "NT_TASKSTRUCT (ÓÔÒÕËÔÕÒÁ task)" -#: readelf.c:11313 +#: readelf.c:8384 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "NT_PRXFPREG (ÓÔÒÕËÔÕÒÁ user_xfpregs)" -#: readelf.c:11315 +#: readelf.c:8386 msgid "NT_PSTATUS (pstatus structure)" msgstr "NT_PSTATUS (ÓÔÒÕËÔÕÒÁ pstatus)" -#: readelf.c:11317 +#: readelf.c:8388 msgid "NT_FPREGS (floating point registers)" msgstr "NT_FPREGS (ÒÅÇÉÓÔÒÙ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ)" -#: readelf.c:11319 +#: readelf.c:8390 msgid "NT_PSINFO (psinfo structure)" msgstr "NT_PSINFO (ÓÔÒÕËÔÕÒÁ psinfo)" -#: readelf.c:11321 +#: readelf.c:8392 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "NT_LWPSTATUS (ÓÔÒÕËÔÕÒÁ lwpstatus_t)" -#: readelf.c:11323 +#: readelf.c:8394 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "NT_LWPSINFO (ÓÔÒÕËÔÕÒÁ lwpsinfo_t)" -#: readelf.c:11325 +#: readelf.c:8396 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "NT_WIN32PSTATUS (ÓÔÒÕËÔÕÒÁ win32_pstatus)" -#: readelf.c:11333 +#: readelf.c:8404 msgid "NT_VERSION (version)" msgstr "NT_VERSION (×ÅÒÓÉÑ)" -#: readelf.c:11335 +#: readelf.c:8406 msgid "NT_ARCH (architecture)" msgstr "NT_ARCH (ÁÒÈÉÔÅËÔÕÒÁ)" -#: readelf.c:11340 readelf.c:11362 +#: readelf.c:8411 readelf.c:8433 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ËÏÍÍÅÎÔÁÒÉÑ: (0x%08x)" #. NetBSD core "procinfo" structure. -#: readelf.c:11352 +#: readelf.c:8423 msgid "NetBSD procinfo structure" msgstr "óÔÒÕËÔÕÒÁ procinfo NetBSD" -#: readelf.c:11379 readelf.c:11393 +#: readelf.c:8450 readelf.c:8464 msgid "PT_GETREGS (reg structure)" msgstr "PT_GETREGS (ÓÔÒÕËÔÕÒÁ reg)" -#: readelf.c:11381 readelf.c:11395 +#: readelf.c:8452 readelf.c:8466 msgid "PT_GETFPREGS (fpreg structure)" msgstr "PT_GETFPREGS (ÓÔÒÕËÔÕÒÁ fpreg)" -#: readelf.c:11401 +#: readelf.c:8472 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "PT_FIRSTMACH+%d" -#: readelf.c:11447 +#: readelf.c:8518 msgid "notes" msgstr "ËÏÍÍÅÎÔÁÒÉÉ" -#: readelf.c:11453 +#: readelf.c:8524 #, c-format msgid "" "\n" @@ -4599,27 +4695,27 @@ msgstr "" "\n" "ëÏÍÍÅÎÔÁÒÉÉ ÓÏ ÓÍÅÝÅÎÉÅÍ 0x%08lx ÄÌÉÎÏÊ 0x%08lx:\n" -#: readelf.c:11455 +#: readelf.c:8526 #, c-format msgid " Owner\t\tData size\tDescription\n" msgstr " ÷ÌÁÄÅÌÅÃ\t\tòÁÚÍÅÒ ÄÁÎÎÙÈ\tïÐÉÓÁÎÉÅ\n" -#: readelf.c:11474 +#: readelf.c:8545 #, c-format -msgid "corrupt note found at offset %x into core notes\n" -msgstr "ÎÁÊÄÅÎ ÐÏ×ÒÅÖÄÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ ÓÏ ÓÍÅÝÅÎÉÅÍ %x × ÈÒÁÎÉÌÉÝÅ ËÏÍÍÅÎÔÁÒÉÅ×\n" +msgid "corrupt note found at offset %lx into core notes\n" +msgstr "ÎÁÊÄÅÎ ÐÏ×ÒÅÖÄ£ÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ ÓÏ ÓÍÅÝÅÎÉÅÍ %lx × ÈÒÁÎÉÌÉÝÅ ËÏÍÍÅÎÔÁÒÉÅ×\n" -#: readelf.c:11476 +#: readelf.c:8547 #, c-format -msgid " type: %x, namesize: %08lx, descsize: %08lx\n" -msgstr " ÔÉÐ: %x, ÒÁÚÍ_ÉÍÅÎÉ: %08lx, ÒÁÚÍ_ÏÐÉÓ: %08lx\n" +msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" +msgstr " ÔÉÐ: %lx, ÒÁÚÍ_ÉÍÅÎÉ: %08lx, ÒÁÚÍ_ÏÐÉÓ: %08lx\n" -#: readelf.c:11574 +#: readelf.c:8645 #, c-format msgid "No note segments present in the core file.\n" msgstr "÷ ÆÁÊÌÅ ÓÏÄÅÒÖÉÍÏÇÏ ÏÔÓÕÔÓÔ×ÕÀÔ ÓÅÇÍÅÎÔÙ ËÏÍÍÅÎÔÁÒÉÅ×.\n" -#: readelf.c:11653 +#: readelf.c:8726 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" @@ -4627,12 +4723,12 @@ msgstr "" "üÔÁ ËÏÐÉÑ readelf ÂÙÌÁ ÓÏÂÒÁÎÁ ÂÅÚ ÐÏÄÄÅÒÖËÉ 64-ÂÉÔÎÏÇÏ ÔÉÐÁ\n" "ÄÁÎÎÙÈ, É ÐÏÜÔÏÍÕ ÏÎÁ ÎÅ ÍÏÖÅÔ ÞÉÔÁÔØ 64-ÂÉÔÎÙÅ ÆÁÊÌÙ ELF.\n" -#: readelf.c:11700 readelf.c:12059 +#: readelf.c:8775 readelf.c:9119 #, c-format msgid "%s: Failed to read file header\n" msgstr "%s: óÂÏÊ ÐÒÉ ÞÔÅÎÉÉ ÚÁÇÏÌÏ×ËÁ ÆÁÊÌÁ\n" -#: readelf.c:11713 +#: readelf.c:8788 #, c-format msgid "" "\n" @@ -4641,68 +4737,68 @@ msgstr "" "\n" "æÁÊÌ: %s\n" -#: readelf.c:11876 readelf.c:11897 readelf.c:11934 readelf.c:12014 +#: readelf.c:8936 readelf.c:8957 readelf.c:8994 readelf.c:9074 #, c-format msgid "%s: failed to read archive header\n" msgstr "%s: ÓÂÏÊ ÐÒÉ ÞÔÅÎÉÉ ÚÁÇÏÌÏ×ËÁ ÁÒÈÉ×Á\n" -#: readelf.c:11887 +#: readelf.c:8947 #, c-format msgid "%s: failed to skip archive symbol table\n" msgstr "%s: ÓÂÏÊ ÐÒÉ ÐÒÏÐÕÓËÅ ÔÁÂÌÉÃÙ ÓÉÍ×ÏÌÏ× ÁÒÈÉ×Á\n" -#: readelf.c:11919 +#: readelf.c:8979 #, c-format msgid "%s: failed to read string table\n" msgstr "%s: ÓÂÏÊ ÐÒÉ ÞÔÅÎÉÉ ÔÁÂÌÉÃÙ ÓÔÒÏË\n" -#: readelf.c:11955 +#: readelf.c:9015 #, c-format msgid "%s: invalid archive string table offset %lu\n" msgstr "%s: ÎÅ×ÅÒÎÏÅ ÓÍÅÝÅÎÉÅ ÔÁÂÌÉÃÙ ÓÔÒÏË ÁÒÈÉ×Á %lu\n" -#: readelf.c:11971 +#: readelf.c:9031 #, c-format msgid "%s: bad archive file name\n" msgstr "%s: ÎÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ ÁÒÈÉ×Á\n" -#: readelf.c:12003 +#: readelf.c:9063 #, c-format msgid "%s: failed to seek to next archive header\n" msgstr "%s: ÓÂÏÊ ÐÒÉ ÐÒÏÉÓËÅ ÓÌÅÄÕÀÝÅÇÏ ÚÁÇÏÌÏ×ËÁ ÁÒÈÉ×Á\n" -#: readelf.c:12037 +#: readelf.c:9097 #, c-format msgid "'%s': No such file\n" msgstr "'%s': îÅÔ ÔÁËÏÇÏ ÆÁÊÌÁ\n" -#: readelf.c:12039 +#: readelf.c:9099 #, c-format msgid "Could not locate '%s'. System error message: %s\n" msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ '%s'. óÉÓÔÅÍÎÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ: %s\n" -#: readelf.c:12046 +#: readelf.c:9106 #, c-format msgid "'%s' is not an ordinary file\n" msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÏÂÙÞÎÙÍ ÆÁÊÌÏÍ\n" -#: readelf.c:12053 +#: readelf.c:9113 #, c-format msgid "Input file '%s' is not readable.\n" msgstr "÷ÈÏÄÎÏÊ ÆÁÊÌ '%s' Ñ×ÌÑÅÔÓÑ ÎÅÞÉÔÁÅÍÙÍ.\n" -#: rename.c:127 +#: rename.c:129 #, c-format msgid "%s: cannot set time: %s" msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ×ÒÅÍÑ: %s" #. We have to clean up here. -#: rename.c:162 rename.c:200 +#: rename.c:164 rename.c:202 #, c-format msgid "unable to rename '%s' reason: %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÉÍÅÎÏ×ÁÔØ '%s' ÐÒÉÞÉÎÁ: %s" -#: rename.c:208 +#: rename.c:210 #, c-format msgid "unable to copy file '%s' reason: %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓËÏÐÉÒÏ×ÁÔØ ÆÁÊÌ '%s' ÐÒÉÞÉÎÁ: %s" @@ -5084,17 +5180,17 @@ msgstr " msgid "can't open `%s' for output: %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ `%s' ÄÌÑ ×Ù×ÏÄÁ ÄÁÎÎÙÈ: %s" -#: size.c:81 +#: size.c:83 #, c-format msgid " Displays the sizes of sections inside binary files\n" msgstr " ïÔÏÂÒÁÖÁÅÔ ÒÁÚÍÅÒÙ ÒÁÚÄÅÌÏ× ×ÎÕÔÒÉ Ä×ÏÉÞÎÙÈ ÆÁÊÌÏ×\n" -#: size.c:82 +#: size.c:84 #, c-format msgid " If no input file(s) are specified, a.out is assumed\n" msgstr " åÓÌÉ ×ÈÏÄÎÙÅ ÆÁÊÌÙ ÎÅ ÕËÁÚÁÎÙ, ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ÆÁÊÌ a.out\n" -#: size.c:83 +#: size.c:85 #, c-format msgid "" " The options are:\n" @@ -5102,6 +5198,7 @@ msgid "" " -o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n" " -t --totals Display the total sizes (Berkeley only)\n" " --target= Set the binary file format\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" @@ -5112,16 +5209,17 @@ msgstr "" " ÉÌÉ ÛÅÓÔÎÁÄÃÁÔÉÒÉÞÎÏÍ ÆÏÒÍÁÔÅ\n" " -t --totals ÷Ù×ÏÄ ÓÕÍÍÁÒÎÙÈ ÒÁÚÍÅÒÏ× (ÔÏÌØËÏ Berkeley)\n" " --target= õÓÔÁÎÏ×ËÁ ÆÏÒÍÁÔÁ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" " -v --version ÷Ù×ÏÄ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" "\n" -#: size.c:153 +#: size.c:158 #, c-format msgid "invalid argument to --format: %s" msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ --format: %s" -#: size.c:180 +#: size.c:185 #, c-format msgid "Invalid radix: %s\n" msgstr "îÅ×ÅÒÎÙÊ radix: %s\n" @@ -5138,6 +5236,7 @@ msgid "" " -q --quick (Obsolete - ignored)\n" " -n --noprescan Do not perform a scan to convert commons into defs\n" " -d --debug Display information about what is being done\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5145,10 +5244,11 @@ msgstr "" " -q --quick (ÕÓÔÁÒÅÌÁ - ÉÇÎÏÒÉÒÕÅÔÓÑ)\n" " -n --noprescan îÅ ×ÙÐÏÌÎÑÔØ ÓËÁÎÉÒÏ×ÁÎÉÅ ÄÌÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ commons × defs\n" " -d --debug ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ÔÏÍ, ÞÔÏ ×ÙÐÏÌÎÑÅÔÓÑ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" " -v --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" -#: srconv.c:1866 +#: srconv.c:1869 #, c-format msgid "unable to open output file %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ %s" @@ -5286,22 +5386,22 @@ msgstr " msgid "Unrecognized demangled builtin type\n" msgstr "îÅÏÖÉÄÁÎÎÙÊ ÄÅËÏÄÉÒÏ×ÁÎÎÙÊ ×ÓÔÒÏÅÎÎÙÊ ÔÉÐ\n" -#: strings.c:206 +#: strings.c:218 #, c-format msgid "invalid number %s" msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ %s" -#: strings.c:643 +#: strings.c:700 #, c-format msgid "invalid integer argument %s" msgstr "ÎÅ×ÅÒÎÙÊ ÃÅÌÏÞÉÓÌÅÎÎÙÊ ÁÒÇÕÍÅÎÔ %s" -#: strings.c:652 +#: strings.c:709 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr " ÷Ù×ÏÄÉÔ ÐÒÉÇÏÄÎÙÅ ÄÌÑ ÐÅÞÁÔÉ ÓÔÒÏËÉ × [ÆÁÊÌ(ÁÈ)] (ÐÏ ÕÍÏÌÞÁÎÉÀ stdin)\n" -#: strings.c:653 +#: strings.c:710 #, c-format msgid "" " The options are:\n" @@ -5314,6 +5414,7 @@ msgid "" " -T --target= Specify the binary file format\n" " -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5327,15 +5428,16 @@ msgstr "" " -T --target= õËÁÚÁÎÉÅ ÆÏÒÍÁÔÁ Ä×ÏÉÞÎÏÇÏ ÆÁÊÌÁ\n" " -e --encoding={s,S,b,l,B,L} ÷ÙÂÏÒ ÒÁÚÍÅÒÁ ÓÉÍ×ÏÌÁ É endianness:\n" " s = 7-ÂÉÔ, S = 8-ÂÉÔ, {b,l} = 16-ÂÉÔ, {B,L} = 32-ÂÉÔ\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" " -v --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" -#: sysdump.c:649 +#: sysdump.c:642 #, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" msgstr "÷Ù×ÏÄ ÕÄÏÂÏÞÉÔÁÅÍÏÊ ÄÌÑ ÞÅÌÏ×ÅËÁ ÉÎÔÅÒÐÒÅÔÁÃÉÉ ÏÂßÅËÔÎÏÇÏ ÆÁÊÌÁ SYSROFF\n" -#: sysdump.c:650 +#: sysdump.c:643 #, c-format msgid "" " The options are:\n" @@ -5346,7 +5448,7 @@ msgstr "" " -h --help ÷Ù×ÏÄ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ\n" " -v --version ÷Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ\n" -#: sysdump.c:715 +#: sysdump.c:710 #, c-format msgid "cannot open input file %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÈÏÄÎÏÊ ÆÁÊÌ %s" @@ -5456,14 +5558,16 @@ msgstr " --yydebug #, c-format msgid "" " -r Ignored for compatibility with rc\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" " -r ðÒÏÐÕÝÅÎÁ ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó rc\n" +" @<ÆÁÊÌ> þÉÔÁÔØ ÏÐÃÉÉ ÉÚ <ÆÁÊÌÁ>\n" " -h --help ÷Ù×ÏÄ ÜÔÏÇÏ ÓÐÒÁ×ÏÞÎÏÇÏ ÓÏÏÂÝÅÎÉÑ\n" " -V --version ÷Ù×ÏÄ ÉÎÆÏÒÍÁÃÉÉ Ï ×ÅÒÓÉÉ\n" -#: windres.c:664 +#: windres.c:665 #, c-format msgid "" "FORMAT is one of rc, res, or coff, and is deduced from the file name\n" @@ -5475,20 +5579,20 @@ msgstr "" "âÅÚ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ ÉÓÐÏÌØÚÕÅÔ stdin, ÐÏ ÕÍÏÌÞÁÎÉÀ rc. âÅÚ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ\n" "ÉÓÐÏÌØÚÕÅÔÓÑ stdout, ÐÏ ÕÍÏÌÞÁÎÉÀ rc.\n" -#: windres.c:800 +#: windres.c:803 msgid "invalid option -f\n" msgstr "ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -f\n" -#: windres.c:805 +#: windres.c:808 msgid "No filename following the -fo option.\n" msgstr "îÅÔ ÉÍÅÎÉ ÆÁÊÌÁ ÐÏÓÌÅ ÏÐÃÉÉ -fo.\n" -#: windres.c:863 +#: windres.c:866 #, c-format msgid "Option -I is deprecated for setting the input format, please use -J instead.\n" msgstr "ïÐÃÉÑ -I ËÒÁÊÎÅ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ×ÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ, ÐÏÖÁÌÕÊÓÔÁ, ÉÓÐÏÌØÚÕÊÔÅ -J.\n" -#: windres.c:981 +#: windres.c:984 msgid "no resources" msgstr "ÎÅÔ ÒÅÓÕÒÓÏ×" diff --git a/binutils/po/vi.po b/binutils/po/vi.po index cd9d50f7bd2..df512f86af2 100644 --- a/binutils/po/vi.po +++ b/binutils/po/vi.po @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: binutils-2.15.96\n" +"Project-Id-Version: binutils-2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:03+1030\n" -"PO-Revision-Date: 2006-01-23 23:18+1030\n" +"POT-Creation-Date: 2005-10-25 09:14+0930\n" +"PO-Revision-Date: 2006-05-23 17:58+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" @@ -16,27 +16,29 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: LocFactoryEditor 1.6b31\n" -#: addr2line.c:73 +#: addr2line.c:76 #, c-format msgid "Usage: %s [option(s)] [addr(s)]\n" msgstr "Cách sá»­ dụng: %s [tùy_chọn...] [địa_chỉ...)]\n" -#: addr2line.c:74 +#: addr2line.c:77 #, c-format msgid " Convert addresses into line number/file name pairs.\n" msgstr " Chuyển đổi địa chỉ sang cặp số thứ tá»± dòng/tên tập tin.\n" -#: addr2line.c:75 +#: addr2line.c:78 #, c-format msgid " If no addresses are specified on the command line, they will be read from stdin\n" -msgstr "Nếu chưa ghi rõ địa chỉ trên dòng lệnh, sẽ đọc chúng từ thiết bị nhập chuẩn\n" +msgstr " Nếu chưa ghi rõ địa chỉ trên dòng lệnh, sẽ đọc chúng từ thiết bị nhập chuẩn\n" -#: addr2line.c:76 +#: addr2line.c:79 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -b --target= Set the binary file format\n" " -e --exe= Set the input file name (default is a.out)\n" +" -i --inlines\t\t Unwind inlined functions\n" " -s --basenames Strip directory names\n" " -f --functions Show function names\n" " -C --demangle[=style] Demangle function names\n" @@ -45,9 +47,11 @@ msgid "" "\n" msgstr "" " Tùy chọn:\n" -" -b --target= \tLập khuôn dạng tập tin nhị phân (_đích_)\n" +" @\t\t\tđọc các tùy chọn từ tập tin đó\n" +" -b --target= \tLập khuôn dạng tập tin nhị phân (_đích_)\n" " -e --exe= \tLập tên tập tin nhập (mặc định là )\n" "\t\t\t\t\t\t\t\t(_chương trình chạy được_)\n" +" -i --inlines\t\t\tTháo ra các hàm trá»±c tiếp\n" " -s --basenames\t\tTước các tên thư mục (_các tên cÆ¡ bản_)\n" " -f --functions \tHiện tên _các chức năng_\n" " -C --demangle[=kiểu_dáng] \t_Tháo gỡ_ tên chức năng\n" @@ -55,211 +59,218 @@ msgstr "" " -v --version \tHiện _phiên bản_ cá»§a chương trình\n" "\n" -#: addr2line.c:88 ar.c:263 coffdump.c:467 nlmconv.c:1110 objcopy.c:478 -#: objcopy.c:512 readelf.c:2631 size.c:99 srconv.c:1731 strings.c:667 -#: sysdump.c:655 windres.c:672 +#: addr2line.c:93 ar.c:263 coffdump.c:466 nlmconv.c:1113 objcopy.c:486 +#: objcopy.c:520 readelf.c:2622 size.c:102 srconv.c:1732 strings.c:725 +#: sysdump.c:648 windres.c:673 #, c-format msgid "Report bugs to %s\n" msgstr "Hãy trình báo lỗi nào cho %s\n" -#: addr2line.c:241 +#: addr2line.c:253 #, c-format msgid "%s: can not get addresses from archive" msgstr "%s: không thể lấy địa chỉ từ kho" -#: addr2line.c:311 nm.c:1519 objdump.c:2848 +#: addr2line.c:325 nm.c:1523 objdump.c:3033 #, c-format msgid "unknown demangling style `%s'" msgstr "không biết kiểu dáng tháo gõ « %s »" -#: ar.c:205 +#: ar.c:203 #, c-format msgid "no entry %s in archive\n" msgstr "không có mục nhập %s trong kho\n" -#: ar.c:221 +#: ar.c:219 #, c-format msgid "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n" msgstr "Cách sá»­ dụng: %s [tùy chọn mô phỏng] [-]{dmpqrstx}[abcfilNoPsSuvV] [tên thành viên] [số đếm] tập_tin_kho tập_tin...\n" -#: ar.c:224 +#: ar.c:222 #, c-format msgid " %s -M [ - read options from \n" +msgstr " @\t\tđọc các tùy chọn từ tập tin đó\n" + +#: ar.c:252 #, c-format msgid "Usage: %s [options] archive\n" msgstr "Cách sá»­ dụng: %s [tùy_chọn] kho\n" -#: ar.c:254 +#: ar.c:253 #, c-format msgid " Generate an index to speed access to archives\n" msgstr " Tạo ra chỉ mục để tăng tốc độ truy cập kho\n" -#: ar.c:255 +#: ar.c:254 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" "Tùy chọn:\n" -" -h, --help \thiển thị _trợ giúp_ này\n" +" @\t\t\tđọc các tùy chọn từ tập tin đó\n" +" -h, --help \thiển thị _trợ giúp_ này\n" " -V, --version \txuất thông tin _phiên bản_\n" -#: ar.c:483 +#: ar.c:485 msgid "two different operation options specified" msgstr "hai tùy chọn thao tác khác đã xác định" -#: ar.c:558 +#: ar.c:560 #, c-format msgid "illegal option -- %c" msgstr "không cho phép tùy chọn « -- %c »" -#: ar.c:604 +#: ar.c:606 msgid "no operation specified" msgstr "chưa ghi rõ tùy chọn." -#: ar.c:607 +#: ar.c:609 msgid "`u' is only meaningful with the `r' option." msgstr "« u » có nghÄ©a chỉ cùng với tùy chọn « r »." -#: ar.c:615 +#: ar.c:617 msgid "`N' is only meaningful with the `x' and `d' options." msgstr "« N » có nghÄ©a chỉ cùng với tùy chọn « x » và « d »." -#: ar.c:618 +#: ar.c:620 msgid "Value for `N' must be positive." msgstr "Giá trị cho « N » phải là số dương." -#: ar.c:668 +#: ar.c:670 #, c-format msgid "internal error -- this option not implemented" msgstr "lỗi nội bộ: chưa thá»±c hiện tùy chọn này" -#: ar.c:737 +#: ar.c:739 #, c-format msgid "creating %s" msgstr "đang tạo %s..." -#: ar.c:786 ar.c:836 ar.c:1154 objcopy.c:1603 +#: ar.c:788 ar.c:838 ar.c:1156 objcopy.c:1683 #, c-format msgid "internal stat error on %s" msgstr "lỗi stat nôi bộ trên %s" # Variable: do not translate/ biến: đừng dịch -#: ar.c:790 +#: ar.c:792 #, c-format msgid "" "\n" @@ -270,37 +281,37 @@ msgstr "" "<%s>\n" "\n" -#: ar.c:806 ar.c:873 +#: ar.c:808 ar.c:875 #, c-format msgid "%s is not a valid archive" msgstr "%s không phải là một kho hợp lệ" -#: ar.c:841 +#: ar.c:843 #, c-format msgid "stat returns negative size for %s" msgstr "việc stat (lấy các thông tin) trả gởi kích cỡ âm cho %s" -#: ar.c:1059 +#: ar.c:1061 #, c-format msgid "No member named `%s'\n" msgstr "Không có thành viên tên « %s »\n" -#: ar.c:1109 +#: ar.c:1111 #, c-format msgid "no entry %s in archive %s!" msgstr "không có mục nhập %s trong kho %s." -#: ar.c:1246 +#: ar.c:1248 #, c-format msgid "%s: no archive map to update" msgstr "%s: không có ánh xạ kho cần cập nhật" -#: arsup.c:83 +#: arsup.c:87 #, c-format msgid "No entry %s in archive.\n" msgstr "Không có mục nhập %s trong kho.\n" -#: arsup.c:109 +#: arsup.c:112 #, c-format msgid "Can't open file %s\n" msgstr "Không thể mở tập tin %s\n" @@ -356,94 +367,96 @@ msgid " No emulation specific options\n" msgstr " Không có tùy chọn đặc trưng cho mô phỏng\n" #. Macros for common output. -#: binemul.h:42 +#: binemul.h:40 #, c-format msgid " emulation options: \n" msgstr " tùy chọn mô phỏng:\n" -#: bucomm.c:109 +#: bucomm.c:110 #, c-format msgid "can't set BFD default target to `%s': %s" msgstr "không thể lập đích mặc định BFD thành « %s »: %s" -#: bucomm.c:120 +#: bucomm.c:121 #, c-format msgid "%s: Matching formats:" msgstr "%s: khuôn dạng khớp:" -#: bucomm.c:135 +#: bucomm.c:136 #, c-format msgid "Supported targets:" msgstr "Đích hỗ trợ :" -#: bucomm.c:137 +#: bucomm.c:138 #, c-format msgid "%s: supported targets:" msgstr "%s: đích hỗ trợ :" -#: bucomm.c:153 +#: bucomm.c:154 #, c-format msgid "Supported architectures:" msgstr "Kiến trúc hỗ trợ :" -#: bucomm.c:155 +#: bucomm.c:156 #, c-format msgid "%s: supported architectures:" msgstr "%s: kiến trúc hỗ trợ :" -#: bucomm.c:348 +#: bucomm.c:349 #, c-format msgid "BFD header file version %s\n" msgstr "Phiên bản tập tin đầu BFD %s\n" -#: bucomm.c:449 +#: bucomm.c:450 #, c-format msgid "%s: bad number: %s" msgstr "%s: số sai: %s" -#: bucomm.c:466 strings.c:386 +#: bucomm.c:467 strings.c:438 #, c-format msgid "'%s': No such file" msgstr "« %s »: không có tập tin như vậy" -#: bucomm.c:468 strings.c:388 +#: bucomm.c:469 strings.c:440 #, c-format msgid "Warning: could not locate '%s'. reason: %s" msgstr "Cảnh báo : không thể định vị « %s ». Lý do : %s" -#: bucomm.c:472 +#: bucomm.c:473 #, c-format msgid "Warning: '%s' is not an ordinary file" msgstr "Cảnh báo : « %s » không phải là một tập tin chuẩn" -#: coffdump.c:105 +#: coffdump.c:103 #, c-format msgid "#lines %d " msgstr "#dòng %d " -#: coffdump.c:459 sysdump.c:648 +#: coffdump.c:457 sysdump.c:641 #, c-format msgid "Usage: %s [option(s)] in-file\n" msgstr "Cách sá»­ dụng: %s [tùy_chọn...] tập_tin_nhập\n" -#: coffdump.c:460 +#: coffdump.c:458 #, c-format msgid " Print a human readable interpretation of a SYSROFF object file\n" msgstr "In ra lời thông dịch cho phép người đọc cá»§a tập tin đối tượng SYSROFF\n" -#: coffdump.c:461 +#: coffdump.c:459 #, c-format msgid "" " The options are:\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" msgstr "" "Tùy chọn:\n" -" -h, --help hiển thị _trợ giúp_ này\n" +" @\t\tđọc các tùy chọn từ tập tin đó\n" +" -h, --help hiển thị _trợ giúp_ này\n" " -v --version hiển thị _phiên bản_ cá»§a chương trình\n" -#: coffdump.c:527 srconv.c:1819 sysdump.c:710 +#: coffdump.c:528 srconv.c:1822 sysdump.c:705 msgid "no input file specified" msgstr "chưa ghi rõ tập tin nhập" @@ -540,545 +553,555 @@ msgstr "debug_get_real_type: (gỡ lỗi lấy kiểu thật) thông tin gỡ l msgid "debug_write_type: illegal type encountered" msgstr "debug_write_type: (gỡ lỗi ghi kiểu) gặp kiểu không được phép" -#: dlltool.c:773 dlltool.c:797 dlltool.c:826 +#: dlltool.c:765 dlltool.c:789 dlltool.c:818 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "Lỗi nội bộ : không biết kiểu máy: %d" -#: dlltool.c:862 +#: dlltool.c:854 #, c-format msgid "Can't open def file: %s" msgstr "Không thể mở tập tin định nghÄ©a: %s" -#: dlltool.c:867 +#: dlltool.c:859 #, c-format msgid "Processing def file: %s" msgstr "Đang xá»­ lý tập tin định nghÄ©a: %s" -#: dlltool.c:871 +#: dlltool.c:863 msgid "Processed def file" msgstr "Đã xá»­ lý tập tin định nghÄ©a" -#: dlltool.c:895 +#: dlltool.c:887 #, c-format msgid "Syntax error in def file %s:%d" msgstr "Gặp lỗi cú pháp trong tập tin định nghÄ©a %s:%d" -#: dlltool.c:930 +#: dlltool.c:922 #, c-format msgid "%s: Path components stripped from image name, '%s'." msgstr "%s: các thành phần đường dẫn bị tước ra tên ảnh, « %s »." -#: dlltool.c:939 +#: dlltool.c:931 #, c-format msgid "NAME: %s base: %x" msgstr "TÊN: %s cÆ¡ bản: %x" -#: dlltool.c:942 dlltool.c:958 +#: dlltool.c:934 dlltool.c:950 msgid "Can't have LIBRARY and NAME" msgstr "Không cho phép dùng cả THƯ VIÊN lẫn TÊN đều" -#: dlltool.c:955 +#: dlltool.c:947 #, c-format msgid "LIBRARY: %s base: %x" msgstr "THƯ VIÊN: %s cÆ¡ bản: %x" -#: dlltool.c:1191 resrc.c:269 +#: dlltool.c:1183 resrc.c:269 #, c-format msgid "wait: %s" msgstr "đợi: %s" -#: dlltool.c:1196 dllwrap.c:418 resrc.c:274 +#: dlltool.c:1188 dllwrap.c:413 resrc.c:274 #, c-format msgid "subprocess got fatal signal %d" msgstr "tiến trình con đã nhận tín hiệu nghiệm trọng %d" -#: dlltool.c:1202 dllwrap.c:425 resrc.c:281 +#: dlltool.c:1194 dllwrap.c:420 resrc.c:281 #, c-format msgid "%s exited with status %d" msgstr "%s đã thoát với trạng thái %d" -#: dlltool.c:1233 +#: dlltool.c:1225 #, c-format msgid "Sucking in info from %s section in %s" msgstr "Đang kéo vào thông tin từ phần %s trong %s..." -#: dlltool.c:1358 +#: dlltool.c:1350 #, c-format msgid "Excluding symbol: %s" msgstr "Đang loại trừ ký hiệu : %s" -#: dlltool.c:1447 dlltool.c:1458 nm.c:998 nm.c:1009 +#: dlltool.c:1439 dlltool.c:1450 nm.c:1000 nm.c:1011 #, c-format msgid "%s: no symbols" msgstr "%s: không có ký hiệu" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1484 +#: dlltool.c:1476 #, c-format msgid "Done reading %s" msgstr "Đã đọc xong %s" -#: dlltool.c:1494 +#: dlltool.c:1486 #, c-format msgid "Unable to open object file: %s" msgstr "Không thể mở tập tin đối tượng: %s" -#: dlltool.c:1497 +#: dlltool.c:1489 #, c-format msgid "Scanning object file %s" msgstr "Đang quét tập tin đối tượng %s..." -#: dlltool.c:1512 +#: dlltool.c:1504 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "Không thể cung cấp « mcore-elf dll » từ tập tin kho: %s" -#: dlltool.c:1598 +#: dlltool.c:1590 msgid "Adding exports to output file" msgstr "Đang thêm các việc xuất vào nhóm kết xuất..." -#: dlltool.c:1646 +#: dlltool.c:1638 msgid "Added exports to output file" msgstr "Đã thêm các việc xuất vào nhóm kết xuất" -#: dlltool.c:1767 +#: dlltool.c:1759 #, c-format msgid "Generating export file: %s" msgstr "Đang tạo ra tập tin xuất: %s" -#: dlltool.c:1772 +#: dlltool.c:1764 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "Không thể mở tập tin dịch mã số tạm thời: %s" -#: dlltool.c:1775 +#: dlltool.c:1767 #, c-format msgid "Opened temporary file: %s" msgstr "Đã mở tập tin tạm thời: %s" -#: dlltool.c:1997 +#: dlltool.c:1989 msgid "Generated exports file" msgstr "Đã tạo ra tập tin xuất" -#: dlltool.c:2203 +#: dlltool.c:2195 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "bfd_open không mở được tập tin stub: %s" -#: dlltool.c:2206 +#: dlltool.c:2198 #, c-format msgid "Creating stub file: %s" msgstr "Đang tạo tập tin stub: %s" -#: dlltool.c:2588 +#: dlltool.c:2580 #, c-format msgid "failed to open temporary head file: %s" msgstr "lỗi mở tập tin đầu tạm: %s" -#: dlltool.c:2647 +#: dlltool.c:2639 #, c-format msgid "failed to open temporary tail file: %s" msgstr "lỗi mở tập tin đuôi tạm: %s" -#: dlltool.c:2714 +#: dlltool.c:2706 #, c-format msgid "Can't open .lib file: %s" msgstr "Không thể mở tập tin « .lib » (thư viên): %s" -#: dlltool.c:2717 +#: dlltool.c:2709 #, c-format msgid "Creating library file: %s" msgstr "Đang tạo tập tin thư viên: %s" -#: dlltool.c:2800 dlltool.c:2806 +#: dlltool.c:2792 dlltool.c:2798 #, c-format msgid "cannot delete %s: %s" msgstr "không thể xóa bỏ %s: %s" -#: dlltool.c:2811 +#: dlltool.c:2803 msgid "Created lib file" msgstr "Đã tạo tập tin thư viên" -#: dlltool.c:2904 +#: dlltool.c:2882 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "Cảnh báo, đang bỏ qua XUẤT trùng %s %d,%d" -#: dlltool.c:2910 +#: dlltool.c:2888 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "Lỗi: XUẤT trùng với điều thứ tá»± : %s" -#: dlltool.c:3026 +#: dlltool.c:2993 msgid "Processing definitions" msgstr "Đang xá»­ lý các lời định nghÄ©a..." -#: dlltool.c:3058 +#: dlltool.c:3025 msgid "Processed definitions" msgstr "Đã xá»­ lý các lời định nghÄ©a" #. xgetext:c-format -#: dlltool.c:3065 dllwrap.c:479 +#: dlltool.c:3032 dllwrap.c:474 #, c-format msgid "Usage %s \n" msgstr "Cách sá»­ dụng %s \n" #. xgetext:c-format -#: dlltool.c:3067 +#: dlltool.c:3034 #, c-format msgid " -m --machine Create as DLL for . [default: %s]\n" msgstr " -m --machine Tạo dạng DLL cho . [mặc định: %s]\n" -#: dlltool.c:3068 +#: dlltool.c:3035 #, c-format msgid " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" msgstr " có thể: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n" -#: dlltool.c:3069 +#: dlltool.c:3036 #, c-format msgid " -e --output-exp Generate an export file.\n" msgstr " -e --output-exp \tTạo ra tập tin _xuất_.\n" -#: dlltool.c:3070 +#: dlltool.c:3037 #, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr " -l --output-lib \tTạo _ra thư viên_ giao diện.\n" -#: dlltool.c:3071 +#: dlltool.c:3038 #, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr " -a --add-indirect _Thêm lời gián tiếp_dạng dll vào tập tin xuất\n" -#: dlltool.c:3072 +#: dlltool.c:3039 #, c-format msgid " -D --dllname Name of input dll to put into interface lib.\n" msgstr " -D --dllname _Tên dll_ nhập cần để vào thư viên giao diện.\n" -#: dlltool.c:3073 +#: dlltool.c:3040 #, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr " -d --input-def \tTên tập tin _định nghÄ©a_ cần đọc _vào_.\n" -#: dlltool.c:3074 +#: dlltool.c:3041 #, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr " -z --output-def Tên tập tin _định nghÄ©a_ cần tạo (_ra_).\n" -#: dlltool.c:3075 +#: dlltool.c:3042 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" -msgstr " --export-all-symbols Tá»± động _xuất mọi ký hiệu_ vào tập tin định nghÄ©a\n" +msgstr " --export-all-symbols Tá»± động _xuất mọi ký hiệu_ vào tập tin định nghÄ©a\n" -#: dlltool.c:3076 +#: dlltool.c:3043 #, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr "" " --no-export-all-symbols \tXuất chỉ những ký hiệu đã liệt kê\n" "\t\t\t\t\t\t\t\t(_không xuất mọi ký hiệu_)\n" -#: dlltool.c:3077 +#: dlltool.c:3044 #, c-format msgid " --exclude-symbols Don't export \n" msgstr "" " --exclude-symbols Đừng xuất danh sách này\n" "\t\t\t\t\t\t\t\t(_loại trừ ký hiệu_)\n" -#: dlltool.c:3078 +#: dlltool.c:3045 #, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr "" " --no-default-excludes Xóa các ký hiệu cần loại trừ theo mặc định\n" "\t\t\t\t\t\t\t\t(không loại trừ mặc định)\n" -#: dlltool.c:3079 +#: dlltool.c:3046 #, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr " -b --base-file Đọc _tập tin cÆ¡ bản_ do bộ liên kết tạo ra.\n" -#: dlltool.c:3080 +#: dlltool.c:3047 #, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr " -x --no-idata4 Đừng tạo ra phần « idata$4 ».\n" -#: dlltool.c:3081 +#: dlltool.c:3048 #, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr " -c --no-idata5 Đừng tạo ra phần « idata$5 ».\n" -#: dlltool.c:3082 +#: dlltool.c:3049 #, c-format msgid " -U --add-underscore Add underscores to symbols in interface library.\n" msgstr "" " -U --add-underscore \t_Thêm dấu gạch dưới_ vào\n" "\t\t\t\t\t\tcác ký hiệu trong thư viên giao diện.\n" -#: dlltool.c:3083 +#: dlltool.c:3050 #, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr "" " -k --kill-at Xóa bỏ « @ » ra các tên đã xuất.\n" "\t\t\t\t\t\t(_buộc kết thúc tại_)\n" -#: dlltool.c:3084 +#: dlltool.c:3051 #, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr "" " -A --add-stdcall-alias \tThêm biệt hiệu không có « @ ».\n" "\t\t\t\t\t\t(_thêm biệt hiệu gọi chuẩn_)\n" -#: dlltool.c:3085 +#: dlltool.c:3052 #, c-format msgid " -p --ext-prefix-alias Add aliases with .\n" msgstr "" " -p --ext-prefix-alias \tThêm các biệt hiệu có tiền tố này.\n" "\t\t\t\t\t\t(_biệt hiệu tiền tố thêm_)\n" -#: dlltool.c:3086 +#: dlltool.c:3053 #, c-format msgid " -S --as Use for assembler.\n" msgstr " -S --as \tDùng tên này cho chương trình dịch mã số.\n" -#: dlltool.c:3087 +#: dlltool.c:3054 #, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr "" " -f --as-flags Gởi các cờ này qua cho chương trình dịch mã số.\n" "\t\t\t\t\t\t\t(_dạng cờ_)\n" -#: dlltool.c:3088 +#: dlltool.c:3055 #, c-format msgid " -C --compat-implib Create backward compatible import library.\n" msgstr " -C --compat-implib \tTạo _thư viên nhập tương thích_ ngược.\n" -#: dlltool.c:3089 +#: dlltool.c:3056 #, c-format msgid " -n --no-delete Keep temp files (repeat for extra preservation).\n" msgstr "" " -n --no-delete \t\tGiữ lại các tập tin tạm thời (lặp lại để bảo tồn thêm)\n" "\t\t\t\t\t\t(_không xóa bỏ_)\n" -#: dlltool.c:3090 +#: dlltool.c:3057 #, c-format msgid " -t --temp-prefix Use to construct temp file names.\n" msgstr " -t --temp-prefix \tDùng _tiền tố_ này để tạo tên tập tin _tạm_.\n" -#: dlltool.c:3091 +#: dlltool.c:3058 #, c-format msgid " -v --verbose Be verbose.\n" -msgstr " -v --verbose Xuất _chi tiết_.\n" +msgstr " -v --verbose Xuất _chi tiết_.\n" -#: dlltool.c:3092 +#: dlltool.c:3059 #, c-format msgid " -V --version Display the program version.\n" -msgstr " -V --version \tHiển thị phiên bản chương trình.\n" +msgstr " -V --version \tHiển thị phiên bản chương trình.\n" -#: dlltool.c:3093 +#: dlltool.c:3060 #, c-format msgid " -h --help Display this information.\n" -msgstr " -h --help \tHiển thị _trợ giúp_ này.\n" +msgstr " -h --help \tHiển thị _trợ giúp_ này.\n" -#: dlltool.c:3095 +#: dlltool.c:3061 +#, c-format +msgid " @ Read options from .\n" +msgstr " @\t\tđọc các tùy chọn từ tập tin đó\n" + +#: dlltool.c:3063 #, c-format msgid " -M --mcore-elf Process mcore-elf object files into .\n" msgstr "" " -M --mcore-elf \n" "\t\tXá»­ lý các tập tin đối tượng kiểu « mcore-elf » vào tập tin tên này.\n" -#: dlltool.c:3096 +#: dlltool.c:3064 #, c-format msgid " -L --linker Use as the linker.\n" msgstr " -L --linker \t\tDùng tên này là _bộ liên kết_.\n" -#: dlltool.c:3097 +#: dlltool.c:3065 #, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr " -F --linker-flags \tGởi _các cờ_ này qua cho _bộ liên kết_.\n" -#: dlltool.c:3211 +#: dlltool.c:3181 #, c-format msgid "Path components stripped from dllname, '%s'." msgstr "Các thành phần đường dẫn bị tước ra tên dll, « %s »." -#: dlltool.c:3256 +#: dlltool.c:3226 #, c-format msgid "Unable to open base-file: %s" msgstr "Không thể mở tập tin cÆ¡ sở: %s" -#: dlltool.c:3288 +#: dlltool.c:3258 #, c-format msgid "Machine '%s' not supported" msgstr "Không hỗ trợ máy « %s »" -#: dlltool.c:3392 dllwrap.c:209 +#: dlltool.c:3362 dllwrap.c:204 #, c-format msgid "Tried file: %s" msgstr "Đã thá»­ tập tin: %s" -#: dlltool.c:3399 dllwrap.c:216 +#: dlltool.c:3369 dllwrap.c:211 #, c-format msgid "Using file: %s" msgstr "Đang dùng tập tin: %s" -#: dllwrap.c:299 +#: dllwrap.c:294 #, c-format msgid "Keeping temporary base file %s" msgstr "Đang giữ tập tin cÆ¡ bản tạm thời %s" -#: dllwrap.c:301 +#: dllwrap.c:296 #, c-format msgid "Deleting temporary base file %s" msgstr "Đang xóa bỏ tập tin cÆ¡ bản tạm thời %s..." -#: dllwrap.c:315 +#: dllwrap.c:310 #, c-format msgid "Keeping temporary exp file %s" msgstr "Đang giữ tập tin xuất tạm thời %s" -#: dllwrap.c:317 +#: dllwrap.c:312 #, c-format msgid "Deleting temporary exp file %s" msgstr "Đang xóa bỏ tập tin xuất tạm thời %s..." -#: dllwrap.c:330 +#: dllwrap.c:325 #, c-format msgid "Keeping temporary def file %s" msgstr "Đang giữ tập tin định nghÄ©a tạm thời %s" -#: dllwrap.c:332 +#: dllwrap.c:327 #, c-format msgid "Deleting temporary def file %s" msgstr "Đang xóa bỏ tập tin định nghÄ©a tạm thời %s..." -#: dllwrap.c:480 +#: dllwrap.c:475 #, c-format msgid " Generic options:\n" msgstr " Tùy chọn chung:\n" -#: dllwrap.c:481 +#: dllwrap.c:476 +#, c-format +msgid " @ Read options from \n" +msgstr " @\t\tđọc các tùy chọn từ tập tin đó\n" + +#: dllwrap.c:477 #, c-format msgid " --quiet, -q Work quietly\n" msgstr " --quiet, -q Không xuất chi tiết (_im_)\n" -#: dllwrap.c:482 +#: dllwrap.c:478 #, c-format msgid " --verbose, -v Verbose\n" msgstr " --verbose, -v Xuất _chi tiết_\n" -#: dllwrap.c:483 +#: dllwrap.c:479 #, c-format msgid " --version Print dllwrap version\n" msgstr " --version In ra phiên bản dllwrap\n" -#: dllwrap.c:484 +#: dllwrap.c:480 #, c-format msgid " --implib Synonym for --output-lib\n" msgstr " --implib Bằng « --output-lib »\n" -#: dllwrap.c:485 +#: dllwrap.c:481 #, c-format msgid " Options for %s:\n" msgstr " Tùy chọn cho %s:\n" -#: dllwrap.c:486 +#: dllwrap.c:482 #, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr "" " --driver-name \t Mặc định là « gcc »\n" "\t\t\t\t\t\t\t\t(_tên trình điều khiển_)\n" -#: dllwrap.c:487 +#: dllwrap.c:483 #, c-format msgid " --driver-flags Override default ld flags\n" msgstr "" " --driver-flags \t\tCó quyền cao hÆ¡n các cờ ld mặc định\n" "\t\t\t\t\t\t\t\t(_các cờ trình điều khiển_)\n" -#: dllwrap.c:488 +#: dllwrap.c:484 #, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr "" " --dlltool-name \t\tMặc định là « dlltool »\n" "\t\t\t\t\t\t\t\t(_tên công cụ dlltool_)\n" -#: dllwrap.c:489 +#: dllwrap.c:485 #, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr " --entry <điểm_vào> \t\tGhi rõ điểm _vào_ DLL xen kẽ\n" -#: dllwrap.c:490 +#: dllwrap.c:486 #, c-format msgid " --image-base Specify image base address\n" msgstr " --image-base \tGhi rõ địa chỉ _cÆ¡ bản ảnh_\n" -#: dllwrap.c:491 +#: dllwrap.c:487 #, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr " --target i386-cygwin32 hay i386-mingw32\n" -#: dllwrap.c:492 +#: dllwrap.c:488 #, c-format msgid " --dry-run Show what needs to be run\n" msgstr " --dry-run \tHiển thị các điều cần chạy (_chạy thá»±c hành_)\n" -#: dllwrap.c:493 +#: dllwrap.c:489 #, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr " --mno-cygwin \tTạo DLL dạng Mingw\n" -#: dllwrap.c:494 +#: dllwrap.c:490 #, c-format msgid " Options passed to DLLTOOL:\n" msgstr " Các tùy chọn được gởi qua cho DLLTOOL:\n" -#: dllwrap.c:495 +#: dllwrap.c:491 #, c-format msgid " --machine \n" msgstr " --machine \n" -#: dllwrap.c:496 +#: dllwrap.c:492 #, c-format msgid " --output-exp Generate export file.\n" msgstr " --output-exp \t\tTạo ra tập tin _xuất_.\n" -#: dllwrap.c:497 +#: dllwrap.c:493 #, c-format msgid " --output-lib Generate input library.\n" msgstr " --output-lib \t\tTạo _ra thư viên_ nhập.\n" -#: dllwrap.c:498 +#: dllwrap.c:494 #, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr " --add-indirect \t\t_Thêm_ các lời _gián tiếp_ vào tập tin xuất.\n" -#: dllwrap.c:499 +#: dllwrap.c:495 #, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr " --dllname \t\t_Tên dll_ nhập cần để vào thư viên xuất.\n" -#: dllwrap.c:500 +#: dllwrap.c:496 #, c-format msgid " --def Name input .def file\n" msgstr " --def \tTên tập tin _định nghÄ©a_ nhập\n" -#: dllwrap.c:501 +#: dllwrap.c:497 #, c-format msgid " --output-def Name output .def file\n" msgstr " --output-def \tTên _tập tin định nghÄ©a xuất_\n" -#: dllwrap.c:502 +#: dllwrap.c:498 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr " --export-all-symbols _Xuất mọi ký hiệu_ vào tập tin định nghÄ©a\n" -#: dllwrap.c:503 +#: dllwrap.c:499 #, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr "" " --no-export-all-symbols \tXuất chỉ ký hiệu kiểu « .drectve ».\n" "\t\t\t\t\t\t\t\t(_không xuất mọi ký hiệu_)\n" -#: dllwrap.c:504 +#: dllwrap.c:500 #, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr "" @@ -1086,67 +1109,67 @@ msgstr "" "\t\t\t\t\tLoại trừ danh sách này ra tập tin định nghÄ©a.\n" "\t\t\t\t\t\t\t\t(_loại trừ các ký hiệu_)\n" -#: dllwrap.c:505 +#: dllwrap.c:501 #, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr "" " --no-default-excludes \t\tSá»­a mọi ký hiệu loại trừ mặc định.\n" "\t\t\t\t\t\t\t\t(_không loại trừ mặc định_)\n" -#: dllwrap.c:506 +#: dllwrap.c:502 #, c-format msgid " --base-file Read linker generated base file\n" msgstr " --base-file Đọc _tập tin cÆ¡ bản_ do bộ liên kết tạo ra.\n" -#: dllwrap.c:507 +#: dllwrap.c:503 #, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr " --no-idata4 Đừng tạo ra phần « idata$4 ».\n" -#: dllwrap.c:508 +#: dllwrap.c:504 #, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr " --no-idata5 Đừng tạo ra phần « idata$5 ».\n" -#: dllwrap.c:509 +#: dllwrap.c:505 #, c-format msgid " -U Add underscores to .lib\n" msgstr " -U Thêm dấu gạch _dưới_ vào thư viên\n" -#: dllwrap.c:510 +#: dllwrap.c:506 #, c-format msgid " -k Kill @ from exported names\n" msgstr "" " -k Xóa bỏ « @ » ra các tên đã xuất\n" "\t\t\t\t\t(_buộc kết thúc_)\n" -#: dllwrap.c:511 +#: dllwrap.c:507 #, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr "" " --add-stdcall-alias \tThêm biệt hiệu không có « @ ».\n" "\t\t\t\t\t\t\t(_thêm biệt hiệu gọi chuẩn_)\n" -#: dllwrap.c:512 +#: dllwrap.c:508 #, c-format msgid " --as Use for assembler\n" msgstr " --as Dùng tên này cho chương trình dịch mã số (_dạng_)\n" -#: dllwrap.c:513 +#: dllwrap.c:509 #, c-format msgid " --nodelete Keep temp files.\n" msgstr " --nodelete Giữ các tập tin tạm (_không xóa bỏ_)\n" -#: dllwrap.c:514 +#: dllwrap.c:510 #, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr " Các điều còn lại được gởi dạng chưa được sá»­a đổi qua cho trình điều khiển ngôn ngữ\n" -#: dllwrap.c:784 +#: dllwrap.c:782 msgid "Must provide at least one of -o or --dllname options" msgstr "Phải cung cấp ít nhất một cá»§a hai tùy chọn « -o » hay « -dllname »" -#: dllwrap.c:813 +#: dllwrap.c:811 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" @@ -1154,3453 +1177,3509 @@ msgstr "" "chưa cung cấp tập tin định nghÄ©a xuất.\n" "Đang tạo một điều, mà có lẽ không phải là điều bạn muốn" -#: dllwrap.c:972 +#: dllwrap.c:970 #, c-format msgid "DLLTOOL name : %s\n" msgstr "Tên công cụ DLLTOOL : %s\n" -#: dllwrap.c:973 +#: dllwrap.c:971 #, c-format msgid "DLLTOOL options : %s\n" msgstr "Tùy chọn DLLTOOL: %s\n" -#: dllwrap.c:974 +#: dllwrap.c:972 #, c-format msgid "DRIVER name : %s\n" msgstr "Tên TRÌNH ĐIỀU KHIỀN : %s\n" -#: dllwrap.c:975 +#: dllwrap.c:973 #, c-format msgid "DRIVER options : %s\n" msgstr "Tùy chọn TRÌNH ĐIỀU KHIỂN : %s\n" -#: emul_aix.c:51 +#: dwarf.c:93 dwarf.c:137 readelf.c:322 readelf.c:515 #, c-format -msgid " [-g] - 32 bit small archive\n" -msgstr " [-g] • kho nhỏ 32-bit\n" +msgid "Unhandled data length: %d\n" +msgstr "Độ dài dữ liệu không được quản lý: %d\n" -#: emul_aix.c:52 +#: dwarf.c:237 +msgid "badly formed extended line op encountered!\n" +msgstr "gặp thao tác dòng đã mở rộng dạng sai.\n" + +#: dwarf.c:244 #, c-format -msgid " [-X32] - ignores 64 bit objects\n" -msgstr " [-X32] • bỏ qua các đối tượng kiểu 64 bit\n" +msgid " Extended opcode %d: " +msgstr " Opcode (mã thao tác) đã mở rộng %d: " -#: emul_aix.c:53 +#: dwarf.c:249 #, c-format -msgid " [-X64] - ignores 32 bit objects\n" -msgstr " [-X64] • bỏ qua các đối tượng kiểu 32 bit\n" +msgid "" +"End of Sequence\n" +"\n" +msgstr "" +"Kết thúc dãy\n" +"\n" -#: emul_aix.c:54 +#: dwarf.c:255 #, c-format -msgid " [-X32_64] - accepts 32 and 64 bit objects\n" -msgstr " [-X32_64] • chấp nhận các đối tượng kiểu cả 32 bit lẫn 64 bit đều\n" +msgid "set Address to 0x%lx\n" +msgstr "đặt Địa chỉ là 0x%lx\n" -#: ieee.c:311 -msgid "unexpected end of debugging information" -msgstr "gặp kết thúc thông tin gỡ lỗi bất ngờ" +#: dwarf.c:260 +#, c-format +msgid " define new File Table entry\n" +msgstr " định nghÄ©a mục nhập Bảng Tập tin mới\n" -#: ieee.c:398 -msgid "invalid number" -msgstr "số không hợp lệ" +#: dwarf.c:261 dwarf.c:1944 +#, c-format +msgid " Entry\tDir\tTime\tSize\tName\n" +msgstr " Mục\tTMục\tGiờ\tCỡ\tTên\n" -#: ieee.c:451 -msgid "invalid string length" -msgstr "độ dài chuỗi không hợp lệ" +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:263 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: ieee.c:506 ieee.c:547 -msgid "expression stack overflow" -msgstr "trán đống biểu thức" +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:266 dwarf.c:268 dwarf.c:270 dwarf.c:1956 dwarf.c:1958 dwarf.c:1960 +#, c-format +msgid "%lu\t" +msgstr "%lu\t" -#: ieee.c:526 -msgid "unsupported IEEE expression operator" -msgstr "toán tá»­ biểu thức IEE không được hỗ trợ" +# Variable: do not translate/ biến: đừng dịch +#: dwarf.c:271 +#, c-format +msgid "" +"%s\n" +"\n" +msgstr "" +"%s\n" +"\n" -#: ieee.c:541 -msgid "unknown section" -msgstr "không biết phần" +#: dwarf.c:275 +#, c-format +msgid "UNKNOWN: length %d\n" +msgstr "KHÔNG RÕ: độ dài %d\n" -#: ieee.c:562 -msgid "expression stack underflow" -msgstr "trán ngược đống biểu thức" +#: dwarf.c:288 +msgid "" +msgstr "" -#: ieee.c:576 -msgid "expression stack mismatch" -msgstr "đống biểu thức không khớp với nhau" +#: dwarf.c:294 +#, c-format +msgid "DW_FORM_strp offset too big: %lx\n" +msgstr "DW_FORM_strp hiệu số quá lớn: %lx\n" -#: ieee.c:613 -msgid "unknown builtin type" -msgstr "không biết kiểu builtin" +#: dwarf.c:295 +msgid "" +msgstr "" -#: ieee.c:758 -msgid "BCD float type not supported" -msgstr "Kiểu nổi BDC không được hỗ trợ" +#: dwarf.c:528 +#, c-format +msgid "Unknown TAG value: %lx" +msgstr "Giá trị TAG (thẻ) không rõ : %lx" -#: ieee.c:895 -msgid "unexpected number" -msgstr "số bất ngờ" +#: dwarf.c:564 +#, c-format +msgid "Unknown FORM value: %lx" +msgstr "Giá trị FORM (dạng) không rõ : %lx" -#: ieee.c:902 -msgid "unexpected record type" -msgstr "kiểu mục ghi bất ngờ" +#: dwarf.c:573 +#, c-format +msgid " %lu byte block: " +msgstr " Khối %lu byte: " -#: ieee.c:935 -msgid "blocks left on stack at end" -msgstr "có một số khối còn lại trên đống khi kết thúc" +#: dwarf.c:907 +#, c-format +msgid "(User defined location op)" +msgstr "(Thao tác định vị do người dùng định nghÄ©a)" -#: ieee.c:1198 -msgid "unknown BB type" -msgstr "không biết kiểu BB" +#: dwarf.c:909 +#, c-format +msgid "(Unknown location op)" +msgstr "(Thao tác định vị không rõ)" -#: ieee.c:1207 -msgid "stack overflow" -msgstr "trán đống" +#: dwarf.c:955 +msgid "Internal error: DWARF version is not 2 or 3.\n" +msgstr "Lỗi nội bộ: phiên bản DWARF không phải là 2 hay 3.\n" -#: ieee.c:1230 -msgid "stack underflow" -msgstr "trán ngược đống" +#: dwarf.c:1053 +msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" +msgstr "Không hỗ trợ « DW_FORM_data8 » khi « sizeof (unsigned long) != 8 » [kích cỡ cá»§a (dài không ký)]\n" -#: ieee.c:1342 ieee.c:1412 ieee.c:2109 -msgid "illegal variable index" -msgstr "chỉ mục biến không được phép" +#: dwarf.c:1102 +#, c-format +msgid " (indirect string, offset: 0x%lx): %s" +msgstr " (chuỗi gián tiếp, hiệu số: 0x%lx): %s" -#: ieee.c:1390 -msgid "illegal type index" -msgstr "chỉ mục kiểu không được phép" +#: dwarf.c:1111 +#, c-format +msgid "Unrecognized form: %lu\n" +msgstr "Không nhận diện dạng: %lu\n" -#: ieee.c:1400 ieee.c:1437 -msgid "unknown TY code" -msgstr "không biết mã TY" +#: dwarf.c:1196 +#, c-format +msgid "(not inlined)" +msgstr "(không đặt trá»±c tiếp)" -#: ieee.c:1419 -msgid "undefined variable in TY" -msgstr "gặp biến chưa được định nghÄ©a trong TY" +#: dwarf.c:1199 +#, c-format +msgid "(inlined)" +msgstr "(đặt trá»±c tiếp)" -#. Pascal file name. FIXME. -#: ieee.c:1830 -msgid "Pascal file name not supported" -msgstr "Chưa hỗ trợ tên tập tin kiểu Pascal" +#: dwarf.c:1202 +#, c-format +msgid "(declared as inline but ignored)" +msgstr "(khai báo là trá»±c tiếp mà bị bỏ qua)" -#: ieee.c:1878 -msgid "unsupported qualifier" -msgstr "bộ dè dặt chưa được hỗ trợ" +#: dwarf.c:1205 +#, c-format +msgid "(declared as inline and inlined)" +msgstr "(khai báo là trá»±c tiếp và đặt trá»±c tiếp)" -#: ieee.c:2147 -msgid "undefined variable in ATN" -msgstr "gặp biến chưa định nghÄ©a trong ATN" +#: dwarf.c:1208 +#, c-format +msgid " (Unknown inline attribute value: %lx)" +msgstr " (Không biết giá trị thuộc tính trá»±c tiếp: %lx)" -#: ieee.c:2190 -msgid "unknown ATN type" -msgstr "không biết kiểu ATN" +#: dwarf.c:1354 dwarf.c:2484 +#, c-format +msgid " [without DW_AT_frame_base]" +msgstr " [không có DW_AT_frame_base (cÆ¡ bản khung)]" -#. Reserved for FORTRAN common. -#: ieee.c:2312 -msgid "unsupported ATN11" -msgstr "ATN11 không được hỗ trÆ¡" +#: dwarf.c:1357 +#, c-format +msgid "(location list)" +msgstr "(danh sách địa điểm)" -#. We have no way to record this information. FIXME. -#: ieee.c:2339 -msgid "unsupported ATN12" -msgstr "ATN12 không được hỗ trÆ¡" +#: dwarf.c:1475 +#, c-format +msgid "Unknown AT value: %lx" +msgstr "Không biết giá trị AT: %lx" -#: ieee.c:2399 -msgid "unexpected string in C++ misc" -msgstr "gặp chuỗi không được hỗ trÆ¡ trong C++ lặt vặt" +#: dwarf.c:1544 +#, c-format +msgid "No comp units in %s section ?" +msgstr "Không có đơn vị biên dịch trong phần %s ?" -#: ieee.c:2412 -msgid "bad misc record" -msgstr "mục ghi lặt vặt sai" +#: dwarf.c:1553 +#, c-format +msgid "Not enough memory for a debug info array of %u entries" +msgstr "Không đủ bộ nhớ cho mảng thông tin gỡ lỗi có mục nhập %u" -#: ieee.c:2453 -msgid "unrecognized C++ misc record" -msgstr "không chấp nhận mục ghi C++ lặt vặt" +#: dwarf.c:1561 dwarf.c:2573 +#, c-format +msgid "" +"The section %s contains:\n" +"\n" +msgstr "" +"Phần %s chứa:\n" +"\n" -#: ieee.c:2568 -msgid "undefined C++ object" -msgstr "đối tượng C++ chưa được định nghÄ©a" +#: dwarf.c:1569 +#, c-format +msgid "Unable to locate %s section!\n" +msgstr "Không thể định vị phần %s !\n" -#: ieee.c:2602 -msgid "unrecognized C++ object spec" -msgstr "chưa chấp nhận đặc tả đối tượng C++" +#: dwarf.c:1635 +#, c-format +msgid " Compilation Unit @ offset 0x%lx:\n" +msgstr " Đơn vị biên dịch @ hiệu số 0x%lx:\n" -#: ieee.c:2638 -msgid "unsupported C++ object type" -msgstr "kiểu đối tượng C++ chưa được hỗ trợ" +#: dwarf.c:1636 +#, c-format +msgid " Length: %ld\n" +msgstr " Dài: %ld\n" -#: ieee.c:2648 -msgid "C++ base class not defined" -msgstr "chưa định nghÄ©a hạng cÆ¡ bản C++" +#: dwarf.c:1637 +#, c-format +msgid " Version: %d\n" +msgstr " Phiên bản: %d\n" -#: ieee.c:2660 ieee.c:2765 -msgid "C++ object has no fields" -msgstr "Đối tượng C++ không có trường nào" +#: dwarf.c:1638 +#, c-format +msgid " Abbrev Offset: %ld\n" +msgstr " Hiệu số tắt: %ld\n" -#: ieee.c:2679 -msgid "C++ base class not found in container" -msgstr "Không tìm thấy hạng cÆ¡ bản C++ trong bộ chứa" +#: dwarf.c:1639 +#, c-format +msgid " Pointer Size: %d\n" +msgstr " Cỡ con trỏ : %d\n" -#: ieee.c:2786 -msgid "C++ data member not found in container" -msgstr "Không tìm thấy bộ phạn dữ liệu C++ trong bộ chứa" +#: dwarf.c:1644 +msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" +msgstr "Hỗ trợ chỉ thông tin gỡ lỗi phiên bản DWARF 2 và 3 thôi.\n" -#: ieee.c:2827 ieee.c:2977 -msgid "unknown C++ visibility" -msgstr "không biết độ thấy rõ C++" +#: dwarf.c:1685 +#, c-format +msgid "Unable to locate entry %lu in the abbreviation table\n" +msgstr "Không thể định vị mục nhâp %lu trong bảng viết tắt\n" -#: ieee.c:2861 -msgid "bad C++ field bit pos or size" -msgstr "vị trí bit hay kích cỡ trường C++ sai" +#: dwarf.c:1691 +#, c-format +msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" +msgstr " <%d><%lx>: Số viết tắt: %lu (%s)\n" -#: ieee.c:2953 -msgid "bad type for C++ method function" -msgstr "kiểu sai cho hàm phương pháp C++" +#: dwarf.c:1785 +#, c-format +msgid "%s section needs a populated .debug_info section\n" +msgstr "Phần %s cần phần « .debug_info » (thông tin gỡ lỗi) có dữ liệu\n" -#: ieee.c:2963 -msgid "no type information for C++ method function" -msgstr "không có thông tin kiểu cho hàm phương pháp C++" +#: dwarf.c:1792 +#, c-format +msgid "%s section has more comp units than .debug_info section\n" +msgstr "Phần %s có nhiều đơn vị biên dịch hÆ¡n phần « .debug_info » (thông tin gỡ lỗi)\n" -#: ieee.c:3002 -msgid "C++ static virtual method" -msgstr "phương pháp ảo tÄ©nh C++" +#: dwarf.c:1794 +#, c-format +msgid "" +"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" +"\n" +msgstr "" +"giả sá»­ kích cỡ con trỏ là %d, từ đơn vị biên dịch cuối cùng trong « .debug_info » (thông tin gỡ lỗi)\n" +"\n" -#: ieee.c:3097 -msgid "unrecognized C++ object overhead spec" -msgstr "chưa chấp nhận đặc tả duy tu đối tượng C++" +#: dwarf.c:1819 +#, c-format +msgid "" +"\n" +"Dump of debug contents of section %s:\n" +"\n" +msgstr "" +"\n" +"Việc đổ nội dung gỡ lỗi cá»§a phần %s:\n" -#: ieee.c:3136 -msgid "undefined C++ vtable" -msgstr "chưa định nghÄ©a vtable C++" +#: dwarf.c:1858 +msgid "The line info appears to be corrupt - the section is too small\n" +msgstr "Hình như dòng bị hỏng — phần quá nhỏ\n" -#: ieee.c:3205 -msgid "C++ default values not in a function" -msgstr "Giá trị C++ mặc định không phải trong hàm" +#: dwarf.c:1867 +msgid "Only DWARF version 2 and 3 line info is currently supported.\n" +msgstr "Hỗ trợ hiện thời chỉ thông tin dòng DWARF phiên bản 2 và 3.\n" -#: ieee.c:3245 -msgid "unrecognized C++ default type" -msgstr "chưa chấp nhận kiểu C++ mặc định" +#: dwarf.c:1894 +#, c-format +msgid " Length: %ld\n" +msgstr " Dài: %ld\n" -#: ieee.c:3276 -msgid "reference parameter is not a pointer" -msgstr "tham số tham chiếu không phải là con trỏ" +#: dwarf.c:1895 +#, c-format +msgid " DWARF Version: %d\n" +msgstr " Phiên bản DWARF: %d\n" -#: ieee.c:3359 -msgid "unrecognized C++ reference type" -msgstr "chưa chấp nhận kiểu tham chiếu C++" +#: dwarf.c:1896 +#, c-format +msgid " Prologue Length: %d\n" +msgstr " Dài đoạn mở đầu : %d\n" -#: ieee.c:3441 -msgid "C++ reference not found" -msgstr "Không tìm thấy tham chiếu C++" +#: dwarf.c:1897 +#, c-format +msgid " Minimum Instruction Length: %d\n" +msgstr " Dài câu lệnh tối thiểu : %d\n" -#: ieee.c:3449 -msgid "C++ reference is not pointer" -msgstr "Tham chiếu C++ không phải là con trỏ" +#: dwarf.c:1898 +#, c-format +msgid " Initial value of 'is_stmt': %d\n" +msgstr " Giá trị đầu cá»§a « is_stmt »: %d\n" -#: ieee.c:3475 ieee.c:3483 -msgid "missing required ASN" -msgstr "thiếu ASN cần thiết" +#: dwarf.c:1899 +#, c-format +msgid " Line Base: %d\n" +msgstr " CÆ¡ bản dòng: %d\n" -#: ieee.c:3510 ieee.c:3518 -msgid "missing required ATN65" -msgstr "thiếu ATN65 cần thiết" +#: dwarf.c:1900 +#, c-format +msgid " Line Range: %d\n" +msgstr " Phạm vị dòng: %d\n" -#: ieee.c:3532 -msgid "bad ATN65 record" -msgstr "mục ghi ATN65 sai" +#: dwarf.c:1901 +#, c-format +msgid " Opcode Base: %d\n" +msgstr " CÆ¡ bản mã thao tác: %d\n" -#: ieee.c:4160 +#: dwarf.c:1902 #, c-format -msgid "IEEE numeric overflow: 0x" -msgstr "trán thuộc số IEEE: 0x" +msgid " (Pointer size: %u)%s\n" +msgstr " (Cỡ con trỏ :\t\t\t%u)%s\n" -#: ieee.c:4204 +#: dwarf.c:1913 #, c-format -msgid "IEEE string length overflow: %u\n" -msgstr "Trán độ dài chuỗi IEEE: %u\n" +msgid "" +"\n" +" Opcodes:\n" +msgstr "" +"\n" +" Mã thao tác:\n" -#: ieee.c:5203 +#: dwarf.c:1916 #, c-format -msgid "IEEE unsupported integer type size %u\n" -msgstr "Kích cỡ kiểu số nguyên không được hỗ trợ IEEE %u\n" +msgid " Opcode %d has %d args\n" +msgstr " Mã thao tác %d có %d đối số\n" -#: ieee.c:5237 +#: dwarf.c:1922 #, c-format -msgid "IEEE unsupported float type size %u\n" -msgstr "Kích cỡ kiểu nổi không được hỗ trợ IEEE %u\n" +msgid "" +"\n" +" The Directory Table is empty.\n" +msgstr "" +"\n" +" Bảng Thư mục rỗng\n" -#: ieee.c:5271 +#: dwarf.c:1925 #, c-format -msgid "IEEE unsupported complex type size %u\n" -msgstr "Kích cỡ kiểu phức tạp không được hỗ trợ IEEE %u\n" +msgid "" +"\n" +" The Directory Table:\n" +msgstr "" +"\n" +" Bảng Thư mục:\n" -#: nlmconv.c:267 srconv.c:1810 -msgid "input and output files must be different" -msgstr "tập tin nhập và xuất phải là khác nhau" +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:1929 +#, c-format +msgid " %s\n" +msgstr " %s\n" -#: nlmconv.c:314 -msgid "input file named both on command line and with INPUT" -msgstr "tên tập tin được lập cả trên dòng lệnh lẫn bằng INPUT đều" +#: dwarf.c:1940 +#, c-format +msgid "" +"\n" +" The File Name Table is empty.\n" +msgstr "" +"\n" +" Bảng Tên Tập tin rỗng:\n" -#: nlmconv.c:323 -msgid "no input file" -msgstr "không có tập tin nhập nào" +#: dwarf.c:1943 +#, c-format +msgid "" +"\n" +" The File Name Table:\n" +msgstr "" +"\n" +" Bảng Tên Tập tin:\n" -#: nlmconv.c:353 -msgid "no name for output file" -msgstr "không có tên cho tập tin nhập" +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:1951 +#, c-format +msgid " %d\t" +msgstr " %d\t" -#: nlmconv.c:367 -msgid "warning: input and output formats are not compatible" -msgstr "cảnh báo : khuôn dạng nhập và xuất không tương thích với nhau" +# Variable: do not translate/ biến: đừng dịch +#: dwarf.c:1962 +#, c-format +msgid "%s\n" +msgstr "%s\n" -#: nlmconv.c:396 -msgid "make .bss section" -msgstr "tạo phần « .bss »" +#. Now display the statements. +#: dwarf.c:1970 +#, c-format +msgid "" +"\n" +" Line Number Statements:\n" +msgstr "" +"\n" +" Câu Số thứ tá»± Dòng:\n" -#: nlmconv.c:405 -msgid "make .nlmsections section" -msgstr "tạo phần « .nlmsections »" +#: dwarf.c:1986 +#, c-format +msgid " Special opcode %d: advance Address by %lu to 0x%lx" +msgstr " Mã thao tác đặc biệt %d: nâng cao Địa chỉ bước %lu tới 0x%lx" -#: nlmconv.c:407 -msgid "set .nlmsections flags" -msgstr "đặt các cờ « .nlmsections »" +#: dwarf.c:1990 +#, c-format +msgid " and Line by %d to %d\n" +msgstr " và Dòng bước %d tới %d\n" -#: nlmconv.c:435 -msgid "set .bss vma" -msgstr "đặt vma .bss" +#: dwarf.c:1998 +msgid "Extend line ops need a valid pointer size, guessing at 4\n" +msgstr "Thao tác kéo dài đường cần thiết kích cỡ con trỏ hợp lệ, đang đoán nó là 4\n" -#: nlmconv.c:442 -msgid "set .data size" -msgstr "đặt kích cỡ dữ liệu .data" +#: dwarf.c:2007 +#, c-format +msgid " Copy\n" +msgstr " Chép\n" -#: nlmconv.c:622 +#: dwarf.c:2015 #, c-format -msgid "warning: symbol %s imported but not in import list" -msgstr "cảnh báo : ký hiệu %s được nhập mà không phải trong danh sách nhập" +msgid " Advance PC by %lu to 0x%lx\n" +msgstr " Nâng cao PC bước %lu tới %lx\n" -#: nlmconv.c:642 -msgid "set start address" -msgstr "đặt địa chỉ bắt đầu" +#: dwarf.c:2023 +#, c-format +msgid " Advance Line by %d to %d\n" +msgstr " Nâng cao dòng bước %d tới %d\n" -#: nlmconv.c:691 +#: dwarf.c:2030 #, c-format -msgid "warning: START procedure %s not defined" -msgstr "cảnh báo : thá»§ tục START (bắt đầu) %s chưa được định nghÄ©a" +msgid " Set File Name to entry %d in the File Name Table\n" +msgstr " Lập Tên Tập tin là mục nhập %d trong Bảng Tên Tập tin\n" -#: nlmconv.c:693 +#: dwarf.c:2038 #, c-format -msgid "warning: EXIT procedure %s not defined" -msgstr "cảnh báo : thá»§ tục EXIT (thoát) %s chưa được định nghÄ©a" +msgid " Set column to %lu\n" +msgstr " Lập cột thành %lu\n" -#: nlmconv.c:695 +#: dwarf.c:2045 #, c-format -msgid "warning: CHECK procedure %s not defined" -msgstr "cảnh báo : thá»§ tục CHECK (kiểm tra) %s chưa được định nghÄ©a" +msgid " Set is_stmt to %d\n" +msgstr " Lập « is_stmt » (là câu) là %d\n" -#: nlmconv.c:716 nlmconv.c:905 -msgid "custom section" -msgstr "phần tá»± chọn" +#: dwarf.c:2050 +#, c-format +msgid " Set basic block\n" +msgstr " Lập khối cÆ¡ bản\n" -#: nlmconv.c:737 nlmconv.c:934 -msgid "help section" -msgstr "phần trợ giúp" +#: dwarf.c:2058 +#, c-format +msgid " Advance PC by constant %lu to 0x%lx\n" +msgstr " Nâng cao PC bước hằng số %lu tới 0x%lx\n" -#: nlmconv.c:759 nlmconv.c:952 -msgid "message section" -msgstr "phần thông điệp" +#: dwarf.c:2066 +#, c-format +msgid " Advance PC by fixed size amount %lu to 0x%lx\n" +msgstr " Nâng cao PC bước kích cỡ cố định %lu tới 0x%lx\n" -#: nlmconv.c:775 nlmconv.c:985 -msgid "module section" -msgstr "phần mô-đun" +#: dwarf.c:2071 +#, c-format +msgid " Set prologue_end to true\n" +msgstr " Lập « prologue_end » (kết thúc đoạn mở đầu) là true (đúng)\n" -#: nlmconv.c:795 nlmconv.c:1001 -msgid "rpc section" -msgstr "phần rpc" +#: dwarf.c:2075 +#, c-format +msgid " Set epilogue_begin to true\n" +msgstr " Lập « epilogue_begin » (đầu phần kết) là true (đúng)\n" -#. There is no place to record this information. -#: nlmconv.c:831 +#: dwarf.c:2081 #, c-format -msgid "%s: warning: shared libraries can not have uninitialized data" -msgstr "%s: cảnh báo : thư viên dùng chung không thể chứa dữ liệu chưa được sở khởi" +msgid " Set ISA to %lu\n" +msgstr " Lập ISA thành %lu\n" -#: nlmconv.c:852 nlmconv.c:1020 -msgid "shared section" -msgstr "phần dùng chung" +#: dwarf.c:2085 +#, c-format +msgid " Unknown opcode %d with operands: " +msgstr " Gặp opcode (mã thao tác) không rõ %d với tác tá»­ : " -#: nlmconv.c:860 -msgid "warning: No version number given" -msgstr "cảnh báo : chưa đưa ra số thứ tá»± phiên bản" +#: dwarf.c:2111 dwarf.c:2197 dwarf.c:2271 dwarf.c:2382 dwarf.c:2514 +#: dwarf.c:2739 +#, c-format +msgid "" +"Contents of the %s section:\n" +"\n" +msgstr "" +"Nội dung cá»§a phần %s:\n" +"\n" -#: nlmconv.c:900 nlmconv.c:929 nlmconv.c:947 nlmconv.c:996 nlmconv.c:1015 +#: dwarf.c:2151 +msgid "Only DWARF 2 and 3 pubnames are currently supported\n" +msgstr "Hỗ trợ hiện thời chỉ pubnames (tên công) DWARF phiên bản 2 và 3 thôi\n" + +#: dwarf.c:2158 #, c-format -msgid "%s: read: %s" -msgstr "%s: đọc: %s" +msgid " Length: %ld\n" +msgstr " Length: %ld\n" -#: nlmconv.c:922 -msgid "warning: FULLMAP is not supported; try ld -M" -msgstr "cảnh báo : chưa hỗ trợ FULLMAP; hãy thá»­ « ld -M »" +#: dwarf.c:2160 +#, c-format +msgid " Version: %d\n" +msgstr " Version: %d\n" -#: nlmconv.c:1098 +#: dwarf.c:2162 #, c-format -msgid "Usage: %s [option(s)] [in-file [out-file]]\n" -msgstr "Cách sá»­ dụng: %s [tùy_chọn...] [tập_tin_nhập [tập_tin_xuất]]\n" +msgid " Offset into .debug_info section: %ld\n" +msgstr " Hiệu số vào phầnO« ffset into .» (thông tin gỡ lỗi)nfo section: %ld\n" -#: nlmconv.c:1099 +#: dwarf.c:2164 #, c-format -msgid " Convert an object file into a NetWare Loadable Module\n" -msgstr " Chuyển đổi tập tin đối tượng sang Mô-đun Tải được NetWare (NetWare Loadable Module)\n" +msgid " Size of area in .debug_info section: %ld\n" +msgstr " Kích cỡ cá»§a vùng trong phần « .debug_info » (thông tin gỡ lỗi): %ld\n" -#: nlmconv.c:1100 +#: dwarf.c:2167 #, c-format msgid "" -" The options are:\n" -" -I --input-target= Set the input binary file format\n" -" -O --output-target= Set the output binary file format\n" -" -T --header-file= Read for NLM header information\n" -" -l --linker= Use for any linking\n" -" -d --debug Display on stderr the linker command line\n" -" -h --help Display this information\n" -" -v --version Display the program's version\n" +"\n" +" Offset\tName\n" msgstr "" -" Tùy chọn:\n" -" -I --input-target= \t\tLập dạng thức tập tin nhị phân nhập\n" -"\t\t\t\t\t\t\t\t (_đích nhập_)\n" -" -O --output-target= \tLập dạng thức tập tin nhị phân xuất\n" -"\t\t\t\t\t\t\t\t (_đích xuất_)\n" -" -T --header-file=\n" -"\t\tĐọc tập tin này để tìm thông tin phần đầu NLM (_tập tin phần đầu_)\n" -" -l --linker= \tDùng _bộ liên kết_ này khi liên kết\n" -" -d --debug\n" -"\tHiển thị trên thiết bị lỗi chuẩn dòng lệnh cá»§a bộ liên kết (_gỡ lỗi_)\n" -" -h --help \t\t\tHiển thị _trợ giúp_ này\n" -" -v --version \t\t\tHiển thị _phiên bản_ chương trình\n" +"\n" +" Hiệu\tTên\n" -#: nlmconv.c:1140 +#: dwarf.c:2218 #, c-format -msgid "support not compiled in for %s" -msgstr "chưa biên dịch cách hỗ trợ %s" +msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" +msgstr " DW_MACINFO_start_file (bắt đầu tập tin) — số_dòng: %d số_tập_tin: %d\n" -#: nlmconv.c:1177 -msgid "make section" -msgstr "tạo phần" +#: dwarf.c:2224 +#, c-format +msgid " DW_MACINFO_end_file\n" +msgstr " DW_MACINFO_end_file (kết thúc tập tin)\n" -#: nlmconv.c:1191 -msgid "set section size" -msgstr "lập kích cỡ phần" +#: dwarf.c:2232 +#, c-format +msgid " DW_MACINFO_define - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_define (định nghÄ©a) — số_dòng : %d bộ_lệnh : %s\n" -#: nlmconv.c:1197 -msgid "set section alignment" -msgstr "lập canh lề phần" +#: dwarf.c:2241 +#, c-format +msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" +msgstr " DW_MACINFO_undef (chưa định nghÄ©a) — số_dòng : %d bộ_lệnh : %s\n" -#: nlmconv.c:1201 -msgid "set section flags" -msgstr "lập các cờ phân" +#: dwarf.c:2253 +#, c-format +msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" +msgstr " DW_MACINFO_vendor_ext (phần mở rộng nhà bán) — hằng số : %d chuối : %s\n" -#: nlmconv.c:1212 -msgid "set .nlmsections size" -msgstr "lập kích cỡ « .nlmsections »" +#: dwarf.c:2282 +#, c-format +msgid " Number TAG\n" +msgstr " Số THẺ\n" -#: nlmconv.c:1293 nlmconv.c:1301 nlmconv.c:1310 nlmconv.c:1315 -msgid "set .nlmsection contents" -msgstr "lập nội dung « .nlmsections »" +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:2288 +#, c-format +msgid " %ld %s [%s]\n" +msgstr " %ld %s [%s]\n" -#: nlmconv.c:1794 -msgid "stub section sizes" -msgstr "kích cỡ phần stub" +#: dwarf.c:2291 +msgid "has children" +msgstr "có điều con" -#: nlmconv.c:1841 -msgid "writing stub" -msgstr "đang ghi stub..." +#: dwarf.c:2291 +msgid "no children" +msgstr "không có con" -#: nlmconv.c:1925 +# Variable: don't translate / Biến: đừng dịch +#: dwarf.c:2294 #, c-format -msgid "unresolved PC relative reloc against %s" -msgstr "có việc định vị lại liên quan đến PC chưa tháo gỡ đối với %s" +msgid " %-18s %s\n" +msgstr " %-18s %s\n" -#: nlmconv.c:1989 +#: dwarf.c:2327 dwarf.c:2510 dwarf.c:2684 #, c-format -msgid "overflow when adjusting relocation against %s" -msgstr "trán khi điều chỉnh việc định vị lại đối với %s" +msgid "" +"\n" +"The %s section is empty.\n" +msgstr "" +"\n" +"Phần %s là rỗng.\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2372 +msgid "Location lists in .debug_info section aren't in ascending order!\n" +msgstr "• Các danh sách địa điểm trong phần « .debug_info » (thông tin gỡ lỗi) không phải theo thứ tá»± dần. •\n" + +#: dwarf.c:2375 +msgid "No location lists in .debug_info section!\n" +msgstr "• Không có danh sách địa điểm trong phần « .debug_info » (thông tin gỡ lỗi). •\n" -#: nlmconv.c:2116 +#: dwarf.c:2379 #, c-format -msgid "%s: execution of %s failed: " -msgstr "%s: việc thá»±c hiện %s bị lỗi:" +msgid "Location lists in %s section start at 0x%lx\n" +msgstr "Danh sách địa điểm trong phần %s bắt đầu tại 0x%lx\n" -#: nlmconv.c:2131 +#: dwarf.c:2383 #, c-format -msgid "Execution of %s failed" -msgstr "Việc thá»±c hiện %s bị lỗi" +msgid " Offset Begin End Expression\n" +msgstr " HIệu Đầu Cuối Biểu thức\n" -#: nm.c:224 size.c:80 strings.c:651 +#: dwarf.c:2414 #, c-format -msgid "Usage: %s [option(s)] [file(s)]\n" -msgstr "Cách sá»­ dụng: %s [tùy_chọn...] [tập_tin...]\n" +msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Có một lỗ [0x%lx - 0x%lx] trong phần « .debug_info » (thông tin gỡ lỗi).\n" -#: nm.c:225 +#: dwarf.c:2417 #, c-format -msgid " List symbols in [file(s)] (a.out by default).\n" -msgstr " Liệt kê các ký hiệu trong những tập tin này (mặc định là ).\n" +msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" +msgstr "Có một nÆ¡i chồng lấp [0x%lx - 0x%lx] trong phần « .debug_info » (thông tin gỡ lỗi).\n" -#: nm.c:226 +#: dwarf.c:2424 #, c-format -msgid "" -" The options are:\n" -" -a, --debug-syms Display debugger-only symbols\n" -" -A, --print-file-name Print name of the input file before every symbol\n" -" -B Same as --format=bsd\n" -" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" -" The STYLE, if specified, can be `auto' (the default),\n" -" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" --no-demangle Do not demangle low-level symbol names\n" -" -D, --dynamic Display dynamic symbols instead of normal symbols\n" -" --defined-only Display only defined symbols\n" -" -e (ignored)\n" -" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" -" `sysv' or `posix'. The default is `bsd'\n" -" -g, --extern-only Display only external symbols\n" -" -l, --line-numbers Use debugging information to find a filename and\n" -" line number for each symbol\n" -" -n, --numeric-sort Sort symbols numerically by address\n" -" -o Same as -A\n" -" -p, --no-sort Do not sort the symbols\n" -" -P, --portability Same as --format=posix\n" -" -r, --reverse-sort Reverse the sense of the sort\n" -" -S, --print-size Print size of defined symbols\n" -" -s, --print-armap Include index for symbols from archive members\n" -" --size-sort Sort symbols by size\n" -" --special-syms Include special symbols in the output\n" -" --synthetic Display synthetic symbols as well\n" -" -t, --radix=RADIX Use RADIX for printing symbol values\n" -" --target=BFDNAME Specify the target object format as BFDNAME\n" -" -u, --undefined-only Display only undefined symbols\n" -" -X 32_64 (ignored)\n" -" -h, --help Display this information\n" -" -V, --version Display this program's version number\n" -"\n" -msgstr "" -" Tùy chọn:\n" -" -a, --debug-syms \tHiển thị _ký hiệu_ chỉ kiểu bộ _gỡ lỗi_ thôi\n" -" -A, --print-file-name \t_In ra tên tập tin_ nhập trước mỗi ký hiệu\n" -" -B \t\t\tBằng « --format=bsd »\n" -" -C, --demangle[=KIỂU_DÁNG]\n" -"\tGiải mã các tên ký hiệu cấp thấp thành tên cấp người dùng (_tháo gỡ_)\n" -" Kiểu dáng này, nếu được ghi rõ, có thể là « auto » (tá»± động: mặc định)\n" -"\t« gnu », « lucid », « arm », « hp », « edg », « gnu-v3 », « java » hay « gnat ».\n" -" --no-demangle \t\t_Đừng tháo gỡ_ tên ký hiệu cấp thấp\n" -" -D, --dynamic \t\tHiển thị ký hiệu _động_ thay vào ký hiệu chuẩn\n" -" --defined-only \t\tHiển thị _chỉ_ ký hiệu _được định nghÄ©a_\n" -" -e \t\t\t(bị bỏ qua)\n" -" -f, --format=DẠNG_THỨC \tDùng _dạng thức_ xuất này, một cá»§a\n" -"\t\t\t\t\t\t\t« bsd » (mặc định), « sysv » hay « posix »\n" -" -g, --extern-only \t\tHiển thị _chỉ_ ký hiệu _bên ngoài_\n" -" -l, --line-numbers \t\tDùng thông tin gỡ lỗi để tìm tên tập tin\n" -"\t\t\t\t\t\tvà _số thứ tá»± dòng_ cho mỗi ký hiệu\n" -" -n, --numeric-sort \t\t_Sắp xếp_ ký hiệu một cách _thuộc số_ theo địa chỉ\n" -" -o \t\t\tBằng « -A »\n" -" -p, --no-sort \t\t_Đừng sắp xếp_ ký hiệu\n" -" -P, --portability \t\tBằng « --format=posix »\n" -" -r, --reverse-sort \t\t_Sắp xếp ngược_\n" -" -S, --print-size \t\tIn ra kích cỡ cá»§a các ký hiệu được định nghÄ©a\n" -" -s, --print-armap \t\tGồm chỉ mục cho ký hiệu từ bộ phạn kho\n" -" --size-sort \t\t_Sắp xếp_ ký hiệu theo _kích cỡ_\n" -" --special-syms \t\tGồm _ký hiệu đặc biệt_ trong dữ liệu xuất\n" -" --synthetic \t\tCÅ©ng hiển thị ký hiệu _tổng hợp_\n" -" -t, --radix=CÆ _SỞ \tDùng _cÆ¡ sở_ này để in ra giá trị ký hiệu\n" -" --target=TÊN_BFD \tGhi rõ dạng thức đối tượng _đích_ là tên BFD này\n" -" -u, --undefined-only \tHiển thị _chỉ_ ký hiệu _chưa được định nghÄ©a_\n" -" -X 32_64 \t\t(bị bỏ qua)\n" -" -h, --help \t\tHiển thị _trợ giúp_ này\n" -" -V, --version \t\tHiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" -"\n" +msgid "Offset 0x%lx is bigger than .debug_loc section size.\n" +msgstr "Có hiệu số 0x%lx lớn hÆ¡n kích cỡ cá»§a phần « .debug_loc » (địa điểm gỡ lỗi).\n" -#: nm.c:262 objdump.c:232 +#: dwarf.c:2433 dwarf.c:2460 dwarf.c:2470 #, c-format -msgid "Report bugs to %s.\n" -msgstr "Hãy trình báo lỗi nào cho %s\n" +msgid "Location list starting at offset 0x%lx is not terminated.\n" +msgstr "Danh sách địa điểm mà bắt đầu tại hiệu số 0x%lx chưa được kết thúc.\n" -#: nm.c:294 +#: dwarf.c:2445 dwarf.c:2784 #, c-format -msgid "%s: invalid radix" -msgstr "%s: cÆ¡ sở không hợp lệ" +msgid " %8.8lx \n" +msgstr " %8.8lx \n" -#: nm.c:318 +#: dwarf.c:2453 #, c-format -msgid "%s: invalid output format" -msgstr "%s: dạng thức xuất không hợp lệ" +msgid " %8.8lx %8.8lx %8.8lx (base address)\n" +msgstr " %8.8lx %8.8lx %8.8lx (địa chỉ cÆ¡ bản)\n" + +#: dwarf.c:2487 dwarf.c:2801 +msgid " (start == end)" +msgstr " (start == end)" + +#: dwarf.c:2489 dwarf.c:2803 +msgid " (start > end)" +msgstr " (start > end)" -#: nm.c:339 readelf.c:6342 readelf.c:6378 +#: dwarf.c:2618 +msgid "Only DWARF 2 and 3 aranges are currently supported.\n" +msgstr "Hỗ trợ hiện thời chỉ arange (phạm vị a) DWARF phiên bản 2 và 3 thôi.\n" + +#: dwarf.c:2622 #, c-format -msgid ": %d" -msgstr "<đặc trưng cho bộ xá»­ lý>: %d" +msgid " Length: %ld\n" +msgstr " Dài: %ld\n" -#: nm.c:341 readelf.c:6345 readelf.c:6390 +#: dwarf.c:2623 #, c-format -msgid ": %d" -msgstr "<đặc trưng cho hệ điều hành>: %d" +msgid " Version: %d\n" +msgstr " Phiên bản: %d\n" -#: nm.c:343 readelf.c:6347 readelf.c:6393 +#: dwarf.c:2624 #, c-format -msgid ": %d" -msgstr ": %d" +msgid " Offset into .debug_info: %lx\n" +msgstr " Hiệu số vào « .debug_info » (thông tin gỡ lỗi): %lx\n" -#: nm.c:380 +#: dwarf.c:2625 #, c-format -msgid "" -"\n" -"Archive index:\n" -msgstr "" -"\n" -"Chỉ mục kho:\n" +msgid " Pointer Size: %d\n" +msgstr " Kích cỡ con trỏ : %d\n" -#: nm.c:1225 +#: dwarf.c:2626 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s:\n" -"\n" -msgstr "" -"\n" -"\n" -"Ký hiệu chưa được định nghÄ©a từ %s:\n" -"\n" +msgid " Segment Size: %d\n" +msgstr " Kích cỡ phân đoạn: %d\n" -#: nm.c:1227 +#: dwarf.c:2628 #, c-format msgid "" "\n" -"\n" -"Symbols from %s:\n" -"\n" +" Address Length\n" msgstr "" "\n" -"\n" -"Ký hiệu từ %s:\n" -"\n" +" Độ dài địa chỉ\n" + +#. FIXME: Should we handle this case? +#: dwarf.c:2729 +msgid "Range lists in .debug_info section aren't in ascending order!\n" +msgstr "• Các danh sách phạm vị trong phần « .debug_info » (thông tin gỡ lỗi) không phải theo thứ tá»± dần. •\n" -#: nm.c:1229 nm.c:1280 +#: dwarf.c:2732 +msgid "No range lists in .debug_info section!\n" +msgstr "• Không có danh sách phạm vị trong phần « .debug_info » (thông tin gỡ lỗi). •\n" + +#: dwarf.c:2736 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Tên Giá trị Hạng Kiểu Cỡ Dòng Phần\n" -"\n" +msgid "Range lists in %s section start at 0x%lx\n" +msgstr "Danh sách phạm vị trong phần %s bắt đầu tại 0x%lx\n" -#: nm.c:1232 nm.c:1283 +#: dwarf.c:2740 #, c-format -msgid "" -"Name Value Class Type Size Line Section\n" -"\n" -msgstr "" -"Name Value Class Type Size Line Section\n" -"\n" +msgid " Offset Begin End\n" +msgstr " HIệu Đầu Cuối\n" -#: nm.c:1276 +#: dwarf.c:2765 #, c-format -msgid "" -"\n" -"\n" -"Undefined symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Ký hiệu chưa được định nghÄ©a từUndefined symbols from %s[%s]:\n" -"\n" +msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n" +msgstr "Có một lỗ [0x%lx - 0x%lx] trong phần %s.\n" -#: nm.c:1278 +#: dwarf.c:2769 #, c-format -msgid "" -"\n" -"\n" -"Symbols from %s[%s]:\n" -"\n" -msgstr "" -"\n" -"\n" -"Ký hiệu từ %s[%s]:\n" -"\n" +msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n" +msgstr "Có một nÆ¡i chồng lấp [0x%lx - 0x%lx] trong phần %s.\n" -#: nm.c:1580 -msgid "Only -X 32_64 is supported" -msgstr "Chỉ hỗ trợ « -X 32_64 »" +#: dwarf.c:2964 +#, c-format +msgid "The section %s contains:\n" +msgstr "Phần %s chứa:\n" -#: nm.c:1600 -msgid "Using the --size-sort and --undefined-only options together" -msgstr "Dùng tùy chọn cả « --size-sort » lẫn « --undefined-only » đều" +#: dwarf.c:3608 +#, c-format +msgid "unsupported or unknown DW_CFA_%d\n" +msgstr "« DW_CFA_%d » không được hỗ trợ, hay không rõ\n" -#: nm.c:1601 -msgid "will produce no output, since undefined symbols have no size." -msgstr "sẽ không xuất gì, vì ký hiệu chưa được định nghÄ©a không có kích cỡ nào." +#: dwarf.c:3632 +#, c-format +msgid "Displaying the debug contents of section %s is not yet supported.\n" +msgstr "Chưa hỗ trợ khả năng hiển thị nội dung phần %s.\n" -#: nm.c:1629 +#: dwarf.c:3674 #, c-format -msgid "data size %ld" -msgstr "cỡ dữ liệu %ld" +msgid "%s: Error: " +msgstr "%s: Lỗi: " -#: objcopy.c:396 srconv.c:1721 +#: dwarf.c:3685 #, c-format -msgid "Usage: %s [option(s)] in-file [out-file]\n" -msgstr "Cách sá»­ dụng: %s [tùy_chọn...] tập_tin_nhập [tập_tin_xuất]\n" +msgid "%s: Warning: " +msgstr "%s: Cảnh báo : " -#: objcopy.c:397 +#: emul_aix.c:51 #, c-format -msgid " Copies a binary file, possibly transforming it in the process\n" -msgstr " Sao chép tập tin nhị phân, cÅ©ng có thể chuyển đổi nó\n" +msgid " [-g] - 32 bit small archive\n" +msgstr " [-g] • kho nhỏ 32-bit\n" -#: objcopy.c:398 objcopy.c:487 +#: emul_aix.c:52 #, c-format -msgid " The options are:\n" -msgstr " Tùy chọn:\n" +msgid " [-X32] - ignores 64 bit objects\n" +msgstr " [-X32] • bỏ qua các đối tượng kiểu 64 bit\n" -#: objcopy.c:399 +#: emul_aix.c:53 #, c-format -msgid "" -" -I --input-target Assume input file is in format \n" -" -O --output-target Create an output file in format \n" -" -B --binary-architecture Set arch of output file, when input is binary\n" -" -F --target Set both input and output format to \n" -" --debugging Convert debugging information, if possible\n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -j --only-section Only copy section into the output\n" -" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" -" -R --remove-section Remove section from the output\n" -" -S --strip-all Remove all symbol and relocation information\n" -" -g --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" -N --strip-symbol Do not copy symbol \n" -" --strip-unneeded-symbol \n" -" Do not copy symbol unless needed by\n" -" relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -K --keep-symbol Only copy symbol \n" -" -L --localize-symbol Force symbol to be marked as a local\n" -" -G --keep-global-symbol Localize all symbols except \n" -" -W --weaken-symbol Force symbol to be marked as a weak\n" -" --weaken Force all global symbols to be marked as weak\n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -i --interleave Only copy one out of every bytes\n" -" -b --byte Select byte in every interleaved block\n" -" --gap-fill Fill gaps between sections with \n" -" --pad-to Pad the last section up to address \n" -" --set-start Set the start address to \n" -" {--change-start|--adjust-start} \n" -" Add to the start address\n" -" {--change-addresses|--adjust-vma} \n" -" Add to LMA, VMA and start addresses\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -" Change LMA and VMA of section by \n" -" --change-section-lma {=|+|-}\n" -" Change the LMA of section by \n" -" --change-section-vma {=|+|-}\n" -" Change the VMA of section by \n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" Warn if a named section does not exist\n" -" --set-section-flags =\n" -" Set section 's properties to \n" -" --add-section = Add section found in to output\n" -" --rename-section =[,] Rename section to \n" -" --change-leading-char Force output format's leading character style\n" -" --remove-leading-char Remove leading character from global symbols\n" -" --redefine-sym = Redefine symbol name to \n" -" --redefine-syms --redefine-sym for all symbol pairs \n" -" listed in \n" -" --srec-len Restrict the length of generated Srecords\n" -" --srec-forceS3 Restrict the type of generated Srecords to S3\n" -" --strip-symbols -N for all symbols listed in \n" -" --strip-unneeded-symbols \n" -" --strip-unneeded-symbol for all symbols listed\n" -" in \n" -" --keep-symbols -K for all symbols listed in \n" -" --localize-symbols -L for all symbols listed in \n" -" --keep-global-symbols -G for all symbols listed in \n" -" --weaken-symbols -W for all symbols listed in \n" -" --alt-machine-code Use alternate machine code for output\n" -" --writable-text Mark the output text as writable\n" -" --readonly-text Make the output text write protected\n" -" --pure Mark the output file as demand paged\n" -" --impure Mark the output file as impure\n" -" --prefix-symbols Add to start of every symbol name\n" -" --prefix-sections Add to start of every section name\n" -" --prefix-alloc-sections \n" -" Add to start of every allocatable\n" -" section name\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -msgstr "" -" -I --input-target \t\tGiả sá»­ tập tin nhập có dạng \n" -"\t\t\t\t\t\t\t\t (_đích nhập_)\n" -" -O --output-target \tTạo tập tin dạng \n" -"\t\t\t\t\t\t\t\t (_đích xuất_)\n" -" -B --binary-architecture \n" -"\t\t\tLập _kiến trúc_ cá»§a tập tin xuất, khi tập tin nhập là _nhị phân_\n" -" -F --target \n" -"\t\t\tLập dạng thức cả nhập lẫn xuất đều thành (_đích_)\n" -" --debugging \t\t\tChuyển đổi thông tin _gỡ lỗi_, nếu có thể\n" -" -p --preserve-dates\n" -"\tSao chép nhãn thời gian truy cập/sá»­a đổi vào kết xuất (_bảo tồn các ngày_)\n" -" -j --only-section \t_Chỉ_ sao chép _phần_ vào kết xuất\n" -" --add-gnu-debuglink=\n" -"\t\t_Thêm_ khả năng liên kết phần « .gnu_debuglink » vào \n" -" -R --remove-section \t_Gỡ bỏ phần_ ra kết xuất\n" -" -S --strip-all \t\t\tGỡ bỏ mọi thông tin ký hiệu và định vị lại\n" -"\t\t\t\t\t\t\t\t (_tước hết_)\n" -" -g --strip-debug \t\tGỡ bỏ mọi ký hiệu và phần kiểu gỡ lỗi\n" -"\t\t\t\t\t\t\t\t (_tước gỡ lỗi_)\n" -" --strip-unneeded \tGỡ bỏ mọi ký hiệu không cần thiết để định vị lại\n" -"\t\t\t\t\t\t\t\t (_tước không cần thiết_)\n" -" -N --strip-symbol \t\t Đừng sao chép ký hiệu \n" -"\t\t\t\t\t\t\t\t (_tước ký hiệu_)\n" -" --strip-unneeded-symbol \n" -"\tĐừng sao chép ký hiệu trừ cần thiết để định vị lại (_tước không cần thiết_)\n" -" --only-keep-debug\t\t\t\tTước hết, trừ thông tin gỡ lỗi\n" -"\t\t\t\t\t\t\t\t (_chỉ giữ gỡ lỗi_)\n" -" -K --keep-symbol \tChỉ sao chép ký hiệu \n" -"\t\t\t\t\t\t\t\t (_giữ ký hiệu_)\n" -" -L --localize-symbol \n" -"\t\t\t\tBuộc ký hiệu có nhãn điều cục bộ (_địa phương hóa_)\n" -" -G --keep-global-symbol \tĐịa phương hóa mọi ký hiệu trừ \n" -"\t\t\t\t\t\t\t\t (_giữ ký hiệu toàn cục_)\n" -" -W --weaken-symbol \tBuộc ký hiệu có nhãn điều yếu\n" -"\t\t\t\t\t\t\t\t (_làm yếu ký hiệu_)\n" -" --weaken \t\tBuộc mọi ký hiệu toàn cục có nhãn điều yếu\n" -"\t\t\t\t\t\t\t\t (_làm yếu đi_)\n" -" -w --wildcard \t\tCho phép _ký tá»± đại diện_ trong sá»± so sánh ký hiệu\n" -" -x --discard-all \t\t\tGỡ bỏ mọi ký hiệu không toàn cục\n" -"\t\t\t\t\t\t\t\t (_há»§y hết_)\n" -" -X --discard-locals Gỡ bỏ ký hiệu nào được tạo ra bởi bộ biên dịch\n" -"\t\t\t\t\t\t\t\t (_há»§y các điều cục bộ_)\n" -" -i --interleave \t\t\tChỉ sao chép một cá»§a mỗi byte\n" -"\t\t\t\t\t\t\t\t (_chen vào_)\n" -" -b --byte \n" -"\t\t\t\tChọn byte số thứ tá»± trong mỗi khối tin đã chen vào\n" -" --gap-fill \t_Điền vào khe_ giữa hai phần bằng \n" -" --pad-to <địa_chỉ>\t\t_Đệm_ phần cuối cùng _đế_n địa chỉ <địa_chỉ>\n" -" --set-start <địa_chỉ> \t\t_Lập_ địa chỉ _đầu_ thành <địa_chỉ>\n" -" {--change-start|--adjust-start} \n" -"\t\tThêm vào địa chỉ đầu (_thay đổi đầu, điều chỉnh đầu_)\n" -" {--change-addresses|--adjust-vma} \n" -" \t\t\t\t\t\t\tThêm vào địa chỉ đầu, LMA và VMA\n" -"\t\t\t\t\t\t\t (_thay đổi địa chỉ, điều chỉnh vma_)\n" -" {--change-section-address|--adjust-section-vma} {=|+|-}\n" -"\t\t\t\t\tThay đổi LMA và VMA cá»§a phần bằng \n" -"\t\t\t\t\t\t(_thay đổi địa chỉ phần, điều chỉnh vma phần_)\n" -" --change-section-lma {=|+|-}\n" -" \tThay đổi LMA cá»§a phần bằng (_thay đổi LMA cá»§a phần_)\n" -" --change-section-vma {=|+|-}\n" -" \tThay đổi VMA cá»§a phần bằng (_thay đổi VMA cá»§a phần_)\n" -" {--[no-]change-warnings|--[no-]adjust-warnings}\n" -" \t\t\t\t\t\t\t\tCảnh báo nếu không có phần có tên\n" -"\t\t(_[không] thay đổi các cảnh báo, [không] điều chỉnh các cảnh báo_)\n" -" --set-section-flags =\n" -" \t\tLập thuộc tính cá»§a phần thành \n" -"\t\t\t\t\t\t\t\t (_lập các cờ phần_)\n" -" --add-section =\n" -"\t\t\t\t_Thêm phần_ được tìm trong vào kết xuất\n" -" --rename-section =[,]\n" -"\t\t\t\t\t\t\t\t_Thay đổi phần_ thành \n" -" --change-leading-char\n" -"\t\t\t\t\tBuộc kiểu dáng cá»§a ký tá»± đi trước cá»§a dạng thức xuất\n" -"\t\t\t\t\t\t\t\t (_thay đổi ký tá»± đi trước_)\n" -" --remove-leading-char\t\t_Gỡ bỏ ký tá»± đi trước_ ra các ký hiệu toàn cục\n" -" --redefine-sym =\n" -"\t\t\t\t\t\t_Định nghÄ©a lại_ tên _ký hiệu_ thành \n" -" --redefine-syms \n" -"\t\t« --redefine-sym » cho mọi cặp ký hiệu được liệt kê trong \n" -" --srec-len \t\tGiới hạn _độ dài_ cá»§a các Srecords đã tạo ra\n" -" --srec-forceS3 \tGiới hạn kiểu Srecords thành S3 (_buộc_)\n" -" --strip-symbols \n" -"\t« -N » cho mọi ký hiệu được liệt kê trong (_tước các ký hiệu_)\n" -" --strip-unneeded-symbols \n" -" \t\t\t\t\t\t\t« --strip-unneeded-symbol » cho mọi ký hiệu\n" -"\t\t\t\t\t\t\t\tđược liệt kê trong \n" -" --keep-symbols \n" -"\t\t\t\t\t« -K » cho mọi ký hiệu được liệt kê trong \n" -"\t\t\t\t\t\t\t\t (_giữ các ký hiệu_)\n" -" --localize-symbols \n" -"\t\t\t\t\t« -L » cho mọi ký hiệu được liệt kê trong \n" -"\t\t\t\t\t\t\t\t (_địa phương hóa các ký hiệu_)\n" -" --keep-global-symbols \n" -"\t\t\t\t\t« -G » cho mọi ký hiệu được liệt kê trong \n" -"\t\t\t\t\t\t\t\t (_giữ các ký hiệu toàn cục_)\n" -" --weaken-symbols \n" -"\t\t\t\t\t« -W » cho mọi ký hiệu được liệt kê trong \n" -"\t\t\t\t\t\t\t\t (_làm yếu các ký hiệu_)\n" -" --alt-machine-code Dùng _mã máy xen kẽ_ cho kết xuất\n" -" --writable-text \t\tĐánh dấu _văn bản_ xuất _có khả năng ghi_\n" -" --readonly-text \tLàm cho vân bản xuất được bảo vậ chống ghi\n" -"\t\t\t\t\t\t\t\t (_văn bản chỉ có khả năng đọc_)\n" -" --pure\n" -"\t\t\tĐánh dấu tập tin xuất sẽ có trang được sắp xếp theo yêu cầu\n" -"\t\t\t\t\t\t\t\t (_tinh khiết_)\n" -" --impure \t\tĐánh dấu tập tin xuất _không tinh khiết_\n" -" --prefix-symbols \n" -"\t\tThêm vào đầu cá»§a mọi tên ký hiệu (_tiền tố các ký hiệu_)\n" -" --prefix-sections \n" -"\t\tThêm vào đầu cá»§a mọi tên phần (_tiền tố các phần_)\n" -" --prefix-alloc-sections \n" -"\t\tThêm vào đầu cá»§a mọi tên phần có thể cấp phát\n" -"\t\t\t\t\t\t\t\t(_tiền tố các phần có thể cấp phát_)\n" -" -v --verbose \t\tLiệt kê mọi tập tin đối tượng đã được sá»­a đổi\n" -"\t\t\t\t\t\t\t\t (_chi tiết_)\n" -" -V --version Hiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" -" -h --help \t\t\tHiển thị _trợ giúp_ này\n" -" --info \t\tLiệt kê các dạng thức và kiến trúc được hỗ trợ\n" -"\t\t\t\t\t\t\t\t (_thông tin_)\n" - -#: objcopy.c:485 -#, c-format -msgid "Usage: %s in-file(s)\n" -msgstr "Cách sá»­ dụng: %s tập_tin_nhập...\n" - -#: objcopy.c:486 -#, c-format -msgid " Removes symbols and sections from files\n" -msgstr " Gỡ bỏ ký hiệu và phần ra tập tin\n" - -#: objcopy.c:488 -#, c-format -msgid "" -" -I --input-target= Assume input file is in format \n" -" -O --output-target= Create an output file in format \n" -" -F --target= Set both input and output format to \n" -" -p --preserve-dates Copy modified/access timestamps to the output\n" -" -R --remove-section= Remove section from the output\n" -" -s --strip-all Remove all symbol and relocation information\n" -" -g -S -d --strip-debug Remove all debugging symbols & sections\n" -" --strip-unneeded Remove all symbols not needed by relocations\n" -" --only-keep-debug Strip everything but the debug information\n" -" -N --strip-symbol= Do not copy symbol \n" -" -K --keep-symbol= Only copy symbol \n" -" -w --wildcard Permit wildcard in symbol comparison\n" -" -x --discard-all Remove all non-global symbols\n" -" -X --discard-locals Remove any compiler-generated symbols\n" -" -v --verbose List all object files modified\n" -" -V --version Display this program's version number\n" -" -h --help Display this output\n" -" --info List object formats & architectures supported\n" -" -o Place stripped output into \n" -msgstr "" -" -I --input-target= Giả sá»­ tập tin nhập có dạng thức \n" -"\t\t(đích nhập)\n" -" -O --output-target= Tạo một tập tin xuất có dạng thức \n" -"\t\t(đích xuất)\n" -" -F --target= Đặt dạng thức cả nhập lẫn xuất đều thành \n" -"\t\t(đích)\n" -" -p --preserve-dates\n" -"\t\tSao chép các nhãn thời gian truy cập/đã sá»­a đổi vào kết xuất\n" -"\t\t(bảo tồn các ngày)\n" -" -R --remove-section= \t_Gỡ bỏ phần_ ra dữ liệu xuất\n" -" -s --strip-all \t\tGỡ bỏ mọi thông tin kiểu ký hiệu và định vị lại\n" -"\t\t(tước hết)\n" -" -g -S -d --strip-debug \tGỡ bỏ mọi ký hiệu và phần kiểu gỡ lỗi\n" -"\t\t(tước gỡ lỗi)\n" -" --strip-unneeded Gỡ bỏ mọi ký hiệu không cần thiết khi định vị lại\n" -"\t\t(tước không cần thiết)\n" -" --only-keep-debug \tTước hết, trừ thông tin gỡ lỗi\n" -"\t\t(chỉ giữ gỡ lỗi)\n" -" -N --strip-symbol= \tĐừng sao chép ký hiệu \n" -"\t\t(tước ký hiệu)\n" -" -K --keep-symbol= \tSao chép chỉ ký hiệu \n" -"\t\t(giữ ký hiệu)\n" -" -w --wildcard Cho phép _ký tá»± đại diện_ trong chuỗi so sánh ký hiệu\n" -" -x --discard-all \t\tGỡ bỏ mọi ký hiệu không toàn cục\n" -"\t\t(há»§y hết)\n" -" -X --discard-locals \tGỡ bo ký hiệu nào do bộ biên dịch tạo ra\n" -"\t\t(há»§y các điều cục bộ)\n" -" -v --verbose \t\tLiệt kê mọi tập tin đối tượng đã sá»­a đổi\n" -"\t\t(chi tiết)\n" -" -V --version Hiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" -" -h --help \t\tHiển thị _trợ giúp_ này\n" -" --info Liệt kê các dạng thức đối tượng và kiến trúc được hỗ trợ\n" -"\t\t(thông tin) -o \tĐể kết _xuất_ đã tướng vào \n" - -#: objcopy.c:560 -#, c-format -msgid "unrecognized section flag `%s'" -msgstr "không nhận ra cờ phần « %s »" - -#: objcopy.c:561 -#, c-format -msgid "supported flags: %s" -msgstr "các cờ đã hỗ trợ : %s" - -#: objcopy.c:638 -#, c-format -msgid "cannot open '%s': %s" -msgstr "không thể mở « %s »: %s" - -#: objcopy.c:641 objcopy.c:2629 -#, c-format -msgid "%s: fread failed" -msgstr "%s: việc fread (đọc f) bị lỗi" - -#: objcopy.c:714 -#, c-format -msgid "%s:%d: Ignoring rubbish found on this line" -msgstr "%s:%d: Đang bỏ qua rác được gặp trên dòng này" - -#: objcopy.c:976 -#, c-format -msgid "%s: Multiple redefinition of symbol \"%s\"" -msgstr "%s: Ký hiệu « %s » đã được định nghÄ©a lại nhiều lần" - -#: objcopy.c:980 -#, c-format -msgid "%s: Symbol \"%s\" is target of more than one redefinition" -msgstr "%s: Ký hiệu « %s » là đích cá»§a nhiều lời định nghÄ©a lại" - -#: objcopy.c:1008 -#, c-format -msgid "couldn't open symbol redefinition file %s (error: %s)" -msgstr "không thể mở tập tin định nghÄ©a lại ký hiệu %s (lỗi: %s)" - -#: objcopy.c:1086 -#, c-format -msgid "%s:%d: garbage found at end of line" -msgstr "%s:%d: gặp rác tại kết thúc dòng" - -#: objcopy.c:1089 -#, c-format -msgid "%s:%d: missing new symbol name" -msgstr "%s:%d: thiếu tên ký hiệu mới" - -#: objcopy.c:1099 -#, c-format -msgid "%s:%d: premature end of file" -msgstr "%s:%d: gặp kết thúc tập tin quá sớm" - -#: objcopy.c:1124 -msgid "Unable to change endianness of input file(s)" -msgstr "Không thể thay đổi tính trạng cuối (endian) cá»§a (các) tập tin nhập" - -#: objcopy.c:1133 -#, c-format -msgid "copy from %s(%s) to %s(%s)\n" -msgstr "chép từ %s(%s) đến %s(%s)\n" - -#: objcopy.c:1170 -#, c-format -msgid "Unable to recognise the format of the input file %s" -msgstr "Không thể nhận diện dạng thức cá»§a tập tin nhập %s" - -#: objcopy.c:1174 -#, c-format -msgid "Warning: Output file cannot represent architecture %s" -msgstr "Cảnh báo : Tập tin xuất không thể tiêu biểu kiến trúc %s" - -#: objcopy.c:1211 -#, c-format -msgid "can't create section `%s': %s" -msgstr "không thể tạo phần « %s »: %s" - -#: objcopy.c:1277 -msgid "there are no sections to be copied!" -msgstr "• Không có phần cần sao chép. •" - -#: objcopy.c:1323 -#, c-format -msgid "Can't fill gap after %s: %s" -msgstr "Không thể điền vào khe sau : %s: %s" - -#: objcopy.c:1348 -#, c-format -msgid "Can't add padding to %s: %s" -msgstr "Không thể thêm đệm vào %s: %s" - -#: objcopy.c:1514 -#, c-format -msgid "%s: error copying private BFD data: %s" -msgstr "%s: gặp lỗi khi sao chép dữ liệu BFD riêng : %s" - -#: objcopy.c:1525 -msgid "unknown alternate machine code, ignored" -msgstr "không biết mã máy xen kẽ nên bỏ qua nó" +msgid " [-X64] - ignores 32 bit objects\n" +msgstr " [-X64] • bỏ qua các đối tượng kiểu 32 bit\n" -#: objcopy.c:1555 objcopy.c:1585 +#: emul_aix.c:54 #, c-format -msgid "cannot mkdir %s for archive copying (error: %s)" -msgstr "không thể mkdir (tạo thư mục) %s để sao chép kho (lỗi: %s)" +msgid " [-X32_64] - accepts 32 and 64 bit objects\n" +msgstr " [-X32_64] • chấp nhận các đối tượng kiểu cả 32 bit lẫn 64 bit đều\n" -#: objcopy.c:1790 -#, c-format -msgid "Multiple renames of section %s" -msgstr "Đã thay đổi tên phần %s nhiều lần" +#: ieee.c:311 +msgid "unexpected end of debugging information" +msgstr "gặp kết thúc thông tin gỡ lỗi bất ngờ" -#: objcopy.c:1841 -msgid "private header data" -msgstr "dữ liệu dòng đầu riêng" +#: ieee.c:398 +msgid "invalid number" +msgstr "số không hợp lệ" -#: objcopy.c:1849 -#, c-format -msgid "%s: error in %s: %s" -msgstr "%s: lỗi trong %s: %s" +#: ieee.c:451 +msgid "invalid string length" +msgstr "độ dài chuỗi không hợp lệ" -#: objcopy.c:1903 -msgid "making" -msgstr "làm" +#: ieee.c:506 ieee.c:547 +msgid "expression stack overflow" +msgstr "trán đống biểu thức" -#: objcopy.c:1912 -msgid "size" -msgstr "cỡ" +#: ieee.c:526 +msgid "unsupported IEEE expression operator" +msgstr "toán tá»­ biểu thức IEE không được hỗ trợ" -#: objcopy.c:1926 -msgid "vma" -msgstr "vma" +#: ieee.c:541 +msgid "unknown section" +msgstr "không biết phần" -#: objcopy.c:1951 -msgid "alignment" -msgstr "canh lề" +#: ieee.c:562 +msgid "expression stack underflow" +msgstr "trán ngược đống biểu thức" -#: objcopy.c:1966 -msgid "flags" -msgstr "cờ" +#: ieee.c:576 +msgid "expression stack mismatch" +msgstr "đống biểu thức không khớp với nhau" -#: objcopy.c:1988 -msgid "private data" -msgstr "dữ liệu riêng" +#: ieee.c:613 +msgid "unknown builtin type" +msgstr "không biết kiểu builtin" -#: objcopy.c:1996 -#, c-format -msgid "%s: section `%s': error in %s: %s" -msgstr "%s: phần « %s »: lỗi trong %s: %s" +#: ieee.c:758 +msgid "BCD float type not supported" +msgstr "Kiểu nổi BDC không được hỗ trợ" -#: objcopy.c:2274 -#, c-format -msgid "%s: can't create debugging section: %s" -msgstr "%s: không thể tạo phần gỡ lỗi: %s" +#: ieee.c:895 +msgid "unexpected number" +msgstr "số bất ngờ" -#: objcopy.c:2288 -#, c-format -msgid "%s: can't set debugging section contents: %s" -msgstr "%s: không thể đặt nội dung phần gỡ lỗi: %s" +#: ieee.c:902 +msgid "unexpected record type" +msgstr "kiểu mục ghi bất ngờ" -#: objcopy.c:2297 -#, c-format -msgid "%s: don't know how to write debugging information for %s" -msgstr "%s: không biết cách ghi thông tin gỡ lỗi cho %s" +#: ieee.c:935 +msgid "blocks left on stack at end" +msgstr "có một số khối còn lại trên đống khi kết thúc" -#: objcopy.c:2472 -msgid "byte number must be non-negative" -msgstr "số byte phải là không âm" +#: ieee.c:1198 +msgid "unknown BB type" +msgstr "không biết kiểu BB" -#: objcopy.c:2482 -msgid "interleave must be positive" -msgstr "chen vào phải là dương" +#: ieee.c:1207 +msgid "stack overflow" +msgstr "trán đống" -#: objcopy.c:2502 objcopy.c:2510 -#, c-format -msgid "%s both copied and removed" -msgstr "%s cả được sao chép lẫn bị gỡ bỏ đều" +#: ieee.c:1230 +msgid "stack underflow" +msgstr "trán ngược đống" -#: objcopy.c:2603 objcopy.c:2674 objcopy.c:2774 objcopy.c:2805 objcopy.c:2829 -#: objcopy.c:2833 objcopy.c:2853 -#, c-format -msgid "bad format for %s" -msgstr "dạng thức sai cho %s" +#: ieee.c:1342 ieee.c:1412 ieee.c:2109 +msgid "illegal variable index" +msgstr "chỉ mục biến không được phép" -#: objcopy.c:2624 -#, c-format -msgid "cannot open: %s: %s" -msgstr "không thể mở : %s: %s" +#: ieee.c:1390 +msgid "illegal type index" +msgstr "chỉ mục kiểu không được phép" -#: objcopy.c:2743 -#, c-format -msgid "Warning: truncating gap-fill from 0x%s to 0x%x" -msgstr "Cảnh báo : đang cắt xén điền-khe từ 0x%s thành 0x%x" +#: ieee.c:1400 ieee.c:1437 +msgid "unknown TY code" +msgstr "không biết mã TY" -#: objcopy.c:2903 -msgid "alternate machine code index must be positive" -msgstr "chỉ mục mã máy xen kẽ phải là dương" +#: ieee.c:1419 +msgid "undefined variable in TY" +msgstr "gặp biến chưa được định nghÄ©a trong TY" -#: objcopy.c:2961 -msgid "byte number must be less than interleave" -msgstr "số byte phải là ít hÆ¡n chen vào" +#. Pascal file name. FIXME. +#: ieee.c:1830 +msgid "Pascal file name not supported" +msgstr "Chưa hỗ trợ tên tập tin kiểu Pascal" -#: objcopy.c:2991 -#, c-format -msgid "architecture %s unknown" -msgstr "không biết kiến trúc %s" +#: ieee.c:1878 +msgid "unsupported qualifier" +msgstr "bộ dè dặt chưa được hỗ trợ" -#: objcopy.c:2995 -msgid "Warning: input target 'binary' required for binary architecture parameter." -msgstr "Cảnh báo : đích nhập « binary » (nhị phân) cần thiết cho tham số kiến trúc nhị phân." +#: ieee.c:2147 +msgid "undefined variable in ATN" +msgstr "gặp biến chưa định nghÄ©a trong ATN" -#: objcopy.c:2996 -#, c-format -msgid " Argument %s ignored" -msgstr " Đối số %s bị bỏ qua" +#: ieee.c:2190 +msgid "unknown ATN type" +msgstr "không biết kiểu ATN" -#: objcopy.c:3002 -#, c-format -msgid "warning: could not locate '%s'. System error message: %s" -msgstr "cảnh báo : không thể định vị « %s ». Thông điệp lỗi hệ thống: %s" +#. Reserved for FORTRAN common. +#: ieee.c:2312 +msgid "unsupported ATN11" +msgstr "ATN11 không được hỗ trÆ¡" -#: objcopy.c:3042 objcopy.c:3056 -#, c-format -msgid "%s %s%c0x%s never used" -msgstr "%s %s%c0x%s chưa bao giờ dùng" +#. We have no way to record this information. FIXME. +#: ieee.c:2339 +msgid "unsupported ATN12" +msgstr "ATN12 không được hỗ trÆ¡" -#: objdump.c:176 -#, c-format -msgid "Usage: %s \n" -msgstr "Cách sá»­ dụng: %s \n" +#: ieee.c:2399 +msgid "unexpected string in C++ misc" +msgstr "gặp chuỗi không được hỗ trÆ¡ trong C++ lặt vặt" -#: objdump.c:177 -#, c-format -msgid " Display information from object .\n" -msgstr " Hiển thị thông tin từ đối tượng.\n" +#: ieee.c:2412 +msgid "bad misc record" +msgstr "mục ghi lặt vặt sai" -#: objdump.c:178 -#, c-format -msgid " At least one of the following switches must be given:\n" -msgstr " Phải đưa ra ít nhất một cá»§a những cái chuyển theo sau :\n" +#: ieee.c:2453 +msgid "unrecognized C++ misc record" +msgstr "không chấp nhận mục ghi C++ lặt vặt" -#: objdump.c:179 -#, c-format -msgid "" -" -a, --archive-headers Display archive header information\n" -" -f, --file-headers Display the contents of the overall file header\n" -" -p, --private-headers Display object format specific file header contents\n" -" -h, --[section-]headers Display the contents of the section headers\n" -" -x, --all-headers Display the contents of all headers\n" -" -d, --disassemble Display assembler contents of executable sections\n" -" -D, --disassemble-all Display assembler contents of all sections\n" -" -S, --source Intermix source code with disassembly\n" -" -s, --full-contents Display the full contents of all sections requested\n" -" -g, --debugging Display debug information in object file\n" -" -e, --debugging-tags Display debug information using ctags style\n" -" -G, --stabs Display (in raw form) any STABS info in the file\n" -" -t, --syms Display the contents of the symbol table(s)\n" -" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" -" -r, --reloc Display the relocation entries in the file\n" -" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" -" -v, --version Display this program's version number\n" -" -i, --info List object formats and architectures supported\n" -" -H, --help Display this information\n" -msgstr "" -" -a, --archive-headers \t\tHiển thị thông tin về _các phần đầu kho_\n" -" -f, --file-headers Hiển thị nội dung cá»§a _toàn bộ phần đầu tập tin_\n" -" -p, --private-headers\n" -"\t\tHiển thị nội dung cá»§a phần đầu tập tin đặc trưng cho đối tượng\n" -"\t\t(các phần đầu riêng)\n" -" -h, --[section-]headers Hiển thị nội dung cá»§a _các phần đầu cá»§a phần_\n" -" -x, --all-headers \t\t Hiển thị nội dung cá»§a _mọi phần đầu_\n" -" -d, --disassemble\n" -"\t\tHiển thị nội dung cá»§a các phần có khả năng thá»±c hiện\n" -"\t\t(rã)\n" -" -D, --disassemble-all \t Hiển thị nội dung dịch mã số cá»§a mọi phần\n" -"\t\t(rã hết)\n" -" -S, --source \t\t\t\t Trộn lẫn mã _nguồn_ với việc rã\n" -" -s, --full-contents Hiển thị _nội dung đầy đủ_ cá»§a mọi phần đã yêu cầu\n" -" -g, --debugging Hiển thị thông tin _gỡ lỗi_ trong tập tin đối tượng\n" -" -e, --debugging-tags Hiển thị thông tin gỡ lỗi, dùng kiểu dáng ctags\n" -"\t\t(các thẻ gỡ lỗi)\n" -" -G, --stabs Hiển thị (dạng thô) thông tin STABS nào trong thông tin\n" -" -t, --syms \t\t\t Hiển thị nội dung cá»§a các bảng ký hiệu\n" -"\t\t(các ký hiệu [viết tắt])\n" -" -T, --dynamic-syms \t\tHiển thị nội dung cá»§a bảng ký hiệu động\n" -"\t\t(các ký hiệu động [viết tắt])\n" -" -r, --reloc \t\tHiển thị các mục nhập định vị lại trong tập tin\n" -"\t\t(định vị lại [viết tắt])\n" -" -R, --dynamic-reloc\n" -"\t\t\t\t Hiển thị các mục nhập định vị lại động trong tập tin\n" -"\t\t(định vị lại động [viết tắt])\n" -" -v, --version Hiển thị số thá»± tá»± _phiên bản_ cá»§a chương trình này\n" -" -i, --info Liệt kê các dạng thức đối tượng và kiến trúc được hỗ trợ\n" -"\t\t(thông tin [viết tắt])\n" -" -H, --help \tHiển thị _trợ giúp_ này\n" +#: ieee.c:2568 +msgid "undefined C++ object" +msgstr "đối tượng C++ chưa được định nghÄ©a" -#: objdump.c:202 -#, c-format -msgid "" -"\n" -" The following switches are optional:\n" -msgstr "" -"\n" -" Những cái chuyển theo đây là tùy chọn:\n" +#: ieee.c:2602 +msgid "unrecognized C++ object spec" +msgstr "chưa chấp nhận đặc tả đối tượng C++" -#: objdump.c:203 -#, c-format -msgid "" -" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" -" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" -" -j, --section=NAME Only display information for section NAME\n" -" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" -" -EB --endian=big Assume big endian format when disassembling\n" -" -EL --endian=little Assume little endian format when disassembling\n" -" --file-start-context Include context from start of file (with -S)\n" -" -I, --include=DIR Add DIR to search list for source files\n" -" -l, --line-numbers Include line numbers and filenames in output\n" -" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" -" The STYLE, if specified, can be `auto', `gnu',\n" -" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" -" or `gnat'\n" -" -w, --wide Format output for more than 80 columns\n" -" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" -" --start-address=ADDR Only process data whose address is >= ADDR\n" -" --stop-address=ADDR Only process data whose address is <= ADDR\n" -" --prefix-addresses Print complete address alongside disassembly\n" -" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" -" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" -" --special-syms Include special symbols in symbol dumps\n" -"\n" -msgstr "" -" -b, --target=TÊN_BFD \tGhi rõ dạng thức đối tượng _đích_ là TÊN_BFD\n" -" -m, --architecture=MÁY \t\t Ghi rõ _kiến trúc_ đích là MÁY\n" -" -j, --section=TÊN \t\t Hiển thị thông tin chỉ cho _phần_ TÊN\n" -" -M, --disassembler-options=TÙY_CHỌN\n" -"\t\tGởi chuỗi TÙY_CHỌN qua cho _bộ rã_\n" -"\t\t(các tùy chọn bộ rã)\n" -" -EB --endian=big\n" -"\t\tGiả sá»­ dạng thức tính trạng cuối lớn (big-endian) khi rã\n" -" -EL --endian=little\n" -"\t\tGiả sá»­ dạng thức tính trạng cuối nhỏ (little-endian) khi rã\n" -" --file-start-context \tGồm _ngữ cảnh_ từ _đầu tập tin_ (bằng « -S »)\n" -" -I, --include=THƯ_MỤC\n" -"\t\tThêm THƯ_MỤC vào danh sách tìm kiếm tập tin nguồn\n" -"\t\t(bao gồm)\n" -" -l, --line-numbers\n" -"\t\tGồm các _số thứ tá»± dòng_ và tên tập tin trong kết xuất\n" -" -C, --demangle[=KIỂU_DÁNG] giải mã các tên ký hiệu đã rối/xá»­ lý\n" -"\t\t(tháo gỡ)\n" -"\t\tKIỂU_DÁNG, nếu đã ghi rõ, có thể là:\n" -"\t\t • auto\t\ttá»± động\n" -"\t\t • gnu\n" -" \t • lucid\t\trõ ràng\n" -"\t\t • arm\n" -"\t\t • hp\n" -"\t\t • edg\n" -"\t\t • gnu-v3\n" -" \t\t • java\n" -" \t • gnat\n" -" -w, --wide \t\tĐịnh dạng dữ liệu xuất chiếm hÆ¡n 80 cột\n" -"\t\t(rộng)\n" -" -z, --disassemble-zeroes \t\tĐừng nhảy qua khối ố không khi rã\n" -"\t\t(rã các số không)\n" -" --start-address=ĐỊA_CHỈ Xá»­ lý chỉ dữ liệu có địa chỉ ≥ ĐỊA_CHỈ\n" -" --stop-address=ĐỊA_CHỈ Xá»­ lý chỉ dữ liệu có địa chỉ ≤ ĐỊA_CHỈ\n" -" --prefix-addresses \t\tIn ra địa chỉ hoàn toàn ở b việc rã\n" -"\t\t(thêm vào đầu các địa chỉ)\n" -" --[no-]show-raw-insn\n" -"\t\tHiển thị thập lục phân ở bên việc rã kiểu ký hiệu\n" -"hông] hiển thị câu lệnh thô)\n" -" --adjust-vma=HIỆU_SỐ\n" -"\t\tThêm HIỆU_SỐ vào mọi địa chỉ phần đã hiển thị\n" -"\t\t(điều chỉnh vma) --special-syms Gồm _các ký hiệu đặc biệt_ trong việc đổ ký hiệu\n" -"\n" +#: ieee.c:2638 +msgid "unsupported C++ object type" +msgstr "kiểu đối tượng C++ chưa được hỗ trợ" -#: objdump.c:378 -#, c-format -msgid "Sections:\n" -msgstr "Phần:\n" +#: ieee.c:2648 +msgid "C++ base class not defined" +msgstr "chưa định nghÄ©a hạng cÆ¡ bản C++" -#: objdump.c:381 objdump.c:385 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Idx Name Size VMA LMA File off Algn" +#: ieee.c:2660 ieee.c:2765 +msgid "C++ object has no fields" +msgstr "Đối tượng C++ không có trường nào" -#: objdump.c:387 -#, c-format -msgid "Idx Name Size VMA LMA File off Algn" -msgstr "Idx Name Size VMA LMA File off Algn" +#: ieee.c:2679 +msgid "C++ base class not found in container" +msgstr "Không tìm thấy hạng cÆ¡ bản C++ trong bộ chứa" -#: objdump.c:391 -#, c-format -msgid " Flags" -msgstr " Cờ" +#: ieee.c:2786 +msgid "C++ data member not found in container" +msgstr "Không tìm thấy bộ phạn dữ liệu C++ trong bộ chứa" -#: objdump.c:393 -#, c-format -msgid " Pg" -msgstr " Tr" +#: ieee.c:2827 ieee.c:2977 +msgid "unknown C++ visibility" +msgstr "không biết độ thấy rõ C++" -#: objdump.c:436 -#, c-format -msgid "%s: not a dynamic object" -msgstr "%s không phải là môt đối tượng động" +#: ieee.c:2861 +msgid "bad C++ field bit pos or size" +msgstr "vị trí bit hay kích cỡ trường C++ sai" -#: objdump.c:1722 -#, c-format -msgid "Disassembly of section %s:\n" -msgstr "Việc rã phần %s:\n" +#: ieee.c:2953 +msgid "bad type for C++ method function" +msgstr "kiểu sai cho hàm phương pháp C++" -#: objdump.c:1884 -#, c-format -msgid "Can't use supplied machine %s" -msgstr "Không thể sá»­ dụng máy đã cung cấp %s" +#: ieee.c:2963 +msgid "no type information for C++ method function" +msgstr "không có thông tin kiểu cho hàm phương pháp C++" -#: objdump.c:1903 -#, c-format -msgid "Can't disassemble for architecture %s\n" -msgstr "Không thể rã cho kiến trúc %s\n" +#: ieee.c:3002 +msgid "C++ static virtual method" +msgstr "phương pháp ảo tÄ©nh C++" -#: objdump.c:1973 -#, c-format -msgid "" -"No %s section present\n" -"\n" -msgstr "" -"Không có phần %s ở\n" -"\n" +#: ieee.c:3097 +msgid "unrecognized C++ object overhead spec" +msgstr "chưa chấp nhận đặc tả duy tu đối tượng C++" -#: objdump.c:1982 -#, c-format -msgid "Reading %s section of %s failed: %s" -msgstr "Việc đọc phần %s cá»§a %s bị lỗi: %s" +#: ieee.c:3136 +msgid "undefined C++ vtable" +msgstr "chưa định nghÄ©a vtable C++" -#: objdump.c:2026 -#, c-format -msgid "" -"Contents of %s section:\n" -"\n" -msgstr "" -"Nội dung phần %s\n" -"\n" +#: ieee.c:3205 +msgid "C++ default values not in a function" +msgstr "Giá trị C++ mặc định không phải trong hàm" -#: objdump.c:2153 -#, c-format -msgid "architecture: %s, " -msgstr "kiến trúc: %s, " +#: ieee.c:3245 +msgid "unrecognized C++ default type" +msgstr "chưa chấp nhận kiểu C++ mặc định" -#: objdump.c:2156 -#, c-format -msgid "flags 0x%08x:\n" -msgstr "cờ 0x%08x:\n" +#: ieee.c:3276 +msgid "reference parameter is not a pointer" +msgstr "tham số tham chiếu không phải là con trỏ" -#: objdump.c:2170 -#, c-format -msgid "" -"\n" -"start address 0x" -msgstr "" -"\n" -"địa chỉ đầu 0x" +#: ieee.c:3359 +msgid "unrecognized C++ reference type" +msgstr "chưa chấp nhận kiểu tham chiếu C++" -#: objdump.c:2210 -#, c-format -msgid "Contents of section %s:\n" -msgstr "Nội dung phần %s:\n" +#: ieee.c:3441 +msgid "C++ reference not found" +msgstr "Không tìm thấy tham chiếu C++" -#: objdump.c:2335 -#, c-format -msgid "no symbols\n" -msgstr "không có ký hiệu\n" +#: ieee.c:3449 +msgid "C++ reference is not pointer" +msgstr "Tham chiếu C++ không phải là con trỏ" + +#: ieee.c:3475 ieee.c:3483 +msgid "missing required ASN" +msgstr "thiếu ASN cần thiết" + +#: ieee.c:3510 ieee.c:3518 +msgid "missing required ATN65" +msgstr "thiếu ATN65 cần thiết" + +#: ieee.c:3532 +msgid "bad ATN65 record" +msgstr "mục ghi ATN65 sai" -#: objdump.c:2342 +#: ieee.c:4160 #, c-format -msgid "no information for symbol number %ld\n" -msgstr "không có thông tin cho ký hiệu số %ld\n" +msgid "IEEE numeric overflow: 0x" +msgstr "trán thuộc số IEEE: 0x" -#: objdump.c:2345 +#: ieee.c:4204 #, c-format -msgid "could not determine the type of symbol number %ld\n" -msgstr "không thể quyết định kiểu ký hiệu số %ld\n" +msgid "IEEE string length overflow: %u\n" +msgstr "Trán độ dài chuỗi IEEE: %u\n" -#: objdump.c:2611 +#: ieee.c:5203 #, c-format -msgid "" -"\n" -"%s: file format %s\n" -msgstr "" -"\n" -"%s: dạng thức tập tin %s\n" +msgid "IEEE unsupported integer type size %u\n" +msgstr "Kích cỡ kiểu số nguyên không được hỗ trợ IEEE %u\n" -#: objdump.c:2662 +#: ieee.c:5237 #, c-format -msgid "%s: printing debugging information failed" -msgstr "%s: việc in ra thông tin gỡ lỗi bị lỗi" +msgid "IEEE unsupported float type size %u\n" +msgstr "Kích cỡ kiểu nổi không được hỗ trợ IEEE %u\n" -#: objdump.c:2753 +#: ieee.c:5271 #, c-format -msgid "In archive %s:\n" -msgstr "Trong kho %s\n" +msgid "IEEE unsupported complex type size %u\n" +msgstr "Kích cỡ kiểu phức tạp không được hỗ trợ IEEE %u\n" -#: objdump.c:2873 -msgid "unrecognized -E option" -msgstr "không nhận ra tùy chọn « -E »" +#: nlmconv.c:269 srconv.c:1813 +msgid "input and output files must be different" +msgstr "tập tin nhập và xuất phải là khác nhau" -#: objdump.c:2884 -#, c-format -msgid "unrecognized --endian type `%s'" -msgstr "không nhận ra kiểu tính trạng cuối (endian) « %s »" +#: nlmconv.c:316 +msgid "input file named both on command line and with INPUT" +msgstr "tên tập tin được lập cả trên dòng lệnh lẫn bằng INPUT đều" -#: rdcoff.c:196 -#, c-format -msgid "parse_coff_type: Bad type code 0x%x" -msgstr "parse_coff_type: (phân tách kiểu coff) Mã kiểu sai 0x%x" +#: nlmconv.c:325 +msgid "no input file" +msgstr "không có tập tin nhập nào" -#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 -#, c-format -msgid "bfd_coff_get_syment failed: %s" -msgstr "« bfd_coff_get_syment » bị lỗi: %s" +#: nlmconv.c:355 +msgid "no name for output file" +msgstr "không có tên cho tập tin nhập" -#: rdcoff.c:420 rdcoff.c:717 -#, c-format -msgid "bfd_coff_get_auxent failed: %s" -msgstr "« bfd_coff_get_auxent » bị lỗi: %s" +#: nlmconv.c:369 +msgid "warning: input and output formats are not compatible" +msgstr "cảnh báo : khuôn dạng nhập và xuất không tương thích với nhau" -#: rdcoff.c:784 -#, c-format -msgid "%ld: .bf without preceding function" -msgstr "%ld: « .bf » không có hàm đi trước" +#: nlmconv.c:398 +msgid "make .bss section" +msgstr "tạo phần « .bss »" -#: rdcoff.c:834 -#, c-format -msgid "%ld: unexpected .ef\n" -msgstr "%ld: « .ef » bất ngờ\n" +#: nlmconv.c:407 +msgid "make .nlmsections section" +msgstr "tạo phần « .nlmsections »" -#: rddbg.c:85 -#, c-format -msgid "%s: no recognized debugging information" -msgstr "%s: không có thông tin gỡ lỗi đã nhận ra" +#: nlmconv.c:409 +msgid "set .nlmsections flags" +msgstr "đặt các cờ « .nlmsections »" -#: rddbg.c:394 -#, c-format -msgid "Last stabs entries before error:\n" -msgstr "Những mục nhập stabs cuối cùng trước lỗi:\n" +#: nlmconv.c:437 +msgid "set .bss vma" +msgstr "đặt vma .bss" -#: readelf.c:272 -#, c-format -msgid "%s: Error: " -msgstr "%s: Lỗi: " +#: nlmconv.c:444 +msgid "set .data size" +msgstr "đặt kích cỡ dữ liệu .data" -#: readelf.c:283 +#: nlmconv.c:624 #, c-format -msgid "%s: Warning: " -msgstr "%s: Cảnh báo : " +msgid "warning: symbol %s imported but not in import list" +msgstr "cảnh báo : ký hiệu %s được nhập mà không phải trong danh sách nhập" -#: readelf.c:298 -#, c-format -msgid "Unable to seek to 0x%x for %s\n" -msgstr "Không thể nhảy tới 0x%x tìm %s\n" +#: nlmconv.c:644 +msgid "set start address" +msgstr "đặt địa chỉ bắt đầu" -#: readelf.c:310 +#: nlmconv.c:693 #, c-format -msgid "Out of memory allocating 0x%x bytes for %s\n" -msgstr "Hết bộ nhớ khi cấp phát 0x%x byte cho %s\n" +msgid "warning: START procedure %s not defined" +msgstr "cảnh báo : thá»§ tục START (bắt đầu) %s chưa được định nghÄ©a" -#: readelf.c:318 +#: nlmconv.c:695 #, c-format -msgid "Unable to read in 0x%x bytes of %s\n" -msgstr "Không thể đọc trong 0x%x byte cá»§a %s\n" +msgid "warning: EXIT procedure %s not defined" +msgstr "cảnh báo : thá»§ tục EXIT (thoát) %s chưa được định nghÄ©a" -#: readelf.c:364 readelf.c:412 readelf.c:615 readelf.c:647 +#: nlmconv.c:697 #, c-format -msgid "Unhandled data length: %d\n" -msgstr "Độ dài dữ liệu không được quản lý: %d\n" - -#: readelf.c:752 -msgid "Don't know about relocations on this machine architecture\n" -msgstr "Không biết về việc định vị lại trên kiến trúc máy này\n" +msgid "warning: CHECK procedure %s not defined" +msgstr "cảnh báo : thá»§ tục CHECK (kiểm tra) %s chưa được định nghÄ©a" -#: readelf.c:772 readelf.c:799 readelf.c:842 readelf.c:869 -msgid "relocs" -msgstr "đ.v. lại" +#: nlmconv.c:718 nlmconv.c:907 +msgid "custom section" +msgstr "phần tá»± chọn" -#: readelf.c:782 readelf.c:809 readelf.c:852 readelf.c:879 -msgid "out of memory parsing relocs" -msgstr "hết bộ nhớ khi phân tách việc định vị lại" +#: nlmconv.c:739 nlmconv.c:936 +msgid "help section" +msgstr "phần trợ giúp" -#: readelf.c:933 -#, c-format -msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" -msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" +#: nlmconv.c:761 nlmconv.c:954 +msgid "message section" +msgstr "phần thông điệp" -#: readelf.c:935 -#, c-format -msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" -msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" +#: nlmconv.c:777 nlmconv.c:987 +msgid "module section" +msgstr "phần mô-đun" -#: readelf.c:940 -#, c-format -msgid " Offset Info Type Sym. Value Symbol's Name\n" -msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" +#: nlmconv.c:797 nlmconv.c:1003 +msgid "rpc section" +msgstr "phần rpc" -#: readelf.c:942 +#. There is no place to record this information. +#: nlmconv.c:833 #, c-format -msgid " Offset Info Type Sym.Value Sym. Name\n" -msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" +msgid "%s: warning: shared libraries can not have uninitialized data" +msgstr "%s: cảnh báo : thư viên dùng chung không thể chứa dữ liệu chưa được sở khởi" -#: readelf.c:950 -#, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -msgstr " Offset Info Type Symbol's Value Symbol's Name + Addend\n" +#: nlmconv.c:854 nlmconv.c:1022 +msgid "shared section" +msgstr "phần dùng chung" -#: readelf.c:952 -#, c-format -msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" -msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" +#: nlmconv.c:862 +msgid "warning: No version number given" +msgstr "cảnh báo : chưa đưa ra số thứ tá»± phiên bản" -#: readelf.c:957 +#: nlmconv.c:902 nlmconv.c:931 nlmconv.c:949 nlmconv.c:998 nlmconv.c:1017 #, c-format -msgid " Offset Info Type Symbol's Value Symbol's Name\n" -msgstr " Offset Info Type Symbol's Value Symbol's Name\n" +msgid "%s: read: %s" +msgstr "%s: đọc: %s" -#: readelf.c:959 -#, c-format -msgid " Offset Info Type Sym. Value Sym. Name\n" -msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" +#: nlmconv.c:924 +msgid "warning: FULLMAP is not supported; try ld -M" +msgstr "cảnh báo : chưa hỗ trợ FULLMAP; hãy thá»­ « ld -M »" -#: readelf.c:1239 readelf.c:1241 readelf.c:1324 readelf.c:1326 readelf.c:1335 -#: readelf.c:1337 +#: nlmconv.c:1100 #, c-format -msgid "unrecognized: %-7lx" -msgstr "không nhận ra: %-7lx" +msgid "Usage: %s [option(s)] [in-file [out-file]]\n" +msgstr "Cách sá»­ dụng: %s [tùy_chọn...] [tập_tin_nhập [tập_tin_xuất]]\n" -#: readelf.c:1295 +#: nlmconv.c:1101 #, c-format -msgid "" -msgstr "" +msgid " Convert an object file into a NetWare Loadable Module\n" +msgstr " Chuyển đổi tập tin đối tượng sang Mô-đun Tải được NetWare (NetWare Loadable Module)\n" -#: readelf.c:1297 +#: nlmconv.c:1102 #, c-format -msgid "" -msgstr "" +msgid "" +" The options are:\n" +" -I --input-target= Set the input binary file format\n" +" -O --output-target= Set the output binary file format\n" +" -T --header-file= Read for NLM header information\n" +" -l --linker= Use for any linking\n" +" -d --debug Display on stderr the linker command line\n" +" @ Read options from .\n" +" -h --help Display this information\n" +" -v --version Display the program's version\n" +msgstr "" +" Tùy chọn:\n" +" -I --input-target=\t Lập dạng thức tập tin nhị phân nhập\n" +"\t\t\t\t\t\t\t\t (_đích nhập_)\n" +" -O --output-target=\t Lập dạng thức tập tin nhị phân xuất\n" +"\t\t\t\t\t\t\t\t (_đích xuất_)\n" +" -T --header-file=\n" +"\t\tĐọc tập tin này để tìm thông tin phần đầu NLM (_tập tin phần đầu_)\n" +" -l --linker= \t Dùng _bộ liên kết_ này khi liên kết\n" +" -d --debug\n" +"\tHiển thị trên thiết bị lỗi chuẩn dòng lệnh cá»§a bộ liên kết (_gỡ lỗi_)\n" +" @ \t\t\t\t\t Đọc các tùy chọn từ tập tin đó\n" +" -h --help \t\t Hiển thị _trợ giúp_ này\n" +" -v --version \t\t Hiển thị _phiên bản_ chương trình\n" -#: readelf.c:1569 +#: nlmconv.c:1143 #, c-format -msgid "Processor Specific: %lx" -msgstr "Đặc trưng cho bộ xá»­ lý: %lx" +msgid "support not compiled in for %s" +msgstr "chưa biên dịch cách hỗ trợ %s" -#: readelf.c:1588 -#, c-format -msgid "Operating System specific: %lx" -msgstr "Đặc trưng cho Hệ điều hành: %lx" +#: nlmconv.c:1180 +msgid "make section" +msgstr "tạo phần" -#: readelf.c:1592 readelf.c:2370 -#, c-format -msgid ": %lx" -msgstr ": %lx" +#: nlmconv.c:1194 +msgid "set section size" +msgstr "lập kích cỡ phần" -#: readelf.c:1605 -msgid "NONE (None)" -msgstr "KHÔNG CÓ (Không có)" +#: nlmconv.c:1200 +msgid "set section alignment" +msgstr "lập canh lề phần" -#: readelf.c:1606 -msgid "REL (Relocatable file)" -msgstr "REL (Tập tin có thể _định vị lại_)" +#: nlmconv.c:1204 +msgid "set section flags" +msgstr "lập các cờ phân" -#: readelf.c:1607 -msgid "EXEC (Executable file)" -msgstr "EXEC (Executable file)" +#: nlmconv.c:1215 +msgid "set .nlmsections size" +msgstr "lập kích cỡ « .nlmsections »" -#: readelf.c:1608 -msgid "DYN (Shared object file)" -msgstr "DYN (Shared object file)" +#: nlmconv.c:1296 nlmconv.c:1304 nlmconv.c:1313 nlmconv.c:1318 +msgid "set .nlmsection contents" +msgstr "lập nội dung « .nlmsections »" -#: readelf.c:1609 -msgid "CORE (Core file)" -msgstr "CORE (Core file)" +#: nlmconv.c:1797 +msgid "stub section sizes" +msgstr "kích cỡ phần stub" -#: readelf.c:1613 -#, c-format -msgid "Processor Specific: (%x)" -msgstr "Đặc trưng cho bộ xá»­ lý: (%x)" +#: nlmconv.c:1844 +msgid "writing stub" +msgstr "đang ghi stub..." -#: readelf.c:1615 +#: nlmconv.c:1928 #, c-format -msgid "OS Specific: (%x)" -msgstr "Đặc trưng cho HĐH: (%x)" +msgid "unresolved PC relative reloc against %s" +msgstr "có việc định vị lại liên quan đến PC chưa tháo gỡ đối với %s" -#: readelf.c:1617 readelf.c:1724 readelf.c:2554 +#: nlmconv.c:1992 #, c-format -msgid ": %x" -msgstr ": %x" - -#: readelf.c:1629 -msgid "None" -msgstr "Không có" +msgid "overflow when adjusting relocation against %s" +msgstr "trán khi điều chỉnh việc định vị lại đối với %s" -#: readelf.c:2229 -msgid "Standalone App" -msgstr "Ứng dụng Độc lập" +#: nlmconv.c:2119 +#, c-format +msgid "%s: execution of %s failed: " +msgstr "%s: việc thá»±c hiện %s bị lỗi: " -#: readelf.c:2232 readelf.c:2952 readelf.c:2968 +#: nlmconv.c:2134 #, c-format -msgid "" -msgstr "" +msgid "Execution of %s failed" +msgstr "Việc thá»±c hiện %s bị lỗi" -#: readelf.c:2597 +#: nm.c:224 size.c:82 strings.c:708 #, c-format -msgid "Usage: readelf elf-file(s)\n" -msgstr "Cách sá»­ dụng: readelf tập_tin_elf...\n" +msgid "Usage: %s [option(s)] [file(s)]\n" +msgstr "Cách sá»­ dụng: %s [tùy_chọn...] [tập_tin...]\n" -#: readelf.c:2598 +#: nm.c:225 #, c-format -msgid " Display information about the contents of ELF format files\n" -msgstr " Hiển thị thông tin về nội dung tập tin dạng thức ELF\n" +msgid " List symbols in [file(s)] (a.out by default).\n" +msgstr " Liệt kê các ký hiệu trong những tập tin này (mặc định là ).\n" -#: readelf.c:2599 +#: nm.c:226 #, c-format msgid "" -" Options are:\n" -" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" -" -h --file-header Display the ELF file header\n" -" -l --program-headers Display the program headers\n" -" --segments An alias for --program-headers\n" -" -S --section-headers Display the sections' header\n" -" --sections An alias for --section-headers\n" -" -g --section-groups Display the section groups\n" -" -e --headers Equivalent to: -h -l -S\n" -" -s --syms Display the symbol table\n" -" --symbols An alias for --syms\n" -" -n --notes Display the core notes (if present)\n" -" -r --relocs Display the relocations (if present)\n" -" -u --unwind Display the unwind info (if present)\n" -" -d --dynamic Display the dynamic section (if present)\n" -" -V --version-info Display the version sections (if present)\n" -" -A --arch-specific Display architecture specific information (if any).\n" -" -D --use-dynamic Use the dynamic section info when displaying symbols\n" -" -x --hex-dump= Dump the contents of section \n" -" -w[liaprmfFsoR] or\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -" Display the contents of DWARF2 debug sections\n" +" The options are:\n" +" -a, --debug-syms Display debugger-only symbols\n" +" -A, --print-file-name Print name of the input file before every symbol\n" +" -B Same as --format=bsd\n" +" -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n" +" The STYLE, if specified, can be `auto' (the default),\n" +" `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" --no-demangle Do not demangle low-level symbol names\n" +" -D, --dynamic Display dynamic symbols instead of normal symbols\n" +" --defined-only Display only defined symbols\n" +" -e (ignored)\n" +" -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n" +" `sysv' or `posix'. The default is `bsd'\n" +" -g, --extern-only Display only external symbols\n" +" -l, --line-numbers Use debugging information to find a filename and\n" +" line number for each symbol\n" +" -n, --numeric-sort Sort symbols numerically by address\n" +" -o Same as -A\n" +" -p, --no-sort Do not sort the symbols\n" +" -P, --portability Same as --format=posix\n" +" -r, --reverse-sort Reverse the sense of the sort\n" +" -S, --print-size Print size of defined symbols\n" +" -s, --print-armap Include index for symbols from archive members\n" +" --size-sort Sort symbols by size\n" +" --special-syms Include special symbols in the output\n" +" --synthetic Display synthetic symbols as well\n" +" -t, --radix=RADIX Use RADIX for printing symbol values\n" +" --target=BFDNAME Specify the target object format as BFDNAME\n" +" -u, --undefined-only Display only undefined symbols\n" +" -X 32_64 (ignored)\n" +" @FILE Read options from FILE\n" +" -h, --help Display this information\n" +" -V, --version Display this program's version number\n" +"\n" msgstr "" " Tùy chọn:\n" -" -a --all \t\t\t\t\tBằng: -h -l -S -s -r -d -V -A -I\n" -"\t(hết)\n" -" -h --file-header \t\t\t\tHiển thị _dòng đầu tập tin_ ELF\n" -" -l --program-headers \t\tHiển thị _các dòng đầu chương trình_\n" -" --segments \t\t\tBiệt hiệu cho « --program-headers »\n" -"\t(các phân đoạn)\n" -" -S --section-headers \t\t\tHiển thị dòng đầu cá»§a các phần\n" -"\t(các dòng đầu phần)\n" -" --sections \t\t\tBiệt hiệu cho « --section-headers »\n" -"\t(các phần)\n" -" -g --section-groups \t\t\t Hiển thị _các nhóm phần_\n" -" -e --headers \t\t\t\tBằng: -h -l -S\n" -"\t(các dòng đầu)\n" -" -s --syms \t\t\tHiển thị bảng _ký hiệu_\n" -" --symbols \t\t\tBiệt hiệu cho « --syms »\n" -"\t(các ký hiệu [« syms » là viết tắt])\n" -" -n --notes \t\t\tHiển thị _các ghi chú_ lõi (nếu có)\n" -" -r --relocs \t\tHiển thị _các việc định vị lại_ (nếu có)\n" -" -u --unwind \t\tHiển thị thông tin _tri ra_ (nếu có)\n" -" -d --dynamic \t\tHiển thị phần _động_ (nếu có)\n" -" -V --version-info \t\tHiển thị các phần phiên bản (nếu có)\n" -"\t(thông tin phiên bản)\n" -" -A --arch-specific Hiển thị thông tin _đặc trưng cho kiến trúc_ (nếu có)\n" -" -D --use-dynamic _Dùng_ thông tin phần _động_ khi hiển thị ký hiệu\n" -" -x --hex-dump= \t\t\tĐổ nội dung phần \n" -"\t(đổ thập lục)\n" -" -w[liaprmfFsoR] or\n" -" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" -"\t[line\t\t\tdòng\n" -"\tinfo\t\t\tthông tin\n" -"\tabbrev.\t\tviết tắt\n" -"\tpubnames\tcác tên công\n" -"\taranges\t\tcác phạm vị a\n" -"\tmacro\t\tbộ lệnh\n" -"\tframes\t\tcác khung\n" -"\tstr\t\t\tchuỗi\n" -"\tloc\t\t\tđịnh vị\n" -"\tRanges\t\tCác phạm vị]\n" -" Hiển thị nội dung các phần gỡ lỗi kiểu DWARF2\n" +" -a, --debug-syms \tHiển thị _ký hiệu_ chỉ kiểu bộ _gỡ lỗi_ thôi\n" +" -A, --print-file-name \t_In ra tên tập tin_ nhập trước mỗi ký hiệu\n" +" -B \t\t\tBằng « --format=bsd »\n" +" -C, --demangle[=KIỂU_DÁNG]\n" +"\tGiải mã các tên ký hiệu cấp thấp thành tên cấp người dùng (_tháo gỡ_)\n" +" Kiểu dáng này, nếu được ghi rõ, có thể là « auto » (tá»± động: mặc định)\n" +"\t« gnu », « lucid », « arm », « hp », « edg », « gnu-v3 », « java » hay « gnat ».\n" +" --no-demangle \t\t_Đừng tháo gỡ_ tên ký hiệu cấp thấp\n" +" -D, --dynamic \t\tHiển thị ký hiệu _động_ thay vào ký hiệu chuẩn\n" +" --defined-only \t\tHiển thị _chỉ_ ký hiệu _được định nghÄ©a_\n" +" -e \t\t\t(bị bỏ qua)\n" +" -f, --format=DẠNG_THỨC \tDùng _dạng thức_ xuất này, một cá»§a\n" +"\t\t\t\t\t\t\t« bsd » (mặc định), « sysv » hay « posix »\n" +" -g, --extern-only \t\tHiển thị _chỉ_ ký hiệu _bên ngoài_\n" +" -l, --line-numbers \t\tDùng thông tin gỡ lỗi để tìm tên tập tin\n" +"\t\t\t\t\t\tvà _số thứ tá»± dòng_ cho mỗi ký hiệu\n" +" -n, --numeric-sort \t\t_Sắp xếp_ ký hiệu một cách _thuộc số_ theo địa chỉ\n" +" -o \t\t\tBằng « -A »\n" +" -p, --no-sort \t\t_Đừng sắp xếp_ ký hiệu\n" +" -P, --portability \t\tBằng « --format=posix »\n" +" -r, --reverse-sort \t\t_Sắp xếp ngược_\n" +" -S, --print-size \t\tIn ra kích cỡ cá»§a các ký hiệu được định nghÄ©a\n" +" -s, --print-armap \t\tGồm chỉ mục cho ký hiệu từ bộ phạn kho\n" +" --size-sort \t\t_Sắp xếp_ ký hiệu theo _kích cỡ_\n" +" --special-syms \t\tGồm _ký hiệu đặc biệt_ trong dữ liệu xuất\n" +" --synthetic \t\tCÅ©ng hiển thị ký hiệu _tổng hợp_\n" +" -t, --radix=CÆ _SỞ \tDùng _cÆ¡ sở_ này để in ra giá trị ký hiệu\n" +" --target=TÊN_BFD \tGhi rõ dạng thức đối tượng _đích_ là tên BFD này\n" +" -u, --undefined-only \tHiển thị _chỉ_ ký hiệu _chưa được định nghÄ©a_\n" +" -X 32_64 \t\t(bị bỏ qua)\n" +" @ \t\t\t\t\t Đọc các tùy chọn từ tập tin đó\n" +" -h, --help \t\tHiển thị _trợ giúp_ này\n" +" -V, --version \t\tHiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" +"\n" + +#: nm.c:263 objdump.c:236 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Hãy trình báo lỗi nào cho %s\n" + +#: nm.c:295 +#, c-format +msgid "%s: invalid radix" +msgstr "%s: cÆ¡ sở không hợp lệ" + +#: nm.c:319 +#, c-format +msgid "%s: invalid output format" +msgstr "%s: dạng thức xuất không hợp lệ" + +#: nm.c:340 readelf.c:6623 readelf.c:6659 +#, c-format +msgid ": %d" +msgstr "<đặc trưng cho bộ xá»­ lý>: %d" + +#: nm.c:342 readelf.c:6626 readelf.c:6671 +#, c-format +msgid ": %d" +msgstr "<đặc trưng cho hệ điều hành>: %d" + +#: nm.c:344 readelf.c:6628 readelf.c:6674 +#, c-format +msgid ": %d" +msgstr ": %d" -#: readelf.c:2622 +#: nm.c:381 #, c-format msgid "" -" -i --instruction-dump=\n" -" Disassemble the contents of section \n" +"\n" +"Archive index:\n" msgstr "" -" -i --instruction-dump=\t\tTháo ra nội dung phần \n" -"\t(đổ câu lệnh)\n" +"\n" +"Chỉ mục kho:\n" -#: readelf.c:2626 +#: nm.c:1227 #, c-format msgid "" -" -I --histogram Display histogram of bucket list lengths\n" -" -W --wide Allow output width to exceed 80 characters\n" -" -H --help Display this information\n" -" -v --version Display the version number of readelf\n" +"\n" +"\n" +"Undefined symbols from %s:\n" +"\n" msgstr "" -" -I --histogram\n" -"\tHiển thị _biểu đồ tần xuất_ cá»§a các độ dài danh sách xô\n" -" -W --wide Cho phép độ _rộng_ kết xuất vượt qua 80 ký tá»±\n" -" -H --help \tHiển thị _trợ giúp_ này\n" -" -v --version \tHiển thị số thứ tá»± _phiên bản_ cá»§a readelf\n" +"\n" +"\n" +"Ký hiệu chưa được định nghÄ©a từ %s:\n" +"\n" -#: readelf.c:2651 readelf.c:12118 -msgid "Out of memory allocating dump request table." -msgstr "Hết bộ nhớ khi cấp phát bảng yêu cầu đổ." +#: nm.c:1229 +#, c-format +msgid "" +"\n" +"\n" +"Symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Ký hiệu từ %s:\n" +"\n" -#: readelf.c:2820 readelf.c:2888 +#: nm.c:1231 nm.c:1282 #, c-format -msgid "Unrecognized debug option '%s'\n" -msgstr "Không nhận diện tùy chọn gỡ lỗi « %s »\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Tên Giá trị Hạng Kiểu Cỡ Dòng Phần\n" +"\n" -#: readelf.c:2922 +#: nm.c:1234 nm.c:1285 #, c-format -msgid "Invalid option '-%c'\n" -msgstr "Tùy chọn không hợp lệ « -%c »\n" +msgid "" +"Name Value Class Type Size Line Section\n" +"\n" +msgstr "" +"Name Value Class Type Size Line Section\n" +"\n" -#: readelf.c:2936 -msgid "Nothing to do.\n" -msgstr "Không có gì cần làm.\n" +#: nm.c:1278 +#, c-format +msgid "" +"\n" +"\n" +"Undefined symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Ký hiệu chưa được định nghÄ©a từUndefined symbols from %s[%s]:\n" +"\n" -#: readelf.c:2948 readelf.c:2964 readelf.c:5906 -msgid "none" -msgstr "không có" +#: nm.c:1280 +#, c-format +msgid "" +"\n" +"\n" +"Symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Ký hiệu từ %s[%s]:\n" +"\n" -#: readelf.c:2965 -msgid "2's complement, little endian" -msgstr "phần bù cá»§a 2, tính trạng cuối nhỏ" +#: nm.c:1584 +msgid "Only -X 32_64 is supported" +msgstr "Chỉ hỗ trợ « -X 32_64 »" -#: readelf.c:2966 -msgid "2's complement, big endian" -msgstr "phần bù cá»§a 2, tính trạng cuối lớn" +#: nm.c:1604 +msgid "Using the --size-sort and --undefined-only options together" +msgstr "Dùng tùy chọn cả « --size-sort » lẫn « --undefined-only » đều" -#: readelf.c:2984 -msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "Không phải là tập tin ELF — có những byte ma thuật không đúng tại đầu nó.\n" +#: nm.c:1605 +msgid "will produce no output, since undefined symbols have no size." +msgstr "sẽ không xuất gì, vì ký hiệu chưa được định nghÄ©a không có kích cỡ nào." + +#: nm.c:1633 +#, c-format +msgid "data size %ld" +msgstr "cỡ dữ liệu %ld" + +#: objcopy.c:401 srconv.c:1721 +#, c-format +msgid "Usage: %s [option(s)] in-file [out-file]\n" +msgstr "Cách sá»­ dụng: %s [tùy_chọn...] tập_tin_nhập [tập_tin_xuất]\n" + +#: objcopy.c:402 +#, c-format +msgid " Copies a binary file, possibly transforming it in the process\n" +msgstr " Sao chép tập tin nhị phân, cÅ©ng có thể chuyển đổi nó\n" + +#: objcopy.c:403 objcopy.c:495 +#, c-format +msgid " The options are:\n" +msgstr " Tùy chọn:\n" + +#: objcopy.c:404 +#, c-format +msgid "" +" -I --input-target Assume input file is in format \n" +" -O --output-target Create an output file in format \n" +" -B --binary-architecture Set arch of output file, when input is binary\n" +" -F --target Set both input and output format to \n" +" --debugging Convert debugging information, if possible\n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -j --only-section Only copy section into the output\n" +" --add-gnu-debuglink= Add section .gnu_debuglink linking to \n" +" -R --remove-section Remove section from the output\n" +" -S --strip-all Remove all symbol and relocation information\n" +" -g --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" -N --strip-symbol Do not copy symbol \n" +" --strip-unneeded-symbol \n" +" Do not copy symbol unless needed by\n" +" relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -K --keep-symbol Do not strip symbol \n" +" -L --localize-symbol Force symbol to be marked as a local\n" +" --globalize-symbol Force symbol to be marked as a global\n" +" -G --keep-global-symbol Localize all symbols except \n" +" -W --weaken-symbol Force symbol to be marked as a weak\n" +" --weaken Force all global symbols to be marked as weak\n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -i --interleave Only copy one out of every bytes\n" +" -b --byte Select byte in every interleaved block\n" +" --gap-fill Fill gaps between sections with \n" +" --pad-to Pad the last section up to address \n" +" --set-start Set the start address to \n" +" {--change-start|--adjust-start} \n" +" Add to the start address\n" +" {--change-addresses|--adjust-vma} \n" +" Add to LMA, VMA and start addresses\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +" Change LMA and VMA of section by \n" +" --change-section-lma {=|+|-}\n" +" Change the LMA of section by \n" +" --change-section-vma {=|+|-}\n" +" Change the VMA of section by \n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" Warn if a named section does not exist\n" +" --set-section-flags =\n" +" Set section 's properties to \n" +" --add-section = Add section found in to output\n" +" --rename-section =[,] Rename section to \n" +" --change-leading-char Force output format's leading character style\n" +" --remove-leading-char Remove leading character from global symbols\n" +" --redefine-sym = Redefine symbol name to \n" +" --redefine-syms --redefine-sym for all symbol pairs \n" +" listed in \n" +" --srec-len Restrict the length of generated Srecords\n" +" --srec-forceS3 Restrict the type of generated Srecords to S3\n" +" --strip-symbols -N for all symbols listed in \n" +" --strip-unneeded-symbols \n" +" --strip-unneeded-symbol for all symbols listed\n" +" in \n" +" --keep-symbols -K for all symbols listed in \n" +" --localize-symbols -L for all symbols listed in \n" +" --globalize-symbols --globalize-symbol for all in \n" +" --keep-global-symbols -G for all symbols listed in \n" +" --weaken-symbols -W for all symbols listed in \n" +" --alt-machine-code Use alternate machine code for output\n" +" --writable-text Mark the output text as writable\n" +" --readonly-text Make the output text write protected\n" +" --pure Mark the output file as demand paged\n" +" --impure Mark the output file as impure\n" +" --prefix-symbols Add to start of every symbol name\n" +" --prefix-sections Add to start of every section name\n" +" --prefix-alloc-sections \n" +" Add to start of every allocatable\n" +" section name\n" +" -v --verbose List all object files modified\n" +" @ Read options from \n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +msgstr "" +" -I --input-target \t\tGiả sá»­ tập tin nhập có dạng \n" +"\t\t\t\t\t\t\t\t (_đích nhập_)\n" +" -O --output-target \tTạo tập tin dạng \n" +"\t\t\t\t\t\t\t\t (_đích xuất_)\n" +" -B --binary-architecture \n" +"\t\t\tLập _kiến trúc_ cá»§a tập tin xuất, khi tập tin nhập là _nhị phân_\n" +" -F --target \n" +"\t\t\tLập dạng thức cả nhập lẫn xuất đều thành (_đích_)\n" +" --debugging \t\t\tChuyển đổi thông tin _gỡ lỗi_, nếu có thể\n" +" -p --preserve-dates\n" +"\tSao chép nhãn thời gian truy cập/sá»­a đổi vào kết xuất (_bảo tồn các ngày_)\n" +" -j --only-section \t_Chỉ_ sao chép _phần_ vào kết xuất\n" +" --add-gnu-debuglink=\n" +"\t\t_Thêm_ khả năng liên kết phần « .gnu_debuglink » vào \n" +" -R --remove-section \t_Gỡ bỏ phần_ ra kết xuất\n" +" -S --strip-all \t\t\tGỡ bỏ mọi thông tin ký hiệu và định vị lại\n" +"\t\t\t\t\t\t\t\t (_tước hết_)\n" +" -g --strip-debug \t\tGỡ bỏ mọi ký hiệu và phần kiểu gỡ lỗi\n" +"\t\t\t\t\t\t\t\t (_tước gỡ lỗi_)\n" +" --strip-unneeded \tGỡ bỏ mọi ký hiệu không cần thiết để định vị lại\n" +"\t\t\t\t\t\t\t\t (_tước không cần thiết_)\n" +" -N --strip-symbol \t\t Đừng sao chép ký hiệu \n" +"\t\t\t\t\t\t\t\t (_tước ký hiệu_)\n" +" --strip-unneeded-symbol \n" +"\tĐừng sao chép ký hiệu trừ cần thiết để định vị lại (_tước không cần thiết_)\n" +" --only-keep-debug\t\t\t\tTước hết, trừ thông tin gỡ lỗi\n" +"\t\t\t\t\t\t\t\t (_chỉ giữ gỡ lỗi_)\n" +" -K --keep-symbol \tChỉ sao chép ký hiệu \n" +"\t\t\t\t\t\t\t\t (_giữ ký hiệu_)\n" +" -L --localize-symbol \n" +"\t\t\t\tBuộc ký hiệu có nhãn điều cục bộ (_địa phương hóa_)\n" +" -G --keep-global-symbol \tĐịa phương hóa mọi ký hiệu trừ \n" +"\t\t\t\t\t\t\t\t (_giữ ký hiệu toàn cục_)\n" +" -W --weaken-symbol \tBuộc ký hiệu có nhãn điều yếu\n" +"\t\t\t\t\t\t\t\t (_làm yếu ký hiệu_)\n" +" --weaken \t\tBuộc mọi ký hiệu toàn cục có nhãn điều yếu\n" +"\t\t\t\t\t\t\t\t (_làm yếu đi_)\n" +" -w --wildcard \t\tCho phép _ký tá»± đại diện_ trong sá»± so sánh ký hiệu\n" +" -x --discard-all \t\t\tGỡ bỏ mọi ký hiệu không toàn cục\n" +"\t\t\t\t\t\t\t\t (_há»§y hết_)\n" +" -X --discard-locals Gỡ bỏ ký hiệu nào được tạo ra bởi bộ biên dịch\n" +"\t\t\t\t\t\t\t\t (_há»§y các điều cục bộ_)\n" +" -i --interleave \t\t\tChỉ sao chép một cá»§a mỗi byte\n" +"\t\t\t\t\t\t\t\t (_chen vào_)\n" +" -b --byte \n" +"\t\t\t\tChọn byte số thứ tá»± trong mỗi khối tin đã chen vào\n" +" --gap-fill \t_Điền vào khe_ giữa hai phần bằng \n" +" --pad-to <địa_chỉ>\t\t_Đệm_ phần cuối cùng _đế_n địa chỉ <địa_chỉ>\n" +" --set-start <địa_chỉ> \t\t_Lập_ địa chỉ _đầu_ thành <địa_chỉ>\n" +" {--change-start|--adjust-start} \n" +"\t\tThêm vào địa chỉ đầu (_thay đổi đầu, điều chỉnh đầu_)\n" +" {--change-addresses|--adjust-vma} \n" +" \t\t\t\t\t\t\tThêm vào địa chỉ đầu, LMA và VMA\n" +"\t\t\t\t\t\t\t (_thay đổi địa chỉ, điều chỉnh vma_)\n" +" {--change-section-address|--adjust-section-vma} {=|+|-}\n" +"\t\t\t\t\tThay đổi LMA và VMA cá»§a phần bằng \n" +"\t\t\t\t\t\t(_thay đổi địa chỉ phần, điều chỉnh vma phần_)\n" +" --change-section-lma {=|+|-}\n" +" \tThay đổi LMA cá»§a phần bằng (_thay đổi LMA cá»§a phần_)\n" +" --change-section-vma {=|+|-}\n" +" \tThay đổi VMA cá»§a phần bằng (_thay đổi VMA cá»§a phần_)\n" +" {--[no-]change-warnings|--[no-]adjust-warnings}\n" +" \t\t\t\t\t\t\t\tCảnh báo nếu không có phần có tên\n" +"\t\t(_[không] thay đổi các cảnh báo, [không] điều chỉnh các cảnh báo_)\n" +" --set-section-flags =\n" +" \t\tLập thuộc tính cá»§a phần thành \n" +"\t\t\t\t\t\t\t\t (_lập các cờ phần_)\n" +" --add-section =\n" +"\t\t\t\t_Thêm phần_ được tìm trong vào kết xuất\n" +" --rename-section =[,]\n" +"\t\t\t\t\t\t\t\t_Thay đổi phần_ thành \n" +" --change-leading-char\n" +"\t\t\t\t\tBuộc kiểu dáng cá»§a ký tá»± đi trước cá»§a dạng thức xuất\n" +"\t\t\t\t\t\t\t\t (_thay đổi ký tá»± đi trước_)\n" +" --remove-leading-char\t\t_Gỡ bỏ ký tá»± đi trước_ ra các ký hiệu toàn cục\n" +" --redefine-sym =\n" +"\t\t\t\t\t\t_Định nghÄ©a lại_ tên _ký hiệu_ thành \n" +" --redefine-syms \n" +"\t\t« --redefine-sym » cho mọi cặp ký hiệu được liệt kê trong \n" +" --srec-len \t\tGiới hạn _độ dài_ cá»§a các Srecords đã tạo ra\n" +" --srec-forceS3 \tGiới hạn kiểu Srecords thành S3 (_buộc_)\n" +" --strip-symbols \n" +"\t« -N » cho mọi ký hiệu được liệt kê trong (_tước các ký hiệu_)\n" +" --strip-unneeded-symbols \n" +" \t\t\t\t\t\t\t« --strip-unneeded-symbol » cho mọi ký hiệu\n" +"\t\t\t\t\t\t\t\tđược liệt kê trong \n" +" --keep-symbols \n" +"\t\t\t\t\t« -K » cho mọi ký hiệu được liệt kê trong \n" +"\t\t\t\t\t\t\t\t (_giữ các ký hiệu_)\n" +" --localize-symbols \n" +"\t\t\t\t\t« -L » cho mọi ký hiệu được liệt kê trong \n" +"\t\t\t\t\t\t\t\t (_địa phương hóa các ký hiệu_)\n" +" --keep-global-symbols \n" +"\t\t\t\t\t« -G » cho mọi ký hiệu được liệt kê trong \n" +"\t\t\t\t\t\t\t\t (_giữ các ký hiệu toàn cục_)\n" +" --weaken-symbols \n" +"\t\t\t\t\t« -W » cho mọi ký hiệu được liệt kê trong \n" +"\t\t\t\t\t\t\t\t (_làm yếu các ký hiệu_)\n" +" --alt-machine-code Dùng _mã máy xen kẽ_ cho kết xuất\n" +" --writable-text \t\tĐánh dấu _văn bản_ xuất _có khả năng ghi_\n" +" --readonly-text \tLàm cho vân bản xuất được bảo vậ chống ghi\n" +"\t\t\t\t\t\t\t\t (_văn bản chỉ có khả năng đọc_)\n" +" --pure\n" +"\t\t\tĐánh dấu tập tin xuất sẽ có trang được sắp xếp theo yêu cầu\n" +"\t\t\t\t\t\t\t\t (_tinh khiết_)\n" +" --impure \t\tĐánh dấu tập tin xuất _không tinh khiết_\n" +" --prefix-symbols \n" +"\t\tThêm vào đầu cá»§a mọi tên ký hiệu (_tiền tố các ký hiệu_)\n" +" --prefix-sections \n" +"\t\tThêm vào đầu cá»§a mọi tên phần (_tiền tố các phần_)\n" +" --prefix-alloc-sections \n" +"\t\tThêm vào đầu cá»§a mọi tên phần có thể cấp phát\n" +"\t\t\t\t\t\t\t\t(_tiền tố các phần có thể cấp phát_)\n" +" -v --verbose \t\tLiệt kê mọi tập tin đối tượng đã được sá»­a đổi\n" +"\t\t\t\t\t\t\t\t (_chi tiết_)\n" +" @ \t\t\t\t\t Đọc các tùy chọn từ tập tin đó\n" +" -V --version Hiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" +" -h --help \t\t\tHiển thị _trợ giúp_ này\n" +" --info \t\tLiệt kê các dạng thức và kiến trúc được hỗ trợ\n" +"\t\t\t\t\t\t\t\t (_thông tin_)\n" -#: readelf.c:2992 +#: objcopy.c:493 #, c-format -msgid "ELF Header:\n" -msgstr "Dòng đầu ELF:\n" +msgid "Usage: %s in-file(s)\n" +msgstr "Cách sá»­ dụng: %s tập_tin_nhập...\n" -#: readelf.c:2993 +#: objcopy.c:494 #, c-format -msgid " Magic: " -msgstr " Ma thuật: " +msgid " Removes symbols and sections from files\n" +msgstr " Gỡ bỏ ký hiệu và phần ra tập tin\n" -#: readelf.c:2997 +#: objcopy.c:496 #, c-format -msgid " Class: %s\n" -msgstr " Class: %s\n" +msgid "" +" -I --input-target= Assume input file is in format \n" +" -O --output-target= Create an output file in format \n" +" -F --target= Set both input and output format to \n" +" -p --preserve-dates Copy modified/access timestamps to the output\n" +" -R --remove-section= Remove section from the output\n" +" -s --strip-all Remove all symbol and relocation information\n" +" -g -S -d --strip-debug Remove all debugging symbols & sections\n" +" --strip-unneeded Remove all symbols not needed by relocations\n" +" --only-keep-debug Strip everything but the debug information\n" +" -N --strip-symbol= Do not copy symbol \n" +" -K --keep-symbol= Do not strip symbol \n" +" -w --wildcard Permit wildcard in symbol comparison\n" +" -x --discard-all Remove all non-global symbols\n" +" -X --discard-locals Remove any compiler-generated symbols\n" +" -v --verbose List all object files modified\n" +" -V --version Display this program's version number\n" +" -h --help Display this output\n" +" --info List object formats & architectures supported\n" +" -o Place stripped output into \n" +msgstr "" +" -I --input-target= Giả sá»­ tập tin nhập có dạng thức \n" +"\t\t(đích nhập)\n" +" -O --output-target= Tạo một tập tin xuất có dạng thức \n" +"\t\t(đích xuất)\n" +" -F --target= Đặt dạng thức cả nhập lẫn xuất đều thành \n" +"\t\t(đích)\n" +" -p --preserve-dates\n" +"\t\tSao chép các nhãn thời gian truy cập/đã sá»­a đổi vào kết xuất\n" +"\t\t(bảo tồn các ngày)\n" +" -R --remove-section= \t_Gỡ bỏ phần_ ra dữ liệu xuất\n" +" -s --strip-all \t\tGỡ bỏ mọi thông tin kiểu ký hiệu và định vị lại\n" +"\t\t(tước hết)\n" +" -g -S -d --strip-debug \tGỡ bỏ mọi ký hiệu và phần kiểu gỡ lỗi\n" +"\t\t(tước gỡ lỗi)\n" +" --strip-unneeded Gỡ bỏ mọi ký hiệu không cần thiết khi định vị lại\n" +"\t\t(tước không cần thiết)\n" +" --only-keep-debug \tTước hết, trừ thông tin gỡ lỗi\n" +"\t\t(chỉ giữ gỡ lỗi)\n" +" -N --strip-symbol= \tĐừng sao chép ký hiệu \n" +"\t\t(tước ký hiệu)\n" +" -K --keep-symbol= \tSao chép chỉ ký hiệu \n" +"\t\t(giữ ký hiệu)\n" +" -w --wildcard Cho phép _ký tá»± đại diện_ trong chuỗi so sánh ký hiệu\n" +" -x --discard-all \t\tGỡ bỏ mọi ký hiệu không toàn cục\n" +"\t\t(há»§y hết)\n" +" -X --discard-locals \tGỡ bo ký hiệu nào do bộ biên dịch tạo ra\n" +"\t\t(há»§y các điều cục bộ)\n" +" -v --verbose \t\tLiệt kê mọi tập tin đối tượng đã sá»­a đổi\n" +"\t\t(chi tiết)\n" +" -V --version Hiển thị số thứ tá»± _phiên bản_ cá»§a chương trình này\n" +" -h --help \t\tHiển thị _trợ giúp_ này\n" +" --info Liệt kê các dạng thức đối tượng và kiến trúc được hỗ trợ\n" +"\t\t(thông tin) -o \tĐể kết _xuất_ đã tướng vào \n" +" @ \t\t\t\t\t Để dữ liệu xuất đã gỡ bỏ vào tập tin đó\n" -#: readelf.c:2999 +#: objcopy.c:568 #, c-format -msgid " Data: %s\n" -msgstr " Data: %s\n" +msgid "unrecognized section flag `%s'" +msgstr "không nhận ra cờ phần « %s »" -#: readelf.c:3001 +#: objcopy.c:569 #, c-format -msgid " Version: %d %s\n" -msgstr " Version: %d %s\n" +msgid "supported flags: %s" +msgstr "các cờ đã hỗ trợ : %s" -#: readelf.c:3008 +#: objcopy.c:646 #, c-format -msgid " OS/ABI: %s\n" -msgstr " OS/ABI: %s\n" +msgid "cannot open '%s': %s" +msgstr "không thể mở « %s »: %s" -#: readelf.c:3010 +#: objcopy.c:649 objcopy.c:2722 #, c-format -msgid " ABI Version: %d\n" -msgstr " Phiên bản ABI: %d\n" +msgid "%s: fread failed" +msgstr "%s: việc fread (đọc f) bị lỗi" -#: readelf.c:3012 +#: objcopy.c:722 #, c-format -msgid " Type: %s\n" -msgstr " Type: %s\n" +msgid "%s:%d: Ignoring rubbish found on this line" +msgstr "%s:%d: Đang bỏ qua rác được gặp trên dòng này" -#: readelf.c:3014 +#: objcopy.c:996 #, c-format -msgid " Machine: %s\n" -msgstr " Machine: %s\n" +msgid "%s: Multiple redefinition of symbol \"%s\"" +msgstr "%s: Ký hiệu « %s » đã được định nghÄ©a lại nhiều lần" -#: readelf.c:3016 +#: objcopy.c:1000 #, c-format -msgid " Version: 0x%lx\n" -msgstr " Version: 0x%lx\n" +msgid "%s: Symbol \"%s\" is target of more than one redefinition" +msgstr "%s: Ký hiệu « %s » là đích cá»§a nhiều lời định nghÄ©a lại" -#: readelf.c:3019 +#: objcopy.c:1028 #, c-format -msgid " Entry point address: " -msgstr " Địa chỉ điểm vào : " +msgid "couldn't open symbol redefinition file %s (error: %s)" +msgstr "không thể mở tập tin định nghÄ©a lại ký hiệu %s (lỗi: %s)" -#: readelf.c:3021 +#: objcopy.c:1106 #, c-format -msgid "" -"\n" -" Start of program headers: " -msgstr "" -"\n" -" Điểm đầu các dòng đầu chương trình: " +msgid "%s:%d: garbage found at end of line" +msgstr "%s:%d: gặp rác tại kết thúc dòng" -#: readelf.c:3023 +#: objcopy.c:1109 #, c-format -msgid "" -" (bytes into file)\n" -" Start of section headers: " -msgstr "" -" (byte vào tập tin)\n" -" Đầu các dòng đầu phần: " +msgid "%s:%d: missing new symbol name" +msgstr "%s:%d: thiếu tên ký hiệu mới" -#: readelf.c:3025 +#: objcopy.c:1119 #, c-format -msgid " (bytes into file)\n" -msgstr " (byte vào tập tin)\n" +msgid "%s:%d: premature end of file" +msgstr "%s:%d: gặp kết thúc tập tin quá sớm" -#: readelf.c:3027 +#: objcopy.c:1145 #, c-format -msgid " Flags: 0x%lx%s\n" -msgstr " Flags: 0x%lx%s\n" +msgid "stat returns negative size for `%s'" +msgstr "việc stat (lấy các thông tin) trả gởi kích cỡ âm cho « %s »" -#: readelf.c:3030 +#: objcopy.c:1157 #, c-format -msgid " Size of this header: %ld (bytes)\n" -msgstr " Cỡ phần này: %ld (byte)\n" +msgid "copy from `%s' [unknown] to `%s' [unknown]\n" +msgstr "chép từ « %s » [không rõ] sang « %s » [không rõ]\n" -#: readelf.c:3032 -#, c-format -msgid " Size of program headers: %ld (bytes)\n" -msgstr " Cỡ các dòng đầu chương trình: %ld (byte)\n" +#: objcopy.c:1212 +msgid "Unable to change endianness of input file(s)" +msgstr "Không thể thay đổi tính trạng cuối (endian) cá»§a (các) tập tin nhập" -#: readelf.c:3034 +#: objcopy.c:1221 #, c-format -msgid " Number of program headers: %ld\n" -msgstr " Số dòng đầu chương trình: %ld\n" +msgid "copy from `%s' [%s] to `%s' [%s]\n" +msgstr "chép từ « %s » [%s] sang « %s » [%s]\n" -#: readelf.c:3036 +#: objcopy.c:1258 objcopy.c:1715 #, c-format -msgid " Size of section headers: %ld (bytes)\n" -msgstr " Cỡ các dòng đầu phần: %ld (byte)\n" +msgid "Unable to recognise the format of the input file `%s'" +msgstr "Không thể nhận diện dạng thức cá»§a tập tin nhập « %s »" -#: readelf.c:3038 +#: objcopy.c:1261 #, c-format -msgid " Number of section headers: %ld" -msgstr " Số dòng đầu phần: %ld" +msgid "Warning: Output file cannot represent architecture `%s'" +msgstr "Cảnh báo : tập tin xuất không thể tiêu biểu kiến trúc « %s »" -#: readelf.c:3043 +#: objcopy.c:1305 #, c-format -msgid " Section header string table index: %ld" -msgstr " Chỉ mục bảng chuỗi dòng đầu phần: %ld" - -#: readelf.c:3074 readelf.c:3107 -msgid "program headers" -msgstr "các dòng đầu chương trình" - -#: readelf.c:3145 readelf.c:3446 readelf.c:3487 readelf.c:3546 readelf.c:3609 -#: readelf.c:3993 readelf.c:4017 readelf.c:5247 readelf.c:5291 readelf.c:5489 -#: readelf.c:6450 readelf.c:6464 readelf.c:11493 readelf.c:11912 -#: readelf.c:11979 -msgid "Out of memory\n" -msgstr "Hết bộ nhớ\n" +msgid "can't create section `%s': %s" +msgstr "không thể tạo phần « %s »: %s" -#: readelf.c:3172 -#, c-format -msgid "" -"\n" -"There are no program headers in this file.\n" -msgstr "" -"\n" -"Không có dòng đầu chương trình nào trong tập tin này.\n" +#: objcopy.c:1356 +msgid "there are no sections to be copied!" +msgstr "• Không có phần cần sao chép. •" -#: readelf.c:3178 +#: objcopy.c:1402 #, c-format -msgid "" -"\n" -"Elf file type is %s\n" -msgstr "" -"\n" -"Kiểu tập tin Elf là %s\n" +msgid "Can't fill gap after %s: %s" +msgstr "Không thể điền vào khe sau : %s: %s" -#: readelf.c:3179 +#: objcopy.c:1427 #, c-format -msgid "Entry point " -msgstr "Điểm vào" +msgid "Can't add padding to %s: %s" +msgstr "Không thể thêm đệm vào %s: %s" -#: readelf.c:3181 +#: objcopy.c:1594 #, c-format -msgid "" -"\n" -"There are %d program headers, starting at offset " -msgstr "" -"\n" -"Có %d dòng đầu chương trình, bắt đầu tại hiệu số" +msgid "%s: error copying private BFD data: %s" +msgstr "%s: gặp lỗi khi sao chép dữ liệu BFD riêng : %s" -#: readelf.c:3193 readelf.c:3195 -#, c-format -msgid "" -"\n" -"Program Headers:\n" -msgstr "" -"\n" -"Dòng đầu chương trình:\n" +#: objcopy.c:1605 +msgid "unknown alternate machine code, ignored" +msgstr "không biết mã máy xen kẽ nên bỏ qua nó" -#: readelf.c:3199 +#: objcopy.c:1635 objcopy.c:1665 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Kiểu HIệu ĐChỉẢo ĐChỉVật CỡTập CỡNhớ Cờ Cạnh lề\n" +msgid "cannot mkdir %s for archive copying (error: %s)" +msgstr "không thể mkdir (tạo thư mục) %s để sao chép kho (lỗi: %s)" -#: readelf.c:3202 +#: objcopy.c:1787 #, c-format -msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" -msgstr " Kiểu HIệu Địa Chỉ Ảo Địa Chỉ Vật lý CỡTập CỡNhớ Cờ Cạnh lề\n" +msgid "error: the input file '%s' is empty" +msgstr "lỗi : tập tin nhập « %s » là rỗng" -#: readelf.c:3206 +#: objcopy.c:1889 #, c-format -msgid " Type Offset VirtAddr PhysAddr\n" -msgstr " Kiểu HIệu Địa Chỉ Ảo Địa Chỉ Vật lý\n" +msgid "Multiple renames of section %s" +msgstr "Đã thay đổi tên phần %s nhiều lần" + +#: objcopy.c:1940 +msgid "private header data" +msgstr "dữ liệu dòng đầu riêng" -#: readelf.c:3208 +#: objcopy.c:1948 #, c-format -msgid " FileSiz MemSiz Flags Align\n" -msgstr " FileSiz MemSiz Flags Align\n" +msgid "%s: error in %s: %s" +msgstr "%s: lỗi trong %s: %s" -#: readelf.c:3301 -msgid "more than one dynamic segment\n" -msgstr "hÆ¡n một phân đoạn động\n" +#: objcopy.c:2007 +msgid "making" +msgstr "làm" -#: readelf.c:3312 -msgid "no .dynamic section in the dynamic segment" -msgstr "không có phân đoạn « .dynamic » (động) trong phân đoạn động" +#: objcopy.c:2022 +msgid "size" +msgstr "cỡ" -#: readelf.c:3321 -msgid "the .dynamic section is not contained within the dynamic segment" -msgstr "phần « .dynamic » (động) không có được chứa ở trong phân đoạn động" +#: objcopy.c:2036 +msgid "vma" +msgstr "vma" -#: readelf.c:3323 -msgid "the .dynamic section is not the first section in the dynamic segment." -msgstr "phần « .dynamic » (động) không phải là phần thứ nhất trong phân đoạn động." +#: objcopy.c:2061 +msgid "alignment" +msgstr "canh lề" -#: readelf.c:3337 -msgid "Unable to find program interpreter name\n" -msgstr "Không tìm thấy tên bộ giải dịch chương trình\n" +#: objcopy.c:2083 +msgid "private data" +msgstr "dữ liệu riêng" -#: readelf.c:3344 +#: objcopy.c:2091 #, c-format -msgid "" -"\n" -" [Requesting program interpreter: %s]" -msgstr "" -"\n" -" [Đang yêu cầu bộ giải dịch chương trình: %s]" +msgid "%s: section `%s': error in %s: %s" +msgstr "%s: phần « %s »: lỗi trong %s: %s" -#: readelf.c:3356 +#: objcopy.c:2363 #, c-format -msgid "" -"\n" -" Section to Segment mapping:\n" -msgstr "" -"\n" -" Ánh xạ Phần đến Phân đoạn:\n" +msgid "%s: can't create debugging section: %s" +msgstr "%s: không thể tạo phần gỡ lỗi: %s" -#: readelf.c:3357 +#: objcopy.c:2377 #, c-format -msgid " Segment Sections...\n" -msgstr " Các phần phân đoạn...\n" +msgid "%s: can't set debugging section contents: %s" +msgstr "%s: không thể đặt nội dung phần gỡ lỗi: %s" -#: readelf.c:3408 -msgid "Cannot interpret virtual addresses without program headers.\n" -msgstr "Không thể giải dịch địa chỉ ảo khi không có dòng đầu chương trình.\n" +#: objcopy.c:2386 +#, c-format +msgid "%s: don't know how to write debugging information for %s" +msgstr "%s: không biết cách ghi thông tin gỡ lỗi cho %s" + +#: objcopy.c:2561 +msgid "byte number must be non-negative" +msgstr "số byte phải là không âm" + +#: objcopy.c:2571 +msgid "interleave must be positive" +msgstr "chen vào phải là dương" -#: readelf.c:3424 +#: objcopy.c:2591 objcopy.c:2599 #, c-format -msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" -msgstr "Địa chỉ ảo 0x%lx không được định vị trong phân đoạn kiểu « PT_LOAD » nào.\n" +msgid "%s both copied and removed" +msgstr "%s cả được sao chép lẫn bị gỡ bỏ đều" -#: readelf.c:3438 readelf.c:3479 -msgid "section headers" -msgstr "dòng đầu phần" +#: objcopy.c:2696 objcopy.c:2767 objcopy.c:2867 objcopy.c:2898 objcopy.c:2922 +#: objcopy.c:2926 objcopy.c:2946 +#, c-format +msgid "bad format for %s" +msgstr "dạng thức sai cho %s" -#: readelf.c:3523 readelf.c:3586 -msgid "symbols" -msgstr "ký hiệu" +#: objcopy.c:2717 +#, c-format +msgid "cannot open: %s: %s" +msgstr "không thể mở : %s: %s" -#: readelf.c:3533 readelf.c:3596 -msgid "symtab shndx" -msgstr "symtab shndx" +#: objcopy.c:2836 +#, c-format +msgid "Warning: truncating gap-fill from 0x%s to 0x%x" +msgstr "Cảnh báo : đang cắt xén điền-khe từ 0x%s thành 0x%x" + +#: objcopy.c:3000 +msgid "alternate machine code index must be positive" +msgstr "chỉ mục mã máy xen kẽ phải là dương" + +#: objcopy.c:3058 +msgid "byte number must be less than interleave" +msgstr "số byte phải là ít hÆ¡n chen vào" -#: readelf.c:3697 readelf.c:3977 +#: objcopy.c:3088 #, c-format -msgid "" -"\n" -"There are no sections in this file.\n" -msgstr "" -"\n" -"Không có phần nào trong tập tin này.\n" +msgid "architecture %s unknown" +msgstr "không biết kiến trúc %s" + +#: objcopy.c:3092 +msgid "Warning: input target 'binary' required for binary architecture parameter." +msgstr "Cảnh báo : đích nhập « binary » (nhị phân) cần thiết cho tham số kiến trúc nhị phân." -#: readelf.c:3703 +#: objcopy.c:3093 #, c-format -msgid "There are %d section headers, starting at offset 0x%lx:\n" -msgstr "Có %d dòng đầu phần, bắt đầu tại hiệu số 0x%lx:\n" +msgid " Argument %s ignored" +msgstr " Đối số %s bị bỏ qua" -#: readelf.c:3720 readelf.c:4079 readelf.c:4290 readelf.c:4591 readelf.c:5011 -#: readelf.c:6618 -msgid "string table" -msgstr "bảng chuỗi" +#: objcopy.c:3099 +#, c-format +msgid "warning: could not locate '%s'. System error message: %s" +msgstr "cảnh báo : không thể định vị « %s ». Thông điệp lỗi hệ thống: %s" -#: readelf.c:3765 -msgid "File contains multiple dynamic symbol tables\n" -msgstr "Tập tin chứa nhiều bảng ký hiệu động\n" +#: objcopy.c:3141 objcopy.c:3155 +#, c-format +msgid "%s %s%c0x%s never used" +msgstr "%s %s%c0x%s chưa bao giờ dùng" -# Type: text -# Description -#: readelf.c:3777 -msgid "File contains multiple dynamic string tables\n" -msgstr "Tập tin chứa nhiều bảng chuỗi động\n" +#: objdump.c:178 +#, c-format +msgid "Usage: %s \n" +msgstr "Cách sá»­ dụng: %s \n" -#: readelf.c:3782 -msgid "dynamic strings" -msgstr "chuỗi động" +#: objdump.c:179 +#, c-format +msgid " Display information from object .\n" +msgstr " Hiển thị thông tin từ đối tượng.\n" -#: readelf.c:3789 -msgid "File contains multiple symtab shndx tables\n" -msgstr "Tập tin chứa nhiều bảng symtab shndx\n" +#: objdump.c:180 +#, c-format +msgid " At least one of the following switches must be given:\n" +msgstr " Phải đưa ra ít nhất một cá»§a những cái chuyển theo sau :\n" + +#: objdump.c:181 +#, c-format +msgid "" +" -a, --archive-headers Display archive header information\n" +" -f, --file-headers Display the contents of the overall file header\n" +" -p, --private-headers Display object format specific file header contents\n" +" -h, --[section-]headers Display the contents of the section headers\n" +" -x, --all-headers Display the contents of all headers\n" +" -d, --disassemble Display assembler contents of executable sections\n" +" -D, --disassemble-all Display assembler contents of all sections\n" +" -S, --source Intermix source code with disassembly\n" +" -s, --full-contents Display the full contents of all sections requested\n" +" -g, --debugging Display debug information in object file\n" +" -e, --debugging-tags Display debug information using ctags style\n" +" -G, --stabs Display (in raw form) any STABS info in the file\n" +" -W, --dwarf Display DWARF info in the file\n" +" -t, --syms Display the contents of the symbol table(s)\n" +" -T, --dynamic-syms Display the contents of the dynamic symbol table\n" +" -r, --reloc Display the relocation entries in the file\n" +" -R, --dynamic-reloc Display the dynamic relocation entries in the file\n" +" @ Read options from \n" +" -v, --version Display this program's version number\n" +" -i, --info List object formats and architectures supported\n" +" -H, --help Display this information\n" +msgstr "" +" -a, --archive-headers \t\tHiển thị thông tin về _các phần đầu kho_\n" +" -f, --file-headers Hiển thị nội dung cá»§a _toàn bộ phần đầu tập tin_\n" +" -p, --private-headers\n" +"\t\tHiển thị nội dung cá»§a phần đầu tập tin đặc trưng cho đối tượng\n" +"\t\t(các phần đầu riêng)\n" +" -h, --[section-]headers Hiển thị nội dung cá»§a _các phần đầu cá»§a phần_\n" +" -x, --all-headers \t\t Hiển thị nội dung cá»§a _mọi phần đầu_\n" +" -d, --disassemble\n" +"\t\tHiển thị nội dung cá»§a các phần có khả năng thá»±c hiện\n" +"\t\t(rã)\n" +" -D, --disassemble-all \t Hiển thị nội dung dịch mã số cá»§a mọi phần\n" +"\t\t(rã hết)\n" +" -S, --source \t\t\t\t Trộn lẫn mã _nguồn_ với việc rã\n" +" -s, --full-contents Hiển thị _nội dung đầy đủ_ cá»§a mọi phần đã yêu cầu\n" +" -g, --debugging Hiển thị thông tin _gỡ lỗi_ trong tập tin đối tượng\n" +" -e, --debugging-tags Hiển thị thông tin gỡ lỗi, dùng kiểu dáng ctags\n" +"\t\t(các thẻ gỡ lỗi)\n" +" -G, --stabs Hiển thị (dạng thô) thông tin STABS nào trong thông tin\n" +" -t, --syms \t\t\t Hiển thị nội dung cá»§a các bảng ký hiệu\n" +"\t\t(các ký hiệu [viết tắt])\n" +" -T, --dynamic-syms \t\tHiển thị nội dung cá»§a bảng ký hiệu động\n" +"\t\t(các ký hiệu động [viết tắt])\n" +" -r, --reloc \t\tHiển thị các mục nhập định vị lại trong tập tin\n" +"\t\t(định vị lại [viết tắt])\n" +" -R, --dynamic-reloc\n" +"\t\t\t\t Hiển thị các mục nhập định vị lại động trong tập tin\n" +"\t\t(định vị lại động [viết tắt])\n" +" @ \t\t\t\t\t Đọc các tùy chọn từ tập tin đó\n" +" -v, --version Hiển thị số thá»± tá»± _phiên bản_ cá»§a chương trình này\n" +" -i, --info Liệt kê các dạng thức đối tượng và kiến trúc được hỗ trợ\n" +"\t\t(thông tin [viết tắt])\n" +" -H, --help \tHiển thị _trợ giúp_ này\n" -#: readelf.c:3828 +#: objdump.c:206 #, c-format msgid "" "\n" -"Section Headers:\n" +" The following switches are optional:\n" msgstr "" "\n" -"Dòng đầu phần:\n" +" Những cái chuyển theo đây là tùy chọn:\n" -#: readelf.c:3830 +#: objdump.c:207 #, c-format msgid "" +" -b, --target=BFDNAME Specify the target object format as BFDNAME\n" +" -m, --architecture=MACHINE Specify the target architecture as MACHINE\n" +" -j, --section=NAME Only display information for section NAME\n" +" -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n" +" -EB --endian=big Assume big endian format when disassembling\n" +" -EL --endian=little Assume little endian format when disassembling\n" +" --file-start-context Include context from start of file (with -S)\n" +" -I, --include=DIR Add DIR to search list for source files\n" +" -l, --line-numbers Include line numbers and filenames in output\n" +" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n" +" The STYLE, if specified, can be `auto', `gnu',\n" +" `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n" +" or `gnat'\n" +" -w, --wide Format output for more than 80 columns\n" +" -z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling\n" +" --start-address=ADDR Only process data whose address is >= ADDR\n" +" --stop-address=ADDR Only process data whose address is <= ADDR\n" +" --prefix-addresses Print complete address alongside disassembly\n" +" --[no-]show-raw-insn Display hex alongside symbolic disassembly\n" +" --adjust-vma=OFFSET Add OFFSET to all displayed section addresses\n" +" --special-syms Include special symbols in symbol dumps\n" "\n" -"Section Header:\n" msgstr "" +" -b, --target=TÊN_BFD \tGhi rõ dạng thức đối tượng _đích_ là TÊN_BFD\n" +" -m, --architecture=MÁY \t\t Ghi rõ _kiến trúc_ đích là MÁY\n" +" -j, --section=TÊN \t\t Hiển thị thông tin chỉ cho _phần_ TÊN\n" +" -M, --disassembler-options=TÙY_CHỌN\n" +"\t\tGởi chuỗi TÙY_CHỌN qua cho _bộ rã_\n" +"\t\t(các tùy chọn bộ rã)\n" +" -EB --endian=big\n" +"\t\tGiả sá»­ dạng thức tính trạng cuối lớn (big-endian) khi rã\n" +" -EL --endian=little\n" +"\t\tGiả sá»­ dạng thức tính trạng cuối nhỏ (little-endian) khi rã\n" +" --file-start-context \tGồm _ngữ cảnh_ từ _đầu tập tin_ (bằng « -S »)\n" +" -I, --include=THƯ_MỤC\n" +"\t\tThêm THƯ_MỤC vào danh sách tìm kiếm tập tin nguồn\n" +"\t\t(bao gồm)\n" +" -l, --line-numbers\n" +"\t\tGồm các _số thứ tá»± dòng_ và tên tập tin trong kết xuất\n" +" -C, --demangle[=KIỂU_DÁNG] giải mã các tên ký hiệu đã rối/xá»­ lý\n" +"\t\t(tháo gỡ)\n" +"\t\tKIỂU_DÁNG, nếu đã ghi rõ, có thể là:\n" +"\t\t • auto\t\ttá»± động\n" +"\t\t • gnu\n" +" \t • lucid\t\trõ ràng\n" +"\t\t • arm\n" +"\t\t • hp\n" +"\t\t • edg\n" +"\t\t • gnu-v3\n" +" \t\t • java\n" +" \t • gnat\n" +" -w, --wide \t\tĐịnh dạng dữ liệu xuất chiếm hÆ¡n 80 cột\n" +"\t\t(rộng)\n" +" -z, --disassemble-zeroes \t\tĐừng nhảy qua khối ố không khi rã\n" +"\t\t(rã các số không)\n" +" --start-address=ĐỊA_CHỈ Xá»­ lý chỉ dữ liệu có địa chỉ ≥ ĐỊA_CHỈ\n" +" --stop-address=ĐỊA_CHỈ Xá»­ lý chỉ dữ liệu có địa chỉ ≤ ĐỊA_CHỈ\n" +" --prefix-addresses \t\tIn ra địa chỉ hoàn toàn ở b việc rã\n" +"\t\t(thêm vào đầu các địa chỉ)\n" +" --[no-]show-raw-insn\n" +"\t\tHiển thị thập lục phân ở bên việc rã kiểu ký hiệu\n" +"hông] hiển thị câu lệnh thô)\n" +" --adjust-vma=HIỆU_SỐ\n" +"\t\tThêm HIỆU_SỐ vào mọi địa chỉ phần đã hiển thị\n" +"\t\t(điều chỉnh vma) --special-syms Gồm _các ký hiệu đặc biệt_ trong việc đổ ký hiệu\n" "\n" -"Dòng đầu phần:\n" - -#: readelf.c:3834 -#, c-format -msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" - -#: readelf.c:3837 -#, c-format -msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" -msgstr " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" - -#: readelf.c:3840 -#, c-format -msgid " [Nr] Name Type Address Offset\n" -msgstr " [Nr] Name Type Address Offset\n" -#: readelf.c:3841 +#: objdump.c:389 #, c-format -msgid " Size EntSize Flags Link Info Align\n" -msgstr " Size EntSize Flags Link Info Align\n" +msgid "Sections:\n" +msgstr "Phần:\n" -#: readelf.c:3936 +#: objdump.c:392 objdump.c:396 #, c-format -msgid "" -"Key to Flags:\n" -" W (write), A (alloc), X (execute), M (merge), S (strings)\n" -" I (info), L (link order), G (group), x (unknown)\n" -" O (extra OS processing required) o (OS specific), p (processor specific)\n" -msgstr "" -"Cờ ey \tW\tghi\n" -" \tA\tcấp phát\n" -"\tX\tthá»±c hiện\n" -"\tM\ttrộn\n" -"\tS\tcác chuỗi\n" -"\tI\tthông tin\n" -"\tL\tthứ tá»± liên kết\n" -"\tG\tnhóm\n" -"\tO\tcần thiết xá»­ lý hệ điều hành thêm\n" -"\to \tđặc trưng cho hệ điều hành\n" -"\ts\tđặc trưng cho bộ xá»­ lý\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Idx Name Size VMA LMA File off Algn" -#: readelf.c:3954 +#: objdump.c:398 #, c-format -msgid "[: 0x%x]" -msgstr "[: 0x%x]" - -#: readelf.c:3984 -msgid "Section headers are not available!\n" -msgstr "Dòng đầu phần không sẵn sàng.\n" +msgid "Idx Name Size VMA LMA File off Algn" +msgstr "Idx Name Size VMA LMA File off Algn" -#: readelf.c:4008 +#: objdump.c:402 #, c-format -msgid "" -"\n" -"There are no section groups in this file.\n" -msgstr "" -"\n" -"Không có nhóm phần nào trong tập tin này.\n" +msgid " Flags" +msgstr " Cờ" -#: readelf.c:4042 +#: objdump.c:404 #, c-format -msgid "Bad sh_link in group section `%s'\n" -msgstr "Có liên kết « sh_link » sai trong phần nhóm « %s »\n" +msgid " Pg" +msgstr " Tr" -#: readelf.c:4061 +#: objdump.c:447 #, c-format -msgid "Bad sh_info in group section `%s'\n" -msgstr "Có thông tin « sh_info » sai trong phần nhóm « %s »\n" - -#: readelf.c:4085 readelf.c:6947 -msgid "section data" -msgstr "dữ liệu phần" +msgid "%s: not a dynamic object" +msgstr "%s không phải là môt đối tượng động" -#: readelf.c:4097 +#: objdump.c:1735 #, c-format -msgid " [Index] Name\n" -msgstr " [Chỉ mục] Tên\n" +msgid "Disassembly of section %s:\n" +msgstr "Việc rã phần %s:\n" -#: readelf.c:4114 +#: objdump.c:1897 #, c-format -msgid "section [%5u] already in group section [%5u]\n" -msgstr "phần [%5u] đã có trong phần nhóm [%5u]\n" +msgid "Can't use supplied machine %s" +msgstr "Không thể sá»­ dụng máy đã cung cấp %s" -#: readelf.c:4127 +#: objdump.c:1916 #, c-format -msgid "section 0 in group section [%5u]\n" -msgstr "phần 0 trong phần nhóm [%5u]\n" +msgid "Can't disassemble for architecture %s\n" +msgstr "Không thể rã cho kiến trúc %s\n" -#: readelf.c:4224 +#: objdump.c:2006 #, c-format msgid "" "\n" -"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +"Can't get contents for section '%s'.\n" msgstr "" "\n" -"phần định vị lại « %s » tại hiệu số 0x%lx chứa %ld byte:\n" +"Không thể lấy nội dung cho phần « %s ».\n" -#: readelf.c:4236 +#: objdump.c:2143 #, c-format msgid "" +"No %s section present\n" "\n" -"There are no dynamic relocations in this file.\n" msgstr "" +"Không có phần %s ở\n" "\n" -"Không có việc định vị lại động nào trong tập tin này.\n" -#: readelf.c:4260 +#: objdump.c:2152 +#, c-format +msgid "Reading %s section of %s failed: %s" +msgstr "Việc đọc phần %s cá»§a %s bị lỗi: %s" + +#: objdump.c:2196 #, c-format msgid "" +"Contents of %s section:\n" "\n" -"Relocation section " msgstr "" +"Nội dung phần %s\n" "\n" -"Phần định vị lại" -#: readelf.c:4265 readelf.c:4666 readelf.c:4680 readelf.c:5025 +#: objdump.c:2323 #, c-format -msgid "'%s'" -msgstr "« %s »" +msgid "architecture: %s, " +msgstr "kiến trúc: %s, " -#: readelf.c:4267 readelf.c:4682 readelf.c:5027 +#: objdump.c:2326 #, c-format -msgid " at offset 0x%lx contains %lu entries:\n" -msgstr " tại hiệu số 0x%lx chứa %lu mục nhập:\n" +msgid "flags 0x%08x:\n" +msgstr "cờ 0x%08x:\n" -#: readelf.c:4308 +#: objdump.c:2340 #, c-format msgid "" "\n" -"There are no relocations in this file.\n" +"start address 0x" msgstr "" "\n" -"Không có việc định vị lại nào trong tập tin này.\n" - -#: readelf.c:4482 readelf.c:4862 -msgid "unwind table" -msgstr "tri ra bảng" +"địa chỉ đầu 0x" -#: readelf.c:4540 readelf.c:4959 +#: objdump.c:2380 #, c-format -msgid "Skipping unexpected relocation type %s\n" -msgstr "Đang nhảy kiểu định vị lại bất ngờ %s\n" +msgid "Contents of section %s:\n" +msgstr "Nội dung phần %s:\n" -#: readelf.c:4598 readelf.c:5018 readelf.c:5069 +#: objdump.c:2505 #, c-format -msgid "" -"\n" -"There are no unwind sections in this file.\n" -msgstr "" -"\n" -"Không có phần tri ra nào trong tập tin này.\n" +msgid "no symbols\n" +msgstr "không có ký hiệu\n" -#: readelf.c:4661 +#: objdump.c:2512 #, c-format -msgid "" -"\n" -"Could not find unwind info section for " -msgstr "" -"\n" -"Không thể tìm thấy phần thông tin tri ra cho " - -#: readelf.c:4673 -msgid "unwind info" -msgstr "thông tin tri ra" +msgid "no information for symbol number %ld\n" +msgstr "không có thông tin cho ký hiệu số %ld\n" -#: readelf.c:4675 readelf.c:5024 +#: objdump.c:2515 #, c-format -msgid "" -"\n" -"Unwind section " -msgstr "" -"\n" -"Phần tri ra " - -#: readelf.c:5228 readelf.c:5272 -msgid "dynamic section" -msgstr "phần động" +msgid "could not determine the type of symbol number %ld\n" +msgstr "không thể quyết định kiểu ký hiệu số %ld\n" -#: readelf.c:5349 +#: objdump.c:2788 #, c-format msgid "" "\n" -"There is no dynamic section in this file.\n" +"%s: file format %s\n" msgstr "" "\n" -"Không có phần động nào trong tập tin này.\n" - -#: readelf.c:5387 -msgid "Unable to seek to end of file!" -msgstr "• Không thể tìm tới kết thúc tập tin. •" - -#: readelf.c:5400 -msgid "Unable to determine the number of symbols to load\n" -msgstr "Không thể quyết định số ký hiệu cần tải\n" - -#: readelf.c:5435 -msgid "Unable to seek to end of file\n" -msgstr "Không thể tìm tới kết thúc tập tin\n" +"%s: dạng thức tập tin %s\n" -#: readelf.c:5442 -msgid "Unable to determine the length of the dynamic string table\n" -msgstr "Không thể quyết định độ dài cá»§a bảng chuỗi động\n" +#: objdump.c:2845 +#, c-format +msgid "%s: printing debugging information failed" +msgstr "%s: việc in ra thông tin gỡ lỗi bị lỗi" -#: readelf.c:5447 -msgid "dynamic string table" -msgstr "bảng chuỗi động" +#: objdump.c:2936 +#, c-format +msgid "In archive %s:\n" +msgstr "Trong kho %s\n" -#: readelf.c:5482 -msgid "symbol information" -msgstr "thông tin ký hiệu" +#: objdump.c:3058 +msgid "unrecognized -E option" +msgstr "không nhận ra tùy chọn « -E »" -#: readelf.c:5507 +#: objdump.c:3069 #, c-format -msgid "" -"\n" -"Dynamic section at offset 0x%lx contains %u entries:\n" -msgstr "" -"\n" -"Phần động tại hiệu số 0x%lx chứa %u mục nhập:\n" +msgid "unrecognized --endian type `%s'" +msgstr "không nhận ra kiểu tính trạng cuối (endian) « %s »" -#: readelf.c:5510 +#: rdcoff.c:196 #, c-format -msgid " Tag Type Name/Value\n" -msgstr " Thẻ Kiểu Tên/Giá trị\n" +msgid "parse_coff_type: Bad type code 0x%x" +msgstr "parse_coff_type: (phân tách kiểu coff) Mã kiểu sai 0x%x" -#: readelf.c:5546 +#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697 #, c-format -msgid "Auxiliary library" -msgstr "Thư viên phụ" +msgid "bfd_coff_get_syment failed: %s" +msgstr "« bfd_coff_get_syment » bị lỗi: %s" -#: readelf.c:5550 +#: rdcoff.c:420 rdcoff.c:717 #, c-format -msgid "Filter library" -msgstr "Thư viên lọc" +msgid "bfd_coff_get_auxent failed: %s" +msgstr "« bfd_coff_get_auxent » bị lỗi: %s" -#: readelf.c:5554 +#: rdcoff.c:784 #, c-format -msgid "Configuration file" -msgstr "Tập tin cấu hình" +msgid "%ld: .bf without preceding function" +msgstr "%ld: « .bf » không có hàm đi trước" -#: readelf.c:5558 +#: rdcoff.c:834 #, c-format -msgid "Dependency audit library" -msgstr "Thư viên kiểm tra cách phụ thuộc" +msgid "%ld: unexpected .ef\n" +msgstr "%ld: « .ef » bất ngờ\n" -#: readelf.c:5562 +#: rddbg.c:85 #, c-format -msgid "Audit library" -msgstr "Thư viên kiểm tra" +msgid "%s: no recognized debugging information" +msgstr "%s: không có thông tin gỡ lỗi đã nhận ra" -#: readelf.c:5580 readelf.c:5608 readelf.c:5636 +#: rddbg.c:394 #, c-format -msgid "Flags:" -msgstr "Cờ :" +msgid "Last stabs entries before error:\n" +msgstr "Những mục nhập stabs cuối cùng trước lỗi:\n" -#: readelf.c:5583 readelf.c:5611 readelf.c:5638 +#: readelf.c:264 #, c-format -msgid " None\n" -msgstr " Không có\n" +msgid "Unable to seek to 0x%lx for %s\n" +msgstr "Không thể nhảy tới 0x%lx tìm %s\n" -#: readelf.c:5759 +#: readelf.c:279 #, c-format -msgid "Shared library: [%s]" -msgstr "Thư viện dùng chung: [%s]" +msgid "Out of memory allocating 0x%lx bytes for %s\n" +msgstr "Hết bộ nhớ khi cấp phát 0x%lx byte cho %s\n" -#: readelf.c:5762 +#: readelf.c:289 #, c-format -msgid " program interpreter" -msgstr " bộ giải dịch chương trình" +msgid "Unable to read in 0x%lx bytes of %s\n" +msgstr "Không thể đọc nhập 0x%lx byte cá»§a %s\n" -#: readelf.c:5766 -#, c-format -msgid "Library soname: [%s]" -msgstr "soname (tên so) thư viên: [%s]" +#: readelf.c:623 +msgid "Don't know about relocations on this machine architecture\n" +msgstr "Không biết về việc định vị lại trên kiến trúc máy này\n" -#: readelf.c:5770 -#, c-format -msgid "Library rpath: [%s]" -msgstr "rpath (đường dẫn r) thư viên: [%s]" +#: readelf.c:643 readelf.c:671 readelf.c:715 readelf.c:743 +msgid "relocs" +msgstr "đ.v. lại" + +#: readelf.c:654 readelf.c:682 readelf.c:726 readelf.c:754 +msgid "out of memory parsing relocs" +msgstr "hết bộ nhớ khi phân tách việc định vị lại" -#: readelf.c:5774 +#: readelf.c:808 #, c-format -msgid "Library runpath: [%s]" -msgstr "runpath (đường dẫn chạy) thư viên: [%s]" +msgid " Offset Info Type Sym. Value Symbol's Name + Addend\n" +msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" -#: readelf.c:5837 +#: readelf.c:810 #, c-format -msgid "Not needed object: [%s]\n" -msgstr "Đối tượng không cần thiết: [%s]\n" +msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" +msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" -#: readelf.c:5951 +#: readelf.c:815 #, c-format -msgid "" -"\n" -"Version definition section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"Phần định nghÄ©a phiên bản « %s » chứa %ld mục nhập:\n" +msgid " Offset Info Type Sym. Value Symbol's Name\n" +msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" -#: readelf.c:5954 +#: readelf.c:817 #, c-format -msgid " Addr: 0x" -msgstr " ĐChỉ: 0x" +msgid " Offset Info Type Sym.Value Sym. Name\n" +msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" -#: readelf.c:5956 readelf.c:6148 +#: readelf.c:825 #, c-format -msgid " Offset: %#08lx Link: %lx (%s)\n" -msgstr " HIệu: %#08lx LKết: %lx (%s)\n" +msgid " Offset Info Type Symbol's Value Symbol's Name + Addend\n" +msgstr " Offset Info Type Symbol's Value Symbol's Name + Addend\n" -#: readelf.c:5961 -msgid "version definition section" -msgstr "phần định nghÄ©a phiên bản" +#: readelf.c:827 +#, c-format +msgid " Offset Info Type Sym. Value Sym. Name + Addend\n" +msgstr " Hiệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu + gì thêm\n" -#: readelf.c:5987 +#: readelf.c:832 #, c-format -msgid " %#06x: Rev: %d Flags: %s" -msgstr " %#06x: Bản: %d Cờ: %s" +msgid " Offset Info Type Symbol's Value Symbol's Name\n" +msgstr " Offset Info Type Symbol's Value Symbol's Name\n" -#: readelf.c:5990 +#: readelf.c:834 #, c-format -msgid " Index: %d Cnt: %d " -msgstr " Chỉ mục: %d Đếm: %d " +msgid " Offset Info Type Sym. Value Sym. Name\n" +msgstr " HIệu Tin Kiểu Giá trị ký hiệu Tên ký hiệu\n" -#: readelf.c:6001 +#: readelf.c:1127 readelf.c:1129 readelf.c:1238 readelf.c:1240 readelf.c:1249 +#: readelf.c:1251 #, c-format -msgid "Name: %s\n" -msgstr "Tên: %s\n" +msgid "unrecognized: %-7lx" +msgstr "không nhận ra: %-7lx" -#: readelf.c:6003 +#: readelf.c:1154 #, c-format -msgid "Name index: %ld\n" -msgstr "Chỉ mục tên: %ld\n" +msgid "" +msgstr "" -#: readelf.c:6018 +#: readelf.c:1210 #, c-format -msgid " %#06x: Parent %d: %s\n" -msgstr " %#06x: Mẹ %d: %s\n" +msgid "" +msgstr "" -#: readelf.c:6021 +#: readelf.c:1212 #, c-format -msgid " %#06x: Parent %d, name index: %ld\n" -msgstr " %#06x: Mẹ %d, chỉ mục tên: %ld\n" +msgid "" +msgstr "" -#: readelf.c:6040 +#: readelf.c:1522 #, c-format -msgid "" -"\n" -"Version needs section '%s' contains %ld entries:\n" -msgstr "" -"\n" -"Phần cần thiết phiên bản « %s » chứa %ld mục nhập:\n" +msgid "Processor Specific: %lx" +msgstr "Đặc trưng cho bộ xá»­ lý: %lx" -#: readelf.c:6043 +#: readelf.c:1543 #, c-format -msgid " Addr: 0x" -msgstr " ĐChỉ: 0x" +msgid "Operating System specific: %lx" +msgstr "Đặc trưng cho Hệ điều hành: %lx" -#: readelf.c:6045 +#: readelf.c:1547 readelf.c:2349 #, c-format -msgid " Offset: %#08lx Link to section: %ld (%s)\n" -msgstr " HIệu: %#08lx Liên kết đến phần: %ld (%s)\n" +msgid ": %lx" +msgstr ": %lx" -#: readelf.c:6050 -msgid "version need section" -msgstr "phần cần phiên bản" +#: readelf.c:1560 +msgid "NONE (None)" +msgstr "KHÔNG CÓ (Không có)" + +#: readelf.c:1561 +msgid "REL (Relocatable file)" +msgstr "REL (Tập tin có thể _định vị lại_)" + +#: readelf.c:1562 +msgid "EXEC (Executable file)" +msgstr "EXEC (Executable file)" + +#: readelf.c:1563 +msgid "DYN (Shared object file)" +msgstr "DYN (Shared object file)" -#: readelf.c:6072 +#: readelf.c:1564 +msgid "CORE (Core file)" +msgstr "CORE (Core file)" + +#: readelf.c:1568 #, c-format -msgid " %#06x: Version: %d" -msgstr " %#06x: PhBản: %d" +msgid "Processor Specific: (%x)" +msgstr "Đặc trưng cho bộ xá»­ lý: (%x)" -#: readelf.c:6075 +#: readelf.c:1570 #, c-format -msgid " File: %s" -msgstr " Tập tin: %s" +msgid "OS Specific: (%x)" +msgstr "Đặc trưng cho HĐH: (%x)" -#: readelf.c:6077 +#: readelf.c:1572 readelf.c:1681 readelf.c:2541 #, c-format -msgid " File: %lx" -msgstr " Tập tin: %lx" +msgid ": %x" +msgstr ": %x" + +#: readelf.c:1584 +msgid "None" +msgstr "Không có" + +#: readelf.c:2186 +msgid "Standalone App" +msgstr "Ứng dụng Độc lập" -#: readelf.c:6079 +#: readelf.c:2189 readelf.c:2948 readelf.c:2964 #, c-format -msgid " Cnt: %d\n" -msgstr " Đếm: %d\n" +msgid "" +msgstr "" -#: readelf.c:6097 +#: readelf.c:2586 #, c-format -msgid " %#06x: Name: %s" -msgstr " %#06x: Tên: %s" +msgid "Usage: readelf elf-file(s)\n" +msgstr "Cách sá»­ dụng: readelf tập_tin_elf...\n" -#: readelf.c:6100 +#: readelf.c:2587 #, c-format -msgid " %#06x: Name index: %lx" -msgstr " %#06x: Chỉ mục tên: %lx" +msgid " Display information about the contents of ELF format files\n" +msgstr " Hiển thị thông tin về nội dung tập tin dạng thức ELF\n" -#: readelf.c:6103 +#: readelf.c:2588 #, c-format -msgid " Flags: %s Version: %d\n" -msgstr " Cờ: %s Phiên bản: %d\n" +msgid "" +" Options are:\n" +" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n" +" -h --file-header Display the ELF file header\n" +" -l --program-headers Display the program headers\n" +" --segments An alias for --program-headers\n" +" -S --section-headers Display the sections' header\n" +" --sections An alias for --section-headers\n" +" -g --section-groups Display the section groups\n" +" -t --section-details Display the section details\n" +" -e --headers Equivalent to: -h -l -S\n" +" -s --syms Display the symbol table\n" +" --symbols An alias for --syms\n" +" -n --notes Display the core notes (if present)\n" +" -r --relocs Display the relocations (if present)\n" +" -u --unwind Display the unwind info (if present)\n" +" -d --dynamic Display the dynamic section (if present)\n" +" -V --version-info Display the version sections (if present)\n" +" -A --arch-specific Display architecture specific information (if any).\n" +" -D --use-dynamic Use the dynamic section info when displaying symbols\n" +" -x --hex-dump= Dump the contents of section \n" +" -w[liaprmfFsoR] or\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +" Display the contents of DWARF2 debug sections\n" +msgstr "" +" Tùy chọn:\n" +" -a --all \t\t\t\t\tBằng: -h -l -S -s -r -d -V -A -I\n" +"\t(hết)\n" +" -h --file-header \t\t\t\tHiển thị _dòng đầu tập tin_ ELF\n" +" -l --program-headers \t\tHiển thị _các dòng đầu chương trình_\n" +" --segments \t\t\tBiệt hiệu cho « --program-headers »\n" +"\t(các phân đoạn)\n" +" -S --section-headers \t\t\tHiển thị dòng đầu cá»§a các phần\n" +"\t(các dòng đầu phần)\n" +" --sections \t\t\tBiệt hiệu cho « --section-headers »\n" +"\t(các phần)\n" +" -g --section-groups \t\t\t Hiển thị _các nhóm phần_\n" +" -t --section-details\t\t\tHiển thị _chi tiết về phần_\n" +" -e --headers \t\t\t\tBằng: -h -l -S\n" +"\t(các dòng đầu)\n" +" -s --syms \t\t\tHiển thị bảng _ký hiệu_\n" +" --symbols \t\t\tBiệt hiệu cho « --syms »\n" +"\t(các ký hiệu [« syms » là viết tắt])\n" +" -n --notes \t\t\tHiển thị _các ghi chú_ lõi (nếu có)\n" +" -r --relocs \t\tHiển thị _các việc định vị lại_ (nếu có)\n" +" -u --unwind \t\tHiển thị thông tin _tri ra_ (nếu có)\n" +" -d --dynamic \t\tHiển thị phần _động_ (nếu có)\n" +" -V --version-info \t\tHiển thị các phần phiên bản (nếu có)\n" +"\t(thông tin phiên bản)\n" +" -A --arch-specific Hiển thị thông tin _đặc trưng cho kiến trúc_ (nếu có)\n" +" -D --use-dynamic _Dùng_ thông tin phần _động_ khi hiển thị ký hiệu\n" +" -x --hex-dump= \t\t\tĐổ nội dung phần \n" +"\t(đổ thập lục)\n" +" -w[liaprmfFsoR] or\n" +" --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n" +"\t[line\t\t\tdòng\n" +"\tinfo\t\t\tthông tin\n" +"\tabbrev.\t\tviết tắt\n" +"\tpubnames\tcác tên công\n" +"\taranges\t\tcác phạm vị a\n" +"\tmacro\t\tbộ lệnh\n" +"\tframes\t\tcác khung\n" +"\tstr\t\t\tchuỗi\n" +"\tloc\t\t\tđịnh vị\n" +"\tRanges\t\tCác phạm vị]\n" +" Hiển thị nội dung các phần gỡ lỗi kiểu DWARF2\n" -#: readelf.c:6139 -msgid "version string table" -msgstr "bảng chuỗi phiên bản" +#: readelf.c:2612 +#, c-format +msgid "" +" -i --instruction-dump=\n" +" Disassemble the contents of section \n" +msgstr "" +" -i --instruction-dump=\t\tTháo ra nội dung phần \n" +"\t(đổ câu lệnh)\n" -#: readelf.c:6143 +#: readelf.c:2616 #, c-format msgid "" -"\n" -"Version symbols section '%s' contains %d entries:\n" +" -I --histogram Display histogram of bucket list lengths\n" +" -W --wide Allow output width to exceed 80 characters\n" +" @ Read options from \n" +" -H --help Display this information\n" +" -v --version Display the version number of readelf\n" msgstr "" -"\n" -"Phần ký hiệu phiên bản « %s » chứa %d mục nhập:\n" +" -I --histogram\n" +"\tHiển thị _biểu đồ tần xuất_ cá»§a các độ dài danh sách xô\n" +" -W --wide Cho phép độ _rộng_ kết xuất vượt qua 80 ký tá»±\n" +" @ \t\tĐọc các tùy chọn từ tập tin đó\n" +" -H --help \tHiển thị _trợ giúp_ này\n" +" -v --version \tHiển thị số thứ tá»± _phiên bản_ cá»§a readelf\n" + +#: readelf.c:2642 readelf.c:9180 +msgid "Out of memory allocating dump request table." +msgstr "Hết bộ nhớ khi cấp phát bảng yêu cầu đổ." -#: readelf.c:6146 +#: readelf.c:2816 readelf.c:2884 #, c-format -msgid " Addr: " -msgstr " ĐChỉ: " +msgid "Unrecognized debug option '%s'\n" +msgstr "Không nhận diện tùy chọn gỡ lỗi « %s »\n" -#: readelf.c:6156 -msgid "version symbol data" -msgstr "dữ liệu ký hiệu phiên bản" +#: readelf.c:2918 +#, c-format +msgid "Invalid option '-%c'\n" +msgstr "Tùy chọn không hợp lệ « -%c »\n" -#: readelf.c:6183 -msgid " 0 (*local*) " -msgstr " 0 (*local*) " +#: readelf.c:2932 +msgid "Nothing to do.\n" +msgstr "Không có gì cần làm.\n" -#: readelf.c:6187 -msgid " 1 (*global*) " -msgstr " 1 (*toàn cụcglobal*) " +#: readelf.c:2944 readelf.c:2960 readelf.c:6169 +msgid "none" +msgstr "không có" -#: readelf.c:6223 readelf.c:6677 -msgid "version need" -msgstr "phiên bản cần" +#: readelf.c:2961 +msgid "2's complement, little endian" +msgstr "phần bù cá»§a 2, tính trạng cuối nhỏ" -#: readelf.c:6233 -msgid "version need aux (2)" -msgstr "phiên bản cần phụ (2)" +#: readelf.c:2962 +msgid "2's complement, big endian" +msgstr "phần bù cá»§a 2, tính trạng cuối lớn" -#: readelf.c:6275 readelf.c:6740 -msgid "version def" -msgstr "phbản đ.nghÄ©a" +#: readelf.c:2980 +msgid "Not an ELF file - it has the wrong magic bytes at the start\n" +msgstr "Không phải là tập tin ELF — có những byte ma thuật không đúng tại đầu nó.\n" -#: readelf.c:6294 readelf.c:6755 -msgid "version def aux" -msgstr "phbản đ.nghÄ©a phụ" +#: readelf.c:2988 +#, c-format +msgid "ELF Header:\n" +msgstr "Dòng đầu ELF:\n" -#: readelf.c:6325 +#: readelf.c:2989 #, c-format -msgid "" -"\n" -"No version information found in this file.\n" -msgstr "" -"\n" -"Không tìm thấy thông tin phiên bản trong tập tin này.\n" +msgid " Magic: " +msgstr " Ma thuật: " -#: readelf.c:6456 -msgid "Unable to read in dynamic data\n" -msgstr "Không thể đọc vào dữ liệu động\n" +#: readelf.c:2993 +#, c-format +msgid " Class: %s\n" +msgstr " Class: %s\n" -#: readelf.c:6509 -msgid "Unable to seek to start of dynamic information" -msgstr "Không thể tìm tới đầu thông tin động" +#: readelf.c:2995 +#, c-format +msgid " Data: %s\n" +msgstr " Data: %s\n" -#: readelf.c:6515 -msgid "Failed to read in number of buckets\n" -msgstr "Việc đọc vào số xô bị lỗi\n" +#: readelf.c:2997 +#, c-format +msgid " Version: %d %s\n" +msgstr " Version: %d %s\n" + +#: readelf.c:3004 +#, c-format +msgid " OS/ABI: %s\n" +msgstr " OS/ABI: %s\n" + +#: readelf.c:3006 +#, c-format +msgid " ABI Version: %d\n" +msgstr " Phiên bản ABI: %d\n" + +#: readelf.c:3008 +#, c-format +msgid " Type: %s\n" +msgstr " Type: %s\n" + +#: readelf.c:3010 +#, c-format +msgid " Machine: %s\n" +msgstr " Machine: %s\n" + +#: readelf.c:3012 +#, c-format +msgid " Version: 0x%lx\n" +msgstr " Version: 0x%lx\n" -#: readelf.c:6521 -msgid "Failed to read in number of chains\n" -msgstr "Việc đọc vào số dây bị lỗi\n" +#: readelf.c:3015 +#, c-format +msgid " Entry point address: " +msgstr " Địa chỉ điểm vào : " -#: readelf.c:6541 +#: readelf.c:3017 #, c-format msgid "" "\n" -"Symbol table for image:\n" +" Start of program headers: " msgstr "" "\n" -"Bảng ký hiệu cho ảnh:\n" - -#: readelf.c:6543 -#, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Số xô : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" - -#: readelf.c:6545 -#, c-format -msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" -msgstr " Số xô : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" +" Điểm đầu các dòng đầu chương trình: " -#: readelf.c:6597 +#: readelf.c:3019 #, c-format msgid "" -"\n" -"Symbol table '%s' contains %lu entries:\n" +" (bytes into file)\n" +" Start of section headers: " msgstr "" -"\n" -"Bảng ký hiệu « %s » chứa %lu mục nhập:\n" +" (byte vào tập tin)\n" +" Đầu các dòng đầu phần: " -#: readelf.c:6601 +#: readelf.c:3021 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Số : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" +msgid " (bytes into file)\n" +msgstr " (byte vào tập tin)\n" -#: readelf.c:6603 +#: readelf.c:3023 #, c-format -msgid " Num: Value Size Type Bind Vis Ndx Name\n" -msgstr " Số : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" +msgid " Flags: 0x%lx%s\n" +msgstr " Flags: 0x%lx%s\n" -#: readelf.c:6649 -msgid "version data" -msgstr "dữ liệu phiên bản" +#: readelf.c:3026 +#, c-format +msgid " Size of this header: %ld (bytes)\n" +msgstr " Cỡ phần này: %ld (byte)\n" -#: readelf.c:6690 -msgid "version need aux (3)" -msgstr "phiên bản cần phụ (3)" +#: readelf.c:3028 +#, c-format +msgid " Size of program headers: %ld (bytes)\n" +msgstr " Cỡ các dòng đầu chương trình: %ld (byte)\n" -#: readelf.c:6715 -msgid "bad dynamic symbol" -msgstr "ký hiệu động sai" +#: readelf.c:3030 +#, c-format +msgid " Number of program headers: %ld\n" +msgstr " Số dòng đầu chương trình: %ld\n" -#: readelf.c:6778 +#: readelf.c:3032 #, c-format -msgid "" -"\n" -"Dynamic symbol information is not available for displaying symbols.\n" -msgstr "" -"\n" -"Không có thông tin ký hiệu động để hiển thị ký hiệu.\n" +msgid " Size of section headers: %ld (bytes)\n" +msgstr " Cỡ các dòng đầu phần: %ld (byte)\n" -#: readelf.c:6790 +#: readelf.c:3034 #, c-format -msgid "" -"\n" -"Histogram for bucket list length (total of %lu buckets):\n" -msgstr "" -"\n" -"Biểu đồ tần xuất cho độ dài danh sách xô (tổng số %lu xô):\n" +msgid " Number of section headers: %ld" +msgstr " Số dòng đầu phần: %ld" -#: readelf.c:6792 +#: readelf.c:3039 #, c-format -msgid " Length Number %% of total Coverage\n" -msgstr " Dài Số %% tổng phạm vị\n" +msgid " Section header string table index: %ld" +msgstr " Chỉ mục bảng chuỗi dòng đầu phần: %ld" -#: readelf.c:6797 readelf.c:6813 readelf.c:10967 readelf.c:11159 -msgid "Out of memory" -msgstr "Hết bộ nhớ" +#: readelf.c:3070 readelf.c:3103 +msgid "program headers" +msgstr "các dòng đầu chương trình" + +#: readelf.c:3141 readelf.c:3440 readelf.c:3481 readelf.c:3540 readelf.c:3603 +#: readelf.c:4208 readelf.c:4232 readelf.c:5510 readelf.c:5554 readelf.c:5752 +#: readelf.c:6734 readelf.c:6748 readelf.c:8564 readelf.c:8972 readelf.c:9039 +msgid "Out of memory\n" +msgstr "Hết bộ nhớ\n" -#: readelf.c:6862 +#: readelf.c:3168 #, c-format msgid "" "\n" -"Dynamic info segment at offset 0x%lx contains %d entries:\n" +"There are no program headers in this file.\n" msgstr "" "\n" -"Phân đoạn thông tin động tại hiệu số 0x%lx chứa %d mục nhập:\n" - -#: readelf.c:6865 -#, c-format -msgid " Num: Name BoundTo Flags\n" -msgstr " Số : Tên ĐóngVới Cờ\n" +"Không có dòng đầu chương trình nào trong tập tin này.\n" -#: readelf.c:6917 +#: readelf.c:3174 #, c-format msgid "" "\n" -"Assembly dump of section %s\n" +"Elf file type is %s\n" msgstr "" "\n" -"Việc đổ thanh ghi cá»§a phần %s\n" +"Kiểu tập tin Elf là %s\n" -#: readelf.c:6938 +#: readelf.c:3175 #, c-format -msgid "" -"\n" -"Section '%s' has no data to dump.\n" -msgstr "" -"\n" -"Phần « %s » không có dữ liệu cần đổ.\n" +msgid "Entry point " +msgstr "Điểm vào " -#: readelf.c:6943 +#: readelf.c:3177 #, c-format msgid "" "\n" -"Hex dump of section '%s':\n" +"There are %d program headers, starting at offset " msgstr "" "\n" -"Việc đổ thập lục cá»§a phần « %s »:\n" - -#: readelf.c:7090 -msgid "badly formed extended line op encountered!\n" -msgstr "gặp thao tác dòng đã mở rộng dạng sai.\n" - -#: readelf.c:7097 -#, c-format -msgid " Extended opcode %d: " -msgstr " Opcode (mã thao tác) đã mở rộng %d: " +"Có %d dòng đầu chương trình, bắt đầu tại hiệu số" -#: readelf.c:7102 +#: readelf.c:3189 readelf.c:3191 #, c-format msgid "" -"End of Sequence\n" "\n" +"Program Headers:\n" msgstr "" -"Kết thúc dãy\n" "\n" +"Dòng đầu chương trình:\n" -#: readelf.c:7108 -#, c-format -msgid "set Address to 0x%lx\n" -msgstr "đặt Địa chỉ là 0x%lx\n" - -#: readelf.c:7113 -#, c-format -msgid " define new File Table entry\n" -msgstr " định nghÄ©a mục nhập Bảng Tập tin mới\n" - -#: readelf.c:7114 readelf.c:9032 -#, c-format -msgid " Entry\tDir\tTime\tSize\tName\n" -msgstr " Mục\tTMục\tGiờ\tCỡ\tTên\n" - -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:7116 +#: readelf.c:3195 #, c-format -msgid " %d\t" -msgstr " %d\t" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Kiểu HIệu ĐChỉẢo ĐChỉVật CỡTập CỡNhớ Cờ Cạnh lề\n" -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:7119 readelf.c:7121 readelf.c:7123 readelf.c:9044 readelf.c:9046 -#: readelf.c:9048 +#: readelf.c:3198 #, c-format -msgid "%lu\t" -msgstr "%lu\t" +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" +msgstr " Kiểu HIệu Địa Chỉ Ảo Địa Chỉ Vật lý CỡTập CỡNhớ Cờ Cạnh lề\n" -# Variable: do not translate/ biến: đừng dịch -#: readelf.c:7124 +#: readelf.c:3202 #, c-format -msgid "" -"%s\n" -"\n" -msgstr "" -"%s\n" -"\n" +msgid " Type Offset VirtAddr PhysAddr\n" +msgstr " Kiểu HIệu Địa Chỉ Ảo Địa Chỉ Vật lý\n" -#: readelf.c:7128 +#: readelf.c:3204 #, c-format -msgid "UNKNOWN: length %d\n" -msgstr "KHÔNG RÕ: độ dài %d\n" - -#: readelf.c:7155 -msgid "debug_str section data" -msgstr "debug_str section data" - -#: readelf.c:7173 -msgid "" -msgstr "" +msgid " FileSiz MemSiz Flags Align\n" +msgstr " FileSiz MemSiz Flags Align\n" -#: readelf.c:7176 -msgid "" -msgstr "" +#: readelf.c:3297 +msgid "more than one dynamic segment\n" +msgstr "hÆ¡n một phân đoạn động\n" -#: readelf.c:7201 -msgid "debug_loc section data" -msgstr "dữ liệu phần « debug_loc » (định vị gỡ lỗi)" +#: readelf.c:3308 +msgid "no .dynamic section in the dynamic segment" +msgstr "không có phân đoạn « .dynamic » (động) trong phân đoạn động" -#: readelf.c:7235 -msgid "debug_range section data" -msgstr "dữ liệu phần « debug_range » (phạm vị gỡ lỗi)" +#: readelf.c:3317 +msgid "the .dynamic section is not contained within the dynamic segment" +msgstr "phần « .dynamic » (động) không có được chứa ở trong phân đoạn động" -#: readelf.c:7307 -#, c-format -msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" -msgstr "%s: đang nhảy qua kiểu ký hiệu bất ngờ %s trong việc định vị lại trong phần .rela%s\n" +#: readelf.c:3319 +msgid "the .dynamic section is not the first section in the dynamic segment." +msgstr "phần « .dynamic » (động) không phải là phần thứ nhất trong phân đoạn động." -#: readelf.c:7321 -#, c-format -msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" -msgstr "đang nhảy qua kiểu ký hiệu bất ngờ %s trong việc định vị lại trong phần .rela%s\n" +#: readelf.c:3333 +msgid "Unable to find program interpreter name\n" +msgstr "Không tìm thấy tên bộ giải dịch chương trình\n" -#: readelf.c:7565 +#: readelf.c:3340 #, c-format -msgid "Unknown TAG value: %lx" -msgstr "Giá trị TAG (thẻ) không rõ : %lx" +msgid "" +"\n" +" [Requesting program interpreter: %s]" +msgstr "" +"\n" +" [Đang yêu cầu bộ giải dịch chương trình: %s]" -#: readelf.c:7601 +#: readelf.c:3352 #, c-format -msgid "Unknown FORM value: %lx" -msgstr "Giá trị FORM (dạng) không rõ : %lx" +msgid "" +"\n" +" Section to Segment mapping:\n" +msgstr "" +"\n" +" Ánh xạ Phần đến Phân đoạn:\n" -#: readelf.c:7610 +#: readelf.c:3353 #, c-format -msgid " %lu byte block: " -msgstr " Khối %lu byte: " +msgid " Segment Sections...\n" +msgstr " Các phần phân đoạn...\n" -#: readelf.c:7944 -#, c-format -msgid "(User defined location op)" -msgstr "(Thao tác định vị do người dùng định nghÄ©a)" +#: readelf.c:3402 +msgid "Cannot interpret virtual addresses without program headers.\n" +msgstr "Không thể giải dịch địa chỉ ảo khi không có dòng đầu chương trình.\n" -#: readelf.c:7946 +#: readelf.c:3418 #, c-format -msgid "(Unknown location op)" -msgstr "(Thao tác định vị không rõ)" - -#: readelf.c:8015 -msgid "Internal error: DWARF version is not 2 or 3.\n" -msgstr "Lỗi nội bộ: phiên bản DWARF không phải là 2 hay 3.\n" - -#: readelf.c:8113 -msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n" -msgstr "Không hỗ trợ « DW_FORM_data8 » khi « sizeof (unsigned long) != 8 » [kích cỡ cá»§a (dài không ký)]\n" +msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" +msgstr "Địa chỉ ảo 0x%lx không được định vị trong phân đoạn kiểu « PT_LOAD » nào.\n" -#: readelf.c:8162 -#, c-format -msgid " (indirect string, offset: 0x%lx): %s" -msgstr " (chuỗi gián tiếp, hiệu số: 0x%lx): %s" +#: readelf.c:3432 readelf.c:3473 +msgid "section headers" +msgstr "dòng đầu phần" -#: readelf.c:8171 -#, c-format -msgid "Unrecognized form: %d\n" -msgstr "Không nhận diện dạng: %d\n" +#: readelf.c:3517 readelf.c:3580 +msgid "symbols" +msgstr "ký hiệu" -#: readelf.c:8256 -#, c-format -msgid "(not inlined)" -msgstr "(không đặt trá»±c tiếp)" +#: readelf.c:3527 readelf.c:3590 +msgid "symtab shndx" +msgstr "symtab shndx" -#: readelf.c:8259 +#: readelf.c:3817 readelf.c:4192 #, c-format -msgid "(inlined)" -msgstr "(đặt trá»±c tiếp)" +msgid "" +"\n" +"There are no sections in this file.\n" +msgstr "" +"\n" +"Không có phần nào trong tập tin này.\n" -#: readelf.c:8262 +#: readelf.c:3823 #, c-format -msgid "(declared as inline but ignored)" -msgstr "(khai báo là trá»±c tiếp mà bị bỏ qua)" +msgid "There are %d section headers, starting at offset 0x%lx:\n" +msgstr "Có %d dòng đầu phần, bắt đầu tại hiệu số 0x%lx:\n" -#: readelf.c:8265 -#, c-format -msgid "(declared as inline and inlined)" -msgstr "(khai báo là trá»±c tiếp và đặt trá»±c tiếp)" +#: readelf.c:3842 readelf.c:4309 readelf.c:4544 readelf.c:4852 readelf.c:5267 +#: readelf.c:6906 +msgid "string table" +msgstr "bảng chuỗi" -#: readelf.c:8268 +#: readelf.c:3881 #, c-format -msgid " (Unknown inline attribute value: %lx)" -msgstr " (Không biết giá trị thuộc tính trá»±c tiếp: %lx)" +msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n" +msgstr "Phần %d có kích cỡ sh_entsize không hợp lệ %lx (ngờ %lx)\n" -#: readelf.c:8413 readelf.c:9537 -#, c-format -msgid " [without DW_AT_frame_base]" -msgstr " [không có DW_AT_frame_base (cÆ¡ bản khung)]" +#: readelf.c:3901 +msgid "File contains multiple dynamic symbol tables\n" +msgstr "Tập tin chứa nhiều bảng ký hiệu động\n" -#: readelf.c:8416 -#, c-format -msgid "(location list)" -msgstr "(danh sách địa điểm)" +# Type: text +# Description +#: readelf.c:3914 +msgid "File contains multiple dynamic string tables\n" +msgstr "Tập tin chứa nhiều bảng chuỗi động\n" -#: readelf.c:8534 -#, c-format -msgid "Unknown AT value: %lx" -msgstr "Không biết giá trị AT: %lx" +#: readelf.c:3919 +msgid "dynamic strings" +msgstr "chuỗi động" -#: readelf.c:8602 -msgid "No comp units in .debug_info section ?" -msgstr "Không có đơn vị biên dịch trong phần « .debug_info » (thông tin gỡ lỗi) ?" +#: readelf.c:3926 +msgid "File contains multiple symtab shndx tables\n" +msgstr "Tập tin chứa nhiều bảng symtab shndx\n" -#: readelf.c:8611 +#: readelf.c:3973 #, c-format -msgid "Not enough memory for a debug info array of %u entries" -msgstr "Không đủ bộ nhớ cho mảng thông tin gỡ lỗi có mục nhập %u" +msgid "" +"\n" +"Section Headers:\n" +msgstr "" +"\n" +"Dòng đầu phần:\n" -#: readelf.c:8619 readelf.c:9630 +#: readelf.c:3975 #, c-format msgid "" -"The section %s contains:\n" "\n" +"Section Header:\n" msgstr "" -"Phần %s chứa:\n" "\n" +"Dòng đầu phần:\n" -#: readelf.c:8693 +#: readelf.c:3981 readelf.c:3992 readelf.c:4003 #, c-format -msgid " Compilation Unit @ %lx:\n" -msgstr " Đơn vị biên dịch @ %lx:\n" +msgid " [Nr] Name\n" +msgstr " [Nr] Tên\n" -#: readelf.c:8694 +#: readelf.c:3982 #, c-format -msgid " Length: %ld\n" -msgstr " Dài: %ld\n" +msgid " Type Addr Off Size ES Lk Inf Al\n" +msgstr " Kiểu ĐChỉ Hiệu Cỡ ES Lk Tin Cl\n" -#: readelf.c:8695 +#: readelf.c:3986 #, c-format -msgid " Version: %d\n" -msgstr " Phiên bản: %d\n" +msgid " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Name Type Addr Off Size ES Flg Lk Inf Al\n" -#: readelf.c:8696 +#: readelf.c:3993 #, c-format -msgid " Abbrev Offset: %ld\n" -msgstr " Hiệu số tắt: %ld\n" +msgid " Type Address Off Size ES Lk Inf Al\n" +msgstr " Kiểu Địa chỉ Hiệu Cỡ ES Lk Tin Cl\n" -#: readelf.c:8697 +#: readelf.c:3997 #, c-format -msgid " Pointer Size: %d\n" -msgstr " Cỡ con trỏ : %d\n" - -#: readelf.c:8702 -msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" -msgstr "Hỗ trợ chỉ thông tin gỡ lỗi phiên bản DWARF 2 và 3 thôi.\n" - -#: readelf.c:8717 -msgid "Unable to locate .debug_abbrev section!\n" -msgstr "Không thể định vị phần « .debug_abbrev » (gỡ lỗi viết tắt)\n" +msgid " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" +msgstr " [Nr] Name Type Address Off Size ES Flg Lk Inf Al\n" -#: readelf.c:8722 -msgid "debug_abbrev section data" -msgstr "dữ liệu phần « .debug_abbrev » (gỡ lỗi viết tắt)" +#: readelf.c:4004 +#, c-format +msgid " Type Address Offset Link\n" +msgstr " Kiểu Địa chỉ Hiệu số Liên kết\n" -#: readelf.c:8759 +#: readelf.c:4005 #, c-format -msgid "Unable to locate entry %lu in the abbreviation table\n" -msgstr "Không thể định vị mục nhâp %lu trong bảng viết tắt\n" +msgid " Size EntSize Info Align\n" +msgstr " Cỡ CỡEnt TTin Canh lề\n" -#: readelf.c:8765 +#: readelf.c:4009 #, c-format -msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" -msgstr " <%d><%lx>: Số viết tắt: %lu (%s)\n" +msgid " [Nr] Name Type Address Offset\n" +msgstr " [Nr] Name Type Address Offset\n" -#: readelf.c:8838 +#: readelf.c:4010 #, c-format -msgid "%s section needs a populated .debug_info section\n" -msgstr "Phần %s cần phần « .debug_info » (thông tin gỡ lỗi) có dữ liệu\n" +msgid " Size EntSize Flags Link Info Align\n" +msgstr " Size EntSize Flags Link Info Align\n" -#: readelf.c:8845 +#: readelf.c:4015 #, c-format -msgid "%s section has more comp units than .debug_info section\n" -msgstr "Phần %s có nhiều đơn vị biên dịch hÆ¡n phần « .debug_info » (thông tin gỡ lỗi)\n" +msgid " Flags\n" +msgstr " Cờ\n" -#: readelf.c:8847 +#: readelf.c:4150 #, c-format msgid "" -"assuming that the pointer size is %d, from the last comp unit in .debug_info\n" -"\n" +"Key to Flags:\n" +" W (write), A (alloc), X (execute), M (merge), S (strings)\n" +" I (info), L (link order), G (group), x (unknown)\n" +" O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -"giả sá»­ kích cỡ con trỏ là %d, từ đơn vị biên dịch cuối cùng trong « .debug_info » (thông tin gỡ lỗi)\n" -"\n" +"Cờ ey \tW\tghi\n" +" \tA\tcấp phát\n" +"\tX\tthá»±c hiện\n" +"\tM\ttrộn\n" +"\tS\tcác chuỗi\n" +"\tI\tthông tin\n" +"\tL\tthứ tá»± liên kết\n" +"\tG\tnhóm\n" +"\tO\tcần thiết xá»­ lý hệ điều hành thêm\n" +"\to \tđặc trưng cho hệ điều hành\n" +"\ts\tđặc trưng cho bộ xá»­ lý\n" -#: readelf.c:8891 -msgid "extracting information from .debug_info section" -msgstr "đang trích thông tin ra phần « .debug_info » (thông tin gỡ lỗi)" +#: readelf.c:4168 +#, c-format +msgid "[: 0x%x]" +msgstr "[: 0x%x]" + +#: readelf.c:4199 +msgid "Section headers are not available!\n" +msgstr "Dòng đầu phần không sẵn sàng.\n" -#: readelf.c:8909 +#: readelf.c:4223 #, c-format msgid "" "\n" -"Dump of debug contents of section %s:\n" -"\n" +"There are no section groups in this file.\n" msgstr "" "\n" -"Việc đổ nội dung gỡ lỗi cá»§a phần %s:\n" +"Không có nhóm phần nào trong tập tin này.\n" -#: readelf.c:8948 -msgid "The line info appears to be corrupt - the section is too small\n" -msgstr "Hình như dòng bị hỏng — phần quá nhỏ\n" +#: readelf.c:4259 +#, c-format +msgid "Bad sh_link in group section `%s'\n" +msgstr "Có liên kết « sh_link » sai trong phần nhóm « %s »\n" -#: readelf.c:8957 -msgid "Only DWARF version 2 and 3 line info is currently supported.\n" -msgstr "Hỗ trợ hiện thời chỉ thông tin dòng DWARF phiên bản 2 và 3.\n" +#: readelf.c:4278 +#, c-format +msgid "Bad sh_info in group section `%s'\n" +msgstr "Có thông tin « sh_info » sai trong phần nhóm « %s »\n" + +#: readelf.c:4317 readelf.c:7243 +msgid "section data" +msgstr "dữ liệu phần" -#: readelf.c:8984 +#: readelf.c:4329 #, c-format -msgid " Length: %ld\n" -msgstr " Dài: %ld\n" +msgid " [Index] Name\n" +msgstr " [Chỉ mục] Tên\n" -#: readelf.c:8985 +#: readelf.c:4343 #, c-format -msgid " DWARF Version: %d\n" -msgstr " Phiên bản DWARF: %d\n" +msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n" +msgstr "phần [%5u] trong phần nhóm [%5u]>phần tối đa [%5u]\n" -#: readelf.c:8986 +#: readelf.c:4349 #, c-format -msgid " Prologue Length: %d\n" -msgstr " Dài đoạn mở đầu : %d\n" +msgid "invalid section [%5u] in group section [%5u]\n" +msgstr "phần không hợp lệ [%5u] trong phần nhóm [%5u]\n" -#: readelf.c:8987 +#: readelf.c:4359 #, c-format -msgid " Minimum Instruction Length: %d\n" -msgstr " Dài câu lệnh tối thiểu : %d\n" +msgid "section [%5u] in group section [%5u] already in group section [%5u]\n" +msgstr "phần [%5u] trong phần nhóm [%5u] đã có trong phần nhóm [%5u]\n" -#: readelf.c:8988 +#: readelf.c:4372 #, c-format -msgid " Initial value of 'is_stmt': %d\n" -msgstr " Giá trị đầu cá»§a « is_stmt »: %d\n" +msgid "section 0 in group section [%5u]\n" +msgstr "phần 0 trong phần nhóm [%5u]\n" -#: readelf.c:8989 +#: readelf.c:4468 #, c-format -msgid " Line Base: %d\n" -msgstr " CÆ¡ bản dòng: %d\n" +msgid "" +"\n" +"'%s' relocation section at offset 0x%lx contains %ld bytes:\n" +msgstr "" +"\n" +"phần định vị lại « %s » tại hiệu số 0x%lx chứa %ld byte:\n" -#: readelf.c:8990 +#: readelf.c:4480 #, c-format -msgid " Line Range: %d\n" -msgstr " Phạm vị dòng: %d\n" +msgid "" +"\n" +"There are no dynamic relocations in this file.\n" +msgstr "" +"\n" +"Không có việc định vị lại động nào trong tập tin này.\n" -#: readelf.c:8991 +#: readelf.c:4504 #, c-format -msgid " Opcode Base: %d\n" -msgstr " CÆ¡ bản mã thao tác: %d\n" +msgid "" +"\n" +"Relocation section " +msgstr "" +"\n" +"Phần định vị lại" + +#: readelf.c:4509 readelf.c:4928 readelf.c:4942 readelf.c:5282 +#, c-format +msgid "'%s'" +msgstr "« %s »" -#: readelf.c:8992 +#: readelf.c:4511 readelf.c:4944 readelf.c:5284 #, c-format -msgid " (Pointer size: %u)\n" -msgstr " (cỡ con trỏ : %u)\n" +msgid " at offset 0x%lx contains %lu entries:\n" +msgstr " tại hiệu số 0x%lx chứa %lu mục nhập:\n" -#: readelf.c:9001 +#: readelf.c:4563 #, c-format msgid "" "\n" -" Opcodes:\n" +"There are no relocations in this file.\n" msgstr "" "\n" -" Mã thao tác:\n" +"Không có việc định vị lại nào trong tập tin này.\n" + +#: readelf.c:4742 readelf.c:5124 +msgid "unwind table" +msgstr "tri ra bảng" -#: readelf.c:9004 +#: readelf.c:4801 readelf.c:5214 #, c-format -msgid " Opcode %d has %d args\n" -msgstr " Mã thao tác %d có %d đối số\n" +msgid "Skipping unexpected relocation type %s\n" +msgstr "Đang nhảy kiểu định vị lại bất ngờ %s\n" -#: readelf.c:9010 +#: readelf.c:4860 readelf.c:5275 readelf.c:5326 #, c-format msgid "" "\n" -" The Directory Table is empty.\n" +"There are no unwind sections in this file.\n" msgstr "" "\n" -" Bảng Thư mục rỗng\n" +"Không có phần tri ra nào trong tập tin này.\n" -#: readelf.c:9013 +#: readelf.c:4923 #, c-format msgid "" "\n" -" The Directory Table:\n" +"Could not find unwind info section for " msgstr "" "\n" -" Bảng Thư mục:\n" +"Không thể tìm thấy phần thông tin tri ra cho " -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:9017 -#, c-format -msgid " %s\n" -msgstr " %s\n" +#: readelf.c:4935 +msgid "unwind info" +msgstr "thông tin tri ra" -#: readelf.c:9028 +#: readelf.c:4937 readelf.c:5281 #, c-format msgid "" "\n" -" The File Name Table is empty.\n" +"Unwind section " msgstr "" "\n" -" Bảng Tên Tập tin rỗng:\n" +"Phần tri ra " -#: readelf.c:9031 +#: readelf.c:5491 readelf.c:5535 +msgid "dynamic section" +msgstr "phần động" + +#: readelf.c:5612 #, c-format msgid "" "\n" -" The File Name Table:\n" +"There is no dynamic section in this file.\n" msgstr "" "\n" -" Bảng Tên Tập tin:\n" +"Không có phần động nào trong tập tin này.\n" -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:9039 -#, c-format -msgid " %d\t" -msgstr " %d\t" +#: readelf.c:5650 +msgid "Unable to seek to end of file!" +msgstr "• Không thể tìm tới kết thúc tập tin. •" -# Variable: do not translate/ biến: đừng dịch -#: readelf.c:9050 -#, c-format -msgid "%s\n" -msgstr "%s\n" +#: readelf.c:5663 +msgid "Unable to determine the number of symbols to load\n" +msgstr "Không thể quyết định số ký hiệu cần tải\n" -#. Now display the statements. -#: readelf.c:9058 +#: readelf.c:5698 +msgid "Unable to seek to end of file\n" +msgstr "Không thể tìm tới kết thúc tập tin\n" + +#: readelf.c:5705 +msgid "Unable to determine the length of the dynamic string table\n" +msgstr "Không thể quyết định độ dài cá»§a bảng chuỗi động\n" + +#: readelf.c:5710 +msgid "dynamic string table" +msgstr "bảng chuỗi động" + +#: readelf.c:5745 +msgid "symbol information" +msgstr "thông tin ký hiệu" + +#: readelf.c:5770 #, c-format msgid "" "\n" -" Line Number Statements:\n" +"Dynamic section at offset 0x%lx contains %u entries:\n" msgstr "" "\n" -" Câu Số thứ tá»± Dòng:\n" +"Phần động tại hiệu số 0x%lx chứa %u mục nhập:\n" -#: readelf.c:9073 +#: readelf.c:5773 #, c-format -msgid " Special opcode %d: advance Address by %d to 0x%lx" -msgstr " Mã thao tác đặc biệt %d: nâng cao Địa chỉ bước %d tới 0x%lx" +msgid " Tag Type Name/Value\n" +msgstr " Thẻ Kiểu Tên/Giá trị\n" -#: readelf.c:9077 +#: readelf.c:5809 #, c-format -msgid " and Line by %d to %d\n" -msgstr " và Dòng bước %d tới %d\n" +msgid "Auxiliary library" +msgstr "Thư viên phụ" -#: readelf.c:9088 +#: readelf.c:5813 #, c-format -msgid " Copy\n" -msgstr " Chép\n" +msgid "Filter library" +msgstr "Thư viên lọc" -#: readelf.c:9095 +#: readelf.c:5817 #, c-format -msgid " Advance PC by %d to %lx\n" -msgstr " Nâng cao PC bước %d tới %lx\n" +msgid "Configuration file" +msgstr "Tập tin cấu hình" -#: readelf.c:9103 +#: readelf.c:5821 #, c-format -msgid " Advance Line by %d to %d\n" -msgstr " Nâng cao dòng bước %d tới %d\n" +msgid "Dependency audit library" +msgstr "Thư viên kiểm tra cách phụ thuộc" -#: readelf.c:9110 +#: readelf.c:5825 #, c-format -msgid " Set File Name to entry %d in the File Name Table\n" -msgstr " Lập Tên Tập tin là mục nhập %d trong Bảng Tên Tập tin\n" +msgid "Audit library" +msgstr "Thư viên kiểm tra" + +#: readelf.c:5843 readelf.c:5871 readelf.c:5899 +#, c-format +msgid "Flags:" +msgstr "Cờ :" + +#: readelf.c:5846 readelf.c:5874 readelf.c:5901 +#, c-format +msgid " None\n" +msgstr " Không có\n" + +#: readelf.c:6022 +#, c-format +msgid "Shared library: [%s]" +msgstr "Thư viện dùng chung: [%s]" + +#: readelf.c:6025 +#, c-format +msgid " program interpreter" +msgstr " bộ giải dịch chương trình" + +#: readelf.c:6029 +#, c-format +msgid "Library soname: [%s]" +msgstr "soname (tên so) thư viên: [%s]" + +#: readelf.c:6033 +#, c-format +msgid "Library rpath: [%s]" +msgstr "rpath (đường dẫn r) thư viên: [%s]" + +#: readelf.c:6037 +#, c-format +msgid "Library runpath: [%s]" +msgstr "runpath (đường dẫn chạy) thư viên: [%s]" + +#: readelf.c:6100 +#, c-format +msgid "Not needed object: [%s]\n" +msgstr "Đối tượng không cần thiết: [%s]\n" + +#: readelf.c:6214 +#, c-format +msgid "" +"\n" +"Version definition section '%s' contains %ld entries:\n" +msgstr "" +"\n" +"Phần định nghÄ©a phiên bản « %s » chứa %ld mục nhập:\n" -#: readelf.c:9118 +#: readelf.c:6217 #, c-format -msgid " Set column to %d\n" -msgstr " Lập cột là %d\n" +msgid " Addr: 0x" +msgstr " ĐChỉ: 0x" -#: readelf.c:9125 +#: readelf.c:6219 readelf.c:6426 #, c-format -msgid " Set is_stmt to %d\n" -msgstr " Lập « is_stmt » (là câu) là %d\n" +msgid " Offset: %#08lx Link: %lx (%s)\n" +msgstr " HIệu: %#08lx LKết: %lx (%s)\n" -#: readelf.c:9130 -#, c-format -msgid " Set basic block\n" -msgstr " Lập khối cÆ¡ bản\n" +#: readelf.c:6228 +msgid "version definition section" +msgstr "phần định nghÄ©a phiên bản" -#: readelf.c:9138 +#: readelf.c:6254 #, c-format -msgid " Advance PC by constant %d to 0x%lx\n" -msgstr " Nâng cao PC bước hằng số %d tới 0x%lx\n" +msgid " %#06x: Rev: %d Flags: %s" +msgstr " %#06x: Bản: %d Cờ: %s" -#: readelf.c:9146 +#: readelf.c:6257 #, c-format -msgid " Advance PC by fixed size amount %d to 0x%lx\n" -msgstr " Nâng cao PC bước kích cỡ cố định %d tới 0x%lx\n" +msgid " Index: %d Cnt: %d " +msgstr " Chỉ mục: %d Đếm: %d " -#: readelf.c:9151 +#: readelf.c:6268 #, c-format -msgid " Set prologue_end to true\n" -msgstr " Lập « prologue_end » (kết thúc đoạn mở đầu) là true (đúng)\n" +msgid "Name: %s\n" +msgstr "Tên: %s\n" -#: readelf.c:9155 +#: readelf.c:6270 #, c-format -msgid " Set epilogue_begin to true\n" -msgstr " Lập « epilogue_begin » (đầu phần kết) là true (đúng)\n" +msgid "Name index: %ld\n" +msgstr "Chỉ mục tên: %ld\n" -#: readelf.c:9161 +#: readelf.c:6285 #, c-format -msgid " Set ISA to %d\n" -msgstr " Lập ISA là %d\n" +msgid " %#06x: Parent %d: %s\n" +msgstr " %#06x: Mẹ %d: %s\n" -#: readelf.c:9165 +#: readelf.c:6288 #, c-format -msgid " Unknown opcode %d with operands: " -msgstr " Gặp opcode (mã thao tác) không rõ %d với tác tá»­ : " +msgid " %#06x: Parent %d, name index: %ld\n" +msgstr " %#06x: Mẹ %d, chỉ mục tên: %ld\n" -#: readelf.c:9193 readelf.c:9279 readelf.c:9354 +#: readelf.c:6307 #, c-format msgid "" -"Contents of the %s section:\n" "\n" +"Version needs section '%s' contains %ld entries:\n" msgstr "" -"Nội dung cá»§a phần %s:\n" "\n" +"Phần cần thiết phiên bản « %s » chứa %ld mục nhập:\n" -#: readelf.c:9233 -msgid "Only DWARF 2 and 3 pubnames are currently supported\n" -msgstr "Hỗ trợ hiện thời chỉ pubnames (tên công) DWARF phiên bản 2 và 3 thôi\n" - -#: readelf.c:9240 +#: readelf.c:6310 #, c-format -msgid " Length: %ld\n" -msgstr " Length: %ld\n" +msgid " Addr: 0x" +msgstr " ĐChỉ: 0x" -#: readelf.c:9242 +#: readelf.c:6312 #, c-format -msgid " Version: %d\n" -msgstr " Version: %d\n" +msgid " Offset: %#08lx Link to section: %ld (%s)\n" +msgstr " HIệu: %#08lx Liên kết đến phần: %ld (%s)\n" -#: readelf.c:9244 -#, c-format -msgid " Offset into .debug_info section: %ld\n" -msgstr " Hiệu số vào phầnO« ffset into .» (thông tin gỡ lỗi)nfo section: %ld\n" +#: readelf.c:6321 +msgid "version need section" +msgstr "phần cần phiên bản" -#: readelf.c:9246 +#: readelf.c:6343 #, c-format -msgid " Size of area in .debug_info section: %ld\n" -msgstr " Kích cỡ cá»§a vùng trong phần « .debug_info » (thông tin gỡ lỗi): %ld\n" +msgid " %#06x: Version: %d" +msgstr " %#06x: PhBản: %d" -#: readelf.c:9249 +#: readelf.c:6346 #, c-format -msgid "" -"\n" -" Offset\tName\n" -msgstr "" -"\n" -" Hiệu\tTên\n" +msgid " File: %s" +msgstr " Tập tin: %s" -#: readelf.c:9300 +#: readelf.c:6348 #, c-format -msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" -msgstr " DW_MACINFO_start_file (bắt đầu tập tin) — số_dòng: %d số_tập_tin: %d\n" +msgid " File: %lx" +msgstr " Tập tin: %lx" -#: readelf.c:9306 +#: readelf.c:6350 #, c-format -msgid " DW_MACINFO_end_file\n" -msgstr " DW_MACINFO_end_file (kết thúc tập tin)\n" +msgid " Cnt: %d\n" +msgstr " Đếm: %d\n" -#: readelf.c:9314 +#: readelf.c:6368 #, c-format -msgid " DW_MACINFO_define - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_define (định nghÄ©a) — số_dòng : %d bộ_lệnh : %s\n" +msgid " %#06x: Name: %s" +msgstr " %#06x: Tên: %s" -#: readelf.c:9323 +#: readelf.c:6371 #, c-format -msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" -msgstr " DW_MACINFO_undef (chưa định nghÄ©a) — số_dòng : %d bộ_lệnh : %s\n" +msgid " %#06x: Name index: %lx" +msgstr " %#06x: Chỉ mục tên: %lx" -#: readelf.c:9335 +#: readelf.c:6374 #, c-format -msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" -msgstr " DW_MACINFO_vendor_ext (phần mở rộng nhà bán) — hằng số : %d chuối : %s\n" +msgid " Flags: %s Version: %d\n" +msgstr " Cờ: %s Phiên bản: %d\n" -#: readelf.c:9363 +#: readelf.c:6417 +msgid "version string table" +msgstr "bảng chuỗi phiên bản" + +#: readelf.c:6421 #, c-format -msgid " Number TAG\n" -msgstr " Số THẺ\n" +msgid "" +"\n" +"Version symbols section '%s' contains %d entries:\n" +msgstr "" +"\n" +"Phần ký hiệu phiên bản « %s » chứa %d mục nhập:\n" -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:9369 +#: readelf.c:6424 #, c-format -msgid " %ld %s [%s]\n" -msgstr " %ld %s [%s]\n" +msgid " Addr: " +msgstr " ĐChỉ: " -#: readelf.c:9372 -msgid "has children" -msgstr "có điều con" +#: readelf.c:6434 +msgid "version symbol data" +msgstr "dữ liệu ký hiệu phiên bản" -#: readelf.c:9372 -msgid "no children" -msgstr "không có con" +#: readelf.c:6461 +msgid " 0 (*local*) " +msgstr " 0 (*local*) " -# Variable: don't translate / Biến: đừng dịch -#: readelf.c:9375 -#, c-format -msgid " %-18s %s\n" -msgstr " %-18s %s\n" +#: readelf.c:6465 +msgid " 1 (*global*) " +msgstr " 1 (*toàn cụcglobal*) " + +#: readelf.c:6503 readelf.c:6969 +msgid "version need" +msgstr "phiên bản cần" + +#: readelf.c:6513 +msgid "version need aux (2)" +msgstr "phiên bản cần phụ (2)" -#: readelf.c:9410 +#: readelf.c:6555 readelf.c:7034 +msgid "version def" +msgstr "phbản đ.nghÄ©a" + +#: readelf.c:6575 readelf.c:7049 +msgid "version def aux" +msgstr "phbản đ.nghÄ©a phụ" + +#: readelf.c:6606 #, c-format msgid "" "\n" -"The .debug_loc section is empty.\n" +"No version information found in this file.\n" msgstr "" "\n" -"Phần « .debug_loc » (gỡ lỗi định vị) rỗng:\n" +"Không tìm thấy thông tin phiên bản trong tập tin này.\n" -#. FIXME: Should we handle this case? -#: readelf.c:9455 -msgid "Location lists in .debug_info section aren't in ascending order!\n" -msgstr "• Các danh sách địa điểm trong phần « .debug_info » (thông tin gỡ lỗi) không phải theo thứ tá»± dần. •\n" +#: readelf.c:6740 +msgid "Unable to read in dynamic data\n" +msgstr "Không thể đọc vào dữ liệu động\n" -#: readelf.c:9458 -msgid "No location lists in .debug_info section!\n" -msgstr "• Không có danh sách địa điểm trong phần « .debug_info » (thông tin gỡ lỗi). •\n" +#: readelf.c:6793 +msgid "Unable to seek to start of dynamic information" +msgstr "Không thể tìm tới đầu thông tin động" -#: readelf.c:9461 -#, c-format -msgid "Location lists in .debug_loc section start at 0x%lx\n" -msgstr "Danh sách địa điểm trong phần « .debug_info » (thông tin gỡ lỗi) bắt đầu tại 0x%lx\n" +#: readelf.c:6799 +msgid "Failed to read in number of buckets\n" +msgstr "Việc đọc vào số xô bị lỗi\n" -#: readelf.c:9464 +#: readelf.c:6805 +msgid "Failed to read in number of chains\n" +msgstr "Việc đọc vào số dây bị lỗi\n" + +#: readelf.c:6825 #, c-format msgid "" -"Contents of the .debug_loc section:\n" "\n" +"Symbol table for image:\n" msgstr "" -"Nội dung cá»§a phần « .debug_info » (thông tin gỡ lỗi):\n" "\n" +"Bảng ký hiệu cho ảnh:\n" -#: readelf.c:9465 +#: readelf.c:6827 #, c-format -msgid " Offset Begin End Expression\n" -msgstr " HIệu Đầu Cuối Biểu thức\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Số xô : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" -#: readelf.c:9495 +#: readelf.c:6829 #, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Có một lỗ [0x%lx - 0x%lx] trong phần « .debug_info » (thông tin gỡ lỗi).\n" +msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" +msgstr " Số xô : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" -#: readelf.c:9498 +#: readelf.c:6882 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n" -msgstr "Có một nÆ¡i chồng lấp [0x%lx - 0x%lx] trong phần « .debug_info » (thông tin gỡ lỗi).\n" +msgid "" +"\n" +"Symbol table '%s' contains %lu entries:\n" +msgstr "" +"\n" +"Bảng ký hiệu « %s » chứa %lu mục nhập:\n" -#: readelf.c:9512 readelf.c:9837 +#: readelf.c:6886 #, c-format -msgid " %8.8lx \n" -msgstr " %8.8lx \n" +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Số : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" -#: readelf.c:9540 readelf.c:9854 -msgid " (start == end)" -msgstr " (start == end)" +#: readelf.c:6888 +#, c-format +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr " Số : Giá trị Cỡ Kiểu Trộn Hiện Ndx Tên\n" -#: readelf.c:9542 readelf.c:9856 -msgid " (start > end)" -msgstr " (start > end)" +#: readelf.c:6939 +msgid "version data" +msgstr "dữ liệu phiên bản" + +#: readelf.c:6982 +msgid "version need aux (3)" +msgstr "phiên bản cần phụ (3)" + +#: readelf.c:7009 +msgid "bad dynamic symbol" +msgstr "ký hiệu động sai" -#: readelf.c:9566 +#: readelf.c:7073 #, c-format msgid "" "\n" -"The .debug_str section is empty.\n" +"Dynamic symbol information is not available for displaying symbols.\n" msgstr "" "\n" -"Phần « .debug_str » (chuỗi gỡ lỗi) rỗng.\n" +"Không có thông tin ký hiệu động để hiển thị ký hiệu.\n" -#: readelf.c:9570 +#: readelf.c:7085 #, c-format msgid "" -"Contents of the .debug_str section:\n" "\n" +"Histogram for bucket list length (total of %lu buckets):\n" msgstr "" -"Nội dung cá»§a phần « .debug_str » (chuỗi gỡ lỗi):\n" "\n" +"Biểu đồ tần xuất cho độ dài danh sách xô (tổng số %lu xô):\n" -#: readelf.c:9675 -msgid "Only DWARF 2 and 3 aranges are currently supported.\n" -msgstr "Hỗ trợ hiện thời chỉ arange (phạm vị a) DWARF phiên bản 2 và 3 thôi.\n" - -#: readelf.c:9679 -#, c-format -msgid " Length: %ld\n" -msgstr " Dài: %ld\n" - -#: readelf.c:9680 +#: readelf.c:7087 #, c-format -msgid " Version: %d\n" -msgstr " Phiên bản: %d\n" +msgid " Length Number %% of total Coverage\n" +msgstr " Dài Số %% tổng phạm vị\n" -#: readelf.c:9681 -#, c-format -msgid " Offset into .debug_info: %lx\n" -msgstr " Hiệu số vào « .debug_info » (thông tin gỡ lỗi): %lx\n" +#: readelf.c:7092 readelf.c:7108 readelf.c:8031 readelf.c:8223 +msgid "Out of memory" +msgstr "Hết bộ nhớ" -#: readelf.c:9682 +#: readelf.c:7157 #, c-format -msgid " Pointer Size: %d\n" -msgstr " Kích cỡ con trỏ : %d\n" +msgid "" +"\n" +"Dynamic info segment at offset 0x%lx contains %d entries:\n" +msgstr "" +"\n" +"Phân đoạn thông tin động tại hiệu số 0x%lx chứa %d mục nhập:\n" -#: readelf.c:9683 +#: readelf.c:7160 #, c-format -msgid " Segment Size: %d\n" -msgstr " Kích cỡ phân đoạn: %d\n" +msgid " Num: Name BoundTo Flags\n" +msgstr " Số : Tên ĐóngVới Cờ\n" -#: readelf.c:9685 +#: readelf.c:7212 #, c-format msgid "" "\n" -" Address Length\n" +"Assembly dump of section %s\n" msgstr "" "\n" -" Độ dài địa chỉ\n" +"Việc đổ thanh ghi cá»§a phần %s\n" -#: readelf.c:9741 +#: readelf.c:7233 #, c-format msgid "" "\n" -"The .debug_ranges section is empty.\n" +"Section '%s' has no data to dump.\n" msgstr "" "\n" -"Phần « .debug_ranges » (các phạm vị gỡ lỗi) rỗng.\n" - -#. FIXME: Should we handle this case? -#: readelf.c:9786 -msgid "Range lists in .debug_info section aren't in ascending order!\n" -msgstr "• Các danh sách phạm vị trong phần « .debug_info » (thông tin gỡ lỗi) không phải theo thứ tá»± dần. •\n" - -#: readelf.c:9789 -msgid "No range lists in .debug_info section!\n" -msgstr "• Không có danh sách phạm vị trong phần « .debug_info » (thông tin gỡ lỗi). •\n" - -#: readelf.c:9792 -#, c-format -msgid "Range lists in .debug_ranges section start at 0x%lx\n" -msgstr "Danh sách phạm vị trong phần « .debug_ranges » (các phạm vị gỡ lỗi) bắt đầu tại 0x%lx\n" +"Phần « %s » không có dữ liệu cần đổ.\n" -#: readelf.c:9795 +#: readelf.c:7238 #, c-format msgid "" -"Contents of the .debug_ranges section:\n" "\n" +"Hex dump of section '%s':\n" msgstr "" -"Nội dung cá»§a phần « .debug_ranges » (các phạm vị gỡ lỗi):\n" "\n" +"Việc đổ thập lục cá»§a phần « %s »:\n" -#: readelf.c:9796 -#, c-format -msgid " Offset Begin End\n" -msgstr " HIệu Đầu Cuối\n" - -#: readelf.c:9820 -#, c-format -msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Có một lỗ [0x%lx - 0x%lx] trong phần « .debug_ranges » (các phạm vị gỡ lỗi).\n" - -#: readelf.c:9823 +#: readelf.c:7359 #, c-format -msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" -msgstr "Có một chồng lấp [0x%lx - 0x%lx] trong phần « .debug_ranges » (các phạm vị gỡ lỗi).\n" +msgid "skipping invalid relocation offset 0x%lx in section %s\n" +msgstr "đang bỏ qua hiệu số định vị lại không hợp lệ 0x%lx trong phần %s\n" -#: readelf.c:10017 +#: readelf.c:7376 #, c-format -msgid "The section %s contains:\n" -msgstr "Phần %s chứa:\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela%s\n" +msgstr "đang bỏ qua kiểu ký hiệu bất ngờ %s trong việc định vị lại trong phần .rela%s\n" -#: readelf.c:10663 +#: readelf.c:7402 #, c-format -msgid "unsupported or unknown DW_CFA_%d\n" -msgstr "« DW_CFA_%d » không được hỗ trợ, hay không rõ\n" +msgid "skipping unexpected symbol type %s in relocation in section .rela.%s\n" +msgstr "đang nhảy qua kiểu ký hiệu bất ngờ %s trong việc định vị lại trong phần .rela%s\n" -#: readelf.c:10688 +#: readelf.c:7435 #, c-format -msgid "Displaying the debug contents of section %s is not yet supported.\n" -msgstr "Chưa hỗ trợ khả năng hiển thị nội dung phần %s.\n" +msgid "%s section data" +msgstr "dữ liệu phần %s" -#: readelf.c:10732 +#: readelf.c:7472 #, c-format msgid "" "\n" @@ -4609,29 +4688,44 @@ msgstr "" "\n" "Phần « %s » không có dữ liệu gỡ lỗi nào.\n" -#: readelf.c:10746 -msgid "debug section data" -msgstr "dữ liệu phần gỡ lỗi" - -#: readelf.c:10765 +#: readelf.c:7498 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "Không nhận diện phần gỡ lỗi: %s\n" -#: readelf.c:10800 +#: readelf.c:7533 #, c-format msgid "Section %d was not dumped because it does not exist!\n" msgstr "• Phần %d không được đổ vì nó không tồn tại. •\n" -#: readelf.c:10872 readelf.c:11236 +#: readelf.c:7791 +msgid "attributes" +msgstr "thuộc tính" + +#: readelf.c:7809 +#, c-format +msgid "ERROR: Bad section length (%d > %d)\n" +msgstr "LỖI : độ dài phần sai (%d > %d)\n" + +#: readelf.c:7830 +#, c-format +msgid "ERROR: Bad subsection length (%d > %d)\n" +msgstr "LỖI : độ dài phần phụ sai (%d > %d)\n" + +#: readelf.c:7880 +#, c-format +msgid "Unknown format '%c'\n" +msgstr "Không biết dạng thức %c\n" + +#: readelf.c:7936 readelf.c:8304 msgid "liblist" msgstr "danh sách thư viên" -#: readelf.c:10961 +#: readelf.c:8025 msgid "options" msgstr "tùy chọn" -#: readelf.c:10991 +#: readelf.c:8055 #, c-format msgid "" "\n" @@ -4640,15 +4734,15 @@ msgstr "" "\n" "Phần « %s » chứa %d mục nhập:\n" -#: readelf.c:11152 +#: readelf.c:8216 msgid "conflict list found without a dynamic symbol table" msgstr "tìm danh sách xung đột không có bảng ký hiệu động" -#: readelf.c:11168 readelf.c:11182 +#: readelf.c:8232 readelf.c:8246 msgid "conflict" msgstr "xung đột" -#: readelf.c:11192 +#: readelf.c:8256 #, c-format msgid "" "\n" @@ -4657,15 +4751,15 @@ msgstr "" "\n" "Phần « .conflict » (xung đột) chứa %lu mục nhập:\n" -#: readelf.c:11194 +#: readelf.c:8258 msgid " Num: Index Value Name" msgstr " Số : CMục Giá trị Tên" -#: readelf.c:11243 +#: readelf.c:8311 msgid "liblist string table" msgstr "bảng chuỗi danh sách thư viên" -#: readelf.c:11252 +#: readelf.c:8321 #, c-format msgid "" "\n" @@ -4674,91 +4768,91 @@ msgstr "" "\n" "Phần danh sách thư viên « %s » chứa %lu mục nhập:\n" -#: readelf.c:11303 +#: readelf.c:8374 msgid "NT_AUXV (auxiliary vector)" msgstr "NT_AUXV (véc-tÆ¡ phụ)" -#: readelf.c:11305 +#: readelf.c:8376 msgid "NT_PRSTATUS (prstatus structure)" msgstr "NT_PRSTATUS (cấu trúc trạng thái prstatus)" -#: readelf.c:11307 +#: readelf.c:8378 msgid "NT_FPREGSET (floating point registers)" msgstr "NT_FPREGSET (thanh ghi điểm phù động)" -#: readelf.c:11309 +#: readelf.c:8380 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "NT_PRPSINFO (cấu trúc thông tin prpsinfo)" -#: readelf.c:11311 +#: readelf.c:8382 msgid "NT_TASKSTRUCT (task structure)" msgstr "NT_TASKSTRUCT (cấu trúc tác vụ)" -#: readelf.c:11313 +#: readelf.c:8384 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "NT_PRXFPREG (cấu trúc « user_xfpregs »)" -#: readelf.c:11315 +#: readelf.c:8386 msgid "NT_PSTATUS (pstatus structure)" msgstr "NT_PSTATUS (cấu trúc trạng thái pstatus)" -#: readelf.c:11317 +#: readelf.c:8388 msgid "NT_FPREGS (floating point registers)" msgstr "NT_FPREGS (thanh ghi điểm phù động)" -#: readelf.c:11319 +#: readelf.c:8390 msgid "NT_PSINFO (psinfo structure)" msgstr "NT_PSINFO (cấu trúc thông tin psinfo)" -#: readelf.c:11321 +#: readelf.c:8392 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "NT_LWPSTATUS (cấu trúc trạng thái « lwpstatus_t »)" -#: readelf.c:11323 +#: readelf.c:8394 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "NT_LWPSINFO (cấu trúc thông tin « lwpsinfo_t »)" -#: readelf.c:11325 +#: readelf.c:8396 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "NT_WIN32PSTATUS (cấu trúc trạng thái « win32_pstatus »)" -#: readelf.c:11333 +#: readelf.c:8404 msgid "NT_VERSION (version)" msgstr "NT_VERSION (phiên bản)" -#: readelf.c:11335 +#: readelf.c:8406 msgid "NT_ARCH (architecture)" msgstr "NT_ARCH (architecture)" -#: readelf.c:11340 readelf.c:11362 +#: readelf.c:8411 readelf.c:8433 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "Không biết kiểu ghi chú : (0x%08x)" #. NetBSD core "procinfo" structure. -#: readelf.c:11352 +#: readelf.c:8423 msgid "NetBSD procinfo structure" msgstr "Cấu trúc thông tin tiến trình procinfo NetBSD" -#: readelf.c:11379 readelf.c:11393 +#: readelf.c:8450 readelf.c:8464 msgid "PT_GETREGS (reg structure)" msgstr "PT_GETREGS (cấu trúc thanh ghi)" -#: readelf.c:11381 readelf.c:11395 +#: readelf.c:8452 readelf.c:8466 msgid "PT_GETFPREGS (fpreg structure)" msgstr "PT_GETFPREGS (cấu trúc thanh ghi « fpreg »)" # Name: don't translate / Tên: đừng dịch -#: readelf.c:11401 +#: readelf.c:8472 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "PT_FIRSTMACH+%d" -#: readelf.c:11447 +#: readelf.c:8518 msgid "notes" msgstr "ghi chú" -#: readelf.c:11453 +#: readelf.c:8524 #, c-format msgid "" "\n" @@ -4767,27 +4861,27 @@ msgstr "" "\n" "Gặp ghi chú tại hiệu số 0x%08lx có độ dài 0x%08lx:\n" -#: readelf.c:11455 +#: readelf.c:8526 #, c-format msgid " Owner\t\tData size\tDescription\n" msgstr " Chá»§\t\tCỡ dữ liệu\tMô tả\n" -#: readelf.c:11474 +#: readelf.c:8545 #, c-format -msgid "corrupt note found at offset %x into core notes\n" -msgstr "tìm ghi chú bị hỏng tại hiệu số %x vào ghi chú lõi\n" +msgid "corrupt note found at offset %lx into core notes\n" +msgstr "tìm ghi chú bị hỏng tại hiệu số %lx vào ghi chú lõi\n" -#: readelf.c:11476 +#: readelf.c:8547 #, c-format -msgid " type: %x, namesize: %08lx, descsize: %08lx\n" -msgstr " kiểu: %x, cỡ_tên: %08lx, cỡ_mô_tả: %08lx\n" +msgid " type: %lx, namesize: %08lx, descsize: %08lx\n" +msgstr " kiểu: %lx, cỡ_tên: %08lx, cỡ_mô_tả: %08lx\n" -#: readelf.c:11574 +#: readelf.c:8645 #, c-format msgid "No note segments present in the core file.\n" msgstr "Không có phân đoạn ghi chú trong tập tin lõi.\n" -#: readelf.c:11653 +#: readelf.c:8726 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" @@ -4796,12 +4890,12 @@ msgstr "" "không có hỗ trợ kiểu dữ liệu 64-bit\n" "nên không thể đọc tập tin ELF kiểu 64-bit.\n" -#: readelf.c:11700 readelf.c:12059 +#: readelf.c:8775 readelf.c:9119 #, c-format msgid "%s: Failed to read file header\n" msgstr "%s: việc đọc dòng đầu tập tin bị lỗi\n" -#: readelf.c:11713 +#: readelf.c:8788 #, c-format msgid "" "\n" @@ -4810,72 +4904,72 @@ msgstr "" "\n" "Tập tin: %s\n" -#: readelf.c:11876 readelf.c:11897 readelf.c:11934 readelf.c:12014 +#: readelf.c:8936 readelf.c:8957 readelf.c:8994 readelf.c:9074 #, c-format msgid "%s: failed to read archive header\n" msgstr "%s: việc đọc dòng đầu kho bị lỗi\n" # Type: error # Description -#: readelf.c:11887 +#: readelf.c:8947 #, c-format msgid "%s: failed to skip archive symbol table\n" msgstr "%s: việc nhảy qua bảng ký hiệu kho bị lỗi\n" # Type: error # Description -#: readelf.c:11919 +#: readelf.c:8979 #, c-format msgid "%s: failed to read string table\n" msgstr "%s: việc đọc bảng chuỗi bị lỗi\n" -#: readelf.c:11955 +#: readelf.c:9015 #, c-format msgid "%s: invalid archive string table offset %lu\n" msgstr "%s: hiệu số bảng chuỗi kho không hợp lệ %lu\n" -#: readelf.c:11971 +#: readelf.c:9031 #, c-format msgid "%s: bad archive file name\n" msgstr "%s: tên tập tin kho sai\n" -#: readelf.c:12003 +#: readelf.c:9063 #, c-format msgid "%s: failed to seek to next archive header\n" msgstr "%s: việc tìm tới dòng đầu kho kế tiếp bị lỗi\n" -#: readelf.c:12037 +#: readelf.c:9097 #, c-format msgid "'%s': No such file\n" msgstr "« %s »: không có tập tin như vậy\n" -#: readelf.c:12039 +#: readelf.c:9099 #, c-format msgid "Could not locate '%s'. System error message: %s\n" msgstr "Không thể định vị « %s ». Thông điệp lỗi hệ thống: %s\n" -#: readelf.c:12046 +#: readelf.c:9106 #, c-format msgid "'%s' is not an ordinary file\n" msgstr "« %s » không phải là tập tin chuẩn\n" -#: readelf.c:12053 +#: readelf.c:9113 #, c-format msgid "Input file '%s' is not readable.\n" msgstr "Tập tin nhập « %s » không có khả năng đọc.\n" -#: rename.c:127 +#: rename.c:129 #, c-format msgid "%s: cannot set time: %s" msgstr "%s: không thể lập thời gian: %s" #. We have to clean up here. -#: rename.c:162 rename.c:200 +#: rename.c:164 rename.c:202 #, c-format msgid "unable to rename '%s' reason: %s" msgstr "không thể đổi tên %s vì lý do : %s" -#: rename.c:208 +#: rename.c:210 #, c-format msgid "unable to copy file '%s' reason: %s" msgstr "không thể sao chép tập tin « %s » vì lý do : %s" @@ -5108,7 +5202,7 @@ msgstr "mục nhập thư mục có tên" #: rescoff.c:227 msgid "directory entry name" -msgstr "tên mục nhập thư mục " +msgstr "tên mục nhập thư mục" #: rescoff.c:247 msgid "named subdirectory" @@ -5259,17 +5353,17 @@ msgstr "việc lấy các thông tin bị lỗi trên tập tin « %s »: %s" msgid "can't open `%s' for output: %s" msgstr "không thể mở « %s » để xuất: %s" -#: size.c:81 +#: size.c:83 #, c-format msgid " Displays the sizes of sections inside binary files\n" msgstr " Hiển thị kích cỡ cá»§a các phần ở trong tập tin nhị phân\n" -#: size.c:82 +#: size.c:84 #, c-format msgid " If no input file(s) are specified, a.out is assumed\n" -msgstr "Nếu chưa ghi rõ tập tin nhập, giả sá»­ \n" +msgstr " Nếu chưa ghi rõ tập tin nhập, giả sá»­ \n" -#: size.c:83 +#: size.c:85 #, c-format msgid "" " The options are:\n" @@ -5277,6 +5371,7 @@ msgid "" " -o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n" " -t --totals Display the total sizes (Berkeley only)\n" " --target= Set the binary file format\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Display the program's version\n" "\n" @@ -5291,16 +5386,17 @@ msgstr "" " -t --totals Hiển thị các kích cỡ _tổng cổng_ (chỉ Berkeley)\n" " --target= \tLập dạng thức tập tin nhị phân\n" "\t\t\t(đích)\n" +" @ Đọc các tùy chọn từ tập tin đó\n" " -h --help Hiển thị _trợ giúp_ này\n" " -v --version Hiển thị _phiên bản_ cá»§a chương trình này\n" "\n" -#: size.c:153 +#: size.c:158 #, c-format msgid "invalid argument to --format: %s" msgstr "đối sô không hợp lệ tới « --format » (dạng thức): %s" -#: size.c:180 +#: size.c:185 #, c-format msgid "Invalid radix: %s\n" msgstr "CÆ¡ sở không hợp lệ: %s\n" @@ -5317,6 +5413,7 @@ msgid "" " -q --quick (Obsolete - ignored)\n" " -n --noprescan Do not perform a scan to convert commons into defs\n" " -d --debug Display information about what is being done\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5328,10 +5425,11 @@ msgstr "" "\t\t(không quét trước)\n" " -d --debug \t\t\tHiển thị thông tin về hành động hiện thời\n" "\t\t(gỡ lỗi)\n" +" @ Đọc các tùy chọn từ tập tin đó\n" " -h --help \t\t\tHiển thị _trợ giúp_ này\n" " -v --version \t\tIn ra số thứ tá»± _phiên bản_ cá»§a chương trình\n" -#: srconv.c:1866 +#: srconv.c:1869 #, c-format msgid "unable to open output file %s" msgstr "không thể mở tập tin kết xuất %s" @@ -5469,22 +5567,22 @@ msgstr "Gặp một số varargs (đối số biến) đã tháo gỡ bất ng msgid "Unrecognized demangled builtin type\n" msgstr "Không nhận diện kiểu builtin (điều có sẵn) đã tháo gỡ\n" -#: strings.c:206 +#: strings.c:218 #, c-format msgid "invalid number %s" msgstr "số không hợp lệ %s" -#: strings.c:643 +#: strings.c:700 #, c-format msgid "invalid integer argument %s" msgstr "đối số số nguyên không hợp lệ %s" -#: strings.c:652 +#: strings.c:709 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr " Hiển thị các chuỗi có khả năng in trong [tập tin...] (mặc định là thiết bị nhập chuẩn)\n" -#: strings.c:653 +#: strings.c:710 #, c-format msgid "" " The options are:\n" @@ -5497,6 +5595,7 @@ msgid "" " -T --target= Specify the binary file format\n" " -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n" " s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Read options from \n" " -h --help Display this information\n" " -v --version Print the program's version number\n" msgstr "" @@ -5516,15 +5615,16 @@ msgstr "" " -e --encoding={s,S,b,l,B,L}\n" "\t\tChọn kích cỡ ký tá»± và tính trạng cuối (endian):\n" " \ts = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n" +" @ Đọc các tùy chọn từ tập tin đó\n" " -h --help \t\tHiển thị _trợ giúp_ này\n" " -v --version \t\tIn ra số thứ tá»± _phiên bản_ cá»§a chương trình\n" -#: sysdump.c:649 +#: sysdump.c:642 #, c-format msgid "Print a human readable interpretation of a SYSROFF object file\n" msgstr "In ra lời giải dịch tập tin đối tượng SYSROFF cho người đọc\n" -#: sysdump.c:650 +#: sysdump.c:643 #, c-format msgid "" " The options are:\n" @@ -5535,7 +5635,7 @@ msgstr "" " -h --help \t\tHiển thị _trợ giúp_ này\n" " -v --version \t\tIn ra số thứ tá»± _phiên bản_ cá»§a chương trình\n" -#: sysdump.c:715 +#: sysdump.c:710 #, c-format msgid "cannot open input file %s" msgstr "không thể mở tập tin nhập %s" @@ -5651,14 +5751,16 @@ msgstr " --yydebug Bật khả năng gỡ lỗi kiểu bộ #, c-format msgid "" " -r Ignored for compatibility with rc\n" +" @ Read options from \n" " -h --help Print this help message\n" " -V --version Print version information\n" msgstr "" " -r\t\t\t\t\t \t \t\t Bị bỏ qua để tương thích với rc (tài nguyên)\n" +" @ Đọc các tùy chọn từ tập tin đó\n" " -h, --help \t\t\t\t rctrợ giúp_ này\n" " -V, --version \t\t\t\t In ra thông tin _phiên bản_\n" -#: windres.c:664 +#: windres.c:665 #, c-format msgid "" "FORMAT is one of rc, res, or coff, and is deduced from the file name\n" @@ -5671,20 +5773,20 @@ msgstr "" "thiết bị nhập chuẩn, mặc định là rc. Không có tập tin xuất thì\n" "thiết bị xuất chuẩn, mặc định là rc.\n" -#: windres.c:800 +#: windres.c:803 msgid "invalid option -f\n" msgstr "tùy chọn không hợp lệ « -f »\n" -#: windres.c:805 +#: windres.c:808 msgid "No filename following the -fo option.\n" msgstr "Không có tên tập tin đi sau tùy chọn « -fo ».\n" -#: windres.c:863 +#: windres.c:866 #, c-format msgid "Option -I is deprecated for setting the input format, please use -J instead.\n" msgstr "Tùy chọn « -l » bị phản đối để lập dạng thức nhập, hãy dùng « -J » thay thế.\n" -#: windres.c:981 +#: windres.c:984 msgid "no resources" msgstr "không có tài nguyên nào" @@ -5702,3 +5804,68 @@ msgstr "stab_int_type: (kiểu số nguyên stab) kích cỡ sai %u" #, c-format msgid "%s: warning: unknown size for field `%s' in struct" msgstr "%s: cảnh báo : không biết kích cỡ cho trường « %s » trong cấu trúc" + +#~ msgid "flags" +#~ msgstr "cờ" + +#~ msgid "debug_str section data" +#~ msgstr "debug_str section data" + +#~ msgid "debug_loc section data" +#~ msgstr "dữ liệu phần « debug_loc » (định vị gỡ lỗi)" + +#~ msgid "debug_range section data" +#~ msgstr "dữ liệu phần « debug_range » (phạm vị gỡ lỗi)" + +#~ msgid "%s: skipping unexpected symbol type %s in relocation in section .rela%s\n" +#~ msgstr "%s: đang nhảy qua kiểu ký hiệu bất ngờ %s trong việc định vị lại trong phần .rela%s\n" + +#~ msgid "debug_abbrev section data" +#~ msgstr "dữ liệu phần « .debug_abbrev » (gỡ lỗi viết tắt)" + +#~ msgid "extracting information from .debug_info section" +#~ msgstr "đang trích thông tin ra phần « .debug_info » (thông tin gỡ lỗi)" + +#~ msgid "" +#~ "\n" +#~ "The .debug_loc section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "Phần « .debug_loc » (gỡ lỗi định vị) rỗng:\n" + +#~ msgid "" +#~ "Contents of the .debug_loc section:\n" +#~ "\n" +#~ msgstr "" +#~ "Nội dung cá»§a phần « .debug_info » (thông tin gỡ lỗi):\n" +#~ "\n" + +#~ msgid "" +#~ "Contents of the .debug_str section:\n" +#~ "\n" +#~ msgstr "" +#~ "Nội dung cá»§a phần « .debug_str » (chuỗi gỡ lỗi):\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "The .debug_ranges section is empty.\n" +#~ msgstr "" +#~ "\n" +#~ "Phần « .debug_ranges » (các phạm vị gỡ lỗi) rỗng.\n" + +#~ msgid "" +#~ "Contents of the .debug_ranges section:\n" +#~ "\n" +#~ msgstr "" +#~ "Nội dung cá»§a phần « .debug_ranges » (các phạm vị gỡ lỗi):\n" +#~ "\n" + +#~ msgid "There is a hole [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Có một lỗ [0x%lx - 0x%lx] trong phần « .debug_ranges » (các phạm vị gỡ lỗi).\n" + +#~ msgid "There is an overlap [0x%lx - 0x%lx] in .debug_ranges section.\n" +#~ msgstr "Có một chồng lấp [0x%lx - 0x%lx] trong phần « .debug_ranges » (các phạm vị gỡ lỗi).\n" + +#~ msgid "debug section data" +#~ msgstr "dữ liệu phần gỡ lỗi" diff --git a/binutils/resbin.c b/binutils/resbin.c index 2c20a273a1a..80c2596a70b 100644 --- a/binutils/resbin.c +++ b/binutils/resbin.c @@ -1331,7 +1331,7 @@ resid_to_bin (struct res_id id, int big_endian) if (! id.named) { d->length = 4; - d->data = (unsigned char *) reswr_alloc (4); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, 0xffff, d->data); put_16 (big_endian, id.u.id, d->data + 2); } @@ -1408,7 +1408,7 @@ res_to_bin_accelerator (const struct accelerator *accelerators, d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 8; - d->data = (unsigned char *) reswr_alloc (8); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, a->flags | (a->next != NULL ? 0 : ACC_LAST), @@ -1434,7 +1434,7 @@ res_to_bin_cursor (const struct cursor *c, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 4; - d->data = (unsigned char *) reswr_alloc (4); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, c->xhotspot, d->data); put_16 (big_endian, c->yhotspot, d->data + 2); @@ -1459,7 +1459,7 @@ res_to_bin_group_cursor (const struct group_cursor *group_cursors, first = (struct bindata *) reswr_alloc (sizeof *first); first->length = 6; - first->data = (unsigned char *) reswr_alloc (6); + first->data = (unsigned char *) reswr_alloc (first->length); put_16 (big_endian, 0, first->data); put_16 (big_endian, 2, first->data + 2); @@ -1476,7 +1476,7 @@ res_to_bin_group_cursor (const struct group_cursor *group_cursors, d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 14; - d->data = (unsigned char *) reswr_alloc (14); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, gc->width, d->data); put_16 (big_endian, gc->height, d->data + 2); @@ -1642,7 +1642,7 @@ res_to_bin_dialog (const struct dialog *dialog, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 2; - d->data = (unsigned char *) reswr_alloc (2); + d->data = (unsigned char *) reswr_alloc (d->length); length += 2; @@ -1687,7 +1687,7 @@ res_to_bin_fontdir (const struct fontdir *fontdirs, int big_endian) first = (struct bindata *) reswr_alloc (sizeof *first); first->length = 2; - first->data = (unsigned char *) reswr_alloc (2); + first->data = (unsigned char *) reswr_alloc (first->length); first->next = NULL; pp = &first->next; @@ -1701,7 +1701,7 @@ res_to_bin_fontdir (const struct fontdir *fontdirs, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 2; - d->data = (unsigned char *) reswr_alloc (2); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, fd->index, d->data); @@ -1733,7 +1733,7 @@ res_to_bin_group_icon (const struct group_icon *group_icons, int big_endian) first = (struct bindata *) reswr_alloc (sizeof *first); first->length = 6; - first->data = (unsigned char *) reswr_alloc (6); + first->data = (unsigned char *) reswr_alloc (first->length); put_16 (big_endian, 0, first->data); put_16 (big_endian, 1, first->data + 2); @@ -1750,7 +1750,7 @@ res_to_bin_group_icon (const struct group_icon *group_icons, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 14; - d->data = (unsigned char *) reswr_alloc (14); + d->data = (unsigned char *) reswr_alloc (d->length); d->data[0] = gi->width; d->data[1] = gi->height; @@ -1875,7 +1875,7 @@ res_to_bin_menuexitems (const struct menuitem *items, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 12; - d->data = (unsigned char *) reswr_alloc (12); + d->data = (unsigned char *) reswr_alloc (d->length); length += 12; @@ -1903,7 +1903,7 @@ res_to_bin_menuexitems (const struct menuitem *items, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 4; - d->data = (unsigned char *) reswr_alloc (4); + d->data = (unsigned char *) reswr_alloc (d->length); put_32 (big_endian, mi->help, d->data); @@ -1948,13 +1948,13 @@ res_to_bin_rcdata (const struct rcdata_item *items, int big_endian) case RCDATA_WORD: d->length = 2; - d->data = (unsigned char *) reswr_alloc (2); + d->data = (unsigned char *) reswr_alloc (d->length); put_16 (big_endian, ri->u.word, d->data); break; case RCDATA_DWORD: d->length = 4; - d->data = (unsigned char *) reswr_alloc (4); + d->data = (unsigned char *) reswr_alloc (d->length); put_32 (big_endian, ri->u.dword, d->data); break; @@ -2060,7 +2060,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) first = (struct bindata *) reswr_alloc (sizeof *first); first->length = 6; - first->data = (unsigned char *) reswr_alloc (6); + first->data = (unsigned char *) reswr_alloc (first->length); length = 6; @@ -2086,7 +2086,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) d = (struct bindata *) reswr_alloc (sizeof *d); d->length = 52; - d->data = (unsigned char *) reswr_alloc (52); + d->data = (unsigned char *) reswr_alloc (d->length); length += 52; @@ -2120,7 +2120,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) vid = (struct bindata *) reswr_alloc (sizeof *vid); vid->length = 6; - vid->data = (unsigned char *) reswr_alloc (6); + vid->data = (unsigned char *) reswr_alloc (vid->length); length += 6; vilen = 6; @@ -2153,7 +2153,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) vsd = (struct bindata *) reswr_alloc (sizeof *vsd); vsd->length = 6; - vsd->data = (unsigned char *) reswr_alloc (6); + vsd->data = (unsigned char *) reswr_alloc (vsd->length); length += 6; vilen += 6; @@ -2183,7 +2183,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) vssd = (struct bindata *) reswr_alloc (sizeof *vssd); vssd->length = 6; - vssd->data = (unsigned char *) reswr_alloc (6); + vssd->data = (unsigned char *) reswr_alloc (vssd->length); length += 6; vilen += 6; @@ -2241,7 +2241,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) vvd = (struct bindata *) reswr_alloc (sizeof *vvd); vvd->length = 6; - vvd->data = (unsigned char *) reswr_alloc (6); + vvd->data = (unsigned char *) reswr_alloc (vvd->length); length += 6; vilen += 6; @@ -2271,7 +2271,7 @@ res_to_bin_versioninfo (const struct versioninfo *versioninfo, int big_endian) vvsd = (struct bindata *) reswr_alloc (sizeof *vvsd); vvsd->length = 4; - vvsd->data = (unsigned char *) reswr_alloc (4); + vvsd->data = (unsigned char *) reswr_alloc (vvsd->length); length += 4; vilen += 4; diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 03dea90b33d..175e539dfee 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -3,6 +3,10 @@ * binutils-all/localize-hidden-1.d: Use objdump --syms instead of readelf. +2006-04-10 H.J. Lu + + * lib/utils-lib.exp (default_binutils_run): Check exit status. + 2005-12-24 Ben Elliston * config/default.exp: Do not load the unneeded util-defs.exp. diff --git a/binutils/testsuite/lib/utils-lib.exp b/binutils/testsuite/lib/utils-lib.exp index b5ed3f2599a..3ee76754a5a 100644 --- a/binutils/testsuite/lib/utils-lib.exp +++ b/binutils/testsuite/lib/utils-lib.exp @@ -73,6 +73,12 @@ proc default_binutils_run { prog progargs } { if {![string match "" $exec_output]} then { send_log "$exec_output\n" verbose "$exec_output" + } else { + if { [lindex $state 0] != 0 } { + set exec_output "$prog exited with status [lindex $state 0]" + send_log "$exec_output\n" + verbose "$exec_output" + } } return $exec_output } diff --git a/compile b/compile deleted file mode 100755 index 1b1d2321695..00000000000 --- a/compile +++ /dev/null @@ -1,142 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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 2, 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. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/configure b/configure index a4f069db09d..ffbe198518f 100755 --- a/configure +++ b/configure @@ -3634,10 +3634,10 @@ case " $build_configdirs " in *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; *) - # For an installed makeinfo, we require it to be from texinfo 4.2 or + # For an installed makeinfo, we require it to be from texinfo 4.4 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" diff --git a/configure.in b/configure.in index 88ad3686037..8e56c773f80 100644 --- a/configure.in +++ b/configure.in @@ -2203,10 +2203,10 @@ case " $build_configdirs " in *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; *) changequote(,) - # For an installed makeinfo, we require it to be from texinfo 4.2 or + # For an installed makeinfo, we require it to be from texinfo 4.4 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" diff --git a/contrib/ChangeLog b/contrib/ChangeLog deleted file mode 100644 index 4a0de852933..00000000000 --- a/contrib/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2002-07-03 Nick Clifton - - * ChangeLog: Newly created. - * texi2pod.pl: Imported from FSF GCC sources. - - - diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl deleted file mode 100755 index e5560f303de..00000000000 --- a/contrib/texi2pod.pl +++ /dev/null @@ -1,431 +0,0 @@ -#! /usr/bin/perl -w - -# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - -# This file is part of GNU CC. - -# GNU CC 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 2, or (at your option) -# any later version. - -# GNU CC 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 GNU CC; see the file COPYING. If not, write to -# the Free Software Foundation, 59 Temple Place - Suite 330, -# Boston MA 02111-1307, USA. - -# This does trivial (and I mean _trivial_) conversion of Texinfo -# markup to Perl POD format. It's intended to be used to extract -# something suitable for a manpage from a Texinfo document. - -$output = 0; -$skipping = 0; -%sects = (); -$section = ""; -@icstack = (); -@endwstack = (); -@skstack = (); -@instack = (); -$shift = ""; -%defs = (); -$fnno = 1; -$inf = ""; -$ibase = ""; - -while ($_ = shift) { - if (/^-D(.*)$/) { - if ($1 ne "") { - $flag = $1; - } else { - $flag = shift; - } - $value = ""; - ($flag, $value) = ($flag =~ /^([^=]+)(?:=(.+))?/); - die "no flag specified for -D\n" - unless $flag ne ""; - die "flags may only contain letters, digits, hyphens, dashes and underscores\n" - unless $flag =~ /^[a-zA-Z0-9_-]+$/; - $defs{$flag} = $value; - } elsif (/^-/) { - usage(); - } else { - $in = $_, next unless defined $in; - $out = $_, next unless defined $out; - usage(); - } -} - -if (defined $in) { - $inf = gensym(); - open($inf, "<$in") or die "opening \"$in\": $!\n"; - $ibase = $1 if $in =~ m|^(.+)/[^/]+$|; -} else { - $inf = \*STDIN; -} - -if (defined $out) { - open(STDOUT, ">$out") or die "opening \"$out\": $!\n"; -} - -while(defined $inf) { -while(<$inf>) { - # Certain commands are discarded without further processing. - /^\@(?: - [a-z]+index # @*index: useful only in complete manual - |need # @need: useful only in printed manual - |(?:end\s+)?group # @group .. @end group: ditto - |page # @page: ditto - |node # @node: useful only in .info file - |(?:end\s+)?ifnottex # @ifnottex .. @end ifnottex: use contents - )\b/x and next; - - chomp; - - # Look for filename and title markers. - /^\@setfilename\s+([^.]+)/ and $fn = $1, next; - /^\@settitle\s+([^.]+)/ and $tl = postprocess($1), next; - - # Identify a man title but keep only the one we are interested in. - /^\@c\s+man\s+title\s+([A-Za-z0-9-]+)\s+(.+)/ and do { - if (exists $defs{$1}) { - $fn = $1; - $tl = postprocess($2); - } - next; - }; - - # Look for blocks surrounded by @c man begin SECTION ... @c man end. - # This really oughta be @ifman ... @end ifman and the like, but such - # would require rev'ing all other Texinfo translators. - /^\@c\s+man\s+begin\s+([A-Z]+)\s+([A-Za-z0-9-]+)/ and do { - $output = 1 if exists $defs{$2}; - $sect = $1; - next; - }; - /^\@c\s+man\s+begin\s+([A-Z]+)/ and $sect = $1, $output = 1, next; - /^\@c\s+man\s+end/ and do { - $sects{$sect} = "" unless exists $sects{$sect}; - $sects{$sect} .= postprocess($section); - $section = ""; - $output = 0; - next; - }; - - # handle variables - /^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and do { - $defs{$1} = $2; - next; - }; - /^\@clear\s+([a-zA-Z0-9_-]+)/ and do { - delete $defs{$1}; - next; - }; - - next unless $output; - - # Discard comments. (Can't do it above, because then we'd never see - # @c man lines.) - /^\@c\b/ and next; - - # End-block handler goes up here because it needs to operate even - # if we are skipping. - /^\@end\s+([a-z]+)/ and do { - # Ignore @end foo, where foo is not an operation which may - # cause us to skip, if we are presently skipping. - my $ended = $1; - next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex)$/; - - die "\@end $ended without \@$ended at line $.\n" unless defined $endw; - die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw; - - $endw = pop @endwstack; - - if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) { - $skipping = pop @skstack; - next; - } elsif ($ended =~ /^(?:example|smallexample|display)$/) { - $shift = ""; - $_ = ""; # need a paragraph break - } elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) { - $_ = "\n=back\n"; - $ic = pop @icstack; - } else { - die "unknown command \@end $ended at line $.\n"; - } - }; - - # We must handle commands which can cause skipping even while we - # are skipping, otherwise we will not process nested conditionals - # correctly. - /^\@ifset\s+([a-zA-Z0-9_-]+)/ and do { - push @endwstack, $endw; - push @skstack, $skipping; - $endw = "ifset"; - $skipping = 1 unless exists $defs{$1}; - next; - }; - - /^\@ifclear\s+([a-zA-Z0-9_-]+)/ and do { - push @endwstack, $endw; - push @skstack, $skipping; - $endw = "ifclear"; - $skipping = 1 if exists $defs{$1}; - next; - }; - - /^\@(ignore|menu|iftex)\b/ and do { - push @endwstack, $endw; - push @skstack, $skipping; - $endw = $1; - $skipping = 1; - next; - }; - - next if $skipping; - - # Character entities. First the ones that can be replaced by raw text - # or discarded outright: - s/\@copyright\{\}/(c)/g; - s/\@dots\{\}/.../g; - s/\@enddots\{\}/..../g; - s/\@([.!? ])/$1/g; - s/\@[:-]//g; - s/\@bullet(?:\{\})?/*/g; - s/\@TeX\{\}/TeX/g; - s/\@pounds\{\}/\#/g; - s/\@minus(?:\{\})?/-/g; - s/\\,/,/g; - - # Now the ones that have to be replaced by special escapes - # (which will be turned back into text by unmunge()) - s/&/&/g; - s/\@\{/{/g; - s/\@\}/}/g; - s/\@\@/&at;/g; - - # Inside a verbatim block, handle @var specially. - if ($shift ne "") { - s/\@var\{([^\}]*)\}/<$1>/g; - } - - # POD doesn't interpret E<> inside a verbatim block. - if ($shift eq "") { - s//>/g; - } else { - s//>/g; - } - - # Single line command handlers. - - /^\@include\s+(.+)$/ and do { - push @instack, $inf; - $inf = gensym(); - - # Try cwd and $ibase. - open($inf, "<" . $1) - or open($inf, "<" . $ibase . "/" . $1) - or die "cannot open $1 or $ibase/$1: $!\n"; - next; - }; - - /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/ - and $_ = "\n=head2 $1\n"; - /^\@subsection\s+(.+)$/ - and $_ = "\n=head3 $1\n"; - - # Block command handlers: - /^\@itemize\s+(\@[a-z]+|\*|-)/ and do { - push @endwstack, $endw; - push @icstack, $ic; - $ic = $1; - $_ = "\n=over 4\n"; - $endw = "itemize"; - }; - - /^\@enumerate(?:\s+([a-zA-Z0-9]+))?/ and do { - push @endwstack, $endw; - push @icstack, $ic; - if (defined $1) { - $ic = $1 . "."; - } else { - $ic = "1."; - } - $_ = "\n=over 4\n"; - $endw = "enumerate"; - }; - - /^\@([fv]?table)\s+(\@[a-z]+)/ and do { - push @endwstack, $endw; - push @icstack, $ic; - $endw = $1; - $ic = $2; - $ic =~ s/\@(?:samp|strong|key|gcctabopt|env)/B/; - $ic =~ s/\@(?:code|kbd)/C/; - $ic =~ s/\@(?:dfn|var|emph|cite|i)/I/; - $ic =~ s/\@(?:file)/F/; - $_ = "\n=over 4\n"; - }; - - /^\@((?:small)?example|display)/ and do { - push @endwstack, $endw; - $endw = $1; - $shift = "\t"; - $_ = ""; # need a paragraph break - }; - - /^\@itemx?\s*(.+)?$/ and do { - if (defined $1) { - # Entity escapes prevent munging by the <> processing below. - $_ = "\n=item $ic\<$1\>\n"; - } else { - $_ = "\n=item $ic\n"; - $ic =~ y/A-Ya-y/B-Zb-z/; - $ic =~ s/(\d+)/$1 + 1/eg; - } - }; - - $section .= $shift.$_."\n"; -} -# End of current file. -close($inf); -$inf = pop @instack; -} - -die "No filename or title\n" unless defined $fn && defined $tl; - -$sects{NAME} = "$fn \- $tl\n"; -$sects{FOOTNOTES} .= "=back\n" if exists $sects{FOOTNOTES}; - -for $sect (qw(NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT FILES - BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) { - if(exists $sects{$sect}) { - $head = $sect; - $head =~ s/SEEALSO/SEE ALSO/; - print "=head1 $head\n\n"; - print scalar unmunge ($sects{$sect}); - print "\n"; - } -} - -sub usage -{ - die "usage: $0 [-D toggle...] [infile [outfile]]\n"; -} - -sub postprocess -{ - local $_ = $_[0]; - - # @value{foo} is replaced by whatever 'foo' is defined as. - while (m/(\@value\{([a-zA-Z0-9_-]+)\})/g) { - if (! exists $defs{$2}) { - print STDERR "Option $2 not defined\n"; - s/\Q$1\E//; - } else { - $value = $defs{$2}; - s/\Q$1\E/$value/; - } - } - - # Formatting commands. - # Temporary escape for @r. - s/\@r\{([^\}]*)\}/R<$1>/g; - s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g; - s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g; - s/\@(?:gccoptlist|samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g; - s/\@sc\{([^\}]*)\}/\U$1/g; - s/\@file\{([^\}]*)\}/F<$1>/g; - s/\@w\{([^\}]*)\}/S<$1>/g; - s/\@(?:dmn|math)\{([^\}]*)\}/$1/g; - - # Cross references are thrown away, as are @noindent and @refill. - # (@noindent is impossible in .pod, and @refill is unnecessary.) - # @* is also impossible in .pod; we discard it and any newline that - # follows it. Similarly, our macro @gol must be discarded. - - s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g; - s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g; - s/;\s+\@pxref\{(?:[^\}]*)\}//g; - s/\@noindent\s*//g; - s/\@refill//g; - s/\@gol//g; - s/\@\*\s*\n?//g; - - # @uref can take one, two, or three arguments, with different - # semantics each time. @url and @email are just like @uref with - # one argument, for our purposes. - s/\@(?:uref|url|email)\{([^\},]*)\}/<B<$1>>/g; - s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g; - s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g; - - # Un-escape <> at this point. - s/<//g; - - # Now un-nest all B<>, I<>, R<>. Theoretically we could have - # indefinitely deep nesting; in practice, one level suffices. - 1 while s/([BIR])<([^<>]*)([BIR])<([^<>]*)>/$1<$2>$3<$4>$1 with bare ...; eliminate empty markup, B<>; - # shift white space at the ends of [BI]<...> expressions outside - # the expression. - s/R<([^<>]*)>/$1/g; - s/[BI]<>//g; - s/([BI])<(\s+)([^>]+)>/$2$1<$3>/g; - s/([BI])<([^>]+?)(\s+)>/$1<$2>$3/g; - - # Extract footnotes. This has to be done after all other - # processing because otherwise the regexp will choke on formatting - # inside @footnote. - while (/\@footnote/g) { - s/\@footnote\{([^\}]+)\}/[$fnno]/; - add_footnote($1, $fnno); - $fnno++; - } - - return $_; -} - -sub unmunge -{ - # Replace escaped symbols with their equivalents. - local $_ = $_[0]; - - s/</E/g; - s/>/E/g; - s/{/\{/g; - s/}/\}/g; - s/&at;/\@/g; - s/&/&/g; - return $_; -} - -sub add_footnote -{ - unless (exists $sects{FOOTNOTES}) { - $sects{FOOTNOTES} = "\n=over 4\n\n"; - } - - $sects{FOOTNOTES} .= "=item $fnno.\n\n"; $fnno++; - $sects{FOOTNOTES} .= $_[0]; - $sects{FOOTNOTES} .= "\n\n"; -} - -# stolen from Symbol.pm -{ - my $genseq = 0; - sub gensym - { - my $name = "GEN" . $genseq++; - my $ref = \*{$name}; - delete $::{$name}; - return $ref; - } -} diff --git a/cpu/ChangeLog b/cpu/ChangeLog index 2a888e0cf4e..c0019d8f1c8 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,17 @@ +2006-04-10 DJ Delorie + + * m32c.opc (parse_unsigned_bitbase): Take a new parameter which + decides if this function accepts symbolic constants or not. + (parse_signed_bitbase): Likewise. + (parse_unsigned_bitbase8): Pass the new parameter. + (parse_unsigned_bitbase11): Likewise. + (parse_unsigned_bitbase16): Likewise. + (parse_unsigned_bitbase19): Likewise. + (parse_unsigned_bitbase27): Likewise. + (parse_signed_bitbase8): Likewise. + (parse_signed_bitbase11): Likewise. + (parse_signed_bitbase19): Likewise. + 2006-03-13 DJ Delorie * m32c.cpu (Bit3-S): New. diff --git a/cpu/m32c.opc b/cpu/m32c.opc index f664e9a2cdd..6b9ef1125e4 100644 --- a/cpu/m32c.opc +++ b/cpu/m32c.opc @@ -608,13 +608,14 @@ parse_Bitno16R (CGEN_CPU_DESC cd, const char **strp, static const char * parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep, - unsigned bits) + unsigned bits, int allow_syms) { const char *errmsg = 0; unsigned long bit; unsigned long base; const char *newp = *strp; unsigned long long bitbase; + long have_zero = 0; errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & bit); if (errmsg) @@ -624,6 +625,11 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, return "Missing base for bit,base:8"; ++newp; + + if (strncmp (newp, "0x0", 3) == 0 + || (newp[0] == '0' && newp[1] != 'x')) + have_zero = 1; + errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & base); if (errmsg) return errmsg; @@ -633,6 +639,21 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, if (bitbase >= (1ull << bits)) return _("bit,base is out of range"); + /* If this field may require a relocation then use larger displacement. */ + if (! have_zero && base == 0) + { + switch (allow_syms) { + case 0: + return _("bit,base out of range for symbol"); + case 1: + break; + case 2: + if (strncmp (newp, "[sb]", 4) != 0) + return _("bit,base out of range for symbol"); + break; + } + } + *valuep = bitbase; *strp = newp; return 0; @@ -641,7 +662,7 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, static const char * parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep, - unsigned bits) + unsigned bits, int allow_syms) { const char *errmsg = 0; unsigned long bit; @@ -649,6 +670,7 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, const char *newp = *strp; long long bitbase; long long limit; + long have_zero = 0; errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & bit); if (errmsg) @@ -658,6 +680,11 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, return "Missing base for bit,base:8"; ++newp; + + if (strncmp (newp, "0x0", 3) == 0 + || (newp[0] == '0' && newp[1] != 'x')) + have_zero = 1; + errmsg = cgen_parse_signed_integer (cd, & newp, opindex, & base); if (errmsg) return errmsg; @@ -668,6 +695,10 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, if (bitbase < -limit || bitbase >= limit) return _("bit,base is out of range"); + /* If this field may require a relocation then use larger displacement. */ + if (! have_zero && base == 0 && ! allow_syms) + return _("bit,base out of range for symbol"); + *valuep = bitbase; *strp = newp; return 0; @@ -677,56 +708,56 @@ static const char * parse_unsigned_bitbase8 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 8); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 8, 0); } static const char * parse_unsigned_bitbase11 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 11); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 11, 0); } static const char * parse_unsigned_bitbase16 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 16); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 16, 1); } static const char * parse_unsigned_bitbase19 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 19); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 19, 2); } static const char * parse_unsigned_bitbase27 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 27); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 27, 1); } static const char * parse_signed_bitbase8 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 8); + return parse_signed_bitbase (cd, strp, opindex, valuep, 8, 1); } static const char * parse_signed_bitbase11 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 11); + return parse_signed_bitbase (cd, strp, opindex, valuep, 11, 0); } static const char * parse_signed_bitbase19 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 19); + return parse_signed_bitbase (cd, strp, opindex, valuep, 19, 1); } /* Parse the suffix as : or as nothing followed by a whitespace. */ diff --git a/djunpack.bat b/djunpack.bat deleted file mode 100755 index f09f5ed3251..00000000000 --- a/djunpack.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off -Rem -Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line -Rem format, or else stock DOS/Windows shells will refuse to run it. -Rem -Rem This batch file unpacks the GDB distribution while simultaneously -Rem renaming some of the files whose names are invalid on DOS or conflict -Rem with other file names after truncation to DOS 8+3 namespace. -Rem -Rem Invoke like this: -Rem -Rem djunpack gdb-XYZ.tar -Rem -Rem where XYZ is the version number. If the argument includes leading -Rem directories, it MUST use backslashes, not forward slashes. -Rem -Rem The following 2 lines need to be changed with each new GDB release, to -Rem be identical to the name of the top-level directory where the GDB -Rem distribution unpacks itself. -set GDBVER=gdb-5.0 -if "%GDBVER%"=="gdb-5.0" GoTo EnvOk -Rem If their environment space is too small, re-exec with a larger one -command.com /e:4096 /c %0 %1 -GoTo End -:EnvOk -if not exist %1 GoTo NoArchive -djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp -Rem The following uses a feature of COPY whereby it does not copy -Rem empty files. We need that because the previous line will create -Rem an empty fnchange.tmp even if the command failed for some reason. -copy fnchange.tmp junk.tmp > nul -if not exist junk.tmp GoTo NoDjTar -del junk.tmp -sed -e 's,@V@,%GDBVER%,g' < fnchange.tmp > fnchange.lst -Rem See the comment above about the reason for using COPY. -copy fnchange.lst junk.tmp > nul -if not exist junk.tmp GoTo NoSed -del junk.tmp -djtar -x -n fnchange.lst %1 -GoTo End -:NoSed -echo FAIL: Sed is not available. -GoTo End -:NoDjTar -echo FAIL: DJTAR is not available or no fnchange.lst file in %1. -GoTo End -:NoArchive -echo FAIL: the file %1 does not seem to exist. -echo Remember that %1 cannot use forward slashes, only backslashes. -GoTo End -:End -set GDBVER= diff --git a/etc/ChangeLog b/etc/ChangeLog index 64fdee6c02b..a5959c70a70 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,19 @@ +2006-05-31 Daniel Jacobowitz + + * texi2pod.pl: Correct handling of absolute @include. + +2006-05-02 Daniel Jacobowitz + + * texi2pod.pl: Handle -I. + +2006-04-06 Carlos O'Donell + + * Makefile.in: Add install-html target. Add htmldir, + docdir and datarootdir. + * configure.texi: Document install-html target. + * configure.in: AC_SUBST datarootdir, docdir, htmldir. + * configure: Regenerate. + 2006-02-27 Carlos O'Donell * Makefile.in: TEXI2HTML uses makeinfo. Define diff --git a/etc/configure b/etc/configure index c2e1ad1e36c..82033e9eb39 100755 --- a/etc/configure +++ b/etc/configure @@ -1,26 +1,288 @@ #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# Generated by GNU Autoconf 2.59. # +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + -# Defaults: -ac_help= +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# ac_default_prefix=/usr/local -# Any additions from configure.in: +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="Makefile.in" +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA datarootdir docdir htmldir LIBOBJS LTLIBOBJS' +ac_subst_files='' # Initialize some variables set by options. +ac_init_help= +ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. -build=NONE -cache_file=./config.cache +cache_file=/dev/null exec_prefix=NONE -host=NONE no_create= -nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE @@ -29,10 +291,15 @@ program_transform_name=s,x,x, silent= site= srcdir= -target=NONE verbose= x_includes=NONE x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' @@ -46,17 +313,9 @@ oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - ac_prev= for ac_option do - # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" @@ -64,59 +323,59 @@ do continue fi - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. - case "$ac_option" in + case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; + bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) - ac_prev=build ;; + ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; + build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) - datadir="$ac_optarg" ;; + datadir=$ac_optarg ;; -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac - eval "enable_${ac_feature}='$ac_optarg'" ;; + eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -125,95 +384,47 @@ do -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; + exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; -host | --host | --hos | --ho) - ac_prev=host ;; + ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; + host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; + includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; + infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; + libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; + libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ @@ -222,19 +433,19 @@ EOF -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; + localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; + mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) + | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ @@ -248,26 +459,26 @@ EOF -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; + oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; + prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; + program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; + program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ @@ -284,7 +495,7 @@ EOF | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; + program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) @@ -294,7 +505,7 @@ EOF ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; + sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ @@ -305,58 +516,57 @@ EOF | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; + sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; + site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; + srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; + sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; + ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; + target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac - eval "with_${ac_package}='$ac_optarg'" ;; + eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. @@ -367,99 +577,110 @@ EOF ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; + x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; + x_libraries=$ac_optarg ;; - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi -exec 5>./config.log -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; esac done -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=Makefile.in # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. @@ -469,13 +690,422 @@ else fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then @@ -486,40 +1116,104 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi else - echo "creating cache $cache_file" - > $cache_file + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file fi -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac fi -else - ac_n= ac_c='\c' ac_t= +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + ac_aux_dir= @@ -532,14 +1226,20 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break fi done if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -548,60 +1248,75 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:557: checking for a BSD compatible install" >&5 +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done - ;; - esac - done - IFS="$ac_save_IFS" + done + ;; +esac +done + fi if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" + INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. - INSTALL="$ac_install_sh" + INSTALL=$ac_install_sh fi fi -echo "$ac_t""$INSTALL" 1>&6 +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' @@ -611,69 +1326,81 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -trap '' 1 2 15 -cat > confcache <<\EOF + ac_config_files="$ac_config_files Makefile" +cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. # -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. # -EOF +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' fi -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. @@ -684,13 +1411,13 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 cat >confdef2opt.sed <<\_ACEOF t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g t quote d : quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g s,\[,\\&,g s,\],\\&,g s,\$,$$,g @@ -707,189 +1434,807 @@ DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` rm -f confdef2opt.sed -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. # Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# # Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. +# configure, is in config.log if it exists. -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi done -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS </dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@datarootdir@%$datarootdir%g -s%@docdir@%$docdir%g -s%@htmldir@%$htmldir%g -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` + as_ln_s='ln -s' fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; esac +done - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@datarootdir@,$datarootdir,;t t +s,@docdir@,$docdir,;t t +s,@htmldir@,$htmldir,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat fi +fi # test -n "$CONFIG_FILES" - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; esac - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +cat >>$CONFIG_STATUS <<\_ACEOF -exit 0 -EOF +{ (exit 0); exit 0; } +_ACEOF chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi diff --git a/etc/texi2pod.pl b/etc/texi2pod.pl index 9696a12f361..ed0d102a1a5 100644 --- a/etc/texi2pod.pl +++ b/etc/texi2pod.pl @@ -36,6 +36,7 @@ $shift = ""; $fnno = 1; $inf = ""; $ibase = ""; +@ipath = (); while ($_ = shift) { if (/^-D(.*)$/) { @@ -51,6 +52,13 @@ while ($_ = shift) { die "flags may only contain letters, digits, hyphens, dashes and underscores\n" unless $flag =~ /^[a-zA-Z0-9_-]+$/; $defs{$flag} = $value; + } elsif (/^-I(.*)$/) { + if ($1 ne "") { + $flag = $1; + } else { + $flag = shift; + } + push (@ipath, $flag); } elsif (/^-/) { usage(); } else { @@ -229,10 +237,14 @@ while(<$inf>) { $inf = gensym(); $file = postprocess($1); - # Try cwd and $ibase. - open($inf, "<" . $file) - or open($inf, "<" . $ibase . "/" . $file) - or die "cannot open $file or $ibase/$file: $!\n"; + # Try cwd and $ibase, then explicit -I paths. + $done = 0; + foreach $path ("", $ibase, @ipath) { + $mypath = $file; + $mypath = $path . "/" . $mypath if ($path ne ""); + open($inf, "<" . $mypath) and ($done = 1, last); + } + die "cannot find $file" if !$done; next; }; diff --git a/gas/ChangeLog b/gas/ChangeLog index 53f3bb25131..18b9b4ecefa 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,302 @@ +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-06-02 Joseph S. Myers + + * doc/Makefile.am (TEXI2DVI): Define. + * doc/Makefile.in: Regenerate. + * doc/c-arc.texi: Fix typo. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-05-25 Nathan Sidwell + + * gas/config/tc-m68k.c (m68k_init_arch): Move checking of + cfloat/m68881 to correct architecture before using it. + +2006-05-16 Nick Clifton + + * Import these patches from the mainline: + + 2006-05-16 Bjoern Haase + + * config/tc-avr.h (TC_VALIDATE_FIX): Allow fixups for immediate + constant values. + + 2006-05-05 Bjoern Haase + + * gas/config/tc-avr.h (TC_VALIDATE_FIX): Define. Disable fixups + for PMEM related expressions. + +2006-05-11 Thiemo Seufer + + * config/tc-mips.c (append_insn): Don't check the range of j or + jal addresses. + +2006-05-10 Alan Modra + + * dwarf2dbg.c (get_line_subseg): Attach new struct line_seg to end + of list rather than beginning. + +2006-05-10 Alan Modra + + * write.c (relax_segment): Add pass count arg. Don't error on + negative org/space on first two passes. + (relax_seg_info): New struct. + (relax_seg, write_object_file): Adjust. + * write.h (relax_segment): Update prototype. + +2006-05-02 Joseph Myers + + * config/tc-arm.c (do_iwmmxt_wldstbh): Don't multiply offset by 4 + here. + (md_apply_fix3): Multiply offset by 4 here for + BFD_RELOC_ARM_CP_OFF_IMM_S2 and BFD_RELOC_ARM_T32_CP_OFF_IMM_S2. + +2006-05-02 Daniel Jacobowitz + + * doc/Makefile.am (AM_MAKEINFOFLAGS): New. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (asconfig.texi): Don't set top_srcdir. + * doc/as.texinfo: Don't use top_srcdir. + * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. + +2006-05-02 Paul Brook + + * config/tc-arm.c (arm_optimize_expr): New function. + * config/tc-arm.h (md_optimize_expr): Define + (arm_optimize_expr): Add prototype. + (TC_FORCE_RELOCATION_SUB_SAME): Define. + +2006-05-01 James Lemke + + * subsegs.c (subseg_set_rest): Always set seginfp->frchainP if NULL. + +2006-04-25 Bob Wilson + + * config/xtensa-relax.c (widen_spec_list): Use new "WIDE." + syntax instead of hardcoded opcodes with ".w18" suffixes. + (wide_branch_opcode): New. + (build_transition): Use it to check for wide branch opcodes with + either ".w18" or ".w15" suffixes. + +2006-04-25 Bob Wilson + + * config/tc-xtensa.c (xtensa_create_literal_symbol, + xg_assemble_literal, xg_assemble_literal_space): Do not set the + frag's is_literal flag. + +2006-04-25 Bob Wilson + + * config/xtensa-relax.c (XCHAL_HAVE_WIDE_BRANCHES): Provide default. + +2006-04-16 Daniel Jacobowitz + + * po/POTFILES.in: Regenerated. + +2006-04-14 Sterling Augustine + + * config/tc-xtensa.c (emit_single_op): Do not relax MOVI + instructions when such transformations have been disabled. + +2006-04-10 Sterling Augustine + + * config/tc-xtensa.c (xg_assemble_vliw_tokens): Record loop target + symbols in RELAX[_CHECK]_ALIGN_NEXT_OPCODE frags. + (xtensa_fix_close_loop_end_frags): Use the recorded values instead of + decoding the loop instructions. Remove current_offset variable. + (xtensa_fix_short_loop_frags): Likewise. + (min_bytes_to_other_loop_end): Remove current_offset argument. + +2006-04-09 Arnold Metselaar + + * config/tc-z80.c (z80_optimize_expr): Removed; redundant since 2006-04-04. + * config/tc-z80.h (z80_optimize_expr, md_optimize_expr): Removed. + +2006-04-07 Joerg Wunsch + + * gas/config/tc-avr.c (mcu_types): Add support for attiny261, + attiny461, attiny861, attiny25, attiny45, attiny85,attiny24, + attiny44, attiny84, at90pwm2, at90pwm3, atmega164, atmega324, + atmega644, atmega329, atmega3290, atmega649, atmega6490, + atmega406, atmega640, atmega1280, atmega1281, at90can32, + at90can64, at90usb646, at90usb647, at90usb1286 and + at90usb1287. + Move atmega48 and atmega88 from AVR_ISA_M8 to AVR_ISA_PWMx. + +2006-04-07 Paul Brook + + * config/tc-arm.c (parse_operands): Set default error message. + +2006-04-07 Paul Brook + + * config/tc-arm.c (parse_tb): Set inst.error before returning FAIL. + +2006-04-07 Paul Brook + + * config/tc-arm.c (md_apply_fix): Set H bit on blx instruction. + +2006-04-07 Paul Brook + + * config/tc-arm.c (THUMB2_LOAD_BIT): Define. + (move_or_literal_pool): Handle Thumb-2 instructions. + (do_t_ldst): Call move_or_literal_pool for =N addressing modes. + +2006-04-07 Alan Modra + + PR 2512. + * config/tc-i386.c (match_template): Move 64-bit operand tests + inside loop. + +2006-04-06 Carlos O'Donell + + * po/Make-in: Add install-html target. + * Makefile.am: Add install-html and install-html-recursive targets. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST datarootdir, docdir, htmldir. + * configure: Regenerate. + * doc/Makefile.am: Add install-html and install-html-am targets. + * doc/Makefile.in: Regenerate. + +2006-04-06 Alan Modra + + * frags.c (frag_offset_fixed_p): Reinitialise offset before + second scan. + +2006-04-05 Richard Sandiford + Daniel Jacobowitz + + * config/tc-sparc.c (sparc_target_format): Handle TE_VXWORKS. + (GOTT_BASE, GOTT_INDEX): New. + (tc_gen_reloc): Don't alter relocations against GOTT_BASE and + GOTT_INDEX when generating VxWorks PIC. + * configure.tgt (sparc*-*-vxworks*): Remove this special case; + use the generic *-*-vxworks* stanza instead. + +2006-04-04 Alan Modra + + PR 997 + * frags.c (frag_offset_fixed_p): New function. + * frags.h (frag_offset_fixed_p): Declare. + * expr.c (expr): Use frag_offset_fixed_p when simplifying subtraction. + (resolve_expression): Likewise. + +2006-04-03 Sterling Augustine + + * config/tc-xtensa.c (init_op_placement_info_table): Check for formats + of the same length but different numbers of slots. + +2006-03-30 Andreas Schwab + + * configure.in: Fix help string for --enable-targets option. + * configure: Regenerate. + +2006-03-28 Nathan Sidwell + + * gas/config/tc-m68k.c (find_cf_chip): Merge into ... + (m68k_ip): ... here. Use for all chips. Protect against buffer + overrun and avoid excessive copying. + + * config/tc-m68k.c (m68000_control_regs, m68010_control_regs, + m68020_control_regs, m68040_control_regs, m68060_control_regs, + mcf_control_regs, mcf5208_control_regs, mcf5213_control_regs, + mcf5329_control_regs, mcf5249_control_regs, mcf528x_control_regs, + mcfv4e_control_regs, m68010_control_regs): Rename and reorder to ... + (m68000_ctrl, m68010_ctrl, m68020_ctrl, m68040_ctrl, m68060_ctrl, + mcf_ctrl, mcf5208_ctrl, mcf5213_ctrl, mcf5235_ctrl, mcf5249_ctrl, + mcf5216_ctrl, mcf5250_ctrl, mcf5271_ctrl, mcf5272_ctrl, + mcf5282_ctrl, mcfv4e_ctrl): ... these. + (mcf5275_ctrl, mcf5329_ctrl, mcf5373_ctrl): New. + (struct m68k_cpu): Change chip field to control_regs. + (current_chip): Remove. + (control_regs): New. + (m68k_archs, m68k_extensions): Adjust. + (m68k_cpus): Reorder to be in cpu number order. Adjust. + (CPU_ALLOW_MC, CPU_ALLOW_NEGATION): Remove. + (find_cf_chip): Reimplement for new organization of cpu table. + (select_control_regs): Remove. + (mri_chip): Adjust. + (struct save_opts): Save control regs, not chip. + (s_save, s_restore): Adjust. + (m68k_lookup_cpu): Give deprecated warning when necessary. + (m68k_init_arch): Adjust. + (md_show_usage): Adjust for new cpu table organization. + +2006-03-25 Bernd Schmidt + + * config/bfin-defs.h (Expr_Node_Type enum): Add Expr_Node_GOT_Reloc. + * config/bfin-lex.l: Recognize GOT17M4 and FUNCDESC_GOT17M4. + * config/bfin-parse.y: Include "libbfd.h", "elf/common.h" and + "elf/bfin.h". + (GOT17M4, FUNCDESC_GOT17M4): New tokens of type . + (any_gotrel): New rule. + (got): Use it, and create Expr_Node_GOT_Reloc nodes. + * config/tc-bfin.c: Include "libbfd.h", "elf/common.h" and + "elf/bfin.h". + (DEFAULT_FLAGS, bfin_flags, bfin_pic_flag): New. + (bfin_pic_ptr): New function. + (md_pseudo_table): Add it for ".picptr". + (OPTION_FDPIC): New macro. + (md_longopts): Add -mfdpic. + (md_parse_option): Handle it. + (md_begin): Set BFD flags. + (md_apply_fix3, bfin_fix_adjustable): Handle new relocs. + (bfin_gen_ldstidxi): Adjust to match the trees that the parser gives + us for GOT relocs. + * Makefile.am (bfin-parse.o): Update dependencies. + (DEPTC_bfin_elf): Likewise. + * Makefile.in: Regenerate. + +2006-03-25 Richard Sandiford + + * config/tc-m68k.c (m68k_cpus): Change cpu_cf5208 entries to use + mcfemac instead of mcfmac. + +2006-03-22 Richard Sandiford + Daniel Jacobowitz + Phil Edwards + Zack Weinberg + Mark Mitchell + Nathan Sidwell + + * config/tc-mips.c (mips_target_format): Handle vxworks targets. + (md_begin): Complain about -G being used for PIC. Don't change + the text, data and bss alignments on VxWorks. + (reloc_needs_lo_p): Don't return true for R_MIPS_GOT16 when + generating VxWorks PIC. + (load_address): Extend SVR4_PIC handling to VXWORKS_PIC. + (macro): Likewise, but do not treat la $25 specially for + VxWorks PIC, and do not handle jal. + (OPTION_MVXWORKS_PIC): New macro. + (md_longopts): Add -mvxworks-pic. + (md_parse_option): Don't complain about using PIC and -G together here. + Handle OPTION_MVXWORKS_PIC. + (md_estimate_size_before_relax): Always use the first relaxation + sequence on VxWorks. + * config/tc-mips.h (VXWORKS_PIC): New. + +2006-03-21 Paul Brook + + * config/tc-arm.c (md_apply_fix): Fix typo in offset mask. + +2006-03-21 Sterling Augustine + + * config/tc-xtensa.c (enforce_three_byte_loop_align): New flag. + (xtensa_setup_hw_workarounds): Set this new flag for older hardware. + (get_loop_align_size): New. + (xtensa_end): Skip xtensa_mark_narrow_branches when not aligning. + (xtensa_mark_zcl_first_insns): Prevent widening of first loop frag. + (get_text_align_power): Rewrite to handle inputs in the range 2-8. + (get_noop_aligned_address): Use get_loop_align_size. + (get_aligned_diff): Likewise. + +2006-03-21 Paul Brook + + * config/tc-arm.c (insns): Correct opcodes for ldrbt and strbt. + 2006-03-20 Paul Brook * config/tc-arm.c (BAD_BRANCH, BAD_NOT_IT): Define. diff --git a/gas/Makefile.am b/gas/Makefile.am index f70c6f0e824..1e34499d039 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -621,7 +621,8 @@ $(srcdir)/config/m68k-parse.h: ; @true bfin-parse.c: $(srcdir)/config/bfin-parse.y $(SHELL) $(YLWRAP) $(srcdir)/config/bfin-parse.y y.tab.c bfin-parse.c y.tab.h bfin-parse.h -- $(YACCCOMPILE) -d ; bfin-parse.h: bfin-parse.c -bfin-parse.o: bfin-parse.c bfin-parse.h $(srcdir)/config/bfin-defs.h +bfin-parse.o: bfin-parse.c bfin-parse.h $(srcdir)/config/bfin-defs.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h bfin-defs.h: ; @true $(srcdir)/config/bfin-defs.h: ; @true @@ -1058,14 +1059,17 @@ DEPTC_bfin_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h struc-symbol.h \ $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h dwarf2dbg.h \ - $(srcdir)/config/bfin-defs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ - $(srcdir)/config/bfin-aux.h $(INCDIR)/opcode/bfin.h + $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ + $(srcdir)/config/bfin-aux.h $(INCDIR)/opcode/bfin.h \ + $(srcdir)/config/bfin-defs.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h DEPTC_bfin_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-bfin.h \ dwarf2dbg.h struc-symbol.h $(srcdir)/config/bfin-defs.h \ $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h $(srcdir)/config/bfin-aux.h \ - $(INCDIR)/opcode/bfin.h + $(INCDIR)/opcode/bfin.h $(srcdir)/config/bfin-defs.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h DEPTC_cris_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-cris.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ diff --git a/gas/Makefile.in b/gas/Makefile.in index 80f17dbb25e..437b6aca5ff 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -15,8 +15,6 @@ @SET_MAKE@ -SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(itbl_test_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -815,15 +813,18 @@ DEPTC_bfin_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h struc-symbol.h \ $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h dwarf2dbg.h \ - $(srcdir)/config/bfin-defs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ - $(srcdir)/config/bfin-aux.h $(INCDIR)/opcode/bfin.h + $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ + $(srcdir)/config/bfin-aux.h $(INCDIR)/opcode/bfin.h \ + $(srcdir)/config/bfin-defs.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h DEPTC_bfin_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-bfin.h \ dwarf2dbg.h struc-symbol.h $(srcdir)/config/bfin-defs.h \ $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h $(srcdir)/config/bfin-aux.h \ - $(INCDIR)/opcode/bfin.h + $(INCDIR)/opcode/bfin.h $(srcdir)/config/bfin-defs.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h DEPTC_cris_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-cris.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ @@ -2979,7 +2980,8 @@ $(srcdir)/config/m68k-parse.h: ; @true bfin-parse.c: $(srcdir)/config/bfin-parse.y $(SHELL) $(YLWRAP) $(srcdir)/config/bfin-parse.y y.tab.c bfin-parse.c y.tab.h bfin-parse.h -- $(YACCCOMPILE) -d ; bfin-parse.h: bfin-parse.c -bfin-parse.o: bfin-parse.c bfin-parse.h $(srcdir)/config/bfin-defs.h +bfin-parse.o: bfin-parse.c bfin-parse.h $(srcdir)/config/bfin-defs.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/bfin.h $(BFDDIR)/libbfd.h bfin-defs.h: ; @true $(srcdir)/config/bfin-defs.h: ; @true diff --git a/gas/aclocal.m4 b/gas/aclocal.m4 index ca849970a1b..cd4267338b7 100644 --- a/gas/aclocal.m4 +++ b/gas/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.9.5 -*- Autoconf -*- +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005 Free Software Foundation, Inc. @@ -28,7 +28,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.5])]) + [AM_AUTOMAKE_VERSION([1.9.6])]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- diff --git a/gas/config/bfin-defs.h b/gas/config/bfin-defs.h index 46ae61e2912..48bacb3ed7d 100644 --- a/gas/config/bfin-defs.h +++ b/gas/config/bfin-defs.h @@ -263,6 +263,7 @@ typedef enum Expr_Node_Binop, /* Binary operator. */ Expr_Node_Unop, /* Unary operator. */ Expr_Node_Reloc, /* Symbol to be relocated. */ + Expr_Node_GOT_Reloc, /* Symbol to be relocated using the GOT. */ Expr_Node_Constant /* Constant. */ } Expr_Node_Type; diff --git a/gas/config/bfin-lex.l b/gas/config/bfin-lex.l index c3af8420265..3a0077cd985 100644 --- a/gas/config/bfin-lex.l +++ b/gas/config/bfin-lex.l @@ -241,6 +241,8 @@ abort return ABORT; [aA]0"."[wW] _REG.regno = REG_A0w; return REG; [aA]0 _REG.regno = REG_A0; return REG_A_DOUBLE_ZERO; [Gg][Oo][Tt] return GOT; +[Gg][Oo][Tt]"17"[Mm]"4" return GOT17M4; +[Ff][Uu][Nn][Cc][Dd][Ee][Ss][Cc]"_"[Gg][Oo][Tt]"17"[Mm]"4" return FUNCDESC_GOT17M4; [Pp][Ll][Tt][Pp][Cc] return PLTPC; diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y index f1e488768c9..917c2d27ba0 100644 --- a/gas/config/bfin-parse.y +++ b/gas/config/bfin-parse.y @@ -21,10 +21,14 @@ %{ #include -#include "bfin-aux.h" #include #include +#include "bfin-aux.h" // opcode generating auxiliaries +#include "libbfd.h" +#include "elf/common.h" +#include "elf/bfin.h" + #define DSP32ALU(aopcde, HL, dst1, dst0, src0, src1, s, x, aop) \ bfin_gen_dsp32alu (HL, aopcde, aop, s, x, dst0, dst1, src0, src1) @@ -485,7 +489,8 @@ is_group2 (INSTR_T x) %token STATUS_REG %token MNOP %token SYMBOL NUMBER -%token GOT AT PLTPC +%token GOT GOT17M4 FUNCDESC_GOT17M4 +%token AT PLTPC /* Types. */ %type asm @@ -544,7 +549,7 @@ is_group2 (INSTR_T x) %type got %type got_or_expr %type pltpc - +%type any_gotrel GOT GOT17M4 FUNCDESC_GOT17M4 /* Precedence rules. */ %left BAR @@ -4111,9 +4116,20 @@ symbol: SYMBOL } ; -got: symbol AT GOT +any_gotrel: + GOT + { $$ = BFD_RELOC_BFIN_GOT; } + | GOT17M4 + { $$ = BFD_RELOC_BFIN_GOT17M4; } + | FUNCDESC_GOT17M4 + { $$ = BFD_RELOC_BFIN_FUNCDESC_GOT17M4; } + ; + +got: symbol AT any_gotrel { - $$ = $1; + Expr_Node_Value val; + val.i_value = $3; + $$ = Expr_Node_Create (Expr_Node_GOT_Reloc, val, $1, NULL); } ; diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index d6294f3c5a4..7a95033d53a 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -89,34 +89,62 @@ static struct mcu_type_s mcu_types[] = {"at86rf401", AVR_ISA_2xxx, bfd_mach_avr2}, {"attiny13", AVR_ISA_TINY2, bfd_mach_avr2}, {"attiny2313",AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny261", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny461", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny861", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny24", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny44", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny84", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny25", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny45", AVR_ISA_TINY2, bfd_mach_avr2}, + {"attiny85", AVR_ISA_TINY2, bfd_mach_avr2}, {"atmega603", AVR_ISA_M603, bfd_mach_avr3}, /* XXX -> m103 */ {"atmega103", AVR_ISA_M103, bfd_mach_avr3}, {"at43usb320",AVR_ISA_M103, bfd_mach_avr3}, {"at43usb355",AVR_ISA_M603, bfd_mach_avr3}, {"at76c711", AVR_ISA_M603, bfd_mach_avr3}, - {"atmega48", AVR_ISA_M8, bfd_mach_avr4}, + {"atmega48", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega8", AVR_ISA_M8, bfd_mach_avr4}, {"atmega83", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8535 */ {"atmega85", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8 */ - {"atmega88", AVR_ISA_M8, bfd_mach_avr4}, + {"atmega88", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega8515",AVR_ISA_M8, bfd_mach_avr4}, {"atmega8535",AVR_ISA_M8, bfd_mach_avr4}, + {"at90pwm2", AVR_ISA_PWMx, bfd_mach_avr4}, + {"at90pwm3", AVR_ISA_PWMx, bfd_mach_avr4}, {"atmega16", AVR_ISA_M323, bfd_mach_avr5}, {"atmega161", AVR_ISA_M161, bfd_mach_avr5}, {"atmega162", AVR_ISA_M323, bfd_mach_avr5}, {"atmega163", AVR_ISA_M161, bfd_mach_avr5}, + {"atmega164", AVR_ISA_M323, bfd_mach_avr5}, {"atmega165", AVR_ISA_M323, bfd_mach_avr5}, {"atmega168", AVR_ISA_M323, bfd_mach_avr5}, {"atmega169", AVR_ISA_M323, bfd_mach_avr5}, {"atmega32", AVR_ISA_M323, bfd_mach_avr5}, {"atmega323", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega324", AVR_ISA_M323, bfd_mach_avr5}, {"atmega325", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega329", AVR_ISA_M323, bfd_mach_avr5}, {"atmega3250",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega3290",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega406", AVR_ISA_M323, bfd_mach_avr5}, {"atmega64", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega640", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega644", AVR_ISA_M323, bfd_mach_avr5}, {"atmega128", AVR_ISA_M128, bfd_mach_avr5}, + {"atmega1280",AVR_ISA_M128, bfd_mach_avr5}, + {"atmega1281",AVR_ISA_M128, bfd_mach_avr5}, {"atmega645", AVR_ISA_M323, bfd_mach_avr5}, + {"atmega649", AVR_ISA_M323, bfd_mach_avr5}, {"atmega6450",AVR_ISA_M323, bfd_mach_avr5}, + {"atmega6490",AVR_ISA_M323, bfd_mach_avr5}, + {"at90can32" ,AVR_ISA_M323, bfd_mach_avr5}, + {"at90can64" ,AVR_ISA_M323, bfd_mach_avr5}, {"at90can128",AVR_ISA_M128, bfd_mach_avr5}, + {"at90usb646", AVR_ISA_M323, bfd_mach_avr5}, + {"at90usb647", AVR_ISA_M323, bfd_mach_avr5}, + {"at90usb1286",AVR_ISA_M128, bfd_mach_avr5}, + {"at90usb1287",AVR_ISA_M128, bfd_mach_avr5}, {"at94k", AVR_ISA_94K, bfd_mach_avr5}, {NULL, 0, 0} }; diff --git a/gas/config/tc-avr.h b/gas/config/tc-avr.h index df12045a425..61fc5941cd2 100644 --- a/gas/config/tc-avr.h +++ b/gas/config/tc-avr.h @@ -120,3 +120,21 @@ extern long md_pcrel_from_section (struct fix *, segT); also affected by this macro. The default definition will set P2VAR to the truncated power of two of sizes up to eight bytes. */ #define TC_IMPLICIT_LCOMM_ALIGNMENT(SIZE, P2VAR) (P2VAR) = 0 + +/* We don't want gas to fixup the following program memory related relocations. + We will need them in case that we want to do linker relaxation. + We could in principle keep these fixups in gas when not relaxing. + However, there is no serious performance penilty when making the linker + make the fixup work. */ +#define TC_VALIDATE_FIX(FIXP,SEG,SKIP) \ + if ( (FIXP->fx_r_type == BFD_RELOC_AVR_7_PCREL \ + || FIXP->fx_r_type == BFD_RELOC_AVR_13_PCREL \ + || FIXP->fx_r_type == BFD_RELOC_AVR_LO8_LDI_PM \ + || FIXP->fx_r_type == BFD_RELOC_AVR_HI8_LDI_PM \ + || FIXP->fx_r_type == BFD_RELOC_AVR_HH8_LDI_PM \ + || FIXP->fx_r_type == BFD_RELOC_AVR_16_PM) \ + && (FIXP->fx_addsy)) \ + { \ + goto SKIP; \ + } + diff --git a/gas/config/tc-bfin.c b/gas/config/tc-bfin.c index d9e88de19d5..43d48d624ea 100644 --- a/gas/config/tc-bfin.c +++ b/gas/config/tc-bfin.c @@ -28,6 +28,9 @@ #ifdef OBJ_ELF #include "dwarf2dbg.h" #endif +#include "libbfd.h" +#include "elf/common.h" +#include "elf/bfin.h" extern int yyparse (void); struct yy_buffer_state; @@ -45,6 +48,12 @@ int last_insn_size; extern struct obstack mempool; FILE *errorf; +/* Flags to set in the elf header */ +#define DEFAULT_FLAGS 0 + +static flagword bfin_flags = DEFAULT_FLAGS; +static const char *bfin_pic_flag = (const char *)0; + /* Registers list. */ struct bfin_reg_entry { @@ -202,11 +211,73 @@ static const struct bfin_reg_entry bfin_reg_info[] = { {0, 0} }; +/* Blackfin specific function to handle FD-PIC pointer initializations. */ + +static void +bfin_pic_ptr (int nbytes) +{ + expressionS exp; + char *p; + + if (nbytes != 4) + abort (); + +#ifdef md_flush_pending_output + md_flush_pending_output (); +#endif + + if (is_it_end_of_statement ()) + { + demand_empty_rest_of_line (); + return; + } + +#ifdef md_cons_align + md_cons_align (nbytes); +#endif + + do + { + bfd_reloc_code_real_type reloc_type = BFD_RELOC_BFIN_FUNCDESC; + + if (strncasecmp (input_line_pointer, "funcdesc(", 9) == 0) + { + input_line_pointer += 9; + expression (&exp); + if (*input_line_pointer == ')') + input_line_pointer++; + else + as_bad ("missing ')'"); + } + else + error ("missing funcdesc in picptr"); + + p = frag_more (4); + memset (p, 0, 4); + fix_new_exp (frag_now, p - frag_now->fr_literal, 4, &exp, 0, + reloc_type); + } + while (*input_line_pointer++ == ','); + + input_line_pointer--; /* Put terminator back into stream. */ + demand_empty_rest_of_line (); +} + +static void +bfin_s_bss (int ignore ATTRIBUTE_UNUSED) +{ + register int temp; + + temp = get_absolute_expression (); + subseg_set (bss_section, (subsegT) temp); + demand_empty_rest_of_line (); +} const pseudo_typeS md_pseudo_table[] = { {"align", s_align_bytes, 0}, {"byte2", cons, 2}, {"byte4", cons, 4}, + {"picptr", bfin_pic_ptr, 4}, {"code", obj_elf_section, 0}, {"db", cons, 1}, {"dd", cons, 4}, @@ -218,17 +289,6 @@ const pseudo_typeS md_pseudo_table[] = { {0, 0, 0} }; -static void -bfin_s_bss (int ignore ATTRIBUTE_UNUSED) -{ - register int temp; - - temp = get_absolute_expression (); - subseg_set (bss_section, (subsegT) temp); - demand_empty_rest_of_line (); -} - - /* Characters that are used to denote comments and line separators. */ const char comment_chars[] = ""; const char line_comment_chars[] = "#"; @@ -245,16 +305,32 @@ const char FLT_CHARS[] = "fFdDxX"; /* Define bfin-specific command-line options (there are none). */ const char *md_shortopts = ""; -struct option md_longopts[] = { - {NULL, no_argument, NULL, 0} +#define OPTION_FDPIC (OPTION_MD_BASE) + +struct option md_longopts[] = +{ + { "mfdpic", no_argument, NULL, OPTION_FDPIC }, + { NULL, no_argument, NULL, 0 }, }; + size_t md_longopts_size = sizeof (md_longopts); int md_parse_option (int c ATTRIBUTE_UNUSED, char *arg ATTRIBUTE_UNUSED) { - return 0; + switch (c) + { + default: + return 0; + + case OPTION_FDPIC: + bfin_flags |= EF_BFIN_FDPIC; + bfin_pic_flag = "-mfdpic"; + break; + } + + return 1; } void @@ -267,6 +343,10 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED) void md_begin () { + /* Set the ELF flags if desired. */ + if (bfin_flags) + bfd_set_private_flags (stdoutput, bfin_flags); + /* Set the default machine type. */ if (!bfd_set_arch_mach (stdoutput, bfd_arch_bfin, 0)) as_warn ("Could not set architecture and machine."); @@ -476,6 +556,8 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) switch (fixP->fx_r_type) { case BFD_RELOC_BFIN_GOT: + case BFD_RELOC_BFIN_GOT17M4: + case BFD_RELOC_BFIN_FUNCDESC_GOT17M4: fixP->fx_no_overflow = 1; newval = md_chars_to_number (where, 2); newval |= 0x0 & 0x7f; @@ -579,6 +661,7 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) md_number_to_chars (where, value, 2); break; + case BFD_RELOC_BFIN_FUNCDESC: case BFD_RELOC_VTABLE_INHERIT: case BFD_RELOC_VTABLE_ENTRY: fixP->fx_done = FALSE; @@ -725,8 +808,10 @@ bfin_fix_adjustable (fixS *fixP) switch (fixP->fx_r_type) { /* Adjust_reloc_syms doesn't know about the GOT. */ - case BFD_RELOC_BFIN_GOT : - case BFD_RELOC_BFIN_PLTPC : + case BFD_RELOC_BFIN_GOT: + case BFD_RELOC_BFIN_GOT17M4: + case BFD_RELOC_BFIN_FUNCDESC_GOT17M4: + case BFD_RELOC_BFIN_PLTPC: /* We need the symbol name for the VTABLE entries. */ case BFD_RELOC_VTABLE_INHERIT: case BFD_RELOC_VTABLE_ENTRY: @@ -982,6 +1067,8 @@ Expr_Node_Gen_Reloc (Expr_Node * head, int parent_reloc) break; case BFD_RELOC_16: case BFD_RELOC_BFIN_GOT: + case BFD_RELOC_BFIN_GOT17M4: + case BFD_RELOC_BFIN_FUNCDESC_GOT17M4: note1 = conscode (gencode (value), NULL_CODE); pcrel = 0; break; @@ -1356,8 +1443,6 @@ bfin_gen_ldimmhalf (REG_T reg, int H, int S, int Z, Expr_Node * phword, int relo INSTR_T bfin_gen_ldstidxi (REG_T ptr, REG_T reg, int W, int sz, int Z, Expr_Node * poffset) { - int offset; - int value = 0; INIT (LDSTidxI); if (!IS_PREG (*ptr) || (!IS_DREG (*reg) && !Z)) @@ -1370,44 +1455,51 @@ bfin_gen_ldstidxi (REG_T ptr, REG_T reg, int W, int sz, int Z, Expr_Node * poffs ASSIGN_R (reg); ASSIGN (W); ASSIGN (sz); - switch (sz) - { - case 0: - value = EXPR_VALUE (poffset) >> 2; - break; - case 1: - value = EXPR_VALUE (poffset) >> 1; - break; - case 2: - value = EXPR_VALUE (poffset); - break; - } - ASSIGN (Z); - offset = (value & 0xffff); - ASSIGN (offset); - /* TODO : test if you need to check this here. - The reloc case should automatically generate instruction - if constant. */ - if(poffset->type != Expr_Node_Constant){ - /* A GOT relocation such as R0 = [P5 + symbol@GOT]. - Distinguish between R0 = [P5 + symbol@GOT] and - P5 = [P5 + _current_shared_library_p5_offset_]. */ - if(!strcmp(poffset->value.s_value, "_current_shared_library_p5_offset_")){ - return conscode (gencode (HI (c_code.opcode)), - Expr_Node_Gen_Reloc(poffset, BFD_RELOC_16)); + if (poffset->type != Expr_Node_Constant) + { + /* a GOT relocation such as R0 = [P5 + symbol@GOT] */ + /* distinguish between R0 = [P5 + symbol@GOT] and + P5 = [P5 + _current_shared_library_p5_offset_] + */ + if (poffset->type == Expr_Node_Reloc + && !strcmp (poffset->value.s_value, + "_current_shared_library_p5_offset_")) + { + return conscode (gencode (HI (c_code.opcode)), + Expr_Node_Gen_Reloc(poffset, BFD_RELOC_16)); + } + else if (poffset->type != Expr_Node_GOT_Reloc) + abort (); + + return conscode (gencode (HI (c_code.opcode)), + Expr_Node_Gen_Reloc(poffset->Left_Child, + poffset->value.i_value)); } - else + else { - return conscode (gencode (HI (c_code.opcode)), - Expr_Node_Gen_Reloc(poffset, BFD_RELOC_BFIN_GOT)); + int value, offset; + switch (sz) + { // load/store access size + case 0: // 32 bit + value = EXPR_VALUE (poffset) >> 2; + break; + case 1: // 16 bit + value = EXPR_VALUE (poffset) >> 1; + break; + case 2: // 8 bit + value = EXPR_VALUE (poffset); + break; + default: + abort (); + } + + offset = (value & 0xffff); + ASSIGN (offset); + return GEN_OPCODE32 (); } - } - else{ - return GEN_OPCODE32 (); - } } diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index f42a9a4705b..be384bc99a7 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1169,13 +1169,12 @@ ps (s) segment_name (S_GET_SEGMENT (s))); } -struct type_name +static struct type_name { unsigned int mask; char *tname; } - -static const type_names[] = +const type_names[] = { { Reg8, "r8" }, { Reg16, "r16" }, @@ -1238,6 +1237,18 @@ reloc (unsigned int size, if (size == 8) switch (other) { + case BFD_RELOC_X86_64_GOT32: + return BFD_RELOC_X86_64_GOT64; + break; + case BFD_RELOC_X86_64_PLTOFF64: + return BFD_RELOC_X86_64_PLTOFF64; + break; + case BFD_RELOC_X86_64_GOTPC32: + other = BFD_RELOC_X86_64_GOTPC64; + break; + case BFD_RELOC_X86_64_GOTPCREL: + other = BFD_RELOC_X86_64_GOTPCREL64; + break; case BFD_RELOC_X86_64_TPOFF32: other = BFD_RELOC_X86_64_TPOFF64; break; @@ -2252,19 +2263,7 @@ match_template () : (i.suffix == LONG_DOUBLE_MNEM_SUFFIX ? No_xSuf : 0)))))); - t = current_templates->start; - if (i.suffix == QWORD_MNEM_SUFFIX - && flag_code != CODE_64BIT - && (intel_syntax - ? !(t->opcode_modifier & IgnoreSize) - && !intel_float_operand (t->name) - : intel_float_operand (t->name) != 2) - && (!(t->operand_types[0] & (RegMMX | RegXMM)) - || !(t->operand_types[t->operands > 1] & (RegMMX | RegXMM))) - && (t->base_opcode != 0x0fc7 - || t->extension_opcode != 1 /* cmpxchg8b */)) - t = current_templates->end; - for (; t < current_templates->end; t++) + for (t = current_templates->start; t < current_templates->end; t++) { /* Must have right number of operands. */ if (i.operands != t->operands) @@ -2276,6 +2275,19 @@ match_template () && (t->opcode_modifier & IgnoreSize))) continue; + /* In general, don't allow 64-bit operands in 32-bit mode. */ + if (i.suffix == QWORD_MNEM_SUFFIX + && flag_code != CODE_64BIT + && (intel_syntax + ? (!(t->opcode_modifier & IgnoreSize) + && !intel_float_operand (t->name)) + : intel_float_operand (t->name) != 2) + && (!(t->operand_types[0] & (RegMMX | RegXMM)) + || !(t->operand_types[t->operands > 1] & (RegMMX | RegXMM))) + && (t->base_opcode != 0x0fc7 + || t->extension_opcode != 1 /* cmpxchg8b */)) + continue; + /* Do not verify operands when there are none. */ else if (!t->operands) { @@ -3569,7 +3581,7 @@ check_prefix: #ifdef DEBUG386 if (flag_debug) { - pi (line, &i); + pi ("" /*line*/, &i); } #endif /* DEBUG386 */ } @@ -3654,7 +3666,9 @@ output_disp (insn_start_frag, insn_start_off) if (GOT_symbol && GOT_symbol == i.op[n].disps->X_add_symbol && (((reloc_type == BFD_RELOC_32 - || reloc_type == BFD_RELOC_X86_64_32S) + || reloc_type == BFD_RELOC_X86_64_32S + || (reloc_type == BFD_RELOC_64 + && object_64bit)) && (i.op[n].disps->X_op == O_symbol || (i.op[n].disps->X_op == O_add && ((symbol_get_value_expression @@ -3678,10 +3692,17 @@ output_disp (insn_start_frag, insn_start_off) } if (!object_64bit) - reloc_type = BFD_RELOC_386_GOTPC; + { + reloc_type = BFD_RELOC_386_GOTPC; + i.op[n].imms->X_add_number += add; + } + else if (reloc_type == BFD_RELOC_64) + reloc_type = BFD_RELOC_X86_64_GOTPC64; else + /* Don't do the adjustment for x86-64, as there + the pcrel addressing is relative to the _next_ + insn, and that is taken care of in other code. */ reloc_type = BFD_RELOC_X86_64_GOTPC32; - i.op[n].disps->X_add_number += add; } fix_new_exp (frag_now, p - frag_now->fr_literal, size, i.op[n].disps, pcrel, reloc_type); @@ -3790,7 +3811,8 @@ output_imm (insn_start_frag, insn_start_off) * confusing to do it this way. */ if ((reloc_type == BFD_RELOC_32 - || reloc_type == BFD_RELOC_X86_64_32S) + || reloc_type == BFD_RELOC_X86_64_32S + || reloc_type == BFD_RELOC_64) && GOT_symbol && GOT_symbol == i.op[n].imms->X_add_symbol && (i.op[n].imms->X_op == O_symbol @@ -3816,8 +3838,10 @@ output_imm (insn_start_frag, insn_start_off) if (!object_64bit) reloc_type = BFD_RELOC_386_GOTPC; - else + else if (size == 4) reloc_type = BFD_RELOC_X86_64_GOTPC32; + else if (size == 8) + reloc_type = BFD_RELOC_X86_64_GOTPC64; i.op[n].imms->X_add_number += add; } fix_new_exp (frag_now, p - frag_now->fr_literal, size, @@ -3870,12 +3894,19 @@ lex_got (enum bfd_reloc_code_real *reloc, int *adjust, unsigned int *types) { + /* Some of the relocations depend on the size of what field is to + be relocated. But in our callers i386_immediate and i386_displacement + we don't yet know the operand size (this will be set by insn + matching). Hence we record the word32 relocation here, + and adjust the reloc according to the real size in reloc(). */ static const struct { const char *str; const enum bfd_reloc_code_real rel[2]; const unsigned int types64; } gotrel[] = { + { "PLTOFF", { 0, BFD_RELOC_X86_64_PLTOFF64 }, Imm64 }, { "PLT", { BFD_RELOC_386_PLT32, BFD_RELOC_X86_64_PLT32 }, Imm32|Imm32S|Disp32 }, + { "GOTPLT", { 0, BFD_RELOC_X86_64_GOTPLT64 }, Imm64|Disp64 }, { "GOTOFF", { BFD_RELOC_386_GOTOFF, BFD_RELOC_X86_64_GOTOFF64 }, Imm64|Disp64 }, { "GOTPCREL", { 0, BFD_RELOC_X86_64_GOTPCREL }, Imm32|Imm32S|Disp32 }, { "TLSGD", { BFD_RELOC_386_TLS_GD, BFD_RELOC_X86_64_TLSGD }, Imm32|Imm32S|Disp32 }, @@ -3887,7 +3918,7 @@ lex_got (enum bfd_reloc_code_real *reloc, { "DTPOFF", { BFD_RELOC_386_TLS_LDO_32, BFD_RELOC_X86_64_DTPOFF32 }, Imm32|Imm32S|Imm64|Disp32|Disp64 }, { "GOTNTPOFF",{ BFD_RELOC_386_TLS_GOTIE, 0 }, 0 }, { "INDNTPOFF",{ BFD_RELOC_386_TLS_IE, 0 }, 0 }, - { "GOT", { BFD_RELOC_386_GOT32, BFD_RELOC_X86_64_GOT32 }, Imm32|Imm32S|Disp32 }, + { "GOT", { BFD_RELOC_386_GOT32, BFD_RELOC_X86_64_GOT32 }, Imm32|Imm32S|Disp32|Imm64 }, { "TLSDESC", { BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_X86_64_GOTPC32_TLSDESC }, Imm32|Imm32S|Disp32 }, { "TLSCALL", { BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_TLSDESC_CALL }, Imm32|Imm32S|Disp32 } }; @@ -4947,6 +4978,20 @@ md_convert_frag (abfd, sec, fragP) } } + /* If size if less then four we are sure that the operand fits, + but if it's 4, then it could be that the displacement is larger + then -/+ 2GB. */ + if (DISP_SIZE_FROM_RELAX_STATE (fragP->fr_subtype) == 4 + && object_64bit + && ((addressT) (displacement_from_opcode_start - extension + + ((addressT) 1 << 31)) + > (((addressT) 2 << 31) - 1))) + { + as_bad_where (fragP->fr_file, fragP->fr_line, + _("jump target out of range")); + /* Make us emit 0. */ + displacement_from_opcode_start = extension; + } /* Now put displacement after opcode. */ md_number_to_chars ((char *) where_to_put_displacement, (valueT) (displacement_from_opcode_start - extension), @@ -5708,6 +5753,11 @@ tc_gen_reloc (section, fixp) case BFD_RELOC_X86_64_TPOFF64: case BFD_RELOC_X86_64_GOTOFF64: case BFD_RELOC_X86_64_GOTPC32: + case BFD_RELOC_X86_64_GOT64: + case BFD_RELOC_X86_64_GOTPCREL64: + case BFD_RELOC_X86_64_GOTPC64: + case BFD_RELOC_X86_64_GOTPLT64: + case BFD_RELOC_X86_64_PLTOFF64: case BFD_RELOC_X86_64_GOTPC32_TLSDESC: case BFD_RELOC_X86_64_TLSDESC_CALL: case BFD_RELOC_RVA: @@ -5776,6 +5826,12 @@ tc_gen_reloc (section, fixp) else code = BFD_RELOC_X86_64_GOTPC32; } + if ((code == BFD_RELOC_64 || code == BFD_RELOC_64_PCREL) + && GOT_symbol + && fixp->fx_addsy == GOT_symbol) + { + code = BFD_RELOC_X86_64_GOTPC64; + } rel = (arelent *) xmalloc (sizeof (arelent)); rel->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 557fb4007c1..c885205dad4 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1191,6 +1191,12 @@ mips_target_format (void) case bfd_target_coff_flavour: return "pe-mips"; case bfd_target_elf_flavour: +#ifdef TE_VXWORKS + if (!HAVE_64BIT_OBJECTS && !HAVE_NEWABI) + return (target_big_endian + ? "elf32-bigmips-vxworks" + : "elf32-littlemips-vxworks"); +#endif #ifdef TE_TMIPS /* This is traditional mips. */ return (target_big_endian @@ -1397,6 +1403,13 @@ md_begin (void) int i = 0; int broken = 0; + if (mips_pic != NO_PIC) + { + if (g_switch_seen && g_switch_value != 0) + as_bad (_("-G may not be used in position-independent code")); + g_switch_value = 0; + } + if (! bfd_set_arch_mach (stdoutput, bfd_arch_mips, file_mips_arch)) as_warn (_("Could not set architecture and machine")); @@ -1524,10 +1537,11 @@ md_begin (void) if (OUTPUT_FLAVOR == bfd_target_elf_flavour) { - /* On a native system, sections must be aligned to 16 byte - boundaries. When configured for an embedded ELF target, we - don't bother. */ - if (strcmp (TARGET_OS, "elf") != 0) + /* On a native system other than VxWorks, sections must be aligned + to 16 byte boundaries. When configured for an embedded ELF + target, we don't bother. */ + if (strcmp (TARGET_OS, "elf") != 0 + && strcmp (TARGET_OS, "vxworks") != 0) { (void) bfd_set_section_alignment (stdoutput, text_section, 4); (void) bfd_set_section_alignment (stdoutput, data_section, 4); @@ -1680,16 +1694,18 @@ md_assemble (char *str) } /* Return true if the given relocation might need a matching %lo(). - Note that R_MIPS_GOT16 relocations only need a matching %lo() when - applied to local symbols. */ + This is only "might" because SVR4 R_MIPS_GOT16 relocations only + need a matching %lo() when applied to local symbols. */ static inline bfd_boolean reloc_needs_lo_p (bfd_reloc_code_real_type reloc) { return (HAVE_IN_PLACE_ADDENDS && (reloc == BFD_RELOC_HI16_S - || reloc == BFD_RELOC_MIPS_GOT16 - || reloc == BFD_RELOC_MIPS16_HI16_S)); + || reloc == BFD_RELOC_MIPS16_HI16_S + /* VxWorks R_MIPS_GOT16 relocs never need a matching %lo(); + all GOT16 relocations evaluate to "G". */ + || (reloc == BFD_RELOC_MIPS_GOT16 && mips_pic != VXWORKS_PIC))); } /* Return true if the given fixup is followed by a matching R_MIPS_LO16 @@ -2390,9 +2406,6 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr, if ((address_expr->X_add_number & 3) != 0) as_bad (_("jump to misaligned address (0x%lx)"), (unsigned long) address_expr->X_add_number); - if (address_expr->X_add_number & ~0xfffffff) - as_bad (_("jump address range overflow (0x%lx)"), - (unsigned long) address_expr->X_add_number); ip->insn_opcode |= (address_expr->X_add_number >> 2) & 0x3ffffff; break; @@ -2400,9 +2413,6 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr, if ((address_expr->X_add_number & 3) != 0) as_bad (_("jump to misaligned address (0x%lx)"), (unsigned long) address_expr->X_add_number); - if (address_expr->X_add_number & ~0xfffffff) - as_bad (_("jump address range overflow (0x%lx)"), - (unsigned long) address_expr->X_add_number); ip->insn_opcode |= (((address_expr->X_add_number & 0x7c0000) << 3) | ((address_expr->X_add_number & 0xf800000) >> 7) @@ -3898,7 +3908,7 @@ load_address (int reg, expressionS *ep, int *used_at) relax_end (); } } - else if (mips_pic == SVR4_PIC && ! mips_big_got) + else if (!mips_big_got) { expressionS ex; @@ -3959,7 +3969,7 @@ load_address (int reg, expressionS *ep, int *used_at) } } } - else if (mips_pic == SVR4_PIC) + else if (mips_big_got) { expressionS ex; @@ -5011,7 +5021,7 @@ macro (struct mips_cl_insn *ip) relax_end (); } } - else if (mips_pic == SVR4_PIC && ! mips_big_got && ! HAVE_NEWABI) + else if (!mips_big_got && !HAVE_NEWABI) { int lw_reloc_type = (int) BFD_RELOC_MIPS_GOT16; @@ -5047,7 +5057,9 @@ macro (struct mips_cl_insn *ip) if (offset_expr.X_add_number == 0) { - if (breg == 0 && (call || tempreg == PIC_CALL_REG)) + if (mips_pic == SVR4_PIC + && breg == 0 + && (call || tempreg == PIC_CALL_REG)) lw_reloc_type = (int) BFD_RELOC_MIPS_CALL16; relax_start (offset_expr.X_add_symbol); @@ -5104,7 +5116,7 @@ macro (struct mips_cl_insn *ip) used_at = 1; } } - else if (mips_pic == SVR4_PIC && ! mips_big_got && HAVE_NEWABI) + else if (!mips_big_got && HAVE_NEWABI) { int add_breg_early = 0; @@ -5207,7 +5219,7 @@ macro (struct mips_cl_insn *ip) BFD_RELOC_MIPS_GOT_DISP, mips_gp_register); } } - else if (mips_pic == SVR4_PIC && ! HAVE_NEWABI) + else if (mips_big_got && !HAVE_NEWABI) { int gpdelay; int lui_reloc_type = (int) BFD_RELOC_MIPS_GOT_HI16; @@ -5364,7 +5376,7 @@ macro (struct mips_cl_insn *ip) } relax_end (); } - else if (mips_pic == SVR4_PIC && HAVE_NEWABI) + else if (mips_big_got && HAVE_NEWABI) { int lui_reloc_type = (int) BFD_RELOC_MIPS_GOT_HI16; int lw_reloc_type = (int) BFD_RELOC_MIPS_GOT_LO16; @@ -5497,13 +5509,13 @@ macro (struct mips_cl_insn *ip) case M_JAL_2: if (mips_pic == NO_PIC) macro_build (NULL, "jalr", "d,s", dreg, sreg); - else if (mips_pic == SVR4_PIC) + else { if (sreg != PIC_CALL_REG) as_warn (_("MIPS PIC call to register other than $25")); macro_build (NULL, "jalr", "d,s", dreg, sreg); - if (! HAVE_NEWABI) + if (mips_pic == SVR4_PIC && !HAVE_NEWABI) { if (mips_cprestore_offset < 0) as_warn (_("No .cprestore pseudo-op used in PIC code")); @@ -5529,8 +5541,6 @@ macro (struct mips_cl_insn *ip) } } } - else - abort (); break; @@ -5666,6 +5676,8 @@ macro (struct mips_cl_insn *ip) } } } + else if (mips_pic == VXWORKS_PIC) + as_bad (_("Non-PIC jump used in PIC library")); else abort (); @@ -6026,7 +6038,7 @@ macro (struct mips_cl_insn *ip) relax_end (); } } - else if (mips_pic == SVR4_PIC && ! mips_big_got) + else if (!mips_big_got) { int lw_reloc_type = (int) BFD_RELOC_MIPS_GOT16; @@ -6080,7 +6092,7 @@ macro (struct mips_cl_insn *ip) tempreg, tempreg, breg); macro_build (&expr1, s, fmt, treg, BFD_RELOC_LO16, tempreg); } - else if (mips_pic == SVR4_PIC && ! HAVE_NEWABI) + else if (mips_big_got && !HAVE_NEWABI) { int gpdelay; @@ -6129,7 +6141,7 @@ macro (struct mips_cl_insn *ip) tempreg, tempreg, breg); macro_build (&expr1, s, fmt, treg, BFD_RELOC_LO16, tempreg); } - else if (mips_pic == SVR4_PIC && HAVE_NEWABI) + else if (mips_big_got && HAVE_NEWABI) { /* If this is a reference to an external symbol, we want lui $tempreg, (BFD_RELOC_MIPS_GOT_HI16) @@ -6249,14 +6261,12 @@ macro (struct mips_cl_insn *ip) macro_build_lui (&offset_expr, AT); used_at = 1; } - else if (mips_pic == SVR4_PIC) + else { macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", AT, BFD_RELOC_MIPS_GOT16, mips_gp_register); used_at = 1; } - else - abort (); /* Now we load the register(s). */ if (HAVE_64BIT_GPRS) @@ -6328,7 +6338,7 @@ macro (struct mips_cl_insn *ip) { assert (strcmp (s, RDATA_SECTION_NAME) == 0); used_at = 1; - if (mips_pic == SVR4_PIC) + if (mips_pic != NO_PIC) macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", AT, BFD_RELOC_MIPS_GOT16, mips_gp_register); else @@ -6547,7 +6557,7 @@ macro (struct mips_cl_insn *ip) if (mips_relax.sequence) relax_end (); } - else if (mips_pic == SVR4_PIC && ! mips_big_got) + else if (!mips_big_got) { /* If this is a reference to an external symbol, we want lw $at,($gp) (BFD_RELOC_MIPS_GOT16) @@ -6594,7 +6604,7 @@ macro (struct mips_cl_insn *ip) mips_optimize = hold_mips_optimize; } - else if (mips_pic == SVR4_PIC) + else if (mips_big_got) { int gpdelay; @@ -10646,6 +10656,8 @@ struct option md_longopts[] = {"mpdr", no_argument, NULL, OPTION_PDR}, #define OPTION_NO_PDR (OPTION_ELF_BASE + 10) {"mno-pdr", no_argument, NULL, OPTION_NO_PDR}, +#define OPTION_MVXWORKS_PIC (OPTION_ELF_BASE + 11) + {"mvxworks-pic", no_argument, NULL, OPTION_MVXWORKS_PIC}, #endif /* OBJ_ELF */ {NULL, no_argument, NULL, 0} @@ -10887,12 +10899,6 @@ md_parse_option (int c, char *arg) } mips_pic = SVR4_PIC; mips_abicalls = TRUE; - if (g_switch_seen && g_switch_value != 0) - { - as_bad (_("-G may not be used with SVR4 PIC code")); - return 0; - } - g_switch_value = 0; break; case OPTION_NON_SHARED: @@ -10916,11 +10922,6 @@ md_parse_option (int c, char *arg) case 'G': g_switch_value = atoi (arg); g_switch_seen = 1; - if (mips_pic == SVR4_PIC && g_switch_value != 0) - { - as_bad (_("-G may not be used with SVR4 PIC code")); - return 0; - } break; #ifdef OBJ_ELF @@ -11026,6 +11027,10 @@ md_parse_option (int c, char *arg) case OPTION_NO_PDR: mips_flag_pdr = FALSE; break; + + case OPTION_MVXWORKS_PIC: + mips_pic = VXWORKS_PIC; + break; #endif /* OBJ_ELF */ default: @@ -13166,6 +13171,9 @@ md_estimate_size_before_relax (fragS *fragp, asection *segtype) change = nopic_need_relax (fragp->fr_symbol, 0); else if (mips_pic == SVR4_PIC) change = pic_need_relax (fragp->fr_symbol, segtype); + else if (mips_pic == VXWORKS_PIC) + /* For vxworks, GOT16 relocations never have a corresponding LO16. */ + change = 0; else abort (); diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h index bc642b0a177..5665d3decdd 100644 --- a/gas/config/tc-mips.h +++ b/gas/config/tc-mips.h @@ -75,6 +75,9 @@ enum mips_pic_level /* Generate PIC code as in the SVR4 MIPS ABI. */ SVR4_PIC, + + /* VxWorks's PIC model. */ + VXWORKS_PIC }; extern enum mips_pic_level mips_pic; diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c index 04bfb53638e..10a1411b526 100644 --- a/gas/config/tc-sparc.c +++ b/gas/config/tc-sparc.c @@ -334,6 +334,10 @@ sparc_target_format () #endif #endif +#ifdef TE_VXWORKS + return "elf32-sparc-vxworks"; +#endif + #ifdef OBJ_ELF return sparc_arch_size == 64 ? "elf64-sparc" : "elf32-sparc"; #endif @@ -3527,6 +3531,10 @@ tc_gen_reloc (section, fixp) #define GOT_NAME "_GLOBAL_OFFSET_TABLE_" #else #define GOT_NAME "__GLOBAL_OFFSET_TABLE_" +#endif +#ifdef TE_VXWORKS +#define GOTT_BASE "__GOTT_BASE__" +#define GOTT_INDEX "__GOTT_INDEX__" #endif /* This code must be parallel to the OBJ_ELF tc_fix_adjustable. */ @@ -3540,18 +3548,30 @@ tc_gen_reloc (section, fixp) code = BFD_RELOC_SPARC_WPLT30; break; case BFD_RELOC_HI22: - if (fixp->fx_addsy != NULL - && strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0) - code = BFD_RELOC_SPARC_PC22; - else - code = BFD_RELOC_SPARC_GOT22; + code = BFD_RELOC_SPARC_GOT22; + if (fixp->fx_addsy != NULL) + { + if (strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0) + code = BFD_RELOC_SPARC_PC22; +#ifdef TE_VXWORKS + if (strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_BASE) == 0 + || strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_INDEX) == 0) + code = BFD_RELOC_HI22; /* Unchanged. */ +#endif + } break; case BFD_RELOC_LO10: - if (fixp->fx_addsy != NULL - && strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0) - code = BFD_RELOC_SPARC_PC10; - else - code = BFD_RELOC_SPARC_GOT10; + code = BFD_RELOC_SPARC_GOT10; + if (fixp->fx_addsy != NULL) + { + if (strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0) + code = BFD_RELOC_SPARC_PC10; +#ifdef TE_VXWORKS + if (strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_BASE) == 0 + || strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_INDEX) == 0) + code = BFD_RELOC_LO10; /* Unchanged. */ +#endif + } break; case BFD_RELOC_SPARC13: code = BFD_RELOC_SPARC_GOT13; diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index 5a7f202335f..d7f059e6f5e 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -566,6 +566,7 @@ static bfd_boolean workaround_short_loop = FALSE; static bfd_boolean maybe_has_short_loop = FALSE; static bfd_boolean workaround_close_loop_end = FALSE; static bfd_boolean maybe_has_close_loop_end = FALSE; +static bfd_boolean enforce_three_byte_loop_align = FALSE; /* When workaround_short_loops is TRUE, all loops with early exits must have at least 3 instructions. workaround_all_short_loops is a modifier @@ -590,6 +591,7 @@ xtensa_setup_hw_workarounds (int earliest, int latest) workaround_short_loop |= TRUE; workaround_close_loop_end |= TRUE; workaround_all_short_loops |= TRUE; + enforce_three_byte_loop_align = TRUE; } } @@ -3978,7 +3980,6 @@ xtensa_create_literal_symbol (segT sec, fragS *frag) xtensa_add_literal_sym (symbolP); - frag->tc_frag_data.is_literal = TRUE; lit_num++; return symbolP; } @@ -4044,7 +4045,6 @@ xg_assemble_literal (/* const */ TInsn *insn) frag_now->tc_frag_data.literal_frag = get_literal_pool_location (now_seg); frag_now->fr_symbol = xtensa_create_literal_symbol (now_seg, frag_now); lit_sym = frag_now->fr_symbol; - frag_now->tc_frag_data.is_literal = TRUE; /* Go back. */ xtensa_restore_emit_state (&state); @@ -4073,7 +4073,6 @@ xg_assemble_literal_space (/* const */ int size, int slot) lit_saved_frag = frag_now; frag_now->tc_frag_data.literal_frag = get_literal_pool_location (now_seg); - frag_now->tc_frag_data.is_literal = TRUE; frag_now->fr_symbol = xtensa_create_literal_symbol (now_seg, frag_now); xg_finish_frag (0, RELAX_LITERAL, 0, size, FALSE); @@ -4228,7 +4227,6 @@ xg_resolve_labels (TInsn *insn, symbolS *label_sym) { symbolS *sym = get_special_label_symbol (); int i; - /* assert (!insn->is_literal); */ for (i = 0; i < insn->ntok; i++) if (insn->tok[i].X_add_symbol == sym) insn->tok[i].X_add_symbol = label_sym; @@ -4430,6 +4428,26 @@ next_frag_format_size (const fragS *fragP) } +/* In early Xtensa Processors, for reasons that are unclear, the ISA + required two-byte instructions to be treated as three-byte instructions + for loop instruction alignment. This restriction was removed beginning + with Xtensa LX. Now the only requirement on loop instruction alignment + is that the first instruction of the loop must appear at an address that + does not cross a fetch boundary. */ + +static int +get_loop_align_size (int insn_size) +{ + if (insn_size == XTENSA_UNDEFINED) + return xtensa_fetch_width; + + if (enforce_three_byte_loop_align && insn_size == 2) + return 3; + + return insn_size; +} + + /* If the next legit fragment is an end-of-loop marker, switch its state so it will instantiate a NOP. */ @@ -6551,7 +6569,8 @@ emit_single_op (TInsn *orig_insn) || orig_insn->opcode == xtensa_movi_n_opcode) && !cur_vinsn.inside_bundle && (orig_insn->tok[1].X_op == O_symbol - || orig_insn->tok[1].X_op == O_pltrel)) + || orig_insn->tok[1].X_op == O_pltrel) + && !orig_insn->is_specific_opcode && use_transform ()) xg_assembly_relax (&istack, orig_insn, now_seg, frag_now, 0, 1, 0); else if (xg_expand_assembly_insn (&istack, orig_insn)) @@ -6702,6 +6721,14 @@ xg_assemble_vliw_tokens (vliw_insn *vinsn) { int max_fill; + /* Remember the symbol that marks the end of the loop in the frag + that marks the start of the loop. This way we can easily find + the end of the loop at the beginning, without adding special code + to mark the loop instructions themselves. */ + symbolS *target_sym = NULL; + if (vinsn->slots[0].tok[1].X_op == O_symbol) + target_sym = vinsn->slots[0].tok[1].X_add_symbol; + xtensa_set_frag_assembly_state (frag_now); frag_now->tc_frag_data.is_insn = TRUE; @@ -6711,13 +6738,10 @@ xg_assemble_vliw_tokens (vliw_insn *vinsn) if (use_transform ()) frag_var (rs_machine_dependent, max_fill, max_fill, - RELAX_ALIGN_NEXT_OPCODE, - frag_now->fr_symbol, - frag_now->fr_offset, - NULL); + RELAX_ALIGN_NEXT_OPCODE, target_sym, 0, NULL); else frag_var (rs_machine_dependent, 0, 0, - RELAX_CHECK_ALIGN_NEXT_OPCODE, 0, 0, NULL); + RELAX_CHECK_ALIGN_NEXT_OPCODE, target_sym, 0, NULL); xtensa_set_frag_assembly_state (frag_now); xtensa_move_labels (frag_now, 0, FALSE); @@ -6918,7 +6942,8 @@ xtensa_end (void) if (workaround_short_loop && maybe_has_short_loop) xtensa_fix_short_loop_frags (); - xtensa_mark_narrow_branches (); + if (align_targets) + xtensa_mark_narrow_branches (); xtensa_mark_zcl_first_insns (); xtensa_sanity_check (); @@ -7113,7 +7138,24 @@ xtensa_mark_zcl_first_insns (void) /* Of course, sometimes (mostly for toy test cases) a zero-cost loop instruction is the last in a section. */ if (targ_frag) - targ_frag->tc_frag_data.is_first_loop_insn = TRUE; + { + targ_frag->tc_frag_data.is_first_loop_insn = TRUE; + /* Do not widen a frag that is the first instruction of a + zero-cost loop. It makes that loop harder to align. */ + if (targ_frag->fr_type == rs_machine_dependent + && targ_frag->fr_subtype == RELAX_SLOTS + && (targ_frag->tc_frag_data.slot_subtypes[0] + == RELAX_NARROW)) + { + if (targ_frag->tc_frag_data.is_aligning_branch) + targ_frag->tc_frag_data.slot_subtypes[0] = RELAX_IMMED; + else + { + frag_wane (targ_frag); + targ_frag->tc_frag_data.slot_subtypes[0] = 0; + } + } + } if (fragP->fr_subtype == RELAX_CHECK_ALIGN_NEXT_OPCODE) frag_wane (fragP); } @@ -7301,7 +7343,7 @@ next_instr_is_loop_end (fragS *fragP) .fill 0. */ static offsetT min_bytes_to_other_loop_end - (fragS *, fragS *, offsetT, offsetT); + (fragS *, fragS *, offsetT); static void xtensa_fix_close_loop_end_frags (void) @@ -7315,32 +7357,14 @@ xtensa_fix_close_loop_end_frags (void) fragS *fragP; fragS *current_target = NULL; - offsetT current_offset = 0; /* Walk over all of the fragments in a subsection. */ for (fragP = frchP->frch_root; fragP; fragP = fragP->fr_next) { if (fragP->fr_type == rs_machine_dependent - && ((fragP->fr_subtype == RELAX_IMMED) - || ((fragP->fr_subtype == RELAX_SLOTS) - && (fragP->tc_frag_data.slot_subtypes[0] - == RELAX_IMMED)))) - { - /* Read it. If the instruction is a loop, get the target. */ - TInsn t_insn; - tinsn_from_chars (&t_insn, fragP->fr_opcode, 0); - if (xtensa_opcode_is_loop (xtensa_default_isa, - t_insn.opcode) == 1) - { - /* Get the current fragment target. */ - if (fragP->tc_frag_data.slot_symbols[0]) - { - symbolS *sym = fragP->tc_frag_data.slot_symbols[0]; - current_target = symbol_get_frag (sym); - current_offset = fragP->fr_offset; - } - } - } + && ((fragP->fr_subtype == RELAX_ALIGN_NEXT_OPCODE) + || (fragP->fr_subtype == RELAX_CHECK_ALIGN_NEXT_OPCODE))) + current_target = symbol_get_frag (fragP->fr_symbol); if (current_target && fragP->fr_type == rs_machine_dependent @@ -7352,8 +7376,7 @@ xtensa_fix_close_loop_end_frags (void) #define REQUIRED_LOOP_DIVIDING_BYTES 12 /* Max out at 12. */ min_bytes = min_bytes_to_other_loop_end - (fragP->fr_next, current_target, current_offset, - REQUIRED_LOOP_DIVIDING_BYTES); + (fragP->fr_next, current_target, REQUIRED_LOOP_DIVIDING_BYTES); if (min_bytes < REQUIRED_LOOP_DIVIDING_BYTES) { @@ -7394,7 +7417,6 @@ static offsetT unrelaxed_frag_min_size (fragS *); static offsetT min_bytes_to_other_loop_end (fragS *fragP, fragS *current_target, - offsetT current_offset, offsetT max_size) { offsetT offset = 0; @@ -7406,11 +7428,11 @@ min_bytes_to_other_loop_end (fragS *fragP, { if (current_fragP->tc_frag_data.is_loop_target && current_fragP != current_target) - return offset + current_offset; + return offset; offset += unrelaxed_frag_min_size (current_fragP); - if (offset + current_offset >= max_size) + if (offset >= max_size) return max_size; } return max_size; @@ -7497,35 +7519,22 @@ xtensa_fix_short_loop_frags (void) { fragS *fragP; fragS *current_target = NULL; - offsetT current_offset = 0; xtensa_opcode current_opcode = XTENSA_UNDEFINED; /* Walk over all of the fragments in a subsection. */ for (fragP = frchP->frch_root; fragP; fragP = fragP->fr_next) { - /* Check on the current loop. */ if (fragP->fr_type == rs_machine_dependent - && ((fragP->fr_subtype == RELAX_IMMED) - || ((fragP->fr_subtype == RELAX_SLOTS) - && (fragP->tc_frag_data.slot_subtypes[0] - == RELAX_IMMED)))) + && ((fragP->fr_subtype == RELAX_ALIGN_NEXT_OPCODE) + || (fragP->fr_subtype == RELAX_CHECK_ALIGN_NEXT_OPCODE))) { TInsn t_insn; - - /* Read it. If the instruction is a loop, get the target. */ - tinsn_from_chars (&t_insn, fragP->fr_opcode, 0); - if (xtensa_opcode_is_loop (xtensa_default_isa, - t_insn.opcode) == 1) - { - /* Get the current fragment target. */ - if (fragP->tc_frag_data.slot_symbols[0]) - { - symbolS *sym = fragP->tc_frag_data.slot_symbols[0]; - current_target = symbol_get_frag (sym); - current_offset = fragP->fr_offset; - current_opcode = t_insn.opcode; - } - } + fragS *loop_frag = next_non_empty_frag (fragP); + tinsn_from_chars (&t_insn, loop_frag->fr_opcode, 0); + current_target = symbol_get_frag (fragP->fr_symbol); + current_opcode = t_insn.opcode; + assert (xtensa_opcode_is_loop (xtensa_default_isa, + current_opcode)); } if (fragP->fr_type == rs_machine_dependent @@ -7835,16 +7844,10 @@ is_local_forward_loop (const TInsn *insn, fragS *fragP) static int get_text_align_power (unsigned target_size) { - int i = 0; - unsigned power = 1; - - assert (target_size <= INT_MAX); - while (target_size > power) - { - power <<= 1; - i += 1; - } - return i; + if (target_size <= 4) + return 2; + assert (target_size == 8); + return 3; } @@ -8038,14 +8041,9 @@ get_noop_aligned_address (fragS *fragP, addressT address) instruction following the loop, not the LOOP instruction. */ if (first_insn == NULL) - return address; - - assert (first_insn->tc_frag_data.is_first_loop_insn); - - first_insn_size = frag_format_size (first_insn); - - if (first_insn_size == 2 || first_insn_size == XTENSA_UNDEFINED) - first_insn_size = 3; /* ISA specifies this */ + first_insn_size = xtensa_fetch_width; + else + first_insn_size = get_loop_align_size (frag_format_size (first_insn)); /* If it was 8, then we'll need a larger alignment for the section. */ align_power = get_text_align_power (first_insn_size); @@ -8108,7 +8106,7 @@ get_aligned_diff (fragS *fragP, addressT address, offsetT *max_diff) return opt_diff; case RELAX_ALIGN_NEXT_OPCODE: - target_size = next_frag_format_size (fragP); + target_size = get_loop_align_size (next_frag_format_size (fragP)); loop_insn_offset = 0; is_loop = next_frag_opcode_is_loop (fragP, &loop_opcode); assert (is_loop); @@ -8119,9 +8117,6 @@ get_aligned_diff (fragS *fragP, addressT address, offsetT *max_diff) != RELAX_IMMED) loop_insn_offset = get_expanded_loop_offset (loop_opcode); - if (target_size == 2) - target_size = 3; /* ISA specifies this */ - /* In an ideal world, which is what we are shooting for here, we wouldn't need to use any NOPs immediately prior to the LOOP instruction. If this approach fails, relax_frag_loop_align @@ -8725,7 +8720,7 @@ bytes_to_stretch (fragS *this_frag, /* We will need a NOP no matter what, but should we widen this instruction to help? - This is a RELAX_FRAG_NARROW frag. */ + This is a RELAX_NARROW frag. */ switch (desired_diff) { case 1: @@ -10826,8 +10821,11 @@ init_op_placement_info_table (void) opi->issuef++; set_bit (fmt, opi->formats); set_bit (slot, opi->slots[fmt]); - /* opi->slot_count[fmt]++; */ - if (fmt_length < opi->narrowest_size) + if (fmt_length < opi->narrowest_size + || (fmt_length == opi->narrowest_size + && (xtensa_format_num_slots (isa, fmt) + < xtensa_format_num_slots (isa, + opi->narrowest)))) { opi->narrowest = fmt; opi->narrowest_size = fmt_length; diff --git a/gas/config/tc-z80.c b/gas/config/tc-z80.c index 76d46f55492..413e336a2c8 100644 --- a/gas/config/tc-z80.c +++ b/gas/config/tc-z80.c @@ -460,70 +460,6 @@ check_mach (int ins_type) ins_used |= ins_type; } -/* This function tries to subtract two symbols, the generic code does - that too, but this function tries harder. - The behaviour of this function is not altered by extra - fragmentations caused by the code to produce listings. */ -int -z80_optimize_expr (expressionS *resultP, operatorT left_op, - expressionS *right) -{ - int res, swap, som; - fragS *lfrag, *rfrag, *cur; - - res = 0; - if (left_op == O_subtract - && right->X_op == O_symbol - && resultP->X_op == O_symbol) - { - lfrag = symbol_get_frag (resultP->X_add_symbol); - rfrag = symbol_get_frag (right->X_add_symbol); - - if (S_GET_SEGMENT (right->X_add_symbol) != undefined_section - && (S_GET_SEGMENT (right->X_add_symbol) - == S_GET_SEGMENT (resultP->X_add_symbol))) - { - for (swap = 0; (res == 0) && (swap < 2); ++swap) - { - if (swap) - { - cur = lfrag; - lfrag = rfrag; - rfrag = cur; - } - else - cur = rfrag; - - /* Now som == cur->fr_address - rfrag->address, except - the latter may not have been computed yet. */ - for (som = 0; cur && cur != lfrag; cur = cur->fr_next) - { - if (cur->fr_type == rs_fill) /* Is the size fized? */ - som += cur->fr_fix+cur->fr_offset*cur->fr_var; - else - break; - } - - if (cur == lfrag) - { - resultP->X_add_number -= right->X_add_number; - resultP->X_add_number - += (S_GET_VALUE (resultP->X_add_symbol) - - S_GET_VALUE (right->X_add_symbol)); - som -= lfrag->fr_address - rfrag->fr_address; - /* Correct the result if the fr_address - fields are not computed yet. */ - resultP->X_add_number += (swap ? -som : som); - resultP->X_op = O_constant; - resultP->X_add_symbol = 0; - res = 1; - } - } - } - } - return res; -} - /* Check whether an expression is indirect. */ static int is_indir (const char *s) diff --git a/gas/config/tc-z80.h b/gas/config/tc-z80.h index 0ae318af575..0021fb3943a 100644 --- a/gas/config/tc-z80.h +++ b/gas/config/tc-z80.h @@ -55,12 +55,10 @@ /* Define some functions to be called by generic code. */ #define md_end z80_md_end #define md_start_line_hook() { if (z80_start_line_hook ()) continue; } -#define md_optimize_expr z80_optimize_expr #define TC_CONS_FIX_NEW z80_cons_fix_new extern void z80_md_end (void); extern int z80_start_line_hook (void); -extern int z80_optimize_expr (expressionS *, operatorT, expressionS *); extern void z80_cons_fix_new (fragS *, int, int, expressionS *); #define WORKING_DOT_WORD diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c index 5f85840cfd0..a0848820eb3 100644 --- a/gas/config/xtensa-relax.c +++ b/gas/config/xtensa-relax.c @@ -101,6 +101,10 @@ #include #include "xtensa-config.h" +#ifndef XCHAL_HAVE_WIDE_BRANCHES +#define XCHAL_HAVE_WIDE_BRANCHES 0 +#endif + /* Imported from bfd. */ extern xtensa_isa xtensa_default_isa; @@ -345,30 +349,30 @@ static string_pattern_pair widen_spec_list[] = table since they are more efficient than the branch-around relaxations. */ - {"beqz %as,%label ? IsaUseWideBranches", "beqz.w18 %as,%label"}, - {"bnez %as,%label ? IsaUseWideBranches", "bnez.w18 %as,%label"}, - {"bgez %as,%label ? IsaUseWideBranches", "bgez.w18 %as,%label"}, - {"bltz %as,%label ? IsaUseWideBranches", "bltz.w18 %as,%label"}, - {"beqi %as,%imm,%label ? IsaUseWideBranches", "beqi.w18 %as,%imm,%label"}, - {"bnei %as,%imm,%label ? IsaUseWideBranches", "bnei.w18 %as,%imm,%label"}, - {"bgei %as,%imm,%label ? IsaUseWideBranches", "bgei.w18 %as,%imm,%label"}, - {"blti %as,%imm,%label ? IsaUseWideBranches", "blti.w18 %as,%imm,%label"}, - {"bgeui %as,%imm,%label ? IsaUseWideBranches", "bgeui.w18 %as,%imm,%label"}, - {"bltui %as,%imm,%label ? IsaUseWideBranches", "bltui.w18 %as,%imm,%label"}, - {"bbci %as,%imm,%label ? IsaUseWideBranches", "bbci.w18 %as,%imm,%label"}, - {"bbsi %as,%imm,%label ? IsaUseWideBranches", "bbsi.w18 %as,%imm,%label"}, - {"beq %as,%at,%label ? IsaUseWideBranches", "beq.w18 %as,%at,%label"}, - {"bne %as,%at,%label ? IsaUseWideBranches", "bne.w18 %as,%at,%label"}, - {"bge %as,%at,%label ? IsaUseWideBranches", "bge.w18 %as,%at,%label"}, - {"blt %as,%at,%label ? IsaUseWideBranches", "blt.w18 %as,%at,%label"}, - {"bgeu %as,%at,%label ? IsaUseWideBranches", "bgeu.w18 %as,%at,%label"}, - {"bltu %as,%at,%label ? IsaUseWideBranches", "bltu.w18 %as,%at,%label"}, - {"bany %as,%at,%label ? IsaUseWideBranches", "bany.w18 %as,%at,%label"}, - {"bnone %as,%at,%label ? IsaUseWideBranches", "bnone.w18 %as,%at,%label"}, - {"ball %as,%at,%label ? IsaUseWideBranches", "ball.w18 %as,%at,%label"}, - {"bnall %as,%at,%label ? IsaUseWideBranches", "bnall.w18 %as,%at,%label"}, - {"bbc %as,%at,%label ? IsaUseWideBranches", "bbc.w18 %as,%at,%label"}, - {"bbs %as,%at,%label ? IsaUseWideBranches", "bbs.w18 %as,%at,%label"}, + {"beqz %as,%label ? IsaUseWideBranches", "WIDE.beqz %as,%label"}, + {"bnez %as,%label ? IsaUseWideBranches", "WIDE.bnez %as,%label"}, + {"bgez %as,%label ? IsaUseWideBranches", "WIDE.bgez %as,%label"}, + {"bltz %as,%label ? IsaUseWideBranches", "WIDE.bltz %as,%label"}, + {"beqi %as,%imm,%label ? IsaUseWideBranches", "WIDE.beqi %as,%imm,%label"}, + {"bnei %as,%imm,%label ? IsaUseWideBranches", "WIDE.bnei %as,%imm,%label"}, + {"bgei %as,%imm,%label ? IsaUseWideBranches", "WIDE.bgei %as,%imm,%label"}, + {"blti %as,%imm,%label ? IsaUseWideBranches", "WIDE.blti %as,%imm,%label"}, + {"bgeui %as,%imm,%label ? IsaUseWideBranches", "WIDE.bgeui %as,%imm,%label"}, + {"bltui %as,%imm,%label ? IsaUseWideBranches", "WIDE.bltui %as,%imm,%label"}, + {"bbci %as,%imm,%label ? IsaUseWideBranches", "WIDE.bbci %as,%imm,%label"}, + {"bbsi %as,%imm,%label ? IsaUseWideBranches", "WIDE.bbsi %as,%imm,%label"}, + {"beq %as,%at,%label ? IsaUseWideBranches", "WIDE.beq %as,%at,%label"}, + {"bne %as,%at,%label ? IsaUseWideBranches", "WIDE.bne %as,%at,%label"}, + {"bge %as,%at,%label ? IsaUseWideBranches", "WIDE.bge %as,%at,%label"}, + {"blt %as,%at,%label ? IsaUseWideBranches", "WIDE.blt %as,%at,%label"}, + {"bgeu %as,%at,%label ? IsaUseWideBranches", "WIDE.bgeu %as,%at,%label"}, + {"bltu %as,%at,%label ? IsaUseWideBranches", "WIDE.bltu %as,%at,%label"}, + {"bany %as,%at,%label ? IsaUseWideBranches", "WIDE.bany %as,%at,%label"}, + {"bnone %as,%at,%label ? IsaUseWideBranches", "WIDE.bnone %as,%at,%label"}, + {"ball %as,%at,%label ? IsaUseWideBranches", "WIDE.ball %as,%at,%label"}, + {"bnall %as,%at,%label ? IsaUseWideBranches", "WIDE.bnall %as,%at,%label"}, + {"bbc %as,%at,%label ? IsaUseWideBranches", "WIDE.bbc %as,%at,%label"}, + {"bbs %as,%at,%label ? IsaUseWideBranches", "WIDE.bbs %as,%at,%label"}, /* Widening branch comparisons eq/ne to zero. Prefer relaxing to narrow branches if the density option is available. */ @@ -1550,6 +1554,31 @@ transition_applies (insn_pattern *initial_insn, } +static bfd_boolean +wide_branch_opcode (const char *opcode_name, + char *suffix, + xtensa_opcode *popcode) +{ + xtensa_isa isa = xtensa_default_isa; + xtensa_opcode opcode; + static char wbr_name_buf[20]; + + if (strncmp (opcode_name, "WIDE.", 5) != 0) + return FALSE; + + strcpy (wbr_name_buf, opcode_name + 5); + strcat (wbr_name_buf, suffix); + opcode = xtensa_opcode_lookup (isa, wbr_name_buf); + if (opcode != XTENSA_UNDEFINED) + { + *popcode = opcode; + return TRUE; + } + + return FALSE; +} + + static TransitionRule * build_transition (insn_pattern *initial_insn, insn_repl *replace_insns, @@ -1727,13 +1756,19 @@ build_transition (insn_pattern *initial_insn, else { bi->typ = INSTR_INSTR; - bi->opcode = xtensa_opcode_lookup (isa, r->t.opcode_name); + if (wide_branch_opcode (opcode_name, ".w18", &bi->opcode) + || wide_branch_opcode (opcode_name, ".w15", &bi->opcode)) + opcode_name = xtensa_opcode_name (isa, bi->opcode); + else + bi->opcode = xtensa_opcode_lookup (isa, opcode_name); + if (bi->opcode == XTENSA_UNDEFINED) { as_warn (_("invalid opcode '%s' in transition rule '%s'"), - r->t.opcode_name, to_string); + opcode_name, to_string); return NULL; } + /* Check for the right number of ops. */ if (xtensa_opcode_num_operands (isa, bi->opcode) != (int) operand_count) diff --git a/gas/configure b/gas/configure index ce252a77e87..539f7545a48 100755 --- a/gas/configure +++ b/gas/configure @@ -856,7 +856,7 @@ Optional Features: --enable-static=PKGS build static libraries default=yes --enable-fast-install=PKGS optimize for fast installation default=yes --disable-libtool-lock avoid locking (might break parallel builds) - targets alternative target configurations besides the primary + --enable-targets alternative target configurations besides the primary --enable-commonbfdlib build shared BFD/opcodes/libiberty library --enable-werror treat compile warnings as errors --enable-build-warnings Enable build-time compiler warnings diff --git a/gas/configure.in b/gas/configure.in index 00f651291ec..43c9ef9b083 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -23,7 +23,7 @@ AM_INIT_AUTOMAKE(gas, ${BFD_VERSION}) AM_PROG_LIBTOOL AC_ARG_ENABLE(targets, -[ targets alternative target configurations besides the primary], +[ --enable-targets alternative target configurations besides the primary], [case "${enableval}" in yes | "") AC_ERROR(enable-targets option must specify target names or 'all') ;; diff --git a/gas/configure.tgt b/gas/configure.tgt index 220b0137792..07fa8178154 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -335,7 +335,7 @@ case ${generic_target} in sparc-*-rtems*) fmt=elf ;; sparc-*-sunos4*) fmt=aout em=sun3 ;; - sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; + sparc-*-aout) fmt=aout em=sparcaout ;; sparc-*-coff) fmt=coff ;; sparc-*-linux*aout*) fmt=aout em=linux ;; sparc-*-linux-*) fmt=elf em=linux ;; diff --git a/gas/doc/Makefile.am b/gas/doc/Makefile.am index cc806ca3d80..d48a9ccb241 100644 --- a/gas/doc/Makefile.am +++ b/gas/doc/Makefile.am @@ -8,7 +8,7 @@ CONFIG=all # Options to extract the man page from as.texinfo MANCONF = -Dman -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl +TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 @@ -17,11 +17,13 @@ man_MANS = as.1 info_TEXINFOS = as.texinfo +AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" +TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" + asconfig.texi: $(CONFIG).texi rm -f asconfig.texi cp $(srcdir)/$(CONFIG).texi ./asconfig.texi chmod u+w ./asconfig.texi - echo "@set top_srcdir $(top_srcdir)" >> ./asconfig.texi CPU_DOCS = \ c-alpha.texi \ diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in index 99c1a2fc36e..fc07fc3a635 100644 --- a/gas/doc/Makefile.in +++ b/gas/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -58,11 +58,6 @@ PDFS = as.pdf PSS = as.ps HTMLS = as.html TEXINFOS = as.texinfo -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \ - echo $(top_srcdir)/../texinfo/util/texi2dvi; \ - else \ - echo texi2dvi; \ - fi` TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) @@ -212,12 +207,14 @@ CONFIG = all # Options to extract the man page from as.texinfo MANCONF = -Dman -TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl +TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 man_MANS = as.1 info_TEXINFOS = as.texinfo +AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" +TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" CPU_DOCS = \ c-alpha.texi \ c-arc.texi \ @@ -309,9 +306,11 @@ distclean-libtool: restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ @@ -353,6 +352,7 @@ as.dvi: as.texinfo as.pdf: as.texinfo as.html: as.texinfo .dvi.ps: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< uninstall-info-am: @@ -586,7 +586,6 @@ asconfig.texi: $(CONFIG).texi rm -f asconfig.texi cp $(srcdir)/$(CONFIG).texi ./asconfig.texi chmod u+w ./asconfig.texi - echo "@set top_srcdir $(top_srcdir)" >> ./asconfig.texi gasver.texi: $(srcdir)/../../bfd/configure rm -f $@ diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 89fecf25b99..d585da92206 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -451,7 +451,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @c man begin OPTIONS @table @gcctabopt -@include @value{top_srcdir}/../libiberty/at-file.texi +@include at-file.texi @item -a[cdhlmns] Turn on listings, in any of a variety of ways: diff --git a/gas/doc/c-arc.texi b/gas/doc/c-arc.texi index 64285b8dd6c..04544d1e495 100644 --- a/gas/doc/c-arc.texi +++ b/gas/doc/c-arc.texi @@ -49,7 +49,7 @@ Base instruction set. Jump-and-link (jl) instruction. No requirement of an instruction between setting flags and conditional jump. For example: -@smallexample @ta +@smallexample mov.f r0,r1 beq foo @end smallexample diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 81945280aec..16666fa4f28 100644 --- a/gas/dwarf2dbg.c +++ b/gas/dwarf2dbg.c @@ -209,21 +209,21 @@ get_line_subseg (segT seg, subsegT subseg) static subsegT last_subseg; static struct line_subseg *last_line_subseg; - struct line_seg *s; + struct line_seg **ps, *s; struct line_subseg **pss, *ss; if (seg == last_seg && subseg == last_subseg) return last_line_subseg; - for (s = all_segs; s; s = s->next) + for (ps = &all_segs; (s = *ps) != NULL; ps = &s->next) if (s->seg == seg) goto found_seg; s = (struct line_seg *) xmalloc (sizeof (*s)); - s->next = all_segs; + s->next = NULL; s->seg = seg; s->head = NULL; - all_segs = s; + *ps = s; found_seg: for (pss = &s->head; (ss = *pss) != NULL ; pss = &ss->next) diff --git a/gas/expr.c b/gas/expr.c index 3ae1bcc5819..69f0aaccdb6 100644 --- a/gas/expr.c +++ b/gas/expr.c @@ -1,6 +1,6 @@ /* expr.c -operands, expressions- Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -1662,6 +1662,7 @@ expr (int rankarg, /* Larger # is higher rank. */ while (op_left != O_illegal && op_rank[(int) op_left] > rank) { segT rightseg; + bfd_vma frag_off; input_line_pointer += op_chars; /* -> after operator. */ @@ -1741,12 +1742,15 @@ expr (int rankarg, /* Larger # is higher rank. */ else if (op_left == O_subtract && right.X_op == O_symbol && resultP->X_op == O_symbol - && (symbol_get_frag (right.X_add_symbol) - == symbol_get_frag (resultP->X_add_symbol)) + && retval == rightseg && (SEG_NORMAL (rightseg) - || right.X_add_symbol == resultP->X_add_symbol)) + || right.X_add_symbol == resultP->X_add_symbol) + && frag_offset_fixed_p (symbol_get_frag (resultP->X_add_symbol), + symbol_get_frag (right.X_add_symbol), + &frag_off)) { resultP->X_add_number -= right.X_add_number; + resultP->X_add_number -= frag_off / OCTETS_PER_BYTE; resultP->X_add_number += (S_GET_VALUE (resultP->X_add_symbol) - S_GET_VALUE (right.X_add_symbol)); resultP->X_op = O_constant; @@ -1900,6 +1904,7 @@ resolve_expression (expressionS *expressionP) valueT left, right; segT seg_left, seg_right; fragS *frag_left, *frag_right; + bfd_vma frag_off; switch (op) { @@ -2002,13 +2007,15 @@ resolve_expression (expressionS *expressionP) on the input value. Otherwise, both operands must be absolute. We already handled the case of addition or subtraction of a constant above. */ + frag_off = 0; if (!(seg_left == absolute_section && seg_right == absolute_section) && !(op == O_eq || op == O_ne) && !((op == O_subtract || op == O_lt || op == O_le || op == O_ge || op == O_gt) && seg_left == seg_right - && (finalize_syms || frag_left == frag_right) + && (finalize_syms + || frag_offset_fixed_p (frag_left, frag_right, &frag_off)) && (seg_left != reg_section || left == right) && (seg_left != undefined_section || add_symbol == op_symbol))) { @@ -2068,6 +2075,7 @@ resolve_expression (expressionS *expressionP) return 0; } + right += frag_off / OCTETS_PER_BYTE; switch (op) { case O_add: left += right; break; diff --git a/gas/frags.c b/gas/frags.c index 6dae8bc9c22..b08ef502cbf 100644 --- a/gas/frags.c +++ b/gas/frags.c @@ -1,6 +1,6 @@ /* frags.c - manage frags - Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2003, 2004 + 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -383,3 +383,56 @@ frag_append_1_char (int datum) } obstack_1grow (&frchain_now->frch_obstack, datum); } + +/* Return TRUE if FRAG1 and FRAG2 have a fixed relationship between + their start addresses. Set OFFSET to the difference in address + not already accounted for in the frag FR_ADDRESS. */ + +bfd_boolean +frag_offset_fixed_p (fragS *frag1, fragS *frag2, bfd_vma *offset) +{ + fragS *frag; + bfd_vma off; + + /* Start with offset initialised to difference between the two frags. + Prior to assigning frag addresses this will be zero. */ + off = frag1->fr_address - frag2->fr_address; + if (frag1 == frag2) + { + *offset = off; + return TRUE; + } + + /* Maybe frag2 is after frag1. */ + frag = frag1; + while (frag->fr_type == rs_fill) + { + off += frag->fr_fix + frag->fr_offset * frag->fr_var; + frag = frag->fr_next; + if (frag == NULL) + break; + if (frag == frag2) + { + *offset = off; + return TRUE; + } + } + + /* Maybe frag1 is after frag2. */ + off = frag1->fr_address - frag2->fr_address; + frag = frag2; + while (frag->fr_type == rs_fill) + { + off -= frag->fr_fix + frag->fr_offset * frag->fr_var; + frag = frag->fr_next; + if (frag == NULL) + break; + if (frag == frag1) + { + *offset = off; + return TRUE; + } + } + + return FALSE; +} diff --git a/gas/frags.h b/gas/frags.h index e6c61709191..880446763a4 100644 --- a/gas/frags.h +++ b/gas/frags.h @@ -1,6 +1,6 @@ /* frags.h - Header file for the frag concept. Copyright 1987, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -148,4 +148,6 @@ char *frag_var (relax_stateT type, offsetT offset, char *opcode); +bfd_boolean frag_offset_fixed_p (fragS *, fragS *, bfd_vma *); + #endif /* FRAGS_H */ diff --git a/gas/po/Make-in b/gas/po/Make-in index 4ec0ca056a1..be09b4cd788 100644 --- a/gas/po/Make-in +++ b/gas/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright 2003 Free Software Foundation, Inc. +# Copyright 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -186,7 +186,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/gas/po/POTFILES.in b/gas/po/POTFILES.in index 441076a7317..3a173a536ff 100644 --- a/gas/po/POTFILES.in +++ b/gas/po/POTFILES.in @@ -116,6 +116,8 @@ config/tc-v850.c config/tc-v850.h config/tc-vax.c config/tc-vax.h +config/tc-xc16x.c +config/tc-xc16x.h config/tc-xstormy16.c config/tc-xstormy16.h config/tc-xtensa.c diff --git a/gas/po/es.po b/gas/po/es.po index eb78d7c96d7..e7678f70593 100644 --- a/gas/po/es.po +++ b/gas/po/es.po @@ -1,85 +1,77 @@ -# Mensajes en español para gas-2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para gas-2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: gas 2.15.96\n" +"Project-Id-Version: gas 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 20:33+1030\n" -"PO-Revision-Date: 2005-03-14 17:12-0600\n" +"POT-Creation-Date: 2005-10-25 08:41+0930\n" +"PO-Revision-Date: 2006-05-26 15:10-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: app.c:468 app.c:482 +#: app.c:470 app.c:484 msgid "end of file in comment" msgstr "fin de fichero en el comentario" -#: app.c:561 -msgid "end of file in string; inserted '\"'" -msgstr "fin de fichero en la cadena; se insertó '\"'" - -#: app.c:606 -msgid "end of file in string; '\"' inserted" -msgstr "fin de fichero en la cadena; se insertó '\"'" +#: app.c:560 app.c:605 +#, c-format +msgid "end of file in string; '%c' inserted" +msgstr "fin de fichero en la cadena; se insertó '%c'" -#: app.c:632 +#: app.c:631 #, c-format msgid "unknown escape '\\%c' in string; ignored" msgstr "escape '\\%c' desconocido en la cadena; se ignora" -#: app.c:788 +#: app.c:786 msgid "end of file not at end of a line; newline inserted" msgstr "el fin de fichero no está al final de una línea: se insertó línea nueva" -#: app.c:947 +#: app.c:945 msgid "end of file in multiline comment" msgstr "fin de fichero en comentario multilíneas" -#: app.c:1011 +#: app.c:1010 msgid "end of file after a one-character quote; \\0 inserted" msgstr "fin de fichero después de una comilla de un carácter; se insertó \\0" -#: app.c:1019 +#: app.c:1018 msgid "end of file in escape character" msgstr "fin de fichero en carácter de escape" -#: app.c:1031 +#: app.c:1030 msgid "missing close quote; (assumed)" msgstr "falta la comilla que cierra; (se asume)" -#: app.c:1099 app.c:1153 app.c:1164 app.c:1229 +#: app.c:1098 app.c:1152 app.c:1163 app.c:1228 msgid "end of file in comment; newline inserted" msgstr "fin de fichero en comentario; se insertó una línea nueva" -#: as.c:165 +#: as.c:161 msgid "missing emulation mode name" msgstr "falta el nombre del modo de emulación" -#: as.c:180 +#: as.c:176 #, c-format msgid "unrecognized emulation name `%s'" msgstr "nombre de emulación `%s' no reconocido" -#: as.c:228 -#, c-format -msgid "GNU assembler version %s (%s) using BFD version %s" -msgstr "GNU ensamblador versión %s (%s) utilizando BFD versión %s" - -#: as.c:231 +#: as.c:223 #, c-format -msgid "GNU assembler version %s (%s)" -msgstr "GNU ensamblador versión %s (%s)" +msgid "GNU assembler version %s (%s) using BFD version %s\n" +msgstr "GNU ensamblador versión %s (%s) utilizando BFD versión %s\n" -#: as.c:239 +#: as.c:230 #, c-format msgid "Usage: %s [option...] [asmfile...]\n" msgstr "Modo de empleo: %s [opción...] [ficheroasm...]\n" -#: as.c:241 +#: as.c:232 #, c-format msgid "" "Options:\n" @@ -106,152 +98,168 @@ msgstr "" " \t s incluye símbolos\n" " \t =FICH listar a FICHero (debe ser la última sub-opción)\n" -#: as.c:254 +#: as.c:245 #, c-format msgid " --alternate initially turn on alternate macro syntax\n" msgstr " --alternate activa inicialmente la sintaxis alternativa de macros\n" -#: as.c:256 +#: as.c:247 #, c-format msgid " -D produce assembler debugging messages\n" msgstr " -D produce mensajes de depuración de ensamblador\n" -#: as.c:258 +#: as.c:249 #, c-format msgid " --defsym SYM=VAL define symbol SYM to given value\n" msgstr " --defsym SIM=VAL define el símbolo SIM al valor dado\n" -#: as.c:274 +#: as.c:265 #, c-format msgid " emulate output (default %s)\n" msgstr " emula la salida (por defecto %s)\n" -#: as.c:279 +#: as.c:270 #, c-format msgid " --execstack require executable stack for this object\n" msgstr " --execstack requiere pila ejecutable para este objeto\n" -#: as.c:281 +#: as.c:272 #, c-format msgid " --noexecstack don't require executable stack for this object\n" msgstr " --noexecstack no requiere pila ejecutable para este objeto\n" -#: as.c:284 +#: as.c:275 #, c-format msgid " -f skip whitespace and comment preprocessing\n" msgstr " -f salta espacios en blanco y comentarios de preprocesamiento\n" -#: as.c:286 +#: as.c:277 #, c-format msgid " -g --gen-debug generate debugging information\n" msgstr " -g --gen-debug genera información de depuración\n" -#: as.c:288 +#: as.c:279 #, c-format msgid " --gstabs generate STABS debugging information\n" msgstr " --gstabs genera información de depuración de STABS\n" -#: as.c:290 +#: as.c:281 #, c-format msgid " --gstabs+ generate STABS debug info with GNU extensions\n" msgstr " --gstabs+ genera información de depuración de STABS con extensiones GNU\n" -#: as.c:292 +#: as.c:283 #, c-format msgid " --gdwarf-2 generate DWARF2 debugging information\n" msgstr " --gdwarf-2 genera información de depuración DWARF2\n" -#: as.c:294 +#: as.c:285 +#, c-format +msgid " --hash-size= set the hash table size close to \n" +msgstr " --hash-size= establece el tamaño de la tabla de dispersión cerca a \n" + +#: as.c:287 #, c-format msgid " --help show this message and exit\n" msgstr " --help muestra este mensaje y termina\n" -#: as.c:296 +#: as.c:289 #, c-format msgid " --target-help show target specific options\n" msgstr " --target-help muestra las opciones específicas del objetivo\n" -#: as.c:298 +#: as.c:291 #, c-format msgid " -I DIR add DIR to search list for .include directives\n" msgstr " -I DIR agrega DIR a la lista de búsqueda para directivas .include\n" -#: as.c:300 +#: as.c:293 #, c-format msgid " -J don't warn about signed overflow\n" msgstr " -J no avisa sobre desbordamiento con signo\n" -#: as.c:302 +#: as.c:295 #, c-format msgid " -K warn when differences altered for long displacements\n" msgstr " -K avisa cuando hay diferencias alteradas por desubicaciones largas\n" -#: as.c:304 +#: as.c:297 #, c-format msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n" msgstr " -L,--keep-locals conserva los símbolos locales (p.e. inician con `L')\n" -#: as.c:306 +#: as.c:299 #, c-format msgid " -M,--mri assemble in MRI compatibility mode\n" msgstr " -M,--mri ensambla en modo de compatibilidad MRI\n" -#: as.c:308 +#: as.c:301 #, c-format msgid " --MD FILE write dependency information in FILE (default none)\n" msgstr " --MD FICHERO escribe la información de dependencias en el FICHERO (por defecto ninguno)\n" -#: as.c:310 +#: as.c:303 #, c-format msgid " -nocpp ignored\n" msgstr " -nocpp ignorado\n" -#: as.c:312 +#: as.c:305 #, c-format msgid " -o OBJFILE name the object-file output OBJFILE (default a.out)\n" msgstr " -o FICHOBJ nombra la salida del objeto fichero FICHOBJ (por defecto a.out)\n" -#: as.c:314 +#: as.c:307 #, c-format msgid " -R fold data section into text section\n" msgstr " -R pliega la sección de datos en la sección de texto\n" -#: as.c:316 +#: as.c:309 +#, c-format +msgid "" +" --reduce-memory-overheads \n" +" prefer smaller memory use at the cost of longer\n" +" assembly times\n" +msgstr "" +" --reduce-memory-overheads \n" +" prefiere un menor uso de memoria al costo de\n" +" tiempos de ensamblado más largos\n" + +#: as.c:313 #, c-format msgid " --statistics print various measured statistics from execution\n" msgstr " --statistics muestra varias estadísticas medidas de la ejecución\n" -#: as.c:318 +#: as.c:315 #, c-format msgid " --strip-local-absolute strip local absolute symbols\n" msgstr " --strip-local-absolute remueve los símbolos locales absolutos\n" -#: as.c:320 +#: as.c:317 #, c-format msgid " --traditional-format Use same format as native assembler when possible\n" msgstr " --traditional-format Usa el mismo formato que el ensamblador nativo en lo posible\n" -#: as.c:322 +#: as.c:319 #, c-format msgid " --version print assembler version number and exit\n" msgstr " --version muestra el número de versión del ensamblador y termina\n" -#: as.c:324 +#: as.c:321 #, c-format msgid " -W --no-warn suppress warnings\n" msgstr " -W --no-warn suprime los avisos\n" -#: as.c:326 +#: as.c:323 #, c-format msgid " --warn don't suppress warnings\n" msgstr " --warn no suprime los avisos\n" -#: as.c:328 +#: as.c:325 #, c-format msgid " --fatal-warnings treat warnings as errors\n" msgstr " --fatal-warnings trata los avisos como errores\n" -#: as.c:330 +#: as.c:327 #, c-format msgid "" " --itbl INSTTBL extend instruction set to include instructions\n" @@ -261,22 +269,22 @@ msgstr "" " instrucciones que coincidan con las especificaciones\n" " definidas en el fichero INSTTBL\n" -#: as.c:333 +#: as.c:330 #, c-format msgid " -w ignored\n" msgstr " -w ignorado\n" -#: as.c:335 +#: as.c:332 #, c-format msgid " -X ignored\n" msgstr " -X ignorado\n" -#: as.c:337 +#: as.c:334 #, c-format msgid " -Z generate object file even after errors\n" msgstr " -Z genera el fichero objeto aún después de errores\n" -#: as.c:339 +#: as.c:336 #, c-format msgid "" " --listing-lhs-width set the width in words of the output data column of\n" @@ -285,7 +293,7 @@ msgstr "" " --listing-lhs-width establece la anchura en palabras de la columna de\n" " datos de salida en el listado\n" -#: as.c:342 +#: as.c:339 #, c-format msgid "" " --listing-lhs-width2 set the width in words of the continuation lines\n" @@ -297,7 +305,7 @@ msgstr "" " ignora si es más pequeño que la anchura de la\n" " primera línea\n" -#: as.c:346 +#: as.c:343 #, c-format msgid "" " --listing-rhs-width set the max width in characters of the lines from\n" @@ -306,7 +314,7 @@ msgstr "" " --listing-rhs-width establece la anchura máxima en caracteres de las\n" " líneas del fichero fuente\n" -#: as.c:349 +#: as.c:346 #, c-format msgid "" " --listing-cont-lines set the maximum number of continuation lines used\n" @@ -316,17 +324,18 @@ msgstr "" " utilizadas para la columna de datos de salida del\n" " listado\n" -#: as.c:356 +#: as.c:353 #, c-format msgid "Report bugs to %s\n" msgstr "Reportar bichos a %s\n" -#: as.c:549 +#: as.c:553 #, c-format msgid "unrecognized option -%c%s" msgstr "opción -%c%s no reconocida" -#: as.c:588 as.c:590 +#. This output is intended to follow the GNU standards document. +#: as.c:591 #, c-format msgid "GNU assembler %s\n" msgstr "GNU ensamblador %s\n" @@ -387,36 +396,40 @@ msgstr "objetivo-bfd = %s\n" msgid "bad defsym; format is --defsym name=value" msgstr "defsym erróneo; el formato es --defsym nombre=valor" -#: as.c:654 +#: as.c:650 msgid "no file name following -t option" msgstr "no hay un nombre de fichero a continuación de la opción -t" -#: as.c:669 +#: as.c:665 #, c-format msgid "failed to read instruction table %s\n" msgstr "falló la lectura de la tabla de instrucciones %s\n" -#: as.c:830 +#: as.c:832 #, c-format msgid "invalid listing option `%c'" msgstr "opción de listado `%c' inválida" -#: as.c:890 +#: as.c:885 +msgid "--hash-size needs a numeric argument" +msgstr "--hash-size necesita un argumento numérico" + +#: as.c:910 #, c-format msgid "%s: total time in assembly: %ld.%06ld\n" msgstr "%s: tiempo total en ensamblado: %ld.%06ld\n" -#: as.c:893 +#: as.c:913 #, c-format msgid "%s: data size %ld\n" msgstr "%s: tamaño de datos %ld\n" -#: as.c:1202 +#: as.c:1175 #, c-format msgid "%d warnings, treating warnings as errors" msgstr "%d avisos, tratando los avisos como errores" -#: as.h:199 +#: as.h:200 #, c-format msgid "Case value %ld unexpected at line %d of file \"%s\"\n" msgstr "Valor de case %ld inesperado en la línea %d del fichero \"%s\"\n" @@ -425,7 +438,7 @@ msgstr "Valor de case %ld inesperado en la l #. * We have a GROSS internal error. #. * This should never happen. #. -#: atof-generic.c:419 config/tc-m68k.c:3160 +#: atof-generic.c:419 config/tc-m68k.c:3118 msgid "failed sanity check" msgstr "falló la prueba de sanidad" @@ -437,428 +450,342 @@ msgstr "identificador inv msgid "non-constant expression in \".if\" statement" msgstr "expresión no constante en la declaración \".if\"" -#: cond.c:242 +#: cond.c:276 msgid "bad format for ifc or ifnc" msgstr "formato erróneo para ifc ó ifnc" -#: cond.c:272 +#: cond.c:306 msgid "\".elseif\" without matching \".if\"" msgstr "\".elseif\" sin un \".if\" coincidente" -#: cond.c:276 +#: cond.c:310 msgid "\".elseif\" after \".else\"" msgstr "\".elseif\" después de \".else\"" -#: cond.c:279 cond.c:385 +#: cond.c:313 cond.c:419 msgid "here is the previous \"else\"" msgstr "aquí está el \"else\" anterior" -#: cond.c:282 cond.c:388 +#: cond.c:316 cond.c:422 msgid "here is the previous \"if\"" msgstr "aquí está el \"if\" anterior" -#: cond.c:311 +#: cond.c:345 msgid "non-constant expression in \".elseif\" statement" msgstr "expresión no constante en la declaración \".elseif\"" -#: cond.c:349 +#: cond.c:383 msgid "\".endif\" without \".if\"" msgstr "\".endif\" sin \".if\"" -#: cond.c:378 +#: cond.c:412 msgid "\".else\" without matching \".if\"" msgstr "\".else\" sin un \".if\" coincidente" -#: cond.c:382 +#: cond.c:416 msgid "duplicate \"else\"" msgstr "\"else\" duplicado" -#: cond.c:433 +#: cond.c:467 msgid ".ifeqs syntax error" msgstr "error sintáctico .ifeqs" -#: cond.c:514 +#: cond.c:548 msgid "end of macro inside conditional" msgstr "fin de macro dentro de un condicional" -#: cond.c:516 +#: cond.c:550 msgid "end of file inside conditional" msgstr "fin de fichero dentro de un condicional" -#: cond.c:519 +#: cond.c:553 msgid "here is the start of the unterminated conditional" msgstr "aquí es el inicio del condicional sin terminar" -#: cond.c:523 +#: cond.c:557 msgid "here is the \"else\" of the unterminated conditional" msgstr "aquí está el \"else\" del condicional sin terminar" -#: config/obj-aout.c:162 +#: config/obj-aout.c:85 #, c-format msgid "Attempt to put a common symbol into set %s" msgstr "Se intentó poner un símbolo común en el conjunto %s" -#: config/obj-aout.c:166 +#: config/obj-aout.c:89 #, c-format msgid "Attempt to put an undefined symbol into set %s" msgstr "Se intentó poner un símbolo indefinido en el conjunto %s" -#: config/obj-aout.c:197 config/obj-coff.c:1415 +#: config/obj-aout.c:116 config/obj-coff.c:1328 #, c-format msgid "Symbol `%s' can not be both weak and common" msgstr "El símbolo `%s' no puede ser débil y común al mismo tiempo" -#: config/obj-aout.c:255 config/obj-coff.c:2156 -msgid "unresolved relocation" -msgstr "reubicación sin resolver" - -#: config/obj-aout.c:257 config/obj-coff.c:2158 -#, c-format -msgid "bad relocation: symbol `%s' not in symbol table" -msgstr "reubicación errónea: el símbolo `%s' no está en la tabla de símbolos" - -#: config/obj-aout.c:353 -#, c-format -msgid "%s: bad type for weak symbol" -msgstr "%s: tipo erróneo para un símbolo débil" - -#: config/obj-aout.c:459 config/obj-coff.c:3076 write.c:1904 -#, c-format -msgid "%s: global symbols not supported in common sections" -msgstr "%s: los símbolos globales no tienen soporte en las secciones comunes" - -#: config/obj-aout.c:529 -#, c-format -msgid "Local symbol %s never defined." -msgstr "El símbolo local %s nunca se definió." - -#: config/obj-bout.c:312 config/obj-vms.c:449 -#, c-format -msgid "Local symbol %s never defined" -msgstr "El símbolo local %s nunca se definió" - -#: config/obj-coff.c:165 +#: config/obj-coff.c:133 #, c-format msgid "Inserting \"%s\" into structure table failed: %s" msgstr "Falló la inserción de \"%s\" en la tabla de estructuras: %s" #. Zero is used as an end marker in the file. -#: config/obj-coff.c:426 +#: config/obj-coff.c:354 msgid "Line numbers must be positive integers\n" msgstr "Los números de línea deben ser enteros positivos\n" -#. Wrong context. -#: config/obj-coff.c:460 config/obj-coff.c:2501 +#: config/obj-coff.c:386 msgid ".ln pseudo-op inside .def/.endef: ignored." msgstr "pseudo-operador .ln dentro de .def/.endef: ignorado." -#: config/obj-coff.c:503 ecoff.c:3240 +#: config/obj-coff.c:428 ecoff.c:3240 msgid ".loc outside of .text" msgstr ".loc fuera de .text" -#: config/obj-coff.c:510 +#: config/obj-coff.c:435 msgid ".loc pseudo-op inside .def/.endef: ignored." msgstr "pseudo-operador .loc dentro de .def/.endef: ignorado." -#: config/obj-coff.c:598 config/obj-coff.c:2553 +#: config/obj-coff.c:516 msgid ".def pseudo-op used inside of .def/.endef: ignored." msgstr "pseudo-operador .def usado dentro de .def/.endef: ignorado." -#: config/obj-coff.c:644 config/obj-coff.c:2605 +#: config/obj-coff.c:555 msgid ".endef pseudo-op used outside of .def/.endef: ignored." msgstr "pseudo-operador .endef usado fuera de .def/.endef: ignorado." -#: config/obj-coff.c:682 +#: config/obj-coff.c:594 #, c-format msgid "`%s' symbol without preceding function" msgstr "símbolo `%s' sin una función precedente" -#: config/obj-coff.c:769 config/obj-coff.c:2685 +#: config/obj-coff.c:681 #, c-format msgid "unexpected storage class %d" msgstr "clase de almacenamiento %d inesperada" -#: config/obj-coff.c:882 config/obj-coff.c:2792 +#: config/obj-coff.c:790 msgid ".dim pseudo-op used outside of .def/.endef: ignored." msgstr "pseudo-operador .dim usado fuera de .def/.endef: ignorado." -#: config/obj-coff.c:902 config/obj-coff.c:2812 +#: config/obj-coff.c:810 msgid "badly formed .dim directive ignored" msgstr "directiva .dim formada erróneamente ignorada" -#: config/obj-coff.c:953 config/obj-coff.c:2869 +#: config/obj-coff.c:859 msgid ".size pseudo-op used outside of .def/.endef ignored." msgstr "pseudo-operador .size usado fuera de .def/.endef ignorado." -#: config/obj-coff.c:969 config/obj-coff.c:2885 +#: config/obj-coff.c:874 msgid ".scl pseudo-op used outside of .def/.endef ignored." msgstr "pseudo-operador .scl usado fuera de .def/.endef ignorado." -#: config/obj-coff.c:987 config/obj-coff.c:2903 +#: config/obj-coff.c:891 msgid ".tag pseudo-op used outside of .def/.endef ignored." msgstr "pseudo-operador .tag usado fuera de .def/.endef ignorado." -#: config/obj-coff.c:1006 config/obj-coff.c:2920 +#: config/obj-coff.c:909 #, c-format msgid "tag not found for .tag %s" msgstr "no se encontró una marca para .tag %s" -#: config/obj-coff.c:1021 config/obj-coff.c:2934 +#: config/obj-coff.c:922 msgid ".type pseudo-op used outside of .def/.endef ignored." msgstr "pseudo-operador .type usado fuera de .def/.endef ignorado." -#: config/obj-coff.c:1043 config/obj-coff.c:2954 +#: config/obj-coff.c:941 msgid ".val pseudo-op used outside of .def/.endef ignored." msgstr "pseudo-operador .val usado fuera de .def/.endef ignorado." -#: config/obj-coff.c:1180 +#: config/obj-coff.c:1108 msgid "badly formed .weak directive ignored" msgstr "directiva .weak formada erróneamente ignorada" -#: config/obj-coff.c:1372 config/obj-coff.c:3147 +#: config/obj-coff.c:1286 msgid "mismatched .eb" msgstr ".eb sin coincidencia" -#: config/obj-coff.c:1393 config/obj-coff.c:3178 -msgid "C_EFCN symbol out of scope" -msgstr "símbolo C_EFCN fuera de ámbito" +#: config/obj-coff.c:1307 +#, c-format +msgid "C_EFCN symbol for %s out of scope" +msgstr "símbolo C_EFCN para %s fuera de ámbito" #. STYP_INFO #. STYP_LIB #. STYP_OVER -#: config/obj-coff.c:1621 +#: config/obj-coff.c:1533 #, c-format msgid "unsupported section attribute '%c'" msgstr "atributo de sección '%c' sin soporte" -#: config/obj-coff.c:1626 config/obj-coff.c:3874 config/tc-ppc.c:4595 +#: config/obj-coff.c:1538 config/tc-ppc.c:4610 #, c-format msgid "unknown section attribute '%c'" msgstr "atributo de sección '%c' desconocido" -#: config/obj-coff.c:1656 config/tc-ppc.c:4613 config/tc-tic54x.c:4306 -#: read.c:2545 +#: config/obj-coff.c:1568 config/tc-ppc.c:4628 config/tc-tic54x.c:4287 +#: read.c:2551 #, c-format msgid "error setting flags for \"%s\": %s" msgstr "error al establecer las opciones para \"%s\": %s" -#: config/obj-coff.c:1667 +#: config/obj-coff.c:1579 #, c-format msgid "Ignoring changed section attributes for %s" msgstr "Ignorando los atributos de sección cambiados para %s" -#: config/obj-coff.c:1803 +#: config/obj-coff.c:1710 #, c-format msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n" msgstr "0x%lx: \"%s\" tipo = %ld, clase = %d, segmento = %d\n" -#: config/obj-coff.c:1983 config/obj-ieee.c:69 -#, c-format -msgid "Out of step\n" -msgstr "Fuera del paso\n" - -#: config/obj-coff.c:2420 -msgid "bfd_coff_swap_scnhdr_out failed" -msgstr "falló bfd_coff_swap_scnhdr_out" - -#: config/obj-coff.c:2641 -#, c-format -msgid "`.bf' symbol without preceding function\n" -msgstr "símbolo `.bf' sin una función precedente\n" - -#: config/obj-coff.c:3581 config/obj-ieee.c:511 -#, c-format -msgid "FATAL: Can't create %s" -msgstr "FATAL: No se puede crear %s" - -#: config/obj-coff.c:3784 -#, c-format -msgid "Too many new sections; can't add \"%s\"" -msgstr "Demasiadas secciones nuevas; no se puede agregar \"%s\"" - -#: config/obj-coff.c:4247 config/tc-i960.c:3222 -#, c-format -msgid "No 'bal' entry point for leafproc %s" -msgstr "No hay un punto de entrada 'bal' para el proceso hoja %s" - -#: config/obj-coff.c:4323 -#, c-format -msgid "Negative of non-absolute symbol %s" -msgstr "Negativo de un símbolo %s que no es absoluto" - -#: config/obj-coff.c:4343 -msgid "callj to difference of 2 symbols" -msgstr "callj para diferenciar a 2 símbolos" - -#: config/obj-coff.c:4383 -#, c-format -msgid "Can't emit reloc {- %s-seg symbol \"%s\"} @ file address %ld." -msgstr "No se puede emitir la reubicación {- %s-seg símbolo \"%s\"} @ dirección del fichero %ld." - -#: config/obj-coff.c:4469 config/tc-i960.c:2849 -msgid "can't use COBR format with external label" -msgstr "no se puede utilizar el formato COBR con una etiqueta externa" - -#: config/obj-coff.c:4542 -#, c-format -msgid "Value of %ld too large for field of %d bytes at 0x%lx" -msgstr "El valor de %ld es demasiado grande para el campo de %d bytes en 0x%lx" - -#: config/obj-coff.c:4556 -#, c-format -msgid "Signed .word overflow; switch may be too large; %ld at 0x%lx" -msgstr "Desbordamiento con signo de .word; el interruptor puede ser demasiado grande; %ld en 0x%lx" - -#: config/obj-ecoff.c:192 +#: config/obj-ecoff.c:125 msgid "Can't set GP value" msgstr "No se puede establecer el valor GP" -#: config/obj-ecoff.c:199 +#: config/obj-ecoff.c:132 msgid "Can't set register masks" msgstr "No se pueden establecer las máscaras de registro" -#: config/obj-elf.c:307 config/tc-sparc.c:3976 config/tc-v850.c:461 +#: config/obj-elf.c:318 config/tc-sparc.c:3973 config/tc-v850.c:451 #, c-format msgid "bad .common segment %s" msgstr "segmento .common %s erróneo" -#: config/obj-elf.c:574 +#: config/obj-elf.c:596 #, c-format msgid "setting incorrect section type for %s" msgstr "se establece un tipo de sección incorrecto para %s" -#: config/obj-elf.c:579 +#: config/obj-elf.c:601 #, c-format msgid "ignoring incorrect section type for %s" msgstr "se ignora un tipo de sección incorrecto para %s" -#: config/obj-elf.c:616 +#: config/obj-elf.c:638 #, c-format msgid "setting incorrect section attributes for %s" msgstr "se establecen atributos de sección incorrectos para %s" -#: config/obj-elf.c:668 +#: config/obj-elf.c:690 #, c-format msgid "ignoring changed section type for %s" msgstr "se ignoran el tipo de sección cambiado para %s" -#: config/obj-elf.c:680 +#: config/obj-elf.c:702 #, c-format msgid "ignoring changed section attributes for %s" msgstr "se ignoran los atributos de sección cambiados para %s" -#: config/obj-elf.c:682 +#: config/obj-elf.c:704 #, c-format msgid "ignoring changed section entity size for %s" msgstr "se ignoran el tamaño de entidad de sección cambiado para %s" -#: config/obj-elf.c:735 +#: config/obj-elf.c:757 msgid "unrecognized .section attribute: want a,w,x,M,S,G,T" msgstr "atributo de .section no reconocido: se quiere a,w,x,M,S,G,T" -#: config/obj-elf.c:772 +#: config/obj-elf.c:794 msgid "unrecognized section attribute" msgstr "atributo de sección no reconocido" -#: config/obj-elf.c:800 read.c:2528 +#: config/obj-elf.c:822 read.c:2535 msgid "unrecognized section type" msgstr "tipo de sección no reconocido" -#: config/obj-elf.c:830 +#: config/obj-elf.c:852 msgid "missing name" msgstr "falta un nombre" -#: config/obj-elf.c:941 +#: config/obj-elf.c:963 msgid "invalid merge entity size" msgstr "tamaño de entidad de mezcla inválido" -#: config/obj-elf.c:948 +#: config/obj-elf.c:970 msgid "entity size for SHF_MERGE not specified" msgstr "no se especificó el tamaño de entidad para SHF_MERGE" -#: config/obj-elf.c:968 +#: config/obj-elf.c:990 msgid "group name for SHF_GROUP not specified" msgstr "no se especificó el tamaño de entidad para SHF_GROUP" -#: config/obj-elf.c:981 +#: config/obj-elf.c:1003 msgid "character following name is not '#'" msgstr "el carácter a continuación del nombre no es '#'" -#: config/obj-elf.c:1078 +#: config/obj-elf.c:1118 msgid ".previous without corresponding .section; ignored" msgstr ".previous sin .section correspondiente; ignorado" -#: config/obj-elf.c:1104 +#: config/obj-elf.c:1144 msgid ".popsection without corresponding .pushsection; ignored" msgstr ".popsection sin .pushsection correspondiente; ignorado" -#: config/obj-elf.c:1156 +#: config/obj-elf.c:1196 msgid "expected comma after name in .symver" msgstr "se esperaba una coma después del nombre en .symver" -#: config/obj-elf.c:1180 +#: config/obj-elf.c:1220 #, c-format msgid "missing version name in `%s' for symbol `%s'" msgstr "falta el nombre de versión en `%s' para el símbolo `%s'" -#: config/obj-elf.c:1191 +#: config/obj-elf.c:1231 #, c-format msgid "multiple versions [`%s'|`%s'] for symbol `%s'" msgstr "versiones múltiples [`%s'|`%s'] para el símbolo `%s'" -#: config/obj-elf.c:1421 +#: config/obj-elf.c:1461 msgid "expected quoted string" msgstr "se esperaba una cadena entre comillas" -#: config/obj-elf.c:1441 +#: config/obj-elf.c:1481 #, c-format msgid "expected comma after name `%s' in .size directive" msgstr "se esperaba una coma después del nombre `%s' en la directiva .size" -#: config/obj-elf.c:1450 +#: config/obj-elf.c:1490 msgid "missing expression in .size directive" msgstr "falta una expresión en la directiva .size" -#: config/obj-elf.c:1537 +#: config/obj-elf.c:1577 #, c-format msgid "unrecognized symbol type \"%s\"" msgstr "tipo de símbolo \"%s\" no reconocido" -#: config/obj-elf.c:1705 +#: config/obj-elf.c:1745 msgid ".size expression too complicated to fix up" msgstr "la expresión .size es demasiado complicada para componerla" -#: config/obj-elf.c:1737 +#: config/obj-elf.c:1777 #, c-format msgid "invalid attempt to declare external version name as default in symbol `%s'" msgstr "intento inválido de declarar un nombre de versión externo como valor por defecto en el símbolo `%s'" -#: config/obj-elf.c:1798 ecoff.c:3598 +#: config/obj-elf.c:1838 ecoff.c:3598 #, c-format msgid "symbol `%s' can not be both weak and common" msgstr "el símbolo `%s' no puede ser débil y común al mismo tiempo" -#: config/obj-elf.c:1905 +#: config/obj-elf.c:1945 #, c-format msgid "assuming all members of group `%s' are COMDAT" msgstr "se asume que todos los miembros del grupo `%s' son COMDAT" -#: config/obj-elf.c:1927 +#: config/obj-elf.c:1967 #, c-format msgid "can't create group: %s" msgstr "no se puede crear un grupo: %s" -#: config/obj-elf.c:2036 +#: config/obj-elf.c:2076 #, c-format msgid "failed to set up debugging information: %s" msgstr "falló al establecer la información de depuración: %s" -#: config/obj-elf.c:2056 +#: config/obj-elf.c:2096 #, c-format msgid "can't start writing .mdebug section: %s" msgstr "no se puede iniciar la escritura de la sección .mdebug: %s" -#: config/obj-elf.c:2064 +#: config/obj-elf.c:2104 #, c-format msgid "could not write .mdebug section: %s" msgstr "no se puede escribir la sección .mdebug: %s" @@ -868,2054 +795,1911 @@ msgstr "no se puede escribir la secci msgid "can't allocate ELF private section data: %s" msgstr "no se puede crear la sección de datos privados ELF: %s" +#: config/obj-ieee.c:69 +#, c-format +msgid "Out of step\n" +msgstr "Fuera del paso\n" + #: config/obj-ieee.c:449 msgid "too many sections" msgstr "demasiadas secciones" -#: config/obj-som.c:140 +#: config/obj-ieee.c:511 +#, c-format +msgid "FATAL: Can't create %s" +msgstr "FATAL: No se puede crear %s" + +#: config/obj-som.c:129 msgid "Only one .version pseudo-op per file!" msgstr "¡Sólo un pseudo-operador .version por fichero!" -#: config/obj-som.c:157 config/obj-som.c:203 +#: config/obj-som.c:146 config/obj-som.c:191 msgid "Expected quoted string" msgstr "Se esperaba una cadena entre comillas" -#: config/obj-som.c:166 +#: config/obj-som.c:155 #, c-format msgid "FATAL: Attaching version header %s" msgstr "FATAL: Adjuntando el encabezado de versión %s" -#: config/obj-som.c:186 +#: config/obj-som.c:174 msgid "Only one .copyright pseudo-op per file!" msgstr "¡Sólo un pseudo-operador .copyright por fichero!" -#: config/obj-som.c:212 +#: config/obj-som.c:200 #, c-format msgid "FATAL: Attaching copyright header %s" msgstr "FATAL: Adjuntando el encabezado de copyright %s" -#: config/obj-vms.c:367 +#: config/tc-alpha.c:592 #, c-format -msgid "compiler emitted zero-size common symbol `%s' already defined" -msgstr "el símbolo común de tamaño cero emitido por el compilador `%s' ya está definido" +msgid "No !literal!%ld was found" +msgstr "No se encontró una !literal!%ld" -#: config/obj-vms.c:375 +#: config/tc-alpha.c:599 #, c-format -msgid "compiler redefined zero-size common symbol `%s'" -msgstr "símbolo común de tamaño cero `%s' redefinido por el compilador" +msgid "No !tlsgd!%ld was found" +msgstr "No se encontró un !tlsgd!%ld" -#: config/obj-vms.c:482 +#: config/tc-alpha.c:606 #, c-format -msgid "Couldn't create VMS object file \"%s\"" -msgstr "No se puede crear el fichero objeto VMS \"%s\"" - -#: config/obj-vms.c:507 -msgid "I/O error writing VMS object file (length prefix)" -msgstr "Error de E/S al escribir el fichero objeto VMS (longitud del prefijo)" - -#: config/obj-vms.c:521 -msgid "I/O error writing VMS object file" -msgstr "Error de E/S al escribir el fichero objeto VMS" +msgid "No !tlsldm!%ld was found" +msgstr "No se encontró un !tlsldm!%ld" -#: config/obj-vms.c:1057 +#: config/tc-alpha.c:615 #, c-format -msgid "Couldn't find source file \"%s\", status=%%X%x" -msgstr "No se puede encontrar el fichero fuente \"%s\", estado=%%X%x" +msgid "No ldah !gpdisp!%ld was found" +msgstr "No se encontró un ldah !gpdisp!%ld" -#: config/obj-vms.c:1505 config/obj-vms.c:2677 +#: config/tc-alpha.c:665 #, c-format -msgid "debugger forward reference error, dbx type %d" -msgstr "error de referencia hacia adelante del depurador, tipo dbx %d" +msgid "too many !literal!%ld for %s" +msgstr "demasiados !literal!%ld para %s" -#: config/obj-vms.c:1579 +#: config/tc-alpha.c:695 #, c-format -msgid "Variable descriptor %d too complicated. Defined as `void *'." -msgstr "El descriptor de variable %d es demasiado complicado. Se define como `void *'." - -#: config/obj-vms.c:1894 -msgid "" -"***Warning - the assembly code generated by the compiler has placed \n" -" global constant(s) in the text psect. These will not be available to \n" -" other modules, since this is not the correct way to handle this. You \n" -" have two options: 1) get a patched compiler that does not put global \n" -" constants in the text psect, or 2) remove the 'const' keyword from \n" -" definitions of global variables in your source module(s). Don't say \n" -" I didn't warn you! \n" -msgstr "" -"***Aviso - el código ensamblador generado por el compilador ha colocado \n" -" constante(s) global(es) en la psect de texto. Éstas no estarán disponibles \n" -" para otros módulos, ya que no es la forma correcta de manejarlo. Tiene \n" -" dos opciones: 1) obtener un compilador parchado que no coloque constantes \n" -" globales en la psect de texto, o 2) quitar la palabra clave 'const' de \n" -" las definiciones de las variables globales en el(los) módulo(s) fuente. \n" -" ¡No diga que no se le advirtió! \n" +msgid "No lda !gpdisp!%ld was found" +msgstr "No se encontró un lda !gpdisp!%ld" -#: config/obj-vms.c:2199 -#, c-format -msgid "debugginer output: %d is an unknown untyped variable." -msgstr "salida del depurador: %d es una variable sin tipo desconocido." +#. Only support one relocation op per insn. +#: config/tc-alpha.c:852 +msgid "More than one relocation op per insn" +msgstr "Más de un operador de reubicación por insn" -#: config/obj-vms.c:2419 -#, c-format -msgid "debugger output: structure element `%s' has undefined type" -msgstr "salida del depurador: el elmento de la estructura `%s' tiene un tipo indefinido" +#: config/tc-alpha.c:868 +msgid "No relocation operand" +msgstr "No hay un operando de reubicación" -#: config/obj-vms.c:2530 +#: config/tc-alpha.c:878 #, c-format -msgid "debugger output: %d is an unknown type of variable." -msgstr "salida del depurador: %d es un tipo desconocido de variable." +msgid "Unknown relocation operand: !%s" +msgstr "Operando de reubicación desconocido: !%s" -#: config/obj-vms.c:2666 +#: config/tc-alpha.c:888 #, c-format -msgid "debugger output: Unable to resolve %d circular references." -msgstr "salida del depurador: No se pueden resolver %d referencias circulares." +msgid "no sequence number after !%s" +msgstr "no hay un número de secuencia después de !%s" -#: config/obj-vms.c:2854 +#: config/tc-alpha.c:898 #, c-format -msgid "Module name truncated: %s\n" -msgstr "Nombre de módulo truncado: %s\n" +msgid "!%s does not use a sequence number" +msgstr "!%s no utiliza un número de secuencia" -#: config/obj-vms.c:3096 +#: config/tc-alpha.c:908 #, c-format -msgid "Symbol %s replaced by %s\n" -msgstr "El símbolo %s se reemplazó por %s\n" +msgid "Bad sequence number: !%s!%s" +msgstr "Secuencia de números errónea: !%s!%s" -#. impossible -#: config/obj-vms.c:3322 +#: config/tc-alpha.c:1123 config/tc-alpha.c:3139 #, c-format -msgid "Unknown VMS psect type (%ld)" -msgstr "Tipo psect VMS desconocido (%ld)" +msgid "inappropriate arguments for opcode `%s'" +msgstr "argumentos inapropiados para el código de operación `%s'" -#: config/obj-vms.c:3360 +#: config/tc-alpha.c:1125 config/tc-alpha.c:3141 #, c-format -msgid "Globalsymbol attribute for symbol %s was unexpected." -msgstr "El atributo de globalsymbol para el símbolo %s era inesperado." - -#: config/obj-vms.c:3484 -msgid "Invalid data type for globalvalue" -msgstr "Tipo de dato inválido para globalvalue" +msgid "opcode `%s' not supported for target %s" +msgstr "el código de operación `%s' no tiene soporte para el objetivo %s" -#: config/obj-vms.c:3496 +#: config/tc-alpha.c:1129 config/tc-alpha.c:3145 config/tc-avr.c:1221 +#: config/tc-msp430.c:1870 #, c-format -msgid "Invalid globalvalue of %s" -msgstr "Globalvalue inválido de %s" +msgid "unknown opcode `%s'" +msgstr "código de operación `%s' desconocido" -#: config/obj-vms.c:3736 -msgid "Couldn't find fixup fragment when checking for indirect reference" -msgstr "No se puede encontrar el fragmento de compostura al revisar por referencias indirectas" +#: config/tc-alpha.c:1209 config/tc-alpha.c:1384 +msgid "overflow in literal (.lita) table" +msgstr "desbordamiento en la tabla (.lita) literal" -#: config/obj-vms.c:4014 config/obj-vms.c:4149 -msgid "Fixup data addsy and subsy don't have the same type" -msgstr "Los datos de compostura addsy y subsy no tienen el mismo tipo" +#: config/tc-alpha.c:1216 config/tc-alpha.c:1240 config/tc-alpha.c:1397 +#: config/tc-alpha.c:2049 config/tc-alpha.c:2093 config/tc-alpha.c:2162 +#: config/tc-alpha.c:2245 config/tc-alpha.c:2470 config/tc-alpha.c:2568 +msgid "macro requires $at register while noat in effect" +msgstr "la macro requiere el registro $at mientras noat está en efecto" -#: config/obj-vms.c:4018 config/obj-vms.c:4153 -msgid "Fixup data addsy and subsy don't have an appropriate type" -msgstr "Los datos de compostura addsy y subsy no tienen un tipo apropiado" +#: config/tc-alpha.c:1218 config/tc-alpha.c:1242 config/tc-alpha.c:1399 +msgid "macro requires $at while $at in use" +msgstr "la macro requiere $at mientras $at está en uso" -#: config/obj-vms.c:4021 config/obj-vms.c:4156 -msgid "Fixup data is erroneously \"pcrel\"" -msgstr "Los datos de compostura son \"pcrel\" erróneamente" +#: config/tc-alpha.c:1346 +msgid "bignum invalid; zero assumed" +msgstr "bignum inválido; se asume cero" -#: config/obj-vms.c:4037 config/obj-vms.c:4173 -msgid "Fixup datum is not a longword" -msgstr "El dato de compostura no es un longword" +#: config/tc-alpha.c:1348 +msgid "floating point number invalid; zero assumed" +msgstr "número de coma flotante inválido; se asume cero" -#: config/obj-vms.c:4041 config/obj-vms.c:4177 -msgid "Fixup datum is not \"fixP->fx_addsy\"" -msgstr "El dato de compostura no es \"fixP->fx_addsy\"" +#: config/tc-alpha.c:1353 +msgid "can't handle expression" +msgstr "no se puede manejar la expresión" -#: config/obj-vms.c:4353 -msgid "Can't handle global xtors symbols yet." -msgstr "No se pueden manejar símbolos xtors globales aún." +#: config/tc-alpha.c:1390 +msgid "overflow in literal (.lit8) table" +msgstr "desbordamiento en la tabla (.lit8) literal" -#: config/obj-vms.c:4356 +#: config/tc-alpha.c:1674 #, c-format -msgid "Unknown %s" -msgstr "%s desconocido" +msgid "too many ldah insns for !gpdisp!%ld" +msgstr "demasiadas instrucciones ldah para !gpdisp!%ld" -#. -#. * Error otherwise. -#. -#: config/obj-vms.c:4441 +#: config/tc-alpha.c:1676 config/tc-alpha.c:1688 #, c-format -msgid "unhandled stab type %d" -msgstr "tipo de cabo %d sin manejar" - -#: config/tc-a29k.c:164 config/tc-sparc.c:4028 -msgid "Unknown segment type" -msgstr "Tipo de segmento desconocido" - -#. Probably a memory allocation problem? Give up now. -#: config/tc-a29k.c:334 config/tc-dlx.c:331 config/tc-hppa.c:1480 -#: config/tc-mips.c:1152 config/tc-mips.c:1194 config/tc-or32.c:228 -#: config/tc-sparc.c:858 -msgid "Broken assembler. No assembly attempted." -msgstr "Ensamblador descompuesto. No se intentó ensamblar." - -#: config/tc-a29k.c:379 config/tc-avr.c:1179 config/tc-d10v.c:545 -#: config/tc-d30v.c:552 config/tc-h8300.c:470 config/tc-h8500.c:283 -#: config/tc-mcore.c:608 config/tc-mmix.c:502 config/tc-mn10200.c:940 -#: config/tc-mn10300.c:1820 config/tc-msp430.c:407 config/tc-or32.c:334 -#: config/tc-or32.c:390 config/tc-ppc.c:2367 config/tc-s390.c:1218 -#: config/tc-sh64.c:2213 config/tc-sh.c:1240 config/tc-tic80.c:280 -#: config/tc-v850.c:2034 config/tc-w65.c:215 config/tc-z8k.c:331 -msgid "missing operand" -msgstr "operando faltante" +msgid "both insns for !gpdisp!%ld must be in the same section" +msgstr "ambas instrucciones para !gpdisp!%ld deben estar en la misma sección" -#: config/tc-a29k.c:418 config/tc-cris.c:1515 config/tc-cris.c:1523 -#: config/tc-crx.c:2028 config/tc-dlx.c:808 config/tc-hppa.c:1616 -#: config/tc-i860.c:492 config/tc-i860.c:509 config/tc-i860.c:989 -#: config/tc-sparc.c:1420 config/tc-sparc.c:1426 +#: config/tc-alpha.c:1686 #, c-format -msgid "Unknown opcode: `%s'" -msgstr "Código de operación desconocido: `%s'" +msgid "too many lda insns for !gpdisp!%ld" +msgstr "demasiadas instrucciones lda para !gpdisp!%ld" -#: config/tc-a29k.c:423 config/tc-dlx.c:826 +#: config/tc-alpha.c:1742 #, c-format -msgid "Unknown opcode `%s'." -msgstr "Código de operación desconocido `%s'." +msgid "too many lituse insns for !lituse_tlsgd!%ld" +msgstr "demasiadas instrucciones lituse para !lituse_tlsgd!%ld" -#: config/tc-a29k.c:455 config/tc-dlx.c:887 +#: config/tc-alpha.c:1745 #, c-format -msgid "Too many operands: %s" -msgstr "Demasiados operandos: %s" +msgid "too many lituse insns for !lituse_tlsldm!%ld" +msgstr "demasiadas instrucciones lituse para !lituse_tlsldm!%ld" -#: config/tc-a29k.c:477 config/tc-a29k.c:508 +#: config/tc-alpha.c:1762 #, c-format -msgid "Immediate value of %ld is too large" -msgstr "El valor inmediato de %ld es demasiado grande" +msgid "duplicate !tlsgd!%ld" +msgstr "!tlsgd!%ld duplicado" -#: config/tc-a29k.c:547 config/tc-i860.c:395 config/tc-i860.c:940 -#: config/tc-m68k.c:3485 config/tc-m68k.c:3517 config/tc-sparc.c:2658 -msgid "failed sanity check." -msgstr "falló la prueba de sanidad." +#: config/tc-alpha.c:1764 +#, c-format +msgid "sequence number in use for !tlsldm!%ld" +msgstr "número de secuencia en uso para !tlsldm!%ld" -#: config/tc-a29k.c:891 config/tc-or32.c:1023 config/tc-or32.c:1147 +#: config/tc-alpha.c:1778 #, c-format -msgid "bad relocation type: 0x%02x" -msgstr "tipo de reubicación erróneo: 0x%02x" +msgid "duplicate !tlsldm!%ld" +msgstr "!tlsldm!%ld duplicado" -#: config/tc-a29k.c:918 +#: config/tc-alpha.c:1780 #, c-format -msgid "need %o3\n" -msgstr "se necesita %o3\n" +msgid "sequence number in use for !tlsgd!%ld" +msgstr "número de secuencia en uso para !tlsgd!%ld" -#: config/tc-a29k.c:934 -msgid "a29k_convert_frag\n" -msgstr "a29k_convert_frag\n" +#: config/tc-alpha.c:1823 config/tc-arc.c:294 config/tc-mn10200.c:889 +#: config/tc-mn10300.c:2600 config/tc-ppc.c:1476 config/tc-s390.c:614 +#: config/tc-v850.c:1573 +msgid "operand" +msgstr "operando" -#: config/tc-a29k.c:943 -msgid "a29k_estimate_size_before_relax\n" -msgstr "a29k_estimate_size_before_relax\n" +#: config/tc-alpha.c:1926 config/tc-alpha.c:1950 config/tc-d10v.c:585 +#: config/tc-d30v.c:573 config/tc-mn10200.c:1133 config/tc-mn10300.c:1893 +#: config/tc-ppc.c:2348 config/tc-ppc.c:2565 config/tc-ppc.c:2577 +#: config/tc-s390.c:1230 config/tc-s390.c:1330 config/tc-s390.c:1459 +#: config/tc-v850.c:1747 config/tc-v850.c:1770 config/tc-v850.c:1973 +msgid "too many fixups" +msgstr "demasiadas composturas" -#: config/tc-a29k.c:1037 config/tc-dlx.c:1251 config/tc-or32.c:1342 -#, c-format -msgid "label \"$%d\" redefined" -msgstr "se redefinió la etiqueta \"$%d\"" +#: config/tc-alpha.c:1962 +msgid "invalid relocation for instruction" +msgstr "reubicación inválida para la instrucción" -#: config/tc-a29k.c:1110 config/tc-dlx.c:485 config/tc-or32.c:1435 -#, c-format -msgid "Invalid expression after %%%%\n" -msgstr "Expresión inválida después de %%%%\n" +#: config/tc-alpha.c:1973 +msgid "invalid relocation for field" +msgstr "reubicación inválida para el campo" -#: config/tc-a29k.c:1121 -msgid "Invalid register in & expression" -msgstr "Registro inválido en la expresión &" +#: config/tc-alpha.c:2760 +msgid "can not resolve expression" +msgstr "no se puede resolver la expresión" -#: config/tc-alpha.c:802 +#: config/tc-alpha.c:3275 config/tc-ppc.c:1781 config/tc-ppc.c:4373 #, c-format -msgid "internal error: can't hash opcode `%s': %s" -msgstr "error interno: no se puede dispersar el código de operación `%s': %s" +msgid ".COMMon length (%ld.) <0! Ignored." +msgstr "¡longitud de .COMM (%ld.) <0! Ignorada." + +#: config/tc-alpha.c:3304 config/tc-sparc.c:3843 config/tc-v850.c:246 +msgid "Ignoring attempt to re-define symbol" +msgstr "Se ignora el intento de redefinir el símbolo" -#: config/tc-alpha.c:836 +#: config/tc-alpha.c:3313 config/tc-alpha.c:3322 config/tc-ppc.c:4410 +#: config/tc-sparc.c:3851 #, c-format -msgid "internal error: can't hash macro `%s': %s" -msgstr "error interno: no se puede dispersar la macro `%s': %s" +msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld." +msgstr "La longitud de .comm \"%s\" ya es %ld. No se cambia a %ld." -#: config/tc-alpha.c:919 config/tc-i960.c:2712 config/tc-xtensa.c:5191 -#: config/tc-xtensa.c:5260 config/tc-xtensa.c:5311 -msgid "syntax error" -msgstr "error sintáctico" +#: config/tc-alpha.c:3439 ecoff.c:3054 +msgid ".ent directive has no name" +msgstr "la directiva .ent no tiene nombre" -#: config/tc-alpha.c:993 config/tc-h8300.c:2092 config/tc-h8500.c:1204 -#: config/tc-hppa.c:4033 config/tc-i860.c:1059 config/tc-m68hc11.c:558 -#: config/tc-m68k.c:4576 config/tc-m88k.c:991 config/tc-ns32k.c:1689 -#: config/tc-or32.c:902 config/tc-sparc.c:2945 config/tc-z8k.c:1328 -msgid "Bad call to MD_ATOF()" -msgstr "Llamada errónea a MD_ATOF()" +#: config/tc-alpha.c:3447 +msgid "nested .ent directives" +msgstr "directivas .ent anidadas" -#: config/tc-alpha.c:1043 -#, c-format -msgid "Unknown CPU identifier `%s'" -msgstr "Identificador de CPU `%s' desconocido" +#: config/tc-alpha.c:3491 ecoff.c:3005 +msgid ".end directive has no name" +msgstr "la directiva .end no tiene nombre" -#: config/tc-alpha.c:1087 -msgid "" -"Alpha options:\n" -"-32addr\t\t\ttreat addresses as 32-bit values\n" -"-F\t\t\tlack floating point instructions support\n" -"-mev4 | -mev45 | -mev5 | -mev56 | -mpca56 | -mev6 | -mev67 | -mev68 | -mall\n" -"\t\t\tspecify variant of Alpha architecture\n" -"-m21064 | -m21066 | -m21164 | -m21164a | -m21164pc | -m21264 | -m21264a | -m21264b\n" -"\t\t\tthese variants include PALcode opcodes\n" -msgstr "" -"Opciones Alpha:\n" -"-32addr\t\t\ttrata direcciones como valores de 32-bit\n" -"-F\t\t\tfalta el soporte de instrucciones de coma flotante\n" -"-mev4 | -mev45 | -mev5 | -mev56 | -mpca56 | -mev6 | -mev67 | -mev68 | -mall\n" -"\t\t\tespecifica variante de la arquitectura Alpha\n" -"-m21064 | -m21066 | -m21164 | -m21164a | -m21164pc | -m21264 | -m21264a | -m21264b\n" -"\t\t\testas variantes incluyen códigos de operación PALcode\n" +#: config/tc-alpha.c:3500 +msgid ".end directive without matching .ent" +msgstr "directiva .end sin una directiva .ent coincidente" -#: config/tc-alpha.c:1097 -msgid "" -"VMS options:\n" -"-+\t\t\thash encode (don't truncate) names longer than 64 characters\n" -"-H\t\t\tshow new symbol after hash truncation\n" -msgstr "" -"Opciones VMS:\n" -"-+\t\t\tcodificar por dispersión (no truncar) nombres más largos que 64 caracteres\n" -"-H\t\t\tmostrar el símbolo nuevo después del truncado por dispersión\n" +#: config/tc-alpha.c:3502 +msgid ".end directive names different symbol than .ent" +msgstr "la directiva .end nombra un símbolo diferente de .ent" -#: config/tc-alpha.c:1274 -#, c-format -msgid "unhandled relocation type %s" -msgstr "tipo de reubicación %s sin manejar" +#: config/tc-alpha.c:3545 ecoff.c:3140 +msgid ".fmask outside of .ent" +msgstr ".fmask fuera de .ent" -#: config/tc-alpha.c:1287 -msgid "non-absolute expression in constant field" -msgstr "expresión no absoluta en campo constante" +#: config/tc-alpha.c:3547 ecoff.c:3204 +msgid ".mask outside of .ent" +msgstr ".mask fuera de .ent" -#: config/tc-alpha.c:1301 -#, c-format -msgid "type %d reloc done?\n" -msgstr "¿tipo %d de reubicación hecha?\n" +#: config/tc-alpha.c:3555 ecoff.c:3147 +msgid "bad .fmask directive" +msgstr "directiva .fmask errónea" -#: config/tc-alpha.c:1349 config/tc-alpha.c:1356 config/tc-mips.c:8442 -msgid "Used $at without \".set noat\"" -msgstr "Se usó $at sin \".set noat\"" +#: config/tc-alpha.c:3557 ecoff.c:3211 +msgid "bad .mask directive" +msgstr "directiva .mask errónea" -#: config/tc-alpha.c:1518 -#, c-format -msgid "!samegp reloc against symbol without .prologue: %s" -msgstr "reubicación !samegp contra un símbolo sin .prologue: %s" - -#: config/tc-alpha.c:1557 config/tc-xtensa.c:5831 -#, c-format -msgid "cannot represent `%s' relocation in object file" -msgstr "no se puede representar la reubicación `%s' en el fichero objeto" - -#: config/tc-alpha.c:1564 config/tc-xtensa.c:5839 -#, c-format -msgid "internal error? cannot generate `%s' relocation" -msgstr "¿error interno? no se puede generar la reubicación `%s'" - -#: config/tc-alpha.c:1618 -#, c-format -msgid "frame reg expected, using $%d." -msgstr "se esperaba un marco de registro, se usa $%d." - -#: config/tc-alpha.c:1719 -#, c-format -msgid "No !literal!%ld was found" -msgstr "No se encontró una !literal!%ld" - -#: config/tc-alpha.c:1726 -#, c-format -msgid "No !tlsgd!%ld was found" -msgstr "No se encontró un !tlsgd!%ld" - -#: config/tc-alpha.c:1733 -#, c-format -msgid "No !tlsldm!%ld was found" -msgstr "No se encontró un !tlsldm!%ld" - -#: config/tc-alpha.c:1742 -#, c-format -msgid "No ldah !gpdisp!%ld was found" -msgstr "No se encontró un ldah !gpdisp!%ld" - -#: config/tc-alpha.c:1792 -#, c-format -msgid "too many !literal!%ld for %s" -msgstr "demasiados !literal!%ld para %s" - -#: config/tc-alpha.c:1822 -#, c-format -msgid "No lda !gpdisp!%ld was found" -msgstr "No se encontró un lda !gpdisp!%ld" - -#. Only support one relocation op per insn. -#: config/tc-alpha.c:1970 -msgid "More than one relocation op per insn" -msgstr "Más de un operador de reubicación por insn" - -#: config/tc-alpha.c:1986 -msgid "No relocation operand" -msgstr "No hay un operando de reubicación" - -#: config/tc-alpha.c:1996 -#, c-format -msgid "Unknown relocation operand: !%s" -msgstr "Operando de reubicación desconocido: !%s" - -#: config/tc-alpha.c:2006 -#, c-format -msgid "no sequence number after !%s" -msgstr "no hay un número de secuencia después de !%s" - -#: config/tc-alpha.c:2016 -#, c-format -msgid "!%s does not use a sequence number" -msgstr "!%s no utiliza un número de secuencia" - -#: config/tc-alpha.c:2026 -#, c-format -msgid "Bad sequence number: !%s!%s" -msgstr "Secuencia de números errónea: !%s!%s" - -#: config/tc-alpha.c:2352 config/tc-arc.c:331 config/tc-mn10200.c:1344 -#: config/tc-mn10300.c:2601 config/tc-ppc.c:1461 config/tc-s390.c:612 -#: config/tc-v850.c:1644 -msgid "operand" -msgstr "operando" - -#: config/tc-alpha.c:2456 config/tc-alpha.c:2480 config/tc-d10v.c:634 -#: config/tc-d30v.c:640 config/tc-mn10200.c:995 config/tc-mn10300.c:1893 -#: config/tc-ppc.c:2333 config/tc-ppc.c:2550 config/tc-ppc.c:2562 -#: config/tc-s390.c:1228 config/tc-s390.c:1328 config/tc-s390.c:1424 -#: config/tc-v850.c:1821 config/tc-v850.c:1844 config/tc-v850.c:2057 -msgid "too many fixups" -msgstr "demasiadas composturas" - -#: config/tc-alpha.c:2492 -msgid "invalid relocation for instruction" -msgstr "reubicación inválida para la instrucción" - -#: config/tc-alpha.c:2503 -msgid "invalid relocation for field" -msgstr "reubicación inválida para el campo" - -#: config/tc-alpha.c:2608 -#, c-format -msgid "too many ldah insns for !gpdisp!%ld" -msgstr "demasiadas instrucciones ldah para !gpdisp!%ld" - -#: config/tc-alpha.c:2610 config/tc-alpha.c:2622 -#, c-format -msgid "both insns for !gpdisp!%ld must be in the same section" -msgstr "ambas instrucciones para !gpdisp!%ld deben estar en la misma sección" - -#: config/tc-alpha.c:2620 -#, c-format -msgid "too many lda insns for !gpdisp!%ld" -msgstr "demasiadas instrucciones lda para !gpdisp!%ld" - -#: config/tc-alpha.c:2673 -#, c-format -msgid "too many lituse insns for !lituse_tlsgd!%ld" -msgstr "demasiadas instrucciones lituse para !lituse_tlsgd!%ld" - -#: config/tc-alpha.c:2676 -#, c-format -msgid "too many lituse insns for !lituse_tlsldm!%ld" -msgstr "demasiadas instrucciones lituse para !lituse_tlsldm!%ld" - -#: config/tc-alpha.c:2693 -#, c-format -msgid "duplicate !tlsgd!%ld" -msgstr "!tlsgd!%ld duplicado" - -#: config/tc-alpha.c:2695 -#, c-format -msgid "sequence number in use for !tlsldm!%ld" -msgstr "número de secuencia en uso para !tlsldm!%ld" - -#: config/tc-alpha.c:2709 -#, c-format -msgid "duplicate !tlsldm!%ld" -msgstr "!tlsldm!%ld duplicado" - -#: config/tc-alpha.c:2711 -#, c-format -msgid "sequence number in use for !tlsgd!%ld" -msgstr "número de secuencia en uso para !tlsgd!%ld" - -#: config/tc-alpha.c:2756 config/tc-alpha.c:2829 -#, c-format -msgid "inappropriate arguments for opcode `%s'" -msgstr "argumentos inapropiados para el código de operación `%s'" - -#: config/tc-alpha.c:2758 config/tc-alpha.c:2831 -#, c-format -msgid "opcode `%s' not supported for target %s" -msgstr "el código de operación `%s' no tiene soporte para el objetivo %s" - -#: config/tc-alpha.c:2762 config/tc-alpha.c:2835 config/tc-avr.c:1145 -#: config/tc-msp430.c:1777 -#, c-format -msgid "unknown opcode `%s'" -msgstr "código de operación `%s' desconocido" - -#: config/tc-alpha.c:2882 -msgid "can not resolve expression" -msgstr "no se puede resolver la expresión" - -#: config/tc-alpha.c:3026 config/tc-alpha.c:3205 -msgid "overflow in literal (.lita) table" -msgstr "desbordamiento en la tabla (.lita) literal" - -#: config/tc-alpha.c:3033 config/tc-alpha.c:3056 config/tc-alpha.c:3218 -#: config/tc-alpha.c:3433 config/tc-alpha.c:3478 config/tc-alpha.c:3552 -#: config/tc-alpha.c:3644 config/tc-alpha.c:3892 config/tc-alpha.c:3991 -msgid "macro requires $at register while noat in effect" -msgstr "la macro requiere el registro $at mientras noat está en efecto" - -#: config/tc-alpha.c:3035 config/tc-alpha.c:3058 config/tc-alpha.c:3220 -msgid "macro requires $at while $at in use" -msgstr "la macro requiere $at mientras $at está en uso" - -#: config/tc-alpha.c:3166 -msgid "bignum invalid; zero assumed" -msgstr "bignum inválido; se asume cero" - -#: config/tc-alpha.c:3168 -msgid "floating point number invalid; zero assumed" -msgstr "número de coma flotante inválido; se asume cero" - -#: config/tc-alpha.c:3173 -msgid "can't handle expression" -msgstr "no se puede manejar la expresión" - -#: config/tc-alpha.c:3211 -msgid "overflow in literal (.lit8) table" -msgstr "desbordamiento en la tabla (.lit8) literal" - -#: config/tc-alpha.c:4228 config/tc-ppc.c:1766 config/tc-ppc.c:4358 -#, c-format -msgid ".COMMon length (%ld.) <0! Ignored." -msgstr "¡longitud de .COMM (%ld.) <0! Ignorada." - -#: config/tc-alpha.c:4257 config/tc-sparc.c:3844 config/tc-v850.c:256 -msgid "Ignoring attempt to re-define symbol" -msgstr "Se ignora el intento de redefinir el símbolo" - -#: config/tc-alpha.c:4266 config/tc-alpha.c:4275 config/tc-ppc.c:4395 -#: config/tc-sparc.c:3852 -#, c-format -msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld." -msgstr "La longitud de .comm \"%s\" ya es %ld. No se cambia a %ld." - -#: config/tc-alpha.c:4396 ecoff.c:3054 -msgid ".ent directive has no name" -msgstr "la directiva .ent no tiene nombre" - -#: config/tc-alpha.c:4404 -msgid "nested .ent directives" -msgstr "directivas .ent anidadas" - -#: config/tc-alpha.c:4449 ecoff.c:3005 -msgid ".end directive has no name" -msgstr "la directiva .end no tiene nombre" - -#: config/tc-alpha.c:4458 -msgid ".end directive without matching .ent" -msgstr "directiva .end sin una directiva .ent coincidente" - -#: config/tc-alpha.c:4460 -msgid ".end directive names different symbol than .ent" -msgstr "la directiva .end nombra un símbolo diferente de .ent" - -#: config/tc-alpha.c:4504 ecoff.c:3140 -msgid ".fmask outside of .ent" -msgstr ".fmask fuera de .ent" - -#: config/tc-alpha.c:4506 ecoff.c:3204 -msgid ".mask outside of .ent" -msgstr ".mask fuera de .ent" - -#: config/tc-alpha.c:4514 ecoff.c:3147 -msgid "bad .fmask directive" -msgstr "directiva .fmask errónea" - -#: config/tc-alpha.c:4516 ecoff.c:3211 -msgid "bad .mask directive" -msgstr "directiva .mask errónea" - -#: config/tc-alpha.c:4550 config/tc-mips.c:13757 ecoff.c:3168 +#: config/tc-alpha.c:3590 config/tc-mips.c:14022 ecoff.c:3168 msgid ".frame outside of .ent" msgstr ".frame fuera de .ent" -#: config/tc-alpha.c:4561 ecoff.c:3179 +#: config/tc-alpha.c:3601 ecoff.c:3179 msgid "bad .frame directive" msgstr "directiva .frame errónea" -#: config/tc-alpha.c:4594 +#: config/tc-alpha.c:3633 msgid ".prologue directive without a preceding .ent directive" msgstr "directiva .prolog sin una directiva .ent precedente" -#: config/tc-alpha.c:4612 +#: config/tc-alpha.c:3651 #, c-format msgid "Invalid argument %d to .prologue." msgstr "Argumento inválido %d para .prologue." -#: config/tc-alpha.c:4707 +#: config/tc-alpha.c:3742 msgid "ECOFF debugging is disabled." msgstr "La depuración ECOFF está desactivada." -#: config/tc-alpha.c:4721 +#: config/tc-alpha.c:3756 msgid ".ent directive without matching .end" msgstr "directiva .ent sin una directiva .end coincidente" -#: config/tc-alpha.c:4806 +#: config/tc-alpha.c:3841 msgid ".usepv directive has no name" msgstr "la directiva .usepv no tiene nombre" -#: config/tc-alpha.c:4817 +#: config/tc-alpha.c:3852 msgid ".usepv directive has no type" msgstr "la directiva .usepv no tiene tipo" -#: config/tc-alpha.c:4832 +#: config/tc-alpha.c:3867 msgid "unknown argument for .usepv" msgstr "argumento desconocido para .usepv" -#: config/tc-alpha.c:4866 +#: config/tc-alpha.c:3900 msgid "Unknown section directive" msgstr "Directiva de sección desconocida" -#: config/tc-alpha.c:4902 +#: config/tc-alpha.c:3935 msgid ".ent directive has no symbol" msgstr "la directiva .ent no tiene símbolo" -#: config/tc-alpha.c:4928 +#: config/tc-alpha.c:3960 msgid "Bad .frame directive 1./2. param" msgstr "Parámetro 1./2. de directiva .frame erróneo" -#: config/tc-alpha.c:4940 +#: config/tc-alpha.c:3972 msgid "Bad .frame directive 3./4. param" msgstr "Parámetro 3./4. de directiva .frame erróneo" -#: config/tc-alpha.c:4963 +#: config/tc-alpha.c:3994 msgid ".pdesc directive not in link (.link) section" msgstr "la directiva .pdesc no está en la sección de enlace (.link)" -#: config/tc-alpha.c:4971 +#: config/tc-alpha.c:4002 msgid ".pdesc has no matching .ent" msgstr ".pdesc no tiene un .ent coincidente" -#: config/tc-alpha.c:4982 +#: config/tc-alpha.c:4013 msgid ".pdesc directive has no entry symbol" msgstr "la directiva .pdesc no tiene un símbolo de entrada" -#: config/tc-alpha.c:4995 +#: config/tc-alpha.c:4026 msgid "No comma after .pdesc " msgstr "No hay una coma después de .pdesc " -#: config/tc-alpha.c:5018 +#: config/tc-alpha.c:4046 msgid "unknown procedure kind" msgstr "tipo de procedimiento desconocido" -#: config/tc-alpha.c:5109 +#: config/tc-alpha.c:4136 msgid ".name directive not in link (.link) section" msgstr "la directiva .name no está en la sección de enlace (.link)" -#: config/tc-alpha.c:5117 +#: config/tc-alpha.c:4144 msgid ".name directive has no symbol" msgstr "la directiva .name no tiene símbolo" -#: config/tc-alpha.c:5149 +#: config/tc-alpha.c:4175 msgid "No symbol after .linkage" msgstr "No hay un símbolo después de .linkage" -#: config/tc-alpha.c:5175 +#: config/tc-alpha.c:4199 msgid "No symbol after .code_address" msgstr "No hay un símbolo después de .code_address" -#: config/tc-alpha.c:5205 +#: config/tc-alpha.c:4226 msgid "Bad .mask directive" msgstr "Directiva .mask errónea" -#: config/tc-alpha.c:5224 +#: config/tc-alpha.c:4244 msgid "Bad .fmask directive" msgstr "Directiva .fmask errónea" -#: config/tc-alpha.c:5386 +#: config/tc-alpha.c:4401 #, c-format msgid "Expected comma after name \"%s\"" msgstr "Se esperaba una coma después del nombre \"%s\"" #. *symbol_get_obj (symbolP) = (signed char) temp; -#: config/tc-alpha.c:5397 +#: config/tc-alpha.c:4412 #, c-format msgid "unhandled: .proc %s,%d" msgstr "sin manejar: .proc %s,%d" -#: config/tc-alpha.c:5432 +#: config/tc-alpha.c:4446 #, c-format msgid "Tried to .set unrecognized mode `%s'" msgstr "Se intento hacer .set del modo `%s' no reconocido" -#: config/tc-alpha.c:5457 +#: config/tc-alpha.c:4472 #, c-format msgid "Bad base register, using $%d." msgstr "Registro base erróneo, utilizando $%d." -#: config/tc-alpha.c:5479 +#: config/tc-alpha.c:4493 #, c-format msgid "Alignment too large: %d. assumed" msgstr "Alineación demasiado grande: se asume %d." -#: config/tc-alpha.c:5483 config/tc-d30v.c:2183 +#: config/tc-alpha.c:4497 config/tc-d30v.c:2083 msgid "Alignment negative: 0 assumed" msgstr "Alineación negativa: se asume 0" -#: config/tc-alpha.c:5790 +#: config/tc-alpha.c:4775 #, c-format msgid "Chose GP value of %lx\n" msgstr "Valor GP escogido de %lx\n" -#: config/tc-alpha.c:5806 +#: config/tc-alpha.c:4789 msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string" msgstr "Directiva .section errónea: se quiere a,s,w,x,M,S,G,T en la cadena" -#: config/tc-arc.c:1574 config/tc-arm.c:12232 config/tc-ip2k.c:219 +#: config/tc-alpha.c:4878 +#, c-format +msgid "internal error: can't hash opcode `%s': %s" +msgstr "error interno: no se puede dispersar el código de operación `%s': %s" + +#: config/tc-alpha.c:4914 +#, c-format +msgid "internal error: can't hash macro `%s': %s" +msgstr "error interno: no se puede dispersar la macro `%s': %s" + +#: config/tc-alpha.c:4998 config/tc-i960.c:710 config/tc-xtensa.c:5112 +#: config/tc-xtensa.c:5181 config/tc-xtensa.c:5227 +msgid "syntax error" +msgstr "error sintáctico" + +#: config/tc-alpha.c:5067 config/tc-h8300.c:2055 config/tc-hppa.c:4041 +#: config/tc-i860.c:1059 config/tc-m68hc11.c:558 config/tc-m68k.c:4524 +#: config/tc-ns32k.c:1945 config/tc-or32.c:579 config/tc-sparc.c:2944 +#: config/tc-z8k.c:1310 +msgid "Bad call to MD_ATOF()" +msgstr "Llamada errónea a MD_ATOF()" + +#: config/tc-alpha.c:5116 +#, c-format +msgid "Unknown CPU identifier `%s'" +msgstr "Identificador de CPU `%s' desconocido" + +#: config/tc-alpha.c:5159 +msgid "" +"Alpha options:\n" +"-32addr\t\t\ttreat addresses as 32-bit values\n" +"-F\t\t\tlack floating point instructions support\n" +"-mev4 | -mev45 | -mev5 | -mev56 | -mpca56 | -mev6 | -mev67 | -mev68 | -mall\n" +"\t\t\tspecify variant of Alpha architecture\n" +"-m21064 | -m21066 | -m21164 | -m21164a | -m21164pc | -m21264 | -m21264a | -m21264b\n" +"\t\t\tthese variants include PALcode opcodes\n" +msgstr "" +"Opciones Alpha:\n" +"-32addr\t\t\ttrata direcciones como valores de 32-bit\n" +"-F\t\t\tfalta el soporte de instrucciones de coma flotante\n" +"-mev4 | -mev45 | -mev5 | -mev56 | -mpca56 | -mev6 | -mev67 | -mev68 | -mall\n" +"\t\t\tespecifica variante de la arquitectura Alpha\n" +"-m21064 | -m21066 | -m21164 | -m21164a | -m21164pc | -m21264 | -m21264a | -m21264b\n" +"\t\t\testas variantes incluyen códigos de operación PALcode\n" + +#: config/tc-alpha.c:5169 +msgid "" +"VMS options:\n" +"-+\t\t\thash encode (don't truncate) names longer than 64 characters\n" +"-H\t\t\tshow new symbol after hash truncation\n" +msgstr "" +"Opciones VMS:\n" +"-+\t\t\tcodificar por dispersión (no truncar) nombres más largos que 64 caracteres\n" +"-H\t\t\tmostrar el símbolo nuevo después del truncado por dispersión\n" + +#: config/tc-alpha.c:5346 +#, c-format +msgid "unhandled relocation type %s" +msgstr "tipo de reubicación %s sin manejar" + +#: config/tc-alpha.c:5359 +msgid "non-absolute expression in constant field" +msgstr "expresión no absoluta en campo constante" + +#: config/tc-alpha.c:5373 +#, c-format +msgid "type %d reloc done?\n" +msgstr "¿tipo %d de reubicación hecha?\n" + +#: config/tc-alpha.c:5420 config/tc-alpha.c:5427 config/tc-mips.c:8657 +msgid "Used $at without \".set noat\"" +msgstr "Se usó $at sin \".set noat\"" + +#: config/tc-alpha.c:5589 +#, c-format +msgid "!samegp reloc against symbol without .prologue: %s" +msgstr "reubicación !samegp contra un símbolo sin .prologue: %s" + +#: config/tc-alpha.c:5626 config/tc-xtensa.c:5739 +#, c-format +msgid "cannot represent `%s' relocation in object file" +msgstr "no se puede representar la reubicación `%s' en el fichero objeto" + +#: config/tc-alpha.c:5632 config/tc-xtensa.c:5747 +#, c-format +msgid "internal error? cannot generate `%s' relocation" +msgstr "¿error interno? no se puede generar la reubicación `%s'" + +#: config/tc-alpha.c:5683 +#, c-format +msgid "frame reg expected, using $%d." +msgstr "se esperaba un marco de registro, se usa $%d." + +#: config/tc-arc.c:1077 config/tc-ip2k.c:249 msgid "md_estimate_size_before_relax\n" msgstr "md_estimate_size_before_relax\n" -#: config/tc-arc.c:1586 +#: config/tc-arc.c:1088 msgid "md_convert_frag\n" msgstr "md_convert_frag\n" #. We can't actually support subtracting a symbol. -#: config/tc-arc.c:1856 config/tc-arm.c:6622 config/tc-arm.c:9378 -#: config/tc-arm.c:9470 config/tc-avr.c:891 config/tc-cris.c:3999 -#: config/tc-d10v.c:1708 config/tc-d30v.c:1836 config/tc-mips.c:3835 -#: config/tc-mips.c:4949 config/tc-mips.c:5881 config/tc-mips.c:6469 -#: config/tc-msp430.c:1871 config/tc-ppc.c:5542 config/tc-v850.c:2367 -#: config/tc-xstormy16.c:499 +#: config/tc-arc.c:1288 config/tc-arm.c:1021 config/tc-arm.c:5764 +#: config/tc-arm.c:5815 config/tc-arm.c:6614 config/tc-arm.c:7256 +#: config/tc-arm.c:7284 config/tc-arm.c:7536 config/tc-arm.c:7553 +#: config/tc-arm.c:7674 config/tc-avr.c:970 config/tc-cris.c:3928 +#: config/tc-d10v.c:1539 config/tc-d30v.c:1938 config/tc-mips.c:3794 +#: config/tc-mips.c:4902 config/tc-mips.c:5834 config/tc-mips.c:6428 +#: config/tc-msp430.c:1979 config/tc-ppc.c:5562 config/tc-v850.c:2274 +#: config/tc-xstormy16.c:484 msgid "expression too complex" msgstr "expresión demasiado compleja" -#: config/tc-arm.c:758 config/tc-arm.c:14522 +#: config/tc-arm.c:352 msgid "ARM register expected" msgstr "se esperaba un registro ARM" -#: config/tc-arm.c:759 +#: config/tc-arm.c:353 msgid "bad or missing co-processor number" msgstr "número de co-procesador erróneo o faltante" -#: config/tc-arm.c:760 +#: config/tc-arm.c:354 msgid "co-processor register expected" msgstr "se esperaba un registro de co-procesador" -#: config/tc-arm.c:761 +#: config/tc-arm.c:355 msgid "FPA register expected" msgstr "se esperaba un registro FPA" -#: config/tc-arm.c:762 +#: config/tc-arm.c:356 msgid "VFP single precision register expected" msgstr "Se esperaba un registro de precisión simple VFP" -#: config/tc-arm.c:763 +#: config/tc-arm.c:357 msgid "VFP double precision register expected" msgstr "Se esperaba un registro de precisión doble VFP" -#: config/tc-arm.c:764 +#: config/tc-arm.c:358 +msgid "VFP system register expected" +msgstr "se esperaba un registro de sistema VFP" + +#: config/tc-arm.c:359 msgid "Maverick MVF register expected" msgstr "se esperaba un registro Maverick MVF" -#: config/tc-arm.c:765 +#: config/tc-arm.c:360 msgid "Maverick MVD register expected" msgstr "se esperaba un registro Maverick MVD" -#: config/tc-arm.c:766 +#: config/tc-arm.c:361 msgid "Maverick MVFX register expected" msgstr "se esperaba un registro Maverick MVFX" -#: config/tc-arm.c:767 +#: config/tc-arm.c:362 msgid "Maverick MVDX register expected" msgstr "se esperaba un registro Maverick MVDX" -#: config/tc-arm.c:768 +#: config/tc-arm.c:363 msgid "Maverick MVAX register expected" msgstr "se esperaba un registro Maverick MVAX" -#: config/tc-arm.c:769 +#: config/tc-arm.c:364 msgid "Maverick DSPSC register expected" msgstr "se esperaba un registro Maverick DSPSC" -#: config/tc-arm.c:770 -msgid "Intel Wireless MMX technology register expected" -msgstr "se esperaba un registro de tecnología Intel Inalámbrico MMX" +#: config/tc-arm.c:365 +msgid "iWMMXt data register expected" +msgstr "se esperaba un registro de datos iWMMXt" + +#: config/tc-arm.c:366 +msgid "iWMMXt control register expected" +msgstr "se esperaba un registro de control iWMMXt" + +#: config/tc-arm.c:367 +msgid "iWMMXt scalar register expected" +msgstr "se esperaba un registro escalar iWMMXt" + +#: config/tc-arm.c:368 +msgid "XScale accumulator register expected" +msgstr "se esperaba un registro acumulador XScale" -#: config/tc-arm.c:964 +#: config/tc-arm.c:499 msgid "bad arguments to instruction" msgstr "argumentos erróneos para la instrucción" -#: config/tc-arm.c:965 +#: config/tc-arm.c:500 msgid "r15 not allowed here" msgstr "no se permite r15 aquí" -#: config/tc-arm.c:966 -msgid "instruction is not conditional" -msgstr "la instrucción no es condicional" +#: config/tc-arm.c:501 +msgid "instruction cannot be conditional" +msgstr "la instrucción no puede ser condicional" -#: config/tc-arm.c:967 -msgid "acc0 expected" -msgstr "se esperaba acc0" +#: config/tc-arm.c:502 +msgid "registers may not be the same" +msgstr "los registros no pueden ser el mismo" -#: config/tc-arm.c:1100 -msgid "literal pool overflow" -msgstr "desbordamiento de conjunto literal" +#: config/tc-arm.c:503 +msgid "lo register required" +msgstr "se requiere el registro lo" -#: config/tc-arm.c:1475 -msgid "selected processor does not support THUMB opcodes" -msgstr "el procesador seleccionado no tiene soporte para códigos de operación THUMB" +#: config/tc-arm.c:504 +msgid "instruction not supported in Thumb16 mode" +msgstr "la instrucción no tiene soporte en modo Thumb16" -#: config/tc-arm.c:1489 -msgid "selected processor does not support ARM opcodes" -msgstr "el procesador seleccionado no tiene soporte para códigos de operación ARM" +#: config/tc-arm.c:640 +msgid "immediate expression requires a # prefix" +msgstr "la expresión inmediata requiere un prefijo #" + +#: config/tc-arm.c:666 expr.c:1302 read.c:2228 +msgid "bad expression" +msgstr "expresión errónea" -#: config/tc-arm.c:1502 +#: config/tc-arm.c:677 config/tc-i860.c:1005 config/tc-sparc.c:2844 +msgid "bad segment" +msgstr "segmento erróneo" + +#: config/tc-arm.c:693 config/tc-arm.c:3230 config/tc-i960.c:1302 +msgid "invalid constant" +msgstr "constante inválida" + +#: config/tc-arm.c:754 +msgid "bad call to MD_ATOF()" +msgstr "llamada errónea a MD_ATOF()" + +#: config/tc-arm.c:821 +msgid "expected #constant" +msgstr "se esperaba #constant" + +#: config/tc-arm.c:953 +msgid "bad range in register list" +msgstr "rango erróneo en la lista de registros" + +#: config/tc-arm.c:961 config/tc-arm.c:970 config/tc-arm.c:1011 #, c-format -msgid "invalid instruction size selected (%d)" -msgstr "tamaño de instrucción seleccionado inválido (%d)" +msgid "Warning: duplicated register (r%d) in register list" +msgstr "Aviso: registro duplicado (r%d) en la lista de registros" -#: config/tc-arm.c:1509 -msgid "invalid syntax for .req directive" -msgstr "sintaxis inválida para la directiva .req." +#: config/tc-arm.c:973 +msgid "Warning: register range not in ascending order" +msgstr "Aviso: el rango de registros no está en orden ascendente" + +#: config/tc-arm.c:984 +msgid "missing `}'" +msgstr "falta un `}'" + +#: config/tc-arm.c:1000 +msgid "invalid register mask" +msgstr "máscara de registro inválida" + +#: config/tc-arm.c:1091 config/tc-arm.c:1126 config/tc-h8300.c:991 +#: config/tc-mips.c:9797 config/tc-mips.c:9827 +msgid "invalid register list" +msgstr "lista de registros inválida" + +#: config/tc-arm.c:1097 config/tc-arm.c:2402 config/tc-arm.c:2535 +msgid "register list not in ascending order" +msgstr "la lista de registros no está en orden ascendente" + +#: config/tc-arm.c:1118 +msgid "register range not in ascending order" +msgstr "el rango de registros no está en orden ascendente" -#: config/tc-arm.c:1552 +#: config/tc-arm.c:1151 +msgid "non-contiguous register range" +msgstr "el rango de registro no es contiguo" + +#: config/tc-arm.c:1199 +#, c-format +msgid "ignoring attempt to redefine built-in register '%s'" +msgstr "se ignora el intento de redefinir el símbolo interno '%s'" + +#: config/tc-arm.c:1204 #, c-format -msgid "unreq: missing hash entry for \"%s\"" -msgstr "unreq: falta la entrada de hash para \"%s\"" +msgid "ignoring redefinition of register alias '%s'" +msgstr "se ignora la redefinición del alias de registro '%s'" -#: config/tc-arm.c:1571 config/tc-arm.c:1574 +#: config/tc-arm.c:1248 #, c-format -msgid ".unreq: unrecognized symbol \"%s\"" -msgstr ".unreq: símbolo \"%s\" no reconocido" +msgid "unknown register '%s' -- .req ignored" +msgstr "registro '%s' desconocido -- se ignora .req" -#: config/tc-arm.c:1577 +#: config/tc-arm.c:1291 +msgid "invalid syntax for .req directive" +msgstr "sintaxis inválida para la directiva .req." + +#: config/tc-arm.c:1317 msgid "invalid syntax for .unreq directive" msgstr "sintaxis inválida para la directiva .unreq" -#: config/tc-arm.c:1659 +#: config/tc-arm.c:1323 #, c-format -msgid "alignment too large: %d assumed" -msgstr "alineación demasiado grande: se asume %d" +msgid "unknown register alias '%s'" +msgstr "alias de registro '%s' desconocido" -#: config/tc-arm.c:1662 -msgid "alignment negative. 0 assumed." -msgstr "alineación negativa. Se asume 0." - -#: config/tc-arm.c:1743 +#: config/tc-arm.c:1325 #, c-format -msgid "expected comma after name \"%s\"" -msgstr "se esperaba una coma después del nombre \"%s\"" +msgid "ignoring attempt to undefine built-in register '%s'" +msgstr "se ignora el intento de eliminar la definición del símbolo interno '%s'" + +#: config/tc-arm.c:1456 +msgid "selected processor does not support THUMB opcodes" +msgstr "el procesador seleccionado no tiene soporte para códigos de operación THUMB" + +#: config/tc-arm.c:1470 +msgid "selected processor does not support ARM opcodes" +msgstr "el procesador seleccionado no tiene soporte para códigos de operación ARM" -#: config/tc-arm.c:1793 config/tc-m32r.c:617 +#: config/tc-arm.c:1483 #, c-format -msgid "symbol `%s' already defined" -msgstr "el símbolo `%s' ya está definido" +msgid "invalid instruction size selected (%d)" +msgstr "tamaño de instrucción seleccionado inválido (%d)" -#: config/tc-arm.c:1836 +#: config/tc-arm.c:1515 #, c-format msgid "invalid operand to .code directive (%d) (expecting 16 or 32)" msgstr "operando inválido para la directiva .code (%d) (se esperaba 16 o 32)" -#: config/tc-arm.c:1846 -msgid "garbage following instruction" -msgstr "basura a continuación de la instrucción" - -#: config/tc-arm.c:1916 -msgid "bad_segment" -msgstr "segmento_erróneo" +#: config/tc-arm.c:1571 +#, c-format +msgid "expected comma after name \"%s\"" +msgstr "se esperaba una coma después del nombre \"%s\"" -#: config/tc-arm.c:1932 config/tc-arm.c:2699 config/tc-arm.c:3889 -#: config/tc-arm.c:5841 config/tc-arm.c:5861 config/tc-i960.c:1940 -msgid "invalid constant" -msgstr "constante inválida" +#: config/tc-arm.c:1621 config/tc-m32r.c:589 +#, c-format +msgid "symbol `%s' already defined" +msgstr "el símbolo `%s' ya está definido" -#. In the few cases where we might be able to accept something else -#. this error can be overridden. -#: config/tc-arm.c:1967 +#: config/tc-arm.c:1655 #, c-format -msgid "register expected, not '%.100s'" -msgstr "se esperaba un registro, no '%.100s'" +msgid "unrecognized syntax mode \"%s\"" +msgstr "modo de sintaxis \"%s\" no reconocido" -#. In the few cases where we might be able to accept -#. something else this error can be overridden. -#: config/tc-arm.c:2017 +#: config/tc-arm.c:1675 #, c-format -msgid "Intel Wireless MMX technology register expected, not '%.100s'" -msgstr "se esperaba un registro de tecnología Intel Inalámbrica MMX, no '%.100s'" +msgid "alignment too large: %d assumed" +msgstr "alineación demasiado grande: se asume %d" -#. In the few cases where we might be able to accept -#. something else this error can be overridden. -#: config/tc-arm.c:2087 -msgid "flag for {c}psr instruction expected" -msgstr "se esperaba una opción para la instrucción {c}psr" +#: config/tc-arm.c:1678 +msgid "alignment negative. 0 assumed." +msgstr "alineación negativa. Se asume 0." -#: config/tc-arm.c:2120 -msgid "illegal co-processor number" -msgstr "número de co-procesador ilegal" +#: config/tc-arm.c:1816 +msgid "literal pool overflow" +msgstr "desbordamiento de conjunto literal" -#: config/tc-arm.c:2149 config/tc-arm.c:5101 -msgid "bad or missing expression" -msgstr "expresión errónea o faltante" +#: config/tc-arm.c:1972 config/tc-arm.c:3888 +msgid "unrecognized relocation suffix" +msgstr "sufijo de reubicación no reconocido" -#: config/tc-arm.c:2155 -msgid "immediate co-processor expression too large" -msgstr "expresión de co-procesador inmediata demasiado grande" +#: config/tc-arm.c:1985 +msgid "(plt) is only valid on branch targets" +msgstr "(plt) sólo es válido en objetivos ramas" -#: config/tc-arm.c:2214 config/tc-arm.c:2427 config/tc-arm.c:3718 -#: config/tc-arm.c:3804 config/tc-arm.c:3868 config/tc-arm.c:4106 -#: config/tc-arm.c:4208 -msgid "immediate expression expected" -msgstr "se esperaba una expresión inmediata" +#: config/tc-arm.c:1991 config/tc-s390.c:1128 config/tc-s390.c:1742 +#: config/tc-xtensa.c:1601 +#, c-format +msgid "%s relocations do not fit in %d bytes" +msgstr "%s reubicaciones no caben en %d bytes" -#: config/tc-arm.c:2229 -msgid "co-processor address must be word aligned" -msgstr "la dirección del co-procesador debe ser alineada con word" +#: config/tc-arm.c:2039 dwarf2dbg.c:659 +msgid "expected 0 or 1" +msgstr "se esperaba 0 ó 1" -#: config/tc-arm.c:2235 config/tc-arm.c:2442 config/tc-mips.c:5037 -msgid "offset too large" -msgstr "desplazamiento demasiado grande" +#: config/tc-arm.c:2043 +msgid "missing comma" +msgstr "falta una coma" -#: config/tc-arm.c:2290 -msgid "comma expected after closing square bracket" -msgstr "se esperaba una coma después del paréntesis cuadrado que cierra" +#: config/tc-arm.c:2098 +msgid "dupicate .handlerdata directive" +msgstr "directiva .handlerdata duplicada" -#: config/tc-arm.c:2305 config/tc-arm.c:2489 -msgid "pc may not be used in post-increment" -msgstr "el pc no se puede usar en post-incremento" +#: config/tc-arm.c:2169 +msgid "personality routine specified for cantunwind frame" +msgstr "se especificó una rutina personality para el marco cantunwind" -#: config/tc-arm.c:2333 -msgid "'option' field too large" -msgstr "campo 'option' demasiado grande" +#: config/tc-arm.c:2183 +msgid "duplicate .personalityindex directive" +msgstr "directiva .personalityindex duplicada" -#: config/tc-arm.c:2341 -msgid "'}' expected at end of 'option' field" -msgstr "se esperaba '}' al final del campo 'option'" +#: config/tc-arm.c:2190 +msgid "bad personality routine number" +msgstr "número de rutina personality erróneo" -#: config/tc-arm.c:2353 -msgid "non-constant expressions for 'option' field not supported" -msgstr "no hay soporte para expresiones no constantes para el campo 'option'" +#: config/tc-arm.c:2209 +msgid "duplicate .personality directive" +msgstr "directiva .personality duplicada" -#: config/tc-arm.c:2359 -msgid "# or { expected after comma" -msgstr "se esperaba # o { después de la coma" +#: config/tc-arm.c:2232 config/tc-arm.c:2354 +msgid "expected register list" +msgstr "se esperaba una lista de registros" -#: config/tc-arm.c:2369 config/tc-arm.c:2505 config/tc-arm.c:3020 -#: config/tc-arm.c:5530 config/tc-arm.c:6134 config/tc-arm.c:6405 -msgid "pre-indexed expression expected" -msgstr "se esperaba una expresión pre-indizada" +#: config/tc-arm.c:2310 +msgid "expected , " +msgstr "se esperaba , " -#: config/tc-arm.c:2382 config/tc-arm.c:2518 config/tc-arm.c:3033 -#: config/tc-arm.c:5541 config/tc-arm.c:6146 config/tc-arm.c:6417 -#: config/tc-arm.c:6800 config/tc-arm.c:9110 config/tc-arm.c:9125 -msgid "missing ]" -msgstr "falta un ]" +#: config/tc-arm.c:2319 +msgid "number of registers must be in the range [1:4]" +msgstr "el número de registros debe estar en el rango [1:4]" -#: config/tc-arm.c:2392 config/tc-arm.c:2528 -msgid "pc may not be used with write-back" -msgstr "el pc no se puede usar con escritura hacia atrás" +#: config/tc-arm.c:2416 config/tc-arm.c:2549 +msgid "bad register range" +msgstr "rango de registro erróneo" -#: config/tc-arm.c:2577 -msgid "Invalid NOP hint" -msgstr "Pista NOP inválida" +#: config/tc-arm.c:2602 +msgid "register expected" +msgstr "se esperaba un registro" #: config/tc-arm.c:2612 -msgid "comma expected after register name" -msgstr "se esperaba una coma después del nombre de registro" +msgid "FPA .unwind_save does not take a register list" +msgstr ".unwind_save de FPA no toma una lista de registros" -#: config/tc-arm.c:2631 -msgid "CPSR or SPSR expected" -msgstr "se esperaba CPSR ó SPSR" +#: config/tc-arm.c:2625 +msgid ".unwind_save does not support this kind of register" +msgstr ".unwind_save no tiene soporte para este tipo de registro" -#: config/tc-arm.c:2656 -msgid "comma missing after psr flags" -msgstr "falta una coma después de las opciones psr" +#: config/tc-arm.c:2650 +msgid "SP and PC not permitted in .unwind_movsp directive" +msgstr "no se permiten SP y PC en la directiva .unwind_movsp" -#: config/tc-arm.c:2672 config/tc-arm.c:2682 -msgid "only a register or immediate value can follow a psr flag" -msgstr "sólo un registro o un valor inmediato puede seguir a una opción psr" +#: config/tc-arm.c:2655 +msgid "unexpected .unwind_movsp directive" +msgstr "directiva .unwind_movsp inesperada" -#: config/tc-arm.c:2746 -msgid "rdhi, rdlo and rm must all be different" -msgstr "rdhi, rdlo y rm deben ser todos diferentes" +#: config/tc-arm.c:2679 +msgid "stack increment must be multiple of 4" +msgstr "el operando de pila debe ser un múltiplo de 4" -#: config/tc-arm.c:2798 -msgid "rd and rm should be different in mul" -msgstr "rd y rm deben ser diferentes en mul" +#: config/tc-arm.c:2708 +msgid "expected , " +msgstr "se esperaba , " -#: config/tc-arm.c:2850 -msgid "rd and rm should be different in mla" -msgstr "rd y rm deben ser diferentes en mla" +#: config/tc-arm.c:2726 +msgid "register must be either sp or set by a previousunwind_movsp directive" +msgstr "el registro debe ser sp o establecido por una directiva previousunwind_movsp" -#: config/tc-arm.c:2896 -#, c-format -msgid "acc0 expected, not '%.100s'" -msgstr "se esperaba acc0, no '%.100s'" +#: config/tc-arm.c:2762 +msgid "expected , " +msgstr "se esperaba , " -#: config/tc-arm.c:2925 config/tc-arm.c:5439 -msgid "address offset too large" -msgstr "dirección de desplazamiento demasiado grande" +#: config/tc-arm.c:2774 +msgid "unwind opcode too long" +msgstr "código de operación de desenredo demasiado largo" -#: config/tc-arm.c:3130 -msgid "rdhi and rdlo must be different" -msgstr "rdhi y rdlo deben ser diferentes" +#: config/tc-arm.c:2779 +msgid "invalid unwind opcode" +msgstr "código de operación de desenredo inválido" -#: config/tc-arm.c:3235 -msgid "Warning: instruction unpredictable when using r15" -msgstr "Aviso: la instrucción es impredecible cuando se utiliza r15" +#: config/tc-arm.c:2829 +msgid "expected numeric constant" +msgstr "se esperaba una constante numérica" -#: config/tc-arm.c:3444 -msgid "use of r15 in bx in ARM mode is not really useful" -msgstr "el uso de r15 en bx en modo ARM no es realmente útil" +#: config/tc-arm.c:2838 +msgid "expected comma" +msgstr "se esperaba una coma" -#: config/tc-arm.c:3466 -msgid "use of r15 in bxj is not really useful" -msgstr "el uso de r15 en bxj no es realmente útil" +#: config/tc-arm.c:2877 +msgid "bad string constant" +msgstr "constante de cadena errónea" + +#: config/tc-arm.c:2881 +msgid "expected , " +msgstr "se esperaba , " -#: config/tc-arm.c:3524 config/tc-arm.c:3548 -msgid "Rd equal to Rm or Rn yields unpredictable results" -msgstr "Rd igual a Rm o Rn produce resultados impredecibles" +#: config/tc-arm.c:2957 +msgid "constant expression required" +msgstr "se requiere una expresión constante" -#: config/tc-arm.c:3577 config/tc-arm.c:3588 +#: config/tc-arm.c:2963 config/tc-arm.c:6472 config/tc-arm.c:11799 +#: config/tc-arm.c:11824 config/tc-arm.c:11832 config/tc-z8k.c:1122 +#: config/tc-z8k.c:1132 +msgid "immediate value out of range" +msgstr "valor inmediato fuera de rango" + +#: config/tc-arm.c:3058 +msgid "invalid FPA immediate expression" +msgstr "expresión inmediata FPA inválida" + +#: config/tc-arm.c:3108 config/tc-arm.c:3116 msgid "shift expression expected" msgstr "se esperaba una expresión de desplazamiento" -#: config/tc-arm.c:3598 +#: config/tc-arm.c:3130 msgid "'LSL' or 'ASR' required" msgstr "se requiere 'LSL' o 'ASR'" -#: config/tc-arm.c:3604 +#: config/tc-arm.c:3138 msgid "'LSL' required" msgstr "se requiere 'LSL'" -#: config/tc-arm.c:3610 +#: config/tc-arm.c:3146 msgid "'ASR' required" msgstr "se requiere 'ASR'" +#: config/tc-arm.c:3218 config/tc-arm.c:4349 config/tc-v850.c:1844 +#: config/tc-v850.c:1865 +msgid "constant expression expected" +msgstr "se esperaba una expresión constante" + +#: config/tc-arm.c:3225 +msgid "invalid rotation" +msgstr "rotación inválida" + +#: config/tc-arm.c:3340 config/tc-arm.c:3640 +msgid "']' expected" +msgstr "se esperaba ']'" + +#: config/tc-arm.c:3358 +msgid "'}' expected at end of 'option' field" +msgstr "se esperaba '}' al final del campo 'option'" + +#: config/tc-arm.c:3363 +msgid "cannot combine index with option" +msgstr "no se puede combinar index con option" + +#: config/tc-arm.c:3376 +msgid "cannot combine pre- and post-indexing" +msgstr "no se puede combinar pre y post-indizado" + +#: config/tc-arm.c:3472 +msgid "flag for {c}psr instruction expected" +msgstr "se esperaba una opción para la instrucción {c}psr" + +#: config/tc-arm.c:3497 +msgid "unrecognized CPS flag" +msgstr "opción CPS no reconocida" + +#: config/tc-arm.c:3504 +msgid "missing CPS flags" +msgstr "faltan las opciones CPS" + +#: config/tc-arm.c:3527 config/tc-arm.c:3533 +msgid "valid endian specifiers are be or le" +msgstr "los especificadores endian válidos son be o le" + +#: config/tc-arm.c:3555 +msgid "missing rotation field after comma" +msgstr "falta el campo rotation después de la coma" + +#: config/tc-arm.c:3570 +msgid "rotation can only be 0, 8, 16, or 24" +msgstr "la rotación sólo puede ser 0, 8 , 16 o 24" + +#: config/tc-arm.c:3590 +msgid "condition required" +msgstr "se requiere una condición" + #: config/tc-arm.c:3632 -msgid "shift requires register or #expression" -msgstr "el desplazamiento requiere un registro o una #expresión" +msgid "invalid shift" +msgstr "desplazamiento inválido" -#: config/tc-arm.c:3633 -msgid "shift requires #expression" -msgstr "el desplazamiento requiere una #expresión" +#: config/tc-arm.c:3929 +msgid "iWMMXt data or control register expected" +msgstr "se esperaba un registro de datos o control iWMMXt" -#: config/tc-arm.c:3663 -msgid "shift of 0 ignored." -msgstr "se ignora un desplazamiento de 0." +#: config/tc-arm.c:4051 +msgid "garbage following instruction" +msgstr "basura a continuación de la instrucción" -#: config/tc-arm.c:3669 -msgid "invalid immediate shift" -msgstr "desplazamiento inmediato inválido" +#: config/tc-arm.c:4185 +msgid "instruction does not accept preindexed addressing" +msgstr "la instrucción no acepta el direccionamiento preindizado" -#: config/tc-arm.c:3723 config/tc-arm.c:3809 config/tc-arm.c:3875 -#: config/tc-arm.c:4112 config/tc-arm.c:4214 config/tc-arm.c:4536 -#: config/tc-arm.c:4760 config/tc-arm.c:5698 expr.c:1332 read.c:2198 -msgid "bad expression" -msgstr "expresión errónea" +#. unindexed - only for coprocessor +#: config/tc-arm.c:4201 config/tc-arm.c:5857 +msgid "instruction does not accept unindexed addressing" +msgstr "la instrucción no acepta el direccionamiento sin indizar" -#: config/tc-arm.c:3728 config/tc-arm.c:3814 config/tc-arm.c:3881 -#: config/tc-arm.c:4118 config/tc-arm.c:4220 config/tc-arm.c:5832 -#: config/tc-arm.c:6182 config/tc-arm.c:6454 config/tc-arm.c:7063 -#: config/tc-v850.c:1924 config/tc-v850.c:1945 -msgid "constant expression expected" -msgstr "se esperaba una expresión constante" +#: config/tc-arm.c:4209 +msgid "destination register same as write-back base" +msgstr "el registro destino es el mismo que la base de escritura-hacia-atrás" + +#: config/tc-arm.c:4210 +msgid "source register same as write-back base" +msgstr "el registro fuente es el mismo que la base de escritura-hacia-atrás" + +#: config/tc-arm.c:4256 +msgid "instruction does not accept scaled register index" +msgstr "la instrucción no acepta el índice de registro escalado" + +#: config/tc-arm.c:4295 +msgid "instruction does not support unindexed addressing" +msgstr "la instrucción no acepta el direccionamiento sin indizar" + +#: config/tc-arm.c:4310 +msgid "pc may not be used with write-back" +msgstr "el pc no se puede usar con escritura hacia atrás" + +#: config/tc-arm.c:4315 +msgid "instruction does not support writeback" +msgstr "la instrucción no tiene soporte para escritura hacia atrás" + +#: config/tc-arm.c:4344 +msgid "invalid pseudo operation" +msgstr "pseudo operación inválida" + +#: config/tc-arm.c:4390 +msgid "literal pool insertion failed" +msgstr "falló la inserción en el conjunto de literales" + +#: config/tc-arm.c:4448 +msgid "Rn must not overlap other operands" +msgstr "Rn no debe sobreescribir otros operandos" + +#: config/tc-arm.c:4534 config/tc-arm.c:4553 config/tc-arm.c:4566 +#: config/tc-arm.c:6360 config/tc-arm.c:6380 config/tc-arm.c:6394 +msgid "bit-field extends past end of register" +msgstr "el campo de bits se extiende más allá del final del registro" + +#: config/tc-arm.c:4595 +msgid "the only suffix valid here is '(plt)'" +msgstr "el único sufijo válido aquí es '(plt)'" + +#: config/tc-arm.c:4627 +msgid "use of r15 in blx in ARM mode is not really useful" +msgstr "el uso de r15 en blx en modo ARM no es realmente útil" + +#: config/tc-arm.c:4645 +msgid "use of r15 in bx in ARM mode is not really useful" +msgstr "el uso de r15 en bx en modo ARM no es realmente útil" + +#: config/tc-arm.c:4657 config/tc-arm.c:6508 +msgid "use of r15 in bxj is not really useful" +msgstr "el uso de r15 en bxj no es realmente útil" + +#: config/tc-arm.c:4761 config/tc-arm.c:4770 +msgid "writeback of base register is UNPREDICTABLE" +msgstr "la escritura hacia atrás del registro base es IMPREDECIBLE" + +#: config/tc-arm.c:4764 +msgid "writeback of base register when in register list is UNPREDICTABLE" +msgstr "la escritura hacia atrás del registro base cuando está en la lista de registros es IMPREDECIBLE" + +#: config/tc-arm.c:4774 +msgid "if writeback register is in list, it must be the lowest reg in the list" +msgstr "si el registro de escritura hacia atrás está en la lista, debe ser el registro más bajo en la lista" -#: config/tc-arm.c:3734 config/tc-arm.c:3820 config/tc-arm.c:4545 -#: config/tc-arm.c:4769 config/tc-arm.c:5109 config/tc-arm.c:8198 -#: config/tc-arm.c:8233 config/tc-arm.c:8243 config/tc-z8k.c:1125 -#: config/tc-z8k.c:1137 -msgid "immediate value out of range" -msgstr "valor inmediato fuera de rango" +#: config/tc-arm.c:4789 +msgid "first destination register must be even" +msgstr "el primer registro de destino debe ser par" -#: config/tc-arm.c:4020 -msgid "missing endian specifier" -msgstr "falta el especificador endian" +#: config/tc-arm.c:4792 config/tc-arm.c:4849 +msgid "can only load two consecutive registers" +msgstr "solamente se pueden cargar dos registros consecutivos" -#: config/tc-arm.c:4029 -msgid "valid endian specifiers are be or le" -msgstr "los especificadores endian válidos son be o le" +#. If op 1 were present and equal to PC, this function wouldn't +#. have been called in the first place. +#. If op 2 were present and equal to PC, this function wouldn't +#. have been called in the first place. +#: config/tc-arm.c:4793 config/tc-arm.c:4852 config/tc-arm.c:5299 +#: config/tc-arm.c:6886 +msgid "r14 not allowed here" +msgstr "no se permite r14 aquí" -#: config/tc-arm.c:4096 config/tc-arm.c:4198 -msgid "missing rotation field after comma" -msgstr "falta el campo rotation después de la coma" +#: config/tc-arm.c:4794 +msgid "'[' expected" +msgstr "se esperaba '['" -#: config/tc-arm.c:4140 config/tc-arm.c:4243 -msgid "rotation can be 8, 16, 24 or 0 when field is ommited" -msgstr "rotation puede ser 8, 16, 24 o 0 cuando se omite el campo" +#: config/tc-arm.c:4807 +msgid "base register written back, and overlaps second destination register" +msgstr "el registro base se escribió hacia atrás, y sobreescribe el segundo registro de destino" -#: config/tc-arm.c:4492 -msgid "unrecognized flag" -msgstr "opción no reconocida" +#: config/tc-arm.c:4815 +msgid "index register overlaps destination register" +msgstr "el registro índice sobreescribe el registro destino" -#: config/tc-arm.c:4499 -msgid "no 'a', 'i', or 'f' flags for 'cps'" -msgstr "no hay opciones 'a', 'i', o 'f' para 'cps'" +#: config/tc-arm.c:4829 config/tc-arm.c:5272 config/tc-arm.c:6706 +#: config/tc-arm.c:7581 +msgid "instruction does not accept this addressing mode" +msgstr "la instrucción no acepta este modo de direccionamiento" -#: config/tc-arm.c:4810 -msgid "lo register required" -msgstr "se requiere el registro lo" +#: config/tc-arm.c:4835 config/tc-arm.c:5281 +msgid "offset must be zero in ARM encoding" +msgstr "el desplazamiento debe ser cero en codificación ARM" -#: config/tc-arm.c:4818 -msgid "hi register required" -msgstr "se requiere el registro hi" +#: config/tc-arm.c:4846 config/tc-arm.c:5293 +msgid "even register required" +msgstr "se requiere un registro par" -#: config/tc-arm.c:4886 -msgid "only lo regs allowed with immediate" -msgstr "sólo se permiten registros lo con inmediatos" +#: config/tc-arm.c:4877 config/tc-arm.c:4908 +msgid "this instruction requires a post-indexed address" +msgstr "esta instrucción requiere una dirección post-indizada" -#: config/tc-arm.c:4905 config/tc-xtensa.c:4123 -msgid "invalid immediate" -msgstr "inmediato inválido" +#: config/tc-arm.c:4935 +msgid "rd and rm should be different in mla" +msgstr "rd y rm deben ser diferentes en mla" -#: config/tc-arm.c:5141 config/tc-arm.c:5285 -msgid "non-word size not supported with control register" -msgstr "un tamaño diferente de palabra no tiene soporte con un registro de control" +#: config/tc-arm.c:4967 config/tc-arm.c:7121 +msgid "'CPSR' or 'SPSR' expected" +msgstr "se esperaba 'CPSR' o 'SPSR'" -#: config/tc-arm.c:5155 -msgid "only r15 allowed here" -msgstr "sólo se permite r15 aquí" +#: config/tc-arm.c:5000 +msgid "rd and rm should be different in mul" +msgstr "rd y rm deben ser diferentes en mul" -#: config/tc-arm.c:5283 -msgid "conditional execution not supported with control register" -msgstr "la ejecución condicional no tiene soporte con un registro de control" +#: config/tc-arm.c:5021 +msgid "rdhi, rdlo and rm must all be different" +msgstr "rdhi, rdlo y rm deben ser todos diferentes" -#: config/tc-arm.c:5493 +#: config/tc-arm.c:5083 msgid "'[' expected after PLD mnemonic" msgstr "se esperaba '[' después del mnemónico PLD" -#: config/tc-arm.c:5515 +#: config/tc-arm.c:5085 msgid "post-indexed expression used in preload instruction" msgstr "se usó una expresión post-indizada en la instrucción de precarga" -#: config/tc-arm.c:5520 config/tc-arm.c:5550 +#: config/tc-arm.c:5087 msgid "writeback used in preload instruction" msgstr "se usó escritura hacia atrás en la instrucción de precarga" -#: config/tc-arm.c:5591 -msgid "destination register must be even" -msgstr "el registro de destino debe ser par" - -#: config/tc-arm.c:5597 -msgid "r14 not allowed here" -msgstr "no se permite r14 aquí" - -#: config/tc-arm.c:5604 -msgid "pre/post-indexing used when modified address register is destination" -msgstr "se usó pre/post-indizado cuando el registro de dirección modificado es el destino" - -#: config/tc-arm.c:5614 -msgid "ldrd destination registers must not overlap index register" -msgstr "los registros destino ldrd no deben quedar sobre el registro índice" +#: config/tc-arm.c:5089 +msgid "unindexed addressing used in preload instruction" +msgstr "se usó un direccionamiento sin indizar en la instrucción de precarga" -#: config/tc-arm.c:5874 -msgid "register or shift expression expected" -msgstr "se esperaba un registro o una expresión de desplazamiento" - -#: config/tc-arm.c:5926 -msgid "invalid floating point immediate expression" -msgstr "expresión inmediata de coma flotante inválida" +#: config/tc-arm.c:5188 config/tc-arm.c:7492 +msgid "source1 and dest must be same register" +msgstr "source1 y dest debe ser el mismo registro" -#: config/tc-arm.c:5930 -msgid "floating point register or immediate expression expected" -msgstr "se esperaba un registro de coma flotante o una expresión inmediata" +#: config/tc-arm.c:5238 config/tc-arm.c:7178 +msgid "rdhi and rdlo must be different" +msgstr "rdhi y rdlo deben ser diferentes" -#: config/tc-arm.c:6076 config/tc-arm.c:6264 config/tc-arm.c:6345 -msgid "address expected" -msgstr "se esperaba una dirección" +#: config/tc-arm.c:5296 +msgid "can only store two consecutive registers" +msgstr "solamente se pueden almacenar dos registros consecutivos" -#: config/tc-arm.c:6106 config/tc-arm.c:6118 config/tc-arm.c:6155 -#: config/tc-arm.c:6282 config/tc-arm.c:6375 config/tc-arm.c:6389 -#: config/tc-arm.c:6426 -#, c-format -msgid "%s register same as write-back base" -msgstr "el registro %s es el mismo que la base de escritura-hacia-atrás" +#: config/tc-arm.c:5391 config/tc-arm.c:5408 +msgid "only two consecutive VFP SP registers allowed here" +msgstr "solamente se permiten dos registros SP VFP consecutivos aquí" -#: config/tc-arm.c:6108 config/tc-arm.c:6120 config/tc-arm.c:6157 -#: config/tc-arm.c:6284 config/tc-arm.c:6377 config/tc-arm.c:6391 -#: config/tc-arm.c:6428 -msgid "destination" -msgstr "destino" +#: config/tc-arm.c:5436 config/tc-arm.c:5451 +msgid "this addressing mode requires base-register writeback" +msgstr "este modo de direccionamiento requiere escritura hacia atrás del registro-base" -#: config/tc-arm.c:6108 config/tc-arm.c:6120 config/tc-arm.c:6157 -#: config/tc-arm.c:6284 config/tc-arm.c:6377 config/tc-arm.c:6391 -#: config/tc-arm.c:6428 -msgid "source" -msgstr "fuente" +#: config/tc-arm.c:5529 +msgid "this instruction does not support indexing" +msgstr "esta instrucción no tiene soporte para indizado" -#: config/tc-arm.c:6167 config/tc-arm.c:6438 config/tc-arm.c:8411 -msgid "invalid pseudo operation" -msgstr "pseudo operación inválida" +#: config/tc-arm.c:5552 +msgid "only r15 allowed here" +msgstr "sólo se permite r15 aquí" -#: config/tc-arm.c:6219 config/tc-arm.c:6489 -msgid "literal pool insertion failed" -msgstr "falló la inserción en el conjunto de literales" +#: config/tc-arm.c:5757 +msgid "shift by register not allowed in thumb mode" +msgstr "no se permite desplazar por registro en modo thumb" -#: config/tc-arm.c:6312 config/tc-arm.c:6318 -msgid "post-indexed expression expected" -msgstr "se esperaba una expresión post-indizada" +#: config/tc-arm.c:5769 config/tc-arm.c:11339 +msgid "shift expression is too large" +msgstr "la expresión de desplazamiento es demasiado grande" -#: config/tc-arm.c:6553 -msgid "bad range in register list" -msgstr "rango erróneo en la lista de registros" +#: config/tc-arm.c:5795 +msgid "Thumb does not support the ldr =N pseudo-operation" +msgstr "Thumb no tiene soporte para la pseudo-operación ldr =N" -#: config/tc-arm.c:6561 config/tc-arm.c:6570 config/tc-arm.c:6612 -#, c-format -msgid "Warning: duplicated register (r%d) in register list" -msgstr "Aviso: registro duplicado (r%d) en la lista de registros" +#: config/tc-arm.c:5800 +msgid "cannot use register index with PC-relative addressing" +msgstr "no se puede usar el índice de registro con direccionamiento relativo al PC" -#: config/tc-arm.c:6573 -msgid "Warning: register range not in ascending order" -msgstr "Aviso: el rango de registros no está en orden ascendente" +#: config/tc-arm.c:5801 +msgid "cannot use register index with this instruction" +msgstr "no se puede usar el índice de registro con esta instrucción" -#: config/tc-arm.c:6585 -msgid "missing `}'" -msgstr "falta un `}'" +#: config/tc-arm.c:5803 +msgid "Thumb does not support negative register indexing" +msgstr "Thumb no tiene soporte para indizado negativo de registro" -#: config/tc-arm.c:6601 -msgid "invalid register mask" -msgstr "máscara de registro inválida" +#: config/tc-arm.c:5805 +msgid "Thumb does not support register post-indexing" +msgstr "Thumb no tiene soporte para post-indizado de registro" -#: config/tc-arm.c:6659 -msgid "r15 not allowed as base register" -msgstr "no se permite r15 como registro base" +#: config/tc-arm.c:5807 +msgid "Thumb does not support register indexing with writeback" +msgstr "Thumb no tiene soporte para indizado de registro con escritura hacia atrás" -#: config/tc-arm.c:6693 config/tc-arm.c:6702 -msgid "writeback of base register is UNPREDICTABLE" -msgstr "la escritura hacia atrás del registro base es IMPREDECIBLE" +#: config/tc-arm.c:5809 +msgid "Thumb supports only LSL in shifted register indexing" +msgstr "Thumb sólo da soporte a LSL en inidizado desplazado de registro" -#: config/tc-arm.c:6696 -msgid "writeback of base register when in register list is UNPREDICTABLE" -msgstr "la escritura hacia atrás del registro base cuando está en la lista de registros es IMPREDECIBLE" +#: config/tc-arm.c:5818 +msgid "shift out of range" +msgstr "desplazamiento fuera de rango" -#: config/tc-arm.c:6706 -msgid "if writeback register is in list, it must be the lowest reg in the list" -msgstr "si el registro de escritura hacia atrás está en la lista, debe ser el registro más bajo en la lista" +#: config/tc-arm.c:5826 +msgid "cannot use writeback with PC-relative addressing" +msgstr "no se puede usar escritura hacia atrás con el direccionamiento relativo al PC" -#: config/tc-arm.c:6760 config/tc-arm.c:6774 -msgid "r15 not allowed in swap" -msgstr "no se permite r15 en el intercambio" +#: config/tc-arm.c:5828 +msgid "cannot use writeback with this instruction" +msgstr "no se puede usar escritura hacia atrás con esta instrucción" -#: config/tc-arm.c:7069 -msgid "constant value required for number of registers" -msgstr "se requiere un valor constante para el número de registros" +#: config/tc-arm.c:5847 +msgid "cannot use post-indexing with PC-relative addressing" +msgstr "no se puede usar post-indizado con el direccionamiento relativo al PC" -#: config/tc-arm.c:7077 config/tc-arm.c:14226 -msgid "number of registers must be in the range [1:4]" -msgstr "el número de registros debe estar en el rango [1:4]" +#: config/tc-arm.c:5848 +msgid "cannot use post-indexing with this instruction" +msgstr "no se puede usar post-indizado con esta instrucción" -#: config/tc-arm.c:7138 -msgid "r15 not allowed as base register with write-back" -msgstr "no se permite r15 como registro base con escritura-hacia-atrás" +#: config/tc-arm.c:5975 +msgid "PC not allowed as destination" +msgstr "no se permite PC como destino" -#: config/tc-arm.c:7533 config/tc-arm.c:7572 config/tc-h8300.c:1010 -#: config/tc-mips.c:9585 config/tc-mips.c:9615 -msgid "invalid register list" -msgstr "lista de registros inválida" +#: config/tc-arm.c:6093 config/tc-arm.c:6234 config/tc-arm.c:6326 +#: config/tc-arm.c:7092 +msgid "shift must be constant" +msgstr "el desplazamiento debe ser constante" -#: config/tc-arm.c:7539 config/tc-arm.c:14310 config/tc-arm.c:14317 -msgid "register list not in ascending order" -msgstr "la lista de registros no está en orden ascendente" +#: config/tc-arm.c:6120 config/tc-arm.c:6249 config/tc-arm.c:6341 +#: config/tc-arm.c:7105 +msgid "unshifted register required" +msgstr "se requiere un registro sin desplazar" -#: config/tc-arm.c:7564 -msgid "register range not in ascending order" -msgstr "el rango de registros no está en orden ascendente" +#: config/tc-arm.c:6135 config/tc-arm.c:6352 config/tc-arm.c:7165 +msgid "dest must overlap one source register" +msgstr "dest debe sobreescribir un registro fuente" -#: config/tc-arm.c:7597 -msgid "non-contiguous register range" -msgstr "el rango de registro no es contiguo" +#: config/tc-arm.c:6252 +msgid "dest and source1 must be the same register" +msgstr "dest y source1 debe ser el mismo registro" -#: config/tc-arm.c:7626 config/tc-arm.c:7663 -msgid "only two consecutive VFP SP registers allowed here" -msgstr "solamente se permiten dos registros SP VFP consecutivos aquí" +#: config/tc-arm.c:6537 +msgid "Thumb does not support the 2-argument form of this instruction" +msgstr "Thumb no tiene soporte para la forma con 2 argumentos de esta instrucción" -#: config/tc-arm.c:7810 -msgid "VFP system register expected" -msgstr "se esperaba un registro de sistema VFP" +#: config/tc-arm.c:6616 +msgid "Thumb load/store multiple does not support {reglist}^" +msgstr "load/store Thumb múltiples no tienen soporte para {reglist}^" -#: config/tc-arm.c:7921 config/tc-arm.c:7958 -msgid "this addressing mode requires base-register writeback" -msgstr "este modo de direccionamiento requiere escritura hacia atrás del registro-base" +#: config/tc-arm.c:6633 config/tc-arm.c:6649 config/tc-arm.c:6680 +#, c-format +msgid "value stored for r%d is UNPREDICTABLE" +msgstr "el valor almacenado para r%d es IMPREDECIBLE" -#: config/tc-arm.c:8140 config/tc-arm.c:9219 -msgid "dest and source1 must be the same register" -msgstr "dest y source1 debe ser el mismo registro" +#: config/tc-arm.c:6643 +msgid "SP should not be in register list" +msgstr "SP no debe estar en la lista de registros" -#: config/tc-arm.c:8147 -msgid "subtract valid only on lo regs" -msgstr "subtract válido sólo en registros lo" +#: config/tc-arm.c:6647 +msgid "PC should not be in register list" +msgstr "PC no debe estar en la lista de registros" -#: config/tc-arm.c:8171 -msgid "invalid Hi register with immediate" -msgstr "registro Hi inválido con el inmediato" +#: config/tc-arm.c:6656 config/tc-arm.c:7311 +msgid "LR and PC should not both be in register list" +msgstr "tanto LR como PC no deben estar en la lista de registros" -#: config/tc-arm.c:8211 -msgid "invalid immediate value for stack adjust" -msgstr "valor inmediato inválido para el ajuste de la pila" +#: config/tc-arm.c:6659 +msgid "base register should not be in register list when written back" +msgstr "el registro base no debe estar en la lista de registros cuando se escribe hacia atrás" -#: config/tc-arm.c:8222 -msgid "invalid immediate for address calculation" -msgstr "inmediato inválido para el cálculo de dirección" +#: config/tc-arm.c:6677 config/tc-arm.c:6687 +msgid "this instruction will write back the base register" +msgstr "esta instrucción escribirá hacia atrás el registro base" -#: config/tc-arm.c:8307 -msgid "source1 and dest must be same register" -msgstr "source1 y dest debe ser el mismo registro" +#: config/tc-arm.c:6690 +msgid "this instruction will not write back the base register" +msgstr "esta instrucción no escribirá hacia atrás el registro base" -#: config/tc-arm.c:8341 -msgid "invalid immediate for shift" -msgstr "inmediato inválido para el desplazamiento" +#: config/tc-arm.c:6719 +msgid "r14 not allowed as first register when second register is omitted" +msgstr "no se permite r14 como primer registro cuando se omite el segundo registro" -#: config/tc-arm.c:8402 -msgid "expected ']'" -msgstr "se esperaba ']'" +#: config/tc-arm.c:6809 config/tc-arm.c:6822 config/tc-arm.c:6858 +msgid "Thumb does not support this addressing mode" +msgstr "Thumb no tiene soporte para este modo de direccionamiento" -#: config/tc-arm.c:8475 +#: config/tc-arm.c:6826 msgid "byte or halfword not valid for base register" msgstr "byte o halfword no válido para el registro base" -#: config/tc-arm.c:8480 +#: config/tc-arm.c:6829 msgid "r15 based store not allowed" msgstr "no se permite el almacenamiento basado en r15" -#: config/tc-arm.c:8485 +#: config/tc-arm.c:6831 msgid "invalid base register for register offset" msgstr "registro base inválido para el desplazamiento del registro" -#: config/tc-arm.c:8503 config/tc-arm.c:8538 -msgid "invalid offset" -msgstr "desplazamiento inválido" +#: config/tc-arm.c:7032 +msgid "only lo regs allowed with immediate" +msgstr "sólo se permiten registros lo con inmediatos" -#: config/tc-arm.c:8514 -msgid "invalid base register in load/store" -msgstr "registro base inválido en carga/almacenamiento" +#: config/tc-arm.c:7130 +msgid "Thumb encoding does not support an immediate here" +msgstr "la codificación Thumb no tiene soporte para un inmediato aquí" -#: config/tc-arm.c:8990 -msgid "expecting immediate, 7bit operand" -msgstr "se espera un operando inmediato de 7 bits" +#: config/tc-arm.c:7200 +msgid "Thumb does not support NOP with hints" +msgstr "Thumb no tiene soporte para NOP con pistas" -#: config/tc-arm.c:9005 -msgid "immediate out of range" -msgstr "inmediato fuera de rango" +#: config/tc-arm.c:7282 +msgid "push/pop do not support {reglist}^" +msgstr "push/pop no tienen soporte para {reglist}^" -#: config/tc-arm.c:9058 -msgid "offset expected" -msgstr "se esperaba un desplazamiento" +#: config/tc-arm.c:7301 +msgid "SP not allowed in register list" +msgstr "no se permite SP en la lista de registros" -#: config/tc-arm.c:9067 config/tc-pj.c:536 config/tc-sh.c:4107 -msgid "offset out of range" -msgstr "desplazamiento fuera de rango" +#: config/tc-arm.c:7305 +msgid "PC not allowed in register list" +msgstr "no se permite PC en la lista de registros" -#: config/tc-arm.c:9072 -msgid "offset not a multiple of 4" -msgstr "el desplazamiento no es un múltiplo de 4" +#: config/tc-arm.c:7328 +msgid "invalid register list to push/pop instruction" +msgstr "lista de registros inválida para la instrucción push/pop" -#: config/tc-arm.c:9227 -msgid "Rs and Rd must be different in MUL" -msgstr "Rs y Rd deben ser diferentes en MUL" +#: config/tc-arm.c:7513 +msgid "ror #imm not supported" +msgstr "ror #imm no tiene soporte" -#: config/tc-arm.c:9362 -msgid "inserted missing '!': load/store multiple always writes back base register" -msgstr "se insertó un '!' faltante: los load/store múltiples siempre escribe hacia atrás el registro base" +#: config/tc-arm.c:7638 +msgid "Thumb encoding does not support rotation" +msgstr "la codificación Thumb no tiene soporte para rotación" -#: config/tc-arm.c:9384 -msgid "only lo-regs valid in load/store multiple" -msgstr "sólo los registros lo son válidos en carga/almacenamiento múltiple" +#: config/tc-arm.c:7656 +msgid "PC is not a valid index register" +msgstr "PC no es un registro índice válido" -#: config/tc-arm.c:9426 -msgid "syntax: ldrs[b] Rd, [Rb, Ro]" -msgstr "sintaxis: ldrs[b] Rd, [Rb, Ro]" +#: config/tc-arm.c:7658 +msgid "instruction does not allow shifted index" +msgstr "la instrucción no permite un índice desplazado" -#: config/tc-arm.c:9486 -msgid "invalid register list to push/pop instruction" -msgstr "lista de registros inválida para la instrucción push/pop" +#: config/tc-arm.c:7660 +msgid "instruction requires shifted index" +msgstr "la instrucción requiere un índice desplazado" -#: config/tc-arm.c:9589 config/tc-arm.c:10966 -msgid "virtual memory exhausted" -msgstr "memoria agotada" +#: config/tc-arm.c:7943 config/tc-arm.c:8015 +msgid "conditional infixes are deprecated in unified syntax" +msgstr "los infijos condicionales son obsoletos en la sintaxis unificada" -#: config/tc-arm.c:9613 +#: config/tc-arm.c:8047 #, c-format -msgid "failed to create an alias for %s, reason: %s" -msgstr "falló la creación de un alias para %s, razón: %s" +msgid "bad instruction `%s'" +msgstr "instrucción `%s' errónea" -#: config/tc-arm.c:9677 +#: config/tc-arm.c:8063 config/tc-arm.c:8126 #, c-format -msgid "register '%s' does not exist\n" -msgstr "el registro '%s' no existe\n" +msgid "selected processor does not support `%s'" +msgstr "el procesador seleccionado no tiene soporte para `%s'" -#: config/tc-arm.c:9681 -#, c-format -msgid "ignoring redefinition of register alias '%s' to non-existant register '%s'" -msgstr "se ignora la redefinición del alias de registro '%s' al registro no existente '%s'" +#: config/tc-arm.c:8069 +msgid "Thumb does not support conditional execution" +msgstr "Thumb no tiene soporte para la ejecución condicional" + +#: config/tc-arm.c:8080 +msgid "incorrect condition in IT block" +msgstr "condición incorrecta en el bloque IT" + +#: config/tc-arm.c:8088 +msgid "thumb conditional instrunction not in IT block" +msgstr "la instrucción condicional thumb no está en el bloque IT" -#: config/tc-arm.c:9690 +#: config/tc-arm.c:8108 #, c-format -msgid "ignoring redefinition of register alias '%s'" -msgstr "se ignora la redefinición del alias de registro '%s'" +msgid "cannot honor width suffix -- `%s'" +msgstr "no se puede honrar el sufijo de anchura -- `%s'" -#: config/tc-arm.c:9696 -msgid "ignoring incomplete .req pseuso op" -msgstr "se ignora el pseudo operador incompleto .req" +#: config/tc-arm.c:8131 +#, c-format +msgid "width suffixes are invalid in ARM mode -- `%s'" +msgstr "los sufijos de anchura son inválidos en modo ARM -- `%s'" -#: config/tc-arm.c:10990 -msgid "use of old and new-style options to set CPU type" -msgstr "se utilizan opciones de estilo antiguo y nuevo para establecer el tipo de CPU" +#: config/tc-arm.c:10340 +msgid "alignments greater than 32 bytes not supported in .text sections." +msgstr "las alineaciones más grandes que 32 bytes no tienen soporte en la sección text." -#: config/tc-arm.c:11000 -msgid "use of old and new-style options to set FPU type" -msgstr "se utilizan opciones de estilo antiguo y nuevo para establecer el tipo de FPU" +#: config/tc-arm.c:10634 +msgid "handerdata in cantunwind frame" +msgstr "handerdata en un marco cantunwind" -#: config/tc-arm.c:11062 -msgid "hard-float conflicts with specified fpu" -msgstr "hard-float tiene conflictos con la unidad de coma flotante (fpu) especificada" +#: config/tc-arm.c:10651 +msgid "too many unwind opcodes for personality routine 0" +msgstr "demasiados códigos de operación de desenredo para la rutina personality 0" -#: config/tc-arm.c:11246 -msgid "bad call to MD_ATOF()" -msgstr "llamada errónea a MD_ATOF()" +#: config/tc-arm.c:10683 +msgid "too many unwind opcodes" +msgstr "demasiados códigos de operación de desenredo" -#: config/tc-arm.c:11402 +#: config/tc-arm.c:11085 config/tc-arm.c:11365 #, c-format msgid "undefined symbol %s used as an immediate value" msgstr "se usa el símbolo %s indefinido como un valor inmediato" -#: config/tc-arm.c:11416 +#: config/tc-arm.c:11099 config/tc-arm.c:11394 #, c-format msgid "invalid constant (%lx) after fixup" msgstr "constante inválidoa (%lx) después de la compostura" -#: config/tc-arm.c:11453 +#: config/tc-arm.c:11136 #, c-format msgid "unable to compute ADRL instructions for PC offset of 0x%lx" msgstr "no se pueden calcular las instrucciones ADRL para el desplazamiento de PC de 0x%lx" -#: config/tc-arm.c:11483 +#: config/tc-arm.c:11168 config/tc-arm.c:11193 +msgid "invalid literal constant: pool needs to be closer" +msgstr "constante literal inválida: el conjunto necesita estar más cerca" + +#: config/tc-arm.c:11171 config/tc-arm.c:11209 #, c-format msgid "bad immediate value for offset (%ld)" msgstr "valor inmediato erróneo para el desplazamiento (%ld)" -#: config/tc-arm.c:11505 config/tc-arm.c:11527 -msgid "invalid literal constant: pool needs to be closer" -msgstr "constante literal inválida: el conjunto necesita estar más cerca" - -#: config/tc-arm.c:11507 +#: config/tc-arm.c:11195 #, c-format msgid "bad immediate value for half-word offset (%ld)" msgstr "valor inmediato erróneo para el desplazamiento half-word (%ld)" -#: config/tc-arm.c:11544 -msgid "shift expression is too large" -msgstr "la expresión de desplazamiento es demasiado grande" +#: config/tc-arm.c:11250 +msgid "offset not a multiple of 4" +msgstr "el desplazamiento no es un múltiplo de 4" + +#: config/tc-arm.c:11257 config/tc-arm.c:11272 config/tc-arm.c:11287 +#: config/tc-arm.c:11298 config/tc-arm.c:11321 config/tc-pj.c:499 +#: config/tc-sh.c:4084 +msgid "offset out of range" +msgstr "desplazamiento fuera de rango" -#: config/tc-arm.c:11561 -msgid "invalid smi expression" -msgstr "expresión smi inválida" +#: config/tc-arm.c:11410 +msgid "invalid smc expression" +msgstr "expresión smc inválida" -#: config/tc-arm.c:11572 config/tc-arm.c:11581 +#: config/tc-arm.c:11421 config/tc-arm.c:11430 msgid "invalid swi expression" msgstr "expresión swi inválida" -#: config/tc-arm.c:11591 +#: config/tc-arm.c:11440 msgid "invalid expression in load/store multiple" msgstr "expresión inválida en load/store múltiples" -#: config/tc-arm.c:11641 -msgid "GAS can't handle same-section branch dest >= 0x04000000" -msgstr "GAS no puede manejar un destino de ramificación en la misma sección >= 0x04000000" +#: config/tc-arm.c:11455 +msgid "misaligned branch destination" +msgstr "destinaciones ramificadas desalineadas" -#: config/tc-arm.c:11650 -msgid "out of range branch" -msgstr "ramificación fuera de rango" - -#: config/tc-arm.c:11707 config/tc-arm.c:11732 +#: config/tc-arm.c:11459 config/tc-arm.c:11479 config/tc-arm.c:11497 +#: config/tc-arm.c:11510 config/tc-arm.c:11523 config/tc-arm.c:11562 +#: config/tc-arm.c:11587 msgid "branch out of range" msgstr "ramificación fuera de rango" -#: config/tc-arm.c:11765 -msgid "branch with link out of range" -msgstr "ramificación con enlace fuera de rango" +#: config/tc-arm.c:11475 +msgid "misaligned BLX destination" +msgstr "destino BLX desalineado" -#: config/tc-arm.c:11858 +#: config/tc-arm.c:11536 +msgid "conditional branch out of range" +msgstr "ramificación condicional fuera de rango" + +#: config/tc-arm.c:11657 msgid "rel31 relocation overflow" msgstr "desbordamiento de reubicación rel31" -#: config/tc-arm.c:11874 -msgid "illegal value for co-processor offset" -msgstr "valor ilegal para el desplazamiento del co-procesador" - -#: config/tc-arm.c:11886 -msgid "Illegal value for co-processor offset" -msgstr "Valor ilegal para el desplazamiento del co-procesador" +#: config/tc-arm.c:11669 config/tc-arm.c:11694 +msgid "co-processor offset out of range" +msgstr "desplazamiento de coprocesador fuera de rango" -#: config/tc-arm.c:11910 +#: config/tc-arm.c:11710 #, c-format -msgid "invalid offset, target not word aligned (0x%08X)" -msgstr "desplazamiento inválido, el objetivo no está alineado a word (0x%08X)" +msgid "invalid offset, target not word aligned (0x%08lX)" +msgstr "desplazamiento inválido, el objetivo no está alineado a word (0x%08lX)" -#: config/tc-arm.c:11916 config/tc-arm.c:11926 config/tc-arm.c:11934 -#: config/tc-arm.c:11942 config/tc-arm.c:11950 +#: config/tc-arm.c:11716 config/tc-arm.c:11725 config/tc-arm.c:11733 +#: config/tc-arm.c:11741 config/tc-arm.c:11749 #, c-format msgid "invalid offset, value too big (0x%08lX)" msgstr "desplazamiento inválido, valor demasiado grande (0x%08lX)" -#: config/tc-arm.c:11990 +#: config/tc-arm.c:11790 +msgid "invalid Hi register with immediate" +msgstr "registro Hi inválido con el inmediato" + +#: config/tc-arm.c:11806 msgid "invalid immediate for stack address calculation" msgstr "inmediato inválido para el cálculo de la dirección de la pila" -#: config/tc-arm.c:11999 +#: config/tc-arm.c:11814 #, c-format msgid "invalid immediate for address calculation (value = 0x%08lX)" msgstr "inmediato inválido para el cálculo de la dirección (valor = 0x%08lX)" -#: config/tc-arm.c:12009 -msgid "invalid 8bit immediate" -msgstr "inmediato de 8bit inválido" - -#: config/tc-arm.c:12017 -msgid "invalid 3bit immediate" -msgstr "inmediato de 3bit inválido" - -#: config/tc-arm.c:12033 +#: config/tc-arm.c:11844 #, c-format msgid "invalid immediate: %ld is too large" msgstr "inmediato inválido: %ld es demasiado grande" -#: config/tc-arm.c:12048 +#: config/tc-arm.c:11856 #, c-format -msgid "illegal Thumb shift value: %ld" -msgstr "valor de desplazamiento Thumb ilegal: %ld" +msgid "invalid shift value: %ld" +msgstr "valor de desplazamiento inválid: %ld" -#: config/tc-arm.c:12062 +#: config/tc-arm.c:11875 #, c-format msgid "bad relocation fixup type (%d)" msgstr "tipo de compostura de reubicación inválido (%d)" -#: config/tc-arm.c:12133 +#: config/tc-arm.c:11943 msgid "literal referenced across section boundary" msgstr "se referencía una literal a través de un límite de sección" -#: config/tc-arm.c:12151 +#: config/tc-arm.c:11973 msgid "internal relocation (type: IMMEDIATE) not fixed up" msgstr "reubicación interna (tipo: IMMEDIATE) no compuesta" -#: config/tc-arm.c:12156 +#: config/tc-arm.c:11978 msgid "ADRL used for a symbol not defined in the same file" msgstr "se utiliza ADRL para un símbolo que no está definido en el mismo fichero" -#: config/tc-arm.c:12165 +#: config/tc-arm.c:11987 #, c-format msgid "undefined local label `%s'" msgstr "etiqueta local `%s' sin definir" -#: config/tc-arm.c:12171 +#: config/tc-arm.c:11993 msgid "internal_relocation (type: OFFSET_IMM) not fixed up" msgstr "reubicación_interna (tipo OFFSET_IMM) no compuesta" -#: config/tc-arm.c:12191 config/tc-cris.c:3936 config/tc-mcore.c:2053 -#: config/tc-mmix.c:2930 config/tc-ns32k.c:2393 +#: config/tc-arm.c:12014 config/tc-cris.c:3869 config/tc-mcore.c:1995 +#: config/tc-mmix.c:2888 config/tc-ns32k.c:2284 msgid "" msgstr "" -#: config/tc-arm.c:12194 config/tc-arm.c:12215 +#: config/tc-arm.c:12017 config/tc-arm.c:12038 #, c-format msgid "cannot represent %s relocation in this object file format" msgstr "no se puede representar la reubicación %s en este formato de fichero objeto" -#: config/tc-arm.c:12342 +#: config/tc-arm.c:12254 #, c-format -msgid "no operator -- statement `%s'\n" -msgstr "no hay operador -- declaración `%s'\n" +msgid "%s: unexpected function type: %d" +msgstr "%s: tipo de función inesperado: %d" -#: config/tc-arm.c:12360 config/tc-arm.c:12386 -#, c-format -msgid "selected processor does not support `%s'" -msgstr "el procesador seleccionado no tiene soporte para `%s'" +#: config/tc-arm.c:12331 +msgid "virtual memory exhausted" +msgstr "memoria agotada" -#: config/tc-arm.c:12404 -#, c-format -msgid "bad instruction `%s'" -msgstr "instrucción `%s' errónea" +#: config/tc-arm.c:12357 +msgid "use of old and new-style options to set CPU type" +msgstr "se utilizan opciones de estilo antiguo y nuevo para establecer el tipo de CPU" + +#: config/tc-arm.c:12367 +msgid "use of old and new-style options to set FPU type" +msgstr "se utilizan opciones de estilo antiguo y nuevo para establecer el tipo de FPU" -#: config/tc-arm.c:12505 +#: config/tc-arm.c:12441 +msgid "hard-float conflicts with specified fpu" +msgstr "hard-float tiene conflictos con la unidad de coma flotante (fpu) especificada" + +#: config/tc-arm.c:12633 msgid "generate PIC code" msgstr "genera código PIC" -#: config/tc-arm.c:12506 +#: config/tc-arm.c:12634 msgid "assemble Thumb code" msgstr "ensambla código Thumb" -#: config/tc-arm.c:12507 +#: config/tc-arm.c:12635 msgid "support ARM/Thumb interworking" msgstr "soporta la interoperación ARM/Thumb" -#: config/tc-arm.c:12509 +#: config/tc-arm.c:12637 msgid "code uses 32-bit program counter" msgstr "el código utiliza un contador de programa de 32-bit" -#: config/tc-arm.c:12510 +#: config/tc-arm.c:12638 msgid "code uses 26-bit program counter" msgstr "el código utiliza un contador de programa de 26-bit" -#: config/tc-arm.c:12511 +#: config/tc-arm.c:12639 msgid "floating point args are in fp regs" msgstr "los argumentos de coma flotante están en los registros de coma flotante" -#: config/tc-arm.c:12513 +#: config/tc-arm.c:12641 msgid "re-entrant code" msgstr "código reentrante" -#: config/tc-arm.c:12514 +#: config/tc-arm.c:12642 msgid "code is ATPCS conformant" msgstr "el código es conforme a ATPCS" -#: config/tc-arm.c:12515 +#: config/tc-arm.c:12643 msgid "assemble for big-endian" msgstr "ensamblar para big-endian" -#: config/tc-arm.c:12516 +#: config/tc-arm.c:12644 msgid "assemble for little-endian" msgstr "ensamblar para little-endian" #. These are recognized by the assembler, but have no affect on code. -#: config/tc-arm.c:12520 +#: config/tc-arm.c:12648 msgid "use frame pointer" msgstr "usar puntero de marco" -#: config/tc-arm.c:12521 +#: config/tc-arm.c:12649 msgid "use stack size checking" msgstr "usar revisión del tamaño de la pila" #. DON'T add any new processors to this list -- we want the whole list #. to go away... Add them to the processors table instead. -#: config/tc-arm.c:12525 config/tc-arm.c:12526 +#: config/tc-arm.c:12653 config/tc-arm.c:12654 msgid "use -mcpu=arm1" msgstr "usar -mcpu=arm1" -#: config/tc-arm.c:12527 config/tc-arm.c:12528 +#: config/tc-arm.c:12655 config/tc-arm.c:12656 msgid "use -mcpu=arm2" msgstr "usar -mcpu=arm2" -#: config/tc-arm.c:12529 config/tc-arm.c:12530 +#: config/tc-arm.c:12657 config/tc-arm.c:12658 msgid "use -mcpu=arm250" msgstr "usar -mcpu=arm250" -#: config/tc-arm.c:12531 config/tc-arm.c:12532 +#: config/tc-arm.c:12659 config/tc-arm.c:12660 msgid "use -mcpu=arm3" msgstr "usar -mcpu=arm3" -#: config/tc-arm.c:12533 config/tc-arm.c:12534 +#: config/tc-arm.c:12661 config/tc-arm.c:12662 msgid "use -mcpu=arm6" msgstr "usar -mcpu=arm6" -#: config/tc-arm.c:12535 config/tc-arm.c:12536 +#: config/tc-arm.c:12663 config/tc-arm.c:12664 msgid "use -mcpu=arm600" msgstr "usar -mcpu=arm600" -#: config/tc-arm.c:12537 config/tc-arm.c:12538 +#: config/tc-arm.c:12665 config/tc-arm.c:12666 msgid "use -mcpu=arm610" msgstr "usar -mcpu=arm610" -#: config/tc-arm.c:12539 config/tc-arm.c:12540 +#: config/tc-arm.c:12667 config/tc-arm.c:12668 msgid "use -mcpu=arm620" msgstr "usar -mcpu=arm620" -#: config/tc-arm.c:12541 config/tc-arm.c:12542 +#: config/tc-arm.c:12669 config/tc-arm.c:12670 msgid "use -mcpu=arm7" msgstr "usar -mcpu=arm7" -#: config/tc-arm.c:12543 config/tc-arm.c:12544 +#: config/tc-arm.c:12671 config/tc-arm.c:12672 msgid "use -mcpu=arm70" msgstr "usar -mcpu=arm70" -#: config/tc-arm.c:12545 config/tc-arm.c:12546 +#: config/tc-arm.c:12673 config/tc-arm.c:12674 msgid "use -mcpu=arm700" msgstr "usar -mcpu=arm700" -#: config/tc-arm.c:12547 config/tc-arm.c:12548 +#: config/tc-arm.c:12675 config/tc-arm.c:12676 msgid "use -mcpu=arm700i" msgstr "usar -mcpu=arm700i" -#: config/tc-arm.c:12549 config/tc-arm.c:12550 +#: config/tc-arm.c:12677 config/tc-arm.c:12678 msgid "use -mcpu=arm710" msgstr "usar -mcpu=arm710" -#: config/tc-arm.c:12551 config/tc-arm.c:12552 +#: config/tc-arm.c:12679 config/tc-arm.c:12680 msgid "use -mcpu=arm710c" msgstr "usar -mcpu=arm710c" -#: config/tc-arm.c:12553 config/tc-arm.c:12554 +#: config/tc-arm.c:12681 config/tc-arm.c:12682 msgid "use -mcpu=arm720" msgstr "usar -mcpu=arm720" -#: config/tc-arm.c:12555 config/tc-arm.c:12556 +#: config/tc-arm.c:12683 config/tc-arm.c:12684 msgid "use -mcpu=arm7d" msgstr "usar -mcpu=arm7d" -#: config/tc-arm.c:12557 config/tc-arm.c:12558 +#: config/tc-arm.c:12685 config/tc-arm.c:12686 msgid "use -mcpu=arm7di" msgstr "usar -mcpu=arm7di" -#: config/tc-arm.c:12559 config/tc-arm.c:12560 +#: config/tc-arm.c:12687 config/tc-arm.c:12688 msgid "use -mcpu=arm7m" msgstr "usar -mcpu=arm7m" -#: config/tc-arm.c:12561 config/tc-arm.c:12562 +#: config/tc-arm.c:12689 config/tc-arm.c:12690 msgid "use -mcpu=arm7dm" msgstr "usar -mcpu=arm7dm" -#: config/tc-arm.c:12563 config/tc-arm.c:12564 +#: config/tc-arm.c:12691 config/tc-arm.c:12692 msgid "use -mcpu=arm7dmi" msgstr "usar -mcpu=arm7dmi" -#: config/tc-arm.c:12565 config/tc-arm.c:12566 +#: config/tc-arm.c:12693 config/tc-arm.c:12694 msgid "use -mcpu=arm7100" msgstr "usar -mcpu=arm7100" -#: config/tc-arm.c:12567 config/tc-arm.c:12568 +#: config/tc-arm.c:12695 config/tc-arm.c:12696 msgid "use -mcpu=arm7500" msgstr "usar -mcpu=arm7500" -#: config/tc-arm.c:12569 config/tc-arm.c:12570 +#: config/tc-arm.c:12697 config/tc-arm.c:12698 msgid "use -mcpu=arm7500fe" msgstr "usar -mcpu=arm7500fe" -#: config/tc-arm.c:12571 config/tc-arm.c:12572 config/tc-arm.c:12573 -#: config/tc-arm.c:12574 +#: config/tc-arm.c:12699 config/tc-arm.c:12700 config/tc-arm.c:12701 +#: config/tc-arm.c:12702 msgid "use -mcpu=arm7tdmi" msgstr "usar -mcpu=arm7tdmi" -#: config/tc-arm.c:12575 config/tc-arm.c:12576 +#: config/tc-arm.c:12703 config/tc-arm.c:12704 msgid "use -mcpu=arm710t" msgstr "usar -mcpu=arm710t" -#: config/tc-arm.c:12577 config/tc-arm.c:12578 +#: config/tc-arm.c:12705 config/tc-arm.c:12706 msgid "use -mcpu=arm720t" msgstr "usar -mcpu=arm720t" -#: config/tc-arm.c:12579 config/tc-arm.c:12580 +#: config/tc-arm.c:12707 config/tc-arm.c:12708 msgid "use -mcpu=arm740t" msgstr "usar -mcpu=arm740t" -#: config/tc-arm.c:12581 config/tc-arm.c:12582 +#: config/tc-arm.c:12709 config/tc-arm.c:12710 msgid "use -mcpu=arm8" msgstr "usar -mcpu=arm8" -#: config/tc-arm.c:12583 config/tc-arm.c:12584 +#: config/tc-arm.c:12711 config/tc-arm.c:12712 msgid "use -mcpu=arm810" msgstr "usar -mcpu=arm810" -#: config/tc-arm.c:12585 config/tc-arm.c:12586 +#: config/tc-arm.c:12713 config/tc-arm.c:12714 msgid "use -mcpu=arm9" msgstr "usar -mcpu=arm9" -#: config/tc-arm.c:12587 config/tc-arm.c:12588 +#: config/tc-arm.c:12715 config/tc-arm.c:12716 msgid "use -mcpu=arm9tdmi" msgstr "usar -mcpu=arm9tdmi" -#: config/tc-arm.c:12589 config/tc-arm.c:12590 +#: config/tc-arm.c:12717 config/tc-arm.c:12718 msgid "use -mcpu=arm920" msgstr "usar -mcpu=arm920" -#: config/tc-arm.c:12591 config/tc-arm.c:12592 +#: config/tc-arm.c:12719 config/tc-arm.c:12720 msgid "use -mcpu=arm940" msgstr "usar -mcpu=arm940" -#: config/tc-arm.c:12593 +#: config/tc-arm.c:12721 msgid "use -mcpu=strongarm" msgstr "usar -mcpu=strongarm" -#: config/tc-arm.c:12595 +#: config/tc-arm.c:12723 msgid "use -mcpu=strongarm110" msgstr "usar -mcpu=strongarm110" -#: config/tc-arm.c:12597 +#: config/tc-arm.c:12725 msgid "use -mcpu=strongarm1100" msgstr "usar -mcpu=strongarm1100" -#: config/tc-arm.c:12599 +#: config/tc-arm.c:12727 msgid "use -mcpu=strongarm1110" msgstr "usar -mcpu=strongarm1110" -#: config/tc-arm.c:12600 +#: config/tc-arm.c:12728 msgid "use -mcpu=xscale" msgstr "usar -mcpu=xscale" -#: config/tc-arm.c:12601 +#: config/tc-arm.c:12729 msgid "use -mcpu=iwmmxt" msgstr "usar -mcpu=iwmmxt" -#: config/tc-arm.c:12602 +#: config/tc-arm.c:12730 msgid "use -mcpu=all" msgstr "usar -mcpu=all" #. Architecture variants -- don't add any more to this list either. -#: config/tc-arm.c:12605 config/tc-arm.c:12606 +#: config/tc-arm.c:12733 config/tc-arm.c:12734 msgid "use -march=armv2" msgstr "usar -march=armv2" -#: config/tc-arm.c:12607 config/tc-arm.c:12608 +#: config/tc-arm.c:12735 config/tc-arm.c:12736 msgid "use -march=armv2a" msgstr "usar -march=armv2a" -#: config/tc-arm.c:12609 config/tc-arm.c:12610 +#: config/tc-arm.c:12737 config/tc-arm.c:12738 msgid "use -march=armv3" msgstr "usar -march=armv3" -#: config/tc-arm.c:12611 config/tc-arm.c:12612 +#: config/tc-arm.c:12739 config/tc-arm.c:12740 msgid "use -march=armv3m" msgstr "usar -march=armv3m" -#: config/tc-arm.c:12613 config/tc-arm.c:12614 +#: config/tc-arm.c:12741 config/tc-arm.c:12742 msgid "use -march=armv4" msgstr "usar -march=armv4" -#: config/tc-arm.c:12615 config/tc-arm.c:12616 +#: config/tc-arm.c:12743 config/tc-arm.c:12744 msgid "use -march=armv4t" msgstr "usar -march=armv4t" -#: config/tc-arm.c:12617 config/tc-arm.c:12618 +#: config/tc-arm.c:12745 config/tc-arm.c:12746 msgid "use -march=armv5" msgstr "usar -march=armv5" -#: config/tc-arm.c:12619 config/tc-arm.c:12620 +#: config/tc-arm.c:12747 config/tc-arm.c:12748 msgid "use -march=armv5t" msgstr "usar -march=armv5t" -#: config/tc-arm.c:12621 config/tc-arm.c:12622 +#: config/tc-arm.c:12749 config/tc-arm.c:12750 msgid "use -march=armv5te" msgstr "usar -march=armv5te" #. Floating point variants -- don't add any more to this list either. -#: config/tc-arm.c:12625 +#: config/tc-arm.c:12753 msgid "use -mfpu=fpe" msgstr "usar -mfpu=fpe" -#: config/tc-arm.c:12626 +#: config/tc-arm.c:12754 msgid "use -mfpu=fpa10" msgstr "usar -mfpu=fpa10" -#: config/tc-arm.c:12627 +#: config/tc-arm.c:12755 msgid "use -mfpu=fpa11" msgstr "usar -mfpu=fpa11" -#: config/tc-arm.c:12629 +#: config/tc-arm.c:12757 msgid "use either -mfpu=softfpa or -mfpu=softvfp" msgstr "usar -mfpu=softfpa ó -mfpu=softvfp" -#: config/tc-arm.c:12862 +#: config/tc-arm.c:12986 msgid "invalid architectural extension" msgstr "extensión de arquitectura inválida" -#: config/tc-arm.c:12876 +#: config/tc-arm.c:13000 msgid "missing architectural extension" msgstr "falta la extensión de la arquitectura" -#: config/tc-arm.c:12889 +#: config/tc-arm.c:13013 #, c-format msgid "unknown architectural extnsion `%s'" msgstr "extensión de arquitectura `%s' desconocida" -#: config/tc-arm.c:12913 +#: config/tc-arm.c:13037 #, c-format msgid "missing cpu name `%s'" msgstr "falta el nombre de cpu `%s'" -#: config/tc-arm.c:12929 +#: config/tc-arm.c:13062 config/tc-arm.c:13389 #, c-format msgid "unknown cpu `%s'" msgstr "cpu `%s' desconocido" -#: config/tc-arm.c:12947 +#: config/tc-arm.c:13080 #, c-format msgid "missing architecture name `%s'" msgstr "falta el nombre de arquitectura `%s'" -#: config/tc-arm.c:12964 +#: config/tc-arm.c:13097 config/tc-arm.c:13423 #, c-format msgid "unknown architecture `%s'\n" msgstr "arquitectura `%s' desconocida\n" -#: config/tc-arm.c:12980 +#: config/tc-arm.c:13113 config/tc-arm.c:13454 #, c-format msgid "unknown floating point format `%s'\n" msgstr "formato de coma flotante `%s' desconocido\n" -#: config/tc-arm.c:12996 +#: config/tc-arm.c:13129 #, c-format msgid "unknown floating point abi `%s'\n" msgstr "abi de coma flotante `%s' desconocida\n" -#: config/tc-arm.c:13012 +#: config/tc-arm.c:13145 #, c-format msgid "unknown EABI `%s'\n" msgstr "EABI `%s' desconocida\n" -#: config/tc-arm.c:13019 -msgid "\t assemble for CPU " -msgstr "\t ensamblar para el CPU " - -#: config/tc-arm.c:13021 -msgid "\t assemble for architecture " -msgstr "\t ensamblar para la arquitectura " - -#: config/tc-arm.c:13023 -msgid "\t assemble for FPU architecture " -msgstr "\t ensamblar para la arquitectura de Unidad de Coma Flotante " - -#: config/tc-arm.c:13025 -msgid "\t assemble for floating point ABI " -msgstr "\t ensamblar para la ABI de coma flotante " - -#: config/tc-arm.c:13028 -msgid "\t assemble for eabi version " -msgstr "\t ensamblar para la eabi versión " - -#: config/tc-arm.c:13069 config/tc-arm.c:13091 -#, c-format -msgid "option `-%c%s' is deprecated: %s" -msgstr "la opción `-%c%s' es obsoleta: %s" - -#: config/tc-arm.c:13112 -#, c-format -msgid " ARM-specific assembler options:\n" -msgstr "Opciones de ensamblador específicas de ARM:\n" - -#: config/tc-arm.c:13123 -#, c-format -msgid " -EB assemble code for a big-endian cpu\n" -msgstr " -EB ensambla código para un cpu big-endian\n" - -#: config/tc-arm.c:13128 -#, c-format -msgid " -EL assemble code for a little-endian cpu\n" -msgstr " -EL ensambla código para un cpu little-endian\n" - -#: config/tc-arm.c:13270 -#, c-format -msgid "%s: unexpected function type: %d" -msgstr "%s: tipo de función inesperado: %d" - -#: config/tc-arm.c:13540 -msgid "expected 0 or 1" -msgstr "se esperaba 0 ó 1" - -#: config/tc-arm.c:13545 -msgid "missing comma" -msgstr "falta una coma" - -#: config/tc-arm.c:13838 -msgid "handerdata in cantunwind frame" -msgstr "handerdata en un marco cantunwind" - -#: config/tc-arm.c:13855 -msgid "too many unwind opcodes for personality routine 0" -msgstr "demasiados códigos de operación de desenredo para la rutina personality 0" - -#: config/tc-arm.c:13887 -msgid "too many unwind opcodes" -msgstr "demasiados códigos de operación de desenredo" - -#: config/tc-arm.c:14017 -msgid "dupicate .handlerdata directive" -msgstr "directiva .handlerdata duplicada" - -#: config/tc-arm.c:14071 -msgid "personality routine specified for cantunwind frame" -msgstr "se especificó una rutina personality para el marco cantunwind" - -#: config/tc-arm.c:14085 -msgid "duplicate .personalityindex directive" -msgstr "directiva .personalityindex duplicada" - -#: config/tc-arm.c:14094 -msgid "bad personality routine number" -msgstr "número de rutina personality erróneo" - -#: config/tc-arm.c:14113 -msgid "duplicate .personality directive" -msgstr "directiva .personality duplicada" - -#: config/tc-arm.c:14139 config/tc-arm.c:14261 -msgid "expected register list" -msgstr "se esperaba una lista de registros" - -#: config/tc-arm.c:14217 -msgid "expected , " -msgstr "se esperaba , " - -#: config/tc-arm.c:14322 -msgid "expected wr or wcgr" -msgstr "se esperaba wr o wcgr" - -#: config/tc-arm.c:14343 -msgid "bad register range" -msgstr "rango de registro erróneo" - -#: config/tc-arm.c:14358 -msgid "inconsistent register types" -msgstr "tipos de registro inconsistentes" - -#. TODO: Maverick registers. -#: config/tc-arm.c:14506 -msgid "unrecognised register" -msgstr "registro no reconocido" - -#: config/tc-arm.c:14529 -#, c-format -msgid "r%d not permitted in .unwind_movsp directive" -msgstr "no se permite r%d en la directiva .unwind_movsp" - -#: config/tc-arm.c:14535 -msgid "unexpected .unwind_movsp directive" -msgstr "directiva .unwind_movsp inesperada" - -#: config/tc-arm.c:14567 -msgid "expected #constant" -msgstr "se esperaba #constant" - -#: config/tc-arm.c:14587 -msgid "stack increment must be multiple of 4" -msgstr "el operando de pila debe ser un múltiplo de 4" +#: config/tc-arm.c:13152 +msgid "\t assemble for CPU " +msgstr "\t ensamblar para el CPU " -#: config/tc-arm.c:14616 -msgid "expected , " -msgstr "se esperaba , " +#: config/tc-arm.c:13154 +msgid "\t assemble for architecture " +msgstr "\t ensamblar para la arquitectura " -#: config/tc-arm.c:14634 -msgid "register must be either sp or set by a previousunwind_movsp directive" -msgstr "el registro debe ser sp o establecido por una directiva previousunwind_movsp" +#: config/tc-arm.c:13156 +msgid "\t assemble for FPU architecture " +msgstr "\t ensamblar para la arquitectura de Unidad de Coma Flotante " -#: config/tc-arm.c:14671 -msgid "expected , " -msgstr "se esperaba , " +#: config/tc-arm.c:13158 +msgid "\t assemble for floating point ABI " +msgstr "\t ensamblar para la ABI de coma flotante " -#: config/tc-arm.c:14683 -msgid "unwind opcode too long" -msgstr "código de operación de desenredo demasiado largo" +#: config/tc-arm.c:13161 +msgid "\t assemble for eabi version " +msgstr "\t ensamblar para la eabi versión " -#: config/tc-arm.c:14688 -msgid "invalid unwind opcode" -msgstr "código de operación de desenredo inválido" +#: config/tc-arm.c:13202 config/tc-arm.c:13224 +#, c-format +msgid "option `-%c%s' is deprecated: %s" +msgstr "la opción `-%c%s' es obsoleta: %s" -#: config/tc-arm.c:14783 -msgid "alignments greater than 32 bytes not supported in .text sections." -msgstr "las alineaciones más grandes que 32 bytes no tienen soporte en la sección text." +#: config/tc-arm.c:13245 +#, c-format +msgid " ARM-specific assembler options:\n" +msgstr "Opciones de ensamblador específicas de ARM:\n" + +#: config/tc-arm.c:13256 +#, c-format +msgid " -EB assemble code for a big-endian cpu\n" +msgstr " -EB ensambla código para un cpu big-endian\n" -#: config/tc-arm.h:84 -msgid "arm convert_frag\n" -msgstr "convert_frag de arm\n" +#: config/tc-arm.c:13261 +#, c-format +msgid " -EL assemble code for a little-endian cpu\n" +msgstr " -EL ensambla código para un cpu little-endian\n" -#: config/tc-avr.c:215 +#: config/tc-avr.c:209 #, c-format msgid "Known MCU names:" msgstr "Nombres MCU conocidos:" -#: config/tc-avr.c:284 +#: config/tc-avr.c:275 #, c-format msgid "" "AVR options:\n" @@ -2938,7 +2722,7 @@ msgstr "" " avr5 - ATmega161, ATmega163, ATmega32, AT94K\n" " o el nombre inmediato del microcontrolador.\n" -#: config/tc-avr.c:294 +#: config/tc-avr.c:285 #, c-format msgid "" " -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n" @@ -2954,413 +2738,442 @@ msgstr "" " -mno-wrap rechaza las instrucciones rjmp/rcall con envoltura de 8K\n" " (por defecto para avr3, avr5)\n" -#: config/tc-avr.c:342 config/tc-msp430.c:697 +#: config/tc-avr.c:329 config/tc-msp430.c:749 #, c-format msgid "unknown MCU: %s\n" msgstr "MCU desconocido: %s\n" -#: config/tc-avr.c:351 +#: config/tc-avr.c:338 #, c-format msgid "redefinition of mcu type `%s' to `%s'" msgstr "redefinición del tipo de mcu `%s' a `%s'" -#: config/tc-avr.c:402 config/tc-crx.c:490 config/tc-d10v.c:319 -#: config/tc-d30v.c:366 config/tc-mips.c:10029 config/tc-mmix.c:2297 -#: config/tc-mn10200.c:361 config/tc-msp430.c:805 config/tc-pj.c:373 -#: config/tc-ppc.c:5192 config/tc-sh.c:2972 config/tc-v850.c:1242 +#: config/tc-avr.c:385 config/tc-crx.c:491 config/tc-d10v.c:278 +#: config/tc-d30v.c:312 config/tc-mips.c:10241 config/tc-mmix.c:2264 +#: config/tc-mn10200.c:342 config/tc-msp430.c:873 config/tc-pj.c:342 +#: config/tc-ppc.c:5211 config/tc-sh.c:2986 config/tc-v850.c:1199 msgid "bad call to md_atof" msgstr "llamada errónea a md_atof" -#: config/tc-avr.c:465 +#: config/tc-avr.c:447 msgid "constant value required" msgstr "se requiere un valor constante" -#: config/tc-avr.c:468 +#: config/tc-avr.c:450 #, c-format msgid "number must be less than %d" msgstr "el número debe ser menor que %d" -#: config/tc-avr.c:520 -msgid "`,' required" -msgstr "se requiere `,'" - -#: config/tc-avr.c:539 -msgid "undefined combination of operands" -msgstr "combinación indefinida de operandos" - -#: config/tc-avr.c:549 -msgid "skipping two-word instruction" -msgstr "instrucción que salta dos palabras" - -#: config/tc-avr.c:582 config/tc-avr.c:1274 +#: config/tc-avr.c:476 config/tc-avr.c:583 #, c-format msgid "constant out of 8-bit range: %d" msgstr "constante fuera del rango de 8-bit: %d" -#: config/tc-avr.c:636 +#: config/tc-avr.c:488 config/tc-d10v.c:498 config/tc-d30v.c:490 +#: config/tc-h8300.c:451 config/tc-mcore.c:665 config/tc-mmix.c:489 +#: config/tc-mn10200.c:1078 config/tc-mn10300.c:1820 config/tc-msp430.c:457 +#: config/tc-or32.c:306 config/tc-ppc.c:2382 config/tc-s390.c:1220 +#: config/tc-sh64.c:2213 config/tc-sh.c:1272 config/tc-v850.c:1952 +#: config/tc-z8k.c:328 +msgid "missing operand" +msgstr "operando faltante" + +#: config/tc-avr.c:536 read.c:3345 +msgid "illegal expression" +msgstr "expresión ilegal" + +#: config/tc-avr.c:562 config/tc-avr.c:1282 +msgid "`)' required" +msgstr "se requiere `)'" + +#: config/tc-avr.c:638 msgid "register r16-r23 required" msgstr "se requiere los registros r16-r23" -#: config/tc-avr.c:642 +#: config/tc-avr.c:644 msgid "register number above 15 required" msgstr "se requiere un número de registro superior a 15" -#: config/tc-avr.c:648 +#: config/tc-avr.c:650 msgid "even register number required" msgstr "se requieren números de registro par" -#: config/tc-avr.c:654 +#: config/tc-avr.c:656 msgid "register r24, r26, r28 or r30 required" msgstr "se requieren los registros r24, r26, r28 o r30" -#: config/tc-avr.c:660 +#: config/tc-avr.c:662 msgid "register name or number from 0 to 31 required" msgstr "se requiere un nombre de registro o un número del 0 al 31" -#: config/tc-avr.c:678 +#: config/tc-avr.c:680 msgid "pointer register (X, Y or Z) required" msgstr "se requiere un registro puntero (X, Y o Z)" -#: config/tc-avr.c:685 +#: config/tc-avr.c:687 msgid "cannot both predecrement and postincrement" msgstr "no se puede predecrementar y postincrementar" -#: config/tc-avr.c:693 +#: config/tc-avr.c:695 msgid "addressing mode not supported" msgstr "el modo de direccionamiento no tiene soporte" -#: config/tc-avr.c:699 +#: config/tc-avr.c:701 msgid "can't predecrement" msgstr "no se puede predecrementar" -#: config/tc-avr.c:702 +#: config/tc-avr.c:704 msgid "pointer register Z required" msgstr "se requiere el registro puntero Z" -#: config/tc-avr.c:720 +#: config/tc-avr.c:722 msgid "pointer register (Y or Z) required" msgstr "se requiere un registro puntero (Y o Z)" -#: config/tc-avr.c:824 +#: config/tc-avr.c:826 #, c-format msgid "unknown constraint `%c'" msgstr "restricción `%c' desconocida" -#: config/tc-avr.c:918 config/tc-avr.c:934 config/tc-avr.c:1056 -#: config/tc-msp430.c:1899 config/tc-msp430.c:1917 +#: config/tc-avr.c:878 +msgid "`,' required" +msgstr "se requiere `,'" + +#: config/tc-avr.c:896 +msgid "undefined combination of operands" +msgstr "combinación indefinida de operandos" + +#: config/tc-avr.c:905 +msgid "skipping two-word instruction" +msgstr "instrucción que salta dos palabras" + +#: config/tc-avr.c:997 config/tc-avr.c:1013 config/tc-avr.c:1135 +#: config/tc-msp430.c:2012 config/tc-msp430.c:2030 #, c-format msgid "odd address operand: %ld" msgstr "operando de direccón impar: %ld" -#: config/tc-avr.c:926 config/tc-avr.c:945 config/tc-avr.c:967 -#: config/tc-avr.c:974 config/tc-avr.c:981 config/tc-d10v.c:586 -#: config/tc-d30v.c:656 config/tc-msp430.c:1907 config/tc-msp430.c:1922 -#: config/tc-msp430.c:1932 +#: config/tc-avr.c:1005 config/tc-avr.c:1024 config/tc-avr.c:1046 +#: config/tc-avr.c:1053 config/tc-avr.c:1060 config/tc-d10v.c:538 +#: config/tc-d30v.c:589 config/tc-msp430.c:2020 config/tc-msp430.c:2035 +#: config/tc-msp430.c:2045 #, c-format msgid "operand out of range: %ld" msgstr "operando fuera de rango: %ld" -#: config/tc-avr.c:1065 config/tc-d10v.c:1791 config/tc-d30v.c:1958 -#: config/tc-msp430.c:1950 +#: config/tc-avr.c:1144 config/tc-d10v.c:1622 config/tc-d30v.c:2060 +#: config/tc-msp430.c:2063 #, c-format msgid "line %d: unknown relocation type: 0x%x" msgstr "línea %d: tipo de reubicación desconocido: 0x%x" -#: config/tc-avr.c:1079 +#: config/tc-avr.c:1158 msgid "only constant expression allowed" msgstr "sólo se permite una expresión constante" -#: config/tc-avr.c:1115 config/tc-d10v.c:1657 config/tc-d30v.c:1791 -#: config/tc-mn10200.c:1262 config/tc-mn10300.c:2308 config/tc-msp430.c:1986 -#: config/tc-or32.c:1587 config/tc-ppc.c:6013 config/tc-v850.c:2274 +#. xgettext:c-format. +#: config/tc-avr.c:1192 config/tc-bfin.c:689 config/tc-d10v.c:1494 +#: config/tc-d30v.c:1804 config/tc-mn10200.c:814 config/tc-mn10300.c:2308 +#: config/tc-msp430.c:2098 config/tc-or32.c:1019 config/tc-ppc.c:6064 +#: config/tc-v850.c:2190 #, c-format msgid "reloc %d not supported by object file format" msgstr "la reubicación %d no tiene soporte por el formato del fichero objeto" -#: config/tc-avr.c:1139 config/tc-d10v.c:1248 config/tc-d10v.c:1262 -#: config/tc-h8300.c:1887 config/tc-h8500.c:1106 config/tc-mcore.c:939 -#: config/tc-msp430.c:1769 config/tc-pj.c:282 config/tc-sh.c:2425 -#: config/tc-z8k.c:1200 +#: config/tc-avr.c:1215 config/tc-d10v.c:1782 config/tc-d10v.c:1796 +#: config/tc-h8300.c:1868 config/tc-mcore.c:884 config/tc-msp430.c:1862 +#: config/tc-pj.c:254 config/tc-sh.c:2457 config/tc-z8k.c:1194 msgid "can't find opcode " msgstr "no se puede encontrar el código de operación " -#: config/tc-avr.c:1156 +#: config/tc-avr.c:1232 #, c-format msgid "illegal opcode %s for mcu %s" msgstr "código de operación %s ilegal para el mcu %s" -#: config/tc-avr.c:1164 +#: config/tc-avr.c:1241 msgid "garbage at end of line" msgstr "basura al final de la línea" -#: config/tc-avr.c:1228 read.c:3203 -msgid "illegal expression" -msgstr "expresión ilegal" - -#: config/tc-avr.c:1254 config/tc-avr.c:1318 -msgid "`)' required" -msgstr "se requiere `)'" - -#: config/tc-avr.c:1346 config/tc-avr.c:1353 +#: config/tc-avr.c:1309 config/tc-avr.c:1316 #, c-format msgid "illegal %srelocation size: %d" msgstr "%s ilegal tamaño de reubicación: %d" -#: config/tc-cris.c:540 config/tc-m68hc11.c:2794 +#: config/tc-bfin.c:263 +#, c-format +msgid " BFIN specific command line options:\n" +msgstr " Opciones de línea de comando específicas de BFIN:\n" + +#: config/tc-bfin.c:646 config/tc-fr30.c:358 config/tc-frv.c:1600 +#: config/tc-i960.c:1756 config/tc-ip2k.c:371 config/tc-m32c.c:912 +#: config/tc-m32r.c:2143 config/tc-openrisc.c:376 config/tc-xstormy16.c:631 +msgid "Bad call to md_atof()" +msgstr "Llamada errónea a md_atof()" + +#: config/tc-cris.c:532 config/tc-m68hc11.c:2794 #, c-format msgid "internal inconsistency problem in %s: fr_symbol %lx" msgstr "problema de inconsistencia interna en %s: fr_symbol %lx" -#: config/tc-cris.c:544 config/tc-m68hc11.c:2798 config/tc-msp430.c:2177 +#: config/tc-cris.c:536 config/tc-m68hc11.c:2798 config/tc-msp430.c:2289 #, c-format msgid "internal inconsistency problem in %s: resolved symbol" msgstr "problema de inconsistencia interna en %s: símbolo resuelto" -#: config/tc-cris.c:554 config/tc-m68hc11.c:2804 +#: config/tc-cris.c:546 config/tc-m68hc11.c:2804 #, c-format msgid "internal inconsistency problem in %s: fr_subtype %d" msgstr "problema de inconsistencia interna en %s: fr_subtype %d" -#: config/tc-cris.c:885 +#: config/tc-cris.c:872 msgid "Relaxation to long branches for .arch common_v10_v32 not implemented" msgstr "La relajación a grandes ramificaciones para .arch common_v10_v32 no está implementada" -#: config/tc-cris.c:915 +#: config/tc-cris.c:902 msgid "Complicated LAPC target operand is not a multiple of two. Use LAPC.D" msgstr "El operando de objetivo complicado LAPC no es un múltiplo de dos. Use LAPC.D" -#: config/tc-cris.c:920 +#: config/tc-cris.c:907 #, c-format msgid "Internal error found in md_convert_frag: offset %ld. Please report this." msgstr "Se encontró un error interno en md_convert_frag: desplazamiento %ld. Por favor repórtelo." -#: config/tc-cris.c:945 +#: config/tc-cris.c:932 #, c-format msgid "internal inconsistency in %s: bdapq no symbol" msgstr "inconsistencia interna en %s: bdapq no es un símbolo" -#: config/tc-cris.c:958 +#: config/tc-cris.c:945 #, c-format msgid "internal inconsistency in %s: bdap.w with no symbol" msgstr "inconsistencia interna en %s: bdap.w sin algún símbolo" -#: config/tc-cris.c:982 +#: config/tc-cris.c:969 msgid "section alignment must be >= 4 bytes to check MULS/MULU safeness" msgstr "la alineación de la sección debe ser >= 4 bytes para revisar la seguridad de MULS/MULU" -#: config/tc-cris.c:991 +#: config/tc-cris.c:978 msgid "dangerous MULS/MULU location; give it higher alignment" msgstr "ubicación de MULS/MULU peligrosa; déles una alineación superior" -#: config/tc-cris.c:1103 +#: config/tc-cris.c:1083 msgid "Out-of-range .word offset handling is not implemented for .arch common_v10_v32" msgstr "El manejo del desplazamiento .word fuera de rango no está implementado para .arch common_v10_v32" -#: config/tc-cris.c:1168 config/tc-crx.c:581 config/tc-crx.c:608 -#: config/tc-crx.c:626 +#: config/tc-cris.c:1148 config/tc-crx.c:582 config/tc-crx.c:609 +#: config/tc-crx.c:627 msgid "Virtual memory exhausted" msgstr "Memoria agotada" -#: config/tc-cris.c:1201 config/tc-crx.c:591 +#: config/tc-cris.c:1182 config/tc-crx.c:592 #, c-format msgid "Can't hash `%s': %s\n" msgstr "No se puede dispersar `%s': %s\n" -#: config/tc-cris.c:1202 config/tc-crx.c:592 +#: config/tc-cris.c:1183 config/tc-crx.c:593 msgid "(unknown reason)" msgstr "(razón desconocida)" -#: config/tc-cris.c:1206 +#: config/tc-cris.c:1187 #, c-format msgid "Buggy opcode: `%s' \"%s\"\n" msgstr "Código de operación defectuoso: `%s' \"%s\"\n" -#: config/tc-cris.c:1621 +#: config/tc-cris.c:1493 config/tc-cris.c:1501 config/tc-crx.c:2029 +#: config/tc-dlx.c:685 config/tc-hppa.c:1625 config/tc-i860.c:492 +#: config/tc-i860.c:509 config/tc-i860.c:989 config/tc-sparc.c:1417 +#: config/tc-sparc.c:1425 +#, c-format +msgid "Unknown opcode: `%s'" +msgstr "Código de operación desconocido: `%s'" + +#: config/tc-cris.c:1599 #, c-format msgid "Immediate value not in 5 bit unsigned range: %ld" msgstr "El valor inmediato no está en el rango de 5 bit sin signo: %ld" -#: config/tc-cris.c:1637 +#: config/tc-cris.c:1615 #, c-format msgid "Immediate value not in 4 bit unsigned range: %ld" msgstr "El valor inmediato no está en el rango de 4 bit sin signo: %ld" -#: config/tc-cris.c:1689 +#: config/tc-cris.c:1667 #, c-format msgid "Immediate value not in 6 bit range: %ld" msgstr "El valor inmediato no está en el rango de 6 bit: %ld" -#: config/tc-cris.c:1704 +#: config/tc-cris.c:1682 #, c-format msgid "Immediate value not in 6 bit unsigned range: %ld" msgstr "El valor inmediato no está en el rango de 6 bit sin signo: %ld" #. Others have a generic warning. -#: config/tc-cris.c:1812 +#: config/tc-cris.c:1790 #, c-format msgid "Unimplemented register `%s' specified" msgstr "Se especificó el registro sin implementar `%s'" #. We've come to the end of instructions with this #. opcode, so it must be an error. -#: config/tc-cris.c:2055 +#: config/tc-cris.c:2033 msgid "Illegal operands" msgstr "Operandos ilegales" -#: config/tc-cris.c:2096 config/tc-cris.c:2136 +#: config/tc-cris.c:2074 config/tc-cris.c:2114 #, c-format msgid "Immediate value not in 8 bit range: %ld" msgstr "El valor inmediato no está en el rango de 8 bit: %ld" -#: config/tc-cris.c:2106 config/tc-cris.c:2157 +#: config/tc-cris.c:2084 config/tc-cris.c:2135 #, c-format msgid "Immediate value not in 16 bit range: %ld" msgstr "El valor inmediato no está en el rango de 16 bit: %ld" -#: config/tc-cris.c:2141 +#: config/tc-cris.c:2119 #, c-format msgid "Immediate value not in 8 bit signed range: %ld" msgstr "El valor inmediato no está en el rango de 8 bit con signo: %ld" -#: config/tc-cris.c:2146 +#: config/tc-cris.c:2124 #, c-format msgid "Immediate value not in 8 bit unsigned range: %ld" msgstr "El valor inmediato no está en el rango de 8 bit sin signo: %ld" -#: config/tc-cris.c:2162 +#: config/tc-cris.c:2140 #, c-format msgid "Immediate value not in 16 bit signed range: %ld" msgstr "El valor inmediato no está en el rango de 16 bit con signo: %ld" -#: config/tc-cris.c:2167 +#: config/tc-cris.c:2145 #, c-format msgid "Immediate value not in 16 bit unsigned range: %ld" msgstr "El valor inmediato no está en el rango de 16 bit sin signo: %ld" -#: config/tc-cris.c:2189 +#: config/tc-cris.c:2167 msgid "PIC relocation size does not match operand size" msgstr "el tamaño de la reubicación PIC no coincide con el tamaño del operando" -#: config/tc-cris.c:3355 +#: config/tc-cris.c:3304 msgid "Calling gen_cond_branch_32 for .arch common_v10_v32\n" msgstr "Se llama a gen_cond_branch_32 para .arch common_v10_v32\n" -#: config/tc-cris.c:3359 +#: config/tc-cris.c:3308 msgid "32-bit conditional branch generated" msgstr "se generó una ramificación condicional de 32-bit" -#: config/tc-cris.c:3418 +#: config/tc-cris.c:3367 msgid "Complex expression not supported" msgstr "Las expresiones complejas no tienen soporte" #. FIXME: Is this function mentioned in the internals.texi manual? If #. not, add it. -#: config/tc-cris.c:3546 +#: config/tc-cris.c:3490 msgid "Bad call to md_atof () - floating point formats are not supported" msgstr "Llamada errónea a md_atof () - no tienen soporte los formatos de coma flotante" -#: config/tc-cris.c:3592 +#: config/tc-cris.c:3531 msgid "PC-relative relocation must be trivially resolved" msgstr "La reubicación relativa al PC debe ser resuelta trivialmente" -#: config/tc-cris.c:3645 +#: config/tc-cris.c:3584 #, c-format msgid "Value not in 16 bit range: %ld" msgstr "El valor no está en el rango de 16 bit: %ld" -#: config/tc-cris.c:3656 +#: config/tc-cris.c:3595 #, c-format msgid "Value not in 16 bit signed range: %ld" msgstr "El valor no está en el rango de 16 bit con signo: %ld" -#: config/tc-cris.c:3667 +#: config/tc-cris.c:3606 #, c-format msgid "Value not in 8 bit range: %ld" msgstr "El valor no está en el rango de 8 bit: %ld" -#: config/tc-cris.c:3675 +#: config/tc-cris.c:3614 #, c-format msgid "Value not in 8 bit signed range: %ld" msgstr "El valor no está en el rango de 8 bit con signo: %ld" -#: config/tc-cris.c:3686 +#: config/tc-cris.c:3625 #, c-format msgid "Value not in 4 bit unsigned range: %ld" msgstr "El valor no está en el rango de 4 bit sin signo: %ld" -#: config/tc-cris.c:3694 +#: config/tc-cris.c:3633 #, c-format msgid "Value not in 5 bit unsigned range: %ld" msgstr "El valor no está en el rango de 5 bit sin signo: %ld" -#: config/tc-cris.c:3702 +#: config/tc-cris.c:3641 #, c-format msgid "Value not in 6 bit range: %ld" msgstr "El valor no está en el rango de 6 bit: %ld" -#: config/tc-cris.c:3710 +#: config/tc-cris.c:3649 #, c-format msgid "Value not in 6 bit unsigned range: %ld" msgstr "El valor no está en el rango de 6 bit sin signo: %ld" -#: config/tc-cris.c:3758 +#: config/tc-cris.c:3695 #, c-format msgid "Please use --help to see usage and options for this assembler.\n" msgstr "Por favor utilice --help para ver el modo de empleo y opciones para este ensamblador.\n" -#: config/tc-cris.c:3770 +#: config/tc-cris.c:3707 msgid "--no-underscore is invalid with a.out format" msgstr "--no-underscore es inválido con el formato a.out" -#: config/tc-cris.c:3790 +#: config/tc-cris.c:3727 #, c-format msgid "invalid in --march=: %s" msgstr "arquitectura en --march= inválida: %s" -#: config/tc-cris.c:3888 +#: config/tc-cris.c:3821 msgid "Semantics error. This type of operand can not be relocated, it must be an assembly-time constant" msgstr "Error de semántica. Este tipo de operando no se puede reubicar, debe ser una constante en el momento de ensamblado" -#: config/tc-cris.c:3937 +#: config/tc-cris.c:3870 #, c-format msgid "Cannot generate relocation type for symbol %s, code %s" msgstr "No se puede generar el tipo de reubicación para el símbolo %s, código %s" #. The messages are formatted to line up with the generic options. -#: config/tc-cris.c:3951 +#: config/tc-cris.c:3883 #, c-format msgid "CRIS-specific options:\n" msgstr "Opciones específicas de CRIS:\n" -#: config/tc-cris.c:3953 +#: config/tc-cris.c:3885 msgid " -h, -H Don't execute, print this help text. Deprecated.\n" msgstr " -h, -H No ejecutar, muestra este texto de ayuda. Deprecado.\n" -#: config/tc-cris.c:3955 +#: config/tc-cris.c:3887 msgid " -N Warn when branches are expanded to jumps.\n" msgstr " -N Avisar cuando las ramificaciones se expanden a saltos.\n" -#: config/tc-cris.c:3957 +#: config/tc-cris.c:3889 msgid " --underscore User symbols are normally prepended with underscore.\n" msgstr " --underscore Los símbolos de usuario generalmente se preceden con subrayado.\n" -#: config/tc-cris.c:3959 +#: config/tc-cris.c:3891 msgid " Registers will not need any prefix.\n" msgstr " Los registros no necesitarán ningún prefijo.\n" -#: config/tc-cris.c:3961 +#: config/tc-cris.c:3893 msgid " --no-underscore User symbols do not have any prefix.\n" msgstr " --no-underscore Los símbolos de usuario no tienen ningún prefijo.\n" -#: config/tc-cris.c:3963 +#: config/tc-cris.c:3895 msgid " Registers will require a `$'-prefix.\n" msgstr " Los registros requerirán un prefijo `$'.\n" -#: config/tc-cris.c:3965 +#: config/tc-cris.c:3897 msgid " --pic\t\t\tEnable generation of position-independent code.\n" msgstr " --pic\t\t\tActiva la generación de código independiente de posición.\n" -#: config/tc-cris.c:3967 +#: config/tc-cris.c:3899 msgid "" " --march=\t\tGenerate code for . Valid choices for \n" "\t\t\t\tare v0_v10, v10, v32 and common_v10_v32.\n" @@ -3368,227 +3181,227 @@ msgstr "" " --march=\t\tGenera código para . Las opciones válidas para \n" "\t\t\t\tson v0_v10, v10, v32 y common_v10_v32.\n" -#: config/tc-cris.c:3991 +#: config/tc-cris.c:3920 msgid "Invalid relocation" msgstr "Reubicación inválida" -#: config/tc-cris.c:4029 +#: config/tc-cris.c:3957 msgid "Invalid pc-relative relocation" msgstr "Reubicación relativa a pc inválida" -#: config/tc-cris.c:4078 +#: config/tc-cris.c:4002 #, c-format msgid "Adjusted signed .word (%ld) overflows: `switch'-statement too large." msgstr "El .word (%ld) con signo ajustado se desborda: la sentencia `switch' es demasiado grande." -#: config/tc-cris.c:4105 +#: config/tc-cris.c:4032 #, c-format msgid ".syntax %s requires command-line option `--underscore'" msgstr ".syntax %s requiere de la opción de línea de comandos `--underscore'" -#: config/tc-cris.c:4114 +#: config/tc-cris.c:4041 #, c-format msgid ".syntax %s requires command-line option `--no-underscore'" msgstr ".syntax %s requiere de la opción de línea de comandos `--no-underscore'" -#: config/tc-cris.c:4152 +#: config/tc-cris.c:4078 msgid "Unknown .syntax operand" msgstr "Operando .syntax inválido" -#: config/tc-cris.c:4163 +#: config/tc-cris.c:4088 msgid "Pseudodirective .file is only valid when generating ELF" msgstr "La pseudodirectiva .file es válida solamente cuando se genera ELF" -#: config/tc-cris.c:4176 +#: config/tc-cris.c:4100 msgid "Pseudodirective .loc is only valid when generating ELF" msgstr "La pseudodirectiva .loc es válida solamente cuando se genera ELF" -#: config/tc-cris.c:4322 +#: config/tc-cris.c:4243 msgid "unknown operand to .arch" msgstr "operando desconocido para .arch" -#: config/tc-cris.c:4331 +#: config/tc-cris.c:4252 msgid ".arch requires a matching --march=... option" msgstr ".arch requiere una opción --march=... coincidente" -#: config/tc-crx.c:343 config/tc-mn10200.c:1249 write.c:2649 +#: config/tc-crx.c:344 config/tc-mn10200.c:801 write.c:2209 #, c-format msgid "can't resolve `%s' {%s section} - `%s' {%s section}" msgstr "no se puede resolver `%s' {sección %s} - `%s' {sección %s}" -#: config/tc-crx.c:359 +#: config/tc-crx.c:360 #, c-format msgid "internal error: reloc %d (`%s') not supported by object file format" msgstr "error interno: la reubicación %d (`%s') no tiene soporte por el formato del fichero objeto" -#: config/tc-crx.c:618 config/tc-crx.c:636 config/tc-i386.c:938 -#: config/tc-i386.c:961 config/tc-m68k.c:4193 +#: config/tc-crx.c:619 config/tc-crx.c:637 config/tc-i386.c:953 +#: config/tc-i386.c:976 config/tc-m68k.c:4149 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "Error Interno: No se puede dispersar %s: %s" #. Missing or bad expr becomes absolute 0. -#: config/tc-crx.c:664 config/tc-i386.c:4111 +#: config/tc-crx.c:665 config/tc-i386.c:4259 #, c-format msgid "missing or invalid displacement expression `%s' taken as 0" msgstr "la expresión de desubicación faltante o inválida `%s' se toma como 0" -#: config/tc-crx.c:802 config/tc-crx.c:822 config/tc-crx.c:837 +#: config/tc-crx.c:803 config/tc-crx.c:823 config/tc-crx.c:838 #, c-format msgid "Illegal register `%s' in Instruction `%s'" msgstr "Registro `%s' ilegal en la Instruction `%s'" -#: config/tc-crx.c:865 +#: config/tc-crx.c:866 #, c-format msgid "Illegal Scale - `%d'" msgstr "Scale ilegal - `%d'" -#: config/tc-crx.c:981 +#: config/tc-crx.c:982 #, c-format msgid "Illegal operands (whitespace): `%s'" msgstr "Operandos ilegales (espacios en blanco): `%s'" -#: config/tc-crx.c:993 config/tc-crx.c:1000 config/tc-crx.c:1017 -#: config/tc-crx.c:1803 +#: config/tc-crx.c:994 config/tc-crx.c:1001 config/tc-crx.c:1018 +#: config/tc-crx.c:1804 #, c-format msgid "Missing matching brackets : `%s'" msgstr "Faltan las llaves coincidentes : `%s'" -#: config/tc-crx.c:1043 +#: config/tc-crx.c:1044 #, c-format msgid "Unknown exception: `%s'" msgstr "Excepción desconocida: `%s'" -#: config/tc-crx.c:1139 +#: config/tc-crx.c:1140 #, c-format msgid "Illegal `cinv' parameter: `%c'" msgstr "Parámetro `cinv' ilegal: `%c'" -#: config/tc-crx.c:1172 +#: config/tc-crx.c:1173 #, c-format msgid "Unknown register: `%d'" -msgstr "Registro desconicido: `%d'" +msgstr "Registro desconocido: `%d'" #. Issue a error message when register is illegal. -#: config/tc-crx.c:1180 +#: config/tc-crx.c:1181 #, c-format msgid "Illegal register (`%s') in Instruction: `%s'" msgstr "Registro ilegal (`%s') en Instruction: `%s'" -#: config/tc-crx.c:1309 +#: config/tc-crx.c:1310 #, c-format msgid "Illegal Co-processor register in Instruction `%s' " msgstr "Registro de co-procesador ilegal en Instruction `%s'" -#: config/tc-crx.c:1316 +#: config/tc-crx.c:1317 #, c-format msgid "Illegal Co-processor special register in Instruction `%s' " msgstr "Registro especial de co-procesador ilegal en Instruction `%s'" -#: config/tc-crx.c:1615 +#: config/tc-crx.c:1616 msgid "Incorrect number of operands" msgstr "Número incorrecto de operandos" -#: config/tc-crx.c:1617 +#: config/tc-crx.c:1618 #, c-format msgid "Illegal type of operand (arg %d)" msgstr "Tipo de operando ilegal (arg %d)" -#: config/tc-crx.c:1623 +#: config/tc-crx.c:1624 #, c-format msgid "Operand out of range (arg %d)" msgstr "Operando fuera de rango (arg %d)" -#: config/tc-crx.c:1626 +#: config/tc-crx.c:1627 #, c-format msgid "Operand has odd displacement (arg %d)" msgstr "El operando tiene un desplazamiento impar (arg %d)" -#: config/tc-crx.c:1629 +#: config/tc-crx.c:1630 #, c-format msgid "Invalid DISPU4 operand value (arg %d)" msgstr "Valor de operando DISPU4 inválido (arg %d)" -#: config/tc-crx.c:1632 +#: config/tc-crx.c:1633 #, c-format msgid "Invalid CST4 operand value (arg %d)" msgstr "Valor de operando CST4 inválido (arg %d)" -#: config/tc-crx.c:1635 +#: config/tc-crx.c:1636 #, c-format msgid "Operand value is not within upper 64 KB (arg %d)" msgstr "El valor del operando no está en los 64 KB superiores (arg %d)" -#: config/tc-crx.c:1639 config/tc-crx.c:1670 +#: config/tc-crx.c:1640 config/tc-crx.c:1671 #, c-format msgid "Illegal operand (arg %d)" msgstr "Operando ilegal (arg %d)" -#: config/tc-crx.c:1701 config/tc-crx.c:1718 +#: config/tc-crx.c:1702 config/tc-crx.c:1719 #, c-format msgid "Same src/dest register is used (`r%d'), result is undefined" msgstr "Se usa el mismo registro fuente/destino (`r%d'), el resultado es indefinido" -#: config/tc-crx.c:1710 +#: config/tc-crx.c:1711 #, c-format msgid "`%s' has undefined result" msgstr "`%s' tiene un resultado indefinido" -#: config/tc-crx.c:1772 +#: config/tc-crx.c:1773 msgid "Invalid Register in Register List" msgstr "Registro inválido en la Lista de Registros" -#: config/tc-crx.c:1826 +#: config/tc-crx.c:1827 #, c-format msgid "Illegal register `%s' in cop-register list" msgstr "Registro ilegal `%s' en la lista de registros de coprocesador" -#: config/tc-crx.c:1834 +#: config/tc-crx.c:1835 #, c-format msgid "Illegal register `%s' in cop-special-register list" msgstr "Registro ilegal `%s' en la lista especial de registros de coprocesador" -#: config/tc-crx.c:1853 +#: config/tc-crx.c:1854 #, c-format msgid "Illegal register `%s' in user register list" msgstr "Registro ilegal `%s' en la lista de registros de usuario" -#: config/tc-crx.c:1872 +#: config/tc-crx.c:1873 #, c-format msgid "Illegal register `%s' in register list" msgstr "Registro ilegal `%s' en la lista de registros" -#: config/tc-crx.c:1878 +#: config/tc-crx.c:1879 #, c-format msgid "Maximum %d bits may be set in `mask16' operand" msgstr "Se pueden establecer %d bits como máximo en el operando mask16" -#: config/tc-crx.c:1887 +#: config/tc-crx.c:1888 #, c-format msgid "rest of line ignored; first ignored character is `%c'" msgstr "se ignora el resto de la línea; el primer carácter ignorado es `%c'" -#: config/tc-crx.c:1895 +#: config/tc-crx.c:1896 #, c-format msgid "Illegal `mask16' operand, operation is undefined - `%s'" msgstr "Operando `mask16' ilegal, la operación está indefinida - `%s'" #. HI can't be specified without LO (and vise-versa). -#: config/tc-crx.c:1901 +#: config/tc-crx.c:1902 msgid "HI/LO registers should be specified together" msgstr "Los registros HI/LO se deben especificar juntos" -#: config/tc-crx.c:1907 +#: config/tc-crx.c:1908 msgid "HI/LO registers should be specified without additional registers" msgstr "Los registros HI/LO se deben especificar sin registros adicionales" #. Give an error if a frag containing code is not aligned to a 2-byte #. boundary. -#: config/tc-crx.c:1992 config/tc-crx.h:78 +#: config/tc-crx.c:1993 config/tc-crx.h:76 msgid "instruction address is not a multiple of 2" msgstr "la dirección de la instrucción no es un múltiplo de 2" -#: config/tc-d10v.c:252 +#: config/tc-d10v.c:217 #, c-format msgid "" "D10V options:\n" @@ -3605,140 +3418,140 @@ msgstr "" "--no-gstabs-packing Si se especifica --gstabs, no empaqueta juntas\n" " las instrucciones adjacentes.\n" -#: config/tc-d10v.c:543 config/tc-d30v.c:550 config/tc-mn10200.c:937 -#: config/tc-mn10300.c:1817 config/tc-ppc.c:2365 config/tc-s390.c:1216 -#: config/tc-tic80.c:276 config/tc-v850.c:2031 +#: config/tc-d10v.c:496 config/tc-d30v.c:488 config/tc-mn10200.c:1075 +#: config/tc-mn10300.c:1817 config/tc-ppc.c:2380 config/tc-s390.c:1218 +#: config/tc-v850.c:1949 msgid "illegal operand" msgstr "operando ilegal" -#: config/tc-d10v.c:657 +#: config/tc-d10v.c:608 msgid "operand is not an immediate" msgstr "el operando no es un inmediato" -#: config/tc-d10v.c:675 +#: config/tc-d10v.c:626 #, c-format msgid "operand out of range: %lu" msgstr "operando fuera de rango: %lu" -#: config/tc-d10v.c:736 +#: config/tc-d10v.c:684 msgid "Instruction must be executed in parallel with another instruction." msgstr "La instrucción debe ser ejecutada en paralelo con otra instrucción." -#: config/tc-d10v.c:792 +#: config/tc-d10v.c:738 config/tc-d10v.c:746 +#, c-format +msgid "packing conflict: %s must dispatch sequentially" +msgstr "conflicto de empaquetado: %s debe despachar secuencialmente" + +#: config/tc-d10v.c:845 +#, c-format +msgid "resource conflict (R%d)" +msgstr "conflicto de recurso (R%d)" + +#: config/tc-d10v.c:848 +#, c-format +msgid "resource conflict (A%d)" +msgstr "conflicto de recurso (A%d)" + +#: config/tc-d10v.c:850 +msgid "resource conflict (PSW)" +msgstr "conflicto de recurso (PSW)" + +#: config/tc-d10v.c:852 +msgid "resource conflict (C flag)" +msgstr "conflicto de recurso (opción C)" + +#: config/tc-d10v.c:854 +msgid "resource conflict (F flag)" +msgstr "conflicto de recurso (opción F)" + +#: config/tc-d10v.c:1004 msgid "Instruction must be executed in parallel" msgstr "La instrucción debe ser ejecutada en paralelo" -#: config/tc-d10v.c:795 +#: config/tc-d10v.c:1007 msgid "Long instructions may not be combined." msgstr "Las instrucciones long no se pueden combinar." -#: config/tc-d10v.c:828 +#: config/tc-d10v.c:1040 msgid "One of these instructions may not be executed in parallel." msgstr "Una de estas instrucciones no se puede ejecutar en paralelo." -#: config/tc-d10v.c:832 config/tc-d30v.c:877 +#: config/tc-d10v.c:1044 config/tc-d30v.c:1071 msgid "Two IU instructions may not be executed in parallel" msgstr "Dos instrucciones IU no se pueden ejecutar en paralelo" -#: config/tc-d10v.c:834 config/tc-d10v.c:842 config/tc-d10v.c:856 -#: config/tc-d10v.c:871 config/tc-d30v.c:878 config/tc-d30v.c:887 +#: config/tc-d10v.c:1046 config/tc-d10v.c:1054 config/tc-d10v.c:1068 +#: config/tc-d10v.c:1083 config/tc-d30v.c:1072 config/tc-d30v.c:1081 msgid "Swapping instruction order" msgstr "Intercambiando el orden de la instrucción" -#: config/tc-d10v.c:840 config/tc-d30v.c:884 +#: config/tc-d10v.c:1052 config/tc-d30v.c:1078 msgid "Two MU instructions may not be executed in parallel" msgstr "Dos instrucciones MU no se pueden ejecutar en paralelo" -#: config/tc-d10v.c:860 config/tc-d30v.c:904 +#: config/tc-d10v.c:1072 config/tc-d30v.c:1098 msgid "IU instruction may not be in the left container" msgstr "Una instrucción IU no puede estar en el contenedor izquierdo" # Parece que R es 'right' y L es 'left'. Revisar el código para comprobar # y mejorar esta traducción. cfuga -#: config/tc-d10v.c:862 config/tc-d10v.c:877 +#: config/tc-d10v.c:1074 config/tc-d10v.c:1089 msgid "Instruction in R container is squashed by flow control instruction in L container." msgstr "La instrucción en el contenedor R es aplastada por la instrucción de control de flujo en el contenedor L." -#: config/tc-d10v.c:875 config/tc-d30v.c:915 +#: config/tc-d10v.c:1087 config/tc-d30v.c:1109 msgid "MU instruction may not be in the right container" msgstr "Una instrucción MU no puede estar en el contenedor derecho" -#: config/tc-d10v.c:881 config/tc-d30v.c:927 +#: config/tc-d10v.c:1093 config/tc-d30v.c:1121 msgid "unknown execution type passed to write_2_short()" msgstr "tipo de ejecución desconocido pasado a write_2_short()" -#: config/tc-d10v.c:1072 config/tc-d10v.c:1080 -#, c-format -msgid "packing conflict: %s must dispatch sequentially" -msgstr "conflicto de empaquetado: %s debe despachar secuencialmente" - -#: config/tc-d10v.c:1179 -#, c-format -msgid "resource conflict (R%d)" -msgstr "conflicto de recurso (R%d)" - -#: config/tc-d10v.c:1182 -#, c-format -msgid "resource conflict (A%d)" -msgstr "conflicto de recurso (A%d)" - -#: config/tc-d10v.c:1184 -msgid "resource conflict (PSW)" -msgstr "conflicto de recurso (PSW)" - -#: config/tc-d10v.c:1186 -msgid "resource conflict (C flag)" -msgstr "conflicto de recurso (opción C)" - -#: config/tc-d10v.c:1188 -msgid "resource conflict (F flag)" -msgstr "conflicto de recurso (opción F)" - -#: config/tc-d10v.c:1276 config/tc-d10v.c:1298 config/tc-d30v.c:1408 -msgid "Unable to mix instructions as specified" -msgstr "No se pueden mezclar las instrucciones como se especificó" - -#: config/tc-d10v.c:1343 config/tc-d30v.c:1538 -#, c-format -msgid "unknown opcode: %s" -msgstr "código de operación desconocido: %s" - -#: config/tc-d10v.c:1426 config/tc-d10v.c:1601 +#: config/tc-d10v.c:1221 config/tc-d10v.c:1394 msgid "bad opcode or operands" msgstr "código de operación u operandos erróneos" -#: config/tc-d10v.c:1501 config/tc-m68k.c:4679 +#: config/tc-d10v.c:1296 config/tc-m68k.c:4625 msgid "value out of range" msgstr "valor fuera de rango" -#: config/tc-d10v.c:1577 +#: config/tc-d10v.c:1370 msgid "illegal operand - register name found where none expected" msgstr "operando ilegal - se encontró un nombre de registro donde no se esperaba ninguno" -#: config/tc-d10v.c:1612 +#: config/tc-d10v.c:1405 msgid "Register number must be EVEN" msgstr "El número de registro debe ser PAR" -#: config/tc-d10v.c:1615 +#: config/tc-d10v.c:1408 msgid "Unsupported use of sp" msgstr "Uso sin soporte de sp" -#: config/tc-d10v.c:1634 +#: config/tc-d10v.c:1427 #, c-format msgid "cr%ld is a reserved control register" msgstr "cr%ld es un registro de control reservado" -#: config/tc-d10v.c:1771 +#: config/tc-d10v.c:1466 config/tc-d30v.c:1430 +#, c-format +msgid "unknown opcode: %s" +msgstr "código de operación desconocido: %s" + +#: config/tc-d10v.c:1602 #, c-format msgid "line %d: rep or repi must include at least 4 instructions" msgstr "línea %d: rep o repi debe incluir por lo menos 4 instrucciones" -#: config/tc-d30v.c:193 +#: config/tc-d10v.c:1810 config/tc-d10v.c:1832 config/tc-d30v.c:1777 +msgid "Unable to mix instructions as specified" +msgstr "No se pueden mezclar las instrucciones como se especificó" + +#: config/tc-d30v.c:150 #, c-format msgid "Register name %s conflicts with symbol of the same name" msgstr "El nombre de registro %s tiene conflictos con el símbolo del mismo nombre" -#: config/tc-d30v.c:288 +#: config/tc-d30v.c:240 #, c-format msgid "" "\n" @@ -3757,195 +3570,215 @@ msgstr "" "-c Avisar sobre los símbolos cuyos nombres coincidan con nombres de registros.\n" "-C Opuesto de -C. -c es por defecto.\n" -#: config/tc-d30v.c:462 +#: config/tc-d30v.c:402 msgid "unexpected 12-bit reloc type" msgstr "tipo de reubicación de 12-bit inesperado" -#: config/tc-d30v.c:469 +#: config/tc-d30v.c:409 msgid "unexpected 18-bit reloc type" msgstr "tipo de reubicación de 18-bit inesperado" -#: config/tc-d30v.c:720 +#: config/tc-d30v.c:659 #, c-format msgid "%s NOP inserted" msgstr "%s NOP insertados" -#: config/tc-d30v.c:721 +#: config/tc-d30v.c:660 msgid "sequential" msgstr "secuencial" -#: config/tc-d30v.c:721 +#: config/tc-d30v.c:660 msgid "parallel" msgstr "paralelo" -#: config/tc-d30v.c:873 +#: config/tc-d30v.c:1067 msgid "Instructions may not be executed in parallel" msgstr "Las instrucciones no se pueden ejecutar en paralelo" -#: config/tc-d30v.c:886 +#: config/tc-d30v.c:1080 #, c-format msgid "Executing %s in IU may not work" msgstr "Ejecutar %s en IU podría no funcionar" -#: config/tc-d30v.c:893 +#: config/tc-d30v.c:1087 #, c-format msgid "Executing %s in IU may not work in parallel execution" msgstr "Ejecutar %s en IU podría no funcionar en ejecución paralela" -#: config/tc-d30v.c:906 +#: config/tc-d30v.c:1100 #, c-format msgid "special left instruction `%s' kills instruction `%s' in right container" msgstr "la instrucción especial izquierda `%s' mata a la instrucción `%s' en el contenedor derecho" -#: config/tc-d30v.c:917 +#: config/tc-d30v.c:1111 #, c-format msgid "Executing %s in reverse serial with %s may not work" msgstr "Ejecutar %s en serie reversa con %s podría no funcionar" -#: config/tc-d30v.c:920 +#: config/tc-d30v.c:1114 #, c-format msgid "Executing %s in IU in reverse serial may not work" msgstr "Ejecutar %s en IU en serie reversa podría no funcionar" -#: config/tc-d30v.c:1287 config/tc-d30v.c:1304 +#: config/tc-d30v.c:1303 +msgid "Odd numbered register used as target of multi-register instruction" +msgstr "Los registros numerados nones se usan como objetivo para una instrucción multi-registro" + +#: config/tc-d30v.c:1367 config/tc-d30v.c:1402 +#, c-format +msgid "unknown condition code: %s" +msgstr "código de condición desconocido: %s" + +#: config/tc-d30v.c:1395 +#, c-format +msgid "cmpu doesn't support condition code %s" +msgstr "cmpu no tiene soporte para el código de condición %s" + +#: config/tc-d30v.c:1441 +#, c-format +msgid "operands for opcode `%s' do not match any valid format" +msgstr "los operandos para el código de operación `%s' no coincide con ningún formato válido" + +#: config/tc-d30v.c:1656 config/tc-d30v.c:1673 msgid "Cannot assemble instruction" msgstr "No se puede ensamblar la instrucción" -#: config/tc-d30v.c:1289 +#: config/tc-d30v.c:1658 msgid "First opcode is long. Unable to mix instructions as specified." msgstr "El primer código de operación es long. No se pueden mezclar las instrucciones como se especificó." -#: config/tc-d30v.c:1358 +#: config/tc-d30v.c:1727 msgid "word of NOPs added between word multiply and load" msgstr "word de NOPs agregados entre múltiplos de word y load" -#: config/tc-d30v.c:1360 +#: config/tc-d30v.c:1729 msgid "word of NOPs added between word multiply and 16-bit multiply" msgstr "word de NOPs agregados entre múltiplos de word y múltiplos de 16-bit" -#: config/tc-d30v.c:1392 +#: config/tc-d30v.c:1761 msgid "Instruction uses long version, so it cannot be mixed as specified" msgstr "La instrucción usa una versión long, así que no se puede mezclar como se especificó" -#: config/tc-d30v.c:1475 config/tc-d30v.c:1510 -#, c-format -msgid "unknown condition code: %s" -msgstr "código de condición desconocido: %s" - -#: config/tc-d30v.c:1503 -#, c-format -msgid "cmpu doesn't support condition code %s" -msgstr "cmpu no tiene soporte para el código de condición %s" - -#: config/tc-d30v.c:1549 +#: config/tc-d30v.c:1888 #, c-format -msgid "operands for opcode `%s' do not match any valid format" -msgstr "los operandos para el código de operación `%s' no coincide con ningún formato válido" - -#: config/tc-d30v.c:1764 -msgid "Odd numbered register used as target of multi-register instruction" -msgstr "Los registros numerados nones se usan como objetivo para una instrucción multi-registro" +msgid "value too large to fit in %d bits" +msgstr "valor demasiado grande para caber en %d bits" -#: config/tc-d30v.c:1847 +#: config/tc-d30v.c:1949 #, c-format msgid "line %d: unable to place address of symbol '%s' into a byte" msgstr "línea %d: no se puede colocar la dirección del símbolo '%s' en un byte" -#: config/tc-d30v.c:1850 +#: config/tc-d30v.c:1952 #, c-format msgid "line %d: unable to place value %lx into a byte" msgstr "línea %d: no se puede colocar el valor %lx en un byte" -#: config/tc-d30v.c:1858 +#: config/tc-d30v.c:1960 #, c-format msgid "line %d: unable to place address of symbol '%s' into a short" msgstr "línea %d: no se puede colocar la dirección del símbolo '%s' en un short" -#: config/tc-d30v.c:1861 +#: config/tc-d30v.c:1963 #, c-format msgid "line %d: unable to place value %lx into a short" msgstr "línea %d: no se puede colocar el valor %lx en un short" -#: config/tc-d30v.c:1869 +#: config/tc-d30v.c:1971 #, c-format msgid "line %d: unable to place address of symbol '%s' into a quad" msgstr "línea %d: no se puede colocar la dirección del símbolo '%s' en un quad" -#: config/tc-d30v.c:2038 -#, c-format -msgid "value too large to fit in %d bits" -msgstr "valor demasiado grande para caber en %d bits" - -#: config/tc-d30v.c:2179 +#: config/tc-d30v.c:2079 #, c-format msgid "Alignment too large: %d assumed" msgstr "Alineación demasiado grande: se asume %d" -#: config/tc-dlx.c:245 +#: config/tc-dlx.c:211 msgid "missing .proc" msgstr "falta un .proc" -#: config/tc-dlx.c:262 +#: config/tc-dlx.c:228 msgid ".endfunc missing for previous .proc" msgstr "falta un .endfunc para el .proc previo" -#: config/tc-dlx.c:472 -#, c-format -msgid "Expression Error for operand modifier %%hi/%%lo\n" -msgstr "Error de Expresión para el modificador de operando %%hi/%%lo\n" +#. Probably a memory allocation problem? Give up now. +#: config/tc-dlx.c:297 config/tc-hppa.c:1489 config/tc-mips.c:1415 +#: config/tc-mips.c:1467 config/tc-or32.c:210 config/tc-sparc.c:855 +msgid "Broken assembler. No assembly attempted." +msgstr "Ensamblador descompuesto. No se intentó ensamblar." -#: config/tc-dlx.c:526 +#: config/tc-dlx.c:327 #, c-format msgid "Bad operand for a load instruction: <%s>" msgstr "Operando erróneo para una instrucción load <%s>" -#: config/tc-dlx.c:641 +#: config/tc-dlx.c:441 #, c-format msgid "Bad operand for a store instruction: <%s>" msgstr "Operando erróneo para una instrucción store <%s>" -#: config/tc-dlx.c:839 +#: config/tc-dlx.c:621 +#, c-format +msgid "Expression Error for operand modifier %%hi/%%lo\n" +msgstr "Error de Expresión para el modificador de operando %%hi/%%lo\n" + +#: config/tc-dlx.c:634 config/tc-or32.c:873 +#, c-format +msgid "Invalid expression after %%%%\n" +msgstr "Expresión inválida después de %%%%\n" + +#: config/tc-dlx.c:703 +#, c-format +msgid "Unknown opcode `%s'." +msgstr "Código de operación desconocido `%s'." + +#: config/tc-dlx.c:716 msgid "Can not set dlx_skip_hi16_flag" msgstr "No se puede establecer dlx_skip_hi16_flag" -#: config/tc-dlx.c:853 +#: config/tc-dlx.c:730 #, c-format msgid "Missing arguments for opcode <%s>." msgstr "Faltan argumentos para el código de operación <%s>" -#: config/tc-dlx.c:924 +#: config/tc-dlx.c:764 +#, c-format +msgid "Too many operands: %s" +msgstr "Demasiados operandos: %s" + +#: config/tc-dlx.c:801 #, c-format msgid "Both the_insn.HI and the_insn.LO are set : %s" msgstr "Tanto the_insn.HI como the_insn.LO están activados: %s" -#: config/tc-dlx.c:994 +#: config/tc-dlx.c:871 msgid "failed regnum sanity check." msgstr "falló la prueba de sanidad regnum." -#: config/tc-dlx.c:1007 +#: config/tc-dlx.c:884 msgid "failed general register sanity check." msgstr "falló la prueba de sanidad de registro general." -#: config/tc-dlx.c:1292 +#: config/tc-dlx.c:1175 config/tc-or32.c:835 +#, c-format +msgid "label \"$%d\" redefined" +msgstr "se redefinió la etiqueta \"$%d\"" + +#: config/tc-dlx.c:1213 msgid "Invalid expression after # number\n" msgstr "Expresión inválida después de # number\n" -#: config/tc-fr30.c:85 +#: config/tc-fr30.c:83 #, c-format msgid " FR30 specific command line options:\n" msgstr " Opciones de línea de comando específicas de FR30:\n" -#: config/tc-fr30.c:139 +#: config/tc-fr30.c:136 #, c-format msgid "Instruction %s not allowed in a delay slot." msgstr "No se permite la instrucción %s en una ranura de retardo." -#: config/tc-fr30.c:378 config/tc-frv.c:1600 config/tc-i960.c:798 -#: config/tc-ip2k.c:350 config/tc-m32r.c:2205 config/tc-openrisc.c:401 -#: config/tc-xstormy16.c:654 -msgid "Bad call to md_atof()" -msgstr "Llamada errónea a md_atof()" - #: config/tc-frv.c:461 #, c-format msgid "FRV specific command line options:\n" @@ -4078,1011 +3911,972 @@ msgstr "Violaci msgid "Relocation %s is not safe for %s" msgstr "La reubicación %s no es segura para %s" -#: config/tc-h8300.c:82 config/tc-h8300.c:93 config/tc-h8300.c:105 -#: config/tc-h8300.c:117 config/tc-h8300.c:129 config/tc-h8300.c:142 -#: config/tc-h8300.c:213 config/tc-hppa.c:1440 config/tc-hppa.c:6925 -#: config/tc-hppa.c:6931 config/tc-hppa.c:6937 config/tc-hppa.c:6943 -#: config/tc-mn10300.c:1223 config/tc-mn10300.c:1228 config/tc-mn10300.c:2726 +#: config/tc-h8300.c:78 config/tc-h8300.c:87 config/tc-h8300.c:97 +#: config/tc-h8300.c:107 config/tc-h8300.c:117 config/tc-h8300.c:128 +#: config/tc-h8300.c:195 config/tc-hppa.c:1449 config/tc-hppa.c:6926 +#: config/tc-hppa.c:6932 config/tc-hppa.c:6938 config/tc-hppa.c:6944 +#: config/tc-mn10300.c:1223 config/tc-mn10300.c:1228 config/tc-mn10300.c:2725 msgid "could not set architecture and machine" msgstr "no se pueden establecer la arquitectura y la máquina" -#: config/tc-h8300.c:416 config/tc-h8300.c:424 +#: config/tc-h8300.c:397 config/tc-h8300.c:405 msgid "Reg not valid for H8/300" msgstr "El registro no es válido para H8/300" -#: config/tc-h8300.c:505 +#: config/tc-h8300.c:486 msgid "invalid operand size requested" msgstr "se solicitó un tamaño de operando inválido" -#: config/tc-h8300.c:604 +#: config/tc-h8300.c:585 msgid "Invalid register list for ldm/stm\n" msgstr "Lista de registros inválida para ldm/stm\n" -#: config/tc-h8300.c:630 config/tc-h8300.c:635 config/tc-h8300.c:642 +#: config/tc-h8300.c:611 config/tc-h8300.c:616 config/tc-h8300.c:623 msgid "mismatch between register and suffix" msgstr "no hay coincidencia entre el registro y el sufijo" -#: config/tc-h8300.c:669 +#: config/tc-h8300.c:650 msgid "address too high for vector table jmp/jsr" msgstr "dirección demasiado alta para la tabla de vectores jmp/jsr" -#: config/tc-h8300.c:696 config/tc-h8300.c:808 config/tc-h8300.c:818 +#: config/tc-h8300.c:677 config/tc-h8300.c:789 config/tc-h8300.c:799 msgid "Wrong size pointer register for architecture." msgstr "Tamaño de puntero a registro erróneo para la arquitectura." -#: config/tc-h8300.c:755 config/tc-h8300.c:763 config/tc-h8300.c:792 +#: config/tc-h8300.c:736 config/tc-h8300.c:744 config/tc-h8300.c:773 msgid "expected @(exp, reg16)" msgstr "se esperaba @(exp, reg16)" -#: config/tc-h8300.c:781 +#: config/tc-h8300.c:762 msgid "expected .L, .W or .B for register in indexed addressing mode" msgstr "se esperaba .L, .W ó .B para el registro en modo de direccionamiento indizado" -#: config/tc-h8300.c:975 +#: config/tc-h8300.c:956 msgid "expected valid addressing mode for mova: \"@(disp, ea.sz),ERn\"" msgstr "se pesperaba un modo de direccionamiento válido para mova: \"@(disp, ea.sz),ERn\"" -#: config/tc-h8300.c:993 config/tc-h8300.c:1002 +#: config/tc-h8300.c:974 config/tc-h8300.c:983 msgid "expected register" msgstr "se esperaba un registro" -#: config/tc-h8300.c:1018 +#: config/tc-h8300.c:999 msgid "expected closing paren" msgstr "se esperaba un paréntesis que cierra" -#: config/tc-h8300.c:1077 +#: config/tc-h8300.c:1058 #, c-format msgid "can't use high part of register in operand %d" msgstr "no se puede usar la parte alta del registro en el operando %d" -#: config/tc-h8300.c:1234 +#: config/tc-h8300.c:1215 #, c-format msgid "Opcode `%s' with these operand types not available in %s mode" msgstr "El código de operación `%s' con esos tipos de operando no está disponible en el modo %s" -#: config/tc-h8300.c:1243 +#: config/tc-h8300.c:1224 msgid "mismatch between opcode size and operand size" msgstr "no hay coincidencia entre el tamaño del código de operación y el tamaño del operando" -#: config/tc-h8300.c:1279 +#: config/tc-h8300.c:1260 #, c-format msgid "operand %s0x%lx out of range." msgstr "operando %s0x%lx fuera de rango." -#: config/tc-h8300.c:1375 +#: config/tc-h8300.c:1356 msgid "Can't work out size of operand.\n" msgstr "No se puede obtener el tamaño del operando.\n" -#: config/tc-h8300.c:1424 +#: config/tc-h8300.c:1405 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300 mode" msgstr "El código de operación `%s' con esos tipos de operandos no están disponibles en el modo H8/300" -#: config/tc-h8300.c:1429 +#: config/tc-h8300.c:1410 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300H mode" msgstr "El código de operación `%s' con esos tipos de operandos no está disponible en el modo H8/300H" -#: config/tc-h8300.c:1435 +#: config/tc-h8300.c:1416 #, c-format msgid "Opcode `%s' with these operand types not available in H8/300S mode" msgstr "El código de operación `%s' con esos tipos de operandos no está disponible en el modo H8/300S" -#: config/tc-h8300.c:1496 config/tc-h8300.c:1516 +#: config/tc-h8300.c:1477 config/tc-h8300.c:1497 msgid "Need #1 or #2 here" msgstr "Se necesita #1 ó #2 aquí" -#: config/tc-h8300.c:1511 +#: config/tc-h8300.c:1492 msgid "#4 not valid on H8/300." msgstr "#4 no es válido en H8/300" -#: config/tc-h8300.c:1617 config/tc-h8300.c:1699 +#: config/tc-h8300.c:1598 config/tc-h8300.c:1680 #, c-format msgid "branch operand has odd offset (%lx)\n" msgstr "el operando de ramificación tiene un desplazamiento non (%lx)\n" -#: config/tc-h8300.c:1737 +#: config/tc-h8300.c:1718 msgid "destination operand must be 16 bit register" msgstr "el operando de destino debe ser un registro de 16 bit" -#: config/tc-h8300.c:1746 +#: config/tc-h8300.c:1727 msgid "source operand must be 8 bit register" msgstr "el operando de origen debe ser un registro de 8 bit" -#: config/tc-h8300.c:1754 +#: config/tc-h8300.c:1735 msgid "destination operand must be 16bit absolute address" msgstr "el operando de destino debe ser una dirección absoluta de 16bit" -#: config/tc-h8300.c:1761 +#: config/tc-h8300.c:1742 msgid "destination operand must be 8 bit register" msgstr "el operando de destino debe ser un registro de 8 bit" -#: config/tc-h8300.c:1769 +#: config/tc-h8300.c:1750 msgid "source operand must be 16bit absolute address" msgstr "el operando de origen debe ser una dirección absoluta de 16bit" #. This seems more sane than saying "too many operands". We'll #. get here only if the trailing trash starts with a comma. #. Types or values of args don't match. -#: config/tc-h8300.c:1777 config/tc-mmix.c:486 config/tc-mmix.c:498 -#: config/tc-mmix.c:2564 config/tc-mmix.c:2588 config/tc-mmix.c:2865 -#: config/tc-or32.c:636 config/tc-or32.c:846 +#: config/tc-h8300.c:1758 config/tc-mmix.c:473 config/tc-mmix.c:485 +#: config/tc-mmix.c:2526 config/tc-mmix.c:2550 config/tc-mmix.c:2823 +#: config/tc-or32.c:527 msgid "invalid operands" msgstr "operandos inválidos" -#: config/tc-h8300.c:1808 +#: config/tc-h8300.c:1789 msgid "operand/size mis-match" msgstr "no coinciden los operandos/tamaños" -#: config/tc-h8300.c:1904 config/tc-h8500.c:1112 config/tc-mips.c:9141 -#: config/tc-sh64.c:2795 config/tc-sh.c:2806 config/tc-w65.c:688 -#: config/tc-z8k.c:1210 +#: config/tc-h8300.c:1885 config/tc-mips.c:9358 config/tc-sh64.c:2795 +#: config/tc-sh.c:2838 config/tc-z8k.c:1204 msgid "unknown opcode" msgstr "código de operación desconocido" -#: config/tc-h8300.c:1937 +#: config/tc-h8300.c:1918 msgid "invalid operand in ldm" msgstr "operando inválido en ldm" -#: config/tc-h8300.c:1946 +#: config/tc-h8300.c:1927 msgid "invalid operand in stm" msgstr "operando inválido en stm" -#: config/tc-h8300.c:2029 config/tc-h8500.c:1139 config/tc-sh.c:2931 -#: config/tc-z8k.c:1266 -#, c-format -msgid "call to tc_crawl_symbol_chain \n" -msgstr "llamada a tc_crawl_symbol_chain \n" - -#: config/tc-h8300.c:2043 config/tc-h8500.c:1153 config/tc-sh.c:2937 -#: config/tc-z8k.c:1280 -#, c-format -msgid "call to tc_headers_hook \n" -msgstr "llamada a tc_headers_hook \n" - -#: config/tc-h8300.c:2130 +#: config/tc-h8300.c:2093 #, c-format msgid "call to tc_aout_fix_to_chars \n" msgstr "llamada a tc_aout_fix_to_chars \n" -#: config/tc-h8300.c:2144 +#: config/tc-h8300.c:2102 #, c-format msgid "call to md_convert_frag \n" msgstr "llamada a md_convert_frag \n" -#: config/tc-h8300.c:2198 +#: config/tc-h8300.c:2146 #, c-format msgid "call tomd_estimate_size_before_relax \n" msgstr "llamada a tomd_estimate_size_before_relax \n" -#: config/tc-h8300.c:2309 config/tc-mcore.c:2356 config/tc-pj.c:580 -#: config/tc-sh.c:4455 +#: config/tc-h8300.c:2197 config/tc-mcore.c:2282 config/tc-pj.c:538 +#: config/tc-sh.c:4270 #, c-format msgid "Cannot represent relocation type %s" msgstr "No se puede representar el tipo de reubicación %s" -#: config/tc-h8500.c:325 -msgid ":24 not valid for this opcode" -msgstr ":24 no es válido para este código de operación" - -#: config/tc-h8500.c:332 -msgid "expect :8,:16 or :24" -msgstr "se esperaba :8,:16 ó :24" - -#: config/tc-h8500.c:391 -msgid "syntax error in reg list" -msgstr "error sintáctico en la lista de registros" - -#: config/tc-h8500.c:409 -msgid "missing final register in range" -msgstr "falta el registro final en el rango" - -#: config/tc-h8500.c:498 config/tc-h8500.c:505 config/tc-h8500.c:511 -msgid "expected @(exp, Rn)" -msgstr "se esperaba @(exp, Rn)" - -#: config/tc-h8500.c:527 -msgid "@Rn+ needs word register" -msgstr "@Rn+ necesita un registro word" - -#: config/tc-h8500.c:537 -msgid "@Rn needs word register" -msgstr "@Rn necesita un registro word" - -#: config/tc-h8500.c:838 config/tc-sh.c:2083 -#, c-format -msgid "unhandled %d\n" -msgstr "%d sin manejar\n" - -#: config/tc-h8500.c:868 -#, c-format -msgid "operand must be absolute in range %d..%d" -msgstr "el operando debe ser absoluto en el rango %d..%d" - -#: config/tc-h8500.c:963 config/tc-sh.c:2353 -#, c-format -msgid "failed for %d\n" -msgstr "falló para %d\n" - -#: config/tc-h8500.c:1128 config/tc-sh.c:2466 config/tc-sh.c:2862 -#: config/tc-w65.c:707 -msgid "invalid operands for opcode" -msgstr "operandos inválidos para el código de operación" - #. Simple range checking for FIELD against HIGH and LOW bounds. #. IGNORE is used to suppress the error message. -#. Variant of CHECK_FIELD for use in md_apply_fix3 and other places where +#. Variant of CHECK_FIELD for use in md_apply_fix and other places where #. the current file and line number are not valid. -#: config/tc-hppa.c:1171 config/tc-hppa.c:1185 +#: config/tc-hppa.c:1176 config/tc-hppa.c:1190 #, c-format msgid "Field out of range [%d..%d] (%d)." msgstr "Campo fuera de rango [%d..%d] (%d)." #. Simple alignment checking for FIELD against ALIGN (a power of two). #. IGNORE is used to suppress the error message. -#: config/tc-hppa.c:1199 +#: config/tc-hppa.c:1204 #, c-format msgid "Field not properly aligned [%d] (%d)." msgstr "Campo no alineado adecuadamente [%d] (%d)." -#: config/tc-hppa.c:1228 +#: config/tc-hppa.c:1233 msgid "Missing .exit\n" msgstr "Falta un .exit\n" -#: config/tc-hppa.c:1231 +#: config/tc-hppa.c:1236 msgid "Missing .procend\n" msgstr "Falta un .procend\n" -#: config/tc-hppa.c:1413 +#: config/tc-hppa.c:1422 #, c-format msgid "Invalid field selector. Assuming F%%." msgstr "Selector de campo inválido. Se asume F%%." -#: config/tc-hppa.c:1446 +#: config/tc-hppa.c:1455 msgid "-R option not supported on this target." msgstr "la opción -R no tiene soporte en este objetivo." -#: config/tc-hppa.c:1462 config/tc-sparc.c:814 config/tc-sparc.c:850 +#: config/tc-hppa.c:1471 config/tc-sparc.c:811 config/tc-sparc.c:847 #, c-format msgid "Internal error: can't hash `%s': %s\n" msgstr "Error interno: no se puede dispersar `%s': %s\n" -#: config/tc-hppa.c:1470 config/tc-i860.c:238 +#: config/tc-hppa.c:1479 config/tc-i860.c:238 #, c-format msgid "internal error: losing opcode: `%s' \"%s\"\n" msgstr "error interno: se pierde el código de operación: `%s' \"%s\"\n" -#: config/tc-hppa.c:1541 config/tc-hppa.c:7064 config/tc-hppa.c:7121 +#: config/tc-hppa.c:1550 config/tc-hppa.c:7065 config/tc-hppa.c:7122 msgid "Missing function name for .PROC (corrupted label chain)" msgstr "Falta el nombre de función para .PROC (cadena de etiquetas corrupta)" -#: config/tc-hppa.c:1544 config/tc-hppa.c:7124 +#: config/tc-hppa.c:1553 config/tc-hppa.c:7125 msgid "Missing function name for .PROC" msgstr "Falta el nombre de función para .PROC" -#: config/tc-hppa.c:1651 config/tc-hppa.c:4920 -msgid "could not update architecture and machine" -msgstr "no se puede actualizar la arquitectura y la máquina" - -#: config/tc-hppa.c:1859 +#: config/tc-hppa.c:1857 msgid "Invalid Indexed Load Completer." msgstr "Completador de Carga Indizado Inválido." -#: config/tc-hppa.c:1864 +#: config/tc-hppa.c:1862 msgid "Invalid Indexed Load Completer Syntax." msgstr "Sintaxis de Completador de Carga Indizado Inválido." -#: config/tc-hppa.c:1901 +#: config/tc-hppa.c:1896 msgid "Invalid Short Load/Store Completer." msgstr "Completador Short de Load/Store Inválido." -#: config/tc-hppa.c:1961 config/tc-hppa.c:1966 +#: config/tc-hppa.c:1956 config/tc-hppa.c:1961 msgid "Invalid Store Bytes Short Completer" msgstr "Completador de Store Bytes Short Inválido." -#: config/tc-hppa.c:2277 config/tc-hppa.c:2283 +#: config/tc-hppa.c:2272 config/tc-hppa.c:2278 msgid "Invalid left/right combination completer" msgstr "Completador de combinación derecha/izquierda inválido" -#: config/tc-hppa.c:2332 config/tc-hppa.c:2339 +#: config/tc-hppa.c:2327 config/tc-hppa.c:2334 msgid "Invalid permutation completer" msgstr "Completador de permutación inválido" -#: config/tc-hppa.c:2439 +#: config/tc-hppa.c:2434 #, c-format msgid "Invalid Add Condition: %s" msgstr "Condición de Adición Inválida: %s" -#: config/tc-hppa.c:2450 config/tc-hppa.c:2460 +#: config/tc-hppa.c:2445 config/tc-hppa.c:2455 msgid "Invalid Add and Branch Condition" msgstr "Condición de Adición y Ramificación Inválida" -#: config/tc-hppa.c:2481 config/tc-hppa.c:2618 +#: config/tc-hppa.c:2476 config/tc-hppa.c:2613 msgid "Invalid Compare/Subtract Condition" msgstr "Condición de Comparación/Sustracción Inválida" -#: config/tc-hppa.c:2521 +#: config/tc-hppa.c:2516 #, c-format msgid "Invalid Bit Branch Condition: %c" msgstr "Condición de Ramificación de Bit Inválida: %c" -#: config/tc-hppa.c:2606 +#: config/tc-hppa.c:2601 #, c-format msgid "Invalid Compare/Subtract Condition: %s" msgstr "Condición de Comparación/Sustracción Inválida: %s" -#: config/tc-hppa.c:2633 +#: config/tc-hppa.c:2628 msgid "Invalid Compare and Branch Condition" msgstr "Condición de Comparación y Ramificación Inválida" -#: config/tc-hppa.c:2729 +#: config/tc-hppa.c:2724 msgid "Invalid Logical Instruction Condition." msgstr "Condición de Instrucción Lógica Inválida." -#: config/tc-hppa.c:2784 +#: config/tc-hppa.c:2779 msgid "Invalid Shift/Extract/Deposit Condition." msgstr "Condición Desplazar/Extraer/Depositar Inválida." -#: config/tc-hppa.c:2896 +#: config/tc-hppa.c:2891 msgid "Invalid Unit Instruction Condition." msgstr "Condición de Instrucción Unit Inválida." -#: config/tc-hppa.c:3273 config/tc-hppa.c:3305 config/tc-hppa.c:3336 -#: config/tc-hppa.c:3366 +#: config/tc-hppa.c:3270 config/tc-hppa.c:3302 config/tc-hppa.c:3333 +#: config/tc-hppa.c:3363 msgid "Branch to unaligned address" msgstr "Ramificación a dirección sin alinear" -#: config/tc-hppa.c:3544 +#: config/tc-hppa.c:3541 msgid "Invalid SFU identifier" msgstr "Identificador SFU inválido" -#: config/tc-hppa.c:3594 +#: config/tc-hppa.c:3591 msgid "Invalid COPR identifier" msgstr "Identificador COPR inválido" -#: config/tc-hppa.c:3723 +#: config/tc-hppa.c:3720 msgid "Invalid Floating Point Operand Format." msgstr "Formato de Operando de Coma Flotante Inválido." -#: config/tc-hppa.c:3840 config/tc-hppa.c:3860 config/tc-hppa.c:3880 -#: config/tc-hppa.c:3900 config/tc-hppa.c:3920 +#: config/tc-hppa.c:3837 config/tc-hppa.c:3857 config/tc-hppa.c:3877 +#: config/tc-hppa.c:3897 config/tc-hppa.c:3917 msgid "Invalid register for single precision fmpyadd or fmpysub" msgstr "Registro inválido para fmpyadd ó fmpysub de precisión simple" -#: config/tc-hppa.c:3977 +#: config/tc-hppa.c:3968 config/tc-hppa.c:4928 +msgid "could not update architecture and machine" +msgstr "no se puede actualizar la arquitectura y la máquina" + +#: config/tc-hppa.c:3985 #, c-format msgid "Invalid operands %s" msgstr "Operandos inválidos %s" -#: config/tc-hppa.c:4095 +#: config/tc-hppa.c:4103 msgid "Cannot handle fixup" msgstr "No se puede manejar la compostura" -#: config/tc-hppa.c:4396 +#: config/tc-hppa.c:4404 #, c-format msgid " -Q ignored\n" msgstr " -Q ignorado\n" -#: config/tc-hppa.c:4400 +#: config/tc-hppa.c:4408 #, c-format msgid " -c print a warning if a comment is found\n" msgstr " -c mostrar un aviso si se encuentra un comentario\n" -#: config/tc-hppa.c:4471 +#: config/tc-hppa.c:4479 #, c-format msgid "no hppa_fixup entry for fixup type 0x%x" msgstr "no hay una entrada hppa_fixup para el tipo de compostura 0x%x" -#: config/tc-hppa.c:4642 +#: config/tc-hppa.c:4650 msgid "Unknown relocation encountered in md_apply_fix." msgstr "Se encontró una reubicación desconocida en md_apply_fix." -#: config/tc-hppa.c:4784 config/tc-hppa.c:4809 +#: config/tc-hppa.c:4792 config/tc-hppa.c:4817 #, c-format msgid "Undefined register: '%s'." msgstr "Registro indefinido: '%s'." -#: config/tc-hppa.c:4843 +#: config/tc-hppa.c:4851 #, c-format msgid "Non-absolute symbol: '%s'." msgstr "Símbolo no absoluto: '%s'." -#: config/tc-hppa.c:4858 +#: config/tc-hppa.c:4866 #, c-format msgid "Undefined absolute constant: '%s'." msgstr "Constante absoluta indefinida: '%s'." -#: config/tc-hppa.c:4959 +#: config/tc-hppa.c:4967 #, c-format msgid "Invalid FP Compare Condition: %s" msgstr "Condición de Comparación de FP Inválida: %s" -#: config/tc-hppa.c:5015 +#: config/tc-hppa.c:5023 #, c-format msgid "Invalid FTEST completer: %s" msgstr "Completador FTEST inválido: %s" -#: config/tc-hppa.c:5082 config/tc-hppa.c:5120 +#: config/tc-hppa.c:5090 config/tc-hppa.c:5128 #, c-format msgid "Invalid FP Operand Format: %3s" msgstr "Formato de Operando FP Inválido: %3s" -#: config/tc-hppa.c:5199 +#: config/tc-hppa.c:5207 msgid "Bad segment in expression." msgstr "Segmento erróneo en la expresión." -#: config/tc-hppa.c:5258 +#: config/tc-hppa.c:5266 msgid "Bad segment (should be absolute)." msgstr "Segmento erróneo (debe ser absoluto)." -#: config/tc-hppa.c:5301 +#: config/tc-hppa.c:5309 #, c-format msgid "Invalid argument location: %s\n" msgstr "Ubicación de argumento inválida: %s\n" -#: config/tc-hppa.c:5332 +#: config/tc-hppa.c:5340 #, c-format msgid "Invalid argument description: %d" msgstr "Descripción de argumento inválida: %d" -#: config/tc-hppa.c:5355 +#: config/tc-hppa.c:5363 #, c-format msgid "Invalid Nullification: (%c)" msgstr "Nulificación Inválida: (%c)" -#: config/tc-hppa.c:6075 +#: config/tc-hppa.c:5960 +msgid "Argument to .BLOCK/.BLOCKZ must be between 0 and 0x3fffffff" +msgstr "El argumento para .BLOCK/.BLOCKZ debe estar entre 0 y 0x3fffffff" + +#: config/tc-hppa.c:6076 #, c-format msgid "Invalid .CALL argument: %s" msgstr "Argumento de .CALL inválido: %s" -#: config/tc-hppa.c:6197 +#: config/tc-hppa.c:6198 msgid ".callinfo is not within a procedure definition" msgstr ".callinfo no está dentro de una definición de procedimiento" -#: config/tc-hppa.c:6217 +#: config/tc-hppa.c:6218 #, c-format msgid "FRAME parameter must be a multiple of 8: %d\n" msgstr "El parámetro FRAM debe ser un múltiplo de 8: %d\n" -#: config/tc-hppa.c:6236 +#: config/tc-hppa.c:6237 msgid "Value for ENTRY_GR must be in the range 3..18\n" msgstr "El valor para ENTRY_GR debe estar en el rango 3..18\n" -#: config/tc-hppa.c:6248 +#: config/tc-hppa.c:6249 msgid "Value for ENTRY_FR must be in the range 12..21\n" msgstr "El valor para ENTRY_FR debe estar en el rango 12..21\n" -#: config/tc-hppa.c:6258 +#: config/tc-hppa.c:6259 msgid "Value for ENTRY_SR must be 3\n" msgstr "El valor para ENTRY_SR debe ser 3\n" -#: config/tc-hppa.c:6314 +#: config/tc-hppa.c:6315 #, c-format msgid "Invalid .CALLINFO argument: %s" msgstr "Argumento de .CALLINFO inválido: %s" -#: config/tc-hppa.c:6426 +#: config/tc-hppa.c:6427 msgid "The .ENTER pseudo-op is not supported" msgstr "El pseudo-operador .ENTER no tiene soporte" -#: config/tc-hppa.c:6442 +#: config/tc-hppa.c:6443 msgid "Misplaced .entry. Ignored." msgstr ".entry mal colocado. Ignorado." -#: config/tc-hppa.c:6446 +#: config/tc-hppa.c:6447 msgid "Missing .callinfo." msgstr "Falta un .callinfo." -#: config/tc-hppa.c:6512 +#: config/tc-hppa.c:6513 msgid ".REG expression must be a register" msgstr "la expresión .REG debe ser un registro" -#: config/tc-hppa.c:6528 +#: config/tc-hppa.c:6529 msgid "bad or irreducible absolute expression; zero assumed" msgstr "expresión absoluta errónea o irreducible; se asume cero" -#: config/tc-hppa.c:6539 +#: config/tc-hppa.c:6540 msgid ".REG must use a label" msgstr ".REG debe usar una etiqueta" -#: config/tc-hppa.c:6541 +#: config/tc-hppa.c:6542 msgid ".EQU must use a label" msgstr ".EQU debe usar una etiqueta" -#: config/tc-hppa.c:6594 +#: config/tc-hppa.c:6595 msgid ".EXIT must appear within a procedure" msgstr ".EXIT debe aparecer dentro de un procedimiento" -#: config/tc-hppa.c:6598 +#: config/tc-hppa.c:6599 msgid "Missing .callinfo" msgstr "Falta un .callinfo" -#: config/tc-hppa.c:6602 +#: config/tc-hppa.c:6603 msgid "No .ENTRY for this .EXIT" msgstr "No hay .ENTRY para este .EXIT" -#: config/tc-hppa.c:6629 +#: config/tc-hppa.c:6630 #, c-format msgid "Cannot define export symbol: %s\n" msgstr "No se puede definir el símbolo de exportación: %s\n" -#: config/tc-hppa.c:6687 +#: config/tc-hppa.c:6688 #, c-format msgid "Using ENTRY rather than CODE in export directive for %s" msgstr "Utilizando ENTRY en lugar de CODE en la directiva de exportación para %s" -#: config/tc-hppa.c:6804 +#: config/tc-hppa.c:6805 #, c-format msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s" msgstr "Argumento de .EXPORT/.IMPORT indefinido (ignorado): %s" -#: config/tc-hppa.c:6886 +#: config/tc-hppa.c:6887 msgid "Missing label name on .LABEL" msgstr "Falta el nombre de etiqueta en .LABEL" -#: config/tc-hppa.c:6891 +#: config/tc-hppa.c:6892 msgid "extra .LABEL arguments ignored." msgstr "se ignoran los argumentos extra de .LABEL." -#: config/tc-hppa.c:6908 +#: config/tc-hppa.c:6909 msgid "The .LEAVE pseudo-op is not supported" msgstr "El pseudo-operador .LEAVE no tiene soporte" -#: config/tc-hppa.c:6947 +#: config/tc-hppa.c:6948 msgid "Unrecognized .LEVEL argument\n" msgstr "No se reconoce el argumento de .LEVEL\n" -#: config/tc-hppa.c:6983 +#: config/tc-hppa.c:6984 #, c-format msgid "Cannot define static symbol: %s\n" msgstr "No se puede definir el símbolo estático: %s\n" -#: config/tc-hppa.c:7018 +#: config/tc-hppa.c:7019 msgid "Nested procedures" msgstr "Procedimientos anidados" -#: config/tc-hppa.c:7028 +#: config/tc-hppa.c:7029 msgid "Cannot allocate unwind descriptor\n" msgstr "No se puede asignar un descriptor de desenredo\n" -#: config/tc-hppa.c:7128 +#: config/tc-hppa.c:7129 msgid "misplaced .procend" msgstr ".procend mal colocado" -#: config/tc-hppa.c:7131 +#: config/tc-hppa.c:7132 msgid "Missing .callinfo for this procedure" msgstr "Falta un .callinfo para este procedimiento" -#: config/tc-hppa.c:7134 +#: config/tc-hppa.c:7135 msgid "Missing .EXIT for a .ENTRY" msgstr "Falta un .EXIT para un .ENTRY" -#: config/tc-hppa.c:7172 +#: config/tc-hppa.c:7173 msgid "Not in a space.\n" msgstr "No está en un espacio.\n" -#: config/tc-hppa.c:7175 +#: config/tc-hppa.c:7176 msgid "Not in a subspace.\n" msgstr "No está en un subespacio.\n" -#: config/tc-hppa.c:7266 +#: config/tc-hppa.c:7267 msgid "Invalid .SPACE argument" msgstr "Argumento de .SPACE inválido" -#: config/tc-hppa.c:7313 +#: config/tc-hppa.c:7314 msgid "Can't change spaces within a procedure definition. Ignored" msgstr "No se pueden cambiar espacios dentro de una definición de procedimiento. Ignorado" -#: config/tc-hppa.c:7442 +#: config/tc-hppa.c:7443 #, c-format msgid "Undefined space: '%s' Assuming space number = 0." msgstr "Espacio indefinido: '%s' Se asume que el número de espacio = 0." -#: config/tc-hppa.c:7466 +#: config/tc-hppa.c:7467 msgid "Must be in a space before changing or declaring subspaces.\n" msgstr "Debe estar en un espacio antes de cambiar o declarar subespacios.\n" -#: config/tc-hppa.c:7470 +#: config/tc-hppa.c:7471 msgid "Can't change subspaces within a procedure definition. Ignored" msgstr "No se pueden cambiar subespacios dentro de una definición de procedimiento. Ignorado" -#: config/tc-hppa.c:7506 +#: config/tc-hppa.c:7507 msgid "Parameters of an existing subspace can't be modified" msgstr "No se pueden modificar los parámetros de un subespacio existente" -#: config/tc-hppa.c:7558 +#: config/tc-hppa.c:7559 msgid "Alignment must be a power of 2" msgstr "La alineación debe ser una potencia de 2" -#: config/tc-hppa.c:7605 +#: config/tc-hppa.c:7606 msgid "FIRST not supported as a .SUBSPACE argument" msgstr "FIRST no tiene soporte como un argumento de .SUBSPACE" -#: config/tc-hppa.c:7607 +#: config/tc-hppa.c:7608 msgid "Invalid .SUBSPACE argument" msgstr "Argumento de .SUBSPACE inválido" -#: config/tc-hppa.c:7796 +#: config/tc-hppa.c:7797 #, c-format msgid "Internal error: Unable to find containing space for %s." msgstr "Error interno: No se puede encontrar el espacio contenedor para %s." -#: config/tc-hppa.c:7836 +#: config/tc-hppa.c:7837 #, c-format msgid "Out of memory: could not allocate new space chain entry: %s\n" msgstr "Memoria agotada: no se puede asignar una nueva entrada de cadena de espacio: %s\n" -#: config/tc-hppa.c:7925 +#: config/tc-hppa.c:7926 #, c-format msgid "Out of memory: could not allocate new subspace chain entry: %s\n" msgstr "Memoria agotada: no se puede asignar una nueva entrada de cadena de subespacio: %s\n" -#: config/tc-hppa.c:8661 +#: config/tc-hppa.c:8662 #, c-format msgid "Symbol '%s' could not be created." msgstr "No se puede crear el símbolo '%s'." -#: config/tc-hppa.c:8665 +#: config/tc-hppa.c:8666 msgid "No memory for symbol name." msgstr "No hay memoria para el nombre del símbolo." -#: config/tc-i386.c:706 +#: config/tc-i386.c:721 #, c-format msgid "%s shortened to %s" msgstr "%s reducido a %s" -#: config/tc-i386.c:762 +#: config/tc-i386.c:777 msgid "same type of prefix used twice" msgstr "se utilizó dos veces el mismo tipo de prefijo" -#: config/tc-i386.c:780 +#: config/tc-i386.c:795 msgid "64bit mode not supported on this CPU." msgstr "el modo de 64bit no tiene soporte en este CPU." -#: config/tc-i386.c:784 +#: config/tc-i386.c:799 msgid "32bit mode not supported on this CPU." msgstr "el modo de 32bit no tiene soporte en este CPU." -#: config/tc-i386.c:817 +#: config/tc-i386.c:832 msgid "bad argument to syntax directive." msgstr "argumento erróneo para la directiva de sintaxis." -#: config/tc-i386.c:869 +#: config/tc-i386.c:884 #, c-format msgid "no such architecture: `%s'" msgstr "no hay tal arquitectura: `%s'" -#: config/tc-i386.c:874 +#: config/tc-i386.c:889 msgid "missing cpu architecture" msgstr "falta la arquitectura de cpu" -#: config/tc-i386.c:888 +#: config/tc-i386.c:903 #, c-format msgid "no such architecture modifier: `%s'" msgstr "no hay tal modificador de arquitectura: `%s'" -#: config/tc-i386.c:904 config/tc-i386.c:5169 +#: config/tc-i386.c:919 config/tc-i386.c:5342 msgid "Unknown architecture" msgstr "Arquitectura desconocida" -#: config/tc-i386.c:1218 -msgid "There are no unsigned pc-relative relocations" -msgstr "No hay reubicaciones relativas a pc sin signo" +#: config/tc-i386.c:1247 +#, c-format +msgid "unknown relocation (%u)" +msgstr "reubicación desconocida (%u)" -#: config/tc-i386.c:1225 config/tc-i386.c:5379 +#: config/tc-i386.c:1249 #, c-format -msgid "can not do %d byte pc-relative relocation" -msgstr "no se puede hacer la reubicación relativa a pc de %d bytes" +msgid "%u-byte relocation cannot be applied to %u-byte field" +msgstr "la reubicación de %u-bytes no se puede aplicar al campo %u-bytes" + +#: config/tc-i386.c:1253 +msgid "non-pc-relative relocation for pc-relative field" +msgstr "reubicación no relativa al para el campo relativo al pc" + +#: config/tc-i386.c:1258 +msgid "relocated field and relocation type differ in signedness" +msgstr "el campo reubicado y el tipo de reubicación difieren en signo" + +#: config/tc-i386.c:1267 +msgid "there are no unsigned pc-relative relocations" +msgstr "no hay reubicaciones relativas a pc sin signo" -#: config/tc-i386.c:1242 +#: config/tc-i386.c:1275 #, c-format -msgid "can not do %s %d byte relocation" -msgstr "no se puede hacer la reubicación %s de %d byte" +msgid "cannot do %u byte pc-relative relocation" +msgstr "no se puede hacer la reubicación relativa a pc de %u bytes" -#: config/tc-i386.c:1438 config/tc-i386.c:2416 +#: config/tc-i386.c:1292 +#, c-format +msgid "cannot do %s %u byte relocation" +msgstr "no se puede hacer la reubicación %s de %u bytes" + +#: config/tc-i386.c:1496 config/tc-i386.c:2527 #, c-format msgid "ambiguous operand size for `%s'" msgstr "Tamaño de operando ambiguo para `%s'" -#: config/tc-i386.c:1486 +#: config/tc-i386.c:1544 #, c-format msgid "can't use register '%%%s' as operand %d in '%s'." msgstr "no se puede utilizar el registro '%%%s' como operando %d en '%s'." #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc. -#: config/tc-i386.c:1515 +#: config/tc-i386.c:1573 #, c-format msgid "translating to `%sp'" msgstr "traduciendo a `%sp'" -#: config/tc-i386.c:1560 +#: config/tc-i386.c:1618 #, c-format msgid "can't encode register '%%%s' in an instruction requiring REX prefix." msgstr "no se pueden codificar el registro '%%%s' en una instrucción que requiere el prefijo REX." -#: config/tc-i386.c:1601 config/tc-i386.c:1699 +#: config/tc-i386.c:1659 config/tc-i386.c:1767 #, c-format msgid "no such instruction: `%s'" msgstr "no hay tal instrucción: `%s'" -#: config/tc-i386.c:1611 config/tc-i386.c:1731 +#: config/tc-i386.c:1670 config/tc-i386.c:1799 #, c-format msgid "invalid character %s in mnemonic" msgstr "carácter inválido %s en el mnemónico" -#: config/tc-i386.c:1618 +#: config/tc-i386.c:1677 msgid "expecting prefix; got nothing" msgstr "se esperaba un prefijo; se obtuvo nada" -#: config/tc-i386.c:1620 +#: config/tc-i386.c:1679 msgid "expecting mnemonic; got nothing" msgstr "se esperaba un mnemónico; se obtuvo nada" -#: config/tc-i386.c:1639 +#: config/tc-i386.c:1695 config/tc-i386.c:1818 #, c-format -msgid "redundant %s prefix" -msgstr "prefijo %s redundante" +msgid "`%s' is only supported in 64-bit mode" +msgstr "`%s' sólo tiene soporte en modo de 64-bit" -#: config/tc-i386.c:1749 +#: config/tc-i386.c:1696 config/tc-i386.c:1817 #, c-format msgid "`%s' is not supported in 64-bit mode" msgstr "`%s' no tiene soporte en modo de 64-bit" -#: config/tc-i386.c:1750 +#: config/tc-i386.c:1707 #, c-format -msgid "`%s' is only supported in 64-bit mode" -msgstr "`%s' sólo tiene soporte en modo de 64-bit" +msgid "redundant %s prefix" +msgstr "prefijo %s redundante" -#: config/tc-i386.c:1756 +#: config/tc-i386.c:1824 #, c-format msgid "`%s' is not supported on `%s%s'" msgstr "`%s' no tiene soporte en `%s%s'" -#: config/tc-i386.c:1763 +#: config/tc-i386.c:1831 msgid "use .code16 to ensure correct addressing mode" msgstr "use .code16 para asegurar el modo de direccionamiento correcto" -#: config/tc-i386.c:1770 +#: config/tc-i386.c:1844 #, c-format msgid "expecting string instruction after `%s'" msgstr "se espera una instrucción de cadena después de `%s'" -#: config/tc-i386.c:1798 +#: config/tc-i386.c:1878 #, c-format msgid "invalid character %s before operand %d" msgstr "caracter inválido %s antes del operando %d" -#: config/tc-i386.c:1812 +#: config/tc-i386.c:1892 #, c-format msgid "unbalanced parenthesis in operand %d." msgstr "paréntesis sin balancear en el operando %d." -#: config/tc-i386.c:1815 +#: config/tc-i386.c:1895 #, c-format msgid "unbalanced brackets in operand %d." msgstr "llaves sin balancear en el operando %d." -#: config/tc-i386.c:1824 +#: config/tc-i386.c:1904 #, c-format msgid "invalid character %s in operand %d" msgstr "carácter inválido %s en el operando %d" -#: config/tc-i386.c:1851 +#: config/tc-i386.c:1931 #, c-format msgid "spurious operands; (%d operands/instruction max)" msgstr "operandos espurios; (%d operandos/instrucción máximo)" -#: config/tc-i386.c:1874 +#: config/tc-i386.c:1954 msgid "expecting operand after ','; got nothing" msgstr "se esperaba un operando después de ','; se obtuvo nada" -#: config/tc-i386.c:1879 +#: config/tc-i386.c:1959 msgid "expecting operand before ','; got nothing" msgstr "se esperaba un operando antes de ','; se obtuvo nada" #. We found no match. -#: config/tc-i386.c:2225 +#: config/tc-i386.c:2336 #, c-format msgid "suffix or operands invalid for `%s'" msgstr "sufijo u operandos inválidos para `%s'" -#: config/tc-i386.c:2236 +#: config/tc-i386.c:2347 #, c-format msgid "indirect %s without `*'" msgstr "%s indirecto sin `*'" #. Warn them that a data or address size prefix doesn't #. affect assembly of the next line of code. -#: config/tc-i386.c:2244 +#: config/tc-i386.c:2355 #, c-format msgid "stand-alone `%s' prefix" msgstr "prefijo `%s' por sí solo" -#: config/tc-i386.c:2273 config/tc-i386.c:2288 +#: config/tc-i386.c:2384 config/tc-i386.c:2399 #, c-format msgid "`%s' operand %d must use `%%es' segment" msgstr "`%s' operando %d debe usar el segmento `%%es'" -#: config/tc-i386.c:2398 +#: config/tc-i386.c:2509 msgid "no instruction mnemonic suffix given and no register operands; can't size instruction" msgstr "no se dio un sufijo mnemónico de instrucción y ningún operando de registro; no se puede determinar el tamaño de la instrucción" #. Prohibit these changes in the 64bit mode, since the #. lowering is more complicated. -#: config/tc-i386.c:2499 config/tc-i386.c:2558 config/tc-i386.c:2575 -#: config/tc-i386.c:2607 config/tc-i386.c:2640 +#: config/tc-i386.c:2610 config/tc-i386.c:2669 config/tc-i386.c:2686 +#: config/tc-i386.c:2718 config/tc-i386.c:2751 #, c-format msgid "Incorrect register `%%%s' used with `%c' suffix" msgstr "Se utilizó el registro incorrecto `%%%s' con el sufijo `%c'" -#: config/tc-i386.c:2507 config/tc-i386.c:2565 config/tc-i386.c:2647 +#: config/tc-i386.c:2618 config/tc-i386.c:2676 config/tc-i386.c:2758 #, c-format msgid "using `%%%s' instead of `%%%s' due to `%c' suffix" msgstr "utilizando `%%%s' en lugar de `%%%s' debido al sufijo `%c'" -#: config/tc-i386.c:2522 config/tc-i386.c:2543 config/tc-i386.c:2594 -#: config/tc-i386.c:2625 +#: config/tc-i386.c:2633 config/tc-i386.c:2654 config/tc-i386.c:2705 +#: config/tc-i386.c:2736 #, c-format msgid "`%%%s' not allowed with `%s%c'" msgstr "no se permite `%%%s' con `%s%c'" -#: config/tc-i386.c:2688 +#: config/tc-i386.c:2799 msgid "no instruction mnemonic suffix given; can't determine immediate size" msgstr "no se dio un sufijo mnemónico de instrucción; no se puede determinar el tamaño inmediato" -#: config/tc-i386.c:2721 +#: config/tc-i386.c:2832 #, c-format msgid "no instruction mnemonic suffix given; can't determine immediate size %x %c" msgstr "no se dio un sufijo mnemónico de instrucción; no se puede determinar el tamaño inmediato %x %c" #. Reversed arguments on faddp, fsubp, etc. -#: config/tc-i386.c:2770 +#: config/tc-i386.c:2881 #, c-format msgid "translating to `%s %%%s,%%%s'" msgstr "traduciendo a `%s %%%s,%%%s'" #. Extraneous `l' suffix on fp insn. -#: config/tc-i386.c:2777 +#: config/tc-i386.c:2888 #, c-format msgid "translating to `%s %%%s'" msgstr "traduciendo a `%s %%%s'" -#: config/tc-i386.c:2795 +#: config/tc-i386.c:2906 #, c-format msgid "you can't `pop %%cs'" msgstr "no se puede hacer `pop %%cs'" -#. lea -#: config/tc-i386.c:2814 -msgid "segment override on `lea' is ineffectual" -msgstr "la anulación del segmento en `lea' no tiene efecto" +#: config/tc-i386.c:2927 +#, c-format +msgid "segment override on `%s' is ineffectual" +msgstr "la anulación del segmento en `%s' no tiene efecto" -#: config/tc-i386.c:3123 config/tc-i386.c:3217 config/tc-i386.c:3262 +#: config/tc-i386.c:3236 config/tc-i386.c:3330 config/tc-i386.c:3375 msgid "skipping prefixes on this instruction" msgstr "saltando los prefijos en esta instrucción" -#: config/tc-i386.c:3282 +#: config/tc-i386.c:3395 msgid "16-bit jump out of range" msgstr "salto de 16-bit fuera de rango" -#: config/tc-i386.c:3291 +#: config/tc-i386.c:3404 #, c-format msgid "can't handle non absolute segment in `%s'" msgstr "no se puede manejar un segmento no absoluto en `%s'" -#: config/tc-i386.c:3749 +#: config/tc-i386.c:3897 #, c-format -msgid "@%s reloc is not supported in %s bit mode" -msgstr "las reubicaciones @%s no tienen soporte en modo de %s bits" +msgid "@%s reloc is not supported with %d-bit output format" +msgstr "las reubicaciones @%s no tienen soporte con el formato de salida de %d bits" -#: config/tc-i386.c:3867 +#: config/tc-i386.c:3986 msgid "only 1 or 2 immediate operands are allowed" msgstr "sólo se permiten 1 ó dos operandos inmediatos" -#: config/tc-i386.c:3890 config/tc-i386.c:4071 +#: config/tc-i386.c:4007 config/tc-i386.c:4218 #, c-format msgid "junk `%s' after expression" msgstr "basura `%s' después de la expresión" #. Missing or bad expr becomes absolute 0. -#: config/tc-i386.c:3901 +#: config/tc-i386.c:4016 #, c-format msgid "missing or invalid immediate expression `%s' taken as 0" msgstr "la expresión inmediata faltante o inválida `%s' se toma como 0" -#: config/tc-i386.c:3926 config/tc-i386.c:4129 +#: config/tc-i386.c:4041 config/tc-i386.c:4277 #, c-format msgid "unimplemented segment %s in operand" msgstr "segmento %s sin implementar en el operando" -#: config/tc-i386.c:3968 config/tc-i386.c:6264 +#: config/tc-i386.c:4088 #, c-format msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'" msgstr "se esperaba un factor de escala de 1, 2, 4, u 8: se obtuvo `%s'" -#: config/tc-i386.c:3975 +#: config/tc-i386.c:4097 #, c-format msgid "scale factor of %d without an index register" msgstr "factor de escala de %d sin un registro índice" -#: config/tc-i386.c:4090 +#: config/tc-i386.c:4236 #, c-format msgid "bad expression used with @%s" msgstr "se utilizó una expresión errónea con @%s" -#: config/tc-i386.c:4213 +#: config/tc-i386.c:4386 #, c-format msgid "`%s' is not a valid base/index expression" msgstr "`%s' no es una expresión base/índice válida" -#: config/tc-i386.c:4217 +#: config/tc-i386.c:4390 #, c-format msgid "`%s' is not a valid %s bit base/index expression" msgstr "`%s' no es una expresión de %s bit base/índice válida" -#: config/tc-i386.c:4291 +#: config/tc-i386.c:4464 #, c-format msgid "bad memory operand `%s'" msgstr "operando de memoria `%s' erróneo" -#: config/tc-i386.c:4306 +#: config/tc-i386.c:4479 #, c-format msgid "junk `%s' after register" msgstr "basura `%s' después del registro" -#: config/tc-i386.c:4315 config/tc-i386.c:4430 config/tc-i386.c:4468 +#: config/tc-i386.c:4488 config/tc-i386.c:4603 config/tc-i386.c:4641 #, c-format msgid "bad register name `%s'" msgstr "nombre de registro `%s' erróneo" -#: config/tc-i386.c:4323 +#: config/tc-i386.c:4496 msgid "immediate operand illegal with absolute jump" msgstr "operando inmediato ilegal con salto absoluto" -#: config/tc-i386.c:4345 +#: config/tc-i386.c:4518 #, c-format msgid "too many memory references for `%s'" msgstr "demasiadas referencias a memoria para `%s'" -#: config/tc-i386.c:4423 +#: config/tc-i386.c:4596 #, c-format msgid "expecting `,' or `)' after index register in `%s'" msgstr "se esperaba `,' ó `)' después del registro índice en `%s'" -#: config/tc-i386.c:4447 +#: config/tc-i386.c:4620 #, c-format msgid "expecting `)' after scale factor in `%s'" msgstr "se esperaba `)' después del factor de escala en `%s'" -#: config/tc-i386.c:4454 +#: config/tc-i386.c:4627 #, c-format msgid "expecting index register or scale factor after `,'; got '%c'" msgstr "se esperaba un registro índice o un factor de escala después de `,'; se obtuvo '%c'" -#: config/tc-i386.c:4461 +#: config/tc-i386.c:4634 #, c-format msgid "expecting `,' or `)' after base register in `%s'" msgstr "se esperaba `,' ó `)' después del registro base en `%s'" #. It's not a memory operand; argh! -#: config/tc-i386.c:4502 +#: config/tc-i386.c:4675 #, c-format msgid "invalid char %s beginning operand %d `%s'" msgstr "caracter inválido %s al inicio del operando %d `%s'" -#: config/tc-i386.c:4677 +#: config/tc-i386.c:4850 msgid "long jump required" msgstr "se requiere un salto largo" -#: config/tc-i386.c:4954 +#: config/tc-i386.c:5127 msgid "Bad call to md_atof ()" msgstr "Llamada errónea a md_atof ()" -#: config/tc-i386.c:5121 +#: config/tc-i386.c:5294 msgid "No compiled in support for x86_64" msgstr "No se compiló el soporte para x86_64" -#: config/tc-i386.c:5142 +#: config/tc-i386.c:5315 #, c-format msgid "" " -Q ignored\n" @@ -5099,7 +4893,7 @@ msgstr "" " -q omite algunos avisos\n" " -s ignorado\n" -#: config/tc-i386.c:5150 +#: config/tc-i386.c:5323 #, c-format msgid "" " -n Do not optimize code alignment\n" @@ -5108,72 +4902,120 @@ msgstr "" " -n No optimiza la alineación de código\n" " -q omite algunos avisos\n" -#: config/tc-i386.c:5250 config/tc-s390.c:1826 +#: config/tc-i386.c:5425 config/tc-s390.c:1861 msgid "GOT already in symbol table" msgstr "GOT ya está en la tabla de símbolos" -#: config/tc-i386.c:5394 +#: config/tc-i386.c:5568 +#, c-format +msgid "can not do %d byte pc-relative relocation" +msgstr "no se puede hacer la reubicación relativa a pc de %d bytes" + +#: config/tc-i386.c:5586 #, c-format msgid "can not do %d byte relocation" msgstr "no se puede hacer la reubicación de %d bytes" -#: config/tc-i386.c:5463 config/tc-s390.c:2272 +#: config/tc-i386.c:5657 config/tc-s390.c:2307 #, c-format msgid "cannot represent relocation type %s" msgstr "no se puede representar el tipo de reubicación %s" -#: config/tc-i386.c:5709 +#: config/tc-i386.c:5912 #, c-format msgid "invalid operand for '%s' ('%s' unexpected)" msgstr "operando inválido para '%s' ('%s' inesperado)" -#: config/tc-i386.c:5721 +#: config/tc-i386.c:5924 #, c-format msgid "too many memory references for '%s'" msgstr "demasiadas referencias a memoria para '%s'" -#: config/tc-i386.c:5996 +#. See the comments in intel_bracket_expr. +#: config/tc-i386.c:5935 +#, c-format +msgid "Treating `%s' as memory reference" +msgstr "Se trata `%s' como una referencia de memoria" + +#: config/tc-i386.c:6247 #, c-format msgid "Unknown operand modifier `%s'" msgstr "Modificador de operando `%s' desconocido" -#: config/tc-i386.c:6006 +#: config/tc-i386.c:6262 msgid "Conflicting operand modifiers" msgstr "Modificadores de operando en conflicto" -#: config/tc-i386.c:6236 +#: config/tc-i386.c:6311 +msgid "Invalid operand to `OFFSET'" +msgstr "Operando inválido para `OFFSET'" + +#: config/tc-i386.c:6384 +#, c-format +msgid "`[%.*s]' taken to mean just `%.*s'" +msgstr "se toma `[%.*s]' y sólo signifiqua `%.*s'" + +#: config/tc-i386.c:6474 #, c-format msgid "`%s' is not a valid segment register" msgstr "`%s' no es un registro de segmento válido" -#: config/tc-i386.c:6246 config/tc-i386.c:6373 -msgid "Register scaling only allowed in memory operands." -msgstr "El escalamiento de registros sólo se permite en operandos de memoria." +#: config/tc-i386.c:6478 +msgid "Extra segment override ignored" +msgstr "Se ignora la sobreescritura de segmento extra" -#: config/tc-i386.c:6277 -msgid "Too many register references in memory operand." -msgstr "Demasiadas referencias a registros en un operando de memoria." +#: config/tc-i386.c:6512 config/tc-i386.c:6681 +msgid "Register scaling only allowed in memory operands" +msgstr "El escalamiento de registros sólo se permite en operandos de memoria" -#: config/tc-i386.c:6352 +#: config/tc-i386.c:6534 config/tc-i386.c:6658 #, c-format -msgid "Syntax error. Expecting a constant. Got `%s'." -msgstr "Error sintáctico. Se esperaba una constante. Se obtuvo `%s'." +msgid "Syntax error: Expecting a constant, got `%s'" +msgstr "Error sintáctico: Se esperaba una constante, se obtuvo `%s'" -#: config/tc-i386.c:6422 +#: config/tc-i386.c:6562 +msgid "Too many register references in memory operand" +msgstr "Demasiadas referencias a registros en un operando de memoria" + +#: config/tc-i386.c:6573 +msgid "Using register names in OFFSET expressions is deprecated" +msgstr "El uso de nombres de registro en expresiones OFFSET es obsoleto" + +#: config/tc-i386.c:6586 +msgid "Invalid use of register" +msgstr "Uso inválido de registro" + +#: config/tc-i386.c:6731 #, c-format msgid "Unrecognized token '%s'" msgstr "Elemento '%s' no reconocido" -#: config/tc-i386.c:6439 +#: config/tc-i386.c:6748 #, c-format msgid "Unexpected token `%s'" msgstr "Elemento `%s' inesperado" -#: config/tc-i386.c:6622 +#: config/tc-i386.c:6910 +msgid "`:' expected" +msgstr "se esperaba `:'" + +#: config/tc-i386.c:6935 #, c-format msgid "Unrecognized token `%s'" msgstr "Elemento `%s' no reconocido" +#: config/tc-i386.c:7070 +msgid "Bad .section directive: want a,l,w,x,M,S,G,T in string" +msgstr "Directiva .section errónea: se quiere a,l,w,x,M,S,G,T en la cadena" + +#: config/tc-i386.c:7073 +msgid "Bad .section directive: want a,w,x,M,S,G,T in string" +msgstr "Directiva .section errónea: se quiere a,w,x,M,S,G,T en la cadena" + +#: config/tc-i386.c:7092 +msgid ".largecomm supported only in 64bit mode, producing .comm" +msgstr ".largecomm sólo tiene soporte en modo de 64bit, se produce .comm" + #: config/tc-i860.c:124 msgid "Directive .dual available only with -mintel-syntax option" msgstr "La directiva .dual sólo está disponible con la opción -mintel-syntax" @@ -5190,7 +5032,7 @@ msgstr "La directiva .atmp s msgid "Unknown temporary pseudo register" msgstr "Pseudo registro temporal desconocido" -#: config/tc-i860.c:229 config/tc-mips.c:1149 +#: config/tc-i860.c:229 config/tc-mips.c:1412 #, c-format msgid "internal error: can't hash `%s': %s\n" msgstr "error interno: no se puede dispersar `%s': %s\n" @@ -5199,6 +5041,11 @@ msgstr "error interno: no se puede dispersar `%s': %s\n" msgid "Defective assembler. No assembly attempted." msgstr "Ensamblador defectuoso. No se intentó ensamblar." +#: config/tc-i860.c:395 config/tc-i860.c:940 config/tc-m68k.c:3443 +#: config/tc-m68k.c:3475 config/tc-sparc.c:2657 +msgid "failed sanity check." +msgstr "falló la prueba de sanidad." + #: config/tc-i860.c:402 #, c-format msgid "Expanded opcode after delayed branch: `%s'" @@ -5238,10 +5085,6 @@ msgstr "'d.%s' debe estar alineado a 8-bytes" msgid "Prefix 'd.' invalid for instruction `%s'" msgstr "Prefijo 'd.' inválido para la instrucción `%s'" -#: config/tc-i860.c:1005 config/tc-sparc.c:2845 -msgid "bad segment" -msgstr "segmento erróneo" - #: config/tc-i860.c:1088 msgid "i860_estimate_size_before_relax\n" msgstr "i860_estimate_size_before_relax\n" @@ -5304,46 +5147,99 @@ msgstr "Un desplazamiento de ramificaci msgid "Unrecognized fix-up (0x%08lx)" msgstr "Compostura no reconocida (0x%08lx)" -#: config/tc-i860.h:80 +#: config/tc-i860.h:76 msgid "i860_convert_frag\n" msgstr "i860_convert_frag\n" -#: config/tc-i960.c:574 +#: config/tc-i960.c:488 #, c-format msgid "Hashing returned \"%s\"." msgstr "La dispersión devolvió \"%s\"." -#. Offset of last character in opcode mnemonic -#: config/tc-i960.c:608 +#: config/tc-i960.c:584 config/tc-i960.c:1114 +msgid "expression syntax error" +msgstr "error sintáctico en la expresión" + +#: config/tc-i960.c:620 +msgid "attempt to branch into different segment" +msgstr "se intentó ramificar en un segmento diferente" + +#: config/tc-i960.c:624 +#, c-format +msgid "target of %s instruction must be a label" +msgstr "el objetivo de la instrucción %s debe ser una etiqueta" + +#: config/tc-i960.c:734 +msgid "unaligned register" +msgstr "registro sin alinear" + +#: config/tc-i960.c:756 +msgid "no such sfr in this architecture" +msgstr "no hay un sfr en esta arquitectura" + +#: config/tc-i960.c:794 +msgid "illegal literal" +msgstr "literal ilegal" + +#: config/tc-i960.c:837 +msgid "unmatched '['" +msgstr "'[' desemparejado" + +#: config/tc-i960.c:844 +msgid "garbage after index spec ignored" +msgstr "se ignora la basura después de la especificación del índice" + +#: config/tc-i960.c:944 +msgid "invalid index register" +msgstr "registro índice inválido" + +#: config/tc-i960.c:967 +msgid "invalid scale factor" +msgstr "factor de escala inválido" + +#: config/tc-i960.c:1191 +msgid "architecture of opcode conflicts with that of earlier instruction(s)" +msgstr "la arquitectura del código de operación tiene conflictos con alguno de una(s) instrucción(es) anterior(es)" + +#: config/tc-i960.c:1425 config/tc-xtensa.c:11295 +msgid "too many operands" +msgstr "demasiados operandos" + +#. We never moved: there was no opcode either! +#: config/tc-i960.c:1473 +msgid "missing opcode" +msgstr "falta el código de operación" + +#: config/tc-i960.c:1613 msgid "branch prediction invalid on this opcode" msgstr "predicción de ramificación inválida en este código de operación" -#: config/tc-i960.c:648 +#: config/tc-i960.c:1651 #, c-format msgid "invalid opcode, \"%s\"." msgstr "código de operación inválido, \"%s\"." -#: config/tc-i960.c:653 +#: config/tc-i960.c:1653 #, c-format msgid "improper number of operands. expecting %d, got %d" msgstr "número impropio de operandos. se esperaban %d, se obtuvieron %d" -#: config/tc-i960.c:877 +#: config/tc-i960.c:1810 #, c-format msgid "Fixup of %ld too large for field width of %d" msgstr "La compostura de %ld es demasiado grande para el campo de anchura %d" -#: config/tc-i960.c:994 +#: config/tc-i960.c:1920 #, c-format msgid "invalid architecture %s" msgstr "arquitectura %s inválida" -#: config/tc-i960.c:1014 +#: config/tc-i960.c:1940 #, c-format msgid "I960 options:\n" msgstr "opciones de I960:\n" -#: config/tc-i960.c:1017 +#: config/tc-i960.c:1943 #, c-format msgid "" "\n" @@ -5362,208 +5258,153 @@ msgstr "" "-no-relax\t\tno alterar las instrucciones comparar-y-ramificar para\n" "\t\t\tdesubicaciones largas\n" -#: config/tc-i960.c:1424 config/tc-xtensa.c:11516 -msgid "too many operands" -msgstr "demasiados operandos" - -#: config/tc-i960.c:1482 config/tc-i960.c:1707 -msgid "expression syntax error" -msgstr "error sintáctico en la expresión" - -#: config/tc-i960.c:1520 -msgid "attempt to branch into different segment" -msgstr "se intentó ramificar en un segmento diferente" - -#: config/tc-i960.c:1524 -#, c-format -msgid "target of %s instruction must be a label" -msgstr "el objetivo de la instrucción %s debe ser una etiqueta" - -#: config/tc-i960.c:1562 -msgid "unmatched '['" -msgstr "'[' desemparejado" - -#: config/tc-i960.c:1573 -msgid "garbage after index spec ignored" -msgstr "se ignora la basura después de la especificación del índice" - -#. We never moved: there was no opcode either! -#: config/tc-i960.c:1638 -msgid "missing opcode" -msgstr "falta el código de operación" - -#: config/tc-i960.c:2051 -msgid "invalid index register" -msgstr "registro índice inválido" - -#: config/tc-i960.c:2074 -msgid "invalid scale factor" -msgstr "factor de escala inválido" - -#: config/tc-i960.c:2255 -msgid "unaligned register" -msgstr "registro sin alinear" - -#: config/tc-i960.c:2278 -msgid "no such sfr in this architecture" -msgstr "no hay un sfr en esta arquitectura" - -#: config/tc-i960.c:2316 -msgid "illegal literal" -msgstr "literal ilegal" - -#. Should not happen: see block comment above -#: config/tc-i960.c:2544 -#, c-format -msgid "Trying to 'bal' to %s" -msgstr "Tratando de hacer 'bal' a %s" - -#: config/tc-i960.c:2555 -msgid "Looks like a proc, but can't tell what kind.\n" -msgstr "Se ve como un proc, no se puede saber de qué tipo.\n" - -#: config/tc-i960.c:2587 +#: config/tc-i960.c:2207 msgid "should have 1 or 2 operands" msgstr "debe tener 1 o 2 operandos" -#: config/tc-i960.c:2596 config/tc-i960.c:2615 +#: config/tc-i960.c:2215 config/tc-i960.c:2230 #, c-format msgid "Redefining leafproc %s" msgstr "Redefiniendo el proceso hoja %s" -#: config/tc-i960.c:2646 +#: config/tc-i960.c:2260 msgid "should have two operands" msgstr "debe tener dos operandos" -#: config/tc-i960.c:2656 +#: config/tc-i960.c:2270 msgid "'entry_num' must be absolute number in [0,31]" msgstr "'entry_num' debe ser un número absoluto en [0,31]" -#: config/tc-i960.c:2665 +#: config/tc-i960.c:2278 #, c-format msgid "Redefining entrynum for sysproc %s" msgstr "Redefiniendo el número de entrada para el proceso del sistema %s" -#: config/tc-i960.c:2769 -msgid "architecture of opcode conflicts with that of earlier instruction(s)" -msgstr "la arquitectura del código de operación tiene conflictos con alguno de una(s) instrucción(es) anterior(es)" +#. Should not happen: see block comment above. +#: config/tc-i960.c:2378 +#, c-format +msgid "Trying to 'bal' to %s" +msgstr "Tratando de hacer 'bal' a %s" + +#: config/tc-i960.c:2388 +msgid "Looks like a proc, but can't tell what kind.\n" +msgstr "Se ve como un proc, no se puede saber de qué tipo.\n" -#: config/tc-i960.c:2790 +#: config/tc-i960.c:2407 msgid "big endian mode is not supported" msgstr "el modo big endian no tiene soporte" -#: config/tc-i960.c:2792 +#: config/tc-i960.c:2409 #, c-format msgid "ignoring unrecognized .endian type `%s'" msgstr "se ignora el tipo .endian `%s' no reconocido" -#: config/tc-i960.c:3076 -#, c-format -msgid "leafproc symbol '%s' undefined" -msgstr "símolo de proceso hoja '%s' indefinido" - -#: config/tc-i960.c:3086 -#, c-format -msgid "Warning: making leafproc entries %s and %s both global\n" -msgstr "Aviso: haciendo globales las entradas de proceso hoja %s y %s\n" +#: config/tc-i960.c:2454 +msgid "can't use COBR format with external label" +msgstr "no se puede utilizar el formato COBR con una etiqueta externa" -#: config/tc-i960.c:3191 +#: config/tc-i960.c:2629 msgid "option --link-relax is only supported in b.out format" msgstr "la opción --link-relax solamente tiene soporte en el formato b.out" -#: config/tc-ia64.c:982 +#: config/tc-i960.c:2656 +#, c-format +msgid "No 'bal' entry point for leafproc %s" +msgstr "No hay un punto de entrada 'bal' para el proceso hoja %s" + +#: config/tc-ia64.c:1008 msgid "Bad .section directive: want a,o,s,w,x,M,S,G,T in string" msgstr "Directiva .section errónea: se quiere a,o,s,w,x,M,S,G,T en la cadena" -#: config/tc-ia64.c:1119 +#: config/tc-ia64.c:1151 msgid "Unwind directive not followed by an instruction." msgstr "La directiva de desenredo no está seguida por una instrucción." -#: config/tc-ia64.c:4930 +#: config/tc-ia64.c:5114 msgid "Register name expected" msgstr "Se esperaba un nombre de registro" -#: config/tc-ia64.c:4935 config/tc-ia64.c:5251 +#: config/tc-ia64.c:5119 config/tc-ia64.c:5435 msgid "Comma expected" msgstr "Se esperaba una coma" -#: config/tc-ia64.c:4943 +#: config/tc-ia64.c:5127 msgid "Register value annotation ignored" msgstr "Se ignora la anotación del valor del registro" -#: config/tc-ia64.c:4984 +#: config/tc-ia64.c:5168 msgid "Directive invalid within a bundle" msgstr "Directiva inválida dentro de una agrupación" -#: config/tc-ia64.c:5077 +#: config/tc-ia64.c:5261 msgid "Missing predicate relation type" msgstr "Falta el tipo de relación del predicado" -#: config/tc-ia64.c:5083 +#: config/tc-ia64.c:5267 msgid "Unrecognized predicate relation type" msgstr "Tipo de relación de predicado no reconocido" -#: config/tc-ia64.c:5130 +#: config/tc-ia64.c:5314 msgid "Bad register range" msgstr "Rango de registro erróneo" -#: config/tc-ia64.c:5139 +#: config/tc-ia64.c:5323 msgid "Predicate register expected" msgstr "Se esperaba un registro de predicado" -#: config/tc-ia64.c:5144 +#: config/tc-ia64.c:5328 msgid "Duplicate predicate register ignored" msgstr "Se ignora el registro de predicado duplicado" -#: config/tc-ia64.c:5162 +#: config/tc-ia64.c:5346 msgid "Predicate source and target required" msgstr "Se requiere el predicado fuente y destino" -#: config/tc-ia64.c:5164 config/tc-ia64.c:5176 +#: config/tc-ia64.c:5348 config/tc-ia64.c:5360 msgid "Use of p0 is not valid in this context" msgstr "El uso de p0 no es válido en este contexto" -#: config/tc-ia64.c:5171 +#: config/tc-ia64.c:5355 msgid "At least two PR arguments expected" msgstr "Se esperaban al menos dos argumentos PR" -#: config/tc-ia64.c:5185 +#: config/tc-ia64.c:5369 msgid "At least one PR argument expected" msgstr "Se esperaba al menos un argumento PR" -#: config/tc-ia64.c:5221 +#: config/tc-ia64.c:5405 #, c-format msgid "Inserting \"%s\" into entry hint table failed: %s" msgstr "Falló la inserción de \"%s\" en la tabla de entrada de pistas: %s" #. FIXME -- need 62-bit relocation type -#: config/tc-ia64.c:5697 +#: config/tc-ia64.c:5881 msgid "62-bit relocation not yet implemented" msgstr "la reubicación de 62-bits aún no está implementada" #. XXX technically, this is wrong: we should not be issuing warning #. messages until we're sure this instruction pattern is going to #. be used! -#: config/tc-ia64.c:5770 +#: config/tc-ia64.c:5954 msgid "lower 16 bits of mask ignored" msgstr "se ignoran los 16 bits inferiores de la máscara" -#: config/tc-ia64.c:6389 +#: config/tc-ia64.c:6569 msgid "Value truncated to 62 bits" msgstr "Valor truncado a 62 bits" #. Give an error if a frag containing code is not aligned to a 16 byte #. boundary. -#: config/tc-ia64.c:6527 config/tc-ia64.h:171 +#: config/tc-ia64.c:6707 config/tc-ia64.h:171 msgid "instruction address is not a multiple of 16" msgstr "la dirección de la instrucción no es un múltiplo de 16" -#: config/tc-ia64.c:7049 +#: config/tc-ia64.c:7249 #, c-format msgid "Unrecognized option '-x%s'" msgstr "Opción '-x%s' no reconocida" -#: config/tc-ia64.c:7077 +#: config/tc-ia64.c:7277 msgid "" "IA-64 options:\n" " --mconstant-gp\t mark output file as using the constant-GP model\n" @@ -5573,6 +5414,8 @@ msgid "" "\t\t\t EF_IA_64_NOFUNCDESC_CONS_GP)\n" " -milp32|-milp64|-mlp64|-mp64\tselect data model (default -mlp64)\n" " -mle | -mbe\t\t select little- or big-endian byte order (default -mle)\n" +" -mtune=[itanium1|itanium2]\n" +"\t\t\t tune for a specific CPU (default -mtune=itanium2)\n" " -munwind-check=[warning|error]\n" "\t\t\t unwind directive check (default -munwind-check=warning)\n" " -mhint.b=[ok|warning|error]\n" @@ -5598,6 +5441,9 @@ msgstr "" " \t(-mlp64 por defecto)\n" " -mle | -mbe\t\t selecciona el orden de bytes little- o big-endian\n" " \t\t (-mle por defecto)\n" +" -mtune=[itanium1|itanium2]\n" +"\t\t\t optimiza para un CPU específico\n" +"\t\t\t (por defecto -mtune=itanium2)\n" " -munwind-check=[warning|error]\n" "\t\t\t revisión de directiva de desenredo\n" "\t\t\t (-munwind-check=warning por defecto)\n" @@ -5614,343 +5460,349 @@ msgstr "" " -xdebugx\t\t depura el revisor de violaciones de dependencias y\n" "\t\t\t activa la revisión de violaciones de dependencias\n" -#: config/tc-ia64.c:7105 +#: config/tc-ia64.c:7307 msgid "--gstabs is not supported for ia64" msgstr "--gstabs no tiene soporte para ia64" -#: config/tc-ia64.c:7408 config/tc-mips.c:1138 +#: config/tc-ia64.c:7641 config/tc-mips.c:1401 msgid "Could not set architecture and machine" msgstr "No se pueden establecer la arquitectura y la máquina" -#: config/tc-ia64.c:7524 +#: config/tc-ia64.c:7767 msgid "Explicit stops are ignored in auto mode" msgstr "Se ignoran las paradas explícitas en modo automático" -#: config/tc-ia64.c:7576 +#: config/tc-ia64.c:7789 msgid "Found '{' after explicit switch to automatic mode" msgstr "Se encontró '{' después del cambio explícito al modo automático" -#: config/tc-ia64.c:8142 +#: config/tc-ia64.c:8392 #, c-format msgid "Unhandled dependency %s for %s (%s), note %d" msgstr "Dependencia sin manejar %s para %s (%s), nota %d" -#: config/tc-ia64.c:9417 +#: config/tc-ia64.c:9667 #, c-format msgid "Unrecognized dependency specifier %d\n" msgstr "Especificador de dependencia %d no reconocido\n" -#: config/tc-ia64.c:10311 +#: config/tc-ia64.c:10561 msgid "Only the first path encountering the conflict is reported" msgstr "Solamente se reporta la primera ruta donde se encuentra el conflicto" -#: config/tc-ia64.c:10314 +#: config/tc-ia64.c:10564 msgid "This is the location of the conflicting usage" msgstr "Esta es la ubicación del uso conflictivo" -#: config/tc-ia64.c:11528 +#: config/tc-ia64.c:11788 msgid "Can't add stop bit to mark end of instruction group" msgstr "No se puede agregar el bit de parada para marcar el fin del grupo de instrucciones" -#: config/tc-ia64.c:11628 read.c:1411 read.c:2176 read.c:2772 +#: config/tc-ia64.c:11888 read.c:1440 read.c:2206 read.c:2846 read.c:3173 +#: read.c:3204 msgid "expected symbol name" msgstr "se esperaba un nombre de símbolo" -#: config/tc-ia64.c:11638 read.c:2186 read.c:2782 stabs.c:471 +#: config/tc-ia64.c:11898 read.c:2216 read.c:2856 read.c:3188 stabs.c:466 #, c-format msgid "expected comma after \"%s\"" msgstr "se esperaba una coma después de \"%s\"" -#: config/tc-ia64.c:11680 +#: config/tc-ia64.c:11940 #, c-format msgid "`%s' is already the alias of %s `%s'" msgstr "el símbolo `%s' ya es el alias de %s `%s'" -#: config/tc-ia64.c:11690 +#: config/tc-ia64.c:11950 #, c-format msgid "%s `%s' already has an alias `%s'" msgstr "%s `%s' ya tiene un alias `%s'" -#: config/tc-ia64.c:11701 +#: config/tc-ia64.c:11961 #, c-format msgid "inserting \"%s\" into %s alias hash table failed: %s" msgstr "falló la inserción de \"%s\" en la tabla de dispersión de alias %s: %s" -#: config/tc-ia64.c:11709 +#: config/tc-ia64.c:11969 #, c-format msgid "inserting \"%s\" into %s name hash table failed: %s" msgstr "falló la inserción de \"%s\" en la tabla de dispersión de nombres %s: %s" -#: config/tc-ia64.c:11728 +#: config/tc-ia64.c:11988 #, c-format msgid "symbol `%s' aliased to `%s' is not used" msgstr "el símbolo `%s' que es alias de `%s' no se utiliza" -#: config/tc-ia64.c:11750 +#: config/tc-ia64.c:12010 #, c-format msgid "section `%s' aliased to `%s' is not used" msgstr "la sección `%s' que es alias de `%s' no se utiliza" -#: config/tc-ip2k.c:123 +#: config/tc-ip2k.c:158 #, c-format msgid "IP2K specific command line options:\n" msgstr "Opciones de la línea de comandos específicas de IP2K:\n" -#: config/tc-ip2k.c:124 +#: config/tc-ip2k.c:159 #, c-format msgid " -mip2022 restrict to IP2022 insns \n" msgstr " -mip2022 restringe a insns de IP2022 \n" -#: config/tc-ip2k.c:125 +#: config/tc-ip2k.c:160 #, c-format msgid " -mip2022ext permit extended IP2022 insn\n" msgstr " -mip2022ext permite insns extendidas de IP2022\n" -#: config/tc-ip2k.c:246 +#: config/tc-ip2k.c:274 msgid "md_pcrel_from\n" msgstr "md_pcrel_from\n" +#: config/tc-m32c.c:128 +#, c-format +msgid " M32C specific command line options:\n" +msgstr "Opciones de la línea de comandos específicas de M32C:\n" + #. Pretend that we do not recognise this option. -#: config/tc-m32r.c:334 +#: config/tc-m32r.c:332 msgid "Unrecognised option: -hidden" msgstr "Opción no reconocida: -hidden" -#: config/tc-m32r.c:361 config/tc-sparc.c:596 +#: config/tc-m32r.c:359 config/tc-sparc.c:593 msgid "Unrecognized option following -K" msgstr "Opción no reconocida a continuación de -K" -#: config/tc-m32r.c:377 +#: config/tc-m32r.c:374 #, c-format msgid " M32R specific command line options:\n" msgstr "Opciones de la línea de comandos específicas de M32R:\n" -#: config/tc-m32r.c:379 +#: config/tc-m32r.c:376 #, c-format msgid " -m32r disable support for the m32rx instruction set\n" msgstr " -m32r desactiva el soporte para el conjunto de instrucciones m32rx\n" -#: config/tc-m32r.c:381 +#: config/tc-m32r.c:378 #, c-format msgid " -m32rx support the extended m32rx instruction set\n" msgstr " -m32rx da soporte al conjunto extendido de instrucciones m32rx\n" -#: config/tc-m32r.c:383 +#: config/tc-m32r.c:380 #, c-format msgid " -m32r2 support the extended m32r2 instruction set\n" msgstr " -m32r2 da soporte al conjunto extendido de instrucciones m32r2\n" -#: config/tc-m32r.c:385 +#: config/tc-m32r.c:382 #, c-format msgid " -EL,-little produce little endian code and data\n" msgstr " -EL,-little produce código y datos little endian\n" -#: config/tc-m32r.c:387 +#: config/tc-m32r.c:384 #, c-format msgid " -EB,-big produce big endian code and data\n" msgstr " -EB,-big produce código y datos big endian\n" -#: config/tc-m32r.c:389 +#: config/tc-m32r.c:386 #, c-format msgid " -parallel try to combine instructions in parallel\n" msgstr " -parallel intenta combinar instrucciones en paralelo\n" -#: config/tc-m32r.c:391 +#: config/tc-m32r.c:388 #, c-format msgid " -no-parallel disable -parallel\n" msgstr " -no-parallel desactiva -parallel.\n" -#: config/tc-m32r.c:393 +#: config/tc-m32r.c:390 #, c-format msgid " -no-bitinst disallow the M32R2's extended bit-field instructions\n" msgstr " -no-bitinst desactiva las instrucciones extendidas de campos de bit de M32R2\n" -#: config/tc-m32r.c:395 +#: config/tc-m32r.c:392 #, c-format msgid " -O try to optimize code. Implies -parallel\n" msgstr " -O intenta optimizar código. Implica -parallel\n" -#: config/tc-m32r.c:398 +#: config/tc-m32r.c:395 #, c-format msgid " -warn-explicit-parallel-conflicts warn when parallel instructions\n" msgstr " -warn-explicit-parallel-conflicts avisa cuando hay instrucciones paralelas\n" -#: config/tc-m32r.c:400 +#: config/tc-m32r.c:397 #, c-format msgid " might violate contraints\n" msgstr " que pueden violar las restricciones\n" -#: config/tc-m32r.c:402 +#: config/tc-m32r.c:399 #, c-format msgid " -no-warn-explicit-parallel-conflicts do not warn when parallel\n" msgstr " -no-warn-explicit-parallel-conflicts no avisa cuando las instrucciones\n" -#: config/tc-m32r.c:404 +#: config/tc-m32r.c:401 #, c-format msgid " instructions might violate contraints\n" msgstr " paralelas pueden violar restricciones\n" -#: config/tc-m32r.c:406 +#: config/tc-m32r.c:403 #, c-format msgid " -Wp synonym for -warn-explicit-parallel-conflicts\n" msgstr " -Wp sinónimo para -warn-explicit-parallel-conflicts\n" -#: config/tc-m32r.c:408 +#: config/tc-m32r.c:405 #, c-format msgid " -Wnp synonym for -no-warn-explicit-parallel-conflicts\n" msgstr " -Wnp sinónimo para -no-warn-explicit-parallel-conflicts\n" -#: config/tc-m32r.c:410 +#: config/tc-m32r.c:407 #, c-format msgid " -ignore-parallel-conflicts do not check parallel instructions\n" msgstr " -ignore-parallel-conflicts no revisar cuando hay instrucciones paralelas\n" -#: config/tc-m32r.c:412 +#: config/tc-m32r.c:409 #, c-format msgid " fo contraint violations\n" msgstr " que violan las restricciones\n" -#: config/tc-m32r.c:414 +#: config/tc-m32r.c:411 #, c-format msgid " -no-ignore-parallel-conflicts check parallel instructions for\n" msgstr " -no-ignore-parallel-conflicts revisar cuando hay instrucciones paralelas\n" -#: config/tc-m32r.c:416 +#: config/tc-m32r.c:413 #, c-format msgid " contraint violations\n" msgstr " que violan las restricciones\n" -#: config/tc-m32r.c:418 +#: config/tc-m32r.c:415 #, c-format msgid " -Ip synonym for -ignore-parallel-conflicts\n" msgstr " -Ip sinónimo para -ignore-parallel-conflicts\n" -#: config/tc-m32r.c:420 +#: config/tc-m32r.c:417 #, c-format msgid " -nIp synonym for -no-ignore-parallel-conflicts\n" msgstr " -nIp sinónimo para -no-ignore-parallel-conflicts\n" -#: config/tc-m32r.c:423 +#: config/tc-m32r.c:420 #, c-format msgid " -warn-unmatched-high warn when an (s)high reloc has no matching low reloc\n" msgstr " -warn-unmatched-high avisa cundo una reubicación (s)high no tiene una reubicación low correspondiente\n" -#: config/tc-m32r.c:425 +#: config/tc-m32r.c:422 #, c-format msgid " -no-warn-unmatched-high do not warn about missing low relocs\n" msgstr " -no-warn-unmatched-high no avisa cuando faltan reubicaciones low\n" -#: config/tc-m32r.c:427 +#: config/tc-m32r.c:424 #, c-format msgid " -Wuh synonym for -warn-unmatched-high\n" msgstr " -Wuh sinónimo para -warn-unmatched-high\n" -#: config/tc-m32r.c:429 +#: config/tc-m32r.c:426 #, c-format msgid " -Wnuh synonym for -no-warn-unmatched-high\n" msgstr " -Wnuh sinónimo para -no-warn-unmatched-high\n" -#: config/tc-m32r.c:432 +#: config/tc-m32r.c:429 #, c-format msgid " -KPIC generate PIC\n" msgstr " -KPIC genera PIC\n" -#: config/tc-m32r.c:892 +#: config/tc-m32r.c:850 msgid "instructions write to the same destination register." msgstr "las instrucciones escriben al mismo registro de destino." -#: config/tc-m32r.c:900 +#: config/tc-m32r.c:858 msgid "Instructions do not use parallel execution pipelines." msgstr "Las instrucciones no usan tuberías de ejecución paralela." -#: config/tc-m32r.c:908 +#: config/tc-m32r.c:866 msgid "Instructions share the same execution pipeline" msgstr "Las instrucciones comparten la misma tubería de ejecución" -#: config/tc-m32r.c:984 config/tc-m32r.c:1098 +#: config/tc-m32r.c:931 config/tc-m32r.c:1045 #, c-format msgid "not a 16 bit instruction '%s'" msgstr "no hay una instrucción 16 bit '%s'" -#: config/tc-m32r.c:996 config/tc-m32r.c:1110 config/tc-m32r.c:1295 +#: config/tc-m32r.c:943 config/tc-m32r.c:1057 config/tc-m32r.c:1241 #, c-format msgid "instruction '%s' is for the M32R2 only" msgstr "la instrucción '%s' sólo es para el M32R2" -#: config/tc-m32r.c:1009 config/tc-m32r.c:1123 config/tc-m32r.c:1308 +#: config/tc-m32r.c:956 config/tc-m32r.c:1070 config/tc-m32r.c:1254 #, c-format msgid "unknown instruction '%s'" msgstr "instrucción '%s' desconocida" -#: config/tc-m32r.c:1018 config/tc-m32r.c:1130 config/tc-m32r.c:1315 +#: config/tc-m32r.c:965 config/tc-m32r.c:1077 config/tc-m32r.c:1261 #, c-format msgid "instruction '%s' is for the M32RX only" msgstr "la instrucción '%s' sólo es para el M32RX" -#: config/tc-m32r.c:1027 config/tc-m32r.c:1139 +#: config/tc-m32r.c:974 config/tc-m32r.c:1086 #, c-format msgid "instruction '%s' cannot be executed in parallel." msgstr "la instrucción '%s' no se puede ejecutar en paralelo." -#: config/tc-m32r.c:1082 config/tc-m32r.c:1164 config/tc-m32r.c:1372 +#: config/tc-m32r.c:1029 config/tc-m32r.c:1111 config/tc-m32r.c:1318 msgid "internal error: lookup/get operands failed" msgstr "error interno: los operandos lookup/get fallaron." -#: config/tc-m32r.c:1149 +#: config/tc-m32r.c:1096 #, c-format msgid "'%s': only the NOP instruction can be issued in parallel on the m32r" msgstr "'%s': solamente las instrucciones NOP se puede ejecutar en paralelo en el m32r" -#: config/tc-m32r.c:1178 +#: config/tc-m32r.c:1125 #, c-format msgid "%s: output of 1st instruction is the same as an input to 2nd instruction - is this intentional ?" msgstr "%s: la salida de la 1a instrucción es la misma que una entrada a la 2a instrucción - ¿Esto es intencional?" -#: config/tc-m32r.c:1182 +#: config/tc-m32r.c:1129 #, c-format msgid "%s: output of 2nd instruction is the same as an input to 1st instruction - is this intentional ?" msgstr "%s: la salida de la 2a instrucción es la misma que una entrada a la 1a instrucción - ¿Esto es intencional?" -#: config/tc-m32r.c:1551 config/tc-ppc.c:1758 config/tc-ppc.c:4350 +#: config/tc-m32r.c:1493 config/tc-ppc.c:1773 config/tc-ppc.c:4365 msgid "Expected comma after symbol-name: rest of line ignored." msgstr "Se esperaba coma después del nombre del símbolo: se ingnora el resto de la línea." -#: config/tc-m32r.c:1561 +#: config/tc-m32r.c:1503 #, c-format msgid ".SCOMMon length (%ld.) <0! Ignored." msgstr "longitud SCOMMon (%ld.) <0!. Se ignora." -#: config/tc-m32r.c:1575 config/tc-ppc.c:1780 config/tc-ppc.c:2937 -#: config/tc-ppc.c:4374 +#: config/tc-m32r.c:1517 config/tc-ppc.c:1795 config/tc-ppc.c:2952 +#: config/tc-ppc.c:4389 msgid "ignoring bad alignment" msgstr "se ignora la alineación errónea" -#: config/tc-m32r.c:1587 config/tc-ppc.c:1817 config/tc-v850.c:335 +#: config/tc-m32r.c:1529 config/tc-ppc.c:1832 config/tc-v850.c:323 msgid "Common alignment not a power of 2" msgstr "La alineación común no es una potencia de 2" -#: config/tc-m32r.c:1602 config/tc-ppc.c:1791 config/tc-ppc.c:4386 +#: config/tc-m32r.c:1544 config/tc-ppc.c:1806 config/tc-ppc.c:4401 #, c-format msgid "Ignoring attempt to re-define symbol `%s'." msgstr "Se ignora el intento de redefinir el símbolo `%s'." -#: config/tc-m32r.c:1611 +#: config/tc-m32r.c:1553 #, c-format msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld." msgstr "La longitud de .scomm \"%s\" ya está %ld. No ha cambiado a %ld." -#: config/tc-m32r.c:1839 +#: config/tc-m32r.c:1789 msgid "Addend to unresolved symbol not on word boundary." msgstr "La adición para un símbolo sin resolver no está en un límite de word." -#: config/tc-m32r.c:1988 config/tc-m32r.c:2038 config/tc-sh.c:747 +#: config/tc-m32r.c:1930 config/tc-m32r.c:1983 config/tc-sh.c:749 msgid "Invalid PIC expression." msgstr "Expresión PIC inválida." -#: config/tc-m32r.c:2129 +#: config/tc-m32r.c:2074 msgid "Unmatched high/shigh reloc" msgstr "Reubicación high/shigh sin coincidencia" -#: config/tc-m32r.c:2380 config/tc-sparc.c:3525 +#: config/tc-m32r.c:2334 config/tc-sparc.c:3524 #, c-format msgid "internal error: can't export reloc type %d (`%s')" msgstr "error interno: no se puede exportar el tipo de reubicación %d (`%s')" @@ -6310,404 +6162,400 @@ msgstr "Desplazamiento fuera del rango de 5-bit para la instrucci msgid "Line %d: unknown relocation type: 0x%x." msgstr "Línea %d: tipo de reubicación desconocido: 0x%x." -#: config/tc-m68k.c:693 +#: config/tc-m68k.c:696 msgid "no matching ColdFire architectures found" msgstr "no se encontraron arquitecturas ColdFire coincidentes" -#: config/tc-m68k.c:707 +#: config/tc-m68k.c:710 msgid " or " msgstr " o " -#: config/tc-m68k.c:712 +#: config/tc-m68k.c:715 msgid ", or " msgstr ", o " -#: config/tc-m68k.c:729 +#: config/tc-m68k.c:732 msgid ", or aliases" msgstr ", o los aliases" -#: config/tc-m68k.c:753 config/tc-m68k.c:4765 config/tc-m68k.c:5156 -msgid "Tried to convert PC relative branch to absolute jump" -msgstr "Se trató de convertir una ramificación relativa al PC a un salto absoluto" - -#: config/tc-m68k.c:760 config/tc-m68k.c:4755 -msgid "Tried to convert PC relative BSR to absolute JSR" -msgstr "Se intentó convertir un BSR relativo al PC a un JSR absoluto" - -#: config/tc-m68k.c:765 -msgid "Unknown PC relative instruction" -msgstr "Instrucción relativa al PC desconocida" - -#: config/tc-m68k.c:897 +#: config/tc-m68k.c:843 #, c-format msgid "Can not do %d byte pc-relative relocation" msgstr "No se puede hacer la reubicación relativa al pc de %d bytes" -#: config/tc-m68k.c:899 +#: config/tc-m68k.c:845 #, c-format msgid "Can not do %d byte pc-relative pic relocation" msgstr "No se puede hacer la reubicación pic relativa al pc de %d bytes" -#: config/tc-m68k.c:904 +#: config/tc-m68k.c:850 #, c-format msgid "Can not do %d byte relocation" msgstr "No se puede hacer la reubicación de %d byres" -#: config/tc-m68k.c:906 +#: config/tc-m68k.c:852 #, c-format msgid "Can not do %d byte pic relocation" msgstr "No se puede hacer la reubicación pic de %d bytes" -#: config/tc-m68k.c:971 +#: config/tc-m68k.c:915 #, c-format msgid "Unable to produce reloc against symbol '%s'" msgstr "No se puede producir una reubicación contra el símbolo '%s'" -#: config/tc-m68k.c:1015 config/tc-vax.c:3456 +#: config/tc-m68k.c:959 config/tc-vax.c:3435 #, c-format msgid "Cannot make %s relocation PC relative" msgstr "No se puede hacer la reubicación relativa al PC %s" -#: config/tc-m68k.c:1107 config/tc-tahoe.c:1495 config/tc-vax.c:1895 +#: config/tc-m68k.c:1050 config/tc-vax.c:1890 msgid "No operator" msgstr "No hay operador" -#: config/tc-m68k.c:1137 config/tc-tahoe.c:1512 config/tc-vax.c:1912 +#: config/tc-m68k.c:1080 config/tc-vax.c:1907 msgid "Unknown operator" msgstr "Operador desconocido" -#: config/tc-m68k.c:1990 +#: config/tc-m68k.c:1944 msgid "invalid instruction for this architecture; needs " msgstr "instrucción inválida para esta arquitectura; necesita " -#: config/tc-m68k.c:1996 +#: config/tc-m68k.c:1950 msgid "ColdFire ISA_A" msgstr "ISA_A de ColdFire" -#: config/tc-m68k.c:2004 +#: config/tc-m68k.c:1958 msgid "ColdFire hardware divide" msgstr "divide por hardware de ColdFire" -#: config/tc-m68k.c:2012 +#: config/tc-m68k.c:1966 msgid "ColdFire ISA_A+" msgstr "ISA_A+ de ColdFire" -#: config/tc-m68k.c:2020 +#: config/tc-m68k.c:1974 msgid "ColdFire ISA_B" msgstr "ISA_B de ColdFire" -#: config/tc-m68k.c:2028 +#: config/tc-m68k.c:1982 msgid "ColdFire fpu" msgstr "unidad de coma flotante de ColdFire" -#: config/tc-m68k.c:2035 +#: config/tc-m68k.c:1989 msgid "fpu (68040, 68060 or 68881/68882)" msgstr "fpu (68040, 68060 o 68881/68882)" -#: config/tc-m68k.c:2038 +#: config/tc-m68k.c:1992 msgid "mmu (68030 or 68851)" msgstr "mmu (68030 o 68851)" -#: config/tc-m68k.c:2041 +#: config/tc-m68k.c:1995 msgid "68020 or higher" msgstr "68020 o superior" -#: config/tc-m68k.c:2044 +#: config/tc-m68k.c:1998 msgid "68000 or higher" msgstr "68000 o superior" -#: config/tc-m68k.c:2047 +#: config/tc-m68k.c:2001 msgid "68010 or higher" msgstr "68010 o superior" -#: config/tc-m68k.c:2075 +#: config/tc-m68k.c:2029 msgid "operands mismatch" msgstr "no coinciden los operandos" -#: config/tc-m68k.c:2136 config/tc-m68k.c:2142 config/tc-m68k.c:2148 -#: config/tc-mmix.c:2526 config/tc-mmix.c:2550 +#: config/tc-m68k.c:2090 config/tc-m68k.c:2096 config/tc-m68k.c:2102 +#: config/tc-mmix.c:2488 config/tc-mmix.c:2512 msgid "operand out of range" msgstr "operando fuera de rango" -#: config/tc-m68k.c:2205 +#: config/tc-m68k.c:2159 #, c-format msgid "Bignum too big for %c format; truncated" msgstr "Número grande demasiado grande para el formato %c; truncado" -#: config/tc-m68k.c:2286 +#: config/tc-m68k.c:2236 msgid "displacement too large for this architecture; needs 68020 or higher" msgstr "desubicación demasiado grande para esta arquitectura; necesita 68020 o superior" -#: config/tc-m68k.c:2397 +#: config/tc-m68k.c:2347 msgid "scale factor invalid on this architecture; needs cpu32 or 68020 or higher" msgstr "factor de escala inválido en esta arquitectura; necesita cpu32 o 68020 o superior" -#: config/tc-m68k.c:2402 +#: config/tc-m68k.c:2352 msgid "invalid index size for coldfire" msgstr "tamaño de índice inválido para coldfire" -#: config/tc-m68k.c:2455 +#: config/tc-m68k.c:2405 msgid "Forcing byte displacement" msgstr "Forzando la desubicación de byte" -#: config/tc-m68k.c:2457 +#: config/tc-m68k.c:2407 msgid "byte displacement out of range" msgstr "Desubicación de byte fuera de rango" -#: config/tc-m68k.c:2504 config/tc-m68k.c:2542 +#: config/tc-m68k.c:2455 config/tc-m68k.c:2493 msgid "invalid operand mode for this architecture; needs 68020 or higher" msgstr "modo de operando inválido para esta arquitectura; necesita 68020 o superior" -#: config/tc-m68k.c:2528 config/tc-m68k.c:2562 +#: config/tc-m68k.c:2479 config/tc-m68k.c:2513 msgid ":b not permitted; defaulting to :w" msgstr "no se permite :b; cambiando por defecto a :w" -#: config/tc-m68k.c:2639 +#: config/tc-m68k.c:2590 msgid "unsupported byte value; use a different suffix" msgstr "valor de byte sin soporte; utilice un sufijo diferente" -#: config/tc-m68k.c:2654 +#: config/tc-m68k.c:2605 msgid "unknown/incorrect operand" msgstr "operando desconocido/incorrecto" -#: config/tc-m68k.c:2697 config/tc-m68k.c:2705 config/tc-m68k.c:2712 -#: config/tc-m68k.c:2719 +#: config/tc-m68k.c:2648 config/tc-m68k.c:2656 config/tc-m68k.c:2663 +#: config/tc-m68k.c:2670 msgid "out of range" msgstr "fuera de rango" -#: config/tc-m68k.c:2765 +#: config/tc-m68k.c:2716 msgid "Can't use long branches on 68000/68010/5200" msgstr "No se pueden usar ramificaciones long en 68000/68010/5200" -#: config/tc-m68k.c:2875 +#: config/tc-m68k.c:2833 msgid "Expression out of range, using 0" msgstr "Expresión fuera de rango, utilizando 0" -#: config/tc-m68k.c:3056 config/tc-m68k.c:3072 +#: config/tc-m68k.c:3014 config/tc-m68k.c:3030 msgid "Floating point register in register list" msgstr "Registro de coma flotante en la lista de registros" -#: config/tc-m68k.c:3062 +#: config/tc-m68k.c:3020 msgid "Wrong register in floating-point reglist" msgstr "Registro erróneo en la lista de registros de coma flotante" -#: config/tc-m68k.c:3078 +#: config/tc-m68k.c:3036 msgid "incorrect register in reglist" msgstr "registro incorrecto en la lista de registros" -#: config/tc-m68k.c:3084 +#: config/tc-m68k.c:3042 msgid "wrong register in floating-point reglist" msgstr "registro erróneo en la lista de registros de coma flotante" #. ERROR. -#: config/tc-m68k.c:3547 +#: config/tc-m68k.c:3505 msgid "Extra )" msgstr ") extra" #. ERROR. -#: config/tc-m68k.c:3558 +#: config/tc-m68k.c:3516 msgid "Missing )" msgstr "Falta )" -#: config/tc-m68k.c:3575 +#: config/tc-m68k.c:3533 msgid "Missing operand" msgstr "Falta un operando" -#: config/tc-m68k.c:3937 +#: config/tc-m68k.c:3890 #, c-format msgid "%s -- statement `%s' ignored" msgstr "%s -- se ignora la declaración `%s'" -#: config/tc-m68k.c:3986 +#: config/tc-m68k.c:3939 #, c-format msgid "Don't know how to figure width of %c in md_assemble()" msgstr "No se sabe comó reconocer la anchura de %c en md_assemble()" -#: config/tc-m68k.c:4152 +#: config/tc-m68k.c:4108 #, c-format msgid "Internal Error: Can't allocate m68k_sorted_opcodes of size %d" msgstr "Error Interno: No se puede alojar m68k_sorted_opcodes de tamaño %d" -#: config/tc-m68k.c:4203 config/tc-m68k.c:4242 +#: config/tc-m68k.c:4159 config/tc-m68k.c:4198 #, c-format msgid "Internal Error: Can't find %s in hash table" msgstr "Error Interno: No se puede encontrar %s en la tabla de dispersión" -#: config/tc-m68k.c:4206 config/tc-m68k.c:4245 +#: config/tc-m68k.c:4162 config/tc-m68k.c:4201 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "Error Interno: No se puede dispersar %s: %s" -#: config/tc-m68k.c:4326 +#: config/tc-m68k.c:4282 msgid "architecture not yet selected: defaulting to 68020" msgstr "no se ha seleccionado una arquitectura: cambiando por defecto a 68020" -#: config/tc-m68k.c:4386 +#: config/tc-m68k.c:4342 #, c-format msgid "unrecognized default cpu `%s' ???" msgstr "¿¿¿ cpu por defecto `%s' no reconocido ???" -#: config/tc-m68k.c:4397 +#: config/tc-m68k.c:4353 msgid "68040 and 68851 specified; mmu instructions may assemble incorrectly" msgstr "se especificaron 68040 y 68851; las instrucciones mmu podrían ensamblar incorrectamente" -#: config/tc-m68k.c:4414 +#: config/tc-m68k.c:4370 msgid "options for 68881 and no-68881 both given" msgstr "se dieron opciones para 68881 y para no-68881" -#: config/tc-m68k.c:4417 +#: config/tc-m68k.c:4373 msgid "options for 68851 and no-68851 both given" msgstr "se dieron opciones para 68851 y para no-68851" -#: config/tc-m68k.c:4486 +#: config/tc-m68k.c:4434 #, c-format msgid "text label `%s' aligned to odd boundary" msgstr "la etiqueta de texto `%s' está alineada a un límite impar" -#: config/tc-m68k.c:4695 +#: config/tc-m68k.c:4638 msgid "invalid byte branch offset" msgstr "desplazamiento de ramificación byte inválido" -#: config/tc-m68k.c:4731 +#: config/tc-m68k.c:4674 msgid "short branch with zero offset: use :w" msgstr "ramificación corta con desplazamiento cero: utilice :w" -#: config/tc-m68k.c:4781 config/tc-m68k.c:4840 config/tc-m68k.c:4904 +#: config/tc-m68k.c:4698 +msgid "Tried to convert PC relative BSR to absolute JSR" +msgstr "Se intentó convertir un BSR relativo al PC a un JSR absoluto" + +#: config/tc-m68k.c:4708 config/tc-m68k.c:5054 +msgid "Tried to convert PC relative branch to absolute jump" +msgstr "Se trató de convertir una ramificación relativa al PC a un salto absoluto" + +#: config/tc-m68k.c:4724 config/tc-m68k.c:4783 config/tc-m68k.c:4847 msgid "Tried to convert PC relative conditional branch to absolute jump" msgstr "Se intentó convertir una ramificación condicional relativa al PC a un salto absoluto" -#: config/tc-m68k.c:4821 +#: config/tc-m68k.c:4764 msgid "Tried to convert DBcc to absolute jump" msgstr "Se intentó convertir DBcc a un salto absoluto" -#: config/tc-m68k.c:5200 config/tc-m68k.c:5211 config/tc-m68k.c:5252 +#: config/tc-m68k.c:5098 config/tc-m68k.c:5109 config/tc-m68k.c:5149 msgid "expression out of range: defaulting to 1" msgstr "expresión fuera de rango: cambiando por defecto a 1" -#: config/tc-m68k.c:5243 +#: config/tc-m68k.c:5141 msgid "expression out of range: defaulting to 0" msgstr "expresión fuera de rango: cambiando por defecto a 0" -#: config/tc-m68k.c:5285 config/tc-m68k.c:5297 +#: config/tc-m68k.c:5182 config/tc-m68k.c:5194 #, c-format msgid "Can't deal with expression; defaulting to %ld" msgstr "No se puede lidiar con la expresión; cambiando por defecto a %ld" -#: config/tc-m68k.c:5311 +#: config/tc-m68k.c:5208 msgid "expression doesn't fit in BYTE" msgstr "la expresión no cabe en BYTE" -#: config/tc-m68k.c:5315 +#: config/tc-m68k.c:5212 msgid "expression doesn't fit in WORD" msgstr "la expresión no cabe en WORD" -#: config/tc-m68k.c:5402 +#: config/tc-m68k.c:5299 #, c-format msgid "%s: unrecognized processor name" msgstr "%s: nombre de procesador no reconocido" -#: config/tc-m68k.c:5466 +#: config/tc-m68k.c:5363 msgid "bad coprocessor id" msgstr "id de coprocesador erróneo" -#: config/tc-m68k.c:5472 +#: config/tc-m68k.c:5369 msgid "unrecognized fopt option" msgstr "opción fopt no reconocida" -#: config/tc-m68k.c:5605 +#: config/tc-m68k.c:5502 #, c-format msgid "option `%s' may not be negated" msgstr "la opción `%s' podría no estar negada" -#: config/tc-m68k.c:5616 +#: config/tc-m68k.c:5513 #, c-format msgid "option `%s' not recognized" msgstr "no se reconoce la opción `%s'" -#: config/tc-m68k.c:5645 +#: config/tc-m68k.c:5542 msgid "bad format of OPT NEST=depth" msgstr "formato erróneo de OPT NEST=profundidad" -#: config/tc-m68k.c:5701 +#: config/tc-m68k.c:5598 msgid "missing label" msgstr "etiqueta faltante" -#: config/tc-m68k.c:5725 config/tc-m68k.c:5754 +#: config/tc-m68k.c:5622 config/tc-m68k.c:5651 msgid "bad register list" msgstr "lista de registros errónea" -#: config/tc-m68k.c:5727 +#: config/tc-m68k.c:5624 #, c-format msgid "bad register list: %s" msgstr "lista de registros errónea: %s" -#: config/tc-m68k.c:5825 +#: config/tc-m68k.c:5722 msgid "restore without save" msgstr "restore sin save" -#: config/tc-m68k.c:5979 config/tc-m68k.c:6349 +#: config/tc-m68k.c:5876 config/tc-m68k.c:6246 msgid "syntax error in structured control directive" msgstr "error sintáctico en la directiva estructurada de control" -#: config/tc-m68k.c:6024 +#: config/tc-m68k.c:5921 msgid "missing condition code in structured control directive" msgstr "falta el código de condición en la directiva estructurada de control" -#: config/tc-m68k.c:6095 +#: config/tc-m68k.c:5992 #, c-format msgid "Condition <%c%c> in structured control directive can not be encoded correctly" msgstr "La condición <%c%c> en la directiva de contro estructurado no se puede codificar correctamente" -#: config/tc-m68k.c:6391 +#: config/tc-m68k.c:6288 msgid "missing then" msgstr "then faltante" -#: config/tc-m68k.c:6472 +#: config/tc-m68k.c:6369 msgid "else without matching if" msgstr "else sin if coincidente" -#: config/tc-m68k.c:6505 +#: config/tc-m68k.c:6402 msgid "endi without matching if" msgstr "endi sin if coincidente" -#: config/tc-m68k.c:6545 +#: config/tc-m68k.c:6442 msgid "break outside of structured loop" msgstr "break fuera de un loop estructurado" -#: config/tc-m68k.c:6583 +#: config/tc-m68k.c:6480 msgid "next outside of structured loop" msgstr "next fuera de un loop estructurado" -#: config/tc-m68k.c:6634 +#: config/tc-m68k.c:6531 msgid "missing =" msgstr "= faltante" -#: config/tc-m68k.c:6672 +#: config/tc-m68k.c:6569 msgid "missing to or downto" msgstr "to o downto faltante" -#: config/tc-m68k.c:6708 config/tc-m68k.c:6742 config/tc-m68k.c:6956 +#: config/tc-m68k.c:6605 config/tc-m68k.c:6639 config/tc-m68k.c:6853 msgid "missing do" msgstr "do faltante" -#: config/tc-m68k.c:6843 +#: config/tc-m68k.c:6740 msgid "endf without for" msgstr "endf sin for" -#: config/tc-m68k.c:6897 +#: config/tc-m68k.c:6794 msgid "until without repeat" msgstr "until sin repeat" -#: config/tc-m68k.c:6991 +#: config/tc-m68k.c:6888 msgid "endw without while" msgstr "endw sin while" -#: config/tc-m68k.c:7153 +#: config/tc-m68k.c:7050 #, c-format msgid "unrecognized architecture specification `%s'" msgstr "especificación de arquitectura `%s' no reconocida" -#: config/tc-m68k.c:7246 +#: config/tc-m68k.c:7143 #, c-format msgid "" "680X0 options:\n" @@ -6732,7 +6580,7 @@ msgstr "" "\t\t\tel objetivo tiene un/carece de coprocesador de coma flotante\n" "\t\t\t[por defecto sí para 68020, 68030, y cpu32]\n" -#: config/tc-m68k.c:7258 +#: config/tc-m68k.c:7155 #, c-format msgid "" "-m68851 | -mno-68851\n" @@ -6755,7 +6603,7 @@ msgstr "" "\t\t\treconoce los nombres de registro sin carácter de prefijo\n" "--bitwise-or\t\tno trata `|' como un carácter de comentario\n" -#: config/tc-m68k.c:7268 +#: config/tc-m68k.c:7165 #, c-format msgid "" "--base-size-default-16\tbase reg without size is 16 bits\n" @@ -6768,222 +6616,174 @@ msgstr "" "--disp-size-default-16\tla desubicación de tamaño desconocido es de 16 bits\n" "--disp-size-default-32\tla desubicación de tamaño desconocido es de 32 bits (por defecto)\n" -#: config/tc-m68k.c:7303 +#: config/tc-m68k.c:7200 #, c-format msgid "Error %s in %s\n" msgstr "Error %s en %s\n" -#: config/tc-m68k.c:7307 +#: config/tc-m68k.c:7204 #, c-format msgid "Opcode(%d.%s): " msgstr "Código de operación(%d.%s): " -#: config/tc-m88k.c:201 -#, c-format -msgid "Can't hash instruction '%s':%s" -msgstr "No se puede dispersar la instrucción '%s':%s" - -#: config/tc-m88k.c:250 -#, c-format -msgid "Invalid mnemonic '%s'" -msgstr "Mnemónico inválido '%s'" - -#: config/tc-m88k.c:268 -msgid "Parameter syntax error" -msgstr "Error sintáctico de parámetros" - -#: config/tc-m88k.c:321 -msgid "Unknown relocation type" -msgstr "Tipo de reubicación desconocido" - -#. Having this here repeats the warning somtimes. -#. But can't we stand that? -#: config/tc-m88k.c:434 -msgid "Use of obsolete instruction" -msgstr "Uso de una instrucción obsoleta" - -#: config/tc-m88k.c:551 -msgid "Expression truncated to 16 bits" -msgstr "Expresión truncada a 16 bits" - -#: config/tc-m88k.c:617 config/tc-m88k.c:639 -msgid "Expression truncated to 5 bits" -msgstr "Expresión truncada a 5 bits" - -#: config/tc-m88k.c:856 -msgid "Expression truncated to 9 bits" -msgstr "Expresión truncada a 9 bits" - -#: config/tc-m88k.c:878 -msgid "Removed lower 2 bits of expression" -msgstr "Se borraron los 2 bits inferiores de la expresión" - -#: config/tc-m88k.c:1057 -msgid "Relaxation should never occur" -msgstr "La relajación nunca debe ocurrir" - -#: config/tc-m88k.h:78 -msgid "m88k convert_frag\n" -msgstr "m88k convert_frag\n" - -#: config/tc-mcore.c:461 +#: config/tc-mcore.c:524 #, c-format msgid "register expected, but saw '%.6s'" msgstr "se esperaba un registro, pero se vio '%.6s'" -#: config/tc-mcore.c:545 +#: config/tc-mcore.c:606 #, c-format msgid "control register expected, but saw '%.6s'" msgstr "se esperaba un registro de control, pero se vio '%.6s'" -#: config/tc-mcore.c:583 +#: config/tc-mcore.c:642 msgid "bad/missing psr specifier" msgstr "especificador psr erróneo/faltante" -#: config/tc-mcore.c:744 +#: config/tc-mcore.c:692 msgid "more than 65K literal pools" msgstr "más de 65K de conjuntos literales" -#: config/tc-mcore.c:798 +#: config/tc-mcore.c:746 msgid "missing ']'" msgstr "falta un ']'" -#: config/tc-mcore.c:838 +#: config/tc-mcore.c:785 msgid "operand must be a constant" msgstr "el operando debe ser una constante" -#: config/tc-mcore.c:840 +#: config/tc-mcore.c:787 #, c-format msgid "operand must be absolute in range %u..%u, not %ld" msgstr "el operando debe ser un absoluto en el rango %u..%u, no %ld" -#: config/tc-mcore.c:876 +#: config/tc-mcore.c:822 msgid "operand must be a multiple of 4" msgstr "el operando debe ser un múltiplo de 4" -#: config/tc-mcore.c:883 +#: config/tc-mcore.c:829 msgid "operand must be a multiple of 2" msgstr "el operando debe ser un múltiplo de 2" -#: config/tc-mcore.c:897 config/tc-mcore.c:1411 config/tc-mcore.c:1465 +#: config/tc-mcore.c:843 config/tc-mcore.c:1359 config/tc-mcore.c:1413 msgid "base register expected" msgstr "se esperaba un registro base" -#: config/tc-mcore.c:946 +#: config/tc-mcore.c:891 #, c-format msgid "unknown opcode \"%s\"" msgstr "código de operación \"%s\" desconocido" -#: config/tc-mcore.c:989 +#: config/tc-mcore.c:934 msgid "invalid register: r15 illegal" msgstr "registro inválido: r15 ilegal" -#: config/tc-mcore.c:1037 config/tc-mcore.c:1615 +#: config/tc-mcore.c:983 config/tc-mcore.c:1564 msgid "M340 specific opcode used when assembling for M210" msgstr "se utilizó un código de operación específico de M340 cuando se ensamblaba para M210" -#: config/tc-mcore.c:1055 config/tc-mcore.c:1094 config/tc-mcore.c:1113 -#: config/tc-mcore.c:1132 config/tc-mcore.c:1159 config/tc-mcore.c:1188 -#: config/tc-mcore.c:1225 config/tc-mcore.c:1260 config/tc-mcore.c:1279 -#: config/tc-mcore.c:1298 config/tc-mcore.c:1332 config/tc-mcore.c:1357 -#: config/tc-mcore.c:1414 config/tc-mcore.c:1468 config/tc-mcore.c:1504 -#: config/tc-mcore.c:1562 config/tc-mcore.c:1584 config/tc-mcore.c:1607 +#: config/tc-mcore.c:1001 config/tc-mcore.c:1041 config/tc-mcore.c:1060 +#: config/tc-mcore.c:1079 config/tc-mcore.c:1107 config/tc-mcore.c:1136 +#: config/tc-mcore.c:1173 config/tc-mcore.c:1208 config/tc-mcore.c:1227 +#: config/tc-mcore.c:1246 config/tc-mcore.c:1280 config/tc-mcore.c:1305 +#: config/tc-mcore.c:1362 config/tc-mcore.c:1416 config/tc-mcore.c:1452 +#: config/tc-mcore.c:1511 config/tc-mcore.c:1533 config/tc-mcore.c:1556 msgid "second operand missing" msgstr "falta el segundo operando" -#: config/tc-mcore.c:1070 +#: config/tc-mcore.c:1017 msgid "destination register must be r1" msgstr "el registro destino debe ser r1" -#: config/tc-mcore.c:1091 +#: config/tc-mcore.c:1038 msgid "source register must be r1" msgstr "el registro fuente debe ser r1" -#: config/tc-mcore.c:1154 config/tc-mcore.c:1211 +#: config/tc-mcore.c:1102 config/tc-mcore.c:1159 msgid "immediate is not a power of two" msgstr "el inmediato no es una potencia de dos" -#: config/tc-mcore.c:1182 +#: config/tc-mcore.c:1130 msgid "translating bgeni to movi" msgstr "traduciendo bgeni a movi" -#: config/tc-mcore.c:1219 +#: config/tc-mcore.c:1167 msgid "translating mgeni to movi" msgstr "traduciendo mgeni a movi" -#: config/tc-mcore.c:1251 +#: config/tc-mcore.c:1199 msgid "translating bmaski to movi" msgstr "traduciendo bmaski a movi" -#: config/tc-mcore.c:1327 +#: config/tc-mcore.c:1275 #, c-format msgid "displacement too large (%d)" msgstr "desubicación demasiado grande (%d)" -#: config/tc-mcore.c:1341 +#: config/tc-mcore.c:1289 msgid "Invalid register: r0 and r15 illegal" msgstr "Registro inválido: r0 y r15 ilegales" -#: config/tc-mcore.c:1372 +#: config/tc-mcore.c:1320 msgid "bad starting register: r0 and r15 invalid" msgstr "registro de inicio erróneo: r0 y r15 inválidos" -#: config/tc-mcore.c:1385 +#: config/tc-mcore.c:1333 msgid "ending register must be r15" msgstr "el registro final debe ser r15" -#: config/tc-mcore.c:1405 +#: config/tc-mcore.c:1353 msgid "bad base register: must be r0" msgstr "registro base erróneo: debe ser r0" -#: config/tc-mcore.c:1423 +#: config/tc-mcore.c:1371 msgid "first register must be r4" msgstr "el primer registro debe ser r4" -#: config/tc-mcore.c:1434 +#: config/tc-mcore.c:1382 msgid "last register must be r7" msgstr "el último registro debe ser r7" -#: config/tc-mcore.c:1471 +#: config/tc-mcore.c:1419 msgid "reg-reg expected" msgstr "se esperaba registro-registro" -#: config/tc-mcore.c:1581 +#: config/tc-mcore.c:1530 msgid "second operand must be 1" msgstr "el segundo operando debe ser 1" -#: config/tc-mcore.c:1602 +#: config/tc-mcore.c:1551 msgid "zero used as immediate value" msgstr "se utiliza cero como un valor inmediato" -#: config/tc-mcore.c:1629 +#: config/tc-mcore.c:1578 msgid "duplicated psr bit specifier" msgstr "especificador de bit psr duplicado" -#: config/tc-mcore.c:1635 +#: config/tc-mcore.c:1584 msgid "`af' must appear alone" msgstr "`af' debe aparecer solo" -#: config/tc-mcore.c:1642 +#: config/tc-mcore.c:1591 #, c-format msgid "unimplemented opcode \"%s\"" msgstr "código de operación \"%s\" sin implementar" -#: config/tc-mcore.c:1651 +#: config/tc-mcore.c:1600 #, c-format msgid "ignoring operands: %s " msgstr "se ignoran los operandos: %s " -#: config/tc-mcore.c:1719 config/tc-w65.c:769 +#: config/tc-mcore.c:1665 msgid "Bad call to MD_NTOF()" msgstr "Llamada errónea a MD_NTOF()" -#: config/tc-mcore.c:1789 +#: config/tc-mcore.c:1736 #, c-format msgid "unrecognised cpu type '%s'" msgstr "tipo de cpu '%s' no reconocido" -#: config/tc-mcore.c:1808 +#: config/tc-mcore.c:1754 #, c-format msgid "" "MCORE specific options:\n" @@ -7000,642 +6800,670 @@ msgstr "" " -EB ensambla para un sistema big endian (por defecto)\n" " -EL ensambla para un sistema little endian\n" -#: config/tc-mcore.c:1827 +#: config/tc-mcore.c:1772 msgid "failed sanity check: short_jump" msgstr "falló la prueba de sanidad: short_jump" -#: config/tc-mcore.c:1838 +#: config/tc-mcore.c:1782 msgid "failed sanity check: long_jump" msgstr "falló la prueba de sanidad: long_jump" -#: config/tc-mcore.c:1864 +#: config/tc-mcore.c:1808 #, c-format msgid "odd displacement at %x" msgstr "desubicación impar en %x" -#: config/tc-mcore.c:2048 +#: config/tc-mcore.c:1990 msgid "unknown" msgstr "desconocido" -#: config/tc-mcore.c:2074 +#: config/tc-mcore.c:2017 #, c-format msgid "odd distance branch (0x%lx bytes)" msgstr "distancia de ramificación impar (0x%lx bytes)" -#: config/tc-mcore.c:2078 +#: config/tc-mcore.c:2021 #, c-format msgid "pcrel for branch to %s too far (0x%lx)" msgstr "el pcrel para la ramificación a %s está demasiado lejos (0x%lx)" -#: config/tc-mcore.c:2097 +#: config/tc-mcore.c:2041 #, c-format msgid "pcrel for lrw/jmpi/jsri to %s too far (0x%lx)" msgstr "el pcrel para lrw/jmpi/jsri a %s está demasiado lejos (0x%lx)" -#: config/tc-mcore.c:2108 +#: config/tc-mcore.c:2053 #, c-format msgid "pcrel for loopt too far (0x%lx)" msgstr "el pcrel para loopt está demasiado lejos (0x%lx)" -#: config/tc-mcore.c:2337 +#: config/tc-mcore.c:2263 #, c-format msgid "Can not do %d byte %srelocation" msgstr "No se puede hacer la reubicación de %d byte %s" -#: config/tc-mcore.c:2339 +#: config/tc-mcore.c:2265 msgid "pc-relative" msgstr "relativo al pc" #. Prototypes for static functions. -#: config/tc-mips.c:862 +#: config/tc-mips.c:957 #, c-format msgid "internal Error, line %d, %s" msgstr "Error interno, línea %d, %s" -#: config/tc-mips.c:1175 +#: config/tc-mips.c:1443 #, c-format msgid "internal: can't hash `%s': %s" msgstr "interno: no se puede dispersar `%s': %s" -#: config/tc-mips.c:1183 +#: config/tc-mips.c:1451 #, c-format msgid "internal error: bad mips16 opcode: %s %s\n" msgstr "error interno: código de operación mips16 erróneo: %s %s\n" -#: config/tc-mips.c:1376 +#: config/tc-mips.c:1652 #, c-format msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n" msgstr "devuelto de mips_ip(%s) insn_opcode = 0x%x\n" -#: config/tc-mips.c:2085 config/tc-mips.c:13223 +#: config/tc-mips.c:2327 config/tc-mips.c:13480 msgid "extended instruction in delay slot" msgstr "instrucción extendida en ranuta de retardo" -#: config/tc-mips.c:2145 config/tc-mips.c:2155 +#: config/tc-mips.c:2391 config/tc-mips.c:2401 #, c-format msgid "jump to misaligned address (0x%lx)" msgstr "salto a una dirección mal alineada (0x%lx)" -#: config/tc-mips.c:2148 config/tc-mips.c:2158 +#: config/tc-mips.c:2394 config/tc-mips.c:2404 #, c-format msgid "jump address range overflow (0x%lx)" msgstr "desbordamiento de rango de salto de dirección (0x%lx)" -#: config/tc-mips.c:2937 +#: config/tc-mips.c:2893 msgid "Macro instruction expanded into multiple instructions in a branch delay slot" msgstr "Instrucción macro expandida en instrucciones múltiples en una ranura de retraso de ramificación" -#: config/tc-mips.c:2940 +#: config/tc-mips.c:2896 msgid "Macro instruction expanded into multiple instructions" msgstr "Instrucción macro expandida en instrucciones múltiples" -#: config/tc-mips.c:3436 config/tc-mips.c:3602 config/tc-mips.c:5891 -msgid "constant too large" -msgstr "constante demasiado grande" - -#: config/tc-mips.c:3444 config/tc-mips.c:7375 config/tc-mips.c:7399 -#: config/tc-mips.c:7472 config/tc-mips.c:7495 +#: config/tc-mips.c:3414 config/tc-mips.c:7338 config/tc-mips.c:7362 +#: config/tc-mips.c:7435 config/tc-mips.c:7458 msgid "operand overflow" msgstr "desbordamiento de operando" -#: config/tc-mips.c:3463 config/tc-mips.c:4074 config/tc-mips.c:6765 -#: config/tc-mips.c:7562 +#: config/tc-mips.c:3433 config/tc-mips.c:4033 config/tc-mips.c:6734 +#: config/tc-mips.c:7525 msgid "Macro used $at after \".set noat\"" msgstr "La macro utilizó $at después de \".set noat\"" -#: config/tc-mips.c:3500 +#: config/tc-mips.c:3462 msgid "unsupported large constant" msgstr "constante large sin soporte" -#: config/tc-mips.c:3502 +#: config/tc-mips.c:3464 #, c-format msgid "Instruction %s requires absolute expression" msgstr "La instrucción %s requiere una expresión absoluta" -#: config/tc-mips.c:3637 +#: config/tc-mips.c:3597 config/tc-mips.c:5844 config/tc-mips.c:6438 #, c-format -msgid "Number (0x%lx) larger than 32 bits" -msgstr "El número (0x%lx) es más grande que 32 bits" +msgid "Number (0x%s) larger than 32 bits" +msgstr "El número (0x%s) es más grande que 32 bits" -#: config/tc-mips.c:3658 +#: config/tc-mips.c:3617 msgid "Number larger than 64 bits" msgstr "El número es más grande que 64 bits" -#: config/tc-mips.c:3952 config/tc-mips.c:3980 config/tc-mips.c:4018 -#: config/tc-mips.c:4063 config/tc-mips.c:6094 config/tc-mips.c:6133 -#: config/tc-mips.c:6172 config/tc-mips.c:6584 config/tc-mips.c:6636 +#: config/tc-mips.c:3911 config/tc-mips.c:3939 config/tc-mips.c:3977 +#: config/tc-mips.c:4022 config/tc-mips.c:6053 config/tc-mips.c:6092 +#: config/tc-mips.c:6131 config/tc-mips.c:6553 config/tc-mips.c:6605 msgid "PIC code offset overflow (max 16 signed bits)" msgstr "Desbordamiento del desplazamiento del código PIC (máx 16 bits con signo)" -#: config/tc-mips.c:4371 config/tc-mips.c:4437 config/tc-mips.c:4525 -#: config/tc-mips.c:4572 config/tc-mips.c:4633 config/tc-mips.c:4681 -#: config/tc-mips.c:7660 config/tc-mips.c:7667 config/tc-mips.c:7674 -#: config/tc-mips.c:7781 +#: config/tc-mips.c:4328 config/tc-mips.c:4394 config/tc-mips.c:4482 +#: config/tc-mips.c:4529 config/tc-mips.c:4590 config/tc-mips.c:4638 +#: config/tc-mips.c:7619 config/tc-mips.c:7626 config/tc-mips.c:7633 +#: config/tc-mips.c:7740 msgid "Unsupported large constant" msgstr "Constante large sin soporte" #. result is always true -#: config/tc-mips.c:4403 +#: config/tc-mips.c:4360 #, c-format msgid "Branch %s is always true" msgstr "La ramificación %s es siempre verdadera" -#: config/tc-mips.c:4644 config/tc-mips.c:4692 config/tc-mips.c:8106 +#: config/tc-mips.c:4601 config/tc-mips.c:4649 config/tc-mips.c:8309 #, c-format msgid "Improper position (%lu)" msgstr "Posición impropia (%lu)" -#: config/tc-mips.c:4650 config/tc-mips.c:8174 +#: config/tc-mips.c:4607 config/tc-mips.c:8376 #, c-format msgid "Improper extract size (%lu, position %lu)" msgstr "Tamaño de extract impropio (%lu, posición %lu)" -#: config/tc-mips.c:4698 config/tc-mips.c:8138 +#: config/tc-mips.c:4655 config/tc-mips.c:8340 #, c-format msgid "Improper insert size (%lu, position %lu)" msgstr "Tamaño de insert impropio (%lu, posición %lu)" -#: config/tc-mips.c:4735 config/tc-mips.c:4834 +#: config/tc-mips.c:4692 config/tc-mips.c:4789 msgid "Divide by zero." msgstr "División por cero." -#: config/tc-mips.c:4922 +#: config/tc-mips.c:4875 msgid "dla used to load 32-bit register" msgstr "Se usa dla para cargar registros de 32-bit" -#: config/tc-mips.c:4925 +#: config/tc-mips.c:4878 msgid "la used to load 64-bit address" msgstr "Se usa la para cargar registros de 64-bit" -#: config/tc-mips.c:5209 config/tc-mips.c:5488 +#: config/tc-mips.c:4990 +msgid "offset too large" +msgstr "desplazamiento demasiado grande" + +#: config/tc-mips.c:5162 config/tc-mips.c:5441 msgid "PIC code offset overflow (max 32 signed bits)" msgstr "Desbordamiento del desplazamiento del código PIC (máx 32 bits con signo)" -#: config/tc-mips.c:5534 +#: config/tc-mips.c:5487 msgid "MIPS PIC call to register other than $25" msgstr "Llamada PIC MIPS a un registro diferente de $25" -#: config/tc-mips.c:5540 config/tc-mips.c:5551 config/tc-mips.c:5675 -#: config/tc-mips.c:5686 +#: config/tc-mips.c:5493 config/tc-mips.c:5504 config/tc-mips.c:5628 +#: config/tc-mips.c:5639 msgid "No .cprestore pseudo-op used in PIC code" msgstr "No se utilizó el pseudo-operador .cprestore en el código PIC" -#: config/tc-mips.c:5545 config/tc-mips.c:5680 +#: config/tc-mips.c:5498 config/tc-mips.c:5633 msgid "No .frame pseudo-op used in PIC code" msgstr "No se utilizó el pseudo-operador .frame en el código PIC" -#: config/tc-mips.c:5751 config/tc-mips.c:5839 config/tc-mips.c:6379 -#: config/tc-mips.c:6410 config/tc-mips.c:6428 config/tc-mips.c:7072 +#: config/tc-mips.c:5704 config/tc-mips.c:5792 config/tc-mips.c:6338 +#: config/tc-mips.c:6369 config/tc-mips.c:6387 config/tc-mips.c:7037 msgid "opcode not supported on this processor" msgstr "el código de operación no tiene soporte en este procesador" -#: config/tc-mips.c:6938 config/tc-mips.c:6969 config/tc-mips.c:7020 -#: config/tc-mips.c:7050 +#: config/tc-mips.c:6903 config/tc-mips.c:6934 config/tc-mips.c:6985 +#: config/tc-mips.c:7015 msgid "Improper rotate count" msgstr "Cuenta de rotación impropia" -#: config/tc-mips.c:7105 +#: config/tc-mips.c:7070 #, c-format msgid "Instruction %s: result is always false" msgstr "Instrucción %s: el resultado es siempre falso" -#: config/tc-mips.c:7251 +#: config/tc-mips.c:7216 #, c-format msgid "Instruction %s: result is always true" msgstr "Instrucción %s: el resultado es siempre verdadero" #. FIXME: Check if this is one of the itbl macros, since they #. are added dynamically. -#: config/tc-mips.c:7558 +#: config/tc-mips.c:7521 #, c-format msgid "Macro %s not implemented yet" msgstr "La macro %s aún no está implementada" -#: config/tc-mips.c:7812 +#: config/tc-mips.c:7771 #, c-format msgid "internal: bad mips opcode (mask error): %s %s" msgstr "interno: código de operación mips erróneo (error de máscara): %s %s" -#: config/tc-mips.c:7837 config/tc-mips.c:8200 +#: config/tc-mips.c:7799 config/tc-mips.c:8430 #, c-format msgid "internal: bad mips opcode (unknown extension operand type `+%c'): %s %s" msgstr "interno: código de operación mips erróneo (tipo de operando `+%c' desconocido): %s %s" -#: config/tc-mips.c:7898 +#: config/tc-mips.c:7876 #, c-format msgid "internal: bad mips opcode (unknown operand type `%c'): %s %s" msgstr "interno: código de operación mips erróneo (tipo de operando `%c' desconocido): %s %s" -#: config/tc-mips.c:7905 +#: config/tc-mips.c:7883 #, c-format msgid "internal: bad mips opcode (bits 0x%lx undefined): %s %s" msgstr "interno: código de operación mips erróneo (bits 0x%lx indefinidos): %s %s" -#: config/tc-mips.c:8019 +#: config/tc-mips.c:8000 #, c-format msgid "opcode not supported on this processor: %s (%s)" msgstr "el código de operación no tiene soporte en este procesador: %s (%s)" -#: config/tc-mips.c:8194 config/tc-mips.c:8684 +#: config/tc-mips.c:8031 config/tc-mips.c:8045 config/tc-mips.c:8059 +#: config/tc-mips.c:8073 config/tc-mips.c:8100 config/tc-mips.c:8147 +#, c-format +msgid "DSP immediate not in range 0..%d (%lu)" +msgstr "el inmediato DSP no está en el rango 0..%d (%lu)" + +#: config/tc-mips.c:8092 config/tc-mips.c:8120 +msgid "Invalid dsp acc register" +msgstr "Registro acc dsc inválido" + +#: config/tc-mips.c:8131 config/tc-mips.c:8165 config/tc-mips.c:8184 +#, c-format +msgid "DSP immediate not in range %ld..%ld (%ld)" +msgstr "El inmediato DSP no está en el rango %ld..%ld (%ld)" + +#: config/tc-mips.c:8200 config/tc-mips.c:8214 +#, c-format +msgid "MT immediate not in range 0..%d (%lu)" +msgstr "El inmediato MT no está en el rango 0..%d (%lu)" + +#: config/tc-mips.c:8233 config/tc-mips.c:8246 +msgid "Invalid dsp/smartmips acc register" +msgstr "Registro acc dsp/smartmips inválido" + +#: config/tc-mips.c:8395 config/tc-mips.c:8899 msgid "absolute expression required" msgstr "se requiere una expresión absoluta" -#: config/tc-mips.c:8218 +#: config/tc-mips.c:8418 config/tc-mips.c:8579 +#, c-format +msgid "Invalid register number (%d)" +msgstr "Número de registro inválido (%d)" + +#: config/tc-mips.c:8426 +msgid "Invalid coprocessor 0 register number" +msgstr "Número de registro 0 de coprocesador inválido" + +#: config/tc-mips.c:8447 #, c-format msgid "Improper shift amount (%lu)" msgstr "Cantidad de desplazamiento impropia (%lu)" -#: config/tc-mips.c:8244 config/tc-mips.c:9517 config/tc-mips.c:9632 +#: config/tc-mips.c:8470 config/tc-mips.c:9731 config/tc-mips.c:9844 #, c-format msgid "Invalid value for `%s' (%lu)" msgstr "Valor inválido para `%s' (%lu)" -#: config/tc-mips.c:8262 +#: config/tc-mips.c:8485 #, c-format msgid "Illegal break code (%lu)" msgstr "Código de interrupción ilegal (%lu)" -#: config/tc-mips.c:8276 +#: config/tc-mips.c:8496 #, c-format msgid "Illegal lower break code (%lu)" msgstr "Código de interrupción inferior ilegal (%lu)" -#: config/tc-mips.c:8289 +#: config/tc-mips.c:8507 #, c-format msgid "Illegal 20-bit code (%lu)" msgstr "Código de 20-bit ilegal (%lu)" -#: config/tc-mips.c:8301 +#: config/tc-mips.c:8519 #, c-format msgid "Coproccesor code > 25 bits (%lu)" msgstr "Código de coprocesador > 25 bits (%lu)" -#: config/tc-mips.c:8314 +#: config/tc-mips.c:8532 #, c-format msgid "Illegal 19-bit code (%lu)" msgstr "Código de 19-bit ilegal (%lu)" -#: config/tc-mips.c:8326 +#: config/tc-mips.c:8543 #, c-format msgid "Invalid performance register (%lu)" msgstr "Registro de rendimiento inválido (%lu)" -#: config/tc-mips.c:8364 -#, c-format -msgid "Invalid register number (%d)" -msgstr "Número de registro inválido (%d)" - -#: config/tc-mips.c:8542 +#: config/tc-mips.c:8754 #, c-format msgid "Invalid MDMX Immediate (%ld)" msgstr "Inmediato MDMX inválido (%ld)" -#: config/tc-mips.c:8585 +#: config/tc-mips.c:8794 #, c-format msgid "Invalid float register number (%d)" msgstr "Número de registro de coma flotante inválido (%d)" -#: config/tc-mips.c:8595 +#: config/tc-mips.c:8810 #, c-format msgid "Float register should be even, was %d" msgstr "El registro de coma flotante debería ser par, era %d" -#: config/tc-mips.c:8634 +#: config/tc-mips.c:8849 #, c-format msgid "Bad element selector %ld" msgstr "Selector de elemento %ld erróneo" -#: config/tc-mips.c:8642 +#: config/tc-mips.c:8857 #, c-format msgid "Expecting ']' found '%s'" msgstr "Se esperaba ']', se encontró '%s'" -#: config/tc-mips.c:8746 +#: config/tc-mips.c:8963 #, c-format msgid "Bad floating point constant: %s" msgstr "Constante de coma flotante errónea: %s" -#: config/tc-mips.c:8867 +#: config/tc-mips.c:9084 msgid "Can't use floating point insn in this section" msgstr "No se pueden utilizar instrucciones de coma flotante en esta sección" -#: config/tc-mips.c:8928 +#: config/tc-mips.c:9145 msgid "expression out of range" msgstr "expresión fuera de rango" -#: config/tc-mips.c:8968 +#: config/tc-mips.c:9185 msgid "lui expression not in range 0..65535" msgstr "la expresión de 16 bit no está en el rango 0..65535" -#: config/tc-mips.c:8992 +#: config/tc-mips.c:9209 #, c-format msgid "Invalid condition code register $fcc%d" msgstr "Registro de código de condición $fcc%d inválido" -#: config/tc-mips.c:8997 +#: config/tc-mips.c:9214 #, c-format msgid "Condition code register should be even for %s, was %d" msgstr "El registro de código de condición debería ser par para %s, era %d" -#: config/tc-mips.c:9002 +#: config/tc-mips.c:9219 #, c-format msgid "Condition code register should be 0 or 4 for %s, was %d" msgstr "El registro de código de condición debería ser 0 o 4 para %s, era %d" -#: config/tc-mips.c:9028 +#: config/tc-mips.c:9245 msgid "invalid coprocessor sub-selection value (0-7)" msgstr "valor de subselección de coprocesador (0-7) inválido" -#: config/tc-mips.c:9040 config/tc-mips.c:9057 +#: config/tc-mips.c:9257 config/tc-mips.c:9274 #, c-format msgid "bad byte vector index (%ld)" msgstr "índice de vector de byte erróneo (%ld)" -#: config/tc-mips.c:9068 +#: config/tc-mips.c:9285 #, c-format msgid "bad char = '%c'\n" msgstr "carácter erróneo = '%c'\n" -#: config/tc-mips.c:9079 config/tc-mips.c:9084 config/tc-mips.c:9657 +#: config/tc-mips.c:9296 config/tc-mips.c:9301 config/tc-mips.c:9869 msgid "illegal operands" msgstr "operandos ilegales" -#: config/tc-mips.c:9150 +#: config/tc-mips.c:9367 msgid "unrecognized opcode" msgstr "códigos de operación no reconocidos" -#: config/tc-mips.c:9289 +#: config/tc-mips.c:9504 #, c-format msgid "invalid register number (%d)" msgstr "número de registro inválido (%d)" -#: config/tc-mips.c:9380 +#: config/tc-mips.c:9595 msgid "used $at without \".set noat\"" msgstr "se utilizó $at sin \".set noat\"" -#: config/tc-mips.c:9551 +#: config/tc-mips.c:9763 msgid "can't parse register list" msgstr "no se puede decodificar la lista de registros" -#: config/tc-mips.c:9775 +#: config/tc-mips.c:9987 msgid "extended operand requested but not required" msgstr "se solicitó un operando extendido pero no es necesario" -#: config/tc-mips.c:9777 +#: config/tc-mips.c:9989 msgid "invalid unextended operand value" msgstr "valor de operando no extendido inválido" -#: config/tc-mips.c:9805 +#: config/tc-mips.c:10017 msgid "operand value out of range for instruction" msgstr "el valor del operando está fuera de rango por la instrucción" -#: config/tc-mips.c:10245 +#: config/tc-mips.c:10469 #, c-format msgid "A different %s was already specified, is now %s" msgstr "Ya se había especificado un %s diferente, ahora es %s" -#: config/tc-mips.c:10441 +#: config/tc-mips.c:10689 msgid "-call_shared is supported only for ELF format" msgstr "-call_shared sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10448 config/tc-mips.c:10477 config/tc-mips.c:11571 -#: config/tc-mips.c:11805 +#: config/tc-mips.c:10696 config/tc-mips.c:10725 config/tc-mips.c:11834 +#: config/tc-mips.c:12060 msgid "-G may not be used with SVR4 PIC code" msgstr "-G no se puede utilizar con código PIC de SVR4" -#: config/tc-mips.c:10457 +#: config/tc-mips.c:10705 msgid "-non_shared is supported only for ELF format" msgstr "-non_shared sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10488 +#: config/tc-mips.c:10736 msgid "-32 is supported for ELF format only" msgstr "-32 sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10497 +#: config/tc-mips.c:10745 msgid "-n32 is supported for ELF format only" msgstr "-n32 sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10506 +#: config/tc-mips.c:10754 msgid "-64 is supported for ELF format only" msgstr "-64 sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10511 config/tc-mips.c:10548 +#: config/tc-mips.c:10759 config/tc-mips.c:10796 msgid "No compiled in support for 64 bit object file format" msgstr "No se compiló el soporte para el formato de fichero objeto de 64 bit" -#: config/tc-mips.c:10535 +#: config/tc-mips.c:10783 msgid "-mabi is supported for ELF format only" msgstr "-mabi sólo tiene soporte para el formato ELF" -#: config/tc-mips.c:10555 +#: config/tc-mips.c:10803 #, c-format msgid "invalid abi -mabi=%s" msgstr "interruptor abi -mabi=%s inválido" -#: config/tc-mips.c:10629 +#: config/tc-mips.c:10877 msgid "-G not supported in this configuration." msgstr "-G no tiene soporte en esta configuración." -#: config/tc-mips.c:10655 +#: config/tc-mips.c:10903 #, c-format msgid "-%s conflicts with the other architecture options, which imply -%s" msgstr "-%s tiene conflictos con las otras opciones de arquitectura, las cuales implican -%s" -#: config/tc-mips.c:10686 +#: config/tc-mips.c:10934 msgid "-mgp64 used with a 32-bit processor" msgstr "Se utilizó -mgp64 con un procesador de 32-bit" -#: config/tc-mips.c:10688 +#: config/tc-mips.c:10936 msgid "-mgp32 used with a 64-bit ABI" msgstr "se utilizó -mgp32 con un ABI de 64-bit" -#: config/tc-mips.c:10690 +#: config/tc-mips.c:10938 msgid "-mgp64 used with a 32-bit ABI" msgstr "se utilizó -mgp64 con un ABI de 32-bit" -#: config/tc-mips.c:10720 +#: config/tc-mips.c:10968 msgid "trap exception not supported at ISA 1" msgstr "la excepciónd de trampa no tiene soporte en ISA 1" -#: config/tc-mips.c:10974 +#: config/tc-mips.c:11229 msgid "Cannot branch to undefined symbol." msgstr "No se puede ramificar hacia un símbolo indefinido." -#: config/tc-mips.c:10981 +#: config/tc-mips.c:11236 msgid "Cannot branch to symbol in another section." msgstr "No se puede ramificar hacia un símbolo en otra sección." -#: config/tc-mips.c:10990 +#: config/tc-mips.c:11245 msgid "Pretending global symbol used as branch target is local." msgstr "Pretender que se use un símbolo global como objetivo de ramificación es local." -#: config/tc-mips.c:11147 config/tc-sparc.c:3230 config/tc-sparc.c:3237 -#: config/tc-sparc.c:3244 config/tc-sparc.c:3251 config/tc-sparc.c:3258 -#: config/tc-sparc.c:3267 config/tc-sparc.c:3278 config/tc-sparc.c:3300 -#: config/tc-sparc.c:3324 write.c:962 write.c:1034 +#: config/tc-mips.c:11402 config/tc-sparc.c:3229 config/tc-sparc.c:3236 +#: config/tc-sparc.c:3243 config/tc-sparc.c:3250 config/tc-sparc.c:3257 +#: config/tc-sparc.c:3266 config/tc-sparc.c:3277 config/tc-sparc.c:3299 +#: config/tc-sparc.c:3323 write.c:861 write.c:933 msgid "relocation overflow" msgstr "desbordamiento de reubicación" -#: config/tc-mips.c:11157 +#: config/tc-mips.c:11412 #, c-format msgid "Branch to odd address (%lx)" msgstr "Ramificación a una dirección impar (%lx)" -#: config/tc-mips.c:11206 +#: config/tc-mips.c:11461 msgid "Branch out of range" msgstr "Ramificación fuera de rango" -#: config/tc-mips.c:11285 +#: config/tc-mips.c:11540 #, c-format msgid "Alignment too large: %d. assumed." msgstr "Alineación demasiado grande: se asume %d." -#: config/tc-mips.c:11288 +#: config/tc-mips.c:11543 msgid "Alignment negative: 0 assumed." msgstr "Alineación negativa: se asume 0." -#: config/tc-mips.c:11527 +#: config/tc-mips.c:11780 #, c-format msgid "%s: no such section" msgstr "%s: no existe la sección" -#: config/tc-mips.c:11566 +#: config/tc-mips.c:11829 #, c-format msgid ".option pic%d not supported" msgstr ".option pic%d no tiene soporte" -#: config/tc-mips.c:11577 +#: config/tc-mips.c:11840 #, c-format msgid "Unrecognized option \"%s\"" msgstr "Opción \"%s\" no reconocida" -#: config/tc-mips.c:11639 +#: config/tc-mips.c:11893 msgid "`noreorder' must be set before `nomacro'" msgstr "se debe establecer `noreorder' antes de `nomacro'" -#: config/tc-mips.c:11690 +#: config/tc-mips.c:11952 #, c-format msgid "unknown architecture %s" msgstr "arquitectura %s desconocida" -#: config/tc-mips.c:11703 config/tc-mips.c:11733 +#: config/tc-mips.c:11965 config/tc-mips.c:11995 #, c-format msgid "unknown ISA level %s" msgstr "nivel ISA %s desconocido" -#: config/tc-mips.c:11711 +#: config/tc-mips.c:11973 #, c-format msgid "unknown ISA or architecture %s" msgstr "ISA o arquitectura %s desconocidos" -#: config/tc-mips.c:11761 +#: config/tc-mips.c:12023 msgid ".set pop with no .set push" msgstr ".set pop sin .set push" -#: config/tc-mips.c:11789 +#: config/tc-mips.c:12044 #, c-format msgid "Tried to set unrecognized symbol: %s\n" msgstr "Se trató de establecer el símbolo no reconocido: %s\n" -#: config/tc-mips.c:11847 +#: config/tc-mips.c:12102 msgid ".cpload not in noreorder section" msgstr ".cpload no está en la sección noreorder" -#: config/tc-mips.c:11916 config/tc-mips.c:11935 +#: config/tc-mips.c:12171 config/tc-mips.c:12190 msgid "missing argument separator ',' for .cpsetup" msgstr "falta el separador de argumentos ',' para .cpsetup" -#: config/tc-mips.c:12125 +#: config/tc-mips.c:12380 msgid "Unsupported use of .gpword" msgstr "Uso sin soporte de .gpword" -#: config/tc-mips.c:12161 +#: config/tc-mips.c:12416 msgid "Unsupported use of .gpdword" msgstr "Uso sin soporte de .gpdword" -#: config/tc-mips.c:12293 +#: config/tc-mips.c:12548 msgid "expected `$'" msgstr "se esperaba `$'" -#: config/tc-mips.c:12301 +#: config/tc-mips.c:12556 msgid "Bad register number" msgstr "Número de registro erróneo" -#: config/tc-mips.c:12349 +#: config/tc-mips.c:12604 msgid "Unrecognized register name" msgstr "Nombre de registro no reconocido" -#: config/tc-mips.c:12582 +#: config/tc-mips.c:12837 msgid "unsupported PC relative reference to different section" msgstr "referencia relativa al PC sin soporte a una sección diferente" -#: config/tc-mips.c:12695 config/tc-xtensa.c:1624 config/tc-xtensa.c:1835 +#: config/tc-mips.c:12950 config/tc-xtensa.c:1593 config/tc-xtensa.c:1804 msgid "unsupported relocation" msgstr "reubicación sin soporte" -#: config/tc-mips.c:12901 config/tc-sh.c:4302 +#: config/tc-mips.c:13158 #, c-format msgid "Can not represent %s relocation in this object file format" msgstr "No se puede representar la reubicación %s en este formato de fichero objeto" -#: config/tc-mips.c:12987 +#: config/tc-mips.c:13244 msgid "relaxed out-of-range branch into a jump" msgstr "ramificación relajada fuera de rango en un salto" -#: config/tc-mips.c:13501 +#: config/tc-mips.c:13766 msgid "missing .end at end of assembly" msgstr "falta un .end al final del ensamblado" -#: config/tc-mips.c:13516 +#: config/tc-mips.c:13781 msgid "expected simple number" msgstr "se esperaba un número simple" -#: config/tc-mips.c:13542 +#: config/tc-mips.c:13807 #, c-format msgid " *input_line_pointer == '%c' 0x%02x\n" msgstr " *input_line_pointer == '%c' 0x%02x\n" -#: config/tc-mips.c:13544 +#: config/tc-mips.c:13809 msgid "invalid number" msgstr "número inválido" -#: config/tc-mips.c:13617 +#: config/tc-mips.c:13882 msgid ".end not in text section" msgstr ".end no está en la sección text" -#: config/tc-mips.c:13621 +#: config/tc-mips.c:13886 msgid ".end directive without a preceding .ent directive." msgstr "directiva .end sin una directiva .ent precedente." -#: config/tc-mips.c:13630 +#: config/tc-mips.c:13895 msgid ".end symbol does not match .ent symbol." msgstr "el símbolo .end no coincide con el símbolo .ent." -#: config/tc-mips.c:13637 +#: config/tc-mips.c:13902 msgid ".end directive missing or unknown symbol" msgstr "falta la directiva .end o hay un símbolo desconocido" -#: config/tc-mips.c:13713 +#: config/tc-mips.c:13978 msgid ".ent or .aent not in text section." msgstr ".ent o .aent no están en la sección text." -#: config/tc-mips.c:13716 +#: config/tc-mips.c:13981 msgid "missing .end" msgstr "falta un .end" -#: config/tc-mips.c:13768 +#: config/tc-mips.c:14033 msgid "Bad .frame directive" msgstr "Directiva .frame errónea" -#: config/tc-mips.c:13800 +#: config/tc-mips.c:14065 msgid ".mask/.fmask outside of .ent" msgstr ".mask/.fmask fuera de .ent" -#: config/tc-mips.c:13807 +#: config/tc-mips.c:14072 msgid "Bad .mask/.fmask directive" msgstr "Directiva .mask/.fmask errónea" -#: config/tc-mips.c:14064 +#: config/tc-mips.c:14337 #, c-format msgid "" "MIPS options:\n" @@ -7652,7 +7480,7 @@ msgstr "" "-G NUM\t\t\tpermite la referencia a objetos hasta NUM bytes\n" "\t\t\timplícitamente con el registro gp [por defecto 8]\n" -#: config/tc-mips.c:14071 +#: config/tc-mips.c:14344 #, c-format msgid "" "-mips1\t\t\tgenerate MIPS ISA I instructions\n" @@ -7676,7 +7504,7 @@ msgstr "" "-mips64 genera instrucciones MIPS64 ISA\n" "-march=CPU/-mtune=CPU\tgenera código/calendarización para el CPU, donde CPU es uno de:\n" -#: config/tc-mips.c:14090 +#: config/tc-mips.c:14363 #, c-format msgid "" "-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n" @@ -7687,7 +7515,7 @@ msgstr "" "-no-mCPU\t\tno genera código específico para el CPU.\n" "\t\t\tPara -mCPU y -no-mCPU, CPU debe ser uno de:\n" -#: config/tc-mips.c:14103 +#: config/tc-mips.c:14376 #, c-format msgid "" "-mips16\t\t\tgenerate mips16 instructions\n" @@ -7696,10 +7524,29 @@ msgstr "" "-mips16\t\t\tgenera instrucciones mips16\n" "-no-mips16\t\tno genera instrucciones mips16\n" -#: config/tc-mips.c:14106 +#: config/tc-mips.c:14379 +#, c-format +msgid "" +"-mdsp\t\t\tgenerate DSP instructions\n" +"-mno-dsp\t\tdo not generate DSP instructions\n" +msgstr "" +"-mdsp\t\t\tgenera instrucciones DSP\n" +"-mno-dsp\t\tno genera instrucciones DSP\n" + +#: config/tc-mips.c:14382 +#, c-format +msgid "" +"-mmt\t\t\tgenerate MT instructions\n" +"-mno-mt\t\t\tdo not generate MT instructions\n" +msgstr "" +"-mmt\t\t\tgenera instrucciones MT\n" +"-mno-mt\t\tno genera instrucciones MT\n" + +#: config/tc-mips.c:14385 #, c-format msgid "" "-mfix-vr4120\t\twork around certain VR4120 errata\n" +"-mfix-vr4130\t\twork around VR4130 mflo/mfhi errata\n" "-mgp32\t\t\tuse 32-bit GPRs, regardless of the chosen ISA\n" "-mfp32\t\t\tuse 32-bit FPRs, regardless of the chosen ISA\n" "-mno-shared\t\toptimize output for executables\n" @@ -7711,6 +7558,7 @@ msgid "" "--break, --no-trap\tbreak exception on div by 0 and mult overflow\n" msgstr "" "-mfix-vr4120\t\tevita ciertos errores de VR4120\n" +"-mfix-vr4130\t\tevita los errores mflo/mfhi de VR4130\n" "-mgp32\t\t\tusa GPRs de 32-bit, sin importar el ISA escogido\n" "-mfp32\t\t\tusa FPRS de 32-bit, sin importar el ISA escogido\n" "-mno-shared\t\toptimiza la salida para ejecutables\n" @@ -7721,7 +7569,7 @@ msgstr "" "--trap, --no-break\texcepción de trampa en div por 0 y desbordamiento de mult\n" "--break, --no-trap\texcepción de interrupción en div por 0 y desbordamiento de mult\n" -#: config/tc-mips.c:14118 +#: config/tc-mips.c:14398 #, c-format msgid "" "-KPIC, -call_shared\tgenerate SVR4 position independent code\n" @@ -7740,7 +7588,7 @@ msgstr "" " código que no es compartido\n" "-mabi=ABI\t\tcrea un fichero objeto que cumple con el ABI para:\n" -#: config/tc-mips.c:14137 +#: config/tc-mips.c:14417 #, c-format msgid "" "-32\t\t\tcreate o32 ABI object file (default)\n" @@ -7751,12 +7599,12 @@ msgstr "" "-n32\t\t\tcrea ficheros objeto ABI o32\n" "-64\t\t\tcrea ficheros objeto ABI 64\n" -#: config/tc-mmix.c:713 +#: config/tc-mmix.c:694 #, c-format msgid " MMIX-specific command line options:\n" msgstr "Opciones de la línea de comandos específicas de MMIX:\n" -#: config/tc-mmix.c:714 +#: config/tc-mmix.c:695 #, c-format msgid "" " -fixed-special-register-names\n" @@ -7765,22 +7613,22 @@ msgstr "" " -fixed-special-register-names\n" " Sólo permite los nombres de registros especiales originales.\n" -#: config/tc-mmix.c:717 +#: config/tc-mmix.c:698 #, c-format msgid " -globalize-symbols Make all symbols global.\n" msgstr " -globalize-symbols Hace que todos los símbolos sean globales.\n" -#: config/tc-mmix.c:719 +#: config/tc-mmix.c:700 #, c-format msgid " -gnu-syntax Turn off mmixal syntax compatibility.\n" msgstr " -gnu-syntax Desactiva la compatibilidad con la sintaxis mmixal.\n" -#: config/tc-mmix.c:721 +#: config/tc-mmix.c:702 #, c-format msgid " -relax Create linker relaxable code.\n" msgstr " -relax Crea código relajable para el enlazador.\n" -#: config/tc-mmix.c:723 +#: config/tc-mmix.c:704 #, c-format msgid "" " -no-predefined-syms Do not provide mmixal built-in constants.\n" @@ -7789,7 +7637,7 @@ msgstr "" " -no-predefined-syms No provee las constantes internas de mmixal.\n" " Implica -fixed-special-register-names.\n" -#: config/tc-mmix.c:726 +#: config/tc-mmix.c:707 #, c-format msgid "" " -no-expand Do not expand GETA, branches, PUSHJ or JUMP\n" @@ -7798,17 +7646,17 @@ msgstr "" " -no-expand No expande GETA, ramificaciones, PUSHJ ó JUMP\n" " a instrucciones múltiples.\n" -#: config/tc-mmix.c:729 +#: config/tc-mmix.c:710 #, c-format msgid " -no-merge-gregs Do not merge GREG definitions with nearby values.\n" msgstr " -no-merge-gregs No mezcla las definiciones GREG con los valores cercanos.\n" -#: config/tc-mmix.c:731 +#: config/tc-mmix.c:712 #, c-format msgid " -linker-allocated-gregs If there's no suitable GREG definition for the operands of an instruction, let the linker resolve.\n" msgstr " -linker-allocated-gregs Si no hay una definición GREG adecuada para los operandos de una instrucción, dejar resolver al enlazador.\n" -#: config/tc-mmix.c:734 +#: config/tc-mmix.c:715 #, c-format msgid "" " -x Do not warn when an operand to GETA, a branch,\n" @@ -7821,185 +7669,185 @@ msgstr "" " del rango. El enlazador atrapará cualquier error.\n" " Implica -linker-allocated-gregs." -#: config/tc-mmix.c:861 +#: config/tc-mmix.c:841 #, c-format msgid "unknown opcode: `%s'" msgstr "código de operación desconocido: `%s'" -#: config/tc-mmix.c:983 config/tc-mmix.c:998 +#: config/tc-mmix.c:963 config/tc-mmix.c:978 msgid "specified location wasn't TETRA-aligned" msgstr "la ubicación especificada no estaba TETRA alineada" -#: config/tc-mmix.c:985 config/tc-mmix.c:1000 config/tc-mmix.c:4186 -#: config/tc-mmix.c:4202 +#: config/tc-mmix.c:965 config/tc-mmix.c:980 config/tc-mmix.c:4124 +#: config/tc-mmix.c:4140 msgid "unaligned data at an absolute location is not supported" msgstr "los datos sin alinear en una ubicación absoluta no tienen soporte" -#: config/tc-mmix.c:1110 +#: config/tc-mmix.c:1090 #, c-format msgid "invalid operand to opcode %s: `%s'" msgstr "operandos inválidos para el código de operación %s: `%s'" -#: config/tc-mmix.c:1132 config/tc-mmix.c:1159 config/tc-mmix.c:1192 -#: config/tc-mmix.c:1200 config/tc-mmix.c:1217 config/tc-mmix.c:1245 -#: config/tc-mmix.c:1266 config/tc-mmix.c:1291 config/tc-mmix.c:1339 -#: config/tc-mmix.c:1437 config/tc-mmix.c:1462 config/tc-mmix.c:1494 -#: config/tc-mmix.c:1526 config/tc-mmix.c:1556 config/tc-mmix.c:1609 -#: config/tc-mmix.c:1626 config/tc-mmix.c:1653 config/tc-mmix.c:1681 -#: config/tc-mmix.c:1708 config/tc-mmix.c:1734 config/tc-mmix.c:1750 -#: config/tc-mmix.c:1776 config/tc-mmix.c:1792 config/tc-mmix.c:1808 -#: config/tc-mmix.c:1871 config/tc-mmix.c:1887 +#: config/tc-mmix.c:1112 config/tc-mmix.c:1139 config/tc-mmix.c:1172 +#: config/tc-mmix.c:1180 config/tc-mmix.c:1197 config/tc-mmix.c:1225 +#: config/tc-mmix.c:1246 config/tc-mmix.c:1271 config/tc-mmix.c:1319 +#: config/tc-mmix.c:1417 config/tc-mmix.c:1442 config/tc-mmix.c:1474 +#: config/tc-mmix.c:1506 config/tc-mmix.c:1536 config/tc-mmix.c:1589 +#: config/tc-mmix.c:1606 config/tc-mmix.c:1633 config/tc-mmix.c:1661 +#: config/tc-mmix.c:1688 config/tc-mmix.c:1714 config/tc-mmix.c:1730 +#: config/tc-mmix.c:1756 config/tc-mmix.c:1772 config/tc-mmix.c:1788 +#: config/tc-mmix.c:1851 config/tc-mmix.c:1867 #, c-format msgid "invalid operands to opcode %s: `%s'" msgstr "operandos inválidos para el código de operación %s: `%s'" -#: config/tc-mmix.c:1864 +#: config/tc-mmix.c:1844 #, c-format msgid "unsupported operands to %s: `%s'" msgstr "operandos sin soporte para %s: `%s'" -#: config/tc-mmix.c:1992 +#: config/tc-mmix.c:1969 msgid "internal: mmix_prefix_name but empty prefix" msgstr "interno: hay un mmix_prefix_name pero es un prefijo vacío" -#: config/tc-mmix.c:2037 +#: config/tc-mmix.c:2013 #, c-format msgid "too many GREG registers allocated (max %d)" msgstr "se asignaron demasiados registros GREG (máximo %d)" -#: config/tc-mmix.c:2097 +#: config/tc-mmix.c:2071 msgid "BSPEC already active. Nesting is not supported." msgstr "BSPEC ya está activo. El anidamiento no tiene soporte." -#: config/tc-mmix.c:2106 +#: config/tc-mmix.c:2080 msgid "invalid BSPEC expression" msgstr "expresión BSPEC inválida" -#: config/tc-mmix.c:2122 +#: config/tc-mmix.c:2096 #, c-format msgid "can't create section %s" msgstr "no se puede crear la sección %s" -#: config/tc-mmix.c:2127 +#: config/tc-mmix.c:2101 #, c-format msgid "can't set section flags for section %s" msgstr "no se pueden establecer las opciones para la sección %s" -#: config/tc-mmix.c:2149 +#: config/tc-mmix.c:2122 msgid "ESPEC without preceding BSPEC" msgstr "ESPEC sin un BSPEC precedente" -#: config/tc-mmix.c:2179 +#: config/tc-mmix.c:2151 msgid "missing local expression" msgstr "falta una expresión local" -#: config/tc-mmix.c:2424 +#: config/tc-mmix.c:2389 msgid "operand out of range, instruction expanded" msgstr "el operando está fuera de rango, se expande la instrucción" #. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be #. user-friendly, though a little bit non-substantial. -#: config/tc-mmix.c:2682 +#: config/tc-mmix.c:2640 msgid "directive LOCAL must be placed in code or data" msgstr "la directiva LOCAL debe estar colocada en el código o en los datos" -#: config/tc-mmix.c:2683 +#: config/tc-mmix.c:2641 msgid "internal confusion: relocation in a section without contents" msgstr "confusión interna: reubiación en una sección sin contenido" -#: config/tc-mmix.c:2797 +#: config/tc-mmix.c:2755 msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section" msgstr "interno: BFD_RELOC_MMIX_BASE_PLUS_OFFSET no resuelve a la sección" -#: config/tc-mmix.c:2845 +#: config/tc-mmix.c:2803 msgid "no suitable GREG definition for operands" msgstr "no hay una definición GREG adecuada para los operandos" -#: config/tc-mmix.c:2904 +#: config/tc-mmix.c:2862 msgid "operands were not reducible at assembly-time" msgstr "los operandos no son reducibles en el momento del ensamblado" -#: config/tc-mmix.c:2931 +#: config/tc-mmix.c:2889 #, c-format msgid "cannot generate relocation type for symbol %s, code %s" msgstr "no se puede generar el tipo de reubicación para el símbolo %s, código %s" -#: config/tc-mmix.c:2951 +#: config/tc-mmix.c:2909 #, c-format msgid "internal: unhandled label %s" msgstr "interno: etiqueta %s sin manejar" -#: config/tc-mmix.c:3005 +#: config/tc-mmix.c:2939 msgid "[0-9]H labels may not appear alone on a line" msgstr "las etiquetas [0-9]H no pueden aparecer solas en una línea" -#: config/tc-mmix.c:3014 +#: config/tc-mmix.c:2948 msgid "[0-9]H labels do not mix with dot-pseudos" msgstr "las etiquetas [0-9]H no se mezclan con pseudo-puntos" -#: config/tc-mmix.c:3078 +#: config/tc-mmix.c:3036 msgid "invalid characters in input" msgstr "caracteres inválidos en la entrada" -#: config/tc-mmix.c:3182 +#: config/tc-mmix.c:3140 msgid "empty label field for IS" msgstr "campo de etiqueta vacío para IS" -#: config/tc-mmix.c:3515 +#: config/tc-mmix.c:3466 #, c-format msgid "internal: unexpected relax type %d:%d" msgstr "interno: tipo de relajación inesperado %d:%d" -#: config/tc-mmix.c:3537 +#: config/tc-mmix.c:3488 msgid "BSPEC without ESPEC." msgstr "BSPEC sin un ESPEC." -#: config/tc-mmix.c:3739 +#: config/tc-mmix.c:3688 msgid "GREG expression too complicated" msgstr "expresión GREG demasiado complicada" -#: config/tc-mmix.c:3754 +#: config/tc-mmix.c:3703 msgid "internal: GREG expression not resolved to section" msgstr "interno: la expresión GREG no resuelva a la sección" -#: config/tc-mmix.c:3805 +#: config/tc-mmix.c:3752 msgid "register section has contents\n" msgstr "la sección de registros tiene contenido\n" -#: config/tc-mmix.c:3939 +#: config/tc-mmix.c:3879 msgid "section change from within a BSPEC/ESPEC pair is not supported" msgstr "el cambio de sección desde dentro de una pareja BSPEC/ESPEC no tiene soporte" -#: config/tc-mmix.c:3961 +#: config/tc-mmix.c:3900 msgid "directive LOC from within a BSPEC/ESPEC pair is not supported" msgstr "una directiva LOC desde dentro de una pareja BSPEC/ESPEC no tiene soporte" -#: config/tc-mmix.c:3972 +#: config/tc-mmix.c:3911 msgid "invalid LOC expression" msgstr "expresión LOC inválida" -#: config/tc-mmix.c:3997 config/tc-mmix.c:4023 +#: config/tc-mmix.c:3936 config/tc-mmix.c:3962 msgid "LOC expression stepping backwards is not supported" msgstr "el paso hacia atrás de una expresión LOC no tiene soporte" #. We will only get here in rare cases involving #NO_APP, #. where the unterminated string is not recognized by the #. preformatting pass. -#: config/tc-mmix.c:4107 config/tc-mmix.c:4268 +#: config/tc-mmix.c:4046 config/tc-mmix.c:4206 msgid "unterminated string" msgstr "cadena sin terminar" -#: config/tc-mmix.c:4124 +#: config/tc-mmix.c:4063 msgid "BYTE expression not a pure number" msgstr "la expresión BYTE no es un número puro" #. Note that mmixal does not allow negative numbers in #. BYTE sequences, so neither should we. -#: config/tc-mmix.c:4133 +#: config/tc-mmix.c:4072 msgid "BYTE expression not in the range 0..255" msgstr "la expresión BYTE no está en el rango 0..255" -#: config/tc-mmix.c:4184 config/tc-mmix.c:4200 +#: config/tc-mmix.c:4122 config/tc-mmix.c:4138 msgid "data item with alignment larger than location" msgstr "elemento de datos con una alineación más grande que la ubicación" @@ -8009,7 +7857,7 @@ msgstr "elemento de datos con una alineaci msgid "`&' serial number operator is not supported" msgstr "el operador de número serial `&' no tiene soporte" -#: config/tc-mn10200.c:319 +#: config/tc-mn10200.c:305 #, c-format msgid "" "MN10200 options:\n" @@ -8018,14 +7866,14 @@ msgstr "" "Opciones MN10200:\n" "ninguna aún\n" -#: config/tc-mn10200.c:793 config/tc-mn10300.c:1392 config/tc-ppc.c:2120 -#: config/tc-s390.c:1522 config/tc-v850.c:1693 +#: config/tc-mn10200.c:931 config/tc-mn10300.c:1392 config/tc-ppc.c:2135 +#: config/tc-s390.c:1557 config/tc-v850.c:1621 #, c-format msgid "Unrecognized opcode: `%s'" msgstr "Código de operación no reconocido: `%s'" -#: config/tc-mn10200.c:1036 config/tc-mn10300.c:1965 config/tc-ppc.c:2599 -#: config/tc-s390.c:1437 config/tc-v850.c:2110 +#: config/tc-mn10200.c:1174 config/tc-mn10300.c:1965 config/tc-ppc.c:2614 +#: config/tc-s390.c:1472 config/tc-v850.c:2026 #, c-format msgid "junk at end of line: `%s'" msgstr "basura al final de la línea: `%s'" @@ -8039,7 +7887,7 @@ msgstr "" "Opciones de MN10300:\n" "ninguna aún\n" -#: config/tc-mn10300.c:1361 config/tc-sh.c:776 read.c:3729 +#: config/tc-mn10300.c:1361 config/tc-sh.c:778 read.c:3871 #, c-format msgid "unsupported BFD relocation size %u" msgstr "tamaño de reubicación BFD %u sin soporte" @@ -8052,43 +7900,43 @@ msgstr "C msgid "Invalid register specification." msgstr "Especificación de registro inválida." -#: config/tc-mn10300.c:2519 +#: config/tc-mn10300.c:2518 #, c-format msgid "Bad relocation fixup type (%d)" msgstr "Tipo de compostura de reubicación inválido (%d)" -#: config/tc-msp430.c:502 +#: config/tc-msp430.c:552 msgid ".profiler pseudo requires at least two operands." msgstr "el seudo .profiler requiere por lo menos dos operandos." -#: config/tc-msp430.c:561 +#: config/tc-msp430.c:611 msgid "unknown profiling flag - ignored." msgstr "opción de perfilado desconocida - se ignora." -#: config/tc-msp430.c:577 +#: config/tc-msp430.c:627 msgid "ambigious flags combination - '.profiler' directive ignored." msgstr "combinación de opciones ambigua - se ignora la directiva '.profiler'." -#: config/tc-msp430.c:587 +#: config/tc-msp430.c:637 msgid "profiling in absolute section? Hm..." msgstr "¿perfilando en la sección absoluta? Hm..." -#: config/tc-msp430.c:674 +#: config/tc-msp430.c:726 #, c-format msgid "Known MCU names:\n" msgstr "Nombres MCU conocidos:\n" -#: config/tc-msp430.c:677 +#: config/tc-msp430.c:729 #, c-format msgid "\t %s\n" msgstr "\t %s\n" -#: config/tc-msp430.c:703 +#: config/tc-msp430.c:755 #, c-format msgid "redefinition of mcu type %s' to %s'" msgstr "redefinición del tipo de mcu %s' a %s'" -#: config/tc-msp430.c:733 +#: config/tc-msp430.c:798 #, c-format msgid "" "MSP430 options:\n" @@ -8137,170 +7985,183 @@ msgstr "" " msp430x435 msp430x436 msp430x437\n" " msp430x447 msp430x448 msp430x449\n" -#: config/tc-msp430.c:943 +#: config/tc-msp430.c:821 +#, c-format +msgid "" +" -mQ - enable relaxation at assembly time. DANGEROUS!\n" +" -mP - enable polymorph instructions\n" +msgstr "" +" -mQ - permite la relajación en tiempo de ensamblado. ¡PELIGROSO!\n" +" -mP - permite las instrucciones polimórficas\n" + +#: config/tc-msp430.c:1011 #, c-format msgid "value %d out of range. Use #lo() or #hi()" msgstr "el valor %d está fuera de rango. Utilice #lo() o #hi()" -#: config/tc-msp430.c:1031 +#: config/tc-msp430.c:1099 #, c-format msgid "unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() " msgstr "expresión desconocida en el operando %s. Utilice #llo() #lhi() #hlo() #hhi() " -#: config/tc-msp430.c:1082 +#: config/tc-msp430.c:1150 #, c-format msgid "Registers cannot be used within immediate expression [%s]" msgstr "Los registros no se pueden usar en la expresión inmediata [%s]" -#: config/tc-msp430.c:1084 +#: config/tc-msp430.c:1152 #, c-format msgid "unknown operand %s" msgstr "operando %s desconocido" -#: config/tc-msp430.c:1106 config/tc-msp430.c:1241 +#: config/tc-msp430.c:1174 config/tc-msp430.c:1309 #, c-format msgid "value out of range: %d" msgstr "valor fuera de rango: %d" -#: config/tc-msp430.c:1117 +#: config/tc-msp430.c:1185 #, c-format msgid "Registers cannot be used within absolute expression [%s]" msgstr "Los registros no se pueden usar en la expresión absoluta [%s]" -#: config/tc-msp430.c:1119 config/tc-msp430.c:1262 +#: config/tc-msp430.c:1187 config/tc-msp430.c:1330 #, c-format msgid "unknown expression in operand %s" msgstr "expresión desconocida en el operando %s" -#: config/tc-msp430.c:1133 config/tc-msp430.c:1140 +#: config/tc-msp430.c:1201 config/tc-msp430.c:1208 #, c-format msgid "unknown addressing mode %s" msgstr "modo de direccionamiento %s desconocido" -#: config/tc-msp430.c:1148 +#: config/tc-msp430.c:1216 #, c-format msgid "Bad register name r%s" msgstr "Nombre de registro r%s erróneo" -#: config/tc-msp430.c:1160 +#: config/tc-msp430.c:1228 #, c-format msgid "MSP430 does not have %d registers" msgstr "MSP430 no tiene %d registros" -#: config/tc-msp430.c:1180 +#: config/tc-msp430.c:1248 msgid "')' required" msgstr "se requiere ')'" -#: config/tc-msp430.c:1193 +#: config/tc-msp430.c:1261 #, c-format msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?" msgstr "operador %s desconocido. ¿ Quiere decir X(Rn) ó #[hl][hl][oi](CONST) ?" -#: config/tc-msp430.c:1202 +#: config/tc-msp430.c:1270 #, c-format msgid "unknown operator (r%s substituded as a register name" msgstr "operador desconocido (se sustituyó r%s como un nombre de registro" -#: config/tc-msp430.c:1214 config/tc-msp430.c:1225 +#: config/tc-msp430.c:1282 config/tc-msp430.c:1293 #, c-format msgid "unknown operator %s" msgstr "operador %s desconocido" -#: config/tc-msp430.c:1219 +#: config/tc-msp430.c:1287 msgid "r2 should not be used in indexed addressing mode" msgstr "no se debe usar r2 en el modo de direccionamiento indizado" -#: config/tc-msp430.c:1260 +#: config/tc-msp430.c:1328 #, c-format msgid "Registers cannot be used as a prefix of indexed expression [%s]" msgstr "Los registros no se pueden usar en la expresión indizada [%s]" #. Unreachable. -#: config/tc-msp430.c:1309 +#: config/tc-msp430.c:1377 #, c-format msgid "unknown addressing mode for operand %s" msgstr "modo de direccionamiento desconocido para el operando %s" -#: config/tc-msp430.c:1334 +#: config/tc-msp430.c:1402 #, c-format msgid "Internal bug. Try to use 0(r%d) instead of @r%d" msgstr "Bicho interno. Intente utilizar 0(r%d) en lugar de @r%d" -#: config/tc-msp430.c:1344 +#: config/tc-msp430.c:1412 msgid "this addressing mode is not applicable for destination operand" msgstr "Este modo de direccionamiento no se puede aplicar al operando destino" -#: config/tc-msp430.c:1388 +#: config/tc-msp430.c:1456 #, c-format msgid "instruction %s requires %d operand(s)" msgstr "La instrucción %s requiere de %d operando(s)" -#: config/tc-msp430.c:1634 +#: config/tc-msp430.c:1709 #, c-format msgid "Even number required. Rounded to %d" msgstr "Se requiere un número par. Se redondea a %d" -#: config/tc-msp430.c:1645 +#: config/tc-msp430.c:1720 #, c-format msgid "Wrong displacement %d" msgstr "Desubicación errónea %d" -#: config/tc-msp430.c:1662 +#: config/tc-msp430.c:1737 msgid "instruction requires label sans '$'" msgstr "la instrucción requiere una etiqueta sin '$'" -#: config/tc-msp430.c:1668 +#: config/tc-msp430.c:1742 msgid "instruction requires label or value in range -511:512" msgstr "la instrucción requiere una etiqueta o valor en el rango -511:512" -#: config/tc-msp430.c:1674 config/tc-msp430.c:1707 config/tc-msp430.c:1739 +#: config/tc-msp430.c:1749 config/tc-msp430.c:1793 config/tc-msp430.c:1832 msgid "instruction requires label" msgstr "La instrucción requiere una etiqueta" -#: config/tc-msp430.c:1743 +#: config/tc-msp430.c:1757 config/tc-msp430.c:1799 +msgid "polymorphs are not enabled. Use -mP option to enable." +msgstr "los polimórficos no están activados. Use la opción -mP para activar." + +#: config/tc-msp430.c:1836 msgid "Ilegal instruction or not implmented opcode." msgstr "Instrucción ilegal o código de operación no implementado." -#: config/tc-msp430.c:2075 +#: config/tc-msp430.c:2187 #, c-format msgid "internal inconsistency problem in %s: insn %04lx" msgstr "problema de inconsistencia interna en %s: insn %04lx" -#: config/tc-msp430.c:2105 config/tc-msp430.c:2128 +#: config/tc-msp430.c:2217 config/tc-msp430.c:2240 #, c-format msgid "internal inconsistency problem in %s: ext. insn %04lx" msgstr "problema de inconsistencia interna en %s: ext. insn %04lx" -#: config/tc-msp430.c:2140 +#: config/tc-msp430.c:2252 #, c-format msgid "internal inconsistency problem in %s: %lx" msgstr "problema de inconsistencia interna en %s: %lx" -#: config/tc-ns32k.c:449 +#: config/tc-ns32k.c:441 msgid "Invalid syntax in PC-relative addressing mode" msgstr "Sintaxis inválida en el modo de direccionamiento relativo al PC" -#: config/tc-ns32k.c:473 +#: config/tc-ns32k.c:465 msgid "Invalid syntax in External addressing mode" msgstr "Sintaxis inválida en el modo de direccionamiento Externo" -#: config/tc-ns32k.c:554 +#: config/tc-ns32k.c:546 msgid "Invalid syntax in Memory Relative addressing mode" msgstr "Sintaxis inválida en el modo de direccionamiento Relativo a Memoria" -#: config/tc-ns32k.c:621 +#: config/tc-ns32k.c:613 msgid "Invalid scaled-indexed mode, use (b,w,d,q)" msgstr "Modo escalado-indizado inválido, utilice (b,w,d,q)" -#: config/tc-ns32k.c:626 +#: config/tc-ns32k.c:618 msgid "Syntax in scaled-indexed mode, use [Rn:m] where n=[0..7] m={b,w,d,q}" msgstr "Sintaxis en el modo escalado-indizado, utilice [Rn:m] donde n=[0..7] m={b,w,d,q}" -#: config/tc-ns32k.c:631 +#: config/tc-ns32k.c:623 msgid "Scaled-indexed addressing mode combined with scaled-index" msgstr "Modo de direccionamiento escalado-indizado combinado con índice-escalado" -#: config/tc-ns32k.c:642 +#: config/tc-ns32k.c:634 msgid "Invalid or illegal addressing mode combined with scaled-index" msgstr "Modo de direccionamiento inválido o ilegal combiando con índice-escalado" @@ -8312,35 +8173,35 @@ msgstr "Fin de sufijo prematuro -- Cambiando por defecto a d" msgid "Bad suffix after ':' use {b|w|d} Defaulting to d" msgstr "Sufijo erróneo después de ':' utilice {b|w|d} Cambiando por defecto a d" -#: config/tc-ns32k.c:817 +#: config/tc-ns32k.c:815 msgid "Very short instr to option, ie you can't do it on a NULLstr" msgstr "Instrucción muy corta para la opción, p.e. no lo puede hacer en un NULLstr" -#: config/tc-ns32k.c:870 +#: config/tc-ns32k.c:865 msgid "No such entry in list. (cpu/mmu register)" msgstr "No existe esa entrada en la lista. (registros cpu/mmu)" -#: config/tc-ns32k.c:915 +#: config/tc-ns32k.c:922 msgid "Internal consistency error. check ns32k-opcode.h" msgstr "Error de consistencia interno. revise ns32k-opcode.h" -#: config/tc-ns32k.c:939 +#: config/tc-ns32k.c:946 msgid "Address of immediate operand" msgstr "Dirección del operando inmediato" -#: config/tc-ns32k.c:940 +#: config/tc-ns32k.c:947 msgid "Invalid immediate write operand." msgstr "Operando de escritura inmediato inválido." -#: config/tc-ns32k.c:1070 +#: config/tc-ns32k.c:1077 msgid "Bad opcode-table-option, check in file ns32k-opcode.h" msgstr "Opción-de-tabla-de-códigos-de-operación errónea, revise en el fichero ns32k-opcode.h" -#: config/tc-ns32k.c:1107 +#: config/tc-ns32k.c:1110 msgid "No such opcode" msgstr "No existe ese código de operación" -#: config/tc-ns32k.c:1184 +#: config/tc-ns32k.c:1185 msgid "Bad suffix, defaulting to d" msgstr "Sufijo erróneo, cambiando por defecto a d" @@ -8349,94 +8210,94 @@ msgid "Too many operands passed to instruction" msgstr "Se pasaron demasiados operandos a la instrucción" #. Check error in default. -#: config/tc-ns32k.c:1225 +#: config/tc-ns32k.c:1224 msgid "Wrong numbers of operands in default, check ns32k-opcodes.h" msgstr "Número erróneo de operandos por defecto, revise ns32k-opcodes.h" -#: config/tc-ns32k.c:1229 +#: config/tc-ns32k.c:1227 msgid "Wrong number of operands" msgstr "Número erróneo de operandos" -#: config/tc-ns32k.c:1355 -msgid "iif convert internal pcrel/binary" -msgstr "iif convierte a pcrel/binario interno" - -#: config/tc-ns32k.c:1372 -msgid "Bignum too big for long" -msgstr "Número grande demasiado grande para long" - -#: config/tc-ns32k.c:1451 -msgid "iif convert internal pcrel/pointer" -msgstr "iif convierte a pcrel/puntero interno" - -#: config/tc-ns32k.c:1456 -msgid "Internal logic error in iif.iifP[n].type" -msgstr "Error interno de lógica en iif.iifP[n].tipo" - -#. We cant relax this case. -#: config/tc-ns32k.c:1493 -msgid "Can't relax difference" -msgstr "No se puede relajar la diferencia" - -#: config/tc-ns32k.c:1541 -msgid "Displacement to large for :d" -msgstr "Desubicación demasiado grande para :d" - -#: config/tc-ns32k.c:1554 -msgid "Internal logic error in iif.iifP[].type" -msgstr "Error interno de lógica en iif.iifP[].tipo" - -#: config/tc-ns32k.c:1614 +#: config/tc-ns32k.c:1300 #, c-format msgid "Can not do %d byte pc-relative relocation for storage type %d" msgstr "No se puede hacer la reubicación relativa al pc de %d byte para el tipo de almacenamiento %d" -#: config/tc-ns32k.c:1617 +#: config/tc-ns32k.c:1303 #, c-format msgid "Can not do %d byte relocation for storage type %d" msgstr "No se puede hacer la reubicación de %d byte para el tipo de almacenamiento %d" -#. Fatal. -#: config/tc-ns32k.c:1652 -#, c-format -msgid "Can't hash %s: %s" -msgstr "No se puede dispersar %s: %s" - -#: config/tc-ns32k.c:1740 +#: config/tc-ns32k.c:1395 #, c-format msgid "value of %ld out of byte displacement range." msgstr "valor de %ld fuera del rango de desubicación de byte." -#: config/tc-ns32k.c:1749 +#: config/tc-ns32k.c:1405 #, c-format msgid "value of %ld out of word displacement range." msgstr "valor de %ld fuera del rango de desubicación de word." -#: config/tc-ns32k.c:1763 +#: config/tc-ns32k.c:1420 #, c-format msgid "value of %ld out of double word displacement range." msgstr "valor de %ld fuera del rango de desubicación de doble word." -#: config/tc-ns32k.c:1783 +#: config/tc-ns32k.c:1441 #, c-format msgid "Internal logic error. line %d, file \"%s\"" msgstr "Error lógico interno. línea %d, fichero \"%s\"" -#: config/tc-ns32k.c:1831 +#: config/tc-ns32k.c:1489 #, c-format msgid "Internal logic error. line %d, file \"%s\"" msgstr "Error lógico interno. línea %d, fichero \"%s\"" -#: config/tc-ns32k.c:1936 +#: config/tc-ns32k.c:1590 msgid "Bit field out of range" msgstr "Campo de bits fuera de rango" -#: config/tc-ns32k.c:2180 +#: config/tc-ns32k.c:1690 +msgid "iif convert internal pcrel/binary" +msgstr "iif convierte a pcrel/binario interno" + +#: config/tc-ns32k.c:1707 +msgid "Bignum too big for long" +msgstr "Número grande demasiado grande para long" + +#: config/tc-ns32k.c:1784 +msgid "iif convert internal pcrel/pointer" +msgstr "iif convierte a pcrel/puntero interno" + +#: config/tc-ns32k.c:1789 +msgid "Internal logic error in iif.iifP[n].type" +msgstr "Error interno de lógica en iif.iifP[n].tipo" + +#. We cant relax this case. +#: config/tc-ns32k.c:1825 +msgid "Can't relax difference" +msgstr "No se puede relajar la diferencia" + +#: config/tc-ns32k.c:1866 +msgid "Displacement to large for :d" +msgstr "Desubicación demasiado grande para :d" + +#: config/tc-ns32k.c:1879 +msgid "Internal logic error in iif.iifP[].type" +msgstr "Error interno de lógica en iif.iifP[].tipo" + +#. Fatal. +#: config/tc-ns32k.c:1911 +#, c-format +msgid "Can't hash %s: %s" +msgstr "No se puede dispersar %s: %s" + +#: config/tc-ns32k.c:2181 #, c-format msgid "invalid architecture option -m%s, ignored" msgstr "opción de arquitectura -m%s inválida, se ignora" -#: config/tc-ns32k.c:2193 +#: config/tc-ns32k.c:2194 #, c-format msgid "invalid default displacement size \"%s\". Defaulting to %d." msgstr "tamaño de desubicación por defecto \"%s\" inválido. Cambiando a %d por defecto." @@ -8452,70 +8313,71 @@ msgstr "" "-m32032 | -m32532\tselecciona la variante de la arquitectura NS32K\n" "--disp-size-default=<1|2|4>\n" -#: config/tc-ns32k.c:2394 +#: config/tc-ns32k.c:2285 #, c-format msgid "Cannot find relocation type for symbol %s, code %d" msgstr "No se puede encontrar el tipo de reubicación para el símbolo %s, código %d" -#: config/tc-or32.c:465 config/tc-or32.c:676 +#: config/tc-or32.c:360 #, c-format msgid "unknown opcode1: `%s'" msgstr "código de operación1 desconocido: `%s'" -#: config/tc-or32.c:471 config/tc-or32.c:682 +#: config/tc-or32.c:366 #, c-format msgid "unknown opcode2 `%s'." msgstr "código de operación2 `%s' desconocido." -#: config/tc-or32.c:510 config/tc-or32.c:721 +#: config/tc-or32.c:403 #, c-format msgid "instruction not allowed: %s" msgstr "no se permite la instrucción: %s" -#: config/tc-or32.c:513 config/tc-or32.c:724 +#: config/tc-or32.c:406 #, c-format msgid "too many operands: %s" msgstr "demasiados operandos: %s" -#: config/tc-or32.c:599 config/tc-or32.c:811 +#: config/tc-or32.c:490 msgid "call/jmp target out of range (1)" msgstr "objetivo call/jmp fuera de rango (1)" -#: config/tc-or32.c:1004 config/tc-or32.c:1112 +#: config/tc-or32.c:674 msgid "call/jmp target out of range (2)" msgstr "objetivo call/jmp fuera de rango (2)" -#: config/tc-or32.c:1402 -msgid "register out of range" -msgstr "registro fuera de rango" +#: config/tc-or32.c:693 +#, c-format +msgid "bad relocation type: 0x%02x" +msgstr "tipo de reubicación erróneo: 0x%02x" -#: config/tc-or32.c:1447 +#: config/tc-or32.c:885 msgid "invalid register in & expression" msgstr "registro inválido en la expresión &" -#: config/tc-pdp11.c:431 +#: config/tc-pdp11.c:490 msgid "Low order bits truncated in immediate float operand" msgstr "Se truncaron los bits de orden inferior en el operando de coma flotante inmediato" -#: config/tc-pdp11.c:620 +#: config/tc-pdp11.c:679 #, c-format msgid "Unknown instruction '%s'" msgstr "Instrucción '%s' desconocida" -#: config/tc-pj.c:83 config/tc-pj.c:91 +#: config/tc-pj.c:66 config/tc-pj.c:75 msgid "confusing relocation expressions" msgstr "expresiones de reubicación confusas" -#: config/tc-pj.c:182 +#: config/tc-pj.c:158 msgid "can't have relocation for ipush" msgstr "no se puede tener una reubicación para ipush" -#: config/tc-pj.c:289 +#: config/tc-pj.c:261 #, c-format msgid "unknown opcode %s" msgstr "código de operación %s desconocido" -#: config/tc-pj.c:438 +#: config/tc-pj.c:404 #, c-format msgid "" "PJ options:\n" @@ -8526,8 +8388,8 @@ msgstr "" "-little\t\t\tgenera código little endian\n" "-big\t\t\tgenera código big endian\n" -#: config/tc-pj.c:468 config/tc-sh.c:3978 config/tc-sh.c:3985 -#: config/tc-sh.c:3992 config/tc-sh.c:3999 +#: config/tc-pj.c:431 config/tc-sh.c:3955 config/tc-sh.c:3962 +#: config/tc-sh.c:3969 config/tc-sh.c:3976 msgid "pcrel too far" msgstr "pcrel demasiado lejos" @@ -8539,17 +8401,17 @@ msgstr "convert_frag\n" msgid "estimate size\n" msgstr "tamaño estimado\n" -#: config/tc-ppc.c:980 +#: config/tc-ppc.c:991 #, c-format msgid "%s unsupported" msgstr "%s no tiene soporte" -#: config/tc-ppc.c:1046 config/tc-s390.c:415 config/tc-s390.c:422 +#: config/tc-ppc.c:1057 config/tc-s390.c:417 config/tc-s390.c:424 #, c-format msgid "invalid switch -m%s" msgstr "interruptor -m%s inválido" -#: config/tc-ppc.c:1083 +#: config/tc-ppc.c:1094 #, c-format msgid "" "PowerPC options:\n" @@ -8579,7 +8441,7 @@ msgstr "" "-m7400, -m7410, -m7450, -m7455\n" "\t\t\tgenera código para PowerPC 7400/7410/7450/7455\n" -#: config/tc-ppc.c:1097 +#: config/tc-ppc.c:1108 #, c-format msgid "" "-mppc64, -m620\t\tgenerate code for PowerPC 620/625/630\n" @@ -8587,6 +8449,7 @@ msgid "" "-mbooke64\t\tgenerate code for 64-bit PowerPC BookE\n" "-mbooke, mbooke32\tgenerate code for 32-bit PowerPC BookE\n" "-mpower4\t\tgenerate code for Power4 architecture\n" +"-mpower5\t\tgenerate code for Power5 architecture\n" "-mcom\t\t\tgenerate code Power/PowerPC common instructions\n" "-many\t\t\tgenerate code for any architecture (PWR/PWRX/PPC)\n" msgstr "" @@ -8596,25 +8459,28 @@ msgstr "" "-mbooke64\t\tgenera código para PowerPC BookE de 64-bit\n" "-mbooke, mbooke32\tgenera código para PowerPC BookE de 32-bit\n" "-mpower4\t\tgenera código para la arquitectura Power4\n" +"-mpower5\t\tgenera código para la arquitectura Power5\n" "-mcom\t\t\tgenera código de instrucciones comunes Power/PowerPC\n" "-many\t\t\tgenera código para cualquier arquitectura (PWR/PWRX/PPC)\n" -#: config/tc-ppc.c:1105 +#: config/tc-ppc.c:1117 #, c-format msgid "" "-maltivec\t\tgenerate code for AltiVec\n" +"-me300\t\t\tgenerate code for PowerPC e300 family\n" "-me500, -me500x2\tgenerate code for Motorola e500 core complex\n" "-mspe\t\t\tgenerate code for Motorola SPE instructions\n" "-mregnames\t\tAllow symbolic names for registers\n" "-mno-regnames\t\tDo not allow symbolic names for registers\n" msgstr "" "-maltivec\t\tgenera código para AltiVec\n" +"-me300\t\t\tgenera código para la familia PowerPC e300\n" "-me500, -me500x2\tgenera código para el núcleo complejo Motorola e500\n" "-mspe\t\t\tgenera código para las instrucciones Motorola SPE\n" "-mregnames\t\tPermite nombres simbólicos para los registros\n" "-mno-regnames\t\tNo permite nombres simbólicos para los registros\n" -#: config/tc-ppc.c:1112 +#: config/tc-ppc.c:1125 #, c-format msgid "" "-mrelocatable\t\tsupport for GCC's -mrelocatble option\n" @@ -8641,251 +8507,251 @@ msgstr "" "-V\t\t\tmuestra el número de versión del ensamblador\n" "-Qy, -Qn\t\tse ignora\n" -#: config/tc-ppc.c:1154 +#: config/tc-ppc.c:1162 #, c-format msgid "Unknown default cpu = %s, os = %s" msgstr "Cpu por defecto desconocido = %s, os = %s" -#: config/tc-ppc.c:1180 +#: config/tc-ppc.c:1188 msgid "Neither Power nor PowerPC opcodes were selected." msgstr "No se escogieron los códigos de operación Power ni PowerPC" -#: config/tc-ppc.c:1270 config/tc-s390.c:517 +#: config/tc-ppc.c:1285 config/tc-s390.c:519 #, c-format msgid "Internal assembler error for instruction %s" msgstr "Error interno del ensamblador para la instrucción %s" -#: config/tc-ppc.c:1294 +#: config/tc-ppc.c:1309 #, c-format msgid "Internal assembler error for macro %s" msgstr "Error interno del ensamblador para la macro %s" -#: config/tc-ppc.c:1625 +#: config/tc-ppc.c:1640 msgid "identifier+constant@got means identifier@got+constant" msgstr "identificador+constante@got significa identificador@got+constante" -#: config/tc-ppc.c:1692 +#: config/tc-ppc.c:1707 #, c-format msgid "%s relocations do not fit in %d bytes\n" msgstr "%s reubicaciones no caben en %d bytes\n" -#: config/tc-ppc.c:1799 +#: config/tc-ppc.c:1814 #, c-format msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld." msgstr "La longitud de .lcomm \"%s\" ya es %ld. No se cambió a %ld." -#: config/tc-ppc.c:1881 +#: config/tc-ppc.c:1896 msgid "Relocation cannot be done when using -mrelocatable" msgstr "No se puede hacer la reubicación cuando se utiliza -mrelocatable" -#: config/tc-ppc.c:1930 +#: config/tc-ppc.c:1945 msgid "TOC section size exceeds 64k" msgstr "el tamaño de la sección TOC excede los 64k" -#: config/tc-ppc.c:2012 +#: config/tc-ppc.c:2027 #, c-format msgid "syntax error: invalid toc specifier `%s'" msgstr "error sintáctico: especificador de tabla de contenidos `%s' inválido" -#: config/tc-ppc.c:2026 +#: config/tc-ppc.c:2041 #, c-format msgid "syntax error: expected `]', found `%c'" msgstr "error sintáctico: se esperaba `]', se obtuvo `%c'" -#: config/tc-ppc.c:2305 +#: config/tc-ppc.c:2320 msgid "[tocv] symbol is not a toc symbol" msgstr "el símbolo [tocv] no es un símbolo de tabla de contenido" -#: config/tc-ppc.c:2316 +#: config/tc-ppc.c:2331 msgid "Unimplemented toc32 expression modifier" msgstr "Modificador de expresión toc32 sin implementar" -#: config/tc-ppc.c:2321 +#: config/tc-ppc.c:2336 msgid "Unimplemented toc64 expression modifier" msgstr "Modificador de expresión toc64 sin implementar" -#: config/tc-ppc.c:2325 +#: config/tc-ppc.c:2340 #, c-format msgid "Unexpected return value [%d] from parse_toc_entry!\n" msgstr "¡Valor de devolución inesperado [%d] de parse_toc_entry!\n" -#: config/tc-ppc.c:2543 +#: config/tc-ppc.c:2558 msgid "unsupported relocation for DS offset field" msgstr "tipo de reubicación sin soporte para el campo de desplazamiento DS" -#: config/tc-ppc.c:2587 +#: config/tc-ppc.c:2602 #, c-format msgid "syntax error; found `%c' but expected `%c'" msgstr "error sintáctico; se encontró `%c' pero se esperaba `%c'" -#: config/tc-ppc.c:2630 config/tc-ppc.h:117 +#: config/tc-ppc.c:2645 config/tc-ppc.h:111 msgid "instruction address is not a multiple of 4" msgstr "la dirección de la instrucción no es un múltiplo de 4" -#: config/tc-ppc.c:2741 +#: config/tc-ppc.c:2756 msgid "wrong number of operands" msgstr "número erróneo de operandos" -#: config/tc-ppc.c:2797 +#: config/tc-ppc.c:2812 msgid "Bad .section directive: want a,e,w,x,M,S,G,T in string" msgstr "Directiva .section errónea: se quiere a,e,w,x,M,S,G,T en la cadena" -#: config/tc-ppc.c:2912 +#: config/tc-ppc.c:2927 msgid "missing size" msgstr "falta el tamaño" -#: config/tc-ppc.c:2921 +#: config/tc-ppc.c:2936 msgid "negative size" msgstr "tamaño negativo" -#: config/tc-ppc.c:2958 +#: config/tc-ppc.c:2973 msgid "missing real symbol name" msgstr "falta el nombre real del símbolo" -#: config/tc-ppc.c:2979 +#: config/tc-ppc.c:2994 msgid "attempt to redefine symbol" msgstr "se intentó redefinir el símbolo" -#: config/tc-ppc.c:3226 +#: config/tc-ppc.c:3241 msgid "The XCOFF file format does not support arbitrary sections" msgstr "El formato del fichero XCOFF no tiene soporte para secciones arbitrarias" -#: config/tc-ppc.c:3303 +#: config/tc-ppc.c:3318 msgid "missing rename string" msgstr "falta la cadena para renombrar" -#: config/tc-ppc.c:3334 config/tc-ppc.c:3889 read.c:3035 +#: config/tc-ppc.c:3349 config/tc-ppc.c:3904 read.c:3064 msgid "missing value" msgstr "falta el valor" -#: config/tc-ppc.c:3352 +#: config/tc-ppc.c:3367 msgid "illegal .stabx expression; zero assumed" msgstr "expresión .stabx ilegal; se asume cero" -#: config/tc-ppc.c:3384 +#: config/tc-ppc.c:3399 msgid "missing class" msgstr "falta la clase" -#: config/tc-ppc.c:3393 +#: config/tc-ppc.c:3408 msgid "missing type" msgstr "falta el tipo" -#: config/tc-ppc.c:3474 +#: config/tc-ppc.c:3489 msgid "missing symbol name" msgstr "falta el nombre del símbolo" -#: config/tc-ppc.c:3668 +#: config/tc-ppc.c:3683 msgid "nested .bs blocks" msgstr "bloques .bs anidados" -#: config/tc-ppc.c:3701 +#: config/tc-ppc.c:3716 msgid ".es without preceding .bs" msgstr ".es sin un .bs precedente" -#: config/tc-ppc.c:3881 +#: config/tc-ppc.c:3896 msgid "non-constant byte count" msgstr "cuenta de byte no constante" -#: config/tc-ppc.c:3929 +#: config/tc-ppc.c:3944 msgid ".tc not in .toc section" msgstr ".tc no está en la sección .toc" -#: config/tc-ppc.c:3948 +#: config/tc-ppc.c:3963 msgid ".tc with no label" msgstr ".tc sin etiqueta" -#: config/tc-ppc.c:4040 +#: config/tc-ppc.c:4055 msgid ".machine stack overflow" msgstr "desbordamiento de pila en .machine" -#: config/tc-ppc.c:4047 +#: config/tc-ppc.c:4062 msgid ".machine stack underflow" msgstr "desbordamiento por debajo de la pila en .machine" -#: config/tc-ppc.c:4054 +#: config/tc-ppc.c:4069 #, c-format msgid "invalid machine `%s'" msgstr "máquina `%s' inválida" -#: config/tc-ppc.c:4108 +#: config/tc-ppc.c:4123 msgid "No previous section to return to. Directive ignored." msgstr "No hay sección previa a la cual regresar. Se ignora la directiva." #. Section Contents #. unknown -#: config/tc-ppc.c:4525 +#: config/tc-ppc.c:4540 msgid "Unsupported section attribute -- 'a'" msgstr "Atributo de sección sin soporte -- 'a'" -#: config/tc-ppc.c:4714 +#: config/tc-ppc.c:4729 msgid "bad symbol suffix" msgstr "sufijo de símbolo erróneo" -#: config/tc-ppc.c:4807 +#: config/tc-ppc.c:4822 msgid "Unrecognized symbol suffix" msgstr "sufijo de símbolo no reconocido" -#: config/tc-ppc.c:4893 +#: config/tc-ppc.c:4912 msgid "two .function pseudo-ops with no intervening .ef" msgstr "dos pseudo-operadores .function sin un .ef que intervenga" -#: config/tc-ppc.c:4906 +#: config/tc-ppc.c:4925 msgid ".ef with no preceding .function" msgstr ".ef sin un .function precedente" -#: config/tc-ppc.c:5034 +#: config/tc-ppc.c:5053 #, c-format msgid "warning: symbol %s has no csect" msgstr "aviso: el símbolo %s no tiene csect" -#: config/tc-ppc.c:5338 +#: config/tc-ppc.c:5357 msgid "symbol in .toc does not match any .tc" msgstr "el símbolo en .toc no coincide con ningún .tc" -#: config/tc-ppc.c:5666 config/tc-s390.c:2057 config/tc-v850.c:2408 -#: config/tc-xstormy16.c:555 +#: config/tc-ppc.c:5686 config/tc-s390.c:2092 config/tc-v850.c:2314 +#: config/tc-xstormy16.c:538 msgid "unresolved expression that must be resolved" msgstr "expresión sin resolver que debe ser resuelta" -#: config/tc-ppc.c:5669 +#: config/tc-ppc.c:5689 #, c-format msgid "unsupported relocation against %s" msgstr "reubicación sin soporte contra %s" -#: config/tc-ppc.c:5744 +#: config/tc-ppc.c:5762 #, c-format msgid "cannot emit PC relative %s relocation against %s" msgstr "no se puede emitir la reubicación %s relativa al PC contra %s" -#: config/tc-ppc.c:5749 +#: config/tc-ppc.c:5767 #, c-format msgid "cannot emit PC relative %s relocation" msgstr "no se puede emitir la reubicación %s relativa al PC" -#: config/tc-ppc.c:5905 +#: config/tc-ppc.c:5949 #, c-format msgid "Unable to handle reference to symbol %s" msgstr "No se puede manejar la referencia al símbolo %s" -#: config/tc-ppc.c:5908 +#: config/tc-ppc.c:5952 msgid "Unable to resolve expression" msgstr "No se puede resolver la expresión" -#: config/tc-ppc.c:5935 +#: config/tc-ppc.c:5979 msgid "must branch to an address a multiple of 4" msgstr "se debe ramificar a una dirección que sea múltiplo de 4" -#: config/tc-ppc.c:5939 +#: config/tc-ppc.c:5983 #, c-format msgid "@local or @plt branch destination is too far away, %ld bytes" msgstr "el destino de la ramificación @local o @plt está demasiado lejos, %ld bytes" -#: config/tc-ppc.c:5970 +#: config/tc-ppc.c:6014 #, c-format msgid "Gas failure, reloc value %d\n" msgstr "Falla de gas, valor de reubicación %d\n" -#: config/tc-s390.c:458 +#: config/tc-s390.c:460 #, c-format msgid "" " S390 options:\n" @@ -8902,7 +8768,7 @@ msgstr "" " -m31 Establece el formato del fichero al formato 31 bit\n" " -m64 Establece el formato del fichero al formato 64 bit\n" -#: config/tc-s390.c:465 +#: config/tc-s390.c:467 #, c-format msgid "" " -V print assembler version number\n" @@ -8911,75 +8777,70 @@ msgstr "" " -V muestra el número de versión del ensamblador\n" " -Qy, -Qn se ignora\n" -#: config/tc-s390.c:501 +#: config/tc-s390.c:503 #, c-format msgid "Internal assembler error for instruction format %s" msgstr "Error interno del ensamblador para la el formato de instrucción %s" -#: config/tc-s390.c:764 +#: config/tc-s390.c:766 #, c-format msgid "identifier+constant@%s means identifier@%s+constant" msgstr "identificador+constante@%s significa identificador@%s+constante" -#: config/tc-s390.c:847 +#: config/tc-s390.c:849 msgid "Can't handle O_big in s390_exp_compare" msgstr "No se puede manejar O_big en s390_exp_compare" -#: config/tc-s390.c:931 +#: config/tc-s390.c:933 msgid "Invalid suffix for literal pool entry" msgstr "Sufijo inválido para la entrada de conjunto de literales" -#: config/tc-s390.c:988 +#: config/tc-s390.c:990 msgid "Big number is too big" msgstr "El número grande es demasiado grande" -#: config/tc-s390.c:1126 config/tc-s390.c:1707 config/tc-xtensa.c:1632 -#, c-format -msgid "%s relocations do not fit in %d bytes" -msgstr "%s reubicaciones no caben en %d bytes" - -#: config/tc-s390.c:1136 +#: config/tc-s390.c:1138 msgid "relocation not applicable" msgstr "la reubicación no es aplicable" -#: config/tc-s390.c:1324 +#: config/tc-s390.c:1326 msgid "invalid operand suffix" msgstr "sufijo de operando inválido" -#: config/tc-s390.c:1347 +#: config/tc-s390.c:1349 msgid "syntax error; missing '(' after displacement" msgstr "error sintáctico; falta un '(' después de la desubicación" -#: config/tc-s390.c:1357 config/tc-s390.c:1390 config/tc-s390.c:1409 +#: config/tc-s390.c:1365 config/tc-s390.c:1409 config/tc-s390.c:1439 msgid "syntax error; expected ," msgstr "error sintáctico; se esperaba ," -#: config/tc-s390.c:1384 +#: config/tc-s390.c:1397 msgid "syntax error; missing ')' after base register" msgstr "error sintáctico; falta un '(' después del registro base" -#: config/tc-s390.c:1402 +#: config/tc-s390.c:1426 msgid "syntax error; ')' not allowed here" msgstr "errór sintáctico; no se permite aquí un ')'" -#: config/tc-s390.c:1584 config/tc-s390.c:1607 config/tc-s390.c:1620 +#: config/tc-s390.c:1619 config/tc-s390.c:1642 config/tc-s390.c:1655 msgid "Invalid .insn format\n" msgstr "Formato .insn inválido\n" -#: config/tc-s390.c:1592 +#: config/tc-s390.c:1627 #, c-format msgid "Unrecognized opcode format: `%s'" msgstr "Formato de código de operación no reconocido: `%s'" -#: config/tc-s390.c:1623 +#: config/tc-s390.c:1658 msgid "second operand of .insn not a constant\n" msgstr "el operando de .insn no es una constante\n" -#: config/tc-s390.c:1626 +#: config/tc-s390.c:1661 msgid "missing comma after insn constant\n" msgstr "falta una coma después de la constante insn\n" -#: config/tc-s390.c:2060 +#: config/tc-s390.c:2095 msgid "unsupported relocation type" msgstr "tipo de reubicación sin soporte" @@ -9160,11 +9021,11 @@ msgstr "No se permite c msgid "No segment info for current section" msgstr "No hay información de segmento para la sección actual" -#: config/tc-sh64.c:3257 +#: config/tc-sh64.c:3258 msgid "duplicate datalabel operator ignored" msgstr "se ignora el operador datalabel duplicado" -#: config/tc-sh64.c:3327 +#: config/tc-sh64.c:3328 msgid "Invalid DataLabel expression" msgstr "Expresión DataLabel inválida" @@ -9176,320 +9037,335 @@ msgstr "se encontr msgid "directive .little encountered when option -little required" msgstr "se encontró una directiva .little cuando se requirió una opción -little" -#: config/tc-sh.c:1245 +#: config/tc-sh.c:1277 msgid "misplaced PIC operand" msgstr "operando PIC mal colocado" -#: config/tc-sh.c:1283 +#: config/tc-sh.c:1315 msgid "illegal double indirection" msgstr "doble indirección ilegal" -#: config/tc-sh.c:1292 +#: config/tc-sh.c:1324 msgid "illegal register after @-" msgstr "registro ilegal después de @-" -#: config/tc-sh.c:1308 +#: config/tc-sh.c:1340 msgid "must be @(r0,...)" msgstr "debe ser @(r0,...)" -#: config/tc-sh.c:1332 +#: config/tc-sh.c:1364 msgid "syntax error in @(r0,...)" msgstr "error sintáctico en @(r0,...)" -#: config/tc-sh.c:1337 +#: config/tc-sh.c:1369 msgid "syntax error in @(r0...)" msgstr "error sintáctico en @(r0...)" -#: config/tc-sh.c:1382 +#: config/tc-sh.c:1414 msgid "Deprecated syntax." msgstr "Sintaxis deprecada." -#: config/tc-sh.c:1394 config/tc-sh.c:1399 +#: config/tc-sh.c:1426 config/tc-sh.c:1431 msgid "syntax error in @(disp,[Rn, gbr, pc])" msgstr "error sintáctico en @(disp,[Rn, gbr, pc])" -#: config/tc-sh.c:1404 +#: config/tc-sh.c:1436 msgid "expecting )" msgstr "se esperaba )" -#: config/tc-sh.c:1412 +#: config/tc-sh.c:1444 msgid "illegal register after @" msgstr "registro ilegal después de @" -#: config/tc-sh.c:2249 +#: config/tc-sh.c:2115 +#, c-format +msgid "unhandled %d\n" +msgstr "%d sin manejar\n" + +#: config/tc-sh.c:2281 #, c-format msgid "Invalid register: 'r%d'" msgstr "Registro inválido: 'r%d'" -#: config/tc-sh.c:2471 +#: config/tc-sh.c:2385 +#, c-format +msgid "failed for %d\n" +msgstr "falló para %d\n" + +#: config/tc-sh.c:2498 config/tc-sh.c:2894 +msgid "invalid operands for opcode" +msgstr "operandos inválidos para el código de operación" + +#: config/tc-sh.c:2503 msgid "insn can't be combined with parallel processing insn" msgstr "las instrucciones no se pueden combinar con instrucciones de procesamiento paralelo" -#: config/tc-sh.c:2478 config/tc-sh.c:2489 config/tc-sh.c:2521 +#: config/tc-sh.c:2510 config/tc-sh.c:2521 config/tc-sh.c:2553 msgid "multiple movx specifications" msgstr "especificaciones movx múltiples" -#: config/tc-sh.c:2483 config/tc-sh.c:2505 config/tc-sh.c:2544 +#: config/tc-sh.c:2515 config/tc-sh.c:2537 config/tc-sh.c:2576 msgid "multiple movy specifications" msgstr "especificaciones movy múltiples" -#: config/tc-sh.c:2492 config/tc-sh.c:2525 +#: config/tc-sh.c:2524 config/tc-sh.c:2557 msgid "invalid movx address register" msgstr "registro de dirección movx inválido" -#: config/tc-sh.c:2494 +#: config/tc-sh.c:2526 msgid "insn cannot be combined with non-nopy" msgstr "las instrucciones no se pueden combinar con las que no son nopy" -#: config/tc-sh.c:2508 config/tc-sh.c:2564 +#: config/tc-sh.c:2540 config/tc-sh.c:2596 msgid "invalid movy address register" msgstr "registro de dirección movy inválido" -#: config/tc-sh.c:2510 +#: config/tc-sh.c:2542 msgid "insn cannot be combined with non-nopx" msgstr "las instrucciones no se pueden combinar con las que no son nopx" -#: config/tc-sh.c:2523 +#: config/tc-sh.c:2555 msgid "previous movy requires nopx" msgstr "el movy previo requiere nopx" -#: config/tc-sh.c:2531 config/tc-sh.c:2536 +#: config/tc-sh.c:2563 config/tc-sh.c:2568 msgid "invalid movx dsp register" msgstr "registro dsp movx inválido" -#: config/tc-sh.c:2546 +#: config/tc-sh.c:2578 msgid "previous movx requires nopy" msgstr "el movx previo requiere nopy" -#: config/tc-sh.c:2555 config/tc-sh.c:2560 +#: config/tc-sh.c:2587 config/tc-sh.c:2592 msgid "invalid movy dsp register" msgstr "registro dsp movy inválido" -#: config/tc-sh.c:2570 +#: config/tc-sh.c:2602 msgid "dsp immediate shift value not constant" msgstr "el valor de desplazamiento inmediato dsp no es constante" -#: config/tc-sh.c:2584 config/tc-sh.c:2610 +#: config/tc-sh.c:2616 config/tc-sh.c:2642 msgid "multiple parallel processing specifications" msgstr "especificaciones múltiples de procesamiento paralelo" -#: config/tc-sh.c:2603 +#: config/tc-sh.c:2635 msgid "multiple condition specifications" msgstr "especificaciones múltiples de condición" -#: config/tc-sh.c:2641 +#: config/tc-sh.c:2673 msgid "insn cannot be combined with pmuls" msgstr "las instrucciones no se pueden combinar con pmuls" -#: config/tc-sh.c:2657 +#: config/tc-sh.c:2689 msgid "bad combined pmuls output operand" msgstr "operando de salida pmuls mal combinado" -#: config/tc-sh.c:2667 +#: config/tc-sh.c:2699 msgid "destination register is same for parallel insns" msgstr "el registro de destino es el mismo para instrucciones paralelas" -#: config/tc-sh.c:2676 +#: config/tc-sh.c:2708 msgid "condition not followed by conditionalizable insn" msgstr "la condición no está seguida por una instrucción condicionalizable" -#: config/tc-sh.c:2686 +#: config/tc-sh.c:2718 msgid "unrecognized characters at end of parallel processing insn" msgstr "caracteres no reconocidos al final de la instrucción de procesamiento paralelo" -#: config/tc-sh.c:2802 +#: config/tc-sh.c:2834 msgid "opcode not valid for this cpu variant" msgstr "el código de operación no es válido para esta variante de cpu" -#: config/tc-sh.c:2835 +#: config/tc-sh.c:2867 msgid "Delayed branches not available on SH1" msgstr "Las ramificaciones postergadas no están disponibles en SH1" -#: config/tc-sh.c:2867 +#: config/tc-sh.c:2899 #, c-format msgid "excess operands: '%s'" msgstr "exceso de operandos: '%s'" -#: config/tc-sh.c:3012 +#: config/tc-sh.c:3026 msgid ".uses pseudo-op seen when not relaxing" msgstr "se vio el pseudo-operador .uses cuando no se estaba relajando" -#: config/tc-sh.c:3018 +#: config/tc-sh.c:3032 msgid "bad .uses format" msgstr "formato de .uses erróneo" -#: config/tc-sh.c:3104 +#: config/tc-sh.c:3130 msgid "Invalid combination: --isa=SHcompact with --isa=SHmedia" msgstr "Combinación inválida: --isa=SHcompact con --isa=SHmedia" -#: config/tc-sh.c:3110 +#: config/tc-sh.c:3136 msgid "Invalid combination: --isa=SHmedia with --isa=SHcompact" msgstr "Combinación inválida: --isa=SHmedia con --isa=SHcompact" -#: config/tc-sh.c:3112 +#: config/tc-sh.c:3138 msgid "Invalid combination: --abi=64 with --isa=SHcompact" msgstr "Combinación inválida: --abi=64 con --isa=SHcompact" -#: config/tc-sh.c:3152 +#: config/tc-sh.c:3179 msgid "Invalid combination: --abi=32 with --abi=64" msgstr "Combinación inválida: --abi=32 con --abi=64" -#: config/tc-sh.c:3158 +#: config/tc-sh.c:3185 msgid "Invalid combination: --abi=64 with --abi=32" msgstr "Combinación inválida: --abi=64 con --abi=32" -#: config/tc-sh.c:3160 +#: config/tc-sh.c:3187 msgid "Invalid combination: --isa=SHcompact with --abi=64" msgstr "Combinación inválida: --isa=SHcompact con --abi=64" -#: config/tc-sh.c:3194 +#: config/tc-sh.c:3221 #, c-format msgid "" "SH options:\n" -"-little\t\t\tgenerate little endian code\n" -"-big\t\t\tgenerate big endian code\n" -"-relax\t\t\talter jump instructions for long displacements\n" -"-renesas\t\tdisable optimization with section symbol for\n" +"--little\t\tgenerate little endian code\n" +"--big\t\t\tgenerate big endian code\n" +"--relax\t\t\talter jump instructions for long displacements\n" +"--renesas\t\tdisable optimization with section symbol for\n" "\t\t\tcompatibility with Renesas assembler.\n" -"-small\t\t\talign sections to 4 byte boundaries, not 16\n" -"-dsp\t\t\tenable sh-dsp insns, and disable floating-point ISAs.\n" -"-isa=[any\t\tuse most appropriate isa\n" +"--small\t\t\talign sections to 4 byte boundaries, not 16\n" +"--dsp\t\t\tenable sh-dsp insns, and disable floating-point ISAs.\n" +"--allow-reg-prefix\tallow '$' as a register name prefix.\n" +"--isa=[any\t\tuse most appropriate isa\n" " | dsp same as '-dsp'\n" " | fp" msgstr "" "Opciones de SH:\n" -"-little\t\t\tgenera código little endian\n" -"-big\t\t\tgenera código big endian\n" -"-relax\t\t\taltera las instrucciones de salto para\n" -" \t\t\t desubicaciones long\n" -"-renesas\t\tdesactiva la optimización con símbolos de\n" +"--little\t\t\tgenera código little endian\n" +"--big\t\t\tgenera código big endian\n" +"--relax\t\t\taltera las instrucciones de salto para\n" +"\t\t\tdesubicaciones long\n" +"--renesas\t\tdesactiva la optimización con símbolos de\n" "\t\t\tsección por compatibilidad con el ensamblador Renesas.\n" -"-small\t\t\talinea las secciones a límites de 4 bytes, no 16\n" -"-dsp\t\t\tactiva insns sh-dsp, y desactiva ISAs de coma flotante.\n" -"-isa=[any\t\tusa la isa más apropiada\n" +"--small\t\t\talinea las secciones a límites de 4 bytes, no 16\n" +"--dsp\t\t\tactiva insns sh-dsp, y desactiva ISAs de coma flotante.\n" +"--isa=[any\t\tusa la isa más apropiada\n" " | dsp igual que '-dsp'\n" " | fp" -#: config/tc-sh.c:3218 +#: config/tc-sh.c:3247 #, c-format msgid "" -"-isa=[shmedia\t\tset as the default instruction set for SH64\n" +"--isa=[shmedia\t\tset as the default instruction set for SH64\n" " | SHmedia\n" " | shcompact\n" " | SHcompact]\n" msgstr "" -"-isa=[shmedia\t\testablece el conjunto de instrucciones por defecto\n" -" \t\tpara SH64\n" +"--isa=[shmedia\t\testablece el conjunto de instrucciones por defecto\n" +" \t\tpara SH64\n" " | SHmedia\n" " | shcompact\n" " | SHcompact]\n" -#: config/tc-sh.c:3223 +#: config/tc-sh.c:3252 #, c-format msgid "" -"-abi=[32|64]\t\tset size of expanded SHmedia operands and object\n" +"--abi=[32|64]\t\tset size of expanded SHmedia operands and object\n" "\t\t\tfile type\n" -"-shcompact-const-crange\temit code-range descriptors for constants in\n" +"--shcompact-const-crange emit code-range descriptors for constants in\n" "\t\t\tSHcompact code sections\n" -"-no-mix\t\t\tdisallow SHmedia code in the same section as\n" +"--no-mix\t\tdisallow SHmedia code in the same section as\n" "\t\t\tconstants and SHcompact code\n" -"-no-expand\t\tdo not expand MOVI, PT, PTA or PTB instructions\n" -"-expand-pt32\t\twith -abi=64, expand PT, PTA and PTB instructions\n" +"--no-expand\t\tdo not expand MOVI, PT, PTA or PTB instructions\n" +"--expand-pt32\t\twith -abi=64, expand PT, PTA and PTB instructions\n" "\t\t\tto 32 bits only\n" msgstr "" -"-abi=[32|64]\t\testablece el tamaño de los operandos SHmedia\n" +"--abi=[32|64]\t\testablece el tamaño de los operandos SHmedia\n" "\t\t\texpandidos y el tipo del fichero objeto\n" -"-shcompact-const-crange\temite descriptores de código-rango para\n" +"--shcompact-const-crange\temite descriptores de código-rango para\n" "\t\t\tconstantes en las secciones de código SHcompact\n" -"-no-mix\t\t\tdesactiva el código SHmedia en la misma sección que\n" +"--no-mix\t\t\tdesactiva el código SHmedia en la misma sección que\n" "\t\t\tlas constantes y el código SHcompact\n" -"-no-expand\t\tno expande las instrucciones MOVI, PT, PTA ó PTB\n" -"-expand-pt32\t\tcon -abi=64, expande las instrucciones PT, PTA y PTB\n" +"--no-expand\t\tno expande las instrucciones MOVI, PT, PTA ó PTB\n" +"--expand-pt32\t\tcon -abi=64, expande las instrucciones PT, PTA y PTB\n" "\t\t\tsolamente a 32 bits\n" -#: config/tc-sh.c:3311 +#: config/tc-sh.c:3336 msgid ".uses does not refer to a local symbol in the same section" msgstr ".uses no se refiere a un símbolo local en la misma sección" -#: config/tc-sh.c:3330 +#: config/tc-sh.c:3355 msgid "can't find fixup pointed to by .uses" msgstr "no se puede encontrar la compostura señalada por .uses" -#: config/tc-sh.c:3353 +#: config/tc-sh.c:3375 msgid ".uses target does not refer to a local symbol in the same section" msgstr "el objetivo .uses no se refiere a un símbolo local en la misma sección" -#: config/tc-sh.c:3453 +#: config/tc-sh.c:3452 msgid "displacement overflows 12-bit field" msgstr "la desubicación desborda el campo de 12-bits" -#: config/tc-sh.c:3456 +#: config/tc-sh.c:3455 #, c-format msgid "displacement to defined symbol %s overflows 12-bit field" msgstr "la desubicación del símbolo definido %s desborda el campo de 12-bits" -#: config/tc-sh.c:3460 +#: config/tc-sh.c:3459 #, c-format msgid "displacement to undefined symbol %s overflows 12-bit field" msgstr "la desubicación del símbolo indefinido %s desborda el campo de 12-bits" -#: config/tc-sh.c:3538 +#: config/tc-sh.c:3532 msgid "displacement overflows 8-bit field" msgstr "la desubicación desborda el campo de 8-bits" -#: config/tc-sh.c:3541 +#: config/tc-sh.c:3535 #, c-format msgid "displacement to defined symbol %s overflows 8-bit field" msgstr "la desubicación del símbolo definido %s desborda el campo de 8-bits" -#: config/tc-sh.c:3545 +#: config/tc-sh.c:3539 #, c-format msgid "displacement to undefined symbol %s overflows 8-bit field " msgstr "la desubicación del símbolo indefinido %s desborda el campo de 8-bits" -#: config/tc-sh.c:3562 +#: config/tc-sh.c:3556 #, c-format msgid "overflow in branch to %s; converted into longer instruction sequence" msgstr "desbordamiento en la ramificación a %s; se convirtió en una secuencia de instrucciones más larga" -#: config/tc-sh.c:3633 config/tc-sh.c:3680 config/tc-sparc.c:4237 -#: config/tc-sparc.c:4262 +#: config/tc-sh.c:3622 config/tc-sh.c:3669 config/tc-sparc.c:4234 +#: config/tc-sparc.c:4259 msgid "misaligned data" msgstr "datos desalineados" -#: config/tc-sh.c:4099 +#: config/tc-sh.c:4076 msgid "misaligned offset" msgstr "desplazamiento desalineado" -#: config/tc-sparc.c:291 +#: config/tc-sparc.c:288 msgid "Invalid default architecture, broken assembler." msgstr "Arquitectura por defecto inválida, ensamblador descompuesto." -#: config/tc-sparc.c:295 config/tc-sparc.c:498 +#: config/tc-sparc.c:292 config/tc-sparc.c:495 msgid "Bad opcode table, broken assembler." msgstr "Tabla de códigos de operación errónea, ensamblador descompuesto." -#: config/tc-sparc.c:490 +#: config/tc-sparc.c:487 #, c-format msgid "invalid architecture -xarch=%s" msgstr "arquitectura -xarch=%s inválida" -#: config/tc-sparc.c:492 +#: config/tc-sparc.c:489 #, c-format msgid "invalid architecture -A%s" msgstr "arquitectura inválida -A%s" -#: config/tc-sparc.c:559 +#: config/tc-sparc.c:556 #, c-format msgid "No compiled in support for %d bit object file format" msgstr "No se compiló el soporte para el formato de fichero objeto de %d bit" -#: config/tc-sparc.c:637 +#: config/tc-sparc.c:634 #, c-format msgid "SPARC options:\n" msgstr "Opciones SPARC:\n" -#: config/tc-sparc.c:666 +#: config/tc-sparc.c:663 #, c-format msgid "" "\n" @@ -9508,12 +9384,12 @@ msgstr "" "-relax\t\t\trelaja saltos y ramificaciones (por defecto)\n" "-no-relax\t\tevita cambiar cualquier salto y ramificación\n" -#: config/tc-sparc.c:674 +#: config/tc-sparc.c:671 #, c-format msgid "-k\t\t\tgenerate PIC\n" msgstr "-k\t\t\tgenera PIC\n" -#: config/tc-sparc.c:678 +#: config/tc-sparc.c:675 #, c-format msgid "" "-32\t\t\tcreate 32 bit object file\n" @@ -9522,12 +9398,12 @@ msgstr "" "-32\t\t\tcrea ficheros objeto de 32 bits\n" "-64\t\t\tcrea ficheros objeto de 64 bits\n" -#: config/tc-sparc.c:681 +#: config/tc-sparc.c:678 #, c-format msgid "\t\t\t[default is %d]\n" msgstr "\t\t\t[por defecto es %d]\n" -#: config/tc-sparc.c:683 +#: config/tc-sparc.c:680 #, c-format msgid "" "-TSO\t\t\tuse Total Store Ordering\n" @@ -9538,12 +9414,12 @@ msgstr "" "-PSO\t\t\tusa el Ordenamiento de Almacenamiento Parcial\n" "-RMO\t\t\tusa el Ordenamiento de Memoria Relajado\n" -#: config/tc-sparc.c:687 +#: config/tc-sparc.c:684 #, c-format msgid "\t\t\t[default is %s]\n" msgstr "\t\t\t[por defecto es %s]\n" -#: config/tc-sparc.c:689 +#: config/tc-sparc.c:686 #, c-format msgid "" "-KPIC\t\t\tgenerate PIC\n" @@ -9566,7 +9442,7 @@ msgstr "" "-Qy, -Qn\t\tse ignora\n" "-s\t\t\tignored\n" -#: config/tc-sparc.c:701 +#: config/tc-sparc.c:698 #, c-format msgid "" "-EL\t\t\tgenerate code for a little endian machine\n" @@ -9579,549 +9455,317 @@ msgstr "" "--little-endian-data\tgenera código para una máquina que tenga instrucciones\n" " big endian y datos little endian.\n" -#: config/tc-sparc.c:822 +#: config/tc-sparc.c:819 #, c-format msgid "Internal error: losing opcode: `%s' \"%s\"\n" msgstr "Error interno: se pierde el código de operación: `%s' \"%s\"\n" -#: config/tc-sparc.c:841 +#: config/tc-sparc.c:838 #, c-format msgid "Internal error: can't find opcode `%s' for `%s'\n" msgstr "Error interno: no se puede encontrar el código de operación `%s' para `%s'\n" -#: config/tc-sparc.c:987 +#: config/tc-sparc.c:984 msgid "Support for 64-bit arithmetic not compiled in." msgstr "No se compiló el soporte para aritmética de 64-bit." -#: config/tc-sparc.c:1034 +#: config/tc-sparc.c:1031 msgid "set: number not in 0..4294967295 range" msgstr "set: el número no está en el rango 0..4294967295" -#: config/tc-sparc.c:1041 +#: config/tc-sparc.c:1038 msgid "set: number not in -2147483648..4294967295 range" msgstr "set: el número no está en el rango -2147483648..4294967295" -#: config/tc-sparc.c:1101 +#: config/tc-sparc.c:1098 msgid "setsw: number not in -2147483648..4294967295 range" msgstr "setsw: el número no está en el rango -2147483648..4294967295" -#: config/tc-sparc.c:1150 +#: config/tc-sparc.c:1147 msgid "setx: temporary register same as destination register" msgstr "setx: el registro temporal es el mismo que el registro destino" -#: config/tc-sparc.c:1221 +#: config/tc-sparc.c:1218 msgid "setx: illegal temporary register g0" msgstr "setx: registro temporal ilegal g0" -#: config/tc-sparc.c:1318 +#: config/tc-sparc.c:1316 msgid "FP branch in delay slot" msgstr "ramificación FP en la ranura de retraso" -#: config/tc-sparc.c:1334 +#: config/tc-sparc.c:1331 msgid "FP branch preceded by FP instruction; NOP inserted" msgstr "ramificación FP precedida por una instrucción FP; se insertó NOP" -#: config/tc-sparc.c:1374 +#: config/tc-sparc.c:1371 msgid "failed special case insn sanity check" msgstr "falló la prueba de sanidad de la instrucción especial case" -#: config/tc-sparc.c:1462 +#: config/tc-sparc.c:1461 msgid ": invalid membar mask name" msgstr ": nombre de máscara de barra de memoria inválido" -#: config/tc-sparc.c:1478 +#: config/tc-sparc.c:1477 msgid ": invalid membar mask expression" msgstr ": expresión de máscara de barra de memoria inválida" -#: config/tc-sparc.c:1483 +#: config/tc-sparc.c:1482 msgid ": invalid membar mask number" msgstr ": número de máscara de barra de memoria inválido" -#: config/tc-sparc.c:1498 +#: config/tc-sparc.c:1497 msgid ": invalid siam mode expression" msgstr ": expresión de modo siam inválida" -#: config/tc-sparc.c:1503 +#: config/tc-sparc.c:1502 msgid ": invalid siam mode number" msgstr ": número de modi siam inválido" -#: config/tc-sparc.c:1519 +#: config/tc-sparc.c:1518 msgid ": invalid prefetch function name" msgstr ": nombre de función de precargado inválido" -#: config/tc-sparc.c:1527 +#: config/tc-sparc.c:1526 msgid ": invalid prefetch function expression" msgstr ": expresión de función de precargado inválida" -#: config/tc-sparc.c:1532 +#: config/tc-sparc.c:1531 msgid ": invalid prefetch function number" msgstr ": número de función de precargado inválido" -#: config/tc-sparc.c:1560 config/tc-sparc.c:1572 +#: config/tc-sparc.c:1559 config/tc-sparc.c:1571 msgid ": unrecognizable privileged register" msgstr ": registro privilegiado no reconocible" -#: config/tc-sparc.c:1596 config/tc-sparc.c:1621 +#: config/tc-sparc.c:1595 config/tc-sparc.c:1620 msgid ": unrecognizable v9a or v9b ancillary state register" msgstr ": registro de estado ancilar v9a o v9b no reconocible" -#: config/tc-sparc.c:1601 +#: config/tc-sparc.c:1600 msgid ": rd on write only ancillary state register" msgstr ": rd en registro de estado ancilar de sólo escritura" #. %sys_tick and %sys_tick_cmpr are v9bnotv9a -#: config/tc-sparc.c:1609 +#: config/tc-sparc.c:1608 msgid ": unrecognizable v9a ancillary state register" msgstr ": registro de estado ancilar v9a no reconocible" -#: config/tc-sparc.c:1645 +#: config/tc-sparc.c:1644 msgid ": asr number must be between 16 and 31" msgstr ": el número asr debe estar entre 16 y 31" -#: config/tc-sparc.c:1653 +#: config/tc-sparc.c:1652 msgid ": asr number must be between 0 and 31" msgstr ": el número asr debe estar entre 0 y 31" -#: config/tc-sparc.c:1663 +#: config/tc-sparc.c:1662 #, c-format msgid ": expecting %asrN" msgstr ": se esperaba %asrN" -#: config/tc-sparc.c:1845 config/tc-sparc.c:1883 config/tc-sparc.c:2290 -#: config/tc-sparc.c:2326 +#: config/tc-sparc.c:1844 config/tc-sparc.c:1882 config/tc-sparc.c:2289 +#: config/tc-sparc.c:2325 #, c-format msgid "Illegal operands: %%%s requires arguments in ()" msgstr "Operandos ilegales: %%%s requiere de argumentos en ()" -#: config/tc-sparc.c:1851 +#: config/tc-sparc.c:1850 #, c-format msgid "Illegal operands: %%%s cannot be used together with other relocs in the insn ()" msgstr "Operandos ilegales: %%%s no se puede usar junto con otras reubicaciones en la insn ()" -#: config/tc-sparc.c:1862 +#: config/tc-sparc.c:1861 #, c-format msgid "Illegal operands: %%%s can be only used with call __tls_get_addr" msgstr "Operando ilegales: %%%s sólo se puede usar con la llamada __tls_get_addr" -#: config/tc-sparc.c:2069 +#: config/tc-sparc.c:2068 msgid "detected global register use not covered by .register pseudo-op" msgstr "se detectó el uso de un registro global que no está cubierto por el pseudo-operador .register" -#: config/tc-sparc.c:2140 +#: config/tc-sparc.c:2139 msgid ": There are only 64 f registers; [0-63]" msgstr ": Solamente hay 64 registros f; [0-63]" -#: config/tc-sparc.c:2142 config/tc-sparc.c:2160 +#: config/tc-sparc.c:2141 config/tc-sparc.c:2159 msgid ": There are only 32 f registers; [0-31]" msgstr ": Solamente hay 32 registros f; [0-31]" -#: config/tc-sparc.c:2152 +#: config/tc-sparc.c:2151 msgid ": There are only 32 single precision f registers; [0-31]" msgstr ": Solamente hay 32 registros f de precisión sencilla; [0-31]" -#: config/tc-sparc.c:2338 +#: config/tc-sparc.c:2337 #, c-format msgid "Illegal operands: Can't do arithmetics other than + and - involving %%%s()" msgstr "Operandos ilegales: No se puede hacer aritmética aparte de + y - que involucre %%%s()" -#: config/tc-sparc.c:2448 +#: config/tc-sparc.c:2447 #, c-format msgid "Illegal operands: Can't add non-constant expression to %%%s()" msgstr "Operandos ilegales: No se puede agregar una expresión que no es constante a %%%s()" -#: config/tc-sparc.c:2458 +#: config/tc-sparc.c:2457 #, c-format msgid "Illegal operands: Can't do arithmetics involving %%%s() of a relocatable symbol" msgstr "Operandos ilegales: No se puede hacer aritmética que involucre a %%%s() de un símbolo reubicable" -#: config/tc-sparc.c:2476 +#: config/tc-sparc.c:2475 msgid ": PC-relative operand can't be a constant" msgstr ": el operando relativo al PC no puede ser una constante" -#: config/tc-sparc.c:2483 +#: config/tc-sparc.c:2482 msgid ": TLS operand can't be a constant" msgstr ": el operando TLS no puede ser una constante" -#: config/tc-sparc.c:2516 +#: config/tc-sparc.c:2515 msgid ": invalid ASI name" msgstr ": nombre ASI inválido" -#: config/tc-sparc.c:2524 +#: config/tc-sparc.c:2523 msgid ": invalid ASI expression" msgstr ": expresión ASI inválida" -#: config/tc-sparc.c:2529 +#: config/tc-sparc.c:2528 msgid ": invalid ASI number" msgstr ": número ASI inválido" -#: config/tc-sparc.c:2626 +#: config/tc-sparc.c:2625 msgid "OPF immediate operand out of range (0-0x1ff)" msgstr "operador inmediato OPF fuera de rango (0-0x1ff)" -#: config/tc-sparc.c:2631 +#: config/tc-sparc.c:2630 msgid "non-immediate OPF operand, ignored" msgstr "operando OPF que no es inmediato, se ignora" -#: config/tc-sparc.c:2650 +#: config/tc-sparc.c:2649 msgid ": invalid cpreg name" msgstr ": nombre cpreg inválido" -#: config/tc-sparc.c:2679 +#: config/tc-sparc.c:2678 #, c-format msgid "Illegal operands%s" msgstr "Operando%s ilegal(es)" -#: config/tc-sparc.c:2713 +#: config/tc-sparc.c:2712 #, c-format msgid "architecture bumped from \"%s\" to \"%s\" on \"%s\"" msgstr "la arquitectura saltó de \"%s\" a \"%s\" en \"%s\"" -#: config/tc-sparc.c:2749 +#: config/tc-sparc.c:2748 #, c-format msgid "Architecture mismatch on \"%s\"." msgstr "No hay coincidencia de arquitectura en \"%s\"." -#: config/tc-sparc.c:2750 +#: config/tc-sparc.c:2749 #, c-format msgid " (Requires %s; requested architecture is %s.)" msgstr " (Se requiere %s; la arquitectura solicitada es %s.)" -#: config/tc-sparc.c:3370 +#: config/tc-sparc.c:3369 #, c-format msgid "bad or unhandled relocation type: 0x%02x" msgstr "tipo de reubicación errónea o sin manejar: 0x%02x" -#: config/tc-sparc.c:3680 +#: config/tc-sparc.c:3679 msgid "Expected comma after name" msgstr "Se esperaba una coma después del nombre" -#: config/tc-sparc.c:3689 +#: config/tc-sparc.c:3688 #, c-format msgid "BSS length (%d.) <0! Ignored." msgstr "¡Longitud BSS (%d.) <0! Se ignora." -#: config/tc-sparc.c:3701 +#: config/tc-sparc.c:3700 msgid "bad .reserve segment -- expected BSS segment" msgstr "segmento .reserve erróneo -- se esperaba el segmento BSS" -#: config/tc-sparc.c:3718 +#: config/tc-sparc.c:3717 msgid "missing alignment" msgstr "falta la alineación" -#: config/tc-sparc.c:3729 +#: config/tc-sparc.c:3728 #, c-format msgid "alignment too large; assuming %d" msgstr "alineación demasiado grande; se asume %d" -#: config/tc-sparc.c:3735 config/tc-sparc.c:3886 +#: config/tc-sparc.c:3734 config/tc-sparc.c:3885 msgid "negative alignment" msgstr "alineación negativa" -#: config/tc-sparc.c:3745 config/tc-sparc.c:3909 read.c:1284 read.c:2113 +#: config/tc-sparc.c:3744 config/tc-sparc.c:3908 read.c:1313 read.c:2143 msgid "alignment not a power of 2" msgstr "la alineación no es una potencia de 2" -#: config/tc-sparc.c:3823 config/tc-v850.c:233 +#: config/tc-sparc.c:3822 config/tc-v850.c:223 msgid "Expected comma after symbol-name" msgstr "Se esperaba una coma después del nombre del símbolo" -#: config/tc-sparc.c:3833 +#: config/tc-sparc.c:3832 #, c-format msgid ".COMMon length (%lu) out of range ignored" msgstr "se ignora la longitud .COMMún (%lu) fuera de rango" -#: config/tc-sparc.c:3866 +#: config/tc-sparc.c:3865 msgid "Expected comma after common length" msgstr "Se esperaba una coma después de la longitud común" -#: config/tc-sparc.c:3880 +#: config/tc-sparc.c:3879 #, c-format msgid "alignment too large; assuming %ld" msgstr "alineación demasiado grande; se asume %ld" -#: config/tc-sparc.c:4107 config/tc-sparc.c:4117 +#: config/tc-sparc.c:4025 +msgid "Unknown segment type" +msgstr "Tipo de segmento desconocido" + +#: config/tc-sparc.c:4104 config/tc-sparc.c:4114 #, c-format msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}" msgstr "la sintaxis de registro es .register %%g[2367],{#scratch|nombresimbolo|#ignore}" -#: config/tc-sparc.c:4135 +#: config/tc-sparc.c:4132 msgid "redefinition of global register" msgstr "redefinición del registro global" -#: config/tc-sparc.c:4146 +#: config/tc-sparc.c:4143 #, c-format msgid "Register symbol %s already defined." msgstr "El símbolo de registro %s ya estaba definido." -#: config/tc-sparc.c:4355 +#: config/tc-sparc.c:4352 #, c-format msgid "Illegal operands: %%r_plt in %d-byte data field" msgstr "Operandos ilegales: %%r_plt en el campo de datos de %d-bytes" -#: config/tc-sparc.c:4365 +#: config/tc-sparc.c:4362 #, c-format msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field" msgstr "Operandos ilegales: %%r_tls_dtpoff en el campo de datos de %d-bytes" -#: config/tc-sparc.c:4402 +#: config/tc-sparc.c:4399 #, c-format msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields" msgstr "Operandos ilegales: Sólo se permite %%r_%s%d en campos de datos de %d-bytes" -#: config/tc-sparc.c:4410 config/tc-sparc.c:4441 config/tc-sparc.c:4450 +#: config/tc-sparc.c:4407 config/tc-sparc.c:4438 config/tc-sparc.c:4447 #, c-format msgid "Illegal operands: %%r_%s%d requires arguments in ()" msgstr "Operandos ilegales: %%r_%s%d requiere argumentos en ()" -#: config/tc-sparc.c:4459 +#: config/tc-sparc.c:4456 #, c-format msgid "Illegal operands: garbage after %%r_%s%d()" msgstr "Operandos ilegales: hay basura después de %%r_%s%d()" -#: config/tc-sparc.h:48 +#: config/tc-sparc.h:46 msgid "sparc convert_frag\n" msgstr "convert_frag de sparc\n" -#: config/tc-sparc.h:50 +#: config/tc-sparc.h:48 msgid "estimate_size_before_relax called" msgstr "se llamó a estimate_size_before_relax" -#: config/tc-tahoe.c:403 -msgid "The -a option doesn't exist. (Despite what the man page says!" -msgstr "La opción -a no existe. (¡A pesar de lo que diga la página del manual!)" - -#: config/tc-tahoe.c:407 config/tc-vax.c:3295 -#, c-format -msgid "Displacement length %s ignored!" -msgstr "¡Se ignora la longitud de desubicación %s!" - -#: config/tc-tahoe.c:411 config/tc-vax.c:3287 -msgid "SYMBOL TABLE not implemented" -msgstr "SYMBOL TABLE no está implementado" - -#: config/tc-tahoe.c:415 config/tc-vax.c:3291 -msgid "TOKEN TRACE not implemented" -msgstr "TOKEN TRACE no está implementado" - -#: config/tc-tahoe.c:419 config/tc-vax.c:3299 -#, c-format -msgid "I don't need or use temp. file \"%s\"." -msgstr "No se necesita o se utiliza el fichero temporal \"%s\"." - -#: config/tc-tahoe.c:423 config/tc-vax.c:3303 -msgid "I don't use an interpass file! -V ignored" -msgstr "¡No se usa un fichero entre pasos! Se ignora -V" - -#: config/tc-tahoe.c:437 -#, c-format -msgid "" -"Tahoe options:\n" -"-a\t\t\tignored\n" -"-d LENGTH\t\tignored\n" -"-J\t\t\tignored\n" -"-S\t\t\tignored\n" -"-t FILE\t\t\tignored\n" -"-T\t\t\tignored\n" -"-V\t\t\tignored\n" -msgstr "" -"Opciones de Tahoe:\n" -"-a\t\t\tse ignora\n" -"-d LENGTH\t\tse ignora\n" -"-J\t\t\tse ignora\n" -"-S\t\t\tse ignora\n" -"-t FILE\t\t\tse ignora\n" -"-T\t\t\tse ignora\n" -"-V\t\t\tse ignora\n" - -#: config/tc-tahoe.c:1066 -msgid "Casting a branch displacement is bad form, and is ignored." -msgstr "La conversión de una desubicación de ramificación es una forma errónea, y se ignora." - -#: config/tc-tahoe.c:1122 -msgid "Couldn't parse the [index] in this operand." -msgstr "No se puede decodificar el [index] en este operando." - -#: config/tc-tahoe.c:1128 -msgid "Couldn't find the opening '[' for the index of this operand." -msgstr "No se puede encontrar el '[' que abre para el índice de este operando." - -#: config/tc-tahoe.c:1168 -msgid "Couldn't find the opening '(' for the deref of this operand." -msgstr "No se puede encontrar el '(' que abre para la dereferencia de este operando." - -#: config/tc-tahoe.c:1178 -msgid "Operand can't be both pre-inc and post-dec." -msgstr "El operando no puede ser pre-incremento y post-decremento al mismo tiempo." - -#: config/tc-tahoe.c:1208 -msgid "I parsed 2 registers in this operand." -msgstr "Se decodificaron 2 registros en este operando." - -#: config/tc-tahoe.c:1258 -msgid "Can't relocate expression error." -msgstr "No se puede reubicar la expresión de error." - -#. This is an error. Tahoe doesn't allow any expressions -#. bigger that a 32 bit long word. Any bigger has to be referenced -#. by address. -#: config/tc-tahoe.c:1265 -msgid "Expression is too large for a 32 bits." -msgstr "La expresión es demasiado grande para 32 bits." - -#: config/tc-tahoe.c:1270 -msgid "Junk at end of expression." -msgstr "Basura al final de la expresión." - -#: config/tc-tahoe.c:1309 -msgid "Syntax error in direct register mode." -msgstr "Error sintáctico en el modo directo de registro." - -#: config/tc-tahoe.c:1311 -msgid "You can't index a register in direct register mode." -msgstr "No se puede indizar un registro en el modo directo de registro." - -#: config/tc-tahoe.c:1314 -msgid "SP can't be the source operand with direct register addressing." -msgstr "SP no puede ser el operando fuente con direccionamiento directo de registro." - -#: config/tc-tahoe.c:1316 -msgid "Can't take the address of a register." -msgstr "No se puede tomar la dirección de un registro." - -#: config/tc-tahoe.c:1318 -msgid "Direct Register can't be used in a branch." -msgstr "Un Registro Directo no se puede utilizar en una ramificación." - -#: config/tc-tahoe.c:1320 -msgid "For quad access, the register must be even and < 14." -msgstr "Para acceso cuadrático, el registro debe ser par y < 14." - -#: config/tc-tahoe.c:1322 -msgid "You can't cast a direct register." -msgstr "No se puede convertir un registro directo." - -# `tromp' se utiliza aquí como verbo transitivo. cfuga -# Referencia: http://www.dictionary.com/search?q=tromp -#: config/tc-tahoe.c:1328 -msgid "Using reg 14 for quadwords can tromp the FP register." -msgstr "El uso del registro 14 para quadwords puede noquear el registro FP." - -#: config/tc-tahoe.c:1340 -msgid "Syntax error in auto-dec mode." -msgstr "Error sintáctico en el modo auto-dec." - -#: config/tc-tahoe.c:1342 -msgid "You can't have an index auto dec mode." -msgstr "No se puede tener un índice en modo auto dec" - -#: config/tc-tahoe.c:1344 -msgid "Auto dec mode cant be used for reading." -msgstr "El modo auto dec no se puede usar para lectura." - -#: config/tc-tahoe.c:1346 -msgid "Auto dec only works of the SP register." -msgstr "El modo auto dec solamente funciona en los registros SP." - -#: config/tc-tahoe.c:1348 -msgid "Auto dec can't be used in a branch." -msgstr "No se puede utilizar auto dec en una ramificación." - -#: config/tc-tahoe.c:1350 -msgid "Auto dec won't work with quadwords." -msgstr "Auto dec no funciona con quadwords." - -#: config/tc-tahoe.c:1357 -msgid "Syntax error in one of the auto-inc modes." -msgstr "Error sintáctico en uno de los modos auto-inc." - -#: config/tc-tahoe.c:1363 -msgid "Auto inc deferred only works of the SP register." -msgstr "El modo auto inc diferido solamente funciona en los registros SP." - -#: config/tc-tahoe.c:1365 -msgid "You can't have an index auto inc deferred mode." -msgstr "No se puede tener un índice en modo auto inc diferido" - -#: config/tc-tahoe.c:1367 config/tc-tahoe.c:1378 -msgid "Auto inc can't be used in a branch." -msgstr "No se puede utilizar auto inc en una ramificación." - -#: config/tc-tahoe.c:1374 -msgid "You can't write to an auto inc register." -msgstr "No se puede escribir en un registro auto inc." - -#: config/tc-tahoe.c:1376 -msgid "Auto inc only works of the SP register." -msgstr "El modo auto inc funciona solamente en los registros SP." - -#: config/tc-tahoe.c:1380 -msgid "Auto inc won't work with quadwords." -msgstr "Auto inc no funciona con quadwords." - -#: config/tc-tahoe.c:1382 -msgid "You can't have an index in auto inc mode." -msgstr "No se puede tener un índice en el modo auto inc." - -#: config/tc-tahoe.c:1390 -msgid "You can't index the sp register." -msgstr "No se puede indizar el registro sp." - -#: config/tc-tahoe.c:1396 -msgid "Syntax error in register displaced mode." -msgstr "Error sintáctico en el registro en modo desubicado." - -#: config/tc-tahoe.c:1415 -msgid "An offest is needed for this operand." -msgstr "Se necesita un desplazamiento para este operando." - -#: config/tc-tahoe.c:1427 -msgid "You can't index a register in immediate mode." -msgstr "No se puede indizar un registro en modo inmediato." - -#: config/tc-tahoe.c:1429 -msgid "Immediate access can't be used as an address." -msgstr "No se puede utilizar el acceso inmediato como una dirección" - -#: config/tc-tahoe.c:1540 -#, c-format -msgid "Compiler bug: ODD number of bytes in arg structure %s." -msgstr "Bicho del compilador: número de bytes IMPAR en la estructura de argumentos %s." - -#: config/tc-tahoe.c:1567 config/tc-vax.c:1968 -msgid "Not enough operands" -msgstr "No hay suficientes operandos" - -#: config/tc-tahoe.c:1577 config/tc-vax.c:1975 -msgid "Too many operands" -msgstr "Demasiados operandos" - -#: config/tc-tahoe.c:1628 config/tc-vax.c:408 -#, c-format -msgid "Ignoring statement due to \"%s\"" -msgstr "Se ignora la declaración debido a \"%s\"" - -#: config/tc-tahoe.c:1723 -#, c-format -msgid "Compliler bug: Got a case (%d) I wasn't expecting." -msgstr "Bicho del compilador: Se obtuvo un case (%d) que no se esperaba." - -#: config/tc-tahoe.c:1817 -msgid "Real branch displacements must be expressions." -msgstr "Las desubicaciones de ramificaciones reales deben ser expresiones." - -#: config/tc-tahoe.c:1820 -#, c-format -msgid "Complier error: I got an unknown synthetic branch :%c" -msgstr "Error del compilador: Se obtuvo una ramificación sintética desconocida :%c" - -# En México se utilizaría `guácala' por `barf', como una expresión -# que simboliza vómito, pero no es comprensible para todos los -# hispanoparlantes. :-) cfuga -#: config/tc-tahoe.c:1961 -#, c-format -msgid "Barf, bad mode %x\n" -msgstr "Ugh, modo erróneo %x\n" - #. Only word (et al.), align, or conditionals are allowed within #. .struct/.union. #: config/tc-tic54x.c:222 @@ -10323,495 +9967,422 @@ msgstr "Versi msgid "Can't redirect stderr to the file '%s'" msgstr "No se puede redirigir la salida de error estándard al fichero '%s'" -#: config/tc-tic54x.c:2828 +#: config/tc-tic54x.c:2809 #, c-format msgid "Undefined substitution symbol '%s'" msgstr "Símbolo de sustitución '%s' indefinido" -#: config/tc-tic54x.c:3485 +#: config/tc-tic54x.c:3466 msgid "Badly formed address expression" msgstr "Expresión de dirección mal formada" -#: config/tc-tic54x.c:3749 +#: config/tc-tic54x.c:3730 #, c-format msgid "Invalid dmad syntax '%s'" msgstr "Sintaxis de dmad '%s' inválida" -#: config/tc-tic54x.c:3815 +#: config/tc-tic54x.c:3796 #, c-format msgid "Use the .mmregs directive to use memory-mapped register names such as '%s'" msgstr "Usa la directiva .mmregs para utilizar nombres de registro mapeados en memoria tales como '%s'" -#: config/tc-tic54x.c:3868 +#: config/tc-tic54x.c:3849 msgid "Address mode *+ARx is write-only. Results of reading are undefined." msgstr "El modo de dirección *+ARx es de sólo escritura. El resultado de la lectura está indefinido." -#: config/tc-tic54x.c:3888 +#: config/tc-tic54x.c:3869 #, c-format msgid "Unrecognized indirect address format \"%s\"" msgstr "Formato de dirección indirecta \"%s\" no reconocido" -#: config/tc-tic54x.c:3927 +#: config/tc-tic54x.c:3908 #, c-format msgid "Operand '%s' out of range (%d <= x <= %d)" msgstr "El operando '%s' está fuera de rango (%d <= x <= %d)" -#: config/tc-tic54x.c:3947 +#: config/tc-tic54x.c:3928 msgid "Error in relocation handling" msgstr "Error en el manejo de la reubicación" -#: config/tc-tic54x.c:3968 config/tc-tic54x.c:4032 config/tc-tic54x.c:4064 +#: config/tc-tic54x.c:3949 config/tc-tic54x.c:4013 config/tc-tic54x.c:4045 #, c-format msgid "Unrecognized condition code \"%s\"" msgstr "Código de condición \"%s\" no reconocido" -#: config/tc-tic54x.c:3985 +#: config/tc-tic54x.c:3966 #, c-format msgid "Condition \"%s\" does not match preceding group" msgstr "La condición \"%s\" no coincide con el grupo precedente" -#: config/tc-tic54x.c:3993 +#: config/tc-tic54x.c:3974 #, c-format msgid "Condition \"%s\" uses a different accumulator from a preceding condition" msgstr "La condición \"%s\" utiliza un acumulador diferente de una condición precedente" -#: config/tc-tic54x.c:4000 +#: config/tc-tic54x.c:3981 msgid "Only one comparison conditional allowed" msgstr "Sólo se permite una comparación condicional" -#: config/tc-tic54x.c:4005 +#: config/tc-tic54x.c:3986 msgid "Only one overflow conditional allowed" msgstr "Sólo se permite un desbordamiento condicional" -#: config/tc-tic54x.c:4013 +#: config/tc-tic54x.c:3994 #, c-format msgid "Duplicate %s conditional" msgstr "Condicional %s duplicado" -#: config/tc-tic54x.c:4048 +#: config/tc-tic54x.c:4029 msgid "Invalid auxiliary register (use AR0-AR7)" msgstr "Registro auxiliar inválido (utilice AR0-AR7)" -#: config/tc-tic54x.c:4084 +#: config/tc-tic54x.c:4065 msgid "lk addressing modes are invalid for memory-mapped register addressing" msgstr "Los modos de direccionamiento lk son inválidos para el direccionamiento de registros mapeados en memoria" -#: config/tc-tic54x.c:4092 +#: config/tc-tic54x.c:4073 msgid "Address mode *+ARx is not allowed in memory-mapped register addressing. Resulting behavior is undefined." msgstr "El modo de dirección *+ARx no se permite en el direccionamiento de registros mapeados en memoria. El comportamiento resultante está indefinido." -#: config/tc-tic54x.c:4118 +#: config/tc-tic54x.c:4099 msgid "Destination accumulator for each part of this parallel instruction must be different" msgstr "El acumulador de destino para cada parte de esta instrucción paralela debe ser diferente" -#: config/tc-tic54x.c:4167 +#: config/tc-tic54x.c:4148 #, c-format msgid "Memory mapped register \"%s\" out of range" msgstr "El registro mapeado en memoria \"%s\" está fuera de rango" -#: config/tc-tic54x.c:4206 +#: config/tc-tic54x.c:4187 msgid "Invalid operand (use 1, 2, or 3)" msgstr "Operando inválido (utilice 1, 2, ó 3)" -#: config/tc-tic54x.c:4231 +#: config/tc-tic54x.c:4212 msgid "A status register or status bit name is required" msgstr "Se requiere un registro de estado o un nombre de bit de estado" -#: config/tc-tic54x.c:4241 +#: config/tc-tic54x.c:4222 #, c-format msgid "Unrecognized status bit \"%s\"" msgstr "Bit de estado \"%s\" no reconocido" -#: config/tc-tic54x.c:4264 +#: config/tc-tic54x.c:4245 #, c-format msgid "Invalid status register \"%s\"" msgstr "Registro de estado \"%s\" inválido" -#: config/tc-tic54x.c:4276 +#: config/tc-tic54x.c:4257 #, c-format msgid "Operand \"%s\" out of range (use 1 or 2)" msgstr "El operando \"%s\" está fuera de rango (utilice 1 ó 2)" -#: config/tc-tic54x.c:4484 +#: config/tc-tic54x.c:4465 #, c-format msgid "Unrecognized instruction \"%s\"" msgstr "Instrucción \"%s\" no reconocida" -#: config/tc-tic54x.c:4513 +#: config/tc-tic54x.c:4494 #, c-format msgid "Unrecognized operand list '%s' for instruction '%s'" msgstr "Lista de operando '%s' no reconocida para la instrucción '%s'" -#: config/tc-tic54x.c:4545 +#: config/tc-tic54x.c:4526 #, c-format msgid "Unrecognized parallel instruction \"%s\"" msgstr "Instrucción paralela \"%s\" no reconocida" -#: config/tc-tic54x.c:4596 +#: config/tc-tic54x.c:4577 #, c-format msgid "Invalid operand (s) for parallel instruction \"%s\"" msgstr "Operando(s) inválido(s) para la instrucción paralela \"%s\"" -#: config/tc-tic54x.c:4599 +#: config/tc-tic54x.c:4580 #, c-format msgid "Unrecognized parallel instruction combination \"%s || %s\"" msgstr "Combinación de instrucciones paralelas \"%s || %s\" no reconocida" -#: config/tc-tic54x.c:4836 +#: config/tc-tic54x.c:4817 #, c-format msgid "%s symbol recursion stopped at second appearance of '%s'" msgstr "La recursión del símbolo %s se detuvo en la segunda aparición de '%s'" -#: config/tc-tic54x.c:4876 +#: config/tc-tic54x.c:4857 msgid "Unrecognized substitution symbol function" msgstr "Función de sustitución de símbolo no reconocida" -#: config/tc-tic54x.c:4881 +#: config/tc-tic54x.c:4862 msgid "Missing '(' after substitution symbol function" msgstr "Falta un '(' después de la función de sustitución de símbolo" -#: config/tc-tic54x.c:4895 +#: config/tc-tic54x.c:4876 msgid "Expecting second argument" msgstr "Se esperaba un segundo argumento" -#: config/tc-tic54x.c:4908 config/tc-tic54x.c:4958 +#: config/tc-tic54x.c:4889 config/tc-tic54x.c:4939 msgid "Extra junk in function call, expecting ')'" msgstr "Basura extra en la llamada a función, se esperaba ')'" -#: config/tc-tic54x.c:4934 +#: config/tc-tic54x.c:4915 msgid "Function expects two arguments" msgstr "La función espera dos argumentos" -#: config/tc-tic54x.c:4947 +#: config/tc-tic54x.c:4928 msgid "Expecting character constant argument" msgstr "Se espera una constante de carácter como argumento" -#: config/tc-tic54x.c:4953 +#: config/tc-tic54x.c:4934 msgid "Both arguments must be substitution symbols" msgstr "Ambos argumentos deben ser símbolos de sustitución" -#: config/tc-tic54x.c:5006 +#: config/tc-tic54x.c:4987 #, c-format msgid "Invalid subscript (use 1 to %d)" msgstr "Subíndice inválido (utilice de 1 a %d)" -#: config/tc-tic54x.c:5016 +#: config/tc-tic54x.c:4997 #, c-format msgid "Invalid length (use 0 to %d" msgstr "Longitud inválida (utilice de 0 a %d)" -#: config/tc-tic54x.c:5026 +#: config/tc-tic54x.c:5007 msgid "Missing ')' in subscripted substitution symbol expression" msgstr "Falta un ')' en la expresión del símbolo de sustitución suscrito" -#: config/tc-tic54x.c:5046 +#: config/tc-tic54x.c:5027 msgid "Missing forced substitution terminator ':'" msgstr "Falta el terminador de sustitución forzada ':'" -#: config/tc-tic54x.c:5201 +#: config/tc-tic54x.c:5182 #, c-format msgid "Instruction does not fit in available delay slots (%d-word insn, %d slots left)" msgstr "La instrucción no cabe en las ranuras de retardo disponibles (%d instrucciones word, %d ranuras restantes)" -#: config/tc-tic54x.c:5242 +#: config/tc-tic54x.c:5223 #, c-format msgid "Unrecognized parallel instruction '%s'" msgstr "Instrucción paralela '%s' no reconocida" -#: config/tc-tic54x.c:5254 +#: config/tc-tic54x.c:5235 #, c-format msgid "Instruction '%s' requires an LP cpu version" msgstr "La instrucción '%s' requiere una versión de cpu LP" -#: config/tc-tic54x.c:5261 +#: config/tc-tic54x.c:5242 #, c-format msgid "Instruction '%s' requires far mode addressing" msgstr "La instrucción '%s' requiere el modo de direccionamiento lejano" -#: config/tc-tic54x.c:5273 +#: config/tc-tic54x.c:5254 #, c-format msgid "Instruction does not fit in available delay slots (%d-word insn, %d slots left). Resulting behavior is undefined." msgstr "La instrucción no cabe en las ranuras de retardo disponibles (%d instrucciones word, %d ranuras restantes). El comportamiento resultante está indefinida." -#: config/tc-tic54x.c:5283 +#: config/tc-tic54x.c:5264 msgid "Instructions which cause PC discontinuity are not allowed in a delay slot. Resulting behavior is undefined." msgstr "Las instrucciones que causan discontinuidad en el PC no se permiten en una ranura de retardo. El comportamiento resultante está indefinido." -#: config/tc-tic54x.c:5294 +#: config/tc-tic54x.c:5275 #, c-format msgid "'%s' is not repeatable. Resulting behavior is undefined." msgstr "'%s' no se puede repetir. El comportamiento resultante está indefinido." -#: config/tc-tic54x.c:5298 +#: config/tc-tic54x.c:5279 msgid "Instructions using long offset modifiers or absolute addresses are not repeatable. Resulting behavior is undefined." msgstr "Las instrucciones que usan modificadores de desplazamiento long o direcciones absolutas no se pueden repetir. El comportamiento resultante está indefinido." -#: config/tc-tic54x.c:5478 +#: config/tc-tic54x.c:5459 #, c-format msgid "Unsupported relocation size %d" msgstr "Tamaño de reubicación %d sin soporte" -#: config/tc-tic54x.c:5632 +#: config/tc-tic54x.c:5602 msgid "non-absolute value used with .space/.bes" msgstr "se utilizó un valor no absoluto con .space/.bes" -#: config/tc-tic54x.c:5636 +#: config/tc-tic54x.c:5606 #, c-format msgid "negative value ignored in %s" msgstr "se ignora el valor negativo en %s" -#: config/tc-tic54x.c:5725 +#: config/tc-tic54x.c:5695 #, c-format msgid "attempt to .space/.bes backwards? (%ld)" msgstr "¿se intentó hacer .space/.bes hacia atrás? (%ld)" -#: config/tc-tic54x.c:5759 +#: config/tc-tic54x.c:5729 #, c-format msgid "Invalid label '%s'" msgstr "Etiqueta '%s' inválida" -#: config/tc-tic80.c:27 -#, c-format -msgid "internal error:%s:%d: %s\n" -msgstr "error interno:%s:%d: %s\n" - -#: config/tc-tic80.c:30 -#, c-format -msgid "internal error:%s:%d: %s %ld\n" -msgstr "error interno:%s:%d: %s %ld\n" - -#: config/tc-tic80.c:90 -msgid "Relaxation is a luxury we can't afford" -msgstr "La relajación es un lujo que no se puede conceder" - -#: config/tc-tic80.c:139 -msgid "bad call to md_atof ()" -msgstr "llamada errónea a md_atof ()" - -#: config/tc-tic80.c:236 -msgid "':' not followed by 'm' or 's'" -msgstr "':' no está seguido por 'm' o 's'" - -#: config/tc-tic80.c:249 -msgid "paren nesting" -msgstr "anidamiento de paréntesis" - -#: config/tc-tic80.c:263 -msgid "mismatched parenthesis" -msgstr "paréntesis sin coincidencia" - -#: config/tc-tic80.c:461 -msgid "unhandled expression type" -msgstr "tipo de expresión sin manejar" - -#: config/tc-tic80.c:592 -msgid "symbol reloc that is not PC relative or 32 bits" -msgstr "reubicación de símbolo que no es relativo al PC o de 32 bits" - -#: config/tc-tic80.c:621 -msgid "unhandled operand modifier" -msgstr "modificador de operando sin manejar" - -#: config/tc-tic80.c:663 -msgid "unhandled expression" -msgstr "expresión sin manejar" - -#: config/tc-tic80.c:711 -#, c-format -msgid "Invalid mnemonic: '%s'" -msgstr "Mnemónico inválido: '%s'" - -#: config/tc-tic80.c:724 -#, c-format -msgid "Invalid operands: '%s'" -msgstr "Operandos inválidos: '%s'" - -#: config/tc-tic80.c:802 -msgid "unhandled predefined symbol bits" -msgstr "bits de símbolo predefinido sin manejar" - -#: config/tc-tic80.c:897 -#, c-format -msgid "PC offset 0x%lx outside range 0x%lx-0x%lx" -msgstr "desplazamiento del PC 0x%lx fuera del rango 0x%lx-0x%lx" - -#: config/tc-tic80.c:912 -msgid "unhandled relocation type in fixup" -msgstr "typo de reubicación sin manejar en la compostura" - -#: config/tc-tic80.c:951 -msgid "md_convert_frag() not implemented yet" -msgstr "md_convert_frag() aún no está implementado" - -#: config/tc-v850.c:244 +#: config/tc-v850.c:234 #, c-format msgid ".COMMon length (%d.) < 0! Ignored." msgstr "¡Longitud .COMMún (%d.) < 0! Se ignora." -#: config/tc-v850.c:266 +#: config/tc-v850.c:255 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %d." msgstr "La longitud de .comm \"%s\" ya es %ld. No se cambia a %d." -#: config/tc-v850.c:293 +#: config/tc-v850.c:281 msgid "Common alignment negative; 0 assumed" msgstr "Alineación común negativa; se asume 0" -#: config/tc-v850.c:976 +#: config/tc-v850.c:939 #, c-format msgid "unknown operand shift: %x\n" msgstr "operando de desplazamiento desconocido: %x\n" -#: config/tc-v850.c:977 +#: config/tc-v850.c:940 msgid "internal failure in parse_register_list" msgstr "falla interna en parse_register_list" -#: config/tc-v850.c:993 +#: config/tc-v850.c:956 msgid "constant expression or register list expected" msgstr "se esperaba una expresión constante o una lista de registros" -#: config/tc-v850.c:998 config/tc-v850.c:1011 config/tc-v850.c:1030 +#: config/tc-v850.c:961 config/tc-v850.c:974 config/tc-v850.c:993 msgid "high bits set in register list expression" msgstr "se establecieron los bits altos en la expresión de lista de registros" -#: config/tc-v850.c:1069 config/tc-v850.c:1132 +#: config/tc-v850.c:1032 config/tc-v850.c:1095 msgid "illegal register included in list" msgstr "se incluyó un registro ilegal en la lista" -#: config/tc-v850.c:1075 +#: config/tc-v850.c:1038 msgid "system registers cannot be included in list" msgstr "los registros del sistema no pueden estar incluídos en la lista" -#: config/tc-v850.c:1080 +#: config/tc-v850.c:1043 msgid "PSW cannot be included in list" msgstr "PSW no se puede incluir en la lista" -#: config/tc-v850.c:1087 +#: config/tc-v850.c:1050 msgid "High value system registers cannot be included in list" msgstr "Los registros altos de valores del sistema no se pueden incluir en la lista" -#: config/tc-v850.c:1111 +#: config/tc-v850.c:1074 msgid "second register should follow dash in register list" msgstr "el segundo registro debe estar a continuación de un guión en la lista de registros" -#: config/tc-v850.c:1156 +#: config/tc-v850.c:1119 #, c-format msgid " V850 options:\n" msgstr "Opciones de V850:\n" -#: config/tc-v850.c:1157 +#: config/tc-v850.c:1120 #, c-format msgid " -mwarn-signed-overflow Warn if signed immediate values overflow\n" msgstr " -mwarn-signed-overflow Avisa si los valores inmediatos con signo desbordan\n" -#: config/tc-v850.c:1158 +#: config/tc-v850.c:1121 #, c-format msgid " -mwarn-unsigned-overflow Warn if unsigned immediate values overflow\n" msgstr " -mwarn-unsigned-overflow Avisa si los valores inmediato sin signo desbordan\n" -#: config/tc-v850.c:1159 +#: config/tc-v850.c:1122 #, c-format msgid " -mv850 The code is targeted at the v850\n" msgstr " -mv850 El código está destinado para el v850\n" -#: config/tc-v850.c:1160 +#: config/tc-v850.c:1123 #, c-format msgid " -mv850e The code is targeted at the v850e\n" msgstr " -mv850e El código está destinado para el v850e\n" -#: config/tc-v850.c:1161 +#: config/tc-v850.c:1124 #, c-format msgid " -mv850e1 The code is targeted at the v850e1\n" msgstr " -mv850e1 El código está destinado para el v850e1\n" -#: config/tc-v850.c:1162 +#: config/tc-v850.c:1125 #, c-format msgid " -mv850any The code is generic, despite any processor specific instructions\n" msgstr " -mv850any El código es genérico, a pesar de cualquier instrucción específica de procesador\n" -#: config/tc-v850.c:1163 +#: config/tc-v850.c:1126 #, c-format msgid " -mrelax Enable relaxation\n" msgstr " -mrelax Activa la relajación.\n" -#: config/tc-v850.c:1354 +#: config/tc-v850.c:1308 #, c-format msgid "Unable to determine default target processor from string: %s" msgstr "No se puede determinar el procesador objetivo por defecto de la cadena: %s" -#: config/tc-v850.c:1389 +#: config/tc-v850.c:1343 msgid "lo() relocation used on an instruction which does not support it" msgstr "se utilizó una reubicación lo() en una instrucción que no la soporta" -#: config/tc-v850.c:1410 +#: config/tc-v850.c:1360 msgid "ctoff() relocation used on an instruction which does not support it" msgstr "se utilizó una reubicación ctoff() en una instrucción que no la soporta" -#: config/tc-v850.c:1436 +#: config/tc-v850.c:1382 msgid "sdaoff() relocation used on an instruction which does not support it" msgstr "se utilizó una reubicación sdaoff() en una instrucción que no la soporta" -#: config/tc-v850.c:1462 +#: config/tc-v850.c:1404 msgid "zdaoff() relocation used on an instruction which does not support it" msgstr "se utilizó una reubicación zdaoff() en una instrucción que no la soporta" -#: config/tc-v850.c:1499 +#: config/tc-v850.c:1437 msgid "tdaoff() relocation used on an instruction which does not support it" msgstr "se utilizó una reubicación tdaoff() en una instrucción que no la soporta" -#: config/tc-v850.c:1714 +#: config/tc-v850.c:1642 msgid "Target processor does not support this instruction." msgstr "El procesador objetivo no tiene soporte para esta instrucción." -#: config/tc-v850.c:1805 config/tc-v850.c:1834 config/tc-v850.c:2022 +#: config/tc-v850.c:1731 config/tc-v850.c:1760 config/tc-v850.c:1940 msgid "immediate operand is too large" msgstr "el operando inmediato es demasiado grande" -#: config/tc-v850.c:1816 +#: config/tc-v850.c:1742 msgid "AAARG -> unhandled constant reloc" msgstr "AAARG -> reubicación de constante sin manejar" -#: config/tc-v850.c:1860 +#: config/tc-v850.c:1785 msgid "invalid register name" msgstr "nombre de registro inválido" -#: config/tc-v850.c:1865 +#: config/tc-v850.c:1789 msgid "register r0 cannot be used here" msgstr "el registro r0 no se puede usar aquí" -#: config/tc-v850.c:1877 +#: config/tc-v850.c:1800 msgid "invalid system register name" msgstr "nombre de registro de sistema inválido" -#: config/tc-v850.c:1890 +#: config/tc-v850.c:1812 msgid "expected EP register" msgstr "se esperaba el registro EP" -#: config/tc-v850.c:1907 +#: config/tc-v850.c:1828 msgid "invalid condition code name" msgstr "nombre de código de condición inválido" -#: config/tc-v850.c:1928 config/tc-v850.c:1932 +#: config/tc-v850.c:1848 config/tc-v850.c:1852 msgid "constant too big to fit into instruction" msgstr "la constante es demasiado grande para caber en la instrucción" -#: config/tc-v850.c:1985 +#: config/tc-v850.c:1905 msgid "syntax error: value is missing before the register name" msgstr "error sintáctico: falta el valor antes del nombre de registro" -#: config/tc-v850.c:1987 +#: config/tc-v850.c:1907 msgid "syntax error: register not expected" msgstr "error sintáctico: no se esperaba un registro" -#: config/tc-v850.c:2001 +#: config/tc-v850.c:1920 msgid "syntax error: system register not expected" msgstr "error sintáctico: no se esperaba un registro de sistema" -#: config/tc-v850.c:2006 +#: config/tc-v850.c:1924 msgid "syntax error: condition code not expected" msgstr "error sintáctico: no es esperaba código de condición" -#: config/tc-v850.c:2040 +#: config/tc-v850.c:1958 msgid "invalid operand" msgstr "operando inválido" @@ -10820,179 +10391,214 @@ msgstr "operando inv msgid "VIP_BEGIN error:%s" msgstr "error VIP_BEGIN:%s" -#: config/tc-vax.c:427 +#: config/tc-vax.c:461 +#, c-format +msgid "Ignoring statement due to \"%s\"" +msgstr "Se ignora la declaración debido a \"%s\"" + +#: config/tc-vax.c:480 #, c-format msgid "Aborting because statement has \"%s\"" msgstr "Se aborta porque la declaración tiene \"%s\"" -#: config/tc-vax.c:474 +#: config/tc-vax.c:527 msgid "Can't relocate expression" msgstr "No se puede reubicar la expresión" -#: config/tc-vax.c:577 +#: config/tc-vax.c:630 msgid "Bignum not permitted in short literal. Immediate mode assumed." msgstr "No se permite un número grande en una literal short. Se asume el modo inmediato." -#: config/tc-vax.c:586 +#: config/tc-vax.c:639 msgid "Can't do flonum short literal: immediate mode used." msgstr "No se puede hacer una literal short de un número de coma flotante: se usa el modo inmediato." -#: config/tc-vax.c:631 +#: config/tc-vax.c:684 #, c-format msgid "A bignum/flonum may not be a displacement: 0x%lx used" msgstr "Un número grande/de coma flotante no puede ser una desubicación: se usa 0x%lx" -#: config/tc-vax.c:967 +#: config/tc-vax.c:1007 #, c-format msgid "Short literal overflow(%ld.), immediate mode assumed." msgstr "Desbordamiento de la literal short (%ld.), se asume el modo inmediato." -#: config/tc-vax.c:976 +#: config/tc-vax.c:1016 #, c-format msgid "Forced short literal to immediate mode. now_seg=%s to_seg=%s" msgstr "Se fuerza la literal short a modo inmediato. now_seg=%s to_seg=%s" -#: config/tc-vax.c:1041 +#: config/tc-vax.c:1081 msgid "Length specification ignored. Address mode 9F used" msgstr "Se ignora la especificación de longitud. Se usa el modo de direccionamiento 9F" -#: config/tc-vax.c:1102 +#: config/tc-vax.c:1142 msgid "Invalid operand: immediate value used as base address." msgstr "Operando inválido: se utilizó un valor inmediato como dirección base." -#: config/tc-vax.c:1104 +#: config/tc-vax.c:1144 msgid "Invalid operand: immediate value used as address." msgstr "Operando inválido: se utilizó un valor inmediato como dirección" -#: config/tc-vax.c:1129 +#: config/tc-vax.c:1169 msgid "Symbol used as immediate operand in PIC mode." msgstr "Se utiliza un símbolo como operando inmediato en modo PIC." -#: config/tc-vax.c:1947 +#: config/tc-vax.c:1942 msgid "odd number of bytes in operand description" msgstr "número impar de bytes en la descripción del operando" -#: config/tc-vax.c:1963 +#: config/tc-vax.c:1958 msgid "Bad operand" msgstr "Operando erróneo" -#: config/tc-vax.c:2538 +#: config/tc-vax.c:1963 +msgid "Not enough operands" +msgstr "No hay suficientes operandos" + +#: config/tc-vax.c:1970 +msgid "Too many operands" +msgstr "Demasiados operandos" + +#: config/tc-vax.c:2533 msgid "no '[' to match ']'" msgstr "no hay '[' que coincida con ']'" -#: config/tc-vax.c:2558 +#: config/tc-vax.c:2553 msgid "bad register in []" msgstr "registro erróneo en []" -#: config/tc-vax.c:2560 +#: config/tc-vax.c:2555 msgid "[PC] index banned" msgstr "índice [PC] prohibido" -#: config/tc-vax.c:2595 +#: config/tc-vax.c:2590 msgid "no '(' to match ')'" msgstr "no hay '(' que coincida con ')'" -#: config/tc-vax.c:2735 +#: config/tc-vax.c:2730 msgid "invalid branch operand" msgstr "operando de ramificación inválido" -#: config/tc-vax.c:2764 +#: config/tc-vax.c:2759 msgid "address prohibits @" msgstr "la dirección prohibe @" -#: config/tc-vax.c:2766 +#: config/tc-vax.c:2761 msgid "address prohibits #" msgstr "la dirección prohibe #" -#: config/tc-vax.c:2770 +#: config/tc-vax.c:2765 msgid "address prohibits -()" msgstr "la dirección prohibe -()" -#: config/tc-vax.c:2772 +#: config/tc-vax.c:2767 msgid "address prohibits ()+" msgstr "la dirección prohibe ()+" -#: config/tc-vax.c:2775 +#: config/tc-vax.c:2770 msgid "address prohibits ()" msgstr "la dirección prohibe ()" -#: config/tc-vax.c:2777 +#: config/tc-vax.c:2772 msgid "address prohibits []" msgstr "la dirección prohibe []" -#: config/tc-vax.c:2779 +#: config/tc-vax.c:2774 msgid "address prohibits register" msgstr "la dirección prohibe un registro" -#: config/tc-vax.c:2781 +#: config/tc-vax.c:2776 msgid "address prohibits displacement length specifier" msgstr "la dirección prohibe un especificador de longitud de desubicación" -#: config/tc-vax.c:2811 +#: config/tc-vax.c:2806 msgid "invalid operand of S^#" msgstr "operando inválido de S^#" -#: config/tc-vax.c:2828 +#: config/tc-vax.c:2823 msgid "S^# needs expression" msgstr "S^# necesita una expresión" -#: config/tc-vax.c:2835 +#: config/tc-vax.c:2830 msgid "S^# may only read-access" msgstr "S^# tal vez sea solamente para acceso por lectura" -#: config/tc-vax.c:2860 +#: config/tc-vax.c:2855 msgid "invalid operand of -()" msgstr "operando inválido de -()" -#: config/tc-vax.c:2866 +#: config/tc-vax.c:2861 msgid "-(PC) unpredictable" msgstr "-(PC) impredecible" -#: config/tc-vax.c:2868 +#: config/tc-vax.c:2863 msgid "[]index same as -()register: unpredictable" msgstr "[]índice igual que -()registro: impredecible" -#: config/tc-vax.c:2904 +#: config/tc-vax.c:2899 msgid "invalid operand of ()+" msgstr "operando inválido de ()+" -#: config/tc-vax.c:2910 +#: config/tc-vax.c:2905 msgid "(PC)+ unpredictable" msgstr "(PC)+ impredecible" -#: config/tc-vax.c:2912 +#: config/tc-vax.c:2907 msgid "[]index same as ()+register: unpredictable" msgstr "[]índice igual que ()+registro: impredecible" -#: config/tc-vax.c:2937 +#: config/tc-vax.c:2932 msgid "# conflicts length" msgstr "# tiene conflictos con la longitud" -#: config/tc-vax.c:2939 +#: config/tc-vax.c:2934 msgid "# bars register" msgstr "# prohibe el registro" -#: config/tc-vax.c:2961 +#: config/tc-vax.c:2956 msgid "writing or modifying # is unpredictable" msgstr "escribir o modificar # es impredecible" -#: config/tc-vax.c:2991 +#: config/tc-vax.c:2986 msgid "length not needed" msgstr "no se necesita la longitud" -#: config/tc-vax.c:2998 +#: config/tc-vax.c:2993 msgid "can't []index a register, because it has no address" msgstr "no se puede []indizar un registro, porque no tiene dirección" -#: config/tc-vax.c:3000 +#: config/tc-vax.c:2995 msgid "a register has no address" msgstr "un registro no tiene dirección" -#: config/tc-vax.c:3011 +#: config/tc-vax.c:3006 msgid "PC part of operand unpredictable" msgstr "la parte PC del operando es impredecible" -#: config/tc-vax.c:3360 +#: config/tc-vax.c:3281 +msgid "SYMBOL TABLE not implemented" +msgstr "SYMBOL TABLE no está implementado" + +#: config/tc-vax.c:3285 +msgid "TOKEN TRACE not implemented" +msgstr "TOKEN TRACE no está implementado" + +#: config/tc-vax.c:3289 +#, c-format +msgid "Displacement length %s ignored!" +msgstr "¡Se ignora la longitud de desubicación %s!" + +#: config/tc-vax.c:3293 +#, c-format +msgid "I don't need or use temp. file \"%s\"." +msgstr "No se necesita o se utiliza el fichero temporal \"%s\"." + +#: config/tc-vax.c:3297 +msgid "I don't use an interpass file! -V ignored" +msgstr "¡No se usa un fichero entre pasos! Se ignora -V" + +#: config/tc-vax.c:3354 #, c-format msgid "" "VAX options:\n" @@ -11011,7 +10617,7 @@ msgstr "" "-T\t\t\tse ignora\n" "-V\t\t\tse ignora\n" -#: config/tc-vax.c:3369 +#: config/tc-vax.c:3363 #, c-format msgid "" "VMS options:\n" @@ -11030,733 +10636,720 @@ msgstr "" "\t\t\t0 = mayúsculas, 2 = minúsculas, 3 = preservar mayúsculas/minúsculas\n" "-v\"VERSION\"\t\tel código a ensamblar fue producido por el compilador \"VERSION\"\n" -#: config/tc-w65.c:142 -msgid "need on or off." -msgstr "necesita on u off." - -#: config/tc-w65.c:278 config/tc-w65.c:321 -msgid "syntax error after " +#. +#. We do not want to barf on this, especially since such files are used +#. in the GCC and GDB testsuites. So we check for negative line numbers +#. rather than non-positive line numbers. +#: read.c:1712 #, c-format msgid "line numbers must be positive; line number %d rejected" msgstr "los números de línea deben ser positivos; se rechazó el número de línea %d." -#: read.c:1704 +#: read.c:1739 msgid "start address not supported" msgstr "la dirección de inicio no tiene soporte" -#: read.c:1713 +#: read.c:1748 msgid ".err encountered" msgstr "se encontró .err" -#: read.c:1729 +#: read.c:1764 msgid ".error directive invoked in source file" msgstr "se invocó la directiva .error en el fichero fuente" -#: read.c:1730 +#: read.c:1765 msgid ".warning directive invoked in source file" msgstr "se invocó la directiva .warning en el fichero fuente" -#: read.c:1736 +#: read.c:1771 #, c-format msgid "%s argument must be a string" msgstr "el argumento %s debe ser una cadena" -#: read.c:1768 read.c:1770 +#: read.c:1803 read.c:1805 #, c-format msgid ".fail %ld encountered" msgstr "se encontró .fail %ld" -#: read.c:1806 +#: read.c:1841 #, c-format msgid ".fill size clamped to %d" msgstr "el tamaño de fill se restringe a %d" -#: read.c:1811 +#: read.c:1846 msgid "size negative; .fill ignored" msgstr "tamaño negativo; se ignora .fill" -#: read.c:1817 +#: read.c:1852 msgid "repeat < 0; .fill ignored" msgstr "repetición < 0; se ignora .fill" -#: read.c:1974 +#: read.c:2010 #, c-format msgid "unrecognized .linkonce type `%s'" msgstr "tipo .linkonce `%s' no reconocido" -#: read.c:1987 read.c:2013 +#: read.c:2022 msgid ".linkonce is not supported for this object file format" msgstr ".linkonce no tiene soporte en este formato de fichero objeto" -#: read.c:2009 +#: read.c:2044 #, c-format msgid "bfd_set_section_flags: %s" msgstr "bfd_set_section_flags: %s" -#: read.c:2039 +#: read.c:2070 #, c-format msgid "error setting flags for \".sbss\": %s" msgstr "error al establecer las opciones para \".sbss\": %s" -#: read.c:2087 +#: read.c:2117 msgid "expected alignment after size" msgstr "se esperaba alineación después del tamaño" -#: read.c:2101 +#: read.c:2131 msgid "alignment negative; 0 assumed" msgstr "alineación negativa; se asume 0" -#: read.c:2332 +#: read.c:2340 #, c-format msgid "attempt to redefine pseudo-op `%s' ignored" msgstr "se ignora el intento de redefinir el pseudo-operador `%s'" -#: read.c:2393 +#: read.c:2401 #, c-format msgid "invalid segment \"%s\"" msgstr "segmento \"%s\" inválido" -#: read.c:2401 +#: read.c:2409 msgid "only constant offsets supported in absolute section" msgstr "sólo los desplazamientos constantes tienen soporte en la sección absoluta" -#: read.c:2440 +#: read.c:2448 msgid "MRI style ORG pseudo-op not supported" msgstr "el pseudo-operador ORG de estilo MRI no tiene soporte" -#: read.c:2596 +#: read.c:2601 #, c-format msgid "unrecognized section type `%s'" msgstr "tipo de sección `%s' no reconocido" -#: read.c:2610 +#: read.c:2615 msgid "absolute sections are not supported" msgstr "las secciones absolutas no tienen soporte" -#: read.c:2625 +#: read.c:2630 #, c-format msgid "unrecognized section command `%s'" msgstr "comando de sección `%s' no reconocido" -#: read.c:2689 +#: read.c:2694 #, c-format msgid ".end%c encountered without preceeding %s" msgstr "se encontró .end%c sin un %s precedente" -#: read.c:2719 +#: read.c:2724 #, c-format msgid "%s without %s" msgstr "%s sin %s" -#: read.c:2925 +#: read.c:2951 msgid "unsupported variable size or fill value" msgstr "tamaño de variable o valor de relleno sin soporte" -#: read.c:2950 +#: read.c:2979 msgid ".space repeat count is zero, ignored" msgstr "la cuenta de repetición .space es cero, se ignora" -#: read.c:2952 +#: read.c:2981 msgid ".space repeat count is negative, ignored" msgstr "la cuenta de repetición .space es negativa, se ignora" -#: read.c:2981 +#: read.c:3010 msgid "space allocation too complex in absolute section" msgstr "la asignación de espacio es demasiado compleja en la sección absoluta" -#: read.c:2987 +#: read.c:3016 msgid "space allocation too complex in common section" msgstr "la asignación de espacio es demasiado compleja en la sección común" -#: read.c:3074 read.c:4152 +#: read.c:3103 read.c:4276 #, c-format msgid "bad floating literal: %s" msgstr "literal de coma flotante errónea: %s" -#: read.c:3139 +#: read.c:3243 +#, c-format +msgid "%s: would close weakref loop: %s" +msgstr "%s: cerraría el ciclo weakref: %s" + +#: read.c:3286 #, c-format msgid "junk at end of line, first unrecognized character is `%c'" msgstr "basura al final de la línea; el primer carácter ignorado es `%c'" -#: read.c:3142 +#: read.c:3289 #, c-format msgid "junk at end of line, first unrecognized character valued 0x%x" msgstr "basura al final de la línea; el primer carácter ignorado tiene valor 0x%x" -#: read.c:3205 +#: read.c:3347 msgid "missing expression" msgstr "falta una expresión" -#: read.c:3386 +#: read.c:3408 +#, c-format +msgid "`%s' can't be equated to common symbol '%s'" +msgstr "`%s' no se puede igualar al símbolo común '%s'" + +#: read.c:3536 msgid "rva without symbol" msgstr "rva sin símbolo" -#: read.c:3508 +#: read.c:3658 msgid "attempt to store value in absolute section" msgstr "se intentó almacenar un valor en la sección absoluta" -#: read.c:3546 read.c:4420 +#: read.c:3696 read.c:4544 msgid "zero assumed for missing expression" msgstr "se asume cero para la expresión faltante" -#: read.c:3558 read.c:4432 write.c:313 +#: read.c:3708 read.c:4556 write.c:265 msgid "register value used as expression" msgstr "se usó un valor de registro como una expresión" #. Leading bits contain both 0s & 1s. -#: read.c:3636 +#: read.c:3786 #, c-format msgid "value 0x%lx truncated to 0x%lx" msgstr "el valor 0x%lx se truncó a 0x%lx" -#: read.c:3652 +#: read.c:3802 #, c-format msgid "bignum truncated to %d bytes" msgstr "se truncó el número grande a %d bytes" -#: read.c:3819 +#: read.c:3943 msgid "using a bit field width of zero" msgstr "se usa una anchura de campo de bit de cero" -#: read.c:3827 +#: read.c:3951 #, c-format msgid "field width \"%s\" too complex for a bitfield" msgstr "la anchura de campo \"%s\" es demasiado compleja para un campo de bits" -#: read.c:3835 +#: read.c:3959 #, c-format msgid "field width %lu too big to fit in %d bytes: truncated to %d bits" msgstr "la anchura de campo %lu es demasiado grande para caber en %d bytes: se truncó a %d bits" -#: read.c:3857 +#: read.c:3981 #, c-format msgid "field value \"%s\" too complex for a bitfield" msgstr "el valor del campo \"%s\" es demasiado complejo para un campo de bits" -#: read.c:3983 read.c:4174 +#: read.c:4107 read.c:4298 msgid "unresolvable or nonpositive repeat count; using 1" msgstr "cuenta de repetición sin resolver o no positiva; se utiliza 1" -#: read.c:4032 +#: read.c:4156 #, c-format msgid "unknown floating type type '%c'" msgstr "tipo de coma flotante desconocido tipo '%c'" -#: read.c:4054 +#: read.c:4178 msgid "floating point constant too large" msgstr "constante de coma flotante demasiado grande" -#: read.c:4546 +#: read.c:4670 msgid "strings must be placed into a section" msgstr "las cadenas se deben colocar en una sección" -#: read.c:4596 +#: read.c:4720 msgid "expected " msgstr "se esperaba " #. To be compatible with BSD 4.2 as: give the luser a linefeed!! -#: read.c:4629 read.c:4715 +#: read.c:4753 read.c:4839 msgid "unterminated string; newline inserted" msgstr "cadena sin terminar; se insertó una línea nueva" -#: read.c:4723 +#: read.c:4847 msgid "bad escaped character in string" msgstr "carácter escapado erróneamente en la cadena" -#: read.c:4748 +#: read.c:4872 msgid "expected address expression" msgstr "se esperaba una expresión de dirección" -#: read.c:4767 +#: read.c:4891 #, c-format msgid "symbol \"%s\" undefined; zero assumed" msgstr "el símbolo \"%s\" está indefinido; se asume cero" -#: read.c:4770 +#: read.c:4894 msgid "some symbol undefined; zero assumed" msgstr "algunos símbolos indefinidos; se asume cero" -#: read.c:4786 -msgid "bad or irreducible absolute expression" -msgstr "expresión absoluta errónea o irreducible" - -#: read.c:4827 +#: read.c:4930 msgid "this string may not contain '\\0'" msgstr "esta cadena no puede contener '\\0'" -#: read.c:4863 +#: read.c:4966 msgid "missing string" msgstr "falta una cadena" -#: read.c:4983 +#: read.c:5053 #, c-format msgid ".incbin count zero, ignoring `%s'" msgstr "la cuenta .incbin es cero, se ignora `%s'" -#: read.c:5009 +#: read.c:5079 #, c-format msgid "file not found: %s" msgstr "no se encontró el fichero: %s" -#: read.c:5023 +#: read.c:5093 #, c-format msgid "seek to end of .incbin file failed `%s'" msgstr "falló la búsqueda del final del fichero .incbin `%s'" -#: read.c:5034 +#: read.c:5104 #, c-format msgid "skip (%ld) or count (%ld) invalid for file size (%ld)" msgstr "salto (%ld) o cuenta (%ld) inválidos para el tamaño del fichero (%ld)" -#: read.c:5041 +#: read.c:5111 #, c-format msgid "could not skip to %ld in file `%s'" msgstr "no se puede saltar a %ld en el fichero `%s'" -#: read.c:5050 +#: read.c:5120 #, c-format msgid "truncated file `%s', %ld of %ld bytes read" msgstr "el fichero `%s' está truncado, se leyeron %ld de %ld bytes" -#: read.c:5208 +#: read.c:5278 msgid "missing .func" msgstr "falta un .func" -#: read.c:5225 +#: read.c:5295 msgid ".endfunc missing for previous .func" msgstr "falta un .endfunc para el .func previo" -#: stabs.c:215 stabs.c:223 stabs.c:231 stabs.c:250 +#: read.c:5418 +#, c-format +msgid "missing closing `%c'" +msgstr "falta un `%c' que cierra" + +#: read.c:5420 +msgid "stray `\\'" +msgstr "`\\' basura" + +#: stabs.c:212 stabs.c:220 stabs.c:228 stabs.c:247 #, c-format msgid ".stab%c: missing comma" msgstr ".stab%c: falta una coma" @@ -12731,192 +12391,884 @@ msgstr ".stab%c: falta una coma" #. This could happen for example with a source file with a huge #. number of lines. The only cure is to use a different debug #. format, probably DWARF. -#: stabs.c:243 +#: stabs.c:240 #, c-format msgid ".stab%c: description field '%x' too big, try a different debug format" msgstr ".stab%c: la descripción del campo '%x' es demasiado grande, intente un formato de depuración diferente" -#: stabs.c:426 +#: stabs.c:421 msgid "comma missing in .xstabs" msgstr "falta una coma en .xstabs" -#: subsegs.c:373 -#, c-format -msgid "attempt to switch to nonexistent segment \"%s\"" -msgstr "se intentó cambiar a un segmento \"%s\" que no existe" - -#: symbols.c:309 +#: symbols.c:278 #, c-format msgid "cannot define symbol `%s' in absolute section" msgstr "no se puede definir el símbolo `%s' en la sección absoluta" -#: symbols.c:443 +#: symbols.c:409 #, c-format msgid "symbol `%s' is already defined as \"%s\"/%s%ld" msgstr "el símbolo \"%s\" ya está definido como \"%s\"/%s%ld" -#: symbols.c:519 symbols.c:526 +#: symbols.c:483 symbols.c:490 #, c-format msgid "inserting \"%s\" into symbol table failed: %s" msgstr "falló la inserción de \"%s\" en la tabla de símbolos: %s" -#: symbols.c:840 symbols.c:844 +#: symbols.c:864 symbols.c:868 #, c-format msgid "undefined symbol `%s' in operation" msgstr "símbolo indefinido `%s' en la operación" -#: symbols.c:851 +#: symbols.c:875 #, c-format msgid "invalid sections for operation on `%s' and `%s'" msgstr "secciones inválidas para la operación en `%s' y `%s'" -#: symbols.c:855 +#: symbols.c:879 #, c-format msgid "invalid section for operation on `%s'" msgstr "sección inválida para la operación en `%s'" -#: symbols.c:863 symbols.c:866 +#: symbols.c:887 symbols.c:890 #, c-format msgid "undefined symbol `%s' in operation setting `%s'" msgstr "símbolo indefinido `%s' en la operación que establece `%s'" -#: symbols.c:873 +#: symbols.c:897 #, c-format msgid "invalid sections for operation on `%s' and `%s' setting `%s'" msgstr "secciones inválidas para la operación en `%s' y `%s' que establece `%s'" -#: symbols.c:877 +#: symbols.c:901 #, c-format msgid "invalid section for operation on `%s' setting `%s'" msgstr "sección inválida para la operación en `%s' que establece `%s'" -#: symbols.c:929 +#: symbols.c:951 #, c-format msgid "symbol definition loop encountered at `%s'" msgstr "se encontró un ciclo de definición de símbolo en %s" -#: symbols.c:1162 +#: symbols.c:1209 #, c-format msgid "division by zero when setting `%s'" msgstr "división por cero al establecer `%s'" -#: symbols.c:1249 write.c:1977 +#: symbols.c:1291 write.c:1545 #, c-format msgid "can't resolve value for symbol `%s'" msgstr "no se puede resolver el valor para el símbolo `%s'" -#: symbols.c:1637 +#: symbols.c:1738 #, c-format msgid "\"%d\" (instance number %d of a %s label)" msgstr "\"%d\" (número de instancia %d de una etiqueta %s)" -#: symbols.c:1673 +#: symbols.c:1775 #, c-format msgid "attempt to get value of unresolved symbol `%s'" msgstr "se intentó obtener el valor del símbolo sin resolver `%s'" -#: symbols.c:1916 +#: symbols.c:2045 msgid "section symbols are already global" msgstr "los símbolos de sección ya son globales" -#: symbols.c:1961 +#: symbols.c:2150 #, c-format msgid "Accessing function `%s' as thread-local object" msgstr "Se accesa a la función `%s' como un objeto de hilo local" -#: symbols.c:1965 +#: symbols.c:2154 #, c-format msgid "Accessing `%s' as thread-local object" msgstr "Se accesa `%s' como un objeto de hilo local" -#: write.c:208 +#: write.c:164 #, c-format msgid "field fx_size too small to hold %d" msgstr "el campo fx_size es demasiado pequeño para contener %d" -#: write.c:340 -msgid "rva not supported" -msgstr "rva no tiene soporte" - -#: write.c:540 +#: write.c:440 #, c-format msgid "attempt to .org/.space backwards? (%ld)" msgstr "¿se intentó hacer .org/.space hacia atrás? (%ld)" -#: write.c:966 write.c:1038 +#: write.c:691 +#, c-format +msgid "Local symbol `%s' can't be equated to undefined symbol `%s'" +msgstr "El símbolo local `%s' no se puede igualar al símbolo sin definir `%s'" + +#: write.c:865 write.c:937 msgid "relocation out of range" msgstr "reubicación fuera de rango" -#: write.c:969 write.c:1041 +#: write.c:868 write.c:940 #, c-format msgid "%s:%u: bad return from bfd_install_relocation: %x" msgstr "%s:%u: devolución errónea de bfd_install_relocation: %x" -#: write.c:1021 +#: write.c:920 msgid "internal error: fixup not contained within frag" msgstr "error interno: la compostura no está contenida en un fragmento" -#: write.c:1127 write.c:1151 +#: write.c:1026 write.c:1050 #, c-format msgid "FATAL: Can't write %s" msgstr "FATAL: No se puede escribir %s" -#: write.c:1183 +#: write.c:1082 msgid "cannot write to output file" msgstr "no se puede escribir al fichero de salida" -#: write.c:1440 +#: write.c:1223 #, c-format msgid "%d error%s, %d warning%s, generating bad object file" msgstr "%d error%s, %d aviso%s, se genera un fichero objeto erróneo" -#: write.c:1447 +#: write.c:1230 #, c-format msgid "%d error%s, %d warning%s, no object file generated" msgstr "%d erro%s, %d aviso%s, no se genera un fichero objeto" -#: write.c:1918 +#: write.c:1464 +#, c-format +msgid "%s: global symbols not supported in common sections" +msgstr "%s: los símbolos globales no tienen soporte en las secciones comunes" + +#: write.c:1478 #, c-format msgid "local label `%s' is not defined" msgstr "la etiqueta local `%s' no está definida" -#: write.c:1931 +#: write.c:1498 #, c-format -msgid "`%s' can't be equated to common symbol" -msgstr "`%s' no se puede igualar al símbolo común" +msgid "Local symbol `%s' can't be equated to common symbol `%s'" +msgstr "El símbolo local `%s' no se puede igualar al símbolo común `%s'" -#: write.c:2209 +#: write.c:1768 #, c-format msgid "alignment padding (%lu bytes) not a multiple of %ld" msgstr "el relleno de alineación (%lu bytes) no es un múltiplo de %ld" -#: write.c:2326 +#: write.c:1900 #, c-format msgid ".word %s-%s+%s didn't fit" msgstr ".word %s-%s+%s no cabe" -#: write.c:2413 +#: write.c:1976 msgid "attempt to move .org backwards" msgstr "se intentó mover .org hacia atrás" -#: write.c:2441 +#: write.c:2004 msgid ".space specifies non-absolute value" msgstr ".space especifica un valor no absoluto" -#: write.c:2448 +#: write.c:2011 msgid ".space or .fill with negative value, ignored" msgstr ".space ó .fill con valor negativo, se ignora" -#: write.c:2731 +#: write.c:2067 +#, c-format +msgid "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s" +msgstr "Se encontró un ciclo infinito al intentar computar las direcciones de los símbolos en la sección %s" + +#: write.c:2289 #, c-format msgid "value of %s too large for field of %d bytes at %s" msgstr "el valor de %s es demasiado grande para el campo de %d bytes en %s" -#: write.c:2743 +#: write.c:2301 #, c-format msgid "signed .word overflow; switch may be too large; %ld at 0x%lx" msgstr "desbordamiento con signo de .word; el interruptor puede ser demasiado grande; %ld en 0x%lx" +#~ msgid "end of file in string; inserted '\"'" +#~ msgstr "fin de fichero en la cadena; se insertó '\"'" + +#~ msgid "GNU assembler version %s (%s)" +#~ msgstr "GNU ensamblador versión %s (%s)" + +#~ msgid "unresolved relocation" +#~ msgstr "reubicación sin resolver" + +#~ msgid "bad relocation: symbol `%s' not in symbol table" +#~ msgstr "reubicación errónea: el símbolo `%s' no está en la tabla de símbolos" + +#~ msgid "%s: bad type for weak symbol" +#~ msgstr "%s: tipo erróneo para un símbolo débil" + +#~ msgid "Local symbol %s never defined." +#~ msgstr "El símbolo local %s nunca se definió." + +#~ msgid "Local symbol %s never defined" +#~ msgstr "El símbolo local %s nunca se definió" + +#~ msgid "bfd_coff_swap_scnhdr_out failed" +#~ msgstr "falló bfd_coff_swap_scnhdr_out" + +#~ msgid "`.bf' symbol without preceding function\n" +#~ msgstr "símbolo `.bf' sin una función precedente\n" + +#~ msgid "Too many new sections; can't add \"%s\"" +#~ msgstr "Demasiadas secciones nuevas; no se puede agregar \"%s\"" + +#~ msgid "Negative of non-absolute symbol %s" +#~ msgstr "Negativo de un símbolo %s que no es absoluto" + +#~ msgid "callj to difference of 2 symbols" +#~ msgstr "callj para diferenciar a 2 símbolos" + +#~ msgid "Can't emit reloc {- %s-seg symbol \"%s\"} @ file address %ld." +#~ msgstr "No se puede emitir la reubicación {- %s-seg símbolo \"%s\"} @ dirección del fichero %ld." + +#~ msgid "Value of %ld too large for field of %d bytes at 0x%lx" +#~ msgstr "El valor de %ld es demasiado grande para el campo de %d bytes en 0x%lx" + +#~ msgid "Signed .word overflow; switch may be too large; %ld at 0x%lx" +#~ msgstr "Desbordamiento con signo de .word; el interruptor puede ser demasiado grande; %ld en 0x%lx" + +#~ msgid "compiler emitted zero-size common symbol `%s' already defined" +#~ msgstr "el símbolo común de tamaño cero emitido por el compilador `%s' ya está definido" + +#~ msgid "compiler redefined zero-size common symbol `%s'" +#~ msgstr "símbolo común de tamaño cero `%s' redefinido por el compilador" + +#~ msgid "Couldn't create VMS object file \"%s\"" +#~ msgstr "No se puede crear el fichero objeto VMS \"%s\"" + +#~ msgid "I/O error writing VMS object file (length prefix)" +#~ msgstr "Error de E/S al escribir el fichero objeto VMS (longitud del prefijo)" + +#~ msgid "I/O error writing VMS object file" +#~ msgstr "Error de E/S al escribir el fichero objeto VMS" + +#~ msgid "Couldn't find source file \"%s\", status=%%X%x" +#~ msgstr "No se puede encontrar el fichero fuente \"%s\", estado=%%X%x" + +#~ msgid "debugger forward reference error, dbx type %d" +#~ msgstr "error de referencia hacia adelante del depurador, tipo dbx %d" + +#~ msgid "Variable descriptor %d too complicated. Defined as `void *'." +#~ msgstr "El descriptor de variable %d es demasiado complicado. Se define como `void *'." + +#~ msgid "" +#~ "***Warning - the assembly code generated by the compiler has placed \n" +#~ " global constant(s) in the text psect. These will not be available to \n" +#~ " other modules, since this is not the correct way to handle this. You \n" +#~ " have two options: 1) get a patched compiler that does not put global \n" +#~ " constants in the text psect, or 2) remove the 'const' keyword from \n" +#~ " definitions of global variables in your source module(s). Don't say \n" +#~ " I didn't warn you! \n" +#~ msgstr "" +#~ "***Aviso - el código ensamblador generado por el compilador ha colocado \n" +#~ " constante(s) global(es) en la psect de texto. Éstas no estarán disponibles \n" +#~ " para otros módulos, ya que no es la forma correcta de manejarlo. Tiene \n" +#~ " dos opciones: 1) obtener un compilador parchado que no coloque constantes \n" +#~ " globales en la psect de texto, o 2) quitar la palabra clave 'const' de \n" +#~ " las definiciones de las variables globales en el(los) módulo(s) fuente. \n" +#~ " ¡No diga que no se le advirtió! \n" + +#~ msgid "debugginer output: %d is an unknown untyped variable." +#~ msgstr "salida del depurador: %d es una variable sin tipo desconocido." + +#~ msgid "debugger output: structure element `%s' has undefined type" +#~ msgstr "salida del depurador: el elmento de la estructura `%s' tiene un tipo indefinido" + +#~ msgid "debugger output: %d is an unknown type of variable." +#~ msgstr "salida del depurador: %d es un tipo desconocido de variable." + +#~ msgid "debugger output: Unable to resolve %d circular references." +#~ msgstr "salida del depurador: No se pueden resolver %d referencias circulares." + +#~ msgid "Module name truncated: %s\n" +#~ msgstr "Nombre de módulo truncado: %s\n" + +#~ msgid "Symbol %s replaced by %s\n" +#~ msgstr "El símbolo %s se reemplazó por %s\n" + +#~ msgid "Unknown VMS psect type (%ld)" +#~ msgstr "Tipo psect VMS desconocido (%ld)" + +#~ msgid "Globalsymbol attribute for symbol %s was unexpected." +#~ msgstr "El atributo de globalsymbol para el símbolo %s era inesperado." + +#~ msgid "Invalid data type for globalvalue" +#~ msgstr "Tipo de dato inválido para globalvalue" + +#~ msgid "Invalid globalvalue of %s" +#~ msgstr "Globalvalue inválido de %s" + +#~ msgid "Couldn't find fixup fragment when checking for indirect reference" +#~ msgstr "No se puede encontrar el fragmento de compostura al revisar por referencias indirectas" + +#~ msgid "Fixup data addsy and subsy don't have the same type" +#~ msgstr "Los datos de compostura addsy y subsy no tienen el mismo tipo" + +#~ msgid "Fixup data addsy and subsy don't have an appropriate type" +#~ msgstr "Los datos de compostura addsy y subsy no tienen un tipo apropiado" + +#~ msgid "Fixup data is erroneously \"pcrel\"" +#~ msgstr "Los datos de compostura son \"pcrel\" erróneamente" + +#~ msgid "Fixup datum is not a longword" +#~ msgstr "El dato de compostura no es un longword" + +#~ msgid "Fixup datum is not \"fixP->fx_addsy\"" +#~ msgstr "El dato de compostura no es \"fixP->fx_addsy\"" + +#~ msgid "Can't handle global xtors symbols yet." +#~ msgstr "No se pueden manejar símbolos xtors globales aún." + +#~ msgid "Unknown %s" +#~ msgstr "%s desconocido" + +#~ msgid "unhandled stab type %d" +#~ msgstr "tipo de cabo %d sin manejar" + +#~ msgid "Immediate value of %ld is too large" +#~ msgstr "El valor inmediato de %ld es demasiado grande" + +#~ msgid "need %o3\n" +#~ msgstr "se necesita %o3\n" + +#~ msgid "a29k_convert_frag\n" +#~ msgstr "a29k_convert_frag\n" + +#~ msgid "a29k_estimate_size_before_relax\n" +#~ msgstr "a29k_estimate_size_before_relax\n" + +#~ msgid "Invalid register in & expression" +#~ msgstr "Registro inválido en la expresión &" + +#~ msgid "Intel Wireless MMX technology register expected" +#~ msgstr "se esperaba un registro de tecnología Intel Inalámbrico MMX" + +#~ msgid "unreq: missing hash entry for \"%s\"" +#~ msgstr "unreq: falta la entrada de hash para \"%s\"" + +#~ msgid ".unreq: unrecognized symbol \"%s\"" +#~ msgstr ".unreq: símbolo \"%s\" no reconocido" + +#~ msgid "bad_segment" +#~ msgstr "segmento_erróneo" + +#~ msgid "register expected, not '%.100s'" +#~ msgstr "se esperaba un registro, no '%.100s'" + +#~ msgid "Intel Wireless MMX technology register expected, not '%.100s'" +#~ msgstr "se esperaba un registro de tecnología Intel Inalámbrica MMX, no '%.100s'" + +#~ msgid "illegal co-processor number" +#~ msgstr "número de co-procesador ilegal" + +#~ msgid "bad or missing expression" +#~ msgstr "expresión errónea o faltante" + +#~ msgid "immediate co-processor expression too large" +#~ msgstr "expresión de co-procesador inmediata demasiado grande" + +#~ msgid "co-processor address must be word aligned" +#~ msgstr "la dirección del co-procesador debe ser alineada con word" + +#~ msgid "comma expected after closing square bracket" +#~ msgstr "se esperaba una coma después del paréntesis cuadrado que cierra" + +#~ msgid "pc may not be used in post-increment" +#~ msgstr "el pc no se puede usar en post-incremento" + +#~ msgid "'option' field too large" +#~ msgstr "campo 'option' demasiado grande" + +#~ msgid "non-constant expressions for 'option' field not supported" +#~ msgstr "no hay soporte para expresiones no constantes para el campo 'option'" + +#~ msgid "# or { expected after comma" +#~ msgstr "se esperaba # o { después de la coma" + +#~ msgid "pre-indexed expression expected" +#~ msgstr "se esperaba una expresión pre-indizada" + +#~ msgid "missing ]" +#~ msgstr "falta un ]" + +#~ msgid "Invalid NOP hint" +#~ msgstr "Pista NOP inválida" + +#~ msgid "comma expected after register name" +#~ msgstr "se esperaba una coma después del nombre de registro" + +#~ msgid "comma missing after psr flags" +#~ msgstr "falta una coma después de las opciones psr" + +#~ msgid "only a register or immediate value can follow a psr flag" +#~ msgstr "sólo un registro o un valor inmediato puede seguir a una opción psr" + +#~ msgid "acc0 expected, not '%.100s'" +#~ msgstr "se esperaba acc0, no '%.100s'" + +#~ msgid "address offset too large" +#~ msgstr "dirección de desplazamiento demasiado grande" + +#~ msgid "Warning: instruction unpredictable when using r15" +#~ msgstr "Aviso: la instrucción es impredecible cuando se utiliza r15" + +#~ msgid "Rd equal to Rm or Rn yields unpredictable results" +#~ msgstr "Rd igual a Rm o Rn produce resultados impredecibles" + +#~ msgid "shift requires register or #expression" +#~ msgstr "el desplazamiento requiere un registro o una #expresión" + +#~ msgid "shift requires #expression" +#~ msgstr "el desplazamiento requiere una #expresión" + +#~ msgid "shift of 0 ignored." +#~ msgstr "se ignora un desplazamiento de 0." + +#~ msgid "invalid immediate shift" +#~ msgstr "desplazamiento inmediato inválido" + +#~ msgid "missing endian specifier" +#~ msgstr "falta el especificador endian" + +#~ msgid "rotation can be 8, 16, 24 or 0 when field is ommited" +#~ msgstr "rotation puede ser 8, 16, 24 o 0 cuando se omite el campo" + +#~ msgid "no 'a', 'i', or 'f' flags for 'cps'" +#~ msgstr "no hay opciones 'a', 'i', o 'f' para 'cps'" + +#~ msgid "conditional execution not supported with control register" +#~ msgstr "la ejecución condicional no tiene soporte con un registro de control" + +#~ msgid "pre/post-indexing used when modified address register is destination" +#~ msgstr "se usó pre/post-indizado cuando el registro de dirección modificado es el destino" + +#~ msgid "ldrd destination registers must not overlap index register" +#~ msgstr "los registros destino ldrd no deben quedar sobre el registro índice" + +#~ msgid "invalid floating point immediate expression" +#~ msgstr "expresión inmediata de coma flotante inválida" + +#~ msgid "floating point register or immediate expression expected" +#~ msgstr "se esperaba un registro de coma flotante o una expresión inmediata" + +#~ msgid "address expected" +#~ msgstr "se esperaba una dirección" + +#~ msgid "destination" +#~ msgstr "destino" + +#~ msgid "source" +#~ msgstr "fuente" + +#~ msgid "post-indexed expression expected" +#~ msgstr "se esperaba una expresión post-indizada" + +#~ msgid "r15 not allowed in swap" +#~ msgstr "no se permite r15 en el intercambio" + +#~ msgid "constant value required for number of registers" +#~ msgstr "se requiere un valor constante para el número de registros" + +#~ msgid "subtract valid only on lo regs" +#~ msgstr "subtract válido sólo en registros lo" + +#~ msgid "invalid immediate value for stack adjust" +#~ msgstr "valor inmediato inválido para el ajuste de la pila" + +#~ msgid "invalid immediate for address calculation" +#~ msgstr "inmediato inválido para el cálculo de dirección" + +#~ msgid "invalid immediate for shift" +#~ msgstr "inmediato inválido para el desplazamiento" + +#~ msgid "expected ']'" +#~ msgstr "se esperaba ']'" + +#~ msgid "invalid base register in load/store" +#~ msgstr "registro base inválido en carga/almacenamiento" + +#~ msgid "expecting immediate, 7bit operand" +#~ msgstr "se espera un operando inmediato de 7 bits" + +#~ msgid "offset expected" +#~ msgstr "se esperaba un desplazamiento" + +#~ msgid "Rs and Rd must be different in MUL" +#~ msgstr "Rs y Rd deben ser diferentes en MUL" + +#~ msgid "inserted missing '!': load/store multiple always writes back base register" +#~ msgstr "se insertó un '!' faltante: los load/store múltiples siempre escribe hacia atrás el registro base" + +#~ msgid "only lo-regs valid in load/store multiple" +#~ msgstr "sólo los registros lo son válidos en carga/almacenamiento múltiple" + +#~ msgid "syntax: ldrs[b] Rd, [Rb, Ro]" +#~ msgstr "sintaxis: ldrs[b] Rd, [Rb, Ro]" + +#~ msgid "failed to create an alias for %s, reason: %s" +#~ msgstr "falló la creación de un alias para %s, razón: %s" + +#~ msgid "ignoring redefinition of register alias '%s' to non-existant register '%s'" +#~ msgstr "se ignora la redefinición del alias de registro '%s' al registro no existente '%s'" + +#~ msgid "ignoring incomplete .req pseuso op" +#~ msgstr "se ignora el pseudo operador incompleto .req" + +#~ msgid "GAS can't handle same-section branch dest >= 0x04000000" +#~ msgstr "GAS no puede manejar un destino de ramificación en la misma sección >= 0x04000000" + +#~ msgid "out of range branch" +#~ msgstr "ramificación fuera de rango" + +#~ msgid "branch with link out of range" +#~ msgstr "ramificación con enlace fuera de rango" + +#~ msgid "illegal value for co-processor offset" +#~ msgstr "valor ilegal para el desplazamiento del co-procesador" + +#~ msgid "Illegal value for co-processor offset" +#~ msgstr "Valor ilegal para el desplazamiento del co-procesador" + +#~ msgid "invalid 8bit immediate" +#~ msgstr "inmediato de 8bit inválido" + +#~ msgid "invalid 3bit immediate" +#~ msgstr "inmediato de 3bit inválido" + +#~ msgid "no operator -- statement `%s'\n" +#~ msgstr "no hay operador -- declaración `%s'\n" + +#~ msgid "expected wr or wcgr" +#~ msgstr "se esperaba wr o wcgr" + +#~ msgid "inconsistent register types" +#~ msgstr "tipos de registro inconsistentes" + +#~ msgid "unrecognised register" +#~ msgstr "registro no reconocido" + +#~ msgid "arm convert_frag\n" +#~ msgstr "convert_frag de arm\n" + +#~ msgid "call to tc_crawl_symbol_chain \n" +#~ msgstr "llamada a tc_crawl_symbol_chain \n" + +#~ msgid "call to tc_headers_hook \n" +#~ msgstr "llamada a tc_headers_hook \n" + +#~ msgid ":24 not valid for this opcode" +#~ msgstr ":24 no es válido para este código de operación" + +#~ msgid "expect :8,:16 or :24" +#~ msgstr "se esperaba :8,:16 ó :24" + +#~ msgid "syntax error in reg list" +#~ msgstr "error sintáctico en la lista de registros" + +#~ msgid "missing final register in range" +#~ msgstr "falta el registro final en el rango" + +#~ msgid "expected @(exp, Rn)" +#~ msgstr "se esperaba @(exp, Rn)" + +#~ msgid "@Rn+ needs word register" +#~ msgstr "@Rn+ necesita un registro word" + +#~ msgid "@Rn needs word register" +#~ msgstr "@Rn necesita un registro word" + +#~ msgid "operand must be absolute in range %d..%d" +#~ msgstr "el operando debe ser absoluto en el rango %d..%d" + +#~ msgid "leafproc symbol '%s' undefined" +#~ msgstr "símolo de proceso hoja '%s' indefinido" + +#~ msgid "Warning: making leafproc entries %s and %s both global\n" +#~ msgstr "Aviso: haciendo globales las entradas de proceso hoja %s y %s\n" + +#~ msgid "Unknown PC relative instruction" +#~ msgstr "Instrucción relativa al PC desconocida" + +#~ msgid "Can't hash instruction '%s':%s" +#~ msgstr "No se puede dispersar la instrucción '%s':%s" + +#~ msgid "Invalid mnemonic '%s'" +#~ msgstr "Mnemónico inválido '%s'" + +#~ msgid "Parameter syntax error" +#~ msgstr "Error sintáctico de parámetros" + +#~ msgid "Use of obsolete instruction" +#~ msgstr "Uso de una instrucción obsoleta" + +#~ msgid "Expression truncated to 16 bits" +#~ msgstr "Expresión truncada a 16 bits" + +#~ msgid "Expression truncated to 5 bits" +#~ msgstr "Expresión truncada a 5 bits" + +#~ msgid "Expression truncated to 9 bits" +#~ msgstr "Expresión truncada a 9 bits" + +#~ msgid "Removed lower 2 bits of expression" +#~ msgstr "Se borraron los 2 bits inferiores de la expresión" + +#~ msgid "Relaxation should never occur" +#~ msgstr "La relajación nunca debe ocurrir" + +#~ msgid "m88k convert_frag\n" +#~ msgstr "m88k convert_frag\n" + +#~ msgid "constant too large" +#~ msgstr "constante demasiado grande" + +#~ msgid "register out of range" +#~ msgstr "registro fuera de rango" + +#~ msgid "The -a option doesn't exist. (Despite what the man page says!" +#~ msgstr "La opción -a no existe. (¡A pesar de lo que diga la página del manual!)" + +#~ msgid "" +#~ "Tahoe options:\n" +#~ "-a\t\t\tignored\n" +#~ "-d LENGTH\t\tignored\n" +#~ "-J\t\t\tignored\n" +#~ "-S\t\t\tignored\n" +#~ "-t FILE\t\t\tignored\n" +#~ "-T\t\t\tignored\n" +#~ "-V\t\t\tignored\n" +#~ msgstr "" +#~ "Opciones de Tahoe:\n" +#~ "-a\t\t\tse ignora\n" +#~ "-d LENGTH\t\tse ignora\n" +#~ "-J\t\t\tse ignora\n" +#~ "-S\t\t\tse ignora\n" +#~ "-t FILE\t\t\tse ignora\n" +#~ "-T\t\t\tse ignora\n" +#~ "-V\t\t\tse ignora\n" + +#~ msgid "Casting a branch displacement is bad form, and is ignored." +#~ msgstr "La conversión de una desubicación de ramificación es una forma errónea, y se ignora." + +#~ msgid "Couldn't parse the [index] in this operand." +#~ msgstr "No se puede decodificar el [index] en este operando." + +#~ msgid "Couldn't find the opening '[' for the index of this operand." +#~ msgstr "No se puede encontrar el '[' que abre para el índice de este operando." + +#~ msgid "Couldn't find the opening '(' for the deref of this operand." +#~ msgstr "No se puede encontrar el '(' que abre para la dereferencia de este operando." + +#~ msgid "Operand can't be both pre-inc and post-dec." +#~ msgstr "El operando no puede ser pre-incremento y post-decremento al mismo tiempo." + +#~ msgid "I parsed 2 registers in this operand." +#~ msgstr "Se decodificaron 2 registros en este operando." + +#~ msgid "Can't relocate expression error." +#~ msgstr "No se puede reubicar la expresión de error." + +#~ msgid "Expression is too large for a 32 bits." +#~ msgstr "La expresión es demasiado grande para 32 bits." + +#~ msgid "Junk at end of expression." +#~ msgstr "Basura al final de la expresión." + +#~ msgid "Syntax error in direct register mode." +#~ msgstr "Error sintáctico en el modo directo de registro." + +#~ msgid "You can't index a register in direct register mode." +#~ msgstr "No se puede indizar un registro en el modo directo de registro." + +#~ msgid "SP can't be the source operand with direct register addressing." +#~ msgstr "SP no puede ser el operando fuente con direccionamiento directo de registro." + +#~ msgid "Can't take the address of a register." +#~ msgstr "No se puede tomar la dirección de un registro." + +#~ msgid "Direct Register can't be used in a branch." +#~ msgstr "Un Registro Directo no se puede utilizar en una ramificación." + +#~ msgid "For quad access, the register must be even and < 14." +#~ msgstr "Para acceso cuadrático, el registro debe ser par y < 14." + +#~ msgid "You can't cast a direct register." +#~ msgstr "No se puede convertir un registro directo." + +# `tromp' se utiliza aquí como verbo transitivo. cfuga +# Referencia: http://www.dictionary.com/search?q=tromp +#~ msgid "Using reg 14 for quadwords can tromp the FP register." +#~ msgstr "El uso del registro 14 para quadwords puede noquear el registro FP." + +#~ msgid "Syntax error in auto-dec mode." +#~ msgstr "Error sintáctico en el modo auto-dec." + +#~ msgid "You can't have an index auto dec mode." +#~ msgstr "No se puede tener un índice en modo auto dec" + +#~ msgid "Auto dec mode cant be used for reading." +#~ msgstr "El modo auto dec no se puede usar para lectura." + +#~ msgid "Auto dec only works of the SP register." +#~ msgstr "El modo auto dec solamente funciona en los registros SP." + +#~ msgid "Auto dec can't be used in a branch." +#~ msgstr "No se puede utilizar auto dec en una ramificación." + +#~ msgid "Auto dec won't work with quadwords." +#~ msgstr "Auto dec no funciona con quadwords." + +#~ msgid "Syntax error in one of the auto-inc modes." +#~ msgstr "Error sintáctico en uno de los modos auto-inc." + +#~ msgid "Auto inc deferred only works of the SP register." +#~ msgstr "El modo auto inc diferido solamente funciona en los registros SP." + +#~ msgid "You can't have an index auto inc deferred mode." +#~ msgstr "No se puede tener un índice en modo auto inc diferido" + +#~ msgid "Auto inc can't be used in a branch." +#~ msgstr "No se puede utilizar auto inc en una ramificación." + +#~ msgid "You can't write to an auto inc register." +#~ msgstr "No se puede escribir en un registro auto inc." + +#~ msgid "Auto inc only works of the SP register." +#~ msgstr "El modo auto inc funciona solamente en los registros SP." + +#~ msgid "Auto inc won't work with quadwords." +#~ msgstr "Auto inc no funciona con quadwords." + +#~ msgid "You can't have an index in auto inc mode." +#~ msgstr "No se puede tener un índice en el modo auto inc." + +#~ msgid "You can't index the sp register." +#~ msgstr "No se puede indizar el registro sp." + +#~ msgid "Syntax error in register displaced mode." +#~ msgstr "Error sintáctico en el registro en modo desubicado." + +#~ msgid "An offest is needed for this operand." +#~ msgstr "Se necesita un desplazamiento para este operando." + +#~ msgid "You can't index a register in immediate mode." +#~ msgstr "No se puede indizar un registro en modo inmediato." + +#~ msgid "Immediate access can't be used as an address." +#~ msgstr "No se puede utilizar el acceso inmediato como una dirección" + +#~ msgid "Compiler bug: ODD number of bytes in arg structure %s." +#~ msgstr "Bicho del compilador: número de bytes IMPAR en la estructura de argumentos %s." + +#~ msgid "Compliler bug: Got a case (%d) I wasn't expecting." +#~ msgstr "Bicho del compilador: Se obtuvo un case (%d) que no se esperaba." + +#~ msgid "Real branch displacements must be expressions." +#~ msgstr "Las desubicaciones de ramificaciones reales deben ser expresiones." + +#~ msgid "Complier error: I got an unknown synthetic branch :%c" +#~ msgstr "Error del compilador: Se obtuvo una ramificación sintética desconocida :%c" + +# En México se utilizaría `guácala' por `barf', como una expresión +# que simboliza vómito, pero no es comprensible para todos los +# hispanoparlantes. :-) cfuga +#~ msgid "Barf, bad mode %x\n" +#~ msgstr "Ugh, modo erróneo %x\n" + +#~ msgid "internal error:%s:%d: %s\n" +#~ msgstr "error interno:%s:%d: %s\n" + +#~ msgid "internal error:%s:%d: %s %ld\n" +#~ msgstr "error interno:%s:%d: %s %ld\n" + +#~ msgid "Relaxation is a luxury we can't afford" +#~ msgstr "La relajación es un lujo que no se puede conceder" + +#~ msgid "bad call to md_atof ()" +#~ msgstr "llamada errónea a md_atof ()" + +#~ msgid "':' not followed by 'm' or 's'" +#~ msgstr "':' no está seguido por 'm' o 's'" + +#~ msgid "paren nesting" +#~ msgstr "anidamiento de paréntesis" + +#~ msgid "mismatched parenthesis" +#~ msgstr "paréntesis sin coincidencia" + +#~ msgid "unhandled expression type" +#~ msgstr "tipo de expresión sin manejar" + +#~ msgid "symbol reloc that is not PC relative or 32 bits" +#~ msgstr "reubicación de símbolo que no es relativo al PC o de 32 bits" + +#~ msgid "unhandled operand modifier" +#~ msgstr "modificador de operando sin manejar" + +#~ msgid "unhandled expression" +#~ msgstr "expresión sin manejar" + +#~ msgid "Invalid mnemonic: '%s'" +#~ msgstr "Mnemónico inválido: '%s'" + +#~ msgid "Invalid operands: '%s'" +#~ msgstr "Operandos inválidos: '%s'" + +#~ msgid "unhandled predefined symbol bits" +#~ msgstr "bits de símbolo predefinido sin manejar" + +#~ msgid "PC offset 0x%lx outside range 0x%lx-0x%lx" +#~ msgstr "desplazamiento del PC 0x%lx fuera del rango 0x%lx-0x%lx" + +#~ msgid "unhandled relocation type in fixup" +#~ msgstr "typo de reubicación sin manejar en la compostura" + +#~ msgid "md_convert_frag() not implemented yet" +#~ msgstr "md_convert_frag() aún no está implementado" + +#~ msgid "need on or off." +#~ msgstr "necesita on u off." + +#~ msgid "syntax error after frch_next = frcP; /* perhaps NULL */ seginfo = seg_info (seg); - if (seginfo && seginfo->frchainP == frcP) + if (seginfo && (!seginfo->frchainP || seginfo->frchainP == frcP)) seginfo->frchainP = newP; frcP = newP; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index cde23291605..6637ab92950 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,81 @@ +2006-06-14 Thiemo Seufer + + * gas/mips/mips16e-jrc.d, gas/mips/mips16e-save.d, + gas/mips/mips32-dsp.d, gas/mips/mips32-mt.d: Explicitly specify + o32 ABI. + +2006-05-26 Richard Sandiford + + * gas/m68k/mcf-fpu.s: Add fmovemd and fmovem instructions. + * gas/m68k/mcf-fpu.d: Adjust accordingly. + +2006-05-22 Nick Clifton + + * gas/mips/mips32-dsp.l: Fix expected unsigned decoding of -1 in + warning messages. + * gas/mips/mips32-mt.l: Likewise. + +2006-05-19 Thiemo Seufer + + * gas/mips/vxworks1-el.d, gas/mips/vxworks1-xgot-el.d: Add little + endian testcases. + * gas/mips/vxworks1.d, gas/mips/vxworks1-xgot.d: Build as big endian. + * gas/mips/mips.exp: Run new testcases. + +2006-05-11 Thiemo Seufer + + * gas/mips/jal-range.l: Don't check the range of j or jal + addresses. + +2006-05-04 Thiemo Seufer + + * gas/mips/mips32-mt.d: Fix mftr argument order. + +2006-05-02 Joseph Myers + + * gas/arm/iwmmxt.s: Increase offsets for wstrb and wstrh. + * gas/arm/iwmmxt.d: Update expected results. + * gas/arm/iwmmxt-bad2.s: Test wstrb, wstrh, wldrb and wldrh. + * gas/arm/iwmmxt-bad2.l: Update expected error messages. + +2006-04-16 Nick Clifton + + * gas/arm/arch7.d: Skip test for non-ELF targets. + * gas/arm/blx-local.d: Likewise. + * gas/arm/svc.d: Likewise. + * gas/arm/thumb2_bcond.d: Likewise. + * gas/arm/thumb2_it_bad.d: Likewise. + +2006-04-07 Paul Brook + + * gas/arm/blx-local.d: New test. + * gas/arm/blx-local.d: New test. + +2006-04-07 Paul Brook + + * gas/arm/thumb2_pool.d: New test. + * gas/arm/thumb2_pool.s: New test. + +2006-04-05 Richard Sandiford + + * gas/sparc/vxworks-pic.s, gas/sparc/vxworks-pic.d: New test. + * gas/sparc/sparc.exp: Run it. Remove sparc*-*-vxworks* XFAILs. + +2006-03-23 H.J. Lu + + * gas/i386/rep.s: Pad with .p2align. + * gas/i386/rep.d: Adjust. + +2006-03-22 Richard Sandiford + + * gas/mips/vxworks1.s, gas/mips/vxworks1.d, + * gas/mips/vxworks1-xgot.d: New tests. + * gas/mips/mips.exp: Run them. Do not run other tests on VxWorks. + +2006-03-21 Paul Brook + + * gas/arm/thumb32.d: Correct expected output. + 2006-03-20 Paul Brook * gas/arm/thumb2_bcond.d: New test. diff --git a/gas/testsuite/gas/arm/arch7.d b/gas/testsuite/gas/arm/arch7.d index f6563408282..992948b8331 100644 --- a/gas/testsuite/gas/arm/arch7.d +++ b/gas/testsuite/gas/arm/arch7.d @@ -1,5 +1,6 @@ #name: ARM V7 instructions #as: -march=armv7r +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* #objdump: -dr --prefix-addresses --show-raw-insn .*: +file format .*arm.* diff --git a/gas/testsuite/gas/arm/svc.d b/gas/testsuite/gas/arm/svc.d index 697756c7965..fdeb9302083 100644 --- a/gas/testsuite/gas/arm/svc.d +++ b/gas/testsuite/gas/arm/svc.d @@ -1,5 +1,6 @@ # name: SWI/SVC instructions # objdump: -dr --prefix-addresses --show-raw-insn +# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* .*: +file format .*arm.* diff --git a/gas/testsuite/gas/arm/thumb2_bcond.d b/gas/testsuite/gas/arm/thumb2_bcond.d index 02903a95419..e4a8798cb66 100644 --- a/gas/testsuite/gas/arm/thumb2_bcond.d +++ b/gas/testsuite/gas/arm/thumb2_bcond.d @@ -1,5 +1,6 @@ # as: # objdump: -dr --prefix-addresses --show-raw-insn +# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* .*: +file format .*arm.* diff --git a/gas/testsuite/gas/arm/thumb2_it_bad.d b/gas/testsuite/gas/arm/thumb2_it_bad.d index 1cca8b9650c..f905c9f5e73 100644 --- a/gas/testsuite/gas/arm/thumb2_it_bad.d +++ b/gas/testsuite/gas/arm/thumb2_it_bad.d @@ -1,3 +1,4 @@ #name: Invalid IT instructions #as: +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* #error-output: thumb2_it_bad.l diff --git a/gas/testsuite/gas/i386/reloc64.d b/gas/testsuite/gas/i386/reloc64.d index 8503d23eeae..11dfdb4fedd 100644 --- a/gas/testsuite/gas/i386/reloc64.d +++ b/gas/testsuite/gas/i386/reloc64.d @@ -19,6 +19,7 @@ Disassembly of section \.text: .*[ ]+R_X86_64_PC32[ ]+xtrn\+0xf+c .*[ ]+R_X86_64_PC32[ ]+xtrn\+0xf+c .*[ ]+R_X86_64_PC8[ ]+xtrn\+0xf+f +.*[ ]+R_X86_64_GOT64[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn .*[ ]+R_X86_64_GOTOFF64[ ]+xtrn @@ -26,7 +27,7 @@ Disassembly of section \.text: .*[ ]+R_X86_64_GOTPCREL[ ]+xtrn .*[ ]+R_X86_64_GOTPCREL[ ]+xtrn\+0xf+c .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_\+0x0*2 -.*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_\+0xf+f +.*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_\+0xf+c .*[ ]+R_X86_64_GOTPC32[ ]+_GLOBAL_OFFSET_TABLE_\+0x0*2 .*[ ]+R_X86_64_PLT32[ ]+xtrn .*[ ]+R_X86_64_PLT32[ ]+xtrn @@ -50,7 +51,9 @@ Disassembly of section \.data: #... .*[ ]+R_X86_64_64[ ]+xtrn .*[ ]+R_X86_64_PC64[ ]+xtrn +.*[ ]+R_X86_64_GOT64[ ]+xtrn .*[ ]+R_X86_64_GOTOFF64[ ]+xtrn +.*[ ]+R_X86_64_GOTPCREL64[ ]+xtrn .*[ ]+R_X86_64_DTPOFF64[ ]+xtrn .*[ ]+R_X86_64_TPOFF64[ ]+xtrn .*[ ]+R_X86_64_32[ ]+xtrn diff --git a/gas/testsuite/gas/i386/reloc64.l b/gas/testsuite/gas/i386/reloc64.l index 62a762bc7e0..87a5c772c32 100644 --- a/gas/testsuite/gas/i386/reloc64.l +++ b/gas/testsuite/gas/i386/reloc64.l @@ -1,6 +1,5 @@ .*: Assembler messages: .*:29: Error: .* -.*:33: Error: .* .*:35: Error: .* .*:36: Error: .* .*:37: Error: .* @@ -50,8 +49,6 @@ .*:123: Error: .* .*:125: Error: .* .*:126: Error: .* -.*:131: Error: .* -.*:133: Error: .* .*:136: Error: .* .*:137: Error: .* .*:138: Error: .* diff --git a/gas/testsuite/gas/i386/reloc64.s b/gas/testsuite/gas/i386/reloc64.s index 1ae14ddcbea..47ebfa8dc0a 100644 --- a/gas/testsuite/gas/i386/reloc64.s +++ b/gas/testsuite/gas/i386/reloc64.s @@ -30,7 +30,7 @@ bad mov xtrn(%eip), %eax call xtrn jrcxz xtrn -bad movabs $xtrn@got, %rax + movabs $xtrn@got, %rax add $xtrn@got, %rax bad mov $xtrn@got, %eax bad mov $xtrn@got, %ax @@ -128,9 +128,9 @@ bad call xtrn@tpoff .data .quad xtrn .quad xtrn - . -bad .quad xtrn@got + .quad xtrn@got .quad xtrn@gotoff -bad .quad xtrn@gotpcrel + .quad xtrn@gotpcrel ill .quad _GLOBAL_OFFSET_TABLE_ ill .quad _GLOBAL_OFFSET_TABLE_ - . bad .quad xtrn@plt diff --git a/gas/testsuite/gas/i386/rep.d b/gas/testsuite/gas/i386/rep.d index 9c07a6f767e..f43cc5feb6c 100644 --- a/gas/testsuite/gas/i386/rep.d +++ b/gas/testsuite/gas/i386/rep.d @@ -48,3 +48,4 @@ Disassembly of section .text: 6e: f3 67 ab[ ]+rep addr16 stos %eax,%es:\(%di\) 71: f3 67 a7[ ]+repz addr16 cmpsl %es:\(%di\),%ds:\(%si\) 74: f3 67 af[ ]+repz addr16 scas %es:\(%di\),%eax + ... diff --git a/gas/testsuite/gas/i386/rep.s b/gas/testsuite/gas/i386/rep.s index eb07d6c789d..cbda8b3dcd1 100644 --- a/gas/testsuite/gas/i386/rep.s +++ b/gas/testsuite/gas/i386/rep.s @@ -48,3 +48,5 @@ _start: addr16 rep stosl addr16 repz cmpsl addr16 repz scasl + + .p2align 4,0 diff --git a/gas/testsuite/gas/m68k/mcf-fpu.d b/gas/testsuite/gas/m68k/mcf-fpu.d index 141772fdcd2..f285fd23516 100644 --- a/gas/testsuite/gas/m68k/mcf-fpu.d +++ b/gas/testsuite/gas/m68k/mcf-fpu.d @@ -816,3 +816,11 @@ Disassembly of section .text: [ 0-9a-f]+: f222 5838 fcmpb %a2@-,%fp0 [ 0-9a-f]+: f22e 5838 0008 fcmpb %fp@\(8\),%fp0 [ 0-9a-f]+: f23a 5838 1234 fcmpb %pc@\(.*\),%fp0 +[ 0-9a-f]+: f22e f0f2 0008 fmovemd %fp0-%fp3/%fp6,%fp@\(8\) +[ 0-9a-f]+: f22e d02c 0008 fmovemd %fp@\(8\),%fp2/%fp4-%fp5 +[ 0-9a-f]+: f22e f027 0008 fmovemd %fp2/%fp5-%fp7,%fp@\(8\) +[ 0-9a-f]+: f22e d0e1 0008 fmovemd %fp@\(8\),%fp0-%fp2/%fp7 +[ 0-9a-f]+: f22e f0f2 0008 fmovemd %fp0-%fp3/%fp6,%fp@\(8\) +[ 0-9a-f]+: f22e d02c 0008 fmovemd %fp@\(8\),%fp2/%fp4-%fp5 +[ 0-9a-f]+: f22e f027 0008 fmovemd %fp2/%fp5-%fp7,%fp@\(8\) +[ 0-9a-f]+: f22e d0e1 0008 fmovemd %fp@\(8\),%fp0-%fp2/%fp7 diff --git a/gas/testsuite/gas/m68k/mcf-fpu.s b/gas/testsuite/gas/m68k/mcf-fpu.s index b7e76871816..fd2a15621c5 100644 --- a/gas/testsuite/gas/m68k/mcf-fpu.s +++ b/gas/testsuite/gas/m68k/mcf-fpu.s @@ -811,3 +811,11 @@ fcmpb %a2@-,%fp0 fcmpb %fp@(8),%fp0 fcmpb %pc@(.+0x1238),%fp0 + fmovemd %fp0-%fp3/%fp6,%fp@(8) + fmovemd %fp@(8),%fp5/%fp4/%fp2 + fmovemd #0x27,%fp@(8) + fmovemd %fp@(8),#0xe1 + fmovem %fp0-%fp3/%fp6,%fp@(8) + fmovem %fp@(8),%fp5/%fp4/%fp2 + fmovem #0x27,%fp@(8) + fmovem %fp@(8),#0xe1 diff --git a/gas/testsuite/gas/mips/jal-range.l b/gas/testsuite/gas/mips/jal-range.l index 3887e1812c2..309e407c18d 100644 --- a/gas/testsuite/gas/mips/jal-range.l +++ b/gas/testsuite/gas/mips/jal-range.l @@ -1,4 +1,4 @@ .*: Assembler messages: .*:4: Error: jump to misaligned address \(0x1\) .*:6: Error: jump to misaligned address \(0xfffffff\) -.*:7: Error: jump address range overflow \(0x10000000\) +.*:8: Error: jump to misaligned address \(0x10000003\) diff --git a/gas/testsuite/gas/mips/jal-range.s b/gas/testsuite/gas/mips/jal-range.s index e52f56024ad..cd6cde040f5 100644 --- a/gas/testsuite/gas/mips/jal-range.s +++ b/gas/testsuite/gas/mips/jal-range.s @@ -1,7 +1,8 @@ -# Source file use to test border cases of jumps +# Source file used to test misaligned targets of absolute jumps jal 0x0 jal 0x1 jal 0xffffffc jal 0xfffffff jal 0x10000000 + jal 0x10000003 diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 25997775cf3..7843f2a9742 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -383,12 +383,14 @@ mips_arch_create sb1 64 mips64 { mips3d } \ { -march=sb1 -mtune=sb1 } { -mmips:sb1 } \ { mipsisa64sb1-*-* mipsisa64sb1el-*-* } - # -# And now begin the actual tests! +# And now begin the actual tests! VxWorks uses RELA rather than REL +# relocations, so most of the generic dump tests will not work there. # - -if { [istarget mips*-*-*] } then { +if { [istarget mips*-*-vxworks*] } { + run_dump_test "vxworks1" + run_dump_test "vxworks1-xgot" +} elseif { [istarget mips*-*-*] } { set no_mips16 0 set elf [expr [istarget *-*-elf*] || [istarget *-*-irix5*] || [istarget *-*-irix6* ] || [istarget *-*-linux*] || [istarget *-*-netbsd*] ] set ecoff [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ] @@ -777,4 +779,6 @@ if { [istarget mips*-*-*] } then { run_dump_test "mips16e-jrc" run_dump_test "mips16e-save" } + run_dump_test "vxworks1" + run_dump_test "vxworks1-xgot" } diff --git a/gas/testsuite/gas/mips/mips16e-jrc.d b/gas/testsuite/gas/mips/mips16e-jrc.d index 1f34ac75720..a323b31359b 100644 --- a/gas/testsuite/gas/mips/mips16e-jrc.d +++ b/gas/testsuite/gas/mips/mips16e-jrc.d @@ -1,5 +1,5 @@ #objdump: -dr -mmips:isa32 -mmips:16 -#as: -march=mips32 -mips16 +#as: -march=mips32 -mips16 -32 #name: mips16e jalrc/jrc .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16e-save.d b/gas/testsuite/gas/mips/mips16e-save.d index 7bc0b9959a5..6e18d8c3206 100644 --- a/gas/testsuite/gas/mips/mips16e-save.d +++ b/gas/testsuite/gas/mips/mips16e-save.d @@ -1,5 +1,5 @@ #objdump: -dr -mmips:isa32 -mmips:16 -#as: -march=mips32 -mips16 +#as: -march=mips32 -mips16 -32 #name: mips16e save/restore .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips32-dsp.d b/gas/testsuite/gas/mips/mips32-dsp.d index c1098c1bb5c..486f630ac94 100644 --- a/gas/testsuite/gas/mips/mips32-dsp.d +++ b/gas/testsuite/gas/mips/mips32-dsp.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS DSP ASE for MIPS32 -#as: -mdsp +#as: -mdsp -32 #stderr: mips32-dsp.l # Check MIPS DSP ASE for MIPS32 Instruction Assembly diff --git a/gas/testsuite/gas/mips/mips32-dsp.l b/gas/testsuite/gas/mips/mips32-dsp.l index 3250bfabe93..c7d3e7a14cf 100644 --- a/gas/testsuite/gas/mips/mips32-dsp.l +++ b/gas/testsuite/gas/mips/mips32-dsp.l @@ -1,39 +1,39 @@ .*: Assembler messages: -.*:39: Warning: DSP immediate not in range 0..7 \(4294967295\) +.*:39: Warning: DSP immediate not in range 0..7 \([0-9]*\) .*:42: Warning: DSP immediate not in range 0..7 \(8\) -.*:44: Warning: DSP immediate not in range 0..15 \(4294967295\) +.*:44: Warning: DSP immediate not in range 0..15 \([0-9]*\) .*:47: Warning: DSP immediate not in range 0..15 \(16\) -.*:49: Warning: DSP immediate not in range 0..15 \(4294967295\) +.*:49: Warning: DSP immediate not in range 0..15 \([0-9]*\) .*:52: Warning: DSP immediate not in range 0..15 \(16\) -.*:54: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:54: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:57: Warning: DSP immediate not in range 0..31 \(32\) -.*:59: Warning: DSP immediate not in range 0..7 \(4294967295\) +.*:59: Warning: DSP immediate not in range 0..7 \([0-9]*\) .*:62: Warning: DSP immediate not in range 0..7 \(8\) -.*:64: Warning: DSP immediate not in range 0..15 \(4294967295\) +.*:64: Warning: DSP immediate not in range 0..15 \([0-9]*\) .*:67: Warning: DSP immediate not in range 0..15 \(16\) -.*:69: Warning: DSP immediate not in range 0..15 \(4294967295\) +.*:69: Warning: DSP immediate not in range 0..15 \([0-9]*\) .*:72: Warning: DSP immediate not in range 0..15 \(16\) -.*:74: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:74: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:77: Warning: DSP immediate not in range 0..31 \(32\) -.*:99: Warning: DSP immediate not in range 0..255 \(4294967295\) +.*:99: Warning: DSP immediate not in range 0..255 \([0-9]*\) .*:102: Warning: DSP immediate not in range 0..255 \(256\) .*:104: Warning: DSP immediate not in range -512..511 \(-513\) .*:107: Warning: DSP immediate not in range -512..511 \(512\) -.*:121: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:121: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:124: Warning: DSP immediate not in range 0..31 \(32\) -.*:125: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:125: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:128: Warning: DSP immediate not in range 0..31 \(32\) -.*:129: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:129: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:132: Warning: DSP immediate not in range 0..31 \(32\) -.*:133: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:133: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:136: Warning: DSP immediate not in range 0..31 \(32\) -.*:141: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:141: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:144: Warning: DSP immediate not in range 0..31 \(32\) -.*:146: Warning: DSP immediate not in range 0..31 \(4294967295\) +.*:146: Warning: DSP immediate not in range 0..31 \([0-9]*\) .*:149: Warning: DSP immediate not in range 0..31 \(32\) .*:151: Warning: DSP immediate not in range -32..31 \(-33\) .*:154: Warning: DSP immediate not in range -32..31 \(32\) -.*:161: Warning: DSP immediate not in range 0..63 \(4294967295\) +.*:161: Warning: DSP immediate not in range 0..63 \([0-9]*\) .*:164: Warning: DSP immediate not in range 0..63 \(64\) -.*:166: Warning: DSP immediate not in range 0..63 \(4294967295\) +.*:166: Warning: DSP immediate not in range 0..63 \([0-9]*\) .*:169: Warning: DSP immediate not in range 0..63 \(64\) diff --git a/gas/testsuite/gas/mips/mips32-mt.d b/gas/testsuite/gas/mips/mips32-mt.d index b983195b799..ffb3e975362 100644 --- a/gas/testsuite/gas/mips/mips32-mt.d +++ b/gas/testsuite/gas/mips/mips32-mt.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -M cp0-names=mips32 #name: MIPS MT ASE for MIPS32 -#as: -mmt +#as: -mmt -32 #stderr: mips32-mt.l # Check MIPS MT ASE for MIPS32 Instruction Assembly @@ -567,134 +567,134 @@ Disassembly of section .text: 0+08b0 <[^>]*> 418a5824 mttc2 t2,\$11 0+08b4 <[^>]*> 418b6034 mtthc2 t3,\$12 0+08b8 <[^>]*> 418c6825 cttc2 t4,\$13 -0+08bc <[^>]*> 410d7030 mftr t5,t6,1,0,1 -0+08c0 <[^>]*> 410d7031 mftr t5,t6,1,1,1 -0+08c4 <[^>]*> 410d7032 mfthc1 t6,\$f13 -0+08c8 <[^>]*> 410d7033 mftr t5,t6,1,3,1 -0+08cc <[^>]*> 410d7034 mfthc2 t6,\$13 -0+08d0 <[^>]*> 410d7035 mftr t5,t6,1,5,1 -0+08d4 <[^>]*> 410d7036 mftr t5,t6,1,6,1 -0+08d8 <[^>]*> 410d7037 mftr t5,t6,1,7,1 -0+08dc <[^>]*> 410d7020 mftgpr t6,t5 -0+08e0 <[^>]*> 410d7021 mfthi t6,\$ac3 -0+08e4 <[^>]*> 410d7022 mftc1 t6,\$f13 -0+08e8 <[^>]*> 410d7023 cftc1 t6,\$13 -0+08ec <[^>]*> 410d7024 mftc2 t6,\$13 -0+08f0 <[^>]*> 410d7025 cftc2 t6,\$13 -0+08f4 <[^>]*> 410d7026 mftr t5,t6,1,6,0 -0+08f8 <[^>]*> 410d7027 mftr t5,t6,1,7,0 -0+08fc <[^>]*> 410d7030 mftr t5,t6,1,0,1 -0+0900 <[^>]*> 410d7031 mftr t5,t6,1,1,1 -0+0904 <[^>]*> 410d7032 mfthc1 t6,\$f13 -0+0908 <[^>]*> 410d7033 mftr t5,t6,1,3,1 -0+090c <[^>]*> 410d7034 mfthc2 t6,\$13 -0+0910 <[^>]*> 410d7035 mftr t5,t6,1,5,1 -0+0914 <[^>]*> 410d7036 mftr t5,t6,1,6,1 -0+0918 <[^>]*> 410d7037 mftr t5,t6,1,7,1 -0+091c <[^>]*> 410d7020 mftgpr t6,t5 -0+0920 <[^>]*> 410d7021 mfthi t6,\$ac3 -0+0924 <[^>]*> 410d7022 mftc1 t6,\$f13 -0+0928 <[^>]*> 410d7023 cftc1 t6,\$13 -0+092c <[^>]*> 410d7024 mftc2 t6,\$13 -0+0930 <[^>]*> 410d7025 cftc2 t6,\$13 -0+0934 <[^>]*> 410d7026 mftr t5,t6,1,6,0 -0+0938 <[^>]*> 410d7027 mftr t5,t6,1,7,0 -0+093c <[^>]*> 410d7010 mftr t5,t6,0,0,1 -0+0940 <[^>]*> 410d7011 mftr t5,t6,0,1,1 -0+0944 <[^>]*> 410d7012 mftr t5,t6,0,2,1 -0+0948 <[^>]*> 410d7013 mftr t5,t6,0,3,1 -0+094c <[^>]*> 410d7014 mftr t5,t6,0,4,1 -0+0950 <[^>]*> 410d7015 mftr t5,t6,0,5,1 -0+0954 <[^>]*> 410d7016 mftr t5,t6,0,6,1 -0+0958 <[^>]*> 410d7017 mftr t5,t6,0,7,1 -0+095c <[^>]*> 410d7000 mftc0 t6,c0_cause -0+0960 <[^>]*> 410d7001 mftc0 t6,\$13,1 -0+0964 <[^>]*> 410d7002 mftc0 t6,\$13,2 -0+0968 <[^>]*> 410d7003 mftc0 t6,\$13,3 -0+096c <[^>]*> 410d7004 mftc0 t6,\$13,4 -0+0970 <[^>]*> 410d7005 mftc0 t6,\$13,5 -0+0974 <[^>]*> 410d7006 mftc0 t6,\$13,6 -0+0978 <[^>]*> 410d7007 mftc0 t6,\$13,7 -0+097c <[^>]*> 410d7010 mftr t5,t6,0,0,1 -0+0980 <[^>]*> 410d7011 mftr t5,t6,0,1,1 -0+0984 <[^>]*> 410d7012 mftr t5,t6,0,2,1 -0+0988 <[^>]*> 410d7013 mftr t5,t6,0,3,1 -0+098c <[^>]*> 410d7014 mftr t5,t6,0,4,1 -0+0990 <[^>]*> 410d7015 mftr t5,t6,0,5,1 -0+0994 <[^>]*> 410d7016 mftr t5,t6,0,6,1 -0+0998 <[^>]*> 410d7017 mftr t5,t6,0,7,1 -0+099c <[^>]*> 410d7000 mftc0 t6,c0_cause -0+09a0 <[^>]*> 410d7001 mftc0 t6,\$13,1 -0+09a4 <[^>]*> 410d7002 mftc0 t6,\$13,2 -0+09a8 <[^>]*> 410d7003 mftc0 t6,\$13,3 -0+09ac <[^>]*> 410d7004 mftc0 t6,\$13,4 -0+09b0 <[^>]*> 410d7005 mftc0 t6,\$13,5 -0+09b4 <[^>]*> 410d7006 mftc0 t6,\$13,6 -0+09b8 <[^>]*> 410d7007 mftc0 t6,\$13,7 -0+09bc <[^>]*> 410d7030 mftr t5,t6,1,0,1 -0+09c0 <[^>]*> 410d7031 mftr t5,t6,1,1,1 -0+09c4 <[^>]*> 410d7032 mfthc1 t6,\$f13 -0+09c8 <[^>]*> 410d7033 mftr t5,t6,1,3,1 -0+09cc <[^>]*> 410d7034 mfthc2 t6,\$13 -0+09d0 <[^>]*> 410d7035 mftr t5,t6,1,5,1 -0+09d4 <[^>]*> 410d7036 mftr t5,t6,1,6,1 -0+09d8 <[^>]*> 410d7037 mftr t5,t6,1,7,1 -0+09dc <[^>]*> 410d7020 mftgpr t6,t5 -0+09e0 <[^>]*> 410d7021 mfthi t6,\$ac3 -0+09e4 <[^>]*> 410d7022 mftc1 t6,\$f13 -0+09e8 <[^>]*> 410d7023 cftc1 t6,\$13 -0+09ec <[^>]*> 410d7024 mftc2 t6,\$13 -0+09f0 <[^>]*> 410d7025 cftc2 t6,\$13 -0+09f4 <[^>]*> 410d7026 mftr t5,t6,1,6,0 -0+09f8 <[^>]*> 410d7027 mftr t5,t6,1,7,0 -0+09fc <[^>]*> 410d7030 mftr t5,t6,1,0,1 -0+0a00 <[^>]*> 410d7031 mftr t5,t6,1,1,1 -0+0a04 <[^>]*> 410d7032 mfthc1 t6,\$f13 -0+0a08 <[^>]*> 410d7033 mftr t5,t6,1,3,1 -0+0a0c <[^>]*> 410d7034 mfthc2 t6,\$13 -0+0a10 <[^>]*> 410d7035 mftr t5,t6,1,5,1 -0+0a14 <[^>]*> 410d7036 mftr t5,t6,1,6,1 -0+0a18 <[^>]*> 410d7037 mftr t5,t6,1,7,1 -0+0a1c <[^>]*> 410d7020 mftgpr t6,t5 -0+0a20 <[^>]*> 410d7021 mfthi t6,\$ac3 -0+0a24 <[^>]*> 410d7022 mftc1 t6,\$f13 -0+0a28 <[^>]*> 410d7023 cftc1 t6,\$13 -0+0a2c <[^>]*> 410d7024 mftc2 t6,\$13 -0+0a30 <[^>]*> 410d7025 cftc2 t6,\$13 -0+0a34 <[^>]*> 410d7026 mftr t5,t6,1,6,0 -0+0a38 <[^>]*> 410d7027 mftr t5,t6,1,7,0 -0+0a3c <[^>]*> 410d7010 mftr t5,t6,0,0,1 -0+0a40 <[^>]*> 410d7011 mftr t5,t6,0,1,1 -0+0a44 <[^>]*> 410d7012 mftr t5,t6,0,2,1 -0+0a48 <[^>]*> 410d7013 mftr t5,t6,0,3,1 -0+0a4c <[^>]*> 410d7014 mftr t5,t6,0,4,1 -0+0a50 <[^>]*> 410d7015 mftr t5,t6,0,5,1 -0+0a54 <[^>]*> 410d7016 mftr t5,t6,0,6,1 -0+0a58 <[^>]*> 410d7017 mftr t5,t6,0,7,1 -0+0a5c <[^>]*> 410d7000 mftc0 t6,c0_cause -0+0a60 <[^>]*> 410d7001 mftc0 t6,\$13,1 -0+0a64 <[^>]*> 410d7002 mftc0 t6,\$13,2 -0+0a68 <[^>]*> 410d7003 mftc0 t6,\$13,3 -0+0a6c <[^>]*> 410d7004 mftc0 t6,\$13,4 -0+0a70 <[^>]*> 410d7005 mftc0 t6,\$13,5 -0+0a74 <[^>]*> 410d7006 mftc0 t6,\$13,6 -0+0a78 <[^>]*> 410d7007 mftc0 t6,\$13,7 -0+0a7c <[^>]*> 410d7010 mftr t5,t6,0,0,1 -0+0a80 <[^>]*> 410d7011 mftr t5,t6,0,1,1 -0+0a84 <[^>]*> 410d7012 mftr t5,t6,0,2,1 -0+0a88 <[^>]*> 410d7013 mftr t5,t6,0,3,1 -0+0a8c <[^>]*> 410d7014 mftr t5,t6,0,4,1 -0+0a90 <[^>]*> 410d7015 mftr t5,t6,0,5,1 -0+0a94 <[^>]*> 410d7016 mftr t5,t6,0,6,1 -0+0a98 <[^>]*> 410d7017 mftr t5,t6,0,7,1 -0+0a9c <[^>]*> 410d7000 mftc0 t6,c0_cause -0+0aa0 <[^>]*> 410d7001 mftc0 t6,\$13,1 -0+0aa4 <[^>]*> 410d7002 mftc0 t6,\$13,2 -0+0aa8 <[^>]*> 410d7003 mftc0 t6,\$13,3 -0+0aac <[^>]*> 410d7004 mftc0 t6,\$13,4 -0+0ab0 <[^>]*> 410d7005 mftc0 t6,\$13,5 -0+0ab4 <[^>]*> 410d7006 mftc0 t6,\$13,6 -0+0ab8 <[^>]*> 410d7007 mftc0 t6,\$13,7 +0+08bc <[^>]*> 410e6830 mftr t5,t6,1,0,1 +0+08c0 <[^>]*> 410e6831 mftr t5,t6,1,1,1 +0+08c4 <[^>]*> 410e6832 mfthc1 t5,\$f14 +0+08c8 <[^>]*> 410e6833 mftr t5,t6,1,3,1 +0+08cc <[^>]*> 410e6834 mfthc2 t5,\$14 +0+08d0 <[^>]*> 410e6835 mftr t5,t6,1,5,1 +0+08d4 <[^>]*> 410e6836 mftr t5,t6,1,6,1 +0+08d8 <[^>]*> 410e6837 mftr t5,t6,1,7,1 +0+08dc <[^>]*> 410e6820 mftgpr t5,t6 +0+08e0 <[^>]*> 410e6821 mftacx t5,\$ac3 +0+08e4 <[^>]*> 410e6822 mftc1 t5,\$f14 +0+08e8 <[^>]*> 410e6823 cftc1 t5,\$14 +0+08ec <[^>]*> 410e6824 mftc2 t5,\$14 +0+08f0 <[^>]*> 410e6825 cftc2 t5,\$14 +0+08f4 <[^>]*> 410e6826 mftr t5,t6,1,6,0 +0+08f8 <[^>]*> 410e6827 mftr t5,t6,1,7,0 +0+08fc <[^>]*> 410e6830 mftr t5,t6,1,0,1 +0+0900 <[^>]*> 410e6831 mftr t5,t6,1,1,1 +0+0904 <[^>]*> 410e6832 mfthc1 t5,\$f14 +0+0908 <[^>]*> 410e6833 mftr t5,t6,1,3,1 +0+090c <[^>]*> 410e6834 mfthc2 t5,\$14 +0+0910 <[^>]*> 410e6835 mftr t5,t6,1,5,1 +0+0914 <[^>]*> 410e6836 mftr t5,t6,1,6,1 +0+0918 <[^>]*> 410e6837 mftr t5,t6,1,7,1 +0+091c <[^>]*> 410e6820 mftgpr t5,t6 +0+0920 <[^>]*> 410e6821 mftacx t5,\$ac3 +0+0924 <[^>]*> 410e6822 mftc1 t5,\$f14 +0+0928 <[^>]*> 410e6823 cftc1 t5,\$14 +0+092c <[^>]*> 410e6824 mftc2 t5,\$14 +0+0930 <[^>]*> 410e6825 cftc2 t5,\$14 +0+0934 <[^>]*> 410e6826 mftr t5,t6,1,6,0 +0+0938 <[^>]*> 410e6827 mftr t5,t6,1,7,0 +0+093c <[^>]*> 410e6810 mftr t5,t6,0,0,1 +0+0940 <[^>]*> 410e6811 mftr t5,t6,0,1,1 +0+0944 <[^>]*> 410e6812 mftr t5,t6,0,2,1 +0+0948 <[^>]*> 410e6813 mftr t5,t6,0,3,1 +0+094c <[^>]*> 410e6814 mftr t5,t6,0,4,1 +0+0950 <[^>]*> 410e6815 mftr t5,t6,0,5,1 +0+0954 <[^>]*> 410e6816 mftr t5,t6,0,6,1 +0+0958 <[^>]*> 410e6817 mftr t5,t6,0,7,1 +0+095c <[^>]*> 410e6800 mftc0 t5,c0_epc +0+0960 <[^>]*> 410e6801 mftc0 t5,\$14,1 +0+0964 <[^>]*> 410e6802 mftc0 t5,\$14,2 +0+0968 <[^>]*> 410e6803 mftc0 t5,\$14,3 +0+096c <[^>]*> 410e6804 mftc0 t5,\$14,4 +0+0970 <[^>]*> 410e6805 mftc0 t5,\$14,5 +0+0974 <[^>]*> 410e6806 mftc0 t5,\$14,6 +0+0978 <[^>]*> 410e6807 mftc0 t5,\$14,7 +0+097c <[^>]*> 410e6810 mftr t5,t6,0,0,1 +0+0980 <[^>]*> 410e6811 mftr t5,t6,0,1,1 +0+0984 <[^>]*> 410e6812 mftr t5,t6,0,2,1 +0+0988 <[^>]*> 410e6813 mftr t5,t6,0,3,1 +0+098c <[^>]*> 410e6814 mftr t5,t6,0,4,1 +0+0990 <[^>]*> 410e6815 mftr t5,t6,0,5,1 +0+0994 <[^>]*> 410e6816 mftr t5,t6,0,6,1 +0+0998 <[^>]*> 410e6817 mftr t5,t6,0,7,1 +0+099c <[^>]*> 410e6800 mftc0 t5,c0_epc +0+09a0 <[^>]*> 410e6801 mftc0 t5,\$14,1 +0+09a4 <[^>]*> 410e6802 mftc0 t5,\$14,2 +0+09a8 <[^>]*> 410e6803 mftc0 t5,\$14,3 +0+09ac <[^>]*> 410e6804 mftc0 t5,\$14,4 +0+09b0 <[^>]*> 410e6805 mftc0 t5,\$14,5 +0+09b4 <[^>]*> 410e6806 mftc0 t5,\$14,6 +0+09b8 <[^>]*> 410e6807 mftc0 t5,\$14,7 +0+09bc <[^>]*> 410e6830 mftr t5,t6,1,0,1 +0+09c0 <[^>]*> 410e6831 mftr t5,t6,1,1,1 +0+09c4 <[^>]*> 410e6832 mfthc1 t5,\$f14 +0+09c8 <[^>]*> 410e6833 mftr t5,t6,1,3,1 +0+09cc <[^>]*> 410e6834 mfthc2 t5,\$14 +0+09d0 <[^>]*> 410e6835 mftr t5,t6,1,5,1 +0+09d4 <[^>]*> 410e6836 mftr t5,t6,1,6,1 +0+09d8 <[^>]*> 410e6837 mftr t5,t6,1,7,1 +0+09dc <[^>]*> 410e6820 mftgpr t5,t6 +0+09e0 <[^>]*> 410e6821 mftacx t5,\$ac3 +0+09e4 <[^>]*> 410e6822 mftc1 t5,\$f14 +0+09e8 <[^>]*> 410e6823 cftc1 t5,\$14 +0+09ec <[^>]*> 410e6824 mftc2 t5,\$14 +0+09f0 <[^>]*> 410e6825 cftc2 t5,\$14 +0+09f4 <[^>]*> 410e6826 mftr t5,t6,1,6,0 +0+09f8 <[^>]*> 410e6827 mftr t5,t6,1,7,0 +0+09fc <[^>]*> 410e6830 mftr t5,t6,1,0,1 +0+0a00 <[^>]*> 410e6831 mftr t5,t6,1,1,1 +0+0a04 <[^>]*> 410e6832 mfthc1 t5,\$f14 +0+0a08 <[^>]*> 410e6833 mftr t5,t6,1,3,1 +0+0a0c <[^>]*> 410e6834 mfthc2 t5,\$14 +0+0a10 <[^>]*> 410e6835 mftr t5,t6,1,5,1 +0+0a14 <[^>]*> 410e6836 mftr t5,t6,1,6,1 +0+0a18 <[^>]*> 410e6837 mftr t5,t6,1,7,1 +0+0a1c <[^>]*> 410e6820 mftgpr t5,t6 +0+0a20 <[^>]*> 410e6821 mftacx t5,\$ac3 +0+0a24 <[^>]*> 410e6822 mftc1 t5,\$f14 +0+0a28 <[^>]*> 410e6823 cftc1 t5,\$14 +0+0a2c <[^>]*> 410e6824 mftc2 t5,\$14 +0+0a30 <[^>]*> 410e6825 cftc2 t5,\$14 +0+0a34 <[^>]*> 410e6826 mftr t5,t6,1,6,0 +0+0a38 <[^>]*> 410e6827 mftr t5,t6,1,7,0 +0+0a3c <[^>]*> 410e6810 mftr t5,t6,0,0,1 +0+0a40 <[^>]*> 410e6811 mftr t5,t6,0,1,1 +0+0a44 <[^>]*> 410e6812 mftr t5,t6,0,2,1 +0+0a48 <[^>]*> 410e6813 mftr t5,t6,0,3,1 +0+0a4c <[^>]*> 410e6814 mftr t5,t6,0,4,1 +0+0a50 <[^>]*> 410e6815 mftr t5,t6,0,5,1 +0+0a54 <[^>]*> 410e6816 mftr t5,t6,0,6,1 +0+0a58 <[^>]*> 410e6817 mftr t5,t6,0,7,1 +0+0a5c <[^>]*> 410e6800 mftc0 t5,c0_epc +0+0a60 <[^>]*> 410e6801 mftc0 t5,\$14,1 +0+0a64 <[^>]*> 410e6802 mftc0 t5,\$14,2 +0+0a68 <[^>]*> 410e6803 mftc0 t5,\$14,3 +0+0a6c <[^>]*> 410e6804 mftc0 t5,\$14,4 +0+0a70 <[^>]*> 410e6805 mftc0 t5,\$14,5 +0+0a74 <[^>]*> 410e6806 mftc0 t5,\$14,6 +0+0a78 <[^>]*> 410e6807 mftc0 t5,\$14,7 +0+0a7c <[^>]*> 410e6810 mftr t5,t6,0,0,1 +0+0a80 <[^>]*> 410e6811 mftr t5,t6,0,1,1 +0+0a84 <[^>]*> 410e6812 mftr t5,t6,0,2,1 +0+0a88 <[^>]*> 410e6813 mftr t5,t6,0,3,1 +0+0a8c <[^>]*> 410e6814 mftr t5,t6,0,4,1 +0+0a90 <[^>]*> 410e6815 mftr t5,t6,0,5,1 +0+0a94 <[^>]*> 410e6816 mftr t5,t6,0,6,1 +0+0a98 <[^>]*> 410e6817 mftr t5,t6,0,7,1 +0+0a9c <[^>]*> 410e6800 mftc0 t5,c0_epc +0+0aa0 <[^>]*> 410e6801 mftc0 t5,\$14,1 +0+0aa4 <[^>]*> 410e6802 mftc0 t5,\$14,2 +0+0aa8 <[^>]*> 410e6803 mftc0 t5,\$14,3 +0+0aac <[^>]*> 410e6804 mftc0 t5,\$14,4 +0+0ab0 <[^>]*> 410e6805 mftc0 t5,\$14,5 +0+0ab4 <[^>]*> 410e6806 mftc0 t5,\$14,6 +0+0ab8 <[^>]*> 410e6807 mftc0 t5,\$14,7 0+0abc <[^>]*> 418d7030 mttr t5,t6,1,0,1 0+0ac0 <[^>]*> 418d7031 mttr t5,t6,1,1,1 0+0ac4 <[^>]*> 418d7032 mtthc1 t5,\$f14 @@ -823,4 +823,4 @@ Disassembly of section .text: 0+0cb0 <[^>]*> 418d7005 mttc0 t5,\$14,5 0+0cb4 <[^>]*> 418d7006 mttc0 t5,\$14,6 0+0cb8 <[^>]*> 418d7007 mttc0 t5,\$14,7 - ... + \.\.\. diff --git a/gas/testsuite/gas/mips/mips32-mt.l b/gas/testsuite/gas/mips/mips32-mt.l index 965a8341e16..a3f32f27de1 100644 --- a/gas/testsuite/gas/mips/mips32-mt.l +++ b/gas/testsuite/gas/mips/mips32-mt.l @@ -1,60 +1,60 @@ .*: Assembler messages: -.*:568: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:568: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:569: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:569: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:570: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:570: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:571: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:571: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:572: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:572: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:573: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:573: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:574: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:574: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:575: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:575: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:576: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:577: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:578: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:579: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:580: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:581: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:582: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:583: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:584: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:585: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:586: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:587: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:588: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:589: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:590: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:591: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:592: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:568: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:568: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:569: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:569: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:570: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:570: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:571: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:571: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:572: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:572: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:573: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:573: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:574: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:574: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:575: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:575: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:576: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:577: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:578: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:579: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:580: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:581: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:582: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:583: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:584: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:585: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:586: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:587: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:588: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:589: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:590: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:591: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:592: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:592: Warning: MT immediate not in range 0..1 \(2\) -.*:593: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:593: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:593: Warning: MT immediate not in range 0..1 \(2\) -.*:594: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:594: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:594: Warning: MT immediate not in range 0..1 \(2\) -.*:595: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:595: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:595: Warning: MT immediate not in range 0..1 \(2\) -.*:596: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:596: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:596: Warning: MT immediate not in range 0..1 \(2\) -.*:597: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:597: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:597: Warning: MT immediate not in range 0..1 \(2\) -.*:598: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:598: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:598: Warning: MT immediate not in range 0..1 \(2\) -.*:599: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:599: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:599: Warning: MT immediate not in range 0..1 \(2\) -.*:600: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:601: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:602: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:603: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:604: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:605: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:606: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:607: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:600: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:601: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:602: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:603: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:604: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:605: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:606: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:607: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:624: Warning: MT immediate not in range 0..1 \(2\) .*:625: Warning: MT immediate not in range 0..1 \(2\) .*:626: Warning: MT immediate not in range 0..1 \(2\) @@ -63,14 +63,14 @@ .*:629: Warning: MT immediate not in range 0..1 \(2\) .*:630: Warning: MT immediate not in range 0..1 \(2\) .*:631: Warning: MT immediate not in range 0..1 \(2\) -.*:632: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:633: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:634: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:635: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:636: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:637: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:638: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:639: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:632: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:633: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:634: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:635: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:636: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:637: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:638: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:639: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:656: Warning: MT immediate not in range 0..1 \(2\) .*:657: Warning: MT immediate not in range 0..1 \(2\) .*:658: Warning: MT immediate not in range 0..1 \(2\) @@ -80,21 +80,21 @@ .*:662: Warning: MT immediate not in range 0..1 \(2\) .*:663: Warning: MT immediate not in range 0..1 \(2\) .*:664: Warning: MT immediate not in range 0..1 \(2\) -.*:664: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:664: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:665: Warning: MT immediate not in range 0..1 \(2\) -.*:665: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:665: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:666: Warning: MT immediate not in range 0..1 \(2\) -.*:666: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:666: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:667: Warning: MT immediate not in range 0..1 \(2\) -.*:667: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:667: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:668: Warning: MT immediate not in range 0..1 \(2\) -.*:668: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:668: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:669: Warning: MT immediate not in range 0..1 \(2\) -.*:669: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:669: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:670: Warning: MT immediate not in range 0..1 \(2\) -.*:670: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:670: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:671: Warning: MT immediate not in range 0..1 \(2\) -.*:671: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:671: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:672: Warning: MT immediate not in range 0..1 \(2\) .*:673: Warning: MT immediate not in range 0..1 \(2\) .*:674: Warning: MT immediate not in range 0..1 \(2\) @@ -127,62 +127,62 @@ .*:694: Warning: MT immediate not in range 0..1 \(2\) .*:695: Warning: MT immediate not in range 0..1 \(2\) .*:695: Warning: MT immediate not in range 0..1 \(2\) -.*:696: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:696: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:697: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:697: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:698: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:698: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:699: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:699: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:700: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:700: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:701: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:701: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:702: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:702: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:703: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:703: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:704: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:705: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:706: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:707: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:708: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:709: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:710: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:711: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:712: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:713: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:714: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:715: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:716: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:717: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:718: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:719: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:720: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:696: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:696: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:697: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:697: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:698: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:698: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:699: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:699: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:700: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:700: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:701: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:701: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:702: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:702: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:703: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:703: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:704: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:705: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:706: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:707: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:708: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:709: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:710: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:711: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:712: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:713: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:714: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:715: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:716: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:717: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:718: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:719: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:720: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:720: Warning: MT immediate not in range 0..1 \(2\) -.*:721: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:721: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:721: Warning: MT immediate not in range 0..1 \(2\) -.*:722: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:722: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:722: Warning: MT immediate not in range 0..1 \(2\) -.*:723: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:723: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:723: Warning: MT immediate not in range 0..1 \(2\) -.*:724: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:724: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:724: Warning: MT immediate not in range 0..1 \(2\) -.*:725: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:725: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:725: Warning: MT immediate not in range 0..1 \(2\) -.*:726: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:726: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:726: Warning: MT immediate not in range 0..1 \(2\) -.*:727: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:727: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:727: Warning: MT immediate not in range 0..1 \(2\) -.*:728: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:729: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:730: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:731: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:732: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:733: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:734: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:735: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:728: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:729: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:730: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:731: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:732: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:733: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:734: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:735: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:752: Warning: MT immediate not in range 0..1 \(2\) .*:753: Warning: MT immediate not in range 0..1 \(2\) .*:754: Warning: MT immediate not in range 0..1 \(2\) @@ -191,14 +191,14 @@ .*:757: Warning: MT immediate not in range 0..1 \(2\) .*:758: Warning: MT immediate not in range 0..1 \(2\) .*:759: Warning: MT immediate not in range 0..1 \(2\) -.*:760: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:761: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:762: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:763: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:764: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:765: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:766: Warning: MT immediate not in range 0..1 \(4294967295\) -.*:767: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:760: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:761: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:762: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:763: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:764: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:765: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:766: Warning: MT immediate not in range 0..1 \([0-9]*\) +.*:767: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:784: Warning: MT immediate not in range 0..1 \(2\) .*:785: Warning: MT immediate not in range 0..1 \(2\) .*:786: Warning: MT immediate not in range 0..1 \(2\) @@ -208,21 +208,21 @@ .*:790: Warning: MT immediate not in range 0..1 \(2\) .*:791: Warning: MT immediate not in range 0..1 \(2\) .*:792: Warning: MT immediate not in range 0..1 \(2\) -.*:792: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:792: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:793: Warning: MT immediate not in range 0..1 \(2\) -.*:793: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:793: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:794: Warning: MT immediate not in range 0..1 \(2\) -.*:794: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:794: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:795: Warning: MT immediate not in range 0..1 \(2\) -.*:795: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:795: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:796: Warning: MT immediate not in range 0..1 \(2\) -.*:796: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:796: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:797: Warning: MT immediate not in range 0..1 \(2\) -.*:797: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:797: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:798: Warning: MT immediate not in range 0..1 \(2\) -.*:798: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:798: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:799: Warning: MT immediate not in range 0..1 \(2\) -.*:799: Warning: MT immediate not in range 0..1 \(4294967295\) +.*:799: Warning: MT immediate not in range 0..1 \([0-9]*\) .*:800: Warning: MT immediate not in range 0..1 \(2\) .*:801: Warning: MT immediate not in range 0..1 \(2\) .*:802: Warning: MT immediate not in range 0..1 \(2\) diff --git a/gas/testsuite/gas/sparc/sparc.exp b/gas/testsuite/gas/sparc/sparc.exp index 4189ddbff73..a2e362dbba1 100644 --- a/gas/testsuite/gas/sparc/sparc.exp +++ b/gas/testsuite/gas/sparc/sparc.exp @@ -17,7 +17,7 @@ proc gas_64_check { } { } proc sparc_elf_setup { } { - setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*" "sparc*-*-vxworks*" + setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*" setup_xfail "sparc*-fujitsu-none" "sparc*-*-*n*bsd*" setup_xfail "sparc*-*-coff" "sparc*-*-lynxos*" clear_xfail "sparc64*-*-*n*bsd*" @@ -50,6 +50,10 @@ if [istarget sparc*-*-*] { } } +if [istarget sparc-*-vxworks*] { + run_dump_test "vxworks-pic" +} + if [istarget sparclet*-*-*] { run_dump_test "splet" run_dump_test "splet-2" diff --git a/gas/write.c b/gas/write.c index 5c336d8bb97..9186717c4f8 100644 --- a/gas/write.c +++ b/gas/write.c @@ -512,19 +512,21 @@ cvt_frag_to_fill (segT sec ATTRIBUTE_UNUSED, fragS *fragP) #endif } -static void relax_seg (bfd *, asection *, PTR); +struct relax_seg_info +{ + int pass; + int changed; +}; static void -relax_seg (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, PTR xxx) +relax_seg (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *xxx) { segment_info_type *seginfo = seg_info (sec); + struct relax_seg_info *info = (struct relax_seg_info *) xxx; if (seginfo && seginfo->frchainP - && relax_segment (seginfo->frchainP->frch_root, sec)) - { - int *result = (int *) xxx; - *result = 1; - } + && relax_segment (seginfo->frchainP->frch_root, sec, info->pass)) + info->changed = 1; } static void size_seg (bfd *, asection *, PTR); @@ -1197,6 +1199,7 @@ subsegs_finish (void) void write_object_file (void) { + struct relax_seg_info rsi; #ifndef WORKING_DOT_WORD fragS *fragP; /* Track along all frags. */ #endif @@ -1255,10 +1258,9 @@ write_object_file (void) merge_data_into_text (); } + rsi.pass = 0; while (1) { - int changed; - #ifndef WORKING_DOT_WORD /* We need to reset the markers in the broken word list and associated frags between calls to relax_segment (via @@ -1279,9 +1281,10 @@ write_object_file (void) } #endif - changed = 0; - bfd_map_over_sections (stdoutput, relax_seg, &changed); - if (!changed) + rsi.changed = 0; + bfd_map_over_sections (stdoutput, relax_seg, &rsi); + rsi.pass++; + if (!rsi.changed) break; } @@ -1712,7 +1715,7 @@ relax_align (register relax_addressT address, /* Address now. */ addresses. */ int -relax_segment (struct frag *segment_frag_root, segT segment) +relax_segment (struct frag *segment_frag_root, segT segment, int pass) { unsigned long frag_count; struct frag *fragP; @@ -1826,6 +1829,7 @@ relax_segment (struct frag *segment_frag_root, segT segment) if (max_iterations < frag_count) max_iterations = frag_count; + ret = 0; do { stretch = 0; @@ -1955,6 +1959,26 @@ relax_segment (struct frag *segment_frag_root, segT segment) growth = target - after; if (growth < 0) { + growth = 0; + + /* Don't error on first few frag relax passes. + The symbol might be an expression involving + symbol values from other sections. If those + sections have not yet been processed their + frags will all have zero addresses, so we + will calculate incorrect values for them. The + number of passes we allow before giving an + error is somewhat arbitrary. It should be at + least one, with larger values requiring + increasingly contrived dependencies between + frags to trigger a false error. */ + if (pass < 2) + { + /* Force another pass. */ + ret = 1; + break; + } + /* Growth may be negative, but variable part of frag cannot have fewer than 0 chars. That is, we can't .org backwards. */ @@ -1967,7 +1991,7 @@ relax_segment (struct frag *segment_frag_root, segT segment) fragP->fr_subtype = 0; fragP->fr_offset = 0; fragP->fr_fix = after - was_address; - growth = stretch; + break; } /* This is an absolute growth factor */ @@ -1993,6 +2017,14 @@ relax_segment (struct frag *segment_frag_root, segT segment) } else if (amount < 0) { + /* Don't error on first few frag relax passes. + See rs_org comment for a longer explanation. */ + if (pass < 2) + { + ret = 1; + break; + } + as_warn_where (fragP->fr_file, fragP->fr_line, _(".space or .fill with negative value, ignored")); fragP->fr_symbol = 0; @@ -2054,7 +2086,6 @@ relax_segment (struct frag *segment_frag_root, segT segment) segment_name (segment)); } - ret = 0; for (fragP = segment_frag_root; fragP; fragP = fragP->fr_next) if (fragP->last_fr_address != fragP->fr_address) { diff --git a/gas/write.h b/gas/write.h index 77ce75e5c68..1f9b72dbf26 100644 --- a/gas/write.h +++ b/gas/write.h @@ -1,6 +1,6 @@ /* write.h Copyright 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, - 2002, 2003, 2005 Free Software Foundation, Inc. + 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -156,7 +156,7 @@ extern int get_recorded_alignment (segT seg); extern void subsegs_finish (void); extern void write_object_file (void); extern long relax_frag (segT, fragS *, long); -extern int relax_segment (struct frag * seg_frag_root, segT seg_type); +extern int relax_segment (struct frag *, segT, int); extern void number_to_chars_littleendian (char *, valueT, int); extern void number_to_chars_bigendian (char *, valueT, int); extern fixS *fix_new diff --git a/gprof/ChangeLog b/gprof/ChangeLog index 97d68b02197..8768a37d334 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,3 +1,25 @@ +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-04-06 Carlos O'Donell + + * po/Make-in: Add install-html target. + * Makefile.am: Add install-html, install-html-am and + install-html-recursive targets. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST datarootdir, docdir, htmldir. + * configure: Regenerate. + +2006-03-21 Ben Elliston + + * corefile.c (core_init): Report that the executable is not in the + expected executable format rather than "a.out" format. + 2006-03-09 Nick Clifton * po/sv.po: Updated Swedish translation. diff --git a/gprof/corefile.c b/gprof/corefile.c index e02d95833f4..a8620efc45f 100644 --- a/gprof/corefile.c +++ b/gprof/corefile.c @@ -155,7 +155,7 @@ core_init (const char *aout_name) if (!bfd_check_format (core_bfd, bfd_object)) { - fprintf (stderr, _("%s: %s: not in a.out format\n"), whoami, aout_name); + fprintf (stderr, _("%s: %s: not in executable format\n"), whoami, aout_name); done (1); } diff --git a/gprof/po/Make-in b/gprof/po/Make-in index 76ba8c15444..42863f2ab20 100644 --- a/gprof/po/Make-in +++ b/gprof/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright 2002, 2003 Free Software Foundation, Inc. +# Copyright 2002, 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -186,7 +186,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/gprof/po/es.po b/gprof/po/es.po index 0b8e6f308f8..d6cdc909421 100644 --- a/gprof/po/es.po +++ b/gprof/po/es.po @@ -1,13 +1,13 @@ -# Mensajes en español para gprof 2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para gprof 2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: gprof 2.15.96\n" +"Project-Id-Version: gprof 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:05+1030\n" -"PO-Revision-Date: 2005-03-14 17:12-0600\n" +"POT-Creation-Date: 2005-10-01 07:23+0930\n" +"PO-Revision-Date: 2006-05-26 13:16-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -44,16 +44,16 @@ msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n" msgstr "%s: aviso: ignorando las cuentas de ejecución de bloques básicos (use -l o --line)\n" #. FIXME: This only works if bfd_vma is unsigned long. -#: basic_blocks.c:287 basic_blocks.c:297 +#: basic_blocks.c:289 basic_blocks.c:299 #, c-format msgid "%s:%d: (%s:0x%lx) %lu executions\n" msgstr "%s:%d: (%s:0x%lx) %lu ejecuciones\n" -#: basic_blocks.c:288 basic_blocks.c:298 +#: basic_blocks.c:290 basic_blocks.c:300 msgid "" msgstr "" -#: basic_blocks.c:541 +#: basic_blocks.c:543 #, c-format msgid "" "\n" @@ -70,7 +70,7 @@ msgstr "" " Línea Cuenta\n" "\n" -#: basic_blocks.c:565 +#: basic_blocks.c:567 #, c-format msgid "" "\n" @@ -81,22 +81,22 @@ msgstr "" "Resumen de Ejecución:\n" "\n" -#: basic_blocks.c:566 +#: basic_blocks.c:568 #, c-format msgid "%9ld Executable lines in this file\n" msgstr "%9ld Líneas ejecutables en este fichero\n" -#: basic_blocks.c:568 +#: basic_blocks.c:570 #, c-format msgid "%9ld Lines executed\n" msgstr "%9ld Líneas ejecutadas\n" -#: basic_blocks.c:569 +#: basic_blocks.c:571 #, c-format msgid "%9.2f Percent of the file executed\n" msgstr "%9.2f Porcentaje ejecutado del fichero\n" -#: basic_blocks.c:573 +#: basic_blocks.c:575 #, c-format msgid "" "\n" @@ -105,7 +105,7 @@ msgstr "" "\n" "%9lu Número total de ejecuciones de línea\n" -#: basic_blocks.c:575 +#: basic_blocks.c:577 #, c-format msgid "%9.2f Average executions per line\n" msgstr "%9.2f Ejecuciones promedio por línea\n" @@ -241,37 +241,37 @@ msgstr "%s: no se puede abrir %s.\n" msgid "%s: unable to parse mapping file %s.\n" msgstr "%s: no se puede decodificar el fichero de mapeo %s.\n" -#: corefile.c:155 +#: corefile.c:158 #, c-format msgid "%s: %s: not in a.out format\n" msgstr "%s: %s: no está en el formato a.out\n" -#: corefile.c:166 +#: corefile.c:169 #, c-format msgid "%s: can't find .text section in %s\n" msgstr "%s: no se puede encontrar la sección .text en %s\n" -#: corefile.c:224 +#: corefile.c:244 #, c-format msgid "%s: ran out room for %lu bytes of text space\n" msgstr "%s: se terminó el espacio para %lu bytes de espacio de texto\n" -#: corefile.c:238 +#: corefile.c:258 #, c-format msgid "%s: can't do -c\n" msgstr "%s: no se puede hacer -c\n" -#: corefile.c:272 +#: corefile.c:292 #, c-format msgid "%s: -c not supported on architecture %s\n" msgstr "%s: -c no tiene soporte en la arquitectura %s\n" -#: corefile.c:437 +#: corefile.c:457 #, c-format msgid "%s: file `%s' has no symbols\n" msgstr "%s: el fichero `%s' no tiene símbolos\n" -#: corefile.c:751 +#: corefile.c:771 #, c-format msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgstr "%s: alguien contó mal: ltab.len=%d en lugar de %ld\n" @@ -281,94 +281,94 @@ msgstr "%s: alguien cont msgid "%s: address size has unexpected value of %u\n" msgstr "%s: el tamaño de la dirección tiene un valor inesperado de %u\n" -#: gmon_io.c:317 gmon_io.c:413 +#: gmon_io.c:320 gmon_io.c:416 #, c-format msgid "%s: file too short to be a gmon file\n" msgstr "%s: el fichero es muy corto para ser un fichero gmon\n" -#: gmon_io.c:327 gmon_io.c:456 +#: gmon_io.c:330 gmon_io.c:459 #, c-format msgid "%s: file `%s' has bad magic cookie\n" msgstr "%s: el fichero `%s' tiene una galleta mágica errónea\n" -#: gmon_io.c:338 +#: gmon_io.c:341 #, c-format msgid "%s: file `%s' has unsupported version %d\n" msgstr "%s: el fichero `%s' tiene la version %d que no tiene soporte\n" -#: gmon_io.c:368 +#: gmon_io.c:371 #, c-format msgid "%s: %s: found bad tag %d (file corrupted?)\n" msgstr "%s: %s: se encontró la marca errónea %d (¿fichero corrupto?)\n" -#: gmon_io.c:435 +#: gmon_io.c:438 #, c-format msgid "%s: profiling rate incompatible with first gmon file\n" msgstr "%s: tasa de análisis de perfil incompatible con el primer fichero gmon\n" -#: gmon_io.c:483 +#: gmon_io.c:486 #, c-format msgid "%s: incompatible with first gmon file\n" msgstr "%s: incompatible con el primer fichero gmon\n" -#: gmon_io.c:511 +#: gmon_io.c:514 #, c-format msgid "%s: file '%s' does not appear to be in gmon.out format\n" msgstr "%s: el fichero '%s' no parece estar en el formato gmon.out\n" # FIXME: comprobar con el código si bins es abreviatura de binarios o # se refiere a la denominación inglesa de 'papelera'. cfuga -#: gmon_io.c:532 +#: gmon_io.c:535 #, c-format msgid "%s: unexpected EOF after reading %d/%d bins\n" msgstr "%s: fin de fichero inesperado después de leer %d/%d binarios\n" -#: gmon_io.c:565 +#: gmon_io.c:568 #, c-format msgid "time is in ticks, not seconds\n" msgstr "el tiempo está en tics, no en segundos\n" -#: gmon_io.c:571 gmon_io.c:747 +#: gmon_io.c:574 gmon_io.c:750 #, c-format msgid "%s: don't know how to deal with file format %d\n" msgstr "%s: se desconoce cómo lidiar con el fichero de formato %d\n" -#: gmon_io.c:578 +#: gmon_io.c:581 #, c-format msgid "File `%s' (version %d) contains:\n" msgstr "El fichero `%s' (versión %d) contiene:\n" -#: gmon_io.c:581 +#: gmon_io.c:584 #, c-format msgid "\t%d histogram record\n" msgstr "\t%d registro de histograma\n" -#: gmon_io.c:582 +#: gmon_io.c:585 #, c-format msgid "\t%d histogram records\n" msgstr "\t%d registros de histogramas\n" -#: gmon_io.c:584 +#: gmon_io.c:587 #, c-format msgid "\t%d call-graph record\n" msgstr "\t%d registro de gráfico de llamadas\n" -#: gmon_io.c:585 +#: gmon_io.c:588 #, c-format msgid "\t%d call-graph records\n" msgstr "\t%d registros de gráficos de llamadas\n" -#: gmon_io.c:587 +#: gmon_io.c:590 #, c-format msgid "\t%d basic-block count record\n" msgstr "\t%d registro de cuenta de bloques básicos\n" -#: gmon_io.c:588 +#: gmon_io.c:591 #, c-format msgid "\t%d basic-block count records\n" msgstr "\t%d registros de cuentas de bloques básicos\n" -#: gprof.c:160 +#: gprof.c:158 #, c-format msgid "" "Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n" @@ -399,58 +399,58 @@ msgstr "" "\t[--demangle[=ESTILO]] [--no-demangle]\n" "\t[fichero-imagen] [fichero-perfil...]\n" -#: gprof.c:176 +#: gprof.c:174 #, c-format msgid "Report bugs to %s\n" msgstr "Reportar bichos a %s\n" -#: gprof.c:248 +#: gprof.c:250 #, c-format msgid "%s: debugging not supported; -d ignored\n" msgstr "%s: no hay soporte para depuración; se ignora -d\n" -#: gprof.c:328 +#: gprof.c:330 #, c-format msgid "%s: unknown file format %s\n" msgstr "%s: formato de fichero %s desconocido\n" #. This output is intended to follow the GNU standards document. -#: gprof.c:412 +#: gprof.c:414 #, c-format msgid "GNU gprof %s\n" msgstr "GNU gprof %s\n" -#: gprof.c:413 +#: gprof.c:415 #, c-format msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n" msgstr "Basado en gprof de BSD, copyright 1983 Regents of the University of California.\n" -#: gprof.c:414 +#: gprof.c:416 #, c-format msgid "This program is free software. This program has absolutely no warranty.\n" msgstr "Este programa es software libre. Este programa no tiene ninguna garantía en lo absoluto.\n" -#: gprof.c:455 +#: gprof.c:457 #, c-format msgid "%s: unknown demangling style `%s'\n" msgstr "%s: estilo de desenredo desconocido `%s'\n" -#: gprof.c:475 +#: gprof.c:477 #, c-format msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n" msgstr "%s: Sólo se puede especificar uno de --function-ordering y --file-ordering.\n" -#: gprof.c:525 +#: gprof.c:527 #, c-format msgid "%s: sorry, file format `prof' is not yet supported\n" msgstr "%s: perdón, el formato de fichero `prof' aún no tiene soporte\n" -#: gprof.c:574 +#: gprof.c:576 #, c-format msgid "%s: gmon.out file is missing histogram\n" msgstr "%s: al fichero gmon.out le falta el histograma\n" -#: gprof.c:581 +#: gprof.c:583 #, c-format msgid "%s: gmon.out file is missing call-graph data\n" msgstr "%s: al fichero gmon.out le falta los datos del gráfico de llamadas\n" diff --git a/include/ChangeLog b/include/ChangeLog index 3c6907f56dc..0a3787aac37 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,22 @@ +2006-04-11 Jim Blandy + + * libiberty.h (pex_input_file, pex_input_pipe): New declarations. + +2006-04-06 H.J. Lu + + * bfdlink.h (bfd_link_info): Replace need_relax_finalize with + relax_pass. + +2006-03-25 Bernd Schmidt + + * elf/bfin.h (R_BFIN_GOT17M4, R_BFIN_GOTHI, R_BFIN_GOTLO, + R_BFIN_FUNCDESC, R_BFIN_FUNCDESC_GOT17M4, R_BFIN_FUNCDESC_GOTHI, + R_BFIN_FUNCDESC_GOTLO, R_BFIN_FUNCDESC_VALUE, + R_BFIN_FUNCDESC_GOTOFF17M4, R_BFIN_FUNCDESC_GOTOFFHI, + R_BFIN_FUNCDESC_GOTOFFLO, R_BFIN_GOTOFF17M4, R_BFIN_GOTOFFHI, + R_BFIN_GOTOFFLO): New relocs. + (EF_BFIN_PIC, EF_BFIN_FDPIC, EF_BFIN_PIC_FLAGS): New macros. + 2006-02-17 Shrirang Khisti Anil Paranjape Shilin Shakti diff --git a/include/bfdlink.h b/include/bfdlink.h index 3c978e80bfa..f4b7aa7cfa4 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -301,9 +301,6 @@ struct bfd_link_info /* TRUE if global symbols in discarded sections should be stripped. */ unsigned int strip_discarded: 1; - /* TRUE if the final relax pass is needed. */ - unsigned int need_relax_finalize: 1; - /* TRUE if generating a position independent executable. */ unsigned int pie: 1; @@ -398,6 +395,12 @@ struct bfd_link_info unloaded. */ const char *fini_function; + /* Number of relaxation passes. Usually only one relaxation pass + is needed. But a backend can have as many relaxation passes as + necessary. During bfd_relax_section call, it is set to the + current pass, starting from 0. */ + int relax_pass; + /* Non-zero if auto-import thunks for DATA items in pei386 DLLs should be generated/linked against. Set to 1 if this feature is explicitly requested by the user, -1 if enabled by default. */ diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 9d47ffbac89..48ce81c1354 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,12 @@ +2006-03-22 Richard Sandiford + Daniel Jacobowitz + Phil Edwards + Zack Weinberg + Mark Mitchell + Nathan Sidwell + + * mips.h (R_MIPS_COPY, R_MIPS_JUMP_SLOT): New relocs. + 2006-03-19 John David Anglin * hppa.h (SHF_HP_TLS, SHF_HP_NEAR_SHARED, SHF_HP_FAR_SHARED, diff --git a/include/elf/bfin.h b/include/elf/bfin.h index 09faab6ca1b..3c07cd166c8 100644 --- a/include/elf/bfin.h +++ b/include/elf/bfin.h @@ -43,6 +43,21 @@ START_RELOC_NUMBERS (elf_bfin_reloc_type) RELOC_NUMBER (R_byte2_data, 0x11) /* 0x11, 0x00) .byte2 var = symbol */ RELOC_NUMBER (R_byte4_data, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */ RELOC_NUMBER (R_pcrel11, 0x13) /* 0x13, 0x00) lsetup part b */ + RELOC_NUMBER (R_BFIN_GOT17M4, 0x14) + RELOC_NUMBER (R_BFIN_GOTHI, 0x15) + RELOC_NUMBER (R_BFIN_GOTLO, 0x16) + RELOC_NUMBER (R_BFIN_FUNCDESC, 0x17) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOT17M4, 0x18) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTHI, 0x19) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTLO, 0x1a) + RELOC_NUMBER (R_BFIN_FUNCDESC_VALUE, 0x1b) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFF17M4, 0x1c) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFHI, 0x1d) + RELOC_NUMBER (R_BFIN_FUNCDESC_GOTOFFLO, 0x1e) + RELOC_NUMBER (R_BFIN_GOTOFF17M4, 0x1f) + RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20) + RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21) + RELOC_NUMBER (R_push, 0xE0) RELOC_NUMBER (R_const, 0xE1) RELOC_NUMBER (R_add, 0xE2) @@ -69,4 +84,9 @@ START_RELOC_NUMBERS (elf_bfin_reloc_type) RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* C++, gnu only */ END_RELOC_NUMBERS (R_max) +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_BFIN_PIC 0x00000001 /* -fpic */ +#define EF_BFIN_FDPIC 0x00000002 /* -mfdpic */ + +#define EF_BFIN_PIC_FLAGS (EF_BFIN_PIC | EF_BFIN_FDPIC) #endif /* _ELF_BFIN_H */ diff --git a/include/elf/mips.h b/include/elf/mips.h index 6afc12ffe83..f22bd4d4213 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h @@ -97,6 +97,9 @@ START_RELOC_NUMBERS (elf_mips_reloc_type) RELOC_NUMBER (R_MIPS16_HI16, 104) RELOC_NUMBER (R_MIPS16_LO16, 105) FAKE_RELOC (R_MIPS16_max, 106) + /* These relocations are specific to VxWorks. */ + RELOC_NUMBER (R_MIPS_COPY, 126) + RELOC_NUMBER (R_MIPS_JUMP_SLOT, 127) /* This was a GNU extension used by embedded-PIC. It was co-opted by mips-linux for exception-handling data. It is no longer used, but should continue to be supported by the linker for backward diff --git a/include/elf/x86-64.h b/include/elf/x86-64.h index 74655fbcd03..b09a558a35b 100644 --- a/include/elf/x86-64.h +++ b/include/elf/x86-64.h @@ -54,7 +54,16 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) RELOC_NUMBER (R_X86_64_GOTOFF64, 25) /* 64 bit offset to GOT */ RELOC_NUMBER (R_X86_64_GOTPC32, 26) /* 32 bit signed pc relative offset to GOT */ - /* 27 .. 33 */ + RELOC_NUMBER (R_X86_64_GOT64, 27) /* 64 bit GOT entry offset */ + RELOC_NUMBER (R_X86_64_GOTPCREL64, 28) /* 64 bit signed pc relative + offset to GOT entry */ + RELOC_NUMBER (R_X86_64_GOTPC64, 29) /* 64 bit signed pc relative + offset to GOT */ + RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* like GOT64, but indicates + that PLT entry is needed */ + RELOC_NUMBER (R_X86_64_PLTOFF64, 31) /* 64 bit GOT relative offset + to PLT entry */ + /* 32 .. 33 */ RELOC_NUMBER (R_X86_64_GOTPC32_TLSDESC, 34) /* 32 bit signed pc relative offset to TLS descriptor diff --git a/include/libiberty.h b/include/libiberty.h index 6fdc6e9d0c8..6bd318e0fe5 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -475,6 +475,20 @@ extern const char *pex_run (struct pex_obj *obj, int flags, extern FILE *pex_write_input (struct pex_obj *obj, int binary); +/* Return a stream for a temporary file to pass to the first program + in the pipeline as input. The file name is chosen as for pex_run. + pex_run closes the file automatically; don't close it yourself. */ + +extern FILE *pex_input_file (struct pex_obj *obj, int flags, + const char *in_name); + +/* Return a stream for a pipe connected to the standard input of the + first program in the pipeline. You must have passed + `PEX_USE_PIPES' to `pex_init'. Close the returned stream + yourself. */ + +extern FILE *pex_input_pipe (struct pex_obj *obj, int binary); + /* Read the standard output of the last program to be executed. pex_run can not be called after this. BINARY should be non-zero if the file should be opened in binary mode; this is ignored on Unix. diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 158c55ce966..0c67a5ce123 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,19 @@ +2006-05-26 Richard Sandiford + + * m68k.h (mcf_mask): Define. + +2006-04-07 Joerg Wunsch + + * avr.h (AVR_ISA_PWMx): New. + +2006-03-28 Nathan Sidwell + + * m68k.h (cpu_m68k, cpu_cf, cpu_m68000, cpu_m68008, cpu_m68010, + cpu_m68020, cpu_m68ec030, cpu_m68040, cpu_m68060, cpu_m68851, + cpu_m68881, cpu_m68882, cpu_cpu32, cpu_cf5200, cpu_cf5206e, + cpu_cf5208, cpu_cf521x, cpu_cf5213, cpu_cf5249, cpu_cf528x, + cpu_cf5307, cpu_cf5329, cpu_cf5407, cpu_cf547x, cpu_cf548x): Remove. + 2006-03-10 Paul Brook * arm.h (ARM_AEXT_V7_ARM): Include v6ZK extensions. diff --git a/include/opcode/avr.h b/include/opcode/avr.h index b7a80b09612..55bb1610345 100644 --- a/include/opcode/avr.h +++ b/include/opcode/avr.h @@ -1,6 +1,6 @@ /* Opcode table for the Atmel AVR micro controllers. - Copyright 2000, 2001, 2004 Free Software Foundation, Inc. + Copyright 2000, 2001, 2004, 2006 Free Software Foundation, Inc. Contributed by Denis Chertykov This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -#define AVR_ISA_1200 0x0001 /* in the beginning there was ... */ +#define AVR_ISA_1200 0x0001 /* In the beginning there was ... */ #define AVR_ISA_LPM 0x0002 /* device has LPM */ #define AVR_ISA_LPMX 0x0004 /* device has LPM Rd,Z[+] */ #define AVR_ISA_SRAM 0x0008 /* device has SRAM (LD, ST, PUSH, POP, ...) */ @@ -32,18 +32,19 @@ #define AVR_ISA_MOVW 0x1000 /* device has MOVW */ #define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM) -#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) +#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK) +#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) #define AVR_ISA_TINY2 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX | \ - AVR_ISA_SPM | AVR_ISA_BRK) -#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \ - AVR_ISA_LPMX | AVR_ISA_SPM) -#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA) -#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM) -#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \ - AVR_ISA_LPMX | AVR_ISA_SPM) -#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX) -#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK) -#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX) + AVR_ISA_SPM | AVR_ISA_BRK) +#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \ + AVR_ISA_LPMX | AVR_ISA_SPM) +#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA) +#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM) +#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \ + AVR_ISA_LPMX | AVR_ISA_SPM) +#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX) +#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK) +#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX) #define AVR_ISA_ALL 0xFFFF diff --git a/intl/ChangeLog b/intl/ChangeLog index 59bec969589..1799509adb2 100644 --- a/intl/ChangeLog +++ b/intl/ChangeLog @@ -1,3 +1,8 @@ +2006-04-06 Carlos O'Donell + + * intl/Makefile.in: Add html info and dvi and install-html to .PHONY + Add install-html target. + 2006-02-27 Carlos O'Donell * intl/Makefile.in: Add html target. diff --git a/intl/Makefile.in b/intl/Makefile.in index 81a2bb025b9..ed579c7b232 100644 --- a/intl/Makefile.in +++ b/intl/Makefile.in @@ -1,5 +1,5 @@ # Makefile for directory with message catalog handling in GNU NLS Utilities. -# Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 1998, 2006 Free Software Foundation, Inc. # # 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 diff --git a/ld/ChangeLog b/ld/ChangeLog index 9005e8f2d70..bf6fc2f9b4e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,195 @@ +2006-06-12 Fred Fish + + * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the + ".mdebug." and ".gcc_compiled_long" sections + generated by mips gcc. + +2006-06-09 Alan Modra + + * ldlang.h (lang_input_statement_type): Use bitfields for booleans. + * ldlang.c (struct out_section_hash_entry): Rename from + output_statement_hash_entry. Delete output_section_statement_type + entry. Add statement_union_type entry. Adjust all users. + (output_section_statement_table): Rename from output_statement_table. + Adjust all users. + (output_section_statement_newfunc): Rename from + output_statement_newfunc. Adjust all users. + (output_section_statement_table_init): Rename from + output_statement_table_init. Adjust all users. + (output_section_statement_table_free): Rename from + output_statement_table_free. Adjust all users. + +2006-06-08 Alan Modra + + * emultempl/elf32.em (global_found): Make it a pointer. + (stat_needed, try_needed): Adjust. + (check_needed): Don't skip non-loaded as-needed entries. Only + consider entries with both filename and the_bfd non-null. + (after_open): Try loading non-loaded as-needed libs to satisfy + DT_NEEDED libs. + +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-06-02 Joseph S. Myers + + * Makefile.am (TEXI2DVI): Add -I $(top_srcdir)/../libiberty. + * Makefile.in: Regenerate. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-05-24 Nick Clifton + + * po/vi.po: Updated Vietnamese translation. + +2006-05-22 Daniel Jacobowitz + + * ld-mips-elf/textrel-1.d: Relax some patterns. + +2006-05-22 Nick Clifton + + * scripttempl/elf32crx.sc (.rdata): Add .rodata.*. + +2006-05-05 Alan Modra + + * ld.texinfo: Document PowerPC and PowerPC64 options. + * gen-doc.texi: Enable. + * configdoc.texi: Regenerate. + * ld.info: Regenerate. + +2006-05-02 Daniel Jacobowitz + + * Makefile.am (AM_MAKEINFOFLAGS): Add libiberty. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (configdoc.texi): Don't set top_srcdir. + * ld.texinfo: Don't use top_srcdir. + * aclocal.m4, Makefile.in: Regenerated. + +2006-04-16 Daniel Jacobowitz + + * po/POTFILES.in: Regenerated. + +2006-04-16 Daniel Jacobowitz + + * config.in: Regenerated. + +2006-04-14 David Heine + Bob Wilson + + * emultempl/xtensaelf.em (elf_xtensa_before_allocation): Call new + function to strip inconsistent linkonce sections. + (input_section_linked_worker, input_section_linked): New. + (is_inconsistent_linkonce_section): New. + (xtensa_strip_inconsistent_linkonce_sections): New. + +2006-04-11 Diego Pettenò + + * emultempl/elf32.em: Add support for elf-hints.h on FreeBSD + and Dragonfly targets. + * configure.in (AC_CHECK_HEADERS): Add elf-hints.h. + * Makefile.am (HFILES): Add elf-hints-local.h. + * elf-hints-local.h: New file. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2006-04-07 Bernhard Fischer + + * ld.texinfo: Fix typo in documentation of --check-sections. + +2006-04-07 Kaz Kojima + + * ldlang.c (load_symbols): Set as_needed and add_needed according + to the corresponding script's fields while processing it. + +2006-04-06 Carlos O'Donell + + * Makefile.am: Add install-html, install-html-am, and + install-html-recursive targets. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST datarootdir, docdir, htmldir. + * configure: Regenerate. + * po/Make-in: Add install-html target. + +2006-04-06 H.J. Lu + + * emultempl/ia64elf.em: Set link_info.relax_pass to 2. Remove + link_info.need_relax_finalize. + + * ldlang.c (relax_sections): New. + (lang_process): Use. Call relax_sections link_info.relax_pass + times. + + * ldmain.c (main): Set link_info.relax_pass to 1. Remove + link_info.need_relax_finalize. + +2006-04-05 Alan Modra + + * Makefile.am (GENSCRIPTS): Pass prefix. + * Makefile.in: Regenerate. + * genscripts.sh: Adjust for extra parameter. + * emultempl/elf32.em (parse_ld_so_conf): Return true iff file + exists. + (check_ld_so_conf): Use ${prefix}/etc/ld.so.conf if it exists. + * NEWS: Update. + +2006-04-05 Richard Sandiford + Daniel Jacobowitz + + * configure.tgt (sparc*-*-vxworks*): New stanza. + * emulparams/elf32_sparc_vxworks.sh: New file. + * Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_vxworks.o. + (eelf32_sparc_vxworks.c): New rule. + * Makefile.in: Regenerate. + +2006-04-04 Eric Botcazou + + * ldlang.c (lang_map): Print the list of discarded input sections. + (print_input_section): Change parameter and print zero-sized sections. + (print_statement): Adjust call to print_input_section. + +2006-04-01 Danny Smith + + * deffilep.y (def_image_name): If LIBRARY or NAME statement + specifies an empty string, retain the name specified on command + line. + * ld.texinfo: Document above. + +2006-03-31 Jakub Jelinek + + * ldmisc.c (vfinfo): Revert 2005-10-05 changes. If + bfd_find_nearest_line succeeded for %C or %D, but filename + is NULL, print section+offset at the end. + +2006-03-25 Bernd Schmidt + + * emulparams/elf32bfinfd.sh: New file. + * emultempl/bfin.em: Delete. + * emulparams/bfin.sh: Lose reference to bfin.em. + * Makefile.am (eelf32bfin.c): Likewise. + (eelf32bfinfd.c): New. + * Makefile.in: Regenerate. + * configure.tgt (bfin-*-elf, bfin-*-uclinux): Add elf32bfinfd to + targ_extra_emuls. + +2006-03-22 Richard Sandiford + Daniel Jacobowitz + Phil Edwards + Zack Weinberg + Mark Mitchell + Nathan Sidwell + + * configure.tgt (mips*el-*-vxworks*, mips*-*-vxworks*): Use + separate VxWorks emulations. + * emulparams/elf32ebmipvxworks.sh: New file. + * emulparams/elf32elmipvxworks.sh: New file. + * Makefile.am (ALL_EMULATIONS): Add eelf32ebmipvxworks.o and + eelf32elmipvxworks.o. + (eelf32ebmipvxworks.c, eelf32elmipvxworks.c): New rules. + * Makefile.in: Regenerate. + 2006-03-16 Alan Modra PR 2434 diff --git a/ld/Makefile.am b/ld/Makefile.am index 3f9ac29b88b..28be7d35102 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -46,7 +46,7 @@ DOCVER = gen # Options to extract the man page from ld.texinfo MANCONF = -Dman -TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl +TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 @@ -97,8 +97,8 @@ info_TEXINFOS = ld.texinfo noinst_TEXINFOS = ldint.texinfo man_MANS = ld.1 -AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc +AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty +TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty REPORT_BUGS_TO_s := "\"@REPORT_BUGS_TO@\"" @@ -152,8 +152,10 @@ ALL_EMULATIONS = \ eelf32_i960.o \ eelf32_i860.o \ eelf32_sparc.o \ + eelf32_sparc_vxworks.o \ eelf32b4300.o \ eelf32bfin.o \ + eelf32bfinfd.o \ eelf32cr16c.o \ eelf32bmip.o \ eelf32bmipn32.o \ @@ -163,7 +165,9 @@ ALL_EMULATIONS = \ eelf32ltsmip.o \ eelf32ltsmipn32.o \ eelf32ebmip.o \ + eelf32ebmipvxworks.o \ eelf32elmip.o \ + eelf32elmipvxworks.o \ eelf32fr30.o \ eelf32frv.o \ eelf32i370.o \ @@ -420,7 +424,7 @@ CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ - ldwrite.h mri.h deffile.h pe-dll.h + ldwrite.h mri.h deffile.h pe-dll.h elf-hints-local.h GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h @@ -477,7 +481,7 @@ stringify.sed: ${srcdir}/emultempl/$(STRINGIFY) # These all start with e so 'make clean' can find them. -GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ +GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed @TDIRS@ @@ -628,9 +632,13 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS} ${GENSCRIPTS} delta68 "$(tdir_delta68)" eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \ - $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/bfin.em \ + $(srcdir)/emultempl/elf32.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin +eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \ + $(srcdir)/emultempl/elf32.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)" @@ -686,6 +694,11 @@ em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \ eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)" +eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \ + $(srcdir)/emultempl/vxworks.em $(srcdir)/emultempl/elf32.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)" eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)" @@ -731,10 +744,20 @@ eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \ $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)" +eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \ + $(srcdir)/emulparams/elf32ebmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/vxworks.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ebmipvxworks "$(tdir_elf32ebmipvxworks)" eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)" +eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \ + $(srcdir)/emulparams/elf32elmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/vxworks.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)" eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \ $(srcdir)/emultempl/irix.em \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1688,7 +1711,6 @@ bootstrap: ld3$(EXEEXT) configdoc.texi: ${DOCVER}-doc.texi cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi chmod u+w ./configdoc.texi - echo "@set top_srcdir $(top_srcdir)" >> ./configdoc.texi ldver.texi: $(srcdir)/../bfd/configure rm -f $@ diff --git a/ld/Makefile.in b/ld/Makefile.in index 9de3a1f9c9b..80d27f86c27 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -283,7 +283,7 @@ DOCVER = gen # Options to extract the man page from ld.texinfo MANCONF = -Dman -TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl +TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ --release="binutils-$(VERSION)" --section=1 @@ -327,8 +327,8 @@ CXX_FOR_TARGET = ` \ info_TEXINFOS = ld.texinfo noinst_TEXINFOS = ldint.texinfo man_MANS = ld.1 -AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc +AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty +TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty REPORT_BUGS_TO_s := "\"@REPORT_BUGS_TO@\"" INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \ -I$(top_srcdir)/../intl -I../intl $(HDEFINES) $(CFLAGS) \ @@ -379,8 +379,10 @@ ALL_EMULATIONS = \ eelf32_i960.o \ eelf32_i860.o \ eelf32_sparc.o \ + eelf32_sparc_vxworks.o \ eelf32b4300.o \ eelf32bfin.o \ + eelf32bfinfd.o \ eelf32cr16c.o \ eelf32bmip.o \ eelf32bmipn32.o \ @@ -390,7 +392,9 @@ ALL_EMULATIONS = \ eelf32ltsmip.o \ eelf32ltsmipn32.o \ eelf32ebmip.o \ + eelf32ebmipvxworks.o \ eelf32elmip.o \ + eelf32elmipvxworks.o \ eelf32fr30.o \ eelf32frv.o \ eelf32i370.o \ @@ -647,7 +651,7 @@ CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ - ldwrite.h mri.h deffile.h pe-dll.h + ldwrite.h mri.h deffile.h pe-dll.h elf-hints-local.h GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h @@ -663,7 +667,7 @@ EMULATION_FILES = emultempl/pe.em emultempl/armcoff.em POTFILES = $(CFILES) $(HFILES) $(EMULATION_FILES) # These all start with e so 'make clean' can find them. -GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ +GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed # We need this for automake to use YLWRAP. @@ -1439,9 +1443,13 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS} ${GENSCRIPTS} delta68 "$(tdir_delta68)" eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \ - $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/bfin.em \ + $(srcdir)/emultempl/elf32.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin +eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \ + $(srcdir)/emultempl/elf32.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)" @@ -1497,6 +1505,11 @@ em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \ eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)" +eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \ + $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \ + $(srcdir)/emultempl/vxworks.em $(srcdir)/emultempl/elf32.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)" eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)" @@ -1542,10 +1555,20 @@ eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \ $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)" +eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \ + $(srcdir)/emulparams/elf32ebmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/vxworks.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ebmipvxworks "$(tdir_elf32ebmipvxworks)" eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)" +eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \ + $(srcdir)/emulparams/elf32elmip.sh $(srcdir)/emulparams/vxworks.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/vxworks.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)" eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \ $(srcdir)/emultempl/irix.em \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -2488,7 +2511,6 @@ bootstrap: ld3$(EXEEXT) configdoc.texi: ${DOCVER}-doc.texi cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi chmod u+w ./configdoc.texi - echo "@set top_srcdir $(top_srcdir)" >> ./configdoc.texi ldver.texi: $(srcdir)/../bfd/configure rm -f $@ diff --git a/ld/NEWS b/ld/NEWS index 77659b686b2..27fb0ae1154 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -2,8 +2,10 @@ * Support for the Infineon XC16X has been added by KPIT Cummins Infosystems. -* Modify the Linux linker to seach /etc/ld.so.conf first before - checking default search directories for DT_NEEDED entries. +* Modify the Linux linker search order to better match ld.so search order. + Look for DT_NEEDED libraries in paths specified by ld.so.conf before + searching the default directories, rather than vice versa. + Use $prefix/etc/ld.so.conf if it exists, otherwise /etc/ld.so.conf. * PE-COFF: Forward exports from DLL's can now be specified in .def files passed directly to ld. diff --git a/ld/config.in b/ld/config.in index ab73c6e81b8..fa2e69fe1f2 100644 --- a/ld/config.in +++ b/ld/config.in @@ -54,6 +54,9 @@ */ #undef HAVE_DIRENT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_ELF_HINTS_H + /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD diff --git a/ld/configure b/ld/configure index fb4b92555da..9f10ff6cfae 100755 --- a/ld/configure +++ b/ld/configure @@ -8626,7 +8626,8 @@ fi -for ac_header in string.h strings.h stdlib.h unistd.h + +for ac_header in string.h strings.h stdlib.h unistd.h elf-hints.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then diff --git a/ld/configure.in b/ld/configure.in index 837d2e5939b..18245e13979 100644 --- a/ld/configure.in +++ b/ld/configure.in @@ -112,7 +112,7 @@ AC_SUBST(HOSTING_CRT0) AC_SUBST(HOSTING_LIBS) AC_SUBST(NATIVE_LIB_DIRS) -AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h) +AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h) AC_CHECK_FUNCS(sbrk realpath glob) AC_HEADER_DIRENT diff --git a/ld/configure.tgt b/ld/configure.tgt index ce7b198f2bd..a7f695ef5e6 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -83,8 +83,8 @@ xscale-*-elf) targ_emul=armelf avr-*-*) targ_emul=avr2 targ_extra_emuls="avr1 avr3 avr4 avr5" ;; -bfin-*-elf) targ_emul=elf32bfin ;; -bfin-*-uclinux*) targ_emul=elf32bfin ;; +bfin-*-elf) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; +bfin-*-uclinux*) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; cr16c-*-elf*) targ_emul=elf32cr16c ;; cris-*-*aout*) targ_emul=crisaout @@ -324,9 +324,10 @@ mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; mips*el-*-elf*) targ_emul=elf32elmip ;; mips*-*-elf*) targ_emul=elf32ebmip ;; mips*-*-rtems*) targ_emul=elf32ebmip ;; -mips*el-*-vxworks*) targ_emul=elf32elmip ;; -mips*-*-vxworks*) targ_emul=elf32ebmip - targ_extra_emuls="elf32elmip" ;; +mips*el-*-vxworks*) targ_emul=elf32elmipvxworks + targ_extra_emuls="elf32ebmipvxworks" ;; +mips*-*-vxworks*) targ_emul=elf32ebmipvxworks + targ_extra_emuls="elf32elmipvxworks" ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" @@ -496,6 +497,7 @@ sparc*-*-aout) targ_emul=sparcaout ;; sparc*-*-coff) targ_emul=coff_sparc ;; sparc*-*-elf) targ_emul=elf32_sparc ;; sparc*-*-sysv4*) targ_emul=elf32_sparc ;; +sparc*-*-vxworks*) targ_emul=elf32_sparc_vxworks ;; sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) targ_emul=elf64_sparc_fbsd targ_extra_emuls="elf64_sparc elf32_sparc" diff --git a/ld/deffilep.y b/ld/deffilep.y index 78da27a1d97..5c699f394f8 100644 --- a/ld/deffilep.y +++ b/ld/deffilep.y @@ -648,22 +648,30 @@ def_file_add_directive (def_file *my_def, const char *param, int len) static void def_image_name (const char *name, int base, int is_dll) { - const char* image_name = lbasename (name); - if (image_name != name) - einfo ("%s:%d: Warning: path components stripped from %s, '%s'\n", - def_filename, linenumber, is_dll ? "LIBRARY" : "NAME", name); - if (def->name) - free (def->name); - /* Append the default suffix, if none specified. */ - if (strchr (image_name, '.') == 0) - { - const char * suffix = is_dll ? ".dll" : ".exe"; - - def->name = xmalloc (strlen (image_name) + strlen (suffix) + 1); - sprintf (def->name, "%s%s", image_name, suffix); - } - else - def->name = xstrdup (image_name); + /* If a LIBRARY or NAME statement is specified without a name, there is nothing + to do here. We retain the output filename specified on command line. */ + if (*name) + { + const char* image_name = lbasename (name); + if (image_name != name) + einfo ("%s:%d: Warning: path components stripped from %s, '%s'\n", + def_filename, linenumber, is_dll ? "LIBRARY" : "NAME", + name); + if (def->name) + free (def->name); + /* Append the default suffix, if none specified. */ + if (strchr (image_name, '.') == 0) + { + const char * suffix = is_dll ? ".dll" : ".exe"; + + def->name = xmalloc (strlen (image_name) + strlen (suffix) + 1); + sprintf (def->name, "%s%s", image_name, suffix); + } + else + def->name = xstrdup (image_name); + } + + /* Honor a BASE address statement, even if LIBRARY string is empty. */ def->base_address = base; def->is_dll = is_dll; } diff --git a/ld/emulparams/bfin.sh b/ld/emulparams/bfin.sh index 86d21b253c9..5e7adda4dd9 100755 --- a/ld/emulparams/bfin.sh +++ b/ld/emulparams/bfin.sh @@ -10,6 +10,5 @@ ENTRY=__start TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes EMBEDDED=yes -EXTRA_EM_FILE=bfin DATA_END_SYMBOLS="__edata = .; PROVIDE (_edata = .);" END_SYMBOLS="__end = .; PROVIDE (_end = .);" diff --git a/ld/emulparams/elf32bfinfd.sh b/ld/emulparams/elf32bfinfd.sh index 19ec748b7fb..9047c6a750f 100644 --- a/ld/emulparams/elf32bfinfd.sh +++ b/ld/emulparams/elf32bfinfd.sh @@ -1,7 +1,7 @@ . ${srcdir}/emulparams/bfin.sh unset STACK_ADDR OUTPUT_FORMAT="elf32-bfinfdpic" -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +MAXPAGESIZE=0x4000 TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh index 5da30490bde..614856573fa 100644 --- a/ld/emulparams/elf32bmip.sh +++ b/ld/emulparams/elf32bmip.sh @@ -34,6 +34,14 @@ OTHER_BSS_SYMBOLS='_fbss = .;' OTHER_SECTIONS=' .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } + .mdebug.abi32 : { KEEP(*(.mdebug.abi32)) } + .mdebug.abiN32 : { KEEP(*(.mdebug.abiN32)) } + .mdebug.abi64 : { KEEP(*(.mdebug.abi64)) } + .mdebug.abiO64 : { KEEP(*(.mdebug.abiO64)) } + .mdebug.eabi32 : { KEEP(*(.mdebug.eabi32)) } + .mdebug.eabi64 : { KEEP(*(.mdebug.eabi64)) } + .gcc_compiled_long32 : { KEEP(*(.gcc_compiled_long32)) } + .gcc_compiled_long64 : { KEEP(*(.gcc_compiled_long64)) } ' ARCH=mips MACHINE= diff --git a/ld/emultempl/bfin.em b/ld/emultempl/bfin.em deleted file mode 100644 index 1c1cd8d7518..00000000000 --- a/ld/emultempl/bfin.em +++ /dev/null @@ -1,174 +0,0 @@ -# This shell script emits a C file. -*- C -*- -# Copyright 2000, 2001, 2003 Free Software Foundation, Inc. -# Written by Michael Sokolov , based on armelf.em -# -# This file is part of GLD, the Gnu Linker. -# -# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# This file is sourced from elf32.em, and defines some extra routines for bfin -# embedded systems using ELF and for some other systems using bfin ELF. While -# it is sourced from elf32.em for all bfin ELF configurations, here we include -# only the features we want depending on the configuration. - -case ${target} in - bfin*-*-elf) - echo "#define SUPPORT_EMBEDDED_RELOCS" >>e${EMULATION_NAME}.c - ;; -esac - -cat >>e${EMULATION_NAME}.c <link_next) - { - asection *datasec; - - /* As first-order business, make sure that each input BFD is either - COFF or ELF. We need to call a special BFD backend function to - generate the embedded relocs, and we have such functions only for - COFF and ELF. */ - if (bfd_get_flavour (abfd) != bfd_target_coff_flavour - && bfd_get_flavour (abfd) != bfd_target_elf_flavour) - einfo ("%F%B: all input objects must be COFF or ELF for --embedded-relocs\n"); - - datasec = bfd_get_section_by_name (abfd, ".data"); - - /* Note that we assume that the reloc_count field has already - been set up. We could call bfd_get_reloc_upper_bound, but - that returns the size of a memory buffer rather than a reloc - count. We do not want to call bfd_canonicalize_reloc, - because although it would always work it would force us to - read in the relocs into BFD canonical form, which would waste - a significant amount of time and memory. */ - if (datasec != NULL && datasec->reloc_count > 0) - { - asection *relsec; - - relsec = bfd_make_section (abfd, ".emreloc"); - if (relsec == NULL - || ! bfd_set_section_flags (abfd, relsec, - (SEC_ALLOC - | SEC_LOAD - | SEC_HAS_CONTENTS - | SEC_IN_MEMORY)) - || ! bfd_set_section_alignment (abfd, relsec, 2) - || ! bfd_set_section_size (abfd, relsec, - datasec->reloc_count * 12)) - einfo ("%F%B: can not create .emreloc section: %E\n"); - } - - /* Double check that all other data sections are empty, as is - required for embedded PIC code. */ - bfd_map_over_sections (abfd, check_sections, datasec); - } - } -#endif /* SUPPORT_EMBEDDED_RELOCS */ -} - -#ifdef SUPPORT_EMBEDDED_RELOCS -/* Check that of the data sections, only the .data section has - relocs. This is called via bfd_map_over_sections. */ - -static void -check_sections (bfd *abfd, asection *sec, void *datasec) -{ - if ((bfd_get_section_flags (abfd, sec) & SEC_DATA) - && sec != datasec - && sec->reloc_count != 0) - einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n", - abfd, bfd_get_section_name (abfd, sec)); -} - -#endif /* SUPPORT_EMBEDDED_RELOCS */ - -/* This function is called after the section sizes and offsets have - been set. */ - -static void -bfin_elf_after_allocation (void) -{ - /* Call the standard elf routine. */ - after_allocation_default (); - -#ifdef SUPPORT_EMBEDDED_RELOCS - if (command_line.embedded_relocs - && (! link_info.relocatable)) - { - bfd *abfd; - - /* If we are generating embedded relocs, call a special BFD backend - routine to do the work. */ - for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next) - { - asection *datasec, *relsec; - char *errmsg; - - datasec = bfd_get_section_by_name (abfd, ".data"); - - if (datasec == NULL || datasec->reloc_count == 0) - continue; - - relsec = bfd_get_section_by_name (abfd, ".emreloc"); - ASSERT (relsec != NULL); - - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) - { - if (! bfd_bfin_elf32_create_embedded_relocs (abfd, &link_info, - datasec, relsec, - &errmsg)) - { - if (errmsg == NULL) - einfo ("%B%X: can not create runtime reloc information: %E\n", - abfd); - else - einfo ("%X%B: can not create runtime reloc information: %s\n", - abfd, errmsg); - } - } - else - abort (); - } - } -#endif /* SUPPORT_EMBEDDED_RELOCS */ -} - -EOF - -# We have our own after_open and after_allocation functions, but they call -# the standard routines, so give them a different name. -LDEMUL_AFTER_OPEN=bfin_elf_after_open -LDEMUL_AFTER_ALLOCATION=bfin_elf_after_allocation diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 048917f3b5a..19259796053 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -13,7 +13,7 @@ cat >e${EMULATION_NAME}.c < ELF support by Ian Lance Taylor @@ -148,7 +148,7 @@ cat >>e${EMULATION_NAME}.c <the_bfd == NULL) return; - if (s->as_needed - && (bfd_elf_get_dyn_lib_class (s->the_bfd) & DYN_AS_NEEDED) != 0) + + /* If this input file was an as-needed entry, and wasn't found to be + needed at the stage it was linked, then don't say we have loaded it. */ + if ((bfd_elf_get_dyn_lib_class (s->the_bfd) & DYN_AS_NEEDED) != 0) return; if (bfd_stat (s->the_bfd, &st) != 0) @@ -254,7 +256,7 @@ gld${EMULATION_NAME}_stat_needed (lang_input_statement_type *s) && st.st_ino == global_stat.st_ino && st.st_ino != 0) { - global_found = TRUE; + global_found = s; return; } @@ -398,9 +400,9 @@ cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c < +#else +#include "elf-hints-local.h" +#endif + +static bfd_boolean +gld${EMULATION_NAME}_check_ld_elf_hints (const char *name, int force) +{ + static bfd_boolean initialized; + static char *ld_elf_hints; + struct dt_needed needed; + + if (!initialized) + { + FILE *f; + char *tmppath; + + tmppath = concat (ld_sysroot, _PATH_ELF_HINTS, NULL); + f = fopen (tmppath, FOPEN_RB); + free (tmppath); + if (f != NULL) + { + struct elfhints_hdr hdr; + + if (fread (&hdr, 1, sizeof (hdr), f) == sizeof (hdr) + && hdr.magic == ELFHINTS_MAGIC + && hdr.version == 1) + { + if (fseek (f, hdr.strtab + hdr.dirlist, SEEK_SET) != -1) + { + char *b; + + b = xmalloc (hdr.dirlistlen + 1); + if (fread (b, 1, hdr.dirlistlen + 1, f) == + hdr.dirlistlen + 1) + ld_elf_hints = gld${EMULATION_NAME}_add_sysroot (b); + + free (b); + } + } + fclose (f); + } + + initialized = TRUE; + } + + if (ld_elf_hints == NULL) + return FALSE; + + needed.by = NULL; + needed.name = name; + return gld${EMULATION_NAME}_search_needed (ld_elf_hints, & needed, + force); +} +EOF + # FreeBSD + ;; + *-*-linux-* | *-*-k*bsd*-*) cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <the_bfd) + & DYN_AS_NEEDED) == 0) return; - /* If this input file was an as-needed entry, and wasn't found to be - needed at the stage it was linked, then don't say we have loaded it. */ - if (s->as_needed - && (s->the_bfd == NULL - || (bfd_elf_get_dyn_lib_class (s->the_bfd) & DYN_AS_NEEDED) != 0)) + if (s->filename == NULL || s->the_bfd == NULL) + return; + + /* Don't look for a second non-loaded as-needed lib. */ + if (global_found != NULL + && (bfd_elf_get_dyn_lib_class (s->the_bfd) & DYN_AS_NEEDED) != 0) return; - if (s->filename != NULL) + if (strcmp (s->filename, global_needed->name) == 0) { - const char *f; + global_found = s; + return; + } - if (strcmp (s->filename, global_needed->name) == 0) + if (s->search_dirs_flag) + { + const char *f = strrchr (s->filename, '/'); + if (f != NULL + && strcmp (f + 1, global_needed->name) == 0) { - global_found = TRUE; + global_found = s; return; } - - if (s->search_dirs_flag) - { - f = strrchr (s->filename, '/'); - if (f != NULL - && strcmp (f + 1, global_needed->name) == 0) - { - global_found = TRUE; - return; - } - } } - if (s->the_bfd != NULL) + soname = bfd_elf_get_dt_soname (s->the_bfd); + if (soname != NULL + && strcmp (soname, global_needed->name) == 0) { - const char *soname; - - soname = bfd_elf_get_dt_soname (s->the_bfd); - if (soname != NULL - && strcmp (soname, global_needed->name) == 0) - { - global_found = TRUE; - return; - } + global_found = s; + return; } } @@ -835,9 +902,11 @@ gld${EMULATION_NAME}_after_open (void) /* See if this file was included in the link explicitly. */ global_needed = l; - global_found = FALSE; + global_found = NULL; lang_for_each_input_file (gld${EMULATION_NAME}_check_needed); - if (global_found) + if (global_found != NULL + && (bfd_elf_get_dyn_lib_class (global_found->the_bfd) + & DYN_AS_NEEDED) == 0) continue; n.by = l->by; @@ -846,6 +915,15 @@ gld${EMULATION_NAME}_after_open (void) if (trace_file_tries) info_msg (_("%s needed by %B\n"), l->name, l->by); + /* As-needed libs specified on the command line (or linker script) + take priority over libs found in search dirs. */ + if (global_found != NULL) + { + nn.name = global_found->filename; + if (gld${EMULATION_NAME}_try_needed (&nn, TRUE)) + continue; + } + /* We need to find this file and include the symbol table. We want to search for the file in the same way that the dynamic linker will search. That means that we want to use @@ -921,6 +999,14 @@ EOF fi if [ "x${USE_LIBPATH}" = xyes ] ; then case ${target} in + *-*-freebsd* | *-*-dragonfly*) + cat >>e${EMULATION_NAME}.c <name, force)) + break; +EOF + # FreeBSD + ;; + *-*-linux-* | *-*-k*bsd*-*) # Linux cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <head); @@ -1157,6 +1161,145 @@ ld_count_children (lang_statement_union_type *s) #endif /* EXTRA_VALIDATION */ +/* Check if a particular section is included in the link. This will only + be true for one instance of a particular linkonce section. */ + +static bfd_boolean input_section_found = FALSE; +static asection *input_section_target = NULL; + +static void +input_section_linked_worker (lang_statement_union_type *statement) +{ + if ((statement->header.type == lang_input_section_enum + && (statement->input_section.section == input_section_target))) + input_section_found = TRUE; +} + +static bfd_boolean +input_section_linked (asection *sec) +{ + input_section_found = FALSE; + input_section_target = sec; + lang_for_each_statement_worker (input_section_linked_worker, stat_ptr->head); + return input_section_found; +} + + +/* Strip out any linkonce literal sections or property tables where the + associated linkonce text is from a different object file. Normally, + a matching set of linkonce sections is taken from the same object file, + but sometimes the files are compiled differently so that some of the + linkonce sections are not present in all files. Stripping the + inconsistent sections like this is not completely robust -- a much + better solution is to use comdat groups. */ + +static int linkonce_len = sizeof (".gnu.linkonce.") - 1; + +static bfd_boolean +is_inconsistent_linkonce_section (asection *sec) +{ + bfd *abfd = sec->owner; + const char *sec_name = bfd_get_section_name (abfd, sec); + char *prop_tag = 0; + + if ((bfd_get_section_flags (abfd, sec) & SEC_LINK_ONCE) == 0 + || strncmp (sec_name, ".gnu.linkonce.", linkonce_len) != 0) + return FALSE; + + /* Check if this is an Xtensa property section. */ + if (strncmp (sec_name + linkonce_len, "p.", 2) == 0) + prop_tag = "p."; + else if (strncmp (sec_name + linkonce_len, "prop.", 5) == 0) + prop_tag = "prop."; + if (prop_tag) + { + int tag_len = strlen (prop_tag); + char *dep_sec_name = xmalloc (strlen (sec_name)); + asection *dep_sec; + + /* Get the associated linkonce text section and check if it is + included in the link. If not, this section is inconsistent + and should be stripped. */ + strcpy (dep_sec_name, ".gnu.linkonce."); + strcat (dep_sec_name, sec_name + linkonce_len + tag_len); + dep_sec = bfd_get_section_by_name (abfd, dep_sec_name); + if (dep_sec == NULL || ! input_section_linked (dep_sec)) + { + free (dep_sec_name); + return TRUE; + } + free (dep_sec_name); + } + + return FALSE; +} + + +static void +xtensa_strip_inconsistent_linkonce_sections (lang_statement_list_type *slist) +{ + lang_statement_union_type **s_p = &slist->head; + while (*s_p) + { + lang_statement_union_type *s = *s_p; + lang_statement_union_type *s_next = (*s_p)->header.next; + + switch (s->header.type) + { + case lang_input_section_enum: + if (is_inconsistent_linkonce_section (s->input_section.section)) + { + *s_p = s_next; + continue; + } + break; + + case lang_constructors_statement_enum: + xtensa_strip_inconsistent_linkonce_sections (&constructor_list); + break; + + case lang_output_section_statement_enum: + if (s->output_section_statement.children.head) + xtensa_strip_inconsistent_linkonce_sections + (&s->output_section_statement.children); + break; + + case lang_wild_statement_enum: + xtensa_strip_inconsistent_linkonce_sections + (&s->wild_statement.children); + break; + + case lang_group_statement_enum: + xtensa_strip_inconsistent_linkonce_sections + (&s->group_statement.children); + break; + + case lang_data_statement_enum: + case lang_reloc_statement_enum: + case lang_object_symbols_statement_enum: + case lang_output_statement_enum: + case lang_target_statement_enum: + case lang_input_statement_enum: + case lang_assignment_statement_enum: + case lang_padding_statement_enum: + case lang_address_statement_enum: + case lang_fill_statement_enum: + break; + + default: + FAIL (); + break; + } + + s_p = &(*s_p)->header.next; + } + + /* Reset the tail of the list, in case the last entry was removed. */ + if (s_p != slist->tail) + slist->tail = s_p; +} + + static void xtensa_wild_group_interleave_callback (lang_statement_union_type *statement) { diff --git a/ld/gen-doc.texi b/ld/gen-doc.texi index 5add195d2f9..800f64e2fae 100644 --- a/ld/gen-doc.texi +++ b/ld/gen-doc.texi @@ -9,6 +9,8 @@ @set HPPA @set MMIX @set MSP430 +@set POWERPC +@set POWERPC64 @set TICOFF @set WIN32 @set XTENSA diff --git a/ld/genscripts.sh b/ld/genscripts.sh index 76d5dd2560e..e9d4f153a7a 100755 --- a/ld/genscripts.sh +++ b/ld/genscripts.sh @@ -4,6 +4,7 @@ # Usage: genscripts_extra.sh \ # srcdir \ # libdir \ +# prefix \ # exec_prefix \ # host \ # target \ @@ -22,6 +23,7 @@ # /sources/ld \ # /usr/local/lib \ # /usr/local \ +# /usr/local \ # sparc-sun-sunos4.1.3 \ # sparc-sun-sunos4.1.3 \ # sparc-sun-sunos4.1.3 \ @@ -59,17 +61,18 @@ srcdir=$1 libdir=$2 -exec_prefix=$3 -host=$4 -target=$5 -target_alias=$6 -EMULATION_LIBPATH=$7 -NATIVE_LIB_DIRS=$8 -use_sysroot=$9 +prefix=$3 +exec_prefix=$4 +host=$5 +target=$6 +target_alias=$7 +EMULATION_LIBPATH=$8 +NATIVE_LIB_DIRS=$9 shift 9 -EMULATION_NAME=$1 -TOOL_LIB=$2 -CUSTOMIZER_SCRIPT=$3 +use_sysroot=$1 +EMULATION_NAME=$2 +TOOL_LIB=$3 +CUSTOMIZER_SCRIPT=$4 # Can't use ${TOOL_LIB:-$target_alias} here due to an Ultrix shell bug. if [ "x${TOOL_LIB}" = "x" ] ; then diff --git a/ld/ld.texinfo b/ld/ld.texinfo index bdb9ee6b2a4..fc2413ee600 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -40,6 +40,8 @@ @set MSP430 @set PDP11 @set PJ +@set POWERPC +@set POWERPC64 @set SH @set SPARC @set TIC54X @@ -156,6 +158,12 @@ section entitled ``GNU Free Documentation License''. @ifset M68HC11 * M68HC11/68HC12:: ld and the Motorola 68HC11 and 68HC12 families @end ifset +@ifset POWERPC +* PowerPC ELF32:: ld and PowerPC 32-bit ELF Support +@end ifset +@ifset POWERPC64 +* PowerPC64 ELF64:: ld and PowerPC64 64-bit ELF Support +@end ifset @ifset TICOFF * TI COFF:: ld and the TI COFF @end ifset @@ -342,7 +350,7 @@ Here is a table of the generic command line switches accepted by the GNU linker: @table @gcctabopt -@include @value{top_srcdir}/../libiberty/at-file.texi +@include at-file.texi @kindex -a@var{keyword} @item -a@var{keyword} @@ -1117,7 +1125,7 @@ platforms which support shared libraries. @item --check-sections @itemx --no-check-sections Asks the linker @emph{not} to check section addresses after they have -been assigned to see if there any overlaps. Normally the linker will +been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be @@ -1383,6 +1391,9 @@ This option is only supported on a few targets. @ifset M68HC11 @xref{M68HC11/68HC12,,@command{ld} and the 68HC11 and 68HC12}. @end ifset +@ifset POWERPC +@xref{PowerPC ELF32,,@command{ld} and PowerPC 32-bit ELF Support}. +@end ifset On some platforms, the @samp{--relax} option performs global optimizations that become possible when the linker resolves addressing @@ -5111,6 +5122,12 @@ functionality are not listed. @ifset M68HC11 * M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families @end ifset +@ifset POWERPC +* PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support +@end ifset +@ifset POWERPC64 +* PowerPC64 ELF64:: @command{ld} and PowerPC64 64-bit ELF Support +@end ifset @ifset TICOFF * TI COFF:: @command{ld} and TI COFF @end ifset @@ -5502,6 +5519,183 @@ The last two sections are used by gcc. @end ifclear @end ifset +@ifset POWERPC +@ifclear GENERIC +@raisesections +@end ifclear + +@node PowerPC ELF32 +@section @command{ld} and PowerPC 32-bit ELF Support +@cindex PowerPC long branches +@kindex --relax on PowerPC +Branches on PowerPC processors are limited to a signed 26-bit +displacement, which may result in @command{ld} giving +@samp{relocation truncated to fit} errors with very large programs. +@samp{--relax} enables the generation of trampolines that can access +the entire 32-bit address space. These trampolines are inserted at +section boundaries, so may not themselves be reachable if an input +section exceeds 33M in size. + +@cindex PowerPC ELF32 options +@table @option +@cindex PowerPC PLT +@kindex --bss-plt +@item --bss-plt +Current PowerPC GCC accepts a @samp{-msecure-plt} option that +generates code capable of using a newer PLT and GOT layout that has +the security advantage of no executable section ever needing to be +writable and no writable section ever being executable. PowerPC +@command{ld} will generate this layout, including stubs to access the +PLT, if all input files (including startup and static libraries) were +compiled with @samp{-msecure-plt}. @samp{--bss-plt} forces the old +BSS PLT (and GOT layout) which can give slightly better performance. + +@cindex PowerPC GOT +@kindex --sdata-got +@item --sdata-got +The new secure PLT and GOT are placed differently relative to other +sections compared to older BSS PLT and GOT placement. The location of +@code{.plt} must change because the new secure PLT is an initialized +section while the old PLT is uninitialized. The reason for the +@code{.got} change is more subtle: The new placement allows +@code{.got} to be read-only in applications linked with +@samp{-z relro -z now}. However, this placement means that +@code{.sdata} cannot always be used in shared libraries, because the +PowerPC ABI accesses @code{.sdata} in shared libraries from the GOT +pointer. @samp{--sdata-got} forces the old GOT placement. PowerPC +GCC doesn't use @code{.sdata} in shared libraries, so this option is +really only useful for other compilers that may do so. + +@cindex PowerPC stub symbols +@kindex --emit-stub-syms +@item --emit-stub-syms +This option causes @command{ld} to label linker stubs with a local +symbol that encodes the stub type and destination. + +@cindex PowerPC TLS optimization +@kindex --no-tls-optimize +@item --no-tls-optimize +PowerPC @command{ld} normally performs some optimization of code +sequences used to access Thread-Local Storage. Use this option to +disable the optimization. +@end table + +@ifclear GENERIC +@lowersections +@end ifclear +@end ifset + +@ifset POWERPC64 +@ifclear GENERIC +@raisesections +@end ifclear + +@node PowerPC64 ELF64 +@section @command{ld} and PowerPC64 64-bit ELF Support + +@cindex PowerPC64 ELF64 options +@table @option +@cindex PowerPC64 stub grouping +@kindex --stub-group-size +@item --stub-group-size +Long branch stubs, PLT call stubs and TOC adjusting stubs are placed +by @command{ld} in stub sections located between groups of input sections. +@samp{--stub-group-size} specifies the maximum size of a group of input +sections handled by one stub section. Since branch offsets are signed, +a stub section may serve two groups of input sections, one group before +the stub section, and one group after it. However, when using +conditional branches that require stubs, it may be better (for branch +prediction) that stub sections only serve one group of input sections. +A negative value for @samp{N} chooses this scheme, ensuring that +branches to stubs always use a negative offset. Two special values of +@samp{N} are recognized, @samp{1} and @samp{-1}. These both instruct +@command{ld} to automatically size input section groups for the branch types +detected, with the same behaviour regarding stub placement as other +positive or negative values of @samp{N} respectively. + +Note that @samp{--stub-group-size} does not split input sections. A +single input section larger than the group size specified will of course +create a larger group (of one section). If input sections are too +large, it may not be possible for a branch to reach its stub. + +@cindex PowerPC64 stub symbols +@kindex --emit-stub-syms +@item --emit-stub-syms +This option causes @command{ld} to label linker stubs with a local +symbol that encodes the stub type and destination. + +@cindex PowerPC64 dot symbols +@kindex --dotsyms +@kindex --no-dotsyms +@item --dotsyms, --no-dotsyms +These two options control how @command{ld} interprets version patterns +in a version script. Older PowerPC64 compilers emitted both a +function descriptor symbol with the same name as the function, and a +code entry symbol with the name prefixed by a dot (@samp{.}). To +properly version a function @samp{foo}, the version script thus needs +to control both @samp{foo} and @samp{.foo}. The option +@samp{--dotsyms}, on by default, automatically adds the required +dot-prefixed patterns. Use @samp{--no-dotsyms} to disable this +feature. + +@cindex PowerPC64 TLS optimization +@kindex --no-tls-optimize +@item --no-tls-optimize +PowerPC64 @command{ld} normally performs some optimization of code +sequences used to access Thread-Local Storage. Use this option to +disable the optimization. + +@cindex PowerPC64 OPD optimization +@kindex --no-opd-optimize +@item --no-opd-optimize +PowerPC64 @command{ld} normally removes @code{.opd} section entries +corresponding to deleted link-once functions, or functions removed by +the action of @samp{--gc-sections} or linker scrip @code{/DISCARD/}. +Use this option to disable @code{.opd} optimization. + +@cindex PowerPC64 OPD spacing +@kindex --non-overlapping-opd +@item --non-overlapping-opd +Some PowerPC64 compilers have an option to generate compressed +@code{.opd} entries spaced 16 bytes apart, overlapping the third word, +the static chain pointer (unused in C) with the first word of the next +entry. This option expands such entries to the full 24 bytes. + +@cindex PowerPC64 TOC optimization +@kindex --no-toc-optimize +@item --no-toc-optimize +PowerPC64 @command{ld} normally removes unused @code{.toc} section +entries. Such entries are detected by examining relocations that +reference the TOC in code sections. A reloc in a deleted code section +marks a TOC word as unneeded, while a reloc in a kept code section +marks a TOC word as needed. Since the TOC may reference itself, TOC +relocs are also examined. TOC words marked as both needed and +unneeded will of course be kept. TOC words without any referencing +reloc are assumed to be part of a multi-word entry, and are kept or +discarded as per the nearest marked preceding word. This works +reliably for compiler generated code, but may be incorrect if assembly +code is used to insert TOC entries. Use this option to disable the +optimization. + +@cindex PowerPC64 multi-TOC +@kindex --no-multi-toc +@item --no-multi-toc +By default, PowerPC64 GCC generates code for a TOC model where TOC +entries are accessed with a 16-bit offset from r2. This limits the +total TOC size to 64K. PowerPC64 @command{ld} extends this limit by +grouping code sections such that each group uses less than 64K for its +TOC entries, then inserts r2 adjusting stubs between inter-group +calls. @command{ld} does not split apart input sections, so cannot +help if a single input file has a @code{.toc} section that exceeds +64K, most likely from linking multiple files with @command{ld -r}. +Use this option to turn off this feature. +@end table + +@ifclear GENERIC +@lowersections +@end ifclear +@end ifset + @ifset TICOFF @ifclear GENERIC @raisesections @@ -5618,7 +5812,8 @@ specification @code{BASE = } may be used to specify a non-default base address for the image. If neither @code{LIBRARY } nor @code{NAME } is specified, -the internal name is the same as the filename specified on the command line. +or they specify an empty string, the internal name is the same as the +filename specified on the command line. The complete specification of an export symbol is: diff --git a/ld/ldlang.c b/ld/ldlang.c index a9b325d59f2..8764a70c358 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -81,6 +81,7 @@ static void print_statement (lang_statement_union_type *, static void print_statement_list (lang_statement_union_type *, lang_output_section_statement_type *); static void print_statements (void); +static void print_input_section (asection *); static bfd_boolean lang_one_common (struct bfd_link_hash_entry *, void *); static void lang_record_phdrs (void); static void lang_do_version_exports_section (void); @@ -869,26 +870,26 @@ lang_add_input_file (const char *name, return new_afile (name, file_type, target, TRUE); } -struct output_statement_hash_entry +struct out_section_hash_entry { struct bfd_hash_entry root; - lang_output_section_statement_type os; + lang_statement_union_type s; }; /* The hash table. */ -static struct bfd_hash_table output_statement_table; +static struct bfd_hash_table output_section_statement_table; /* Support routines for the hash table used by lang_output_section_find, initialize the table, fill in an entry and remove the table. */ static struct bfd_hash_entry * -output_statement_newfunc (struct bfd_hash_entry *entry, - struct bfd_hash_table *table, - const char *string) +output_section_statement_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) { lang_output_section_statement_type **nextp; - struct output_statement_hash_entry *ret; + struct out_section_hash_entry *ret; if (entry == NULL) { @@ -901,49 +902,48 @@ output_statement_newfunc (struct bfd_hash_entry *entry, if (entry == NULL) return entry; - ret = (struct output_statement_hash_entry *) entry; - memset (&ret->os, 0, sizeof (ret->os)); - ret->os.header.type = lang_output_section_statement_enum; - ret->os.subsection_alignment = -1; - ret->os.section_alignment = -1; - ret->os.block_value = 1; - lang_list_init (&ret->os.children); - lang_statement_append (stat_ptr, - (lang_statement_union_type *) &ret->os, - &ret->os.header.next); + ret = (struct out_section_hash_entry *) entry; + memset (&ret->s, 0, sizeof (ret->s)); + ret->s.header.type = lang_output_section_statement_enum; + ret->s.output_section_statement.subsection_alignment = -1; + ret->s.output_section_statement.section_alignment = -1; + ret->s.output_section_statement.block_value = 1; + lang_list_init (&ret->s.output_section_statement.children); + lang_statement_append (stat_ptr, &ret->s, &ret->s.header.next); /* For every output section statement added to the list, except the first one, lang_output_section_statement.tail points to the "next" field of the last element of the list. */ if (lang_output_section_statement.head != NULL) - ret->os.prev = (lang_output_section_statement_type *) - ((char *) lang_output_section_statement.tail - - offsetof (lang_output_section_statement_type, next)); + ret->s.output_section_statement.prev + = ((lang_output_section_statement_type *) + ((char *) lang_output_section_statement.tail + - offsetof (lang_output_section_statement_type, next))); /* GCC's strict aliasing rules prevent us from just casting the address, so we store the pointer in a variable and cast that instead. */ - nextp = &ret->os.next; + nextp = &ret->s.output_section_statement.next; lang_statement_append (&lang_output_section_statement, - (lang_statement_union_type *) &ret->os, + &ret->s, (lang_statement_union_type **) nextp); return &ret->root; } static void -output_statement_table_init (void) +output_section_statement_table_init (void) { - if (!bfd_hash_table_init_n (&output_statement_table, - output_statement_newfunc, - sizeof (struct output_statement_hash_entry), + if (!bfd_hash_table_init_n (&output_section_statement_table, + output_section_statement_newfunc, + sizeof (struct out_section_hash_entry), 61)) einfo (_("%P%F: can not create hash table: %E\n")); } static void -output_statement_table_free (void) +output_section_statement_table_free (void) { - bfd_hash_table_free (&output_statement_table); + bfd_hash_table_free (&output_section_statement_table); } /* Build enough state so that the parser can build its tree. */ @@ -955,7 +955,7 @@ lang_init (void) stat_ptr = &statement_list; - output_statement_table_init (); + output_section_statement_table_init (); lang_list_init (stat_ptr); @@ -985,7 +985,7 @@ lang_init (void) void lang_finish (void) { - output_statement_table_free (); + output_section_statement_table_free (); } /*---------------------------------------------------------------------- @@ -1072,24 +1072,25 @@ lang_memory_default (asection *section) lang_output_section_statement_type * lang_output_section_find (const char *const name) { - struct output_statement_hash_entry *entry; + struct out_section_hash_entry *entry; unsigned long hash; - entry = ((struct output_statement_hash_entry *) - bfd_hash_lookup (&output_statement_table, name, FALSE, FALSE)); + entry = ((struct out_section_hash_entry *) + bfd_hash_lookup (&output_section_statement_table, name, + FALSE, FALSE)); if (entry == NULL) return NULL; hash = entry->root.hash; do { - if (entry->os.constraint != -1) - return &entry->os; - entry = (struct output_statement_hash_entry *) entry->root.next; + if (entry->s.output_section_statement.constraint != -1) + return &entry->s.output_section_statement; + entry = (struct out_section_hash_entry *) entry->root.next; } while (entry != NULL && entry->root.hash == hash - && strcmp (name, entry->os.name) == 0); + && strcmp (name, entry->s.output_section_statement.name) == 0); return NULL; } @@ -1097,39 +1098,43 @@ lang_output_section_find (const char *const name) static lang_output_section_statement_type * lang_output_section_statement_lookup_1 (const char *const name, int constraint) { - struct output_statement_hash_entry *entry; - struct output_statement_hash_entry *last_ent; + struct out_section_hash_entry *entry; + struct out_section_hash_entry *last_ent; unsigned long hash; - entry = ((struct output_statement_hash_entry *) - bfd_hash_lookup (&output_statement_table, name, TRUE, FALSE)); + entry = ((struct out_section_hash_entry *) + bfd_hash_lookup (&output_section_statement_table, name, + TRUE, FALSE)); if (entry == NULL) { einfo (_("%P%F: failed creating section `%s': %E\n"), name); return NULL; } - if (entry->os.name != NULL) + if (entry->s.output_section_statement.name != NULL) { /* We have a section of this name, but it might not have the correct constraint. */ hash = entry->root.hash; do { - if (entry->os.constraint != -1 + if (entry->s.output_section_statement.constraint != -1 && (constraint == 0 - || (constraint == entry->os.constraint + || (constraint == entry->s.output_section_statement.constraint && constraint != SPECIAL))) - return &entry->os; + return &entry->s.output_section_statement; last_ent = entry; - entry = (struct output_statement_hash_entry *) entry->root.next; + entry = (struct out_section_hash_entry *) entry->root.next; } while (entry != NULL && entry->root.hash == hash - && strcmp (name, entry->os.name) == 0); + && strcmp (name, entry->s.output_section_statement.name) == 0); - entry = ((struct output_statement_hash_entry *) - output_statement_newfunc (NULL, &output_statement_table, name)); + entry + = ((struct out_section_hash_entry *) + output_section_statement_newfunc (NULL, + &output_section_statement_table, + name)); if (entry == NULL) { einfo (_("%P%F: failed creating section `%s': %E\n"), name); @@ -1139,9 +1144,9 @@ lang_output_section_statement_lookup_1 (const char *const name, int constraint) last_ent->root.next = &entry->root; } - entry->os.name = name; - entry->os.constraint = constraint; - return &entry->os; + entry->s.output_section_statement.name = name; + entry->s.output_section_statement.constraint = constraint; + return &entry->s.output_section_statement; } lang_output_section_statement_type * @@ -1607,8 +1612,31 @@ void lang_map (void) { lang_memory_region_type *m; + bfd_boolean dis_header_printed = FALSE; bfd *p; + LANG_FOR_EACH_INPUT_STATEMENT (file) + { + asection *s; + + if ((file->the_bfd->flags & (BFD_LINKER_CREATED | DYNAMIC)) != 0 + || file->just_syms_flag) + continue; + + for (s = file->the_bfd->sections; s != NULL; s = s->next) + if (s->output_section == NULL + || s->output_section->owner != output_bfd) + { + if (! dis_header_printed) + { + fprintf (config.map_file, _("\nDiscarded input sections\n\n")); + dis_header_printed = TRUE; + } + + print_input_section (s); + } + } + minfo (_("\nMemory Configuration\n\n")); fprintf (config.map_file, "%-16s %-18s %-18s %s\n", _("Name"), _("Origin"), _("Length"), _("Attributes")); @@ -2310,6 +2338,7 @@ load_symbols (lang_input_statement_type *entry, lang_statement_list_type *hold; bfd_boolean bad_load = TRUE; bfd_boolean save_ldlang_sysrooted_script; + bfd_boolean save_as_needed, save_add_needed; err = bfd_get_error (); @@ -2343,6 +2372,10 @@ load_symbols (lang_input_statement_type *entry, stat_ptr = place; save_ldlang_sysrooted_script = ldlang_sysrooted_script; ldlang_sysrooted_script = entry->sysrooted; + save_as_needed = as_needed; + as_needed = entry->as_needed; + save_add_needed = add_needed; + add_needed = entry->add_needed; ldfile_assumed_script = TRUE; parser_input = input_script; @@ -2353,6 +2386,8 @@ load_symbols (lang_input_statement_type *entry, ldfile_assumed_script = FALSE; ldlang_sysrooted_script = save_ldlang_sysrooted_script; + as_needed = save_as_needed; + add_needed = save_add_needed; stat_ptr = hold; return ! bad_load; @@ -3486,13 +3521,12 @@ print_all_symbols (sec) /* Print information about an input section to the map file. */ static void -print_input_section (lang_input_section_type *in) +print_input_section (asection *i) { - asection *i = in->section; bfd_size_type size = i->size; init_opb (); - if (size != 0) + { int len; bfd_vma addr; @@ -3512,7 +3546,7 @@ print_input_section (lang_input_section_type *in) ++len; } - if (i->output_section != NULL && (i->flags & SEC_EXCLUDE) == 0) + if (i->output_section != NULL && i->output_section->owner == output_bfd) addr = i->output_section->vma + i->output_offset; else { @@ -3539,7 +3573,7 @@ print_input_section (lang_input_section_type *in) minfo (_("%W (size before relaxing)\n"), i->rawsize); } - if (i->output_section != NULL && (i->flags & SEC_EXCLUDE) == 0) + if (i->output_section != NULL && i->output_section->owner == output_bfd) { if (command_line.reduce_memory_overheads) bfd_link_hash_traverse (link_info.hash, print_one_symbol, i); @@ -3808,7 +3842,7 @@ print_statement (lang_statement_union_type *s, print_reloc_statement (&s->reloc_statement); break; case lang_input_section_enum: - print_input_section (&s->input_section); + print_input_section (s->input_section.section); break; case lang_padding_statement_enum: print_padding_statement (&s->padding_statement); @@ -5399,6 +5433,37 @@ lang_gc_sections (void) bfd_gc_sections (output_bfd, &link_info); } +/* Relax all sections until bfd_relax_section gives up. */ + +static void +relax_sections (void) +{ + /* Keep relaxing until bfd_relax_section gives up. */ + bfd_boolean relax_again; + + do + { + relax_again = FALSE; + + /* Note: pe-dll.c does something like this also. If you find + you need to change this code, you probably need to change + pe-dll.c also. DJ */ + + /* Do all the assignments with our current guesses as to + section sizes. */ + lang_do_assignments (); + + /* We must do this after lang_do_assignments, because it uses + size. */ + lang_reset_memory_regions (); + + /* Perform another relax pass - this time we know where the + globals are, so can make a better guess. */ + lang_size_sections (&relax_again, FALSE); + } + while (relax_again); +} + void lang_process (void) { @@ -5495,38 +5560,17 @@ lang_process (void) /* Now run around and relax if we can. */ if (command_line.relax) { - /* Keep relaxing until bfd_relax_section gives up. */ - bfd_boolean relax_again; + /* We may need more than one relaxation pass. */ + int i = link_info.relax_pass; - do - { - relax_again = FALSE; - - /* Note: pe-dll.c does something like this also. If you find - you need to change this code, you probably need to change - pe-dll.c also. DJ */ - - /* Do all the assignments with our current guesses as to - section sizes. */ - lang_do_assignments (); - - /* We must do this after lang_do_assignments, because it uses - size. */ - lang_reset_memory_regions (); + /* The backend can use it to determine the current pass. */ + link_info.relax_pass = 0; - /* Perform another relax pass - this time we know where the - globals are, so can make a better guess. */ - lang_size_sections (&relax_again, FALSE); - - /* If the normal relax is done and the relax finalize pass - is not performed yet, we perform another relax pass. */ - if (!relax_again && link_info.need_relax_finalize) - { - link_info.need_relax_finalize = FALSE; - relax_again = TRUE; - } + while (i--) + { + relax_sections (); + link_info.relax_pass++; } - while (relax_again); /* Final extra sizing to report errors. */ lang_do_assignments (); diff --git a/ld/ldlang.h b/ld/ldlang.h index cf5b01ff3d0..8b0d492ed09 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -231,7 +231,6 @@ typedef struct lang_input_statement_struct bfd *the_bfd; - bfd_boolean closed; file_ptr passive_position; /* Symbol table of the file. */ @@ -245,40 +244,42 @@ typedef struct lang_input_statement_struct /* Point to the next file, but skips archive contents. */ union lang_statement_union *next_real_file; - bfd_boolean is_archive; + const char *target; + + unsigned int closed : 1; + unsigned int is_archive : 1; /* 1 means search a set of directories for this file. */ - bfd_boolean search_dirs_flag; + unsigned int search_dirs_flag : 1; /* 1 means this was found in a search directory marked as sysrooted, if search_dirs_flag is false, otherwise, that it should be searched in ld_sysroot before any other location, as long as it starts with a slash. */ - bfd_boolean sysrooted; + unsigned int sysrooted : 1; /* 1 means this is base file of incremental load. Do not load this file's text or data. Also default text_start to after this file's bss. */ - bfd_boolean just_syms_flag; + unsigned int just_syms_flag : 1; /* Whether to search for this entry as a dynamic archive. */ - bfd_boolean dynamic; + unsigned int dynamic : 1; /* Whether DT_NEEDED tags should be added for dynamic libraries in DT_NEEDED tags from this entry. */ - bfd_boolean add_needed; + unsigned int add_needed : 1; /* Whether this entry should cause a DT_NEEDED tag only when satisfying references from regular files, or always. */ - bfd_boolean as_needed; + unsigned int as_needed : 1; /* Whether to include the entire contents of an archive. */ - bfd_boolean whole_archive; + unsigned int whole_archive : 1; - bfd_boolean loaded; + unsigned int loaded : 1; - const char *target; - bfd_boolean real; + unsigned int real : 1; } lang_input_statement_type; typedef struct diff --git a/ld/ldmain.c b/ld/ldmain.c index 3093bdb00c5..db87a40b6aa 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -313,7 +313,7 @@ main (int argc, char **argv) link_info.spare_dynamic_tags = 5; link_info.flags = 0; link_info.flags_1 = 0; - link_info.need_relax_finalize = FALSE; + link_info.relax_pass = 1; link_info.warn_shared_textrel = FALSE; link_info.gc_sections = FALSE; diff --git a/ld/po/Make-in b/ld/po/Make-in index 3decff9ab42..dcd8cbac76e 100644 --- a/ld/po/Make-in +++ b/ld/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright 2003 Free Software Foundation, Inc. +# Copyright 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -186,7 +186,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/ld/po/POTFILES.in b/ld/po/POTFILES.in index 55ae6ff2b99..5bb2e119c5b 100644 --- a/ld/po/POTFILES.in +++ b/ld/po/POTFILES.in @@ -1,4 +1,5 @@ deffile.h +elf-hints-local.h emultempl/armcoff.em emultempl/pe.em ldcref.c diff --git a/ld/po/es.po b/ld/po/es.po index 2aad5479f19..64c51a777ea 100644 --- a/ld/po/es.po +++ b/ld/po/es.po @@ -1,13 +1,13 @@ -# Mensajes en español para ld 2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para ld 2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: ld 2.15.96\n" +"Project-Id-Version: ld 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:05+1030\n" -"PO-Revision-Date: 2005-03-14 17:12-0600\n" +"POT-Creation-Date: 2006-03-25 18:36+0100\n" +"PO-Revision-Date: 2006-05-26 16:31-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -29,15 +29,15 @@ msgstr " --thumb-entry= Establece el punto de entrada para el s msgid "Errors encountered processing file %s" msgstr "Errores encontrados al procesar el fichero %s" -#: emultempl/armcoff.em:188 emultempl/pe.em:1455 +#: emultempl/armcoff.em:190 emultempl/pe.em:1460 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" msgstr "%P: aviso: '--thumb-entry %s' se impone a '-e %s'\n" -#: emultempl/armcoff.em:193 emultempl/pe.em:1460 +#: emultempl/armcoff.em:195 emultempl/pe.em:1465 msgid "%P: warning: connot find thumb start symbol %s\n" msgstr "%P: aviso: no se puede encontrar el símbolo de inicio thumb %s\n" -#: emultempl/pe.em:301 +#: emultempl/pe.em:304 #, c-format msgid " --base_file Generate a base file for relocatable DLLs\n" msgstr " --base_file Genera un fichero base para DLLs reubicables\n" @@ -45,132 +45,132 @@ msgstr " --base_file Genera un fichero base para DLLs re # DLL son las siglas en inglés de `Biblioteca de Enlace Dinámico'. # El problema es que las siglas en español (BED) no están muy extendidas. # Se dejó `DLL' sin traducir en todas las ocasiones. cfuga -#: emultempl/pe.em:302 +#: emultempl/pe.em:305 #, c-format msgid " --dll Set image base to the default for DLLs\n" msgstr " --dll Establece la imagen base por defecto para las DLLs\n" -#: emultempl/pe.em:303 +#: emultempl/pe.em:306 #, c-format msgid " --file-alignment Set file alignment\n" msgstr " --file-alignment Establece el fichero de alineación\n" -#: emultempl/pe.em:304 +#: emultempl/pe.em:307 #, c-format msgid " --heap Set initial size of the heap\n" msgstr " --heap Establece el tamaño inicial del montón\n" -#: emultempl/pe.em:305 +#: emultempl/pe.em:308 #, c-format msgid " --image-base
Set start address of the executable\n" msgstr " --image-base Establece la dirección de inicio del ejecutable\n" -#: emultempl/pe.em:306 +#: emultempl/pe.em:309 #, c-format msgid " --major-image-version Set version number of the executable\n" msgstr " --major-image-version Establece el número de versión del ejecutable\n" -#: emultempl/pe.em:307 +#: emultempl/pe.em:310 #, c-format msgid " --major-os-version Set minimum required OS version\n" msgstr " --major-os-version Establece la versión mínima requerida del SO\n" -#: emultempl/pe.em:308 +#: emultempl/pe.em:311 #, c-format msgid " --major-subsystem-version Set minimum required OS subsystem version\n" msgstr " --major-subsystem-version Establece la versión mínima requerida del subsistema del SO\n" -#: emultempl/pe.em:309 +#: emultempl/pe.em:312 #, c-format msgid " --minor-image-version Set revision number of the executable\n" msgstr " --minor-image-version Establece el número de revisión del ejecutable\n" -#: emultempl/pe.em:310 +#: emultempl/pe.em:313 #, c-format msgid " --minor-os-version Set minimum required OS revision\n" msgstr " --minor-os-version Establece la revisión mínima requerida del SO\n" -#: emultempl/pe.em:311 +#: emultempl/pe.em:314 #, c-format msgid " --minor-subsystem-version Set minimum required OS subsystem revision\n" msgstr " --minor-subsystem-version Establece la revisión mínima requerida del subsistema del SO\n" -#: emultempl/pe.em:312 +#: emultempl/pe.em:315 #, c-format msgid " --section-alignment Set section alignment\n" msgstr " --section-alignment Establece la alineación de la sección\n" -#: emultempl/pe.em:313 +#: emultempl/pe.em:316 #, c-format msgid " --stack Set size of the initial stack\n" msgstr " --stack Establece el tamaño de la pila inicial\n" -#: emultempl/pe.em:314 +#: emultempl/pe.em:317 #, c-format msgid " --subsystem [:] Set required OS subsystem [& version]\n" msgstr " --subsystem [:] Establece el subsistema [y versión] requeridos del SO\n" -#: emultempl/pe.em:315 +#: emultempl/pe.em:318 #, c-format msgid " --support-old-code Support interworking with old code\n" msgstr " --support-old-code Soporte para interoperar con código antiguo\n" -#: emultempl/pe.em:316 +#: emultempl/pe.em:319 #, c-format msgid " --thumb-entry= Set the entry point to be Thumb \n" msgstr " --thumb-entry= Establece el punto de entrada para el símbolo Thumb \n" -#: emultempl/pe.em:318 +#: emultempl/pe.em:321 #, c-format msgid " --add-stdcall-alias Export symbols with and without @nn\n" msgstr " --add-stdcall-alias Exportar símbolos con y sin @nn\n" -#: emultempl/pe.em:319 +#: emultempl/pe.em:322 #, c-format msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n" msgstr " --disable-stdcall-fixup No enlazar _sym con _sym@nn\n" -#: emultempl/pe.em:320 +#: emultempl/pe.em:323 #, c-format msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n" msgstr " --enable-stdcall-fixup Enlazar _sym con _sym@nn sin avisos\n" -#: emultempl/pe.em:321 +#: emultempl/pe.em:324 #, c-format msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" msgstr " --exclude-symbols sim,sim,... Excluye los símbolos de la exportación automática\n" -#: emultempl/pe.em:322 +#: emultempl/pe.em:325 #, c-format msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" msgstr " --exclude-libs bib,bib,... Excluye las bibliotecas de la exportación automática\n" -#: emultempl/pe.em:323 +#: emultempl/pe.em:326 #, c-format msgid " --export-all-symbols Automatically export all globals to DLL\n" msgstr " --export-all-symbols Exporta automáticamente todos los globales a la DLL\n" -#: emultempl/pe.em:324 +#: emultempl/pe.em:327 #, c-format msgid " --kill-at Remove @nn from exported symbols\n" msgstr " --kill-at Elimina @nn de los símbolos exportados\n" -#: emultempl/pe.em:325 +#: emultempl/pe.em:328 #, c-format msgid " --out-implib Generate import library\n" msgstr " --out-implib Generar una biblioteca de importación\n" -#: emultempl/pe.em:326 +#: emultempl/pe.em:329 #, c-format msgid " --output-def Generate a .DEF file for the built DLL\n" msgstr " --output-def Generar un fichero .DEF para la DLL construida\n" -#: emultempl/pe.em:327 +#: emultempl/pe.em:330 #, c-format msgid " --warn-duplicate-exports Warn about duplicate exports.\n" msgstr " --warn-duplicate-exports Avisar sobre exportaciones duplicadas.\n" -#: emultempl/pe.em:328 +#: emultempl/pe.em:331 #, c-format msgid "" " --compat-implib Create backward compatible import libs;\n" @@ -179,7 +179,7 @@ msgstr "" " --compat-implib Crear bibliotecas de importación compatibles hacia atrás;\n" " cerar además __imp_.\n" -#: emultempl/pe.em:330 +#: emultempl/pe.em:333 #, c-format msgid "" " --enable-auto-image-base Automatically choose image base for DLLs\n" @@ -188,12 +188,12 @@ msgstr "" " --enable-auto-image-base Escoger automáticamente la imagen base para las DLLs\n" " a menos que el usuario especifique una\n" -#: emultempl/pe.em:332 +#: emultempl/pe.em:335 #, c-format msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" msgstr " --disable-auto-image-base No escoger automáticamente una imagen base. (por defecto)\n" -#: emultempl/pe.em:333 +#: emultempl/pe.em:336 #, c-format msgid "" " --dll-search-prefix= When linking dynamically to a dll without\n" @@ -204,7 +204,7 @@ msgstr "" " biblioteca de importación, usar .dll \n" " en lugar de lib.dll \n" -#: emultempl/pe.em:336 +#: emultempl/pe.em:339 #, c-format msgid "" " --enable-auto-import Do sophistcated linking of _sym to\n" @@ -213,12 +213,12 @@ msgstr "" " --enable-auto-import Hacer enlazado sofisticado de _sym a\n" " __imp_sym para las referencias DATA\n" -#: emultempl/pe.em:338 +#: emultempl/pe.em:341 #, c-format msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" msgstr " --disable-auto-import No importar automáticamente elementos DATA de las DLLs\n" -#: emultempl/pe.em:339 +#: emultempl/pe.em:342 #, c-format msgid "" " --enable-runtime-pseudo-reloc Work around auto-import limitations by\n" @@ -229,7 +229,7 @@ msgstr "" " agregando pseudo-reubicaciones resueltas\n" " al momento de ejecución.\n" -#: emultempl/pe.em:342 +#: emultempl/pe.em:345 #, c-format msgid "" " --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n" @@ -238,7 +238,7 @@ msgstr "" " --disable-runtime-pseudo-reloc No agregar pseudo-reubicaciones al momento\n" " de ejecución para DATOS autoimportados.\n" -#: emultempl/pe.em:344 +#: emultempl/pe.em:347 #, c-format msgid "" " --enable-extra-pe-debug Enable verbose debug output when building\n" @@ -247,7 +247,7 @@ msgstr "" " --enable-extra-pe-debug Activa la salida de depuración detallada al construir\n" " o enlazar a DLLs (en part. con auto-importación)\n" -#: emultempl/pe.em:347 +#: emultempl/pe.em:350 #, c-format msgid "" " --large-address-aware Executable supports virtual addresses\n" @@ -256,82 +256,82 @@ msgstr "" " --large-address-aware El ejecutable tiene soporte para direcciones\n" " virtuales mayores a 2 gigabytes\n" -#: emultempl/pe.em:414 +#: emultempl/pe.em:417 msgid "%P: warning: bad version number in -subsystem option\n" msgstr "%P: aviso: número de versión erróneo en la opción -subsystem\n" -#: emultempl/pe.em:445 +#: emultempl/pe.em:448 msgid "%P%F: invalid subsystem type %s\n" msgstr "%P%F: tipo de subsistema %s inválido\n" -#: emultempl/pe.em:484 +#: emultempl/pe.em:487 msgid "%P%F: invalid hex number for PE parameter '%s'\n" msgstr "%P%F: número hexadecimal inválido para el parámetro PE '%s'\n" -#: emultempl/pe.em:501 +#: emultempl/pe.em:504 msgid "%P%F: strange hex info for PE parameter '%s'\n" msgstr "%P%F: información hexadecimal extraña para el parámetro PE '%s'\n" -#: emultempl/pe.em:518 +#: emultempl/pe.em:521 #, c-format msgid "%s: Can't open base file %s\n" msgstr "%s: No se puede abrir el fichero base %s\n" -#: emultempl/pe.em:734 +#: emultempl/pe.em:737 msgid "%P: warning, file alignment > section alignment.\n" msgstr "%P: aviso, alineación del fichero > alineación de la sección.\n" -#: emultempl/pe.em:821 emultempl/pe.em:848 +#: emultempl/pe.em:824 emultempl/pe.em:851 #, c-format msgid "Warning: resolving %s by linking to %s\n" msgstr "Aviso: resolviendo %s al enlazar con %s\n" -#: emultempl/pe.em:826 emultempl/pe.em:853 +#: emultempl/pe.em:829 emultempl/pe.em:856 msgid "Use --enable-stdcall-fixup to disable these warnings\n" msgstr "Use --enable-stdcall-fixup para desactivar estos avisos\n" -#: emultempl/pe.em:827 emultempl/pe.em:854 +#: emultempl/pe.em:830 emultempl/pe.em:857 msgid "Use --disable-stdcall-fixup to disable these fixups\n" msgstr "Use --disable-stdcall-fixup para desactivar estas composturas\n" -#: emultempl/pe.em:873 +#: emultempl/pe.em:876 #, c-format msgid "%C: Cannot get section contents - auto-import exception\n" msgstr "%C: No se puede obtener el contenido de la sección - excepción de auto-importación\n" -#: emultempl/pe.em:910 +#: emultempl/pe.em:913 #, c-format msgid "Info: resolving %s by linking to %s (auto-import)\n" msgstr "Información: resolviendo %s al enlazar con %s (auto-importación)\n" -#: emultempl/pe.em:983 +#: emultempl/pe.em:986 msgid "%F%P: PE operations on non PE file.\n" msgstr "%F%P: operaciones PE en un fichero que no es PE.\n" -#: emultempl/pe.em:1258 +#: emultempl/pe.em:1261 #, c-format msgid "Errors encountered processing file %s\n" msgstr "Se encontraron errores al procesar el fichero %s\n" -#: emultempl/pe.em:1281 +#: emultempl/pe.em:1284 #, c-format msgid "Errors encountered processing file %s for interworking" msgstr "Se encontraron errores el procesar el fichero %s para interoperabilidad" -#: emultempl/pe.em:1340 ldexp.c:570 ldlang.c:2408 ldlang.c:5135 ldlang.c:5166 -#: ldmain.c:1161 +#: emultempl/pe.em:1345 ldexp.c:522 ldlang.c:2946 ldlang.c:5800 ldlang.c:5831 +#: ldmain.c:1167 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "%P%F: falló bfd_link_hash_lookup: %E\n" -#: ldcref.c:153 +#: ldcref.c:154 msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n" msgstr "%X%P: falló bfd_hash_table_init de la tabla cref: %E\n" -#: ldcref.c:159 +#: ldcref.c:160 msgid "%X%P: cref_hash_lookup failed: %E\n" msgstr "%X%P: falló cref_hash_lookup: %E\n" -#: ldcref.c:225 +#: ldcref.c:226 #, c-format msgid "" "\n" @@ -342,33 +342,33 @@ msgstr "" "Tabla de Referencias Cruzadas\n" "\n" -#: ldcref.c:226 +#: ldcref.c:227 msgid "Symbol" msgstr "Símbolo" -#: ldcref.c:234 +#: ldcref.c:235 #, c-format msgid "File\n" msgstr "Fichero\n" -#: ldcref.c:238 +#: ldcref.c:239 #, c-format msgid "No symbols\n" msgstr "No hay símbolos\n" -#: ldcref.c:359 ldcref.c:478 +#: ldcref.c:360 ldcref.c:482 msgid "%B%F: could not read symbols; %E\n" msgstr "%B%F: no se pueden leer símbolos; %E\n" -#: ldcref.c:363 ldcref.c:482 ldmain.c:1226 ldmain.c:1230 +#: ldcref.c:364 ldcref.c:486 ldmain.c:1232 ldmain.c:1236 msgid "%B%F: could not read symbols: %E\n" msgstr "%B%F: no se pueden leer símbolos: %E\n" -#: ldcref.c:414 +#: ldcref.c:415 msgid "%P: symbol `%T' missing from main hash table\n" msgstr "%P: falta el símbolo `%T' de la tabla principal de dispersión\n" -#: ldcref.c:547 ldcref.c:554 ldmain.c:1273 ldmain.c:1280 +#: ldcref.c:557 ldcref.c:564 ldmain.c:1279 ldmain.c:1286 msgid "%B%F: could not read relocs: %E\n" msgstr "%B%F: no se pueden leer las reubicaciones: %E\n" @@ -376,7 +376,7 @@ msgstr "%B%F: no se pueden leer las reubicaciones: %E\n" #. in OUTSECNAME. This reloc is from a section which is #. mapped into a section from which references to OUTSECNAME #. are prohibited. We must report an error. -#: ldcref.c:573 +#: ldcref.c:591 msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n" msgstr "%X%C: referencia cruzada prohibida de %s a `%T' en %s\n" @@ -406,83 +406,83 @@ msgstr "" "Conjunto Símbolo\n" "\n" -#: ldemul.c:227 +#: ldemul.c:236 #, c-format msgid "%S SYSLIB ignored\n" msgstr "%S se ignora SYSLIB\n" -#: ldemul.c:233 +#: ldemul.c:242 #, c-format msgid "%S HLL ignored\n" msgstr "%S se ignora HLL\n" -#: ldemul.c:253 +#: ldemul.c:262 msgid "%P: unrecognised emulation mode: %s\n" msgstr "%P: no se reconoce el modo de emulación: %s\n" -#: ldemul.c:254 +#: ldemul.c:263 msgid "Supported emulations: " msgstr "Emulaciones con soporte: " -#: ldemul.c:296 +#: ldemul.c:305 #, c-format msgid " no emulation specific options.\n" msgstr " no hay opciones específicas de emulación.\n" -#: ldexp.c:379 +#: ldexp.c:338 #, c-format msgid "%F%S %% by zero\n" msgstr "%F%S %% por cero\n" -#: ldexp.c:386 +#: ldexp.c:346 #, c-format msgid "%F%S / by zero\n" msgstr "%F%S / por cero\n" -#: ldexp.c:583 +#: ldexp.c:536 #, c-format msgid "%X%S: unresolvable symbol `%s' referenced in expression\n" msgstr "%X%S: símbolo `%s' sin resolución referenciado en la expresión\n" -#: ldexp.c:604 +#: ldexp.c:547 #, c-format msgid "%F%S: undefined symbol `%s' referenced in expression\n" msgstr "%F%S: símbolo `%s' indefinido referenciado en la expresión\n" -#: ldexp.c:665 ldexp.c:678 +#: ldexp.c:608 ldexp.c:621 #, c-format msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n" msgstr "%F%S: región MEMORY `%s' indefinida referenciada en la expresión\n" -#: ldexp.c:757 +#: ldexp.c:683 #, c-format msgid "%F%S can not PROVIDE assignment to location counter\n" msgstr "%F%S no puede hacer una asignación PROVIDE al contador de ubicación\n" -#: ldexp.c:770 +#: ldexp.c:697 #, c-format msgid "%F%S invalid assignment to location counter\n" msgstr "%F%S asignación inválida al contador de ubicación\n" -#: ldexp.c:774 +#: ldexp.c:700 #, c-format msgid "%F%S assignment to location counter invalid outside of SECTION\n" msgstr "%F%S asignación al contador de ubicación es inválida fuera de SECTION\n" -#: ldexp.c:783 +#: ldexp.c:709 msgid "%F%S cannot move location counter backwards (from %V to %V)\n" msgstr "%F%S no se puede mover el contador de ubicación hacia atrás (de %V a %V)\n" -#: ldexp.c:810 +#: ldexp.c:748 msgid "%P%F:%s: hash creation failed\n" msgstr "%P%F:%s: falló la creación de la dispersión\n" -#: ldexp.c:1077 ldexp.c:1109 +#: ldexp.c:1000 ldexp.c:1025 #, c-format msgid "%F%S nonconstant expression for %s\n" msgstr "%F%S expresión no constante para %s\n" -#: ldexp.c:1163 +#: ldexp.c:1082 #, c-format msgid "%F%S non constant expression for %s\n" msgstr "%F%S expresión no constante para %s\n" @@ -543,19 +543,23 @@ msgstr "%P%F: no se puede abrir el fichero de gui msgid "%P%F: cannot represent machine `%s'\n" msgstr "%P%F: no se puede representar la máquina `%s'\n" -#: ldlang.c:511 -msgid "%P%F: out of memory during initialization" -msgstr "%P%F: memoria agotada durante la inicialización" +#: ldlang.c:940 ldlang.c:982 ldlang.c:2695 +msgid "%P%F: can not create hash table: %E\n" +msgstr "%P%F: no se puede crear la tabla de dispersión: %E\n" -#: ldlang.c:551 +#: ldlang.c:1025 msgid "%P:%S: warning: redeclaration of memory region '%s'\n" msgstr "%P:%S: aviso: redeclaración de la región de memoria '%s'\n" -#: ldlang.c:557 +#: ldlang.c:1031 msgid "%P:%S: warning: memory region %s not declared\n" msgstr "%P:%S: aviso: no se declaró la región %s\n" -#: ldlang.c:1073 +#: ldlang.c:1108 ldlang.c:1135 +msgid "%P%F: failed creating section `%s': %E\n" +msgstr "%P%F: falló la creación de la sección `%s': %E\n" + +#: ldlang.c:1601 msgid "" "\n" "Memory Configuration\n" @@ -565,23 +569,23 @@ msgstr "" "Configuración de la Memoria\n" "\n" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Name" msgstr "Nombre" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Origin" msgstr "Origen" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Length" msgstr "Longitud" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Attributes" msgstr "Atributos" -#: ldlang.c:1115 +#: ldlang.c:1643 #, c-format msgid "" "\n" @@ -592,158 +596,154 @@ msgstr "" "Guión del enlazador y mapa de memoria\n" "\n" -#: ldlang.c:1183 +#: ldlang.c:1709 msgid "%P%F: Illegal use of `%s' section\n" msgstr "%P%F: Uso ilegal de la sección `%s'\n" -#: ldlang.c:1193 +#: ldlang.c:1716 msgid "%P%F: output format %s cannot represent section called %s\n" msgstr "%P%F: el formato de salida %s no puede representar la sección llamada %s\n" -#: ldlang.c:1775 +#: ldlang.c:2313 msgid "%B: file not recognized: %E\n" msgstr "%B: fichero no reconocido: %E\n" -#: ldlang.c:1776 +#: ldlang.c:2314 msgid "%B: matching formats:" msgstr "%B: formatos coincidentes:" -#: ldlang.c:1783 +#: ldlang.c:2321 msgid "%F%B: file not recognized: %E\n" msgstr "%F%B: fichero no reconocido: %E\n" -#: ldlang.c:1847 +#: ldlang.c:2385 msgid "%F%B: member %B in archive is not an object\n" msgstr "%F%B: el miembro %B en el archivo no es un objeto\n" -#: ldlang.c:1858 ldlang.c:1872 +#: ldlang.c:2396 ldlang.c:2410 msgid "%F%B: could not read symbols: %E\n" msgstr "%F%B: no se puede leer símbolos: %E\n" -#: ldlang.c:2127 +#: ldlang.c:2665 msgid "%P: warning: could not find any targets that match endianness requirement\n" msgstr "%P: aviso: no se puede encontrar ningún objetivo que coincida con los requerimientos de endianess\n" -#: ldlang.c:2141 +#: ldlang.c:2679 msgid "%P%F: target %s not found\n" msgstr "%P%F: no se encuentra el objetivo %s\n" -#: ldlang.c:2143 +#: ldlang.c:2681 msgid "%P%F: cannot open output file %s: %E\n" msgstr "%P%F: no se puede abrir el fichero de salida %s: %E\n" -#: ldlang.c:2149 +#: ldlang.c:2687 msgid "%P%F:%s: can not make object file: %E\n" msgstr "%P%F:%s: no se puede hacer el fichero objeto: %E\n" -#: ldlang.c:2153 +#: ldlang.c:2691 msgid "%P%F:%s: can not set architecture: %E\n" msgstr "%P%F:%s: no se puede establecer la arquitectura: %E\n" -#: ldlang.c:2157 -msgid "%P%F: can not create link hash table: %E\n" -msgstr "%P%F: no se puede crear la tabla de dispersión de enlace: %E\n" - -#: ldlang.c:2301 +#: ldlang.c:2839 msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" msgstr "%P%F: falló bfd_hash_lookup al crear el símbolo %s\n" -#: ldlang.c:2319 +#: ldlang.c:2857 msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" msgstr "%P%F: falló bfd_hash_allocate al crear el símbolo %s\n" -#: ldlang.c:2710 +#: ldlang.c:3288 msgid " load address 0x%V" msgstr " cargar la dirección 0x%V" -#: ldlang.c:2874 +#: ldlang.c:3528 msgid "%W (size before relaxing)\n" msgstr "%W (tamaño antes de la relajación)\n" -#: ldlang.c:2961 +#: ldlang.c:3615 #, c-format msgid "Address of section %s set to " msgstr "La dirección de la sección %s se estableció a " -#: ldlang.c:3114 +#: ldlang.c:3768 #, c-format msgid "Fail with %d\n" msgstr "Falló con %d\n" -#: ldlang.c:3351 +#: ldlang.c:4040 msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n" msgstr "%X%P: la sección %s [%V -> %V] sobreescribe a la sección %s [%V -> %V]\n" -#: ldlang.c:3379 +#: ldlang.c:4065 msgid "%X%P: address 0x%v of %B section %s is not within region %s\n" msgstr "%X%P: la dirección 0x%v de %B sección %s no está dentro de la región %s\n" -#: ldlang.c:3388 +#: ldlang.c:4074 msgid "%X%P: region %s is full (%B section %s)\n" msgstr "%X%P: la región %s está llena (%B sección %s)\n" -#: ldlang.c:3439 +#: ldlang.c:4114 +#, c-format +msgid "%F%S: non constant or forward reference address expression for section %s\n" +msgstr "%F%S: expresión de dirección de referencia hacia adelante o no constante para la sección %s\n" + +#: ldlang.c:4139 msgid "%P%X: Internal error on COFF shared library section %s\n" msgstr "%P%X: Error interno en la sección %s de biblioteca compartida COFF\n" -#: ldlang.c:3493 +#: ldlang.c:4197 msgid "%P%F: error: no memory region specified for loadable section `%s'\n" msgstr "%P%F: aviso: no se especificó una región de memoria para la sección cargable `%s'\n" -#: ldlang.c:3498 +#: ldlang.c:4202 msgid "%P: warning: no memory region specified for loadable section `%s'\n" msgstr "%P: aviso: no se especificó una región de memoria para la sección cargable `%s'\n" -#: ldlang.c:3515 -msgid "%P: warning: changing start of section %s by %u bytes\n" -msgstr "%P: aviso: cambiando el inicio de la sección %s por %u bytes\n" - -#: ldlang.c:3532 -#, c-format -msgid "%F%S: non constant or forward reference address expression for section %s\n" -msgstr "%F%S: expresión de dirección de referencia hacia adelante o no constante para la sección %s\n" +#: ldlang.c:4224 +msgid "%P: warning: changing start of section %s by %lu bytes\n" +msgstr "%P: aviso: cambiando el inicio de la sección %s por %lu bytes\n" -#: ldlang.c:3703 +#: ldlang.c:4388 msgid "%P%F: can't relax section: %E\n" msgstr "%P%F: no se puede relajar la sección: %E\n" -#: ldlang.c:3960 +#: ldlang.c:4636 msgid "%F%P: invalid data statement\n" msgstr "%F%P: declaración inválida de datos\n" -#: ldlang.c:3999 +#: ldlang.c:4669 msgid "%F%P: invalid reloc statement\n" msgstr "%F%P: declaración inválida de reubicación\n" -#: ldlang.c:4141 +#: ldlang.c:4802 msgid "%P%F:%s: can't set start address\n" msgstr "%P%F:%s: no se puede establecer la dirección de inicio\n" -#: ldlang.c:4154 ldlang.c:4173 +#: ldlang.c:4815 ldlang.c:4834 msgid "%P%F: can't set start address\n" msgstr "%P%F: no se puede establecer la dirección de inicio\n" -#: ldlang.c:4166 +#: ldlang.c:4827 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" msgstr "%P: aviso: no se puede encontrar el símbolo de entrada %s; usando por defecto %V\n" -#: ldlang.c:4178 +#: ldlang.c:4839 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" msgstr "%P: aviso: no se puede encontrar el símbolo de entrada %s; no se establece la dirección de inicio\n" -#: ldlang.c:4227 +#: ldlang.c:4888 msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n" msgstr "%P%F: No tiene soporte el enlazado reubicable con reubicaciones del formato %s (%B) al formato %s (%B)\n" -#: ldlang.c:4237 +#: ldlang.c:4898 msgid "%P: warning: %s architecture of input file `%B' is incompatible with %s output\n" msgstr "%P: aviso: la arquitectura %s del fichero de entrada `%B' es incompatible con la salida %s\n" -#: ldlang.c:4259 +#: ldlang.c:4920 msgid "%P%X: failed to merge target specific data of file %B\n" msgstr "%P%X: falló la mezcla de datos específicos de objetivo del fichero %B\n" -#: ldlang.c:4343 +#: ldlang.c:5004 msgid "" "\n" "Allocating common symbols\n" @@ -751,7 +751,7 @@ msgstr "" "\n" "Asignando símbolos comunes\n" -#: ldlang.c:4344 +#: ldlang.c:5005 msgid "" "Common symbol size file\n" "\n" @@ -759,158 +759,154 @@ msgstr "" "Símbolo común tamaño fichero\n" "\n" -#: ldlang.c:4470 +#: ldlang.c:5131 msgid "%P%F: invalid syntax in flags\n" msgstr "%P%F: sintaxis inválida en los interruptores\n" -#: ldlang.c:4740 +#: ldlang.c:5406 msgid "%P%F: Failed to create hash table\n" msgstr "%P%F: Falló al crear la tabla de dispersión\n" -#: ldlang.c:5057 -msgid "%P%Fmultiple STARTUP files\n" -msgstr "%P%Fficheros STARTUP múltiples\n" +#: ldlang.c:5722 +msgid "%P%F: multiple STARTUP files\n" +msgstr "%P%F: ficheros STARTUP múltiples\n" -#: ldlang.c:5105 +#: ldlang.c:5770 msgid "%X%P:%S: section has both a load address and a load region\n" msgstr "%X%P:%S: la sección tiene tanto una dirección de carga como una región de carga\n" -#: ldlang.c:5345 +#: ldlang.c:6007 msgid "%F%P: bfd_record_phdr failed: %E\n" msgstr "%F%P: falló bfd_record_phdr: %E\n" -#: ldlang.c:5365 +#: ldlang.c:6027 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" msgstr "%X%P: se asignó la sección `%s' al phdr no existente `%s'\n" -#: ldlang.c:5751 +#: ldlang.c:6418 msgid "%X%P: unknown language `%s' in version information\n" msgstr "%X%P: lenguaje `%s' desconocido en la información de la versión\n" -#: ldlang.c:5893 +#: ldlang.c:6560 msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "%X%P: la marca de versión anónima no se puede combinar con otras marcas de versión\n" -#: ldlang.c:5902 +#: ldlang.c:6569 msgid "%X%P: duplicate version tag `%s'\n" msgstr "%X%P: marca de versión `%s' duplicada\n" -#: ldlang.c:5922 ldlang.c:5931 ldlang.c:5948 ldlang.c:5958 +#: ldlang.c:6589 ldlang.c:6598 ldlang.c:6615 ldlang.c:6625 msgid "%X%P: duplicate expression `%s' in version information\n" msgstr "%X%P: expresión `%s' duplicada en la información de la versión\n" -#: ldlang.c:5998 +#: ldlang.c:6665 msgid "%X%P: unable to find version dependency `%s'\n" msgstr "%X%P: no se puede encontrar la dependencia de versión `%s'\n" -#: ldlang.c:6020 +#: ldlang.c:6687 msgid "%X%P: unable to read .exports section contents\n" msgstr "%X%P: no se pueden leer los contenidos de la sección .exports\n" -#: ldmain.c:229 +#: ldmain.c:232 msgid "%X%P: can't set BFD default target to `%s': %E\n" msgstr "%X%P: no se puede establecer el objetivo BFD por defecto a `%s': %E\n" -#: ldmain.c:341 +#: ldmain.c:345 msgid "%P%F: --relax and -r may not be used together\n" msgstr "%P%F: no se pueden usar juntos -relax y -r\n" -#: ldmain.c:343 +#: ldmain.c:347 msgid "%P%F: -r and -shared may not be used together\n" msgstr "%P%F: no se pueden usar juntos -r y -shared\n" -#: ldmain.c:347 -msgid "%P%F: -static and -shared may not be used together\n" -msgstr "%P%F: no se pueden usar juntos -static y -shared\n" - -#: ldmain.c:352 +#: ldmain.c:353 msgid "%P%F: -F may not be used without -shared\n" msgstr "%P%F: no se puede usar -F sin -shared\n" -#: ldmain.c:354 +#: ldmain.c:355 msgid "%P%F: -f may not be used without -shared\n" msgstr "%P%F: no se puede usar -f sin -shared\n" -#: ldmain.c:396 +#: ldmain.c:397 msgid "using external linker script:" msgstr "usando el guión externo del enlazador:" -#: ldmain.c:398 +#: ldmain.c:399 msgid "using internal linker script:" msgstr "usando el guión interno del enlazador:" -#: ldmain.c:432 +#: ldmain.c:433 msgid "%P%F: no input files\n" msgstr "%P%F: no hay ficheros de entrada\n" -#: ldmain.c:436 +#: ldmain.c:437 msgid "%P: mode %s\n" msgstr "%P: modo %s\n" -#: ldmain.c:452 +#: ldmain.c:453 msgid "%P%F: cannot open map file %s: %E\n" msgstr "%P%F: no se puede encontrar el fichero de mapeo %s: %E\n" -#: ldmain.c:482 +#: ldmain.c:485 msgid "%P: link errors found, deleting executable `%s'\n" msgstr "%P: se encontraron errores de enlace, borrando el ejecutable `%s'\n" -#: ldmain.c:491 +#: ldmain.c:494 msgid "%F%B: final close failed: %E\n" msgstr "%F%B: falló el cerrado final: %E\n" -#: ldmain.c:517 +#: ldmain.c:520 msgid "%X%P: unable to open for source of copy `%s'\n" msgstr "%X%P: no se puede abrir para la fuente de la copia `%s'\n" -#: ldmain.c:520 +#: ldmain.c:523 msgid "%X%P: unable to open for destination of copy `%s'\n" msgstr "%X%P: no se puede abrir para el destino de la copia `%s'\n" -#: ldmain.c:527 +#: ldmain.c:530 msgid "%P: Error writing file `%s'\n" msgstr "%P: Error al escribir el fichero `%s'\n" -#: ldmain.c:532 pe-dll.c:1447 +#: ldmain.c:535 pe-dll.c:1494 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "%P: Error al cerrar el fichero `%s'\n" -#: ldmain.c:548 +#: ldmain.c:551 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "%s: tiempo total en el enlazado: %ld.%06ld\n" -#: ldmain.c:551 +#: ldmain.c:554 #, c-format msgid "%s: data size %ld\n" msgstr "%s: tamaño de los datos %ld\n" -#: ldmain.c:634 +#: ldmain.c:637 msgid "%P%F: missing argument to -m\n" msgstr "%P%F: falta el argumento para -m\n" -#: ldmain.c:780 ldmain.c:798 ldmain.c:828 +#: ldmain.c:784 ldmain.c:803 ldmain.c:834 msgid "%P%F: bfd_hash_table_init failed: %E\n" msgstr "%P%F: falló bfd_hash_table_init: %E\n" -#: ldmain.c:784 ldmain.c:802 +#: ldmain.c:788 ldmain.c:807 msgid "%P%F: bfd_hash_lookup failed: %E\n" msgstr "%P%F: falló bfd_hash_lookup: %E\n" -#: ldmain.c:816 +#: ldmain.c:821 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "%X%P: error: fichero de símbolos a retener duplicado\n" -#: ldmain.c:858 +#: ldmain.c:864 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" msgstr "%P%F: falló bfd_hash_lookup para la inserción: %E\n" -#: ldmain.c:863 +#: ldmain.c:869 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "%P `-retain-symbols-file' se impone a `-s' y `-S'\n" -#: ldmain.c:938 +#: ldmain.c:944 #, c-format msgid "" "Archive member included because of file (symbol)\n" @@ -919,173 +915,169 @@ msgstr "" "Se incluyó el miembro del archivo debido al fichero (símbolo)\n" "\n" -#: ldmain.c:1008 +#: ldmain.c:1014 msgid "%X%C: multiple definition of `%T'\n" msgstr "%X%C: definiciones múltiples de `%T'\n" -#: ldmain.c:1011 +#: ldmain.c:1017 msgid "%D: first defined here\n" msgstr "%D: primero se definió aquí\n" -#: ldmain.c:1015 +#: ldmain.c:1021 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" msgstr "%P: Desactivandola la relajación: no trabajará con definiciones múltiples\n" # FIXME: Revisar en el código fuente si `common' se refiere a una orden o # se puede sustituir por `común'. cfuga -#: ldmain.c:1045 +#: ldmain.c:1051 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "%B: aviso: la definición de `%T' se impone a common\n" -#: ldmain.c:1048 +#: ldmain.c:1054 msgid "%B: warning: common is here\n" msgstr "%B: aviso: common está aquí\n" -#: ldmain.c:1055 +#: ldmain.c:1061 msgid "%B: warning: common of `%T' overridden by definition\n" msgstr "%B: aviso: el common de `%T' es sobrepasado por definición\n" -#: ldmain.c:1058 +#: ldmain.c:1064 msgid "%B: warning: defined here\n" msgstr "%B: aviso: definido aquí\n" -#: ldmain.c:1065 +#: ldmain.c:1071 msgid "%B: warning: common of `%T' overridden by larger common\n" msgstr "%B: aviso: el common de `%T' es sobrepasado por un common más grande\n" -#: ldmain.c:1068 +#: ldmain.c:1074 msgid "%B: warning: larger common is here\n" msgstr "%B: aviso: el common más grande está aquí\n" -#: ldmain.c:1072 +#: ldmain.c:1078 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "%B: aviso: el common de `%T' es sobrepasado por un common más pequeño\n" -#: ldmain.c:1075 +#: ldmain.c:1081 msgid "%B: warning: smaller common is here\n" msgstr "%B: aviso: el common más pequeño está aquí\n" -#: ldmain.c:1079 +#: ldmain.c:1085 msgid "%B: warning: multiple common of `%T'\n" msgstr "%B: aviso: common múltiple de `%T'\n" -#: ldmain.c:1081 +#: ldmain.c:1087 msgid "%B: warning: previous common is here\n" msgstr "%B: aviso: el common previo está aquí\n" -#: ldmain.c:1101 ldmain.c:1139 +#: ldmain.c:1107 ldmain.c:1145 msgid "%P: warning: global constructor %s used\n" msgstr "%P: aviso: se usó el constructor global %s\n" -#: ldmain.c:1149 +#: ldmain.c:1155 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" msgstr "%P%F: error del frente trasero de BFD: BFD_RELOC_CTOR sin soporte\n" #. We found a reloc for the symbol we are looking for. -#: ldmain.c:1203 ldmain.c:1205 ldmain.c:1207 ldmain.c:1245 ldmain.c:1293 +#: ldmain.c:1209 ldmain.c:1211 ldmain.c:1213 ldmain.c:1251 ldmain.c:1299 msgid "warning: " msgstr "aviso: " -#: ldmain.c:1327 +#: ldmain.c:1334 msgid "%F%P: bfd_hash_table_init failed: %E\n" msgstr "%F%P: falló bfd_hash_table_init: %E\n" -#: ldmain.c:1334 +#: ldmain.c:1341 msgid "%F%P: bfd_hash_lookup failed: %E\n" msgstr "%F%P: falló bfd_hash_lookup: %E\n" -#: ldmain.c:1355 +#: ldmain.c:1362 msgid "%X%C: undefined reference to `%T'\n" msgstr "%X%C: referencia a `%T' sin definir\n" -#: ldmain.c:1358 +#: ldmain.c:1365 msgid "%C: warning: undefined reference to `%T'\n" msgstr "%C: aviso: referencia a `%T' sin definir\n" -#: ldmain.c:1364 +#: ldmain.c:1371 msgid "%X%D: more undefined references to `%T' follow\n" msgstr "%X%D: más referencias a `%T' sin definir a continuación\n" -#: ldmain.c:1367 +#: ldmain.c:1374 msgid "%D: warning: more undefined references to `%T' follow\n" msgstr "%D: aviso: más referencias a `%T' sin definir a continuación\n" -#: ldmain.c:1378 +#: ldmain.c:1385 msgid "%X%B: undefined reference to `%T'\n" msgstr "%X%B: referencia a `%T' sin definir\n" -#: ldmain.c:1381 +#: ldmain.c:1388 msgid "%B: warning: undefined reference to `%T'\n" msgstr "%B: aviso: referencia a `%T' sin definir\n" -#: ldmain.c:1387 +#: ldmain.c:1394 msgid "%X%B: more undefined references to `%T' follow\n" msgstr "%X%B: más referencias a `%T' sin definir a continuación\n" -#: ldmain.c:1390 +#: ldmain.c:1397 msgid "%B: warning: more undefined references to `%T' follow\n" msgstr "%B: aviso: más referencias a `%T' sin definir a continuación\n" -#: ldmain.c:1425 ldmain.c:1478 ldmain.c:1496 -msgid "%P%X: generated" -msgstr "%P%X: generado" - -#: ldmain.c:1432 +#: ldmain.c:1436 msgid " additional relocation overflows omitted from the output\n" msgstr " se omitieron desbordamientos de reubicación adicionales de la salida\n" -#: ldmain.c:1445 +#: ldmain.c:1449 msgid " relocation truncated to fit: %s against undefined symbol `%T'" msgstr " reubicación truncada para ajustar: %s contra el símbolo `%T' sin definir" -#: ldmain.c:1450 +#: ldmain.c:1454 msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" msgstr " reubicación truncada para ajustar: %s contra el símbolo `%T' definido en la sección %A en %B" -#: ldmain.c:1460 +#: ldmain.c:1466 msgid " relocation truncated to fit: %s against `%T'" msgstr " reubicación truncada para ajustar: %s contra `%T'" -#: ldmain.c:1481 +#: ldmain.c:1483 #, c-format -msgid "dangerous relocation: %s\n" -msgstr "reubicación peligrosa: %s\n" +msgid "%X%C: dangerous relocation: %s\n" +msgstr "%X%C: reubicación peligrosa: %s\n" -#: ldmain.c:1499 -msgid " reloc refers to symbol `%T' which is not being output\n" -msgstr " la reubicación se refiere al símbolo `%T' el cual no se muestra\n" +#: ldmain.c:1498 +msgid "%X%C: reloc refers to symbol `%T' which is not being output\n" +msgstr "%X%C: la reubicación se refiere al símbolo `%T' el cual no se muestra\n" -#: ldmisc.c:149 +#: ldmisc.c:147 #, c-format msgid "no symbol" msgstr "no hay símbolo" -#: ldmisc.c:240 +#: ldmisc.c:238 #, c-format msgid "built in linker script:%u" msgstr "guión interno del enlazador:%u" -#: ldmisc.c:289 ldmisc.c:293 +#: ldmisc.c:294 ldmisc.c:298 msgid "%B%F: could not read symbols\n" msgstr "%B%F: no se pueden leer los símbolos\n" -#: ldmisc.c:329 -msgid "%B: In function `%T':\n" -msgstr "%B: En la función `%T':\n" +#: ldmisc.c:340 +msgid "%B: In function `%T'" +msgstr "%B: En la función `%T'" -#: ldmisc.c:480 +#: ldmisc.c:510 msgid "%F%P: internal error %s %d\n" msgstr "%F%P: error interno %s %d\n" -#: ldmisc.c:526 +#: ldmisc.c:556 msgid "%P: internal error: aborting at %s line %d in %s\n" msgstr "%P: error interno: abortando en %s línea %d en %s\n" -#: ldmisc.c:529 +#: ldmisc.c:559 msgid "%P: internal error: aborting at %s line %d\n" msgstr "%P: error interno: abortando en %s línea %d\n" -#: ldmisc.c:531 +#: ldmisc.c:561 msgid "%P%F: please report this bug\n" msgstr "%P%F: por favor reporte este bicho\n" @@ -1119,278 +1111,278 @@ msgstr " Emulaciones con soporte:\n" msgid "%P%F: bfd_new_link_order failed\n" msgstr "%P%F: falló bfd_new_link_order\n" -#: ldwrite.c:341 +#: ldwrite.c:344 msgid "%F%P: cannot create split section name for %s\n" msgstr "%F%P: no se puede crear la tabla de división de secciones para %s\n" -#: ldwrite.c:353 +#: ldwrite.c:356 msgid "%F%P: clone section failed: %E\n" msgstr "%F%P: falló la clonación de la sección: %E\n" -#: ldwrite.c:391 +#: ldwrite.c:394 #, c-format msgid "%8x something else\n" msgstr "%8x algo más\n" -#: ldwrite.c:561 +#: ldwrite.c:564 msgid "%F%P: final link failed: %E\n" msgstr "%F%P: falló el enlace final: %E\n" -#: lexsup.c:195 lexsup.c:327 +#: lexsup.c:196 lexsup.c:328 msgid "KEYWORD" msgstr "PALABRA CLAVE" -#: lexsup.c:195 +#: lexsup.c:196 msgid "Shared library control for HP/UX compatibility" msgstr "Control de biblioteca compartida para compatibilidad con HP/UX" -#: lexsup.c:198 +#: lexsup.c:199 msgid "ARCH" msgstr "ARQ" -#: lexsup.c:198 +#: lexsup.c:199 msgid "Set architecture" msgstr "Establecer la arquitectura" -#: lexsup.c:200 lexsup.c:421 +#: lexsup.c:201 lexsup.c:422 msgid "TARGET" msgstr "OBJETIVO" -#: lexsup.c:200 +#: lexsup.c:201 msgid "Specify target for following input files" msgstr "Especificar el objetivo para los siguientes ficheros de entrada" -#: lexsup.c:203 lexsup.c:252 lexsup.c:264 lexsup.c:277 lexsup.c:380 -#: lexsup.c:433 lexsup.c:490 +#: lexsup.c:204 lexsup.c:253 lexsup.c:265 lexsup.c:278 lexsup.c:381 +#: lexsup.c:434 lexsup.c:491 msgid "FILE" msgstr "FICHERO" -#: lexsup.c:203 +#: lexsup.c:204 msgid "Read MRI format linker script" msgstr "Leer el guión del enlazador de formato MRI" -#: lexsup.c:205 +#: lexsup.c:206 msgid "Force common symbols to be defined" msgstr "Forzar que los símbolos comunes sean definidos" -#: lexsup.c:209 lexsup.c:475 lexsup.c:477 lexsup.c:479 +#: lexsup.c:210 lexsup.c:476 lexsup.c:478 lexsup.c:480 msgid "ADDRESS" msgstr "DIRECCIÓN" -#: lexsup.c:209 +#: lexsup.c:210 msgid "Set start address" msgstr "Establecer la dirección de inicio" -#: lexsup.c:211 +#: lexsup.c:212 msgid "Export all dynamic symbols" msgstr "Exportar todos los símbolos dinámicos" -#: lexsup.c:213 +#: lexsup.c:214 msgid "Link big-endian objects" msgstr "Enlazar objetos big-endian" -#: lexsup.c:215 +#: lexsup.c:216 msgid "Link little-endian objects" msgstr "Enlazar objetos little-endian" -#: lexsup.c:217 lexsup.c:220 +#: lexsup.c:218 lexsup.c:221 msgid "SHLIB" msgstr "BIBCOMP" -#: lexsup.c:217 +#: lexsup.c:218 msgid "Auxiliary filter for shared object symbol table" msgstr "Filtro auxiliar para la tabla de símbolos de objetos compartidos" -#: lexsup.c:220 +#: lexsup.c:221 msgid "Filter for shared object symbol table" msgstr "Filtro para la tabla de símbolos de objetos compartidos" -#: lexsup.c:223 +#: lexsup.c:224 msgid "Ignored" msgstr "Ignorado" -#: lexsup.c:225 +#: lexsup.c:226 msgid "SIZE" msgstr "TAMAÑO" -#: lexsup.c:225 +#: lexsup.c:226 msgid "Small data size (if no size, same as --shared)" msgstr "Tamaño de los datos small (si no se especifica, es el mismo que --shared)" -#: lexsup.c:228 +#: lexsup.c:229 msgid "FILENAME" msgstr "FICHERO" -#: lexsup.c:228 +#: lexsup.c:229 msgid "Set internal name of shared library" msgstr "Establecer el nombre interno de la biblioteca compartida" -#: lexsup.c:230 +#: lexsup.c:231 msgid "PROGRAM" msgstr "PROGRAMA" -#: lexsup.c:230 +#: lexsup.c:231 msgid "Set PROGRAM as the dynamic linker to use" msgstr "Establece el PROGRAMA como el enlazador dinámico a utilizar" -#: lexsup.c:233 +#: lexsup.c:234 msgid "LIBNAME" msgstr "NOMBREBIB" -#: lexsup.c:233 +#: lexsup.c:234 msgid "Search for library LIBNAME" msgstr "Buscar la biblioteca NOMBREBIB" -#: lexsup.c:235 +#: lexsup.c:236 msgid "DIRECTORY" msgstr "DIRECTORIO" -#: lexsup.c:235 +#: lexsup.c:236 msgid "Add DIRECTORY to library search path" msgstr "Agregar el DIRECTORIO a la ruta de búsqueda de bibliotecas" -#: lexsup.c:238 +#: lexsup.c:239 msgid "Override the default sysroot location" msgstr "Sobreescribir la ubicación de sysroot por defecto" -#: lexsup.c:240 +#: lexsup.c:241 msgid "EMULATION" msgstr "EMULACIÓN" -#: lexsup.c:240 +#: lexsup.c:241 msgid "Set emulation" msgstr "Establecer la emulación" -#: lexsup.c:242 +#: lexsup.c:243 msgid "Print map file on standard output" msgstr "Imprimir el fichero mapa en la salida estándar" -#: lexsup.c:244 +#: lexsup.c:245 msgid "Do not page align data" msgstr "No paginar los datos alineados" -#: lexsup.c:246 +#: lexsup.c:247 msgid "Do not page align data, do not make text readonly" msgstr "No paginar los datos alineados, no hacer el texto de sólo lectura" -#: lexsup.c:249 +#: lexsup.c:250 msgid "Page align data, make text readonly" msgstr "Paginar los datos alineados, hacer el texto de sólo lectura" -#: lexsup.c:252 +#: lexsup.c:253 msgid "Set output file name" msgstr "Establecer el nombre del fichero de salida" -#: lexsup.c:254 +#: lexsup.c:255 msgid "Optimize output file" msgstr "Optimizar la salida del fichero" -#: lexsup.c:256 +#: lexsup.c:257 msgid "Ignored for SVR4 compatibility" msgstr "Ignorado por compatibilidad con SVR4" -#: lexsup.c:260 +#: lexsup.c:261 msgid "Generate relocatable output" msgstr "Generar salida reubicable" -#: lexsup.c:264 +#: lexsup.c:265 msgid "Just link symbols (if directory, same as --rpath)" msgstr "Sólo enlazar símbolos (si es un directorio, es igual que --rpath)" -#: lexsup.c:267 +#: lexsup.c:268 msgid "Strip all symbols" msgstr "Descartar todos los símbolos" -#: lexsup.c:269 +#: lexsup.c:270 msgid "Strip debugging symbols" msgstr "Descartar los símbolos de depuración" -#: lexsup.c:271 +#: lexsup.c:272 msgid "Strip symbols in discarded sections" msgstr "Descartar símbolos en las secciones descartadas" -#: lexsup.c:273 +#: lexsup.c:274 msgid "Do not strip symbols in discarded sections" msgstr "No descartar símbolos en las secciones descartadas" -#: lexsup.c:275 +#: lexsup.c:276 msgid "Trace file opens" msgstr "Rastrear la apertura de ficheros" -#: lexsup.c:277 +#: lexsup.c:278 msgid "Read linker script" msgstr "Leer el guión del enlazador" -#: lexsup.c:279 lexsup.c:297 lexsup.c:363 lexsup.c:378 lexsup.c:468 -#: lexsup.c:493 lexsup.c:520 +#: lexsup.c:280 lexsup.c:298 lexsup.c:364 lexsup.c:379 lexsup.c:469 +#: lexsup.c:494 lexsup.c:521 msgid "SYMBOL" msgstr "SÍMBOLO" -#: lexsup.c:279 +#: lexsup.c:280 msgid "Start with undefined reference to SYMBOL" msgstr "Iniciar con una referencia sin definir hacia el SÍMBOLO" -#: lexsup.c:282 +#: lexsup.c:283 msgid "[=SECTION]" msgstr "[=SECCIóN]" -#: lexsup.c:283 +#: lexsup.c:284 msgid "Don't merge input [SECTION | orphan] sections" msgstr "No mezclar secciones de entrada [SECCIÓN | huérfanas]" -#: lexsup.c:285 +#: lexsup.c:286 msgid "Build global constructor/destructor tables" msgstr "Construir tablas globales de constructores/destructores" -#: lexsup.c:287 +#: lexsup.c:288 msgid "Print version information" msgstr "Mostrar la información de la versión" -#: lexsup.c:289 +#: lexsup.c:290 msgid "Print version and emulation information" msgstr "Mostrar la información de la versión y la emulación" -#: lexsup.c:291 +#: lexsup.c:292 msgid "Discard all local symbols" msgstr "Descartar todos los símbolos locales" -#: lexsup.c:293 +#: lexsup.c:294 msgid "Discard temporary local symbols (default)" msgstr "Descartar los símbolos locales temporales (por defecto)" -#: lexsup.c:295 +#: lexsup.c:296 msgid "Don't discard any local symbols" msgstr "No descartar ningún símbolo local" -#: lexsup.c:297 +#: lexsup.c:298 msgid "Trace mentions of SYMBOL" msgstr "Rastrear las menciones del SÍMBOLO" -#: lexsup.c:299 lexsup.c:435 lexsup.c:437 +#: lexsup.c:300 lexsup.c:436 lexsup.c:438 msgid "PATH" msgstr "RUTA" -#: lexsup.c:299 +#: lexsup.c:300 msgid "Default search path for Solaris compatibility" msgstr "Ruta de búsqueda por defecto para compatibilidad con Solaris" -#: lexsup.c:302 +#: lexsup.c:303 msgid "Start a group" msgstr "Iniciar un grupo" -#: lexsup.c:304 +#: lexsup.c:305 msgid "End a group" msgstr "Terminar un grupo" -#: lexsup.c:308 +#: lexsup.c:309 msgid "Accept input files whose architecture cannot be determined" msgstr "Aceptar ficheros de entrada cuya arquitectura no se pueda determinar" -#: lexsup.c:312 +#: lexsup.c:313 msgid "Reject input files whose architecture is unknown" msgstr "Rechazar ficheros de entrada cuya arquitectura es desconocida" -#: lexsup.c:315 +#: lexsup.c:316 msgid "" "Set DT_NEEDED tags for DT_NEEDED entries in\n" "\t\t\t\tfollowing dynamic libs" @@ -1398,7 +1390,7 @@ msgstr "" "Establece las marcas DT_NEEDED para las entradas DT_NEEDED en\n" "\t\t\t\tlas bibliotecas dinámicas a continuación" -#: lexsup.c:318 +#: lexsup.c:319 msgid "" "Do not set DT_NEEDED tags for DT_NEEDED entries\n" "\t\t\t\tin following dynamic libs" @@ -1406,152 +1398,152 @@ msgstr "" "No establece las marcas DT_NEEDED para las entradas DT_NEEDED en\n" "\t\t\t\tlas bibliotecas dinámicas a continuación" -#: lexsup.c:321 +#: lexsup.c:322 msgid "Only set DT_NEEDED for following dynamic libs if used" msgstr "Sólo establece DT_NEEDED para las siguientes bibliotecas dinámicas si se usan" -#: lexsup.c:324 +#: lexsup.c:325 msgid "Always set DT_NEEDED for following dynamic libs" msgstr "Siempre establece DT_NEEDED para las siguientes bibliotecas dinámicas" -#: lexsup.c:327 +#: lexsup.c:328 msgid "Ignored for SunOS compatibility" msgstr "Ignorado por compatibilidad con SunOS" -#: lexsup.c:329 +#: lexsup.c:330 msgid "Link against shared libraries" msgstr "Enlazar contra bibliotecas compartidas" -#: lexsup.c:335 +#: lexsup.c:336 msgid "Do not link against shared libraries" msgstr "No enlazar contra bibliotecas compartidas" -#: lexsup.c:343 +#: lexsup.c:344 msgid "Bind global references locally" msgstr "Asociar localmente las referencias globlales" -#: lexsup.c:345 +#: lexsup.c:346 msgid "Check section addresses for overlaps (default)" msgstr "Revisar las direcciones de las secciones por traslapes (por defecto)" -#: lexsup.c:348 +#: lexsup.c:349 msgid "Do not check section addresses for overlaps" msgstr "No revisar las direcciones de las secciones por traslapes" -#: lexsup.c:351 +#: lexsup.c:352 msgid "Output cross reference table" msgstr "Mostrar la tabla de referencias cruzadas" -#: lexsup.c:353 +#: lexsup.c:354 msgid "SYMBOL=EXPRESSION" msgstr "SÍMBOLO=EXPRESIÓN" -#: lexsup.c:353 +#: lexsup.c:354 msgid "Define a symbol" msgstr "Define un símbolo" -#: lexsup.c:355 +#: lexsup.c:356 msgid "[=STYLE]" msgstr "[=ESTILO]" -#: lexsup.c:355 +#: lexsup.c:356 msgid "Demangle symbol names [using STYLE]" msgstr "Desenreda los nombres de los símbolos [utilizando el ESTILO]" # No me convence mucho la traducción de `embedded' por imbuído. cfuga -#: lexsup.c:358 +#: lexsup.c:359 msgid "Generate embedded relocs" msgstr "Genera reubicaciones imbuídas" -#: lexsup.c:360 +#: lexsup.c:361 msgid "Treat warnings as errors" msgstr "Tratar los avisos como errores" -#: lexsup.c:363 +#: lexsup.c:364 msgid "Call SYMBOL at unload-time" msgstr "Llamar al SÍMBOLO al momento de descargar" -#: lexsup.c:365 +#: lexsup.c:366 msgid "Force generation of file with .exe suffix" msgstr "Forzar la generación del fichero con sufijo .exe" -#: lexsup.c:367 +#: lexsup.c:368 msgid "Remove unused sections (on some targets)" msgstr "Eliminar las secciones sin uso (en algunos objetivos)" -#: lexsup.c:370 +#: lexsup.c:371 msgid "Don't remove unused sections (default)" msgstr "No eliminar las secciones sin uso (por defecto)" -#: lexsup.c:373 +#: lexsup.c:374 msgid "Set default hash table size close to " msgstr "Establece el tamaño de de la tabla de dispersión cercano al " -#: lexsup.c:376 +#: lexsup.c:377 msgid "Print option help" msgstr "Muestra la ayuda de opciones" -#: lexsup.c:378 +#: lexsup.c:379 msgid "Call SYMBOL at load-time" msgstr "Llamar al SÍMBOLO al momento de cargar" -#: lexsup.c:380 +#: lexsup.c:381 msgid "Write a map file" msgstr "Escribir un fichero mapa" -#: lexsup.c:382 +#: lexsup.c:383 msgid "Do not define Common storage" msgstr "No definir almacenamiento Common" -#: lexsup.c:384 +#: lexsup.c:385 msgid "Do not demangle symbol names" msgstr "No desenredar los nombres de los símbolos" -#: lexsup.c:386 +#: lexsup.c:387 msgid "Use less memory and more disk I/O" msgstr "Usar menos memoria y más E/S de disco" -#: lexsup.c:388 +#: lexsup.c:389 msgid "Do not allow unresolved references in object files" msgstr "No permitir referencias sin resolver en ficheros objeto" -#: lexsup.c:391 +#: lexsup.c:392 msgid "Allow unresolved references in shared libaries" msgstr "Permitir referencias sin resolver en bibliotecas compartidas" -#: lexsup.c:395 +#: lexsup.c:396 msgid "Do not allow unresolved references in shared libs" msgstr "No permitir referencias sin resolver en bibliotecas compartidas" -#: lexsup.c:399 +#: lexsup.c:400 msgid "Allow multiple definitions" msgstr "Permitir definiciones múltiples" -#: lexsup.c:401 +#: lexsup.c:402 msgid "Disallow undefined version" msgstr "No permitir versiones sin definir" -#: lexsup.c:403 +#: lexsup.c:404 msgid "Create default symbol version" msgstr "Crear la versión de símbolo por defecto" -#: lexsup.c:406 +#: lexsup.c:407 msgid "Create default symbol version for imported symbols" msgstr "Crear la versión de símbolo por defecto para símbolos importados" -#: lexsup.c:409 +#: lexsup.c:410 msgid "Don't warn about mismatched input files" msgstr "No avisar sobre ficheros de entrada sin coincidencia" -#: lexsup.c:411 +#: lexsup.c:412 msgid "Turn off --whole-archive" msgstr "Apagar --whole-archive" -#: lexsup.c:413 +#: lexsup.c:414 msgid "Create an output file even if errors occur" msgstr "Crear un fichero de salida aún si ocurren errores" -#: lexsup.c:418 +#: lexsup.c:419 msgid "" "Only use library directories specified on\n" "\t\t\t\tthe command line" @@ -1559,115 +1551,115 @@ msgstr "" "Utilizar solamente los directorios de bibliotecas\n" "\t\t\t\tespecificados en la línea de comandos" -#: lexsup.c:421 +#: lexsup.c:422 msgid "Specify target of output file" msgstr "Especificar el objetivo del fichero de salida" -#: lexsup.c:424 +#: lexsup.c:425 msgid "Ignored for Linux compatibility" msgstr "Ignorado por compatibilidad con Linux" -#: lexsup.c:427 +#: lexsup.c:428 msgid "Reduce memory overheads, possibly taking much longer" msgstr "Reducir las saturaciones de memoria, tal vez tomando más tiempo" -#: lexsup.c:430 +#: lexsup.c:431 msgid "Relax branches on certain targets" msgstr "Relajar ramificaciones en ciertos objetivos" -#: lexsup.c:433 +#: lexsup.c:434 msgid "Keep only symbols listed in FILE" msgstr "Conservar solamente los símbolos enlistados en el FICHERO" -#: lexsup.c:435 +#: lexsup.c:436 msgid "Set runtime shared library search path" msgstr "Establecer la rúta de búsqueda de bibliotecas compartidas en tiempo de ejecución" -#: lexsup.c:437 +#: lexsup.c:438 msgid "Set link time shared library search path" msgstr "Establecer la rúta de búsqueda de bibliotecas compartidas en tiempo de enlace" -#: lexsup.c:440 +#: lexsup.c:441 msgid "Create a shared library" msgstr "Crear una biblioteca compartida" -#: lexsup.c:444 +#: lexsup.c:445 msgid "Create a position independent executable" msgstr "Crear un ejecutable independiente de posición" -#: lexsup.c:448 +#: lexsup.c:449 msgid "Sort common symbols by size" msgstr "Ordenar los símbolos comunes por tamaño" -#: lexsup.c:452 +#: lexsup.c:453 msgid "name|alignment" msgstr "nombre|alineación" -#: lexsup.c:453 +#: lexsup.c:454 msgid "Sort sections by name or maximum alignment" msgstr "Ordenar secciones por nombre o alineación máxima" -#: lexsup.c:455 +#: lexsup.c:456 msgid "COUNT" msgstr "CUENTA" -#: lexsup.c:455 +#: lexsup.c:456 msgid "How many tags to reserve in .dynamic section" msgstr "Cúantas marcas reservar en la sección .dynamic" -#: lexsup.c:458 +#: lexsup.c:459 msgid "[=SIZE]" msgstr "[=TAMAÑO]" -#: lexsup.c:458 +#: lexsup.c:459 msgid "Split output sections every SIZE octets" msgstr "Dividir las secciones de salida cada TAMAÑO octetos" -#: lexsup.c:461 +#: lexsup.c:462 msgid "[=COUNT]" msgstr "[=CUENTA]" -#: lexsup.c:461 +#: lexsup.c:462 msgid "Split output sections every COUNT relocs" msgstr "Dividir las secciones de salida cada CUENTA reubicaciones" -#: lexsup.c:464 +#: lexsup.c:465 msgid "Print memory usage statistics" msgstr "Mostrar las estadísticas de uso de memoria" -#: lexsup.c:466 +#: lexsup.c:467 msgid "Display target specific options" msgstr "Mostrar las opciones específicas del objetivo" -#: lexsup.c:468 +#: lexsup.c:469 msgid "Do task level linking" msgstr "Enlazar a nivel de tarea" -#: lexsup.c:470 +#: lexsup.c:471 msgid "Use same format as native linker" msgstr "Usar el mismo formato que el enlazador nativo" -#: lexsup.c:472 +#: lexsup.c:473 msgid "SECTION=ADDRESS" msgstr "SECCIÓN=DIRECCIÓN" -#: lexsup.c:472 +#: lexsup.c:473 msgid "Set address of named section" msgstr "Establecer la dirección de la sección nombrada" -#: lexsup.c:475 +#: lexsup.c:476 msgid "Set address of .bss section" msgstr "Establecer la dirección de la sección .bss" -#: lexsup.c:477 +#: lexsup.c:478 msgid "Set address of .data section" msgstr "Establecer la dirección de la sección .data" -#: lexsup.c:479 +#: lexsup.c:480 msgid "Set address of .text section" msgstr "Establecer la dirección de la sección .text" -#: lexsup.c:482 +#: lexsup.c:483 msgid "" "How to handle unresolved symbols. is:\n" "\t\t\t\tignore-all, report-all, ignore-in-object-files,\n" @@ -1677,15 +1669,15 @@ msgstr "" "\t\t\t\tignore-all, report-all, ignore-in-object-files,\n" "\t\t\t\tignore-in-shared-libs" -#: lexsup.c:486 +#: lexsup.c:487 msgid "Output lots of information during link" msgstr "Mostrar mucha información durante el enlace" -#: lexsup.c:490 +#: lexsup.c:491 msgid "Read version information script" msgstr "Leer la información de la versión del guión" -#: lexsup.c:493 +#: lexsup.c:494 msgid "" "Take export symbols list from .exports, using\n" "\t\t\t\tSYMBOL as the version." @@ -1693,71 +1685,71 @@ msgstr "" "Tomar la lista de exportación de símbolos de .exports, usando\n" "\t\t\tel SÍMBOLO como la versión." -#: lexsup.c:496 +#: lexsup.c:497 msgid "Warn about duplicate common symbols" msgstr "Avisar sobre símbolos comunes duplicados" -#: lexsup.c:498 +#: lexsup.c:499 msgid "Warn if global constructors/destructors are seen" msgstr "Avisar si se ven constructores/destructores globales" -#: lexsup.c:501 +#: lexsup.c:502 msgid "Warn if the multiple GP values are used" msgstr "Avisar si se usan los valores múltiples GP" -#: lexsup.c:503 +#: lexsup.c:504 msgid "Warn only once per undefined symbol" msgstr "Avisar sólo una vez por cada símbolo sin definir" -#: lexsup.c:505 +#: lexsup.c:506 msgid "Warn if start of section changes due to alignment" msgstr "Avisar si el inicio de la sección cambia debido a la alineación" -#: lexsup.c:508 +#: lexsup.c:509 msgid "Warn if shared object has DT_TEXTREL" msgstr "Avisar si el objeto compartido tiene DT_TEXTREL" -#: lexsup.c:512 +#: lexsup.c:513 msgid "Report unresolved symbols as warnings" msgstr "Reportar símbolos sin resolver como avisos" -#: lexsup.c:515 +#: lexsup.c:516 msgid "Report unresolved symbols as errors" msgstr "Reportar símbolos sin resolver como errores" -#: lexsup.c:517 +#: lexsup.c:518 msgid "Include all objects from following archives" msgstr "Incluir todos los objetos de los siguientes ficheros" -#: lexsup.c:520 +#: lexsup.c:521 msgid "Use wrapper functions for SYMBOL" msgstr "Usar funciones de envoltura para el SÍMBOLO" -#: lexsup.c:667 +#: lexsup.c:668 msgid "%P: unrecognized option '%s'\n" msgstr "%P: opción `%s' no reconocida\n" -#: lexsup.c:669 +#: lexsup.c:670 msgid "%P%F: use the --help option for usage information\n" msgstr "%P%F: use la opción --help para información de modo de empleo\n" -#: lexsup.c:687 +#: lexsup.c:688 msgid "%P%F: unrecognized -a option `%s'\n" msgstr "%P%F: opción -a `%s' no reconocida\n" -#: lexsup.c:700 +#: lexsup.c:701 msgid "%P%F: unrecognized -assert option `%s'\n" msgstr "%P%F: opción -assert `%s' no reconocida\n" -#: lexsup.c:743 +#: lexsup.c:744 msgid "%F%P: unknown demangling style `%s'" msgstr "%F%P: estilo de desenredo `%s' desconocido" -#: lexsup.c:805 +#: lexsup.c:806 msgid "%P%F: invalid number `%s'\n" msgstr "%P%F: número `%s' inválido\n" -#: lexsup.c:897 +#: lexsup.c:898 msgid "%P%F: bad --unresolved-symbols option: %s\n" msgstr "%P%F: opción --unresolved-symbols no reconocida: %s\n" @@ -1769,82 +1761,92 @@ msgstr "%P%F: opci #. an error message here. We cannot just make this a warning, #. increment optind, and continue because getopt is too confused #. and will seg-fault the next time around. -#: lexsup.c:968 +#: lexsup.c:969 msgid "%P%F: bad -rpath option\n" msgstr "%P%F: opción -rpath errónea\n" -#: lexsup.c:1080 +#: lexsup.c:1081 msgid "%P%F: -shared not supported\n" msgstr "%P%F: -shared no tiene soporte\n" -#: lexsup.c:1089 +#: lexsup.c:1090 msgid "%P%F: -pie not supported\n" msgstr "%P%F: -pie no tiene soporte\n" -#: lexsup.c:1099 +#: lexsup.c:1100 msgid "name" msgstr "nombre" -#: lexsup.c:1101 +#: lexsup.c:1102 msgid "alignment" msgstr "alineación" -#: lexsup.c:1104 +#: lexsup.c:1105 msgid "%P%F: invalid section sorting option: %s\n" msgstr "%P%F: opción de ordenado de sección inválida: %s\n" -#: lexsup.c:1130 +#: lexsup.c:1131 msgid "%P%F: invalid argument to option \"--section-start\"\n" msgstr "%P%F: argumento inválido para la opción \"--section-start\"\n" -#: lexsup.c:1137 +#: lexsup.c:1138 msgid "%P%F: missing argument(s) to option \"--section-start\"\n" msgstr "%P%F: falta(n) argumento(s) para la opción \"--section-start\"\n" -#: lexsup.c:1311 +#: lexsup.c:1312 msgid "%P%F: may not nest groups (--help for usage)\n" msgstr "%P%F: no se pueden anidar grupos (--help para modo de empleo)\n" -#: lexsup.c:1318 +#: lexsup.c:1319 msgid "%P%F: group ended before it began (--help for usage)\n" msgstr "%P%F: el grupo terminó antes de empezar (--help para modo de empleo)\n" -#: lexsup.c:1346 +#: lexsup.c:1347 msgid "%P%X: --hash-size needs a numeric argument\n" msgstr "%P%X: --hash-size necesita un argumento numérico\n" -#: lexsup.c:1397 lexsup.c:1410 +#: lexsup.c:1398 lexsup.c:1411 msgid "%P%F: invalid hex number `%s'\n" msgstr "%P%F: número hexadecimal `%s' inválido\n" -#: lexsup.c:1445 +#: lexsup.c:1447 #, c-format msgid "Usage: %s [options] file...\n" msgstr "Modo de empleo: %s [opciones] fichero...\n" -#: lexsup.c:1447 +#: lexsup.c:1449 #, c-format msgid "Options:\n" msgstr "Opciones:\n" +#: lexsup.c:1527 +#, c-format +msgid " @FILE" +msgstr " @FICHERO" + +#: lexsup.c:1530 +#, c-format +msgid "Read options from FILE\n" +msgstr "Lee opciones del FICHERO\n" + #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:1530 +#: lexsup.c:1535 #, c-format msgid "%s: supported targets:" msgstr "%s: objetivos con soporte:" -#: lexsup.c:1538 +#: lexsup.c:1543 #, c-format msgid "%s: supported emulations: " msgstr "%s: emulaciones con soporte: " -#: lexsup.c:1543 +#: lexsup.c:1548 #, c-format msgid "%s: emulation specific options:\n" msgstr "%s: opciones específicas de emulación:\n" -#: lexsup.c:1547 +#: lexsup.c:1552 #, c-format msgid "Report bugs to %s\n" msgstr "Reportar bichos a %s\n" @@ -1858,65 +1860,79 @@ msgstr "%P%F: tipo de formato %s desconocido\n" msgid "%XUnsupported PEI architecture: %s\n" msgstr "%XArquitectura PEI sin soporte: %s\n" -#: pe-dll.c:652 +#: pe-dll.c:604 +#, c-format +msgid "%XCannot export %s: invalid export name\n" +msgstr "%XNo se puede exportar %s: nombre de exportación inválido\n" + +#: pe-dll.c:657 #, c-format msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n" msgstr "%XError, EXPORT duplicado con ordinales: %s (%d vs %d)\n" -#: pe-dll.c:659 +#: pe-dll.c:664 #, c-format msgid "Warning, duplicate EXPORT: %s\n" msgstr "Aviso, EXPORT duplicado: %s\n" -#: pe-dll.c:725 +#: pe-dll.c:751 #, c-format msgid "%XCannot export %s: symbol not defined\n" msgstr "%XNo se puede exportar %s: símbolo no definido\n" -#: pe-dll.c:731 +#: pe-dll.c:757 #, c-format msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" msgstr "%XNo se puede exportar %s: tipo erróneo del símbolo (%d vs %d)\n" -#: pe-dll.c:738 +#: pe-dll.c:764 #, c-format msgid "%XCannot export %s: symbol not found\n" msgstr "%XNo se puede exportar %s: no se encuentra el símbolo\n" -#: pe-dll.c:850 +#: pe-dll.c:877 #, c-format msgid "%XError, ordinal used twice: %d (%s vs %s)\n" msgstr "%XError, ordinal utilizado dos veces: %d (%s vs %s)\n" -#: pe-dll.c:1172 +#: pe-dll.c:1219 #, c-format msgid "%XError: %d-bit reloc in dll\n" msgstr "%XError: reubicación de %d-bit en la dll\n" -#: pe-dll.c:1300 +#: pe-dll.c:1347 #, c-format msgid "%s: Can't open output def file %s\n" msgstr "%s: No se puede abrir el fichero por defecto de salida %s\n" -#: pe-dll.c:1443 +#: pe-dll.c:1490 #, c-format msgid "; no contents available\n" msgstr "; no hay contenido disponible\n" -#: pe-dll.c:2205 +#: pe-dll.c:2252 msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" msgstr "%C: no se puede auto-importar la variable '%T'. Por favor lea la documentación para --enable-auto-import de ld para más detalles.\n" -#: pe-dll.c:2235 +#: pe-dll.c:2282 #, c-format msgid "%XCan't open .lib file: %s\n" msgstr "%XNo se puede abrir el fichero .lib: %s\n" -#: pe-dll.c:2240 +#: pe-dll.c:2287 #, c-format msgid "Creating library file: %s\n" msgstr "Creando el fichero de biblioteca: %s\n" +#~ msgid "%P%F: out of memory during initialization" +#~ msgstr "%P%F: memoria agotada durante la inicialización" + +#~ msgid "%P%F: -static and -shared may not be used together\n" +#~ msgstr "%P%F: no se pueden usar juntos -static y -shared\n" + +#~ msgid "%P%X: generated" +#~ msgstr "%P%X: generado" + #~ msgid "%F%P: %s uses undefined section %s\n" #~ msgstr "%F%P: %s usa la sección sin definir %s\n" diff --git a/ld/po/ld.pot b/ld/po/ld.pot index 567d0e5736f..549ecf46adc 100644 --- a/ld/po/ld.pot +++ b/ld/po/ld.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-10-24 11:45+0930\n" +"POT-Creation-Date: 2006-03-25 18:36+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -333,20 +333,20 @@ msgstr "" msgid "Errors encountered processing file %s for interworking" msgstr "" -#: emultempl/pe.em:1345 ldexp.c:522 ldlang.c:2928 ldlang.c:5785 ldlang.c:5816 -#: ldmain.c:1164 +#: emultempl/pe.em:1345 ldexp.c:522 ldlang.c:2946 ldlang.c:5800 ldlang.c:5831 +#: ldmain.c:1167 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "" -#: ldcref.c:153 +#: ldcref.c:154 msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n" msgstr "" -#: ldcref.c:159 +#: ldcref.c:160 msgid "%X%P: cref_hash_lookup failed: %E\n" msgstr "" -#: ldcref.c:225 +#: ldcref.c:226 #, c-format msgid "" "\n" @@ -354,33 +354,33 @@ msgid "" "\n" msgstr "" -#: ldcref.c:226 +#: ldcref.c:227 msgid "Symbol" msgstr "" -#: ldcref.c:234 +#: ldcref.c:235 #, c-format msgid "File\n" msgstr "" -#: ldcref.c:238 +#: ldcref.c:239 #, c-format msgid "No symbols\n" msgstr "" -#: ldcref.c:359 ldcref.c:481 +#: ldcref.c:360 ldcref.c:482 msgid "%B%F: could not read symbols; %E\n" msgstr "" -#: ldcref.c:363 ldcref.c:485 ldmain.c:1229 ldmain.c:1233 +#: ldcref.c:364 ldcref.c:486 ldmain.c:1232 ldmain.c:1236 msgid "%B%F: could not read symbols: %E\n" msgstr "" -#: ldcref.c:414 +#: ldcref.c:415 msgid "%P: symbol `%T' missing from main hash table\n" msgstr "" -#: ldcref.c:556 ldcref.c:563 ldmain.c:1276 ldmain.c:1283 +#: ldcref.c:557 ldcref.c:564 ldmain.c:1279 ldmain.c:1286 msgid "%B%F: could not read relocs: %E\n" msgstr "" @@ -388,7 +388,7 @@ msgstr "" #. in OUTSECNAME. This reloc is from a section which is #. mapped into a section from which references to OUTSECNAME #. are prohibited. We must report an error. -#: ldcref.c:590 +#: ldcref.c:591 msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n" msgstr "" @@ -482,16 +482,16 @@ msgstr "" msgid "%F%S cannot move location counter backwards (from %V to %V)\n" msgstr "" -#: ldexp.c:750 +#: ldexp.c:748 msgid "%P%F:%s: hash creation failed\n" msgstr "" -#: ldexp.c:1002 ldexp.c:1027 +#: ldexp.c:1000 ldexp.c:1025 #, c-format msgid "%F%S nonconstant expression for %s\n" msgstr "" -#: ldexp.c:1084 +#: ldexp.c:1082 #, c-format msgid "%F%S non constant expression for %s\n" msgstr "" @@ -552,50 +552,46 @@ msgstr "" msgid "%P%F: cannot represent machine `%s'\n" msgstr "" -#: ldlang.c:901 ldlang.c:5388 -msgid "%P%F: Failed to create hash table\n" -msgstr "" - -#: ldlang.c:941 -msgid "%P%F: out of memory during initialization" +#: ldlang.c:940 ldlang.c:982 ldlang.c:2695 +msgid "%P%F: can not create hash table: %E\n" msgstr "" -#: ldlang.c:984 +#: ldlang.c:1025 msgid "%P:%S: warning: redeclaration of memory region '%s'\n" msgstr "" -#: ldlang.c:990 +#: ldlang.c:1031 msgid "%P:%S: warning: memory region %s not declared\n" msgstr "" -#: ldlang.c:1107 -msgid "%P%F: bfd_hash_lookup failed creating section `%s'\n" +#: ldlang.c:1108 ldlang.c:1135 +msgid "%P%F: failed creating section `%s': %E\n" msgstr "" -#: ldlang.c:1575 +#: ldlang.c:1601 msgid "" "\n" "Memory Configuration\n" "\n" msgstr "" -#: ldlang.c:1577 +#: ldlang.c:1603 msgid "Name" msgstr "" -#: ldlang.c:1577 +#: ldlang.c:1603 msgid "Origin" msgstr "" -#: ldlang.c:1577 +#: ldlang.c:1603 msgid "Length" msgstr "" -#: ldlang.c:1577 +#: ldlang.c:1603 msgid "Attributes" msgstr "" -#: ldlang.c:1617 +#: ldlang.c:1643 #, c-format msgid "" "\n" @@ -603,217 +599,217 @@ msgid "" "\n" msgstr "" -#: ldlang.c:1683 +#: ldlang.c:1709 msgid "%P%F: Illegal use of `%s' section\n" msgstr "" -#: ldlang.c:1690 +#: ldlang.c:1716 msgid "%P%F: output format %s cannot represent section called %s\n" msgstr "" -#: ldlang.c:2295 +#: ldlang.c:2313 msgid "%B: file not recognized: %E\n" msgstr "" -#: ldlang.c:2296 +#: ldlang.c:2314 msgid "%B: matching formats:" msgstr "" -#: ldlang.c:2303 +#: ldlang.c:2321 msgid "%F%B: file not recognized: %E\n" msgstr "" -#: ldlang.c:2367 +#: ldlang.c:2385 msgid "%F%B: member %B in archive is not an object\n" msgstr "" -#: ldlang.c:2378 ldlang.c:2392 +#: ldlang.c:2396 ldlang.c:2410 msgid "%F%B: could not read symbols: %E\n" msgstr "" -#: ldlang.c:2647 +#: ldlang.c:2665 msgid "" "%P: warning: could not find any targets that match endianness requirement\n" msgstr "" -#: ldlang.c:2661 +#: ldlang.c:2679 msgid "%P%F: target %s not found\n" msgstr "" -#: ldlang.c:2663 +#: ldlang.c:2681 msgid "%P%F: cannot open output file %s: %E\n" msgstr "" -#: ldlang.c:2669 +#: ldlang.c:2687 msgid "%P%F:%s: can not make object file: %E\n" msgstr "" -#: ldlang.c:2673 +#: ldlang.c:2691 msgid "%P%F:%s: can not set architecture: %E\n" msgstr "" -#: ldlang.c:2677 -msgid "%P%F: can not create link hash table: %E\n" -msgstr "" - -#: ldlang.c:2821 +#: ldlang.c:2839 msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" msgstr "" -#: ldlang.c:2839 +#: ldlang.c:2857 msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" msgstr "" -#: ldlang.c:3270 +#: ldlang.c:3288 msgid " load address 0x%V" msgstr "" -#: ldlang.c:3510 +#: ldlang.c:3528 msgid "%W (size before relaxing)\n" msgstr "" -#: ldlang.c:3597 +#: ldlang.c:3615 #, c-format msgid "Address of section %s set to " msgstr "" -#: ldlang.c:3750 +#: ldlang.c:3768 #, c-format msgid "Fail with %d\n" msgstr "" -#: ldlang.c:4021 +#: ldlang.c:4040 msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n" msgstr "" -#: ldlang.c:4046 +#: ldlang.c:4065 msgid "%X%P: address 0x%v of %B section %s is not within region %s\n" msgstr "" -#: ldlang.c:4055 +#: ldlang.c:4074 msgid "%X%P: region %s is full (%B section %s)\n" msgstr "" -#: ldlang.c:4095 +#: ldlang.c:4114 #, c-format msgid "" "%F%S: non constant or forward reference address expression for section %s\n" msgstr "" -#: ldlang.c:4120 +#: ldlang.c:4139 msgid "%P%X: Internal error on COFF shared library section %s\n" msgstr "" -#: ldlang.c:4176 +#: ldlang.c:4197 msgid "%P%F: error: no memory region specified for loadable section `%s'\n" msgstr "" -#: ldlang.c:4181 +#: ldlang.c:4202 msgid "%P: warning: no memory region specified for loadable section `%s'\n" msgstr "" -#: ldlang.c:4198 +#: ldlang.c:4224 msgid "%P: warning: changing start of section %s by %lu bytes\n" msgstr "" -#: ldlang.c:4369 +#: ldlang.c:4388 msgid "%P%F: can't relax section: %E\n" msgstr "" -#: ldlang.c:4617 +#: ldlang.c:4636 msgid "%F%P: invalid data statement\n" msgstr "" -#: ldlang.c:4650 +#: ldlang.c:4669 msgid "%F%P: invalid reloc statement\n" msgstr "" -#: ldlang.c:4783 +#: ldlang.c:4802 msgid "%P%F:%s: can't set start address\n" msgstr "" -#: ldlang.c:4796 ldlang.c:4815 +#: ldlang.c:4815 ldlang.c:4834 msgid "%P%F: can't set start address\n" msgstr "" -#: ldlang.c:4808 +#: ldlang.c:4827 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" msgstr "" -#: ldlang.c:4820 +#: ldlang.c:4839 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" msgstr "" -#: ldlang.c:4869 +#: ldlang.c:4888 msgid "" "%P%F: Relocatable linking with relocations from format %s (%B) to format %s " "(%B) is not supported\n" msgstr "" -#: ldlang.c:4879 +#: ldlang.c:4898 msgid "" "%P: warning: %s architecture of input file `%B' is incompatible with %s " "output\n" msgstr "" -#: ldlang.c:4901 +#: ldlang.c:4920 msgid "%P%X: failed to merge target specific data of file %B\n" msgstr "" -#: ldlang.c:4985 +#: ldlang.c:5004 msgid "" "\n" "Allocating common symbols\n" msgstr "" -#: ldlang.c:4986 +#: ldlang.c:5005 msgid "" "Common symbol size file\n" "\n" msgstr "" -#: ldlang.c:5112 +#: ldlang.c:5131 msgid "%P%F: invalid syntax in flags\n" msgstr "" -#: ldlang.c:5707 +#: ldlang.c:5406 +msgid "%P%F: Failed to create hash table\n" +msgstr "" + +#: ldlang.c:5722 msgid "%P%F: multiple STARTUP files\n" msgstr "" -#: ldlang.c:5755 +#: ldlang.c:5770 msgid "%X%P:%S: section has both a load address and a load region\n" msgstr "" -#: ldlang.c:5992 +#: ldlang.c:6007 msgid "%F%P: bfd_record_phdr failed: %E\n" msgstr "" -#: ldlang.c:6012 +#: ldlang.c:6027 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" msgstr "" -#: ldlang.c:6403 +#: ldlang.c:6418 msgid "%X%P: unknown language `%s' in version information\n" msgstr "" -#: ldlang.c:6545 +#: ldlang.c:6560 msgid "" "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "" -#: ldlang.c:6554 +#: ldlang.c:6569 msgid "%X%P: duplicate version tag `%s'\n" msgstr "" -#: ldlang.c:6574 ldlang.c:6583 ldlang.c:6600 ldlang.c:6610 +#: ldlang.c:6589 ldlang.c:6598 ldlang.c:6615 ldlang.c:6625 msgid "%X%P: duplicate expression `%s' in version information\n" msgstr "" -#: ldlang.c:6650 +#: ldlang.c:6665 msgid "%X%P: unable to find version dependency `%s'\n" msgstr "" -#: ldlang.c:6672 +#: ldlang.c:6687 msgid "%X%P: unable to read .exports section contents\n" msgstr "" @@ -877,7 +873,7 @@ msgstr "" msgid "%P: Error writing file `%s'\n" msgstr "" -#: ldmain.c:535 pe-dll.c:1447 +#: ldmain.c:535 pe-dll.c:1494 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "" @@ -896,196 +892,196 @@ msgstr "" msgid "%P%F: missing argument to -m\n" msgstr "" -#: ldmain.c:783 ldmain.c:801 ldmain.c:831 +#: ldmain.c:784 ldmain.c:803 ldmain.c:834 msgid "%P%F: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:787 ldmain.c:805 +#: ldmain.c:788 ldmain.c:807 msgid "%P%F: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:819 +#: ldmain.c:821 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "" -#: ldmain.c:861 +#: ldmain.c:864 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" msgstr "" -#: ldmain.c:866 +#: ldmain.c:869 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "" -#: ldmain.c:941 +#: ldmain.c:944 #, c-format msgid "" "Archive member included because of file (symbol)\n" "\n" msgstr "" -#: ldmain.c:1011 +#: ldmain.c:1014 msgid "%X%C: multiple definition of `%T'\n" msgstr "" -#: ldmain.c:1014 +#: ldmain.c:1017 msgid "%D: first defined here\n" msgstr "" -#: ldmain.c:1018 +#: ldmain.c:1021 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" msgstr "" -#: ldmain.c:1048 +#: ldmain.c:1051 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "" -#: ldmain.c:1051 +#: ldmain.c:1054 msgid "%B: warning: common is here\n" msgstr "" -#: ldmain.c:1058 +#: ldmain.c:1061 msgid "%B: warning: common of `%T' overridden by definition\n" msgstr "" -#: ldmain.c:1061 +#: ldmain.c:1064 msgid "%B: warning: defined here\n" msgstr "" -#: ldmain.c:1068 +#: ldmain.c:1071 msgid "%B: warning: common of `%T' overridden by larger common\n" msgstr "" -#: ldmain.c:1071 +#: ldmain.c:1074 msgid "%B: warning: larger common is here\n" msgstr "" -#: ldmain.c:1075 +#: ldmain.c:1078 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "" -#: ldmain.c:1078 +#: ldmain.c:1081 msgid "%B: warning: smaller common is here\n" msgstr "" -#: ldmain.c:1082 +#: ldmain.c:1085 msgid "%B: warning: multiple common of `%T'\n" msgstr "" -#: ldmain.c:1084 +#: ldmain.c:1087 msgid "%B: warning: previous common is here\n" msgstr "" -#: ldmain.c:1104 ldmain.c:1142 +#: ldmain.c:1107 ldmain.c:1145 msgid "%P: warning: global constructor %s used\n" msgstr "" -#: ldmain.c:1152 +#: ldmain.c:1155 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" msgstr "" #. We found a reloc for the symbol we are looking for. -#: ldmain.c:1206 ldmain.c:1208 ldmain.c:1210 ldmain.c:1248 ldmain.c:1296 +#: ldmain.c:1209 ldmain.c:1211 ldmain.c:1213 ldmain.c:1251 ldmain.c:1299 msgid "warning: " msgstr "" -#: ldmain.c:1330 +#: ldmain.c:1334 msgid "%F%P: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:1337 +#: ldmain.c:1341 msgid "%F%P: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:1358 +#: ldmain.c:1362 msgid "%X%C: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1361 +#: ldmain.c:1365 msgid "%C: warning: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1367 +#: ldmain.c:1371 msgid "%X%D: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1370 +#: ldmain.c:1374 msgid "%D: warning: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1381 +#: ldmain.c:1385 msgid "%X%B: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1384 +#: ldmain.c:1388 msgid "%B: warning: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1390 +#: ldmain.c:1394 msgid "%X%B: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1393 +#: ldmain.c:1397 msgid "%B: warning: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1432 +#: ldmain.c:1436 msgid " additional relocation overflows omitted from the output\n" msgstr "" -#: ldmain.c:1445 +#: ldmain.c:1449 msgid " relocation truncated to fit: %s against undefined symbol `%T'" msgstr "" -#: ldmain.c:1450 +#: ldmain.c:1454 msgid "" " relocation truncated to fit: %s against symbol `%T' defined in %A section " "in %B" msgstr "" -#: ldmain.c:1462 +#: ldmain.c:1466 msgid " relocation truncated to fit: %s against `%T'" msgstr "" -#: ldmain.c:1479 +#: ldmain.c:1483 #, c-format msgid "%X%C: dangerous relocation: %s\n" msgstr "" -#: ldmain.c:1494 +#: ldmain.c:1498 msgid "%X%C: reloc refers to symbol `%T' which is not being output\n" msgstr "" -#: ldmisc.c:149 +#: ldmisc.c:147 #, c-format msgid "no symbol" msgstr "" -#: ldmisc.c:240 +#: ldmisc.c:238 #, c-format msgid "built in linker script:%u" msgstr "" -#: ldmisc.c:296 ldmisc.c:300 +#: ldmisc.c:294 ldmisc.c:298 msgid "%B%F: could not read symbols\n" msgstr "" -#: ldmisc.c:342 +#: ldmisc.c:340 msgid "%B: In function `%T'" msgstr "" -#: ldmisc.c:493 +#: ldmisc.c:510 msgid "%F%P: internal error %s %d\n" msgstr "" -#: ldmisc.c:539 +#: ldmisc.c:556 msgid "%P: internal error: aborting at %s line %d in %s\n" msgstr "" -#: ldmisc.c:542 +#: ldmisc.c:559 msgid "%P: internal error: aborting at %s line %d\n" msgstr "" -#: ldmisc.c:544 +#: ldmisc.c:561 msgid "%P%F: please report this bug\n" msgstr "" @@ -1116,20 +1112,20 @@ msgstr "" msgid "%P%F: bfd_new_link_order failed\n" msgstr "" -#: ldwrite.c:341 +#: ldwrite.c:344 msgid "%F%P: cannot create split section name for %s\n" msgstr "" -#: ldwrite.c:353 +#: ldwrite.c:356 msgid "%F%P: clone section failed: %E\n" msgstr "" -#: ldwrite.c:391 +#: ldwrite.c:394 #, c-format msgid "%8x something else\n" msgstr "" -#: ldwrite.c:561 +#: ldwrite.c:564 msgid "%F%P: final link failed: %E\n" msgstr "" @@ -1802,34 +1798,44 @@ msgstr "" msgid "%P%F: invalid hex number `%s'\n" msgstr "" -#: lexsup.c:1446 +#: lexsup.c:1447 #, c-format msgid "Usage: %s [options] file...\n" msgstr "" -#: lexsup.c:1448 +#: lexsup.c:1449 #, c-format msgid "Options:\n" msgstr "" +#: lexsup.c:1527 +#, c-format +msgid " @FILE" +msgstr "" + +#: lexsup.c:1530 +#, c-format +msgid "Read options from FILE\n" +msgstr "" + #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:1531 +#: lexsup.c:1535 #, c-format msgid "%s: supported targets:" msgstr "" -#: lexsup.c:1539 +#: lexsup.c:1543 #, c-format msgid "%s: supported emulations: " msgstr "" -#: lexsup.c:1544 +#: lexsup.c:1548 #, c-format msgid "%s: emulation specific options:\n" msgstr "" -#: lexsup.c:1548 +#: lexsup.c:1552 #, c-format msgid "Report bugs to %s\n" msgstr "" @@ -1843,63 +1849,68 @@ msgstr "" msgid "%XUnsupported PEI architecture: %s\n" msgstr "" -#: pe-dll.c:652 +#: pe-dll.c:604 +#, c-format +msgid "%XCannot export %s: invalid export name\n" +msgstr "" + +#: pe-dll.c:657 #, c-format msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n" msgstr "" -#: pe-dll.c:659 +#: pe-dll.c:664 #, c-format msgid "Warning, duplicate EXPORT: %s\n" msgstr "" -#: pe-dll.c:725 +#: pe-dll.c:751 #, c-format msgid "%XCannot export %s: symbol not defined\n" msgstr "" -#: pe-dll.c:731 +#: pe-dll.c:757 #, c-format msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" msgstr "" -#: pe-dll.c:738 +#: pe-dll.c:764 #, c-format msgid "%XCannot export %s: symbol not found\n" msgstr "" -#: pe-dll.c:850 +#: pe-dll.c:877 #, c-format msgid "%XError, ordinal used twice: %d (%s vs %s)\n" msgstr "" -#: pe-dll.c:1172 +#: pe-dll.c:1219 #, c-format msgid "%XError: %d-bit reloc in dll\n" msgstr "" -#: pe-dll.c:1300 +#: pe-dll.c:1347 #, c-format msgid "%s: Can't open output def file %s\n" msgstr "" -#: pe-dll.c:1443 +#: pe-dll.c:1490 #, c-format msgid "; no contents available\n" msgstr "" -#: pe-dll.c:2205 +#: pe-dll.c:2252 msgid "" "%C: variable '%T' can't be auto-imported. Please read the documentation for " "ld's --enable-auto-import for details.\n" msgstr "" -#: pe-dll.c:2235 +#: pe-dll.c:2282 #, c-format msgid "%XCan't open .lib file: %s\n" msgstr "" -#: pe-dll.c:2240 +#: pe-dll.c:2287 #, c-format msgid "Creating library file: %s\n" msgstr "" diff --git a/ld/po/vi.po b/ld/po/vi.po index 54a5e260839..08d08b8f562 100644 --- a/ld/po/vi.po +++ b/ld/po/vi.po @@ -1,20 +1,20 @@ # Vietnamese translation for LD. -# Copyright © 2005 Free Software Foundation, Inc. -# Clytie Siddall , 2005. +# Copyright © 2006 Free Software Foundation, Inc. +# Clytie Siddall , 2005-2006. # msgid "" msgstr "" -"Project-Id-Version: ld-2.15.96\n" +"Project-Id-Version: ld-2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-03 21:05+1030\n" -"PO-Revision-Date: 2005-12-24 14:47+1030\n" +"POT-Creation-Date: 2006-03-25 18:36+0100\n" +"PO-Revision-Date: 2006-05-23 21:31+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \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.5.1b\n" +"X-Generator: LocFactoryEditor 1.6b34\n" #: emultempl/armcoff.em:72 #, c-format @@ -31,163 +31,163 @@ msgstr " --thumb-entry= Lập điểm _vào_ là ký hiệu _Hình msgid "Errors encountered processing file %s" msgstr "Gặp lỗi khi xá»­ lý tập tin %s" -#: emultempl/armcoff.em:188 emultempl/pe.em:1455 +#: emultempl/armcoff.em:190 emultempl/pe.em:1460 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" msgstr "%P: cảnh báo: « --thumb-entry %s » đang lấy quyền cao hÆ¡n « -e %s »\n" -#: emultempl/armcoff.em:193 emultempl/pe.em:1460 +#: emultempl/armcoff.em:195 emultempl/pe.em:1465 msgid "%P: warning: connot find thumb start symbol %s\n" -msgstr "%P: warning: connot find thumb start symbol %s\n" +msgstr "%P: cảnh báo : không tìm thấy ký hiệu bắt đầu thumb %s\n" -#: emultempl/pe.em:301 +#: emultempl/pe.em:304 #, c-format msgid " --base_file Generate a base file for relocatable DLLs\n" msgstr "" -" --base_file Tạo ra một _tập tin cÆ¡ bản_ choocác ata\n" -"\t\t\t\t\t\t\tcó thể định vị lạile DLLs\n" +" --base_file \n" +"\tTạo ra một _tập tin cÆ¡ bản_ cho các DLL có khả năng định vị lại\n" -#: emultempl/pe.em:302 +#: emultempl/pe.em:305 #, c-format msgid " --dll Set image base to the default for DLLs\n" msgstr " --dll Lập cÆ¡ bản ảnh là mặc định cho các DLL\n" -#: emultempl/pe.em:303 +#: emultempl/pe.em:306 #, c-format msgid " --file-alignment Set file alignment\n" msgstr " --file-alignment Lập cách _canh lề tập tin_\n" -#: emultempl/pe.em:304 +#: emultempl/pe.em:307 #, c-format msgid " --heap Set initial size of the heap\n" msgstr " --heap Lập kích cỡ _miền nhớ_ ban đầu\n" -#: emultempl/pe.em:305 +#: emultempl/pe.em:308 #, c-format msgid " --image-base
Set start address of the executable\n" msgstr "" " --image-base <địa_chỉ> Lập địa chỉ bắt đầu cá»§a ứng dụng chạy được\n" "\t\t\t\t\t\t\t\t (_cÆ¡ bản ảnh_)\n" -#: emultempl/pe.em:306 +#: emultempl/pe.em:309 #, c-format msgid " --major-image-version Set version number of the executable\n" msgstr "" " --major-image-version \tLập số thứ tá»± _phiên bản_\n" "\t\t\t\t\tcá»§a ứng dụng chạy được (_ảnh lớn_)\n" -#: emultempl/pe.em:307 +#: emultempl/pe.em:310 #, c-format msgid " --major-os-version Set minimum required OS version\n" msgstr "" " --major-os-version \t\tLập số thứ tá»± _phiên bản\n" "\t\t\t\thệ điều hành_ tối thiểu cần thiết (_lớn_)\n" -#: emultempl/pe.em:308 +#: emultempl/pe.em:311 #, c-format msgid " --major-subsystem-version Set minimum required OS subsystem version\n" msgstr "" " --major-subsystem-version \t Lập số thứ tá»± _phiên bản\n" "\t\t\t\thệ điều hành con_ tối thiểu cần thiết (_lớn_)\n" -#: emultempl/pe.em:309 +#: emultempl/pe.em:312 #, c-format msgid " --minor-image-version Set revision number of the executable\n" msgstr "" " --minor-image-version \tLập số thứ tá»± bản sá»­a đổi\n" "\tcá»§a ứng dụng chạy được (_phiên bản ảnh nhỏ_)\n" -#: emultempl/pe.em:310 +#: emultempl/pe.em:313 #, c-format msgid " --minor-os-version Set minimum required OS revision\n" msgstr "" " --minor-os-version \t\tLập số thứ tá»± bản sá»­a đổi\n" "\t\tcá»§a hệ điều hành cần thiết (_phiên bản hệ điều hành nhỏ_)\n" -#: emultempl/pe.em:311 +#: emultempl/pe.em:314 #, c-format msgid " --minor-subsystem-version Set minimum required OS subsystem revision\n" msgstr "" " --minor-subsystem-version \t Lập số thứ tá»± bản sá»­a đổi\n" "\t\tcá»§a hệ điều hành con cần thiết (_phiên bản hệ điều hành con nhỏ_)\n" -#: emultempl/pe.em:312 +#: emultempl/pe.em:315 #, c-format msgid " --section-alignment Set section alignment\n" msgstr " --section-alignment Lập cách _canh lề phần_\n" -#: emultempl/pe.em:313 +#: emultempl/pe.em:316 #, c-format msgid " --stack Set size of the initial stack\n" msgstr " --stack Lập kích cỡ cá»§a _đống_ ban đầu\n" -#: emultempl/pe.em:314 +#: emultempl/pe.em:317 #, c-format msgid " --subsystem [:] Set required OS subsystem [& version]\n" msgstr " --subsystem [:] Lập _hệ điều hành con_ [và phiên bản] cần thiết\n" -#: emultempl/pe.em:315 +#: emultempl/pe.em:318 #, c-format msgid " --support-old-code Support interworking with old code\n" msgstr " --support-old-code _Hỗ trợ_ dệt vào với _mã cÅ©_\n" -#: emultempl/pe.em:316 +#: emultempl/pe.em:319 #, c-format msgid " --thumb-entry= Set the entry point to be Thumb \n" -msgstr " --thumb-entry= Lập điểm _vào_ là ký hiệu _Hình Nhỏ_ này\n" +msgstr " --thumb-entry= Lập điểm _vào_ là ký hiệu _Thumb_ này\n" -#: emultempl/pe.em:318 +#: emultempl/pe.em:321 #, c-format msgid " --add-stdcall-alias Export symbols with and without @nn\n" msgstr " --add-stdcall-alias Xuất ký hiệu với và không với « @nn » (_thêm bí danh gọi chuẩn_)\n" -#: emultempl/pe.em:319 +#: emultempl/pe.em:322 #, c-format msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n" msgstr " --disable-stdcall-fixup Đừng liên kết « _sym » đến « _sym@nn » (_tắt sá»­a gọi chuẩn_)\n" -#: emultempl/pe.em:320 +#: emultempl/pe.em:323 #, c-format msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n" msgstr "" " --enable-stdcall-fixup Liên kết « _sym » đến « _sym@nn », không có cảnh báo\n" " \t\t\t\t\t\t\t(_bật sá»­a gọi chuẩn_)\n" -#: emultempl/pe.em:321 +#: emultempl/pe.em:324 #, c-format msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" msgstr " --exclude-symbols ký_hiệu,ký_hiệu,... _Loại trừ những ký hiệu_ này ra việc xuất tá»± động\n" -#: emultempl/pe.em:322 +#: emultempl/pe.em:325 #, c-format msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" msgstr " --exclude-libs thư_viên,thư_viên,... _Loại trừ những thư viên_ này ra việc xuất tá»± động\n" -#: emultempl/pe.em:323 +#: emultempl/pe.em:326 #, c-format msgid " --export-all-symbols Automatically export all globals to DLL\n" msgstr " --export-all-symbols Tá»± động _xuất mọi_ điều toàn cục vào DLL (_ký hiệu_)\n" -#: emultempl/pe.em:324 +#: emultempl/pe.em:327 #, c-format msgid " --kill-at Remove @nn from exported symbols\n" msgstr " --kill-at Gỡ bỏ « @nn » ra những ký hiệu đã xuất (_buộc kết thức tại_)\n" -#: emultempl/pe.em:325 +#: emultempl/pe.em:328 #, c-format msgid " --out-implib Generate import library\n" msgstr " --out-implib Tạo _ra thư viên nhập_\n" -#: emultempl/pe.em:326 +#: emultempl/pe.em:329 #, c-format msgid " --output-def Generate a .DEF file for the built DLL\n" msgstr " --output-def Tạo _ra_ một tập tin .DEF cho DLL đã xây dụng\n" -#: emultempl/pe.em:327 +#: emultempl/pe.em:330 #, c-format msgid " --warn-duplicate-exports Warn about duplicate exports.\n" msgstr " --warn-duplicate-exports _Cảnh báo_ về _việc xuất trùng_ nào.\n" -#: emultempl/pe.em:328 +#: emultempl/pe.em:331 #, c-format msgid "" " --compat-implib Create backward compatible import libs;\n" @@ -196,7 +196,7 @@ msgstr "" " --compat-implib Tạo các _thư viên nhập tương thích_ ngược;\n" "\t\t\t\t\tcÅ©ng tạo « __imp_ ».\n" -#: emultempl/pe.em:330 +#: emultempl/pe.em:333 #, c-format msgid "" " --enable-auto-image-base Automatically choose image base for DLLs\n" @@ -205,12 +205,12 @@ msgstr "" " --enable-auto-image-base Tá»± động chọn cÆ¡ bản ảnh cho mọi DLL\n" "\t\t\t\t\t\t\ttrừ khi người dùng gõ nó\n" -#: emultempl/pe.em:332 +#: emultempl/pe.em:335 #, c-format msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" msgstr " --disable-auto-image-base Đừng _tá»± động_ chọn _cÆ¡ bản ảnh_ (mặc định) (_tắt_)\n" -#: emultempl/pe.em:333 +#: emultempl/pe.em:336 #, c-format msgid "" " --dll-search-prefix= When linking dynamically to a dll without\n" @@ -221,7 +221,7 @@ msgstr "" "\thãy dùng « .dll » hÆ¡n « .dll »\n" "\t(_tiền_tố_tìm_kiếm_)\n" -#: emultempl/pe.em:336 +#: emultempl/pe.em:339 #, c-format msgid "" " --enable-auto-import Do sophistcated linking of _sym to\n" @@ -231,12 +231,12 @@ msgstr "" "\t« _sym » đến « __imp_sym » cho các tham chiếu DATA (dữ liệu)\n" "\t(_bật nhập tá»± động)\n" -#: emultempl/pe.em:338 +#: emultempl/pe.em:341 #, c-format msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" msgstr " --disable-auto-import Đừng _tá»± động nhập_ mục DATA từ DLL (_tắt_)\n" -#: emultempl/pe.em:339 +#: emultempl/pe.em:342 #, c-format msgid "" " --enable-runtime-pseudo-reloc Work around auto-import limitations by\n" @@ -246,7 +246,7 @@ msgstr "" " --enable-runtime-pseudo-reloc Chỉnh sá»­a các hạn chế nhập tá»± động,\n" "\tbằng cách thêm các việc _định vị lại giả_ được tháo gỡ vào _lúc chạy_. (_bật_)\n" -#: emultempl/pe.em:342 +#: emultempl/pe.em:345 #, c-format msgid "" " --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n" @@ -255,7 +255,7 @@ msgstr "" " --disable-runtime-pseudo-reloc Đừng thêm việc _định vị lại giả_\n" "\tvào _lúc chạy_ cho DATA (dữ liệu) được nhập tá»± động. (_tắt_)\n" -#: emultempl/pe.em:344 +#: emultempl/pe.em:347 #, c-format msgid "" " --enable-extra-pe-debug Enable verbose debug output when building\n" @@ -264,7 +264,7 @@ msgstr "" " --enable-extra-pe-debug _Bật_ xuất dữ liệu _gỡ lỗi_ chi tiết\n" "\ttrong khi xây dụng hay liên kết đến DLL nào (nhất là việc tá»± động nhập) (_thêm_)\n" -#: emultempl/pe.em:347 +#: emultempl/pe.em:350 #, c-format msgid "" " --large-address-aware Executable supports virtual addresses\n" @@ -273,82 +273,82 @@ msgstr "" " --large-address-aware Ứng dụng chạy có hỗ trợ _địa chỉ_ ảo _lớn_ hÆ¡n 2 GB\n" "\t\t\t\t\t\t\t(_kiến thức_)\n" -#: emultempl/pe.em:414 +#: emultempl/pe.em:417 msgid "%P: warning: bad version number in -subsystem option\n" msgstr "%P: cảnh báo: gặp số thứ tá»± phiên bản sai trong tùy chọn « -subsystem » (hệ thống con)\n" -#: emultempl/pe.em:445 +#: emultempl/pe.em:448 msgid "%P%F: invalid subsystem type %s\n" -msgstr "%P%F: invalid subsystem type %s\n" +msgstr "%P%F: kiểu hệ thống con không hợp lệ %s\n" -#: emultempl/pe.em:484 +#: emultempl/pe.em:487 msgid "%P%F: invalid hex number for PE parameter '%s'\n" -msgstr "%P%F: invalid hex number for PE parameter '%s'\n" +msgstr "%P%F: số thập lục không hợp lệ cho tham số « %s »\n" -#: emultempl/pe.em:501 +#: emultempl/pe.em:504 msgid "%P%F: strange hex info for PE parameter '%s'\n" -msgstr "%P%F: thông tin thập lục lạ cho tham sốstr « %s »or PE parameter '%s'\n" +msgstr "%P%F: thông tin thập lục lạ cho tham số PE « %s »\n" -#: emultempl/pe.em:518 +#: emultempl/pe.em:521 #, c-format msgid "%s: Can't open base file %s\n" msgstr "%s: Không thể mở tập tin cÆ¡ bản %s\n" -#: emultempl/pe.em:734 +#: emultempl/pe.em:737 msgid "%P: warning, file alignment > section alignment.\n" msgstr "%P: cảnh báo, canh lề tập tin > canh lề phần.\n" -#: emultempl/pe.em:821 emultempl/pe.em:848 +#: emultempl/pe.em:824 emultempl/pe.em:851 #, c-format msgid "Warning: resolving %s by linking to %s\n" msgstr "Cảnh báo: đang tháo gỡ %s bằng cách liên kết đến %s\n" -#: emultempl/pe.em:826 emultempl/pe.em:853 +#: emultempl/pe.em:829 emultempl/pe.em:856 msgid "Use --enable-stdcall-fixup to disable these warnings\n" msgstr "Hãy dùng « --enable-stdcall-fixup » (bật sá»­a gọi chuẩn) để tắt các cảnh báo này\n" -#: emultempl/pe.em:827 emultempl/pe.em:854 +#: emultempl/pe.em:830 emultempl/pe.em:857 msgid "Use --disable-stdcall-fixup to disable these fixups\n" msgstr "Hãy dùng « --disable-stdcall-fixup » (tắt sá»­a gọi chuẩn) để tắt các việc sá»­a này\n" -#: emultempl/pe.em:873 +#: emultempl/pe.em:876 #, c-format msgid "%C: Cannot get section contents - auto-import exception\n" msgstr "%C: Không thể lấy nội dung phần: ngoài lệ nhập tá»± động\n" -#: emultempl/pe.em:910 +#: emultempl/pe.em:913 #, c-format msgid "Info: resolving %s by linking to %s (auto-import)\n" msgstr "Thông tin: đang tháo gỡ %s bằng cách liên kết đến %s (tá»± động nhập)\n" -#: emultempl/pe.em:983 +#: emultempl/pe.em:986 msgid "%F%P: PE operations on non PE file.\n" msgstr "%F%P: thao tác PE với tập tin không phải PE.\n" -#: emultempl/pe.em:1258 +#: emultempl/pe.em:1261 #, c-format msgid "Errors encountered processing file %s\n" msgstr "Gặp lỗi trong khi xá»­ lý tập tin %s\n" -#: emultempl/pe.em:1281 +#: emultempl/pe.em:1284 #, c-format msgid "Errors encountered processing file %s for interworking" msgstr "Gặp lỗi trong khi xá»­ lý tập tin %s để dệt vào với nhau" -#: emultempl/pe.em:1340 ldexp.c:570 ldlang.c:2408 ldlang.c:5135 ldlang.c:5166 -#: ldmain.c:1161 +#: emultempl/pe.em:1345 ldexp.c:522 ldlang.c:2946 ldlang.c:5800 ldlang.c:5831 +#: ldmain.c:1167 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "%P%F: « bfd_link_hash_lookup » (bfd liên kết băm tra cứu) thất bại: %E\n" -#: ldcref.c:153 +#: ldcref.c:154 msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n" msgstr "%X%P: « bfd_hash_table_init » (bfd băm bảng khởi động) với bảng cref thất bại: %E\n" -#: ldcref.c:159 +#: ldcref.c:160 msgid "%X%P: cref_hash_lookup failed: %E\n" -msgstr "%X%P: cref_hash_lookup failed: %E\n" +msgstr "%X%P: việc « cref_hash_lookup » bị lỗi: %E\n" -#: ldcref.c:225 +#: ldcref.c:226 #, c-format msgid "" "\n" @@ -359,47 +359,47 @@ msgstr "" "Bảng Tham Chiếu Chéo\n" "\n" -#: ldcref.c:226 +#: ldcref.c:227 msgid "Symbol" msgstr "Ký hiệu" -#: ldcref.c:234 +#: ldcref.c:235 #, c-format msgid "File\n" msgstr "Tập tin\n" -#: ldcref.c:238 +#: ldcref.c:239 #, c-format msgid "No symbols\n" msgstr "Không có ký hiệu\n" -#: ldcref.c:359 ldcref.c:478 +#: ldcref.c:360 ldcref.c:482 msgid "%B%F: could not read symbols; %E\n" -msgstr "%B%F: could not read symbols; %E\n" +msgstr "%B%F: không thể đọc các ký hiệu ; %E\n" -#: ldcref.c:363 ldcref.c:482 ldmain.c:1226 ldmain.c:1230 +#: ldcref.c:364 ldcref.c:486 ldmain.c:1232 ldmain.c:1236 msgid "%B%F: could not read symbols: %E\n" -msgstr "%B%F: could not read symbols: %E\n" +msgstr "%B%F: không thể đọc các ký hiệu : %E\n" -#: ldcref.c:414 +#: ldcref.c:415 msgid "%P: symbol `%T' missing from main hash table\n" -msgstr "%P: thiếu ký hiệus« mb »ltrong bảng băm chính table\n" +msgstr "%P: thiếu ký hiệu « %T » trong bảng băm chính\n" -#: ldcref.c:547 ldcref.c:554 ldmain.c:1273 ldmain.c:1280 +#: ldcref.c:557 ldcref.c:564 ldmain.c:1279 ldmain.c:1286 msgid "%B%F: could not read relocs: %E\n" -msgstr "%B%F: could not read relocs: %E\n" +msgstr "%B%F: không thể đọc các điều định vị lại : %E\n" #. We found a reloc for the symbol. The symbol is defined #. in OUTSECNAME. This reloc is from a section which is #. mapped into a section from which references to OUTSECNAME #. are prohibited. We must report an error. -#: ldcref.c:573 +#: ldcref.c:591 msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n" -msgstr "%X%C: không cho phép tham chiếu chéo từprohđếni« ed »ctrongss reference from %s to `%T' in %s\n" +msgstr "%X%C: không cho phép tham chiếu chéo từ %s đến « %T » trong %s\n" #: ldctor.c:84 msgid "%P%X: Different relocs used in set %s\n" -msgstr "%P%X: Sá»­ dụng sá»± định vị lại khác nhau trong tập hợpDifferent relocs used in set %s\n" +msgstr "%P%X: Sá»­ dụng sá»± định vị lại khác nhau trong tập hợp %s\n" #: ldctor.c:102 msgid "%P%X: Different object file formats composing set %s\n" @@ -411,7 +411,7 @@ msgstr "%P%X: %s không hỗ trợ định vị lại %s cho tập hợp %s\n" #: ldctor.c:316 msgid "%P%X: Unsupported size %d for set %s\n" -msgstr "%P%X: Unsupported size %d for set %s\n" +msgstr "%P%X: Không hỗ trợ kích cỡ %d cho tập hợp %s\n" #: ldctor.c:337 msgid "" @@ -420,86 +420,86 @@ msgid "" "\n" msgstr "" "\n" -"Set Symbol\n" +"Tập hợp Ký hiệu\n" "\n" -#: ldemul.c:227 +#: ldemul.c:236 #, c-format msgid "%S SYSLIB ignored\n" -msgstr "%S SYSLIB bị bỏ quaignored\n" +msgstr "%S SYSLIB bị bỏ qua\n" -#: ldemul.c:233 +#: ldemul.c:242 #, c-format msgid "%S HLL ignored\n" msgstr "%S HLL bị bỏ qua\n" -#: ldemul.c:253 +#: ldemul.c:262 msgid "%P: unrecognised emulation mode: %s\n" -msgstr "%P: unrecognised emulation mode: %s\n" +msgstr "%P: không nhận ra chế độ mô phỏng: %s\n" -#: ldemul.c:254 +#: ldemul.c:263 msgid "Supported emulations: " -msgstr "Mô phỏngHđã àm hỗ trợ:" +msgstr "Mô phỏng đã hỗ trợ : " -#: ldemul.c:296 +#: ldemul.c:305 #, c-format msgid " no emulation specific options.\n" msgstr " không có tùy chọn đặc trưng cho mô phỏng.\n" -#: ldexp.c:379 +#: ldexp.c:338 #, c-format msgid "%F%S %% by zero\n" msgstr "%F%S %% cho số không\n" -#: ldexp.c:386 +#: ldexp.c:346 #, c-format msgid "%F%S / by zero\n" msgstr "%F%S / cho số không\n" -#: ldexp.c:583 +#: ldexp.c:536 #, c-format msgid "%X%S: unresolvable symbol `%s' referenced in expression\n" msgstr "%X%S: ký hiệu không tháo gỡ được « %s » được tham chiếu trong biểu thức\n" -#: ldexp.c:604 +#: ldexp.c:547 #, c-format msgid "%F%S: undefined symbol `%s' referenced in expression\n" msgstr "%F%S: ký hiệu chưa định nghÄ©a « %s » được tham chiếu trong biểu thức\n" -#: ldexp.c:665 ldexp.c:678 +#: ldexp.c:608 ldexp.c:621 #, c-format msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n" msgstr "%F%S: miền MEMORY (nhớ) chưa định nghÄ©a « %s » được tham chiếu trong biểu thức\n" -#: ldexp.c:757 +#: ldexp.c:683 #, c-format msgid "%F%S can not PROVIDE assignment to location counter\n" msgstr "%F%S không thể PROVIDE (cung cấp) việc gán cho bộ đếm địa điểm\n" -#: ldexp.c:770 +#: ldexp.c:697 #, c-format msgid "%F%S invalid assignment to location counter\n" msgstr "%F%S việc gán không hợp lệ cho bộ đếm địa điểm\n" -#: ldexp.c:774 +#: ldexp.c:700 #, c-format msgid "%F%S assignment to location counter invalid outside of SECTION\n" msgstr "%F%S việc gán cho bộ đếm địa điểm không phải hợp lệ bên ngoài SECTION (phần)\n" -#: ldexp.c:783 +#: ldexp.c:709 msgid "%F%S cannot move location counter backwards (from %V to %V)\n" msgstr "%F%S không thể chạy ngược bộ đếm địa điểm (từ %V về %V)\n" -#: ldexp.c:810 +#: ldexp.c:748 msgid "%P%F:%s: hash creation failed\n" -msgstr "%P%F:%s: hash creation failed\n" +msgstr "%P%F:%s: việc tạo băm bị lỗi\n" -#: ldexp.c:1077 ldexp.c:1109 +#: ldexp.c:1000 ldexp.c:1025 #, c-format msgid "%F%S nonconstant expression for %s\n" -msgstr "%F%S biểu thức thay đổi chononconstant expression for %s\n" +msgstr "%F%S biểu thức thay đổi cho %s\n" -#: ldexp.c:1163 +#: ldexp.c:1082 #, c-format msgid "%F%S non constant expression for %s\n" msgstr "%F%S biểu thức thay đổi cho %s\n" @@ -512,15 +512,15 @@ msgstr "việc cố mở %s bị lỗi\n" #: ldfile.c:141 #, c-format msgid "attempt to open %s succeeded\n" -msgstr "%s đã được mở\n" +msgstr "việc cố mở %s đã thành công\n" #: ldfile.c:147 msgid "%F%P: invalid BFD target `%s'\n" -msgstr "%F%P: invalid BFD target `%s'\n" +msgstr "%F%P: đích BFD không hợp lệ « %s »\n" #: ldfile.c:255 ldfile.c:282 msgid "%P: skipping incompatible %s when searching for %s\n" -msgstr "%P: đang nhảy quaskipkhông tương thích trong khi tìm kiếm%s when searching for %s\n" +msgstr "%P: đang nhảy qua %s không tương thích trong khi tìm kiếm %s\n" #: ldfile.c:267 msgid "%F%P: attempted static link of dynamic object `%s'\n" @@ -532,15 +532,15 @@ msgstr "%F%P: %s (%s): Không có tập tin như vậy: %E\n" #: ldfile.c:387 msgid "%F%P: %s: No such file: %E\n" -msgstr "%F%P: %s: No such file: %E\n" +msgstr "%F%P: %s: Không có tập tin như vậy: %E\n" #: ldfile.c:417 msgid "%F%P: cannot find %s inside %s\n" -msgstr "%F%P: cannot find %s inside %s\n" +msgstr "%F%P: không tìm thấy được %s ở trong %s\n" #: ldfile.c:420 msgid "%F%P: cannot find %s\n" -msgstr "%F%P: cannot find %s\n" +msgstr "%F%P: không tìm thấy được %s\n" #: ldfile.c:437 ldfile.c:453 #, c-format @@ -554,51 +554,55 @@ msgstr "đã mở tập tin tập lệnh %s\n" #: ldfile.c:499 msgid "%P%F: cannot open linker script file %s: %E\n" -msgstr "%P%F: cannot open linker script file %s: %E\n" +msgstr "%P%F: không thể mở tập tin tập lệnh liên kết %s: %E\n" #: ldfile.c:546 msgid "%P%F: cannot represent machine `%s'\n" -msgstr "%P%F: cannot represent machine `%s'\n" +msgstr "%P%F: không thể miêu tả máy « %s »\n" -#: ldlang.c:511 -msgid "%P%F: out of memory during initialization" -msgstr "%P%F: out of memory during initialization" +#: ldlang.c:940 ldlang.c:982 ldlang.c:2695 +msgid "%P%F: can not create hash table: %E\n" +msgstr "%P%F: không thể tạo bảng băm: %E\n" -#: ldlang.c:551 +#: ldlang.c:1025 msgid "%P:%S: warning: redeclaration of memory region '%s'\n" -msgstr "%P:%S: warning: redeclaration of memory region '%s'\n" +msgstr "%P:%S: cảnh báo : miền nhớ « %s » được khai báo lại\n" -#: ldlang.c:557 +#: ldlang.c:1031 msgid "%P:%S: warning: memory region %s not declared\n" -msgstr "%P:%S: cảnh báowachưa tuyên bố miền bộ nhớ reeclared\n" +msgstr "%P:%S: cảnh báo : chưa khai báo miền bộ nhớ %s\n" -#: ldlang.c:1073 +#: ldlang.c:1108 ldlang.c:1135 +msgid "%P%F: failed creating section `%s': %E\n" +msgstr "%P%F: lỗi tạo phần « %s »: %E\n" + +#: ldlang.c:1601 msgid "" "\n" "Memory Configuration\n" "\n" msgstr "" "\n" -"Memory Configuration\n" +"Cấu hình\n" "\n" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Name" msgstr "Tên" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Origin" msgstr "Gốc" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Length" msgstr "Độ dài" -#: ldlang.c:1075 +#: ldlang.c:1603 msgid "Attributes" msgstr "Thuộc tính" -#: ldlang.c:1115 +#: ldlang.c:1643 #, c-format msgid "" "\n" @@ -606,161 +610,157 @@ msgid "" "\n" msgstr "" "\n" -"Tập lệnh liên kết được và bản đồ bộ nhớLinker script and memory map\n" +"Tập lệnh liên kết và bản đồ bộ nhớ\n" "\n" -#: ldlang.c:1183 +#: ldlang.c:1709 msgid "%P%F: Illegal use of `%s' section\n" msgstr "%P%F: Không cho phép cách sá»­ dụng phần « %s »\n" -#: ldlang.c:1193 +#: ldlang.c:1716 msgid "%P%F: output format %s cannot represent section called %s\n" msgstr "%P%F: khuôn dạng %s không thể miêu tả phần được gọi là %s\n" -#: ldlang.c:1775 +#: ldlang.c:2313 msgid "%B: file not recognized: %E\n" -msgstr "%B: file not recognized: %E\n" +msgstr "%B: không nhận ra tập tin: %E\n" -#: ldlang.c:1776 +#: ldlang.c:2314 msgid "%B: matching formats:" -msgstr "%B: matching formats:" +msgstr "%B: các dạng thức khớp với nhau :" -#: ldlang.c:1783 +#: ldlang.c:2321 msgid "%F%B: file not recognized: %E\n" -msgstr "%F%B: file not recognized: %E\n" +msgstr "%F%B: không nhận ra tập tin: %E\n" -#: ldlang.c:1847 +#: ldlang.c:2385 msgid "%F%B: member %B in archive is not an object\n" -msgstr "%F%B: bộ phạnmembtrong kho không phải là đối tượngobject\n" +msgstr "%F%B: bộ phạn kho %B không phải là đối tượng\n" -#: ldlang.c:1858 ldlang.c:1872 +#: ldlang.c:2396 ldlang.c:2410 msgid "%F%B: could not read symbols: %E\n" -msgstr "%F%B: could not read symbols: %E\n" +msgstr "%F%B: không thể đọc các ký hiệu: %E\n" -#: ldlang.c:2127 +#: ldlang.c:2665 msgid "%P: warning: could not find any targets that match endianness requirement\n" -msgstr "%P: cảnh báowakhông tìm thấy đích nào khớp vớitkiểu endian đã cần thiếtirement\n" +msgstr "%P: cảnh báo : không tìm thấy đích nào khớp với kiểu endian đã cần thiết\n" -#: ldlang.c:2141 +#: ldlang.c:2679 msgid "%P%F: target %s not found\n" -msgstr "%P%F: target %s not found\n" +msgstr "%P%F: không tìm thấy đích %s\n" -#: ldlang.c:2143 +#: ldlang.c:2681 msgid "%P%F: cannot open output file %s: %E\n" -msgstr "%P%F: cannot open output file %s: %E\n" +msgstr "%P%F: không thể mở tập tin xuất %s: %E\n" -#: ldlang.c:2149 +#: ldlang.c:2687 msgid "%P%F:%s: can not make object file: %E\n" -msgstr "%P%F:%s: can not make object file: %E\n" +msgstr "%P%F:%s: không thể tạo tập tin đối tượng: %E\n" -#: ldlang.c:2153 +#: ldlang.c:2691 msgid "%P%F:%s: can not set architecture: %E\n" -msgstr "%P%F:%s: can not set architecture: %E\n" +msgstr "%P%F:%s: không thể lập kiến trúc: %E\n" -#: ldlang.c:2157 -msgid "%P%F: can not create link hash table: %E\n" -msgstr "%P%F: can not create link hash table: %E\n" - -#: ldlang.c:2301 +#: ldlang.c:2839 msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" msgstr "%P%F: « bfd_hash_lookup » (bfd băm tra cứu) thất bại, tạo ký hiệu %s\n" -#: ldlang.c:2319 +#: ldlang.c:2857 msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" -msgstr "%P%F: « bfd_hash_allocate » (bfd băm cấp cho) thất bại, tạo ký hiệu %s\n" +msgstr "%P%F: việc « bfd_hash_lookup » (bfd băm tra cứu) bị lỗi, tạo ký hiệu %s\n" -#: ldlang.c:2710 +#: ldlang.c:3288 msgid " load address 0x%V" -msgstr " load address 0x%V" +msgstr " tải địa chỉ 0x%V" -#: ldlang.c:2874 +#: ldlang.c:3528 msgid "%W (size before relaxing)\n" -msgstr "%W (kích cỡ trước khi lÆ¡i rasize before relaxing)\n" +msgstr "%W (kích cỡ trước khi lÆ¡i ra)\n" -#: ldlang.c:2961 +#: ldlang.c:3615 #, c-format msgid "Address of section %s set to " -msgstr "Địa chỉ cá»§a phần %s được lập là " +msgstr "Địa chỉ cá»§a phần %s được lập thành " -#: ldlang.c:3114 +#: ldlang.c:3768 #, c-format msgid "Fail with %d\n" msgstr "Thất bại với %d\n" -#: ldlang.c:3351 +#: ldlang.c:4040 msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n" msgstr "%X%P: phần %s [%V → %V] đè lên phần %s [%V → %V]\n" -#: ldlang.c:3379 +#: ldlang.c:4065 msgid "%X%P: address 0x%v of %B section %s is not within region %s\n" msgstr "%X%P: địa chỉ 0x%v cá»­a %B phần %s không phải ở trong miền %s\n" -#: ldlang.c:3388 +#: ldlang.c:4074 msgid "%X%P: region %s is full (%B section %s)\n" msgstr "%X%P: miền %s đầy (%B phần %s)\n" -#: ldlang.c:3439 +#: ldlang.c:4114 +#, c-format +msgid "%F%S: non constant or forward reference address expression for section %s\n" +msgstr "%F%S: biểu thức địa chỉ tham chiếu thay đổi hay tiếp lên %s\n" + +#: ldlang.c:4139 msgid "%P%X: Internal error on COFF shared library section %s\n" msgstr "%P%X: Lỗi nội bộ trên phần thư viên dùng chung COFF %s\n" -#: ldlang.c:3493 +#: ldlang.c:4197 msgid "%P%F: error: no memory region specified for loadable section `%s'\n" msgstr "%P%F: lỗi: chưa ghi rõ miền bộ nhớ cho phần tải được « %s »\n" -#: ldlang.c:3498 +#: ldlang.c:4202 msgid "%P: warning: no memory region specified for loadable section `%s'\n" msgstr "%P: lỗi: chưa ghi rõ miền bộ nhớ cho phần tải được « %s »\n" -#: ldlang.c:3515 -msgid "%P: warning: changing start of section %s by %u bytes\n" -msgstr "%P: cảnh báo: đang thay đổi đầu phần %s bằng %u byte\n" +#: ldlang.c:4224 +msgid "%P: warning: changing start of section %s by %lu bytes\n" +msgstr "%P: cảnh báo : đang thay đổi đầu phần %s bằng %lu byte\n" -#: ldlang.c:3532 -#, c-format -msgid "%F%S: non constant or forward reference address expression for section %s\n" -msgstr "%F%S: biểu thức địa chỉ tham chiếu thay đổi hay tiếp lên %s\n" - -#: ldlang.c:3703 +#: ldlang.c:4388 msgid "%P%F: can't relax section: %E\n" -msgstr "%P%F: can't relax section: %E\n" +msgstr "%P%F: không thể lÆ¡i ra phần: %E\n" -#: ldlang.c:3960 +#: ldlang.c:4636 msgid "%F%P: invalid data statement\n" -msgstr "%F%P: invalid data statement\n" +msgstr "%F%P: câu dữ liệu không hợp lệ\n" -#: ldlang.c:3999 +#: ldlang.c:4669 msgid "%F%P: invalid reloc statement\n" -msgstr "%F%P: invalid reloc statement\n" +msgstr "%F%P: câu định vị lại không hợp lệ\n" -#: ldlang.c:4141 +#: ldlang.c:4802 msgid "%P%F:%s: can't set start address\n" -msgstr "%P%F:%s: can't set start address\n" +msgstr "%P%F:%s: không thể lập địa chỉ đầu\n" -#: ldlang.c:4154 ldlang.c:4173 +#: ldlang.c:4815 ldlang.c:4834 msgid "%P%F: can't set start address\n" -msgstr "%P%F: can't set start address\n" +msgstr "%P%F: không thể lập địa chỉ đầu\n" -#: ldlang.c:4166 +#: ldlang.c:4827 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" -msgstr "%P: warning: cannot find entry symbol %s; defaulting to %V\n" +msgstr "%P: cảnh báo : không tìm thấy được ký hiệu vào %s; nên dùng mặc định %V\n" -#: ldlang.c:4178 +#: ldlang.c:4839 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" -msgstr "%P: cảnh báo: không tìm thấy ký hiệu vào %s;wnên không lập địa chỉ bắt đầu symbol %s; not setting start address\n" +msgstr "%P: cảnh báo: không tìm thấy ký hiệu vào %s; nên không lập địa chỉ bắt đầu\n" -#: ldlang.c:4227 +#: ldlang.c:4888 msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n" msgstr "%P%F: Không hỗ trợ liên kết định vị lại đưọc có định vị lại từ khuôn dạng %s (%B) sang khuôn dạng %s (%B)\n" -#: ldlang.c:4237 +#: ldlang.c:4898 msgid "%P: warning: %s architecture of input file `%B' is incompatible with %s output\n" msgstr "%P: cảnh báo: kiến trức %s cá»§a tập tin nhập « %B » không tương thích với dữ liệu xuất %s\n" -#: ldlang.c:4259 +#: ldlang.c:4920 msgid "%P%X: failed to merge target specific data of file %B\n" msgstr "%P%X: lỗi hợp nhất dữ liệu đặc trưng cho dữ liệu cá»§a tập tin %B\n" -#: ldlang.c:4343 +#: ldlang.c:5004 msgid "" "\n" "Allocating common symbols\n" @@ -768,168 +768,164 @@ msgstr "" "\n" "Đang cấp phát các ký hiệu dùng chung\n" -#: ldlang.c:4344 +#: ldlang.c:5005 msgid "" "Common symbol size file\n" "\n" msgstr "" -"Common symbol size file\n" +"Ký hiệu cùng dùng cỡ tập tin\n" "\n" -#: ldlang.c:4470 +#: ldlang.c:5131 msgid "%P%F: invalid syntax in flags\n" -msgstr "%P%F: invalid syntax in flags\n" +msgstr "%P%F: cụ pháp không hợp lệ trong các cờ\n" # Type: error # Description -#: ldlang.c:4740 +#: ldlang.c:5406 msgid "%P%F: Failed to create hash table\n" -msgstr "%P%F: Failed to create hash table\n" +msgstr "%P%F: Việc tạo bảng băm bị lỗi\n" -#: ldlang.c:5057 -msgid "%P%Fmultiple STARTUP files\n" -msgstr "%P%Fmultiple STARTUP files\n" +#: ldlang.c:5722 +msgid "%P%F: multiple STARTUP files\n" +msgstr "%P%F: có nhiều tập tin STARTUP (khởi chạy)\n" -#: ldlang.c:5105 +#: ldlang.c:5770 msgid "%X%P:%S: section has both a load address and a load region\n" -msgstr "%X%P:%S: phần có cả địa chỉ tải lẫn miền tải đềusection has both a load address and a load region\n" +msgstr "%X%P:%S: phần có cả địa chỉ tải lẫn miền tải đều\n" -#: ldlang.c:5345 +#: ldlang.c:6007 msgid "%F%P: bfd_record_phdr failed: %E\n" -msgstr "%F%P: « bfd_record_phdr » thất bại: %E\n" +msgstr "%F%P: việc « bfd_record_phdr » bị lỗi: %E\n" -#: ldlang.c:5365 +#: ldlang.c:6027 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" -msgstr "%X%P: phần « %s » được cấp cho phdr không có « %s »\n" +msgstr "%X%P: phần « %s » được gán cho phdr không có « %s »\n" -#: ldlang.c:5751 +#: ldlang.c:6418 msgid "%X%P: unknown language `%s' in version information\n" msgstr "%X%P: không biết ngôn ngữ « %s » trong thông tin phiên bản\n" -#: ldlang.c:5893 +#: ldlang.c:6560 msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "%X%P: thẻ phiên bản vô danh không kết hợp được với thẻ phiên bản khác\n" -#: ldlang.c:5902 +#: ldlang.c:6569 msgid "%X%P: duplicate version tag `%s'\n" -msgstr "%X%P: duplicate version tag `%s'\n" +msgstr "%X%P: thẻ phiên bản trùng « %s »\n" -#: ldlang.c:5922 ldlang.c:5931 ldlang.c:5948 ldlang.c:5958 +#: ldlang.c:6589 ldlang.c:6598 ldlang.c:6615 ldlang.c:6625 msgid "%X%P: duplicate expression `%s' in version information\n" -msgstr "%X%P: biểu thức trùng « %s » trong thông tin phiên bảnduplicate expression `%s' in version information\n" +msgstr "%X%P: biểu thức trùng « %s » trong thông tin phiên bản\n" -#: ldlang.c:5998 +#: ldlang.c:6665 msgid "%X%P: unable to find version dependency `%s'\n" -msgstr "%X%P: unable to find version dependency `%s'\n" +msgstr "%X%P: không tìm thấy được cách phục thuộc vào phiên bản « %s »\n" -#: ldlang.c:6020 +#: ldlang.c:6687 msgid "%X%P: unable to read .exports section contents\n" -msgstr "%X%P: unable to read .exports section contents\n" +msgstr "%X%P: không thể đọc nội dung cá»§a phần « .exports » (xuất)\n" -#: ldmain.c:229 +#: ldmain.c:232 msgid "%X%P: can't set BFD default target to `%s': %E\n" -msgstr "%X%P: không thể lập đích can'mặc định là « %s »:t to `%s': %E\n" +msgstr "%X%P: không thể lập đích mặc định BFD thành « %s »: %E\n" -#: ldmain.c:341 +#: ldmain.c:345 msgid "%P%F: --relax and -r may not be used together\n" msgstr "%P%F: không cho phép sá»­ dụng hai tùy chọn « --relax » (lÆ¡i ra) và « -r » với nhau \n" -#: ldmain.c:343 -msgid "%P%F: -r and -shared may not be used together\n" -msgstr "%P%F: -r and -shared may not be used together\n" - #: ldmain.c:347 -msgid "%P%F: -static and -shared may not be used together\n" -msgstr "%P%F: -static and -shared may not be used together\n" +msgid "%P%F: -r and -shared may not be used together\n" +msgstr "%P%F: không thể sá»­ dụng cả « -r » lẫn « -shared » (dùng chung) đều\n" -#: ldmain.c:352 +#: ldmain.c:353 msgid "%P%F: -F may not be used without -shared\n" msgstr "%P%F: không thể sá»­ dụng tùy chọn « -F » khi không có tùy chọn « -shared » (dùng chung)\n" -#: ldmain.c:354 +#: ldmain.c:355 msgid "%P%F: -f may not be used without -shared\n" msgstr "%P%F: không thể sá»­ dụng tùy chọn « -f » khi không có tùy chọn « -shared » (dùng chung)\n" -#: ldmain.c:396 +#: ldmain.c:397 msgid "using external linker script:" msgstr "đang dùng tập lệnh liên kết bên ngoài:" -#: ldmain.c:398 +#: ldmain.c:399 msgid "using internal linker script:" msgstr "đang dùng tập lệnh liên kết bên trong:" -#: ldmain.c:432 +#: ldmain.c:433 msgid "%P%F: no input files\n" msgstr "%P%F: không có tập tin nhập nào\n" -#: ldmain.c:436 +#: ldmain.c:437 msgid "%P: mode %s\n" msgstr "%P: chế độ %s\n" -#: ldmain.c:452 +#: ldmain.c:453 msgid "%P%F: cannot open map file %s: %E\n" -msgstr "%P%F: cannot open map file %s: %E\n" +msgstr "%P%F: không thể mở tập tin bản đồ %s: %E\n" -#: ldmain.c:482 +#: ldmain.c:485 msgid "%P: link errors found, deleting executable `%s'\n" -msgstr "%P: link errors found, deleting executable `%s'\n" +msgstr "%P: tìm thấy một số lỗi liên kết nên xoá bỏ tập tin chạy được « %s »\n" -#: ldmain.c:491 +#: ldmain.c:494 msgid "%F%B: final close failed: %E\n" -msgstr "%F%B: final close failed: %E\n" +msgstr "%F%B: việc đóng cuối cùng bị lỗi: %E\n" -#: ldmain.c:517 +#: ldmain.c:520 msgid "%X%P: unable to open for source of copy `%s'\n" -msgstr "%X%P: unable to open for source of copy `%s'\n" +msgstr "%X%P: không thể mở cho nguồn cá»§a bản sao « %s »\n" -#: ldmain.c:520 +#: ldmain.c:523 msgid "%X%P: unable to open for destination of copy `%s'\n" -msgstr "%X%P: unable to open for destination of copy `%s'\n" +msgstr "%X%P: không thể mở cho đích cá»§a bản sao « %s »\n" -#: ldmain.c:527 +#: ldmain.c:530 msgid "%P: Error writing file `%s'\n" -msgstr "%P: Error writing file `%s'\n" +msgstr "%P: Gặp lỗi khi ghi tập tin « %s »\n" -#: ldmain.c:532 pe-dll.c:1447 +#: ldmain.c:535 pe-dll.c:1494 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "%P: Gặp lỗi khi đóng tập tin « %s »\n" -#: ldmain.c:548 +#: ldmain.c:551 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "%s: thời gian tổng trong liên kết: %ld.%06ld\n" -#: ldmain.c:551 +#: ldmain.c:554 #, c-format msgid "%s: data size %ld\n" msgstr "%s: kích cỡ dữ liệu %ld\n" -#: ldmain.c:634 +#: ldmain.c:637 msgid "%P%F: missing argument to -m\n" -msgstr "%P%F: missing argument to -m\n" +msgstr "%P%F: thiếu đối số tới « -m »\n" -#: ldmain.c:780 ldmain.c:798 ldmain.c:828 +#: ldmain.c:784 ldmain.c:803 ldmain.c:834 msgid "%P%F: bfd_hash_table_init failed: %E\n" -msgstr "%P%F: « bfd_hash_table_init » (bfd băm bảng khởi động) thất bại: %E\n" +msgstr "%P%F: việc « bfd_hash_table_init » (bfd băm bảng khởi động) bị lỗi: %E\n" -#: ldmain.c:784 ldmain.c:802 +#: ldmain.c:788 ldmain.c:807 msgid "%P%F: bfd_hash_lookup failed: %E\n" -msgstr "%P%F: bfd_hash_lookup failed: %E\n" +msgstr "%P%F: việc « bfd_hash_lookup » (tra tìm băm BFD) bị lỗi: %E\n" -#: ldmain.c:816 +#: ldmain.c:821 msgid "%X%P: error: duplicate retain-symbols-file\n" -msgstr "%X%P: lỗieicate retain-symbols (giữ lại tập tin ký hiệu) trùng-file\n" +msgstr "%X%P: lỗi: « retain-symbols-file » (giữ lại tập tin ký hiệu) trùng\n" -#: ldmain.c:858 +#: ldmain.c:864 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" -msgstr "%P%F: « bfd_hash_lookup » (bfd băm tra cứu) cho sá»± chèn đã thất bại: %E\n" +msgstr "%P%F: việc « bfd_hash_lookup » (bfd băm tra cứu) cho sá»± chèn bị lỗi: %E\n" -#: ldmain.c:863 +#: ldmain.c:869 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" -msgstr "%P: tùy chọn « -retain-symbols-file » (giữ lại tập tin ký hiệu) đè lên « -s » và « -S »\n" +msgstr "%P: tùy chọn « -retain-symbols-file » (giữ lại tập tin ký hiệu) có quyền cao hÆ¡n « -s » và « -S »\n" -#: ldmain.c:938 +#: ldmain.c:944 #, c-format msgid "" "Archive member included because of file (symbol)\n" @@ -938,175 +934,169 @@ msgstr "" "Gồm bộ phạn kho vì tập tin (ký hiệu)\n" "\n" -#: ldmain.c:1008 +#: ldmain.c:1014 msgid "%X%C: multiple definition of `%T'\n" -msgstr "%X%C: multiple definition of `%T'\n" +msgstr "%X%C: « %T » đã được định nghÄ©a nhiều lần\n" -#: ldmain.c:1011 +#: ldmain.c:1017 msgid "%D: first defined here\n" -msgstr "%D: first defined here\n" +msgstr "%D: fiđã được định nghÄ©a đầu tiên ở đây\n" -#: ldmain.c:1015 +#: ldmain.c:1021 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" -msgstr "%P: Tắt khả năng lÆ¡i ra: nó sẽ không hoạt động với nhiều lời định nghÄ©aisabling relaxation: it will not work with multiple definitions\n" +msgstr "%P: Tắt khả năng lÆ¡i ra: nó sẽ không hoạt động với nhiều lời định nghÄ©a\n" -#: ldmain.c:1045 +#: ldmain.c:1051 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "%B: cảnh báo: lời định nghÄ©a « %T » đè lên điều dùng chung\n" -#: ldmain.c:1048 +#: ldmain.c:1054 msgid "%B: warning: common is here\n" -msgstr "%B: warning: common is here\n" +msgstr "%B: cảnh báo : common (cùng dùng) là đây\n" -#: ldmain.c:1055 +#: ldmain.c:1061 msgid "%B: warning: common of `%T' overridden by definition\n" -msgstr "%B: cảnh báowalời định nghÄ©a đè lên điềum« on » dùng chunginition\n" +msgstr "%B: cảnh báo : điều cùng dùng lớn hÆ¡n có đè lên điều cùng dùng « %T »\n" -#: ldmain.c:1058 +#: ldmain.c:1064 msgid "%B: warning: defined here\n" -msgstr "%B: warning: defined here\n" +msgstr "%B: cảnh báo : điều dùng chung lớn hÆ¡n tại đây\n" -#: ldmain.c:1065 +#: ldmain.c:1071 msgid "%B: warning: common of `%T' overridden by larger common\n" -msgstr "" -"%B: cảnh báowađiều dùng chung lớn hÆ¡n có đè lên điềum« %T » dùng chung\n" -"ommon\n" +msgstr "%B: cảnh báo : điều « %T » dùng chung có đè lên điều dùng chung nhỏ hÆ¡n\n" -#: ldmain.c:1068 +#: ldmain.c:1074 msgid "%B: warning: larger common is here\n" msgstr "%B: cảnh báo: điều dùng chung lớn hÆ¡n tại đây\n" -#: ldmain.c:1072 +#: ldmain.c:1078 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "%B: cảnh báo: điều « %T » dùng chung có đè lên điều dùng chung nhỏ hÆ¡n\n" -#: ldmain.c:1075 +#: ldmain.c:1081 msgid "%B: warning: smaller common is here\n" -msgstr "%B: warning: smaller common is here\n" +msgstr "%B: cảnh báo : điều cùng dùng nhỏ hÆ¡n ở đây\n" -#: ldmain.c:1079 +#: ldmain.c:1085 msgid "%B: warning: multiple common of `%T'\n" -msgstr "%B: warning: multiple common of `%T'\n" +msgstr "%B: cảnh báo : nhiều điều cùng dùng cá»§a « %T »\n" -#: ldmain.c:1081 +#: ldmain.c:1087 msgid "%B: warning: previous common is here\n" -msgstr "%B: warning: previous common is here\n" +msgstr "%B: cảnh báo : điều cùng dùng trước ở đây\n" -#: ldmain.c:1101 ldmain.c:1139 +#: ldmain.c:1107 ldmain.c:1145 msgid "%P: warning: global constructor %s used\n" -msgstr "%P: warning: global constructor %s used\n" +msgstr "%P: cảnh báo : bộ cấu trúc toàn cục %s được dùng\n" -#: ldmain.c:1149 +#: ldmain.c:1155 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" -msgstr "%P%F: lỗi hậu phương BFDbakhông hỗ trợ « ckend error: B »R unsupported\n" +msgstr "%P%F: lỗi hậu phương: « BFD_RELOC_CTOR » không được hỗ trợ\n" #. We found a reloc for the symbol we are looking for. -#: ldmain.c:1203 ldmain.c:1205 ldmain.c:1207 ldmain.c:1245 ldmain.c:1293 +#: ldmain.c:1209 ldmain.c:1211 ldmain.c:1213 ldmain.c:1251 ldmain.c:1299 msgid "warning: " msgstr "cảnh báo: " -#: ldmain.c:1327 +#: ldmain.c:1334 msgid "%F%P: bfd_hash_table_init failed: %E\n" -msgstr "%F%P: « bfd_hash_table_init » (bfd băm bảng khởi động) thất bại: %E\n" +msgstr "%F%P: việc « bfd_hash_table_init » (bfd băm bảng khởi động) bị lỗi: %E\n" -#: ldmain.c:1334 +#: ldmain.c:1341 msgid "%F%P: bfd_hash_lookup failed: %E\n" -msgstr "%F%P: bfd_hash_lookup failed: %E\n" +msgstr "%F%P: việc « bfd_hash_lookup » (tra tìm băm BFD) bị lỗi: %E\n" -#: ldmain.c:1355 +#: ldmain.c:1362 msgid "%X%C: undefined reference to `%T'\n" -msgstr "%X%C: undefined reference to `%T'\n" +msgstr "%X%C: tham chiếu chưa định nghÄ©a đến « %T »\n" -#: ldmain.c:1358 +#: ldmain.c:1365 msgid "%C: warning: undefined reference to `%T'\n" -msgstr "%C: warning: undefined reference to `%T'\n" +msgstr "%C: cảnh báo : tham chiếu chưa định nghÄ©a đến « %T »\n" -#: ldmain.c:1364 +#: ldmain.c:1371 msgid "%X%D: more undefined references to `%T' follow\n" msgstr "%X%D: more undefined references to `%T' follow\n" -#: ldmain.c:1367 +#: ldmain.c:1374 msgid "%D: warning: more undefined references to `%T' follow\n" msgstr "%D: chưa định nghÄ©a lời tham chiếu đến « %T » tại nhiều nÆ¡i nữa theo đây\n" -#: ldmain.c:1378 +#: ldmain.c:1385 msgid "%X%B: undefined reference to `%T'\n" -msgstr "%X%B: undefined reference to `%T'\n" +msgstr "%X%B: tham chiếu chưa định nghÄ©a đến « %T »\n" -#: ldmain.c:1381 +#: ldmain.c:1388 msgid "%B: warning: undefined reference to `%T'\n" msgstr "%B: cảnh báo: chưa định nghÄ©a lời tham chiếu đến « %T »\n" -#: ldmain.c:1387 +#: ldmain.c:1394 msgid "%X%B: more undefined references to `%T' follow\n" -msgstr "%X%B: more undefined references to `%T' follow\n" +msgstr "%X%B: có tham chiếu chưa định nghÄ©a đến « %T » thêm nữa theo sau\n" -#: ldmain.c:1390 +#: ldmain.c:1397 msgid "%B: warning: more undefined references to `%T' follow\n" msgstr "%B: cảnh báo: chưa định nghÄ©a lời tham chiếu đến « %T » tại nhiều nÆ¡i nữa theo đây\n" -#: ldmain.c:1425 ldmain.c:1478 ldmain.c:1496 -msgid "%P%X: generated" -msgstr "%P%X: generated" - -#: ldmain.c:1432 +#: ldmain.c:1436 msgid " additional relocation overflows omitted from the output\n" -msgstr "tràn định vị lại thêm bị bỏ đi khỏi dữ liệu xuấtdditional relocation overflows omitted from the output\n" +msgstr " tràn định vị lại thêm bị bỏ đi khỏi dữ liệu xuất\n" -#: ldmain.c:1445 +#: ldmain.c:1449 msgid " relocation truncated to fit: %s against undefined symbol `%T'" msgstr " sá»± định vị lại bị cắt xém để vừa: %s đối với ký hiệu chưa định nghÄ©a « %T »" -#: ldmain.c:1450 +#: ldmain.c:1454 msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" msgstr " sá»± định vị lại bị cắt xém để vừa: %s đối với ký hiệu « %T » đã định nghÄ©a trong phần %A trong %B" -#: ldmain.c:1460 +#: ldmain.c:1466 msgid " relocation truncated to fit: %s against `%T'" -msgstr "sá»± định vị lại bị cắt xém để vừa: %s đối với « %T »" +msgstr " sá»± định vị lại bị cắt xém để vừa: %s đối với « %T »" -#: ldmain.c:1481 +#: ldmain.c:1483 #, c-format -msgid "dangerous relocation: %s\n" -msgstr "sá»± định vị lại nguy hiểm: %s\n" +msgid "%X%C: dangerous relocation: %s\n" +msgstr "%X%C: việc định vị lại nguy hiểm: %s\n" -#: ldmain.c:1499 -msgid " reloc refers to symbol `%T' which is not being output\n" -msgstr " sá»± định vị lại tham chiếu đến ký hiệu « %T » mà không còn được xuất lại\n" +#: ldmain.c:1498 +msgid "%X%C: reloc refers to symbol `%T' which is not being output\n" +msgstr "%X%C: việc định vị lại tham chiếu đến ký hiệu « %T » mà không đang được xuất\n" -#: ldmisc.c:149 +#: ldmisc.c:147 #, c-format msgid "no symbol" msgstr "không có ký hiệu" -#: ldmisc.c:240 +#: ldmisc.c:238 #, c-format msgid "built in linker script:%u" msgstr "tập lệnh liên kết có sẵn:%u" -#: ldmisc.c:289 ldmisc.c:293 +#: ldmisc.c:294 ldmisc.c:298 msgid "%B%F: could not read symbols\n" -msgstr "%B%F: could not read symbols\n" +msgstr "%B%F: không thể đọc các ký hiệu\n" -#: ldmisc.c:329 -msgid "%B: In function `%T':\n" -msgstr "%B: In function `%T':\n" +#: ldmisc.c:340 +msgid "%B: In function `%T'" +msgstr "%B: trong hàm « %T »" -#: ldmisc.c:480 +#: ldmisc.c:510 msgid "%F%P: internal error %s %d\n" -msgstr "%F%P: internal error %s %d\n" +msgstr "%F%P: lỗi nội bộ %s %d\n" -#: ldmisc.c:526 +#: ldmisc.c:556 msgid "%P: internal error: aborting at %s line %d in %s\n" -msgstr "%P: internal error: aborting at %s line %d in %s\n" +msgstr "%P: lỗi nội bộ : đang há»§y bỏ tại %s dòng %d trong %s\n" -#: ldmisc.c:529 +#: ldmisc.c:559 msgid "%P: internal error: aborting at %s line %d\n" -msgstr "%P: internal error: aborting at %s line %d\n" +msgstr "%P: lỗi nội bộ : đang há»§y bỏ tại %s dòng %d\n" -#: ldmisc.c:531 +#: ldmisc.c:561 msgid "%P%F: please report this bug\n" -msgstr "%P%F: vui lòng thông báo lỗi nàyplease report this bug\n" +msgstr "%P%F: vui lòng thông báo lỗi này\n" #. Output for noisy == 2 is intended to follow the GNU standards. #: ldver.c:38 @@ -1135,280 +1125,280 @@ msgstr " Mô phỏng đã hỗ trợ :\n" #: ldwrite.c:55 ldwrite.c:191 msgid "%P%F: bfd_new_link_order failed\n" -msgstr "%P%F: « bfd_new_link_order » (bfd mới liên kết thứ tá»±) thất bại\n" +msgstr "%P%F: việc « bfd_new_link_order » (bfd mới liên kết thứ tá»±) bị lỗi\n" -#: ldwrite.c:341 +#: ldwrite.c:344 msgid "%F%P: cannot create split section name for %s\n" -msgstr "%F%P: cannot create split section name for %s\n" +msgstr "%F%P: không thể tạo tên phần đã chia tách cho %s\n" -#: ldwrite.c:353 +#: ldwrite.c:356 msgid "%F%P: clone section failed: %E\n" -msgstr "%F%P: clone section failed: %E\n" +msgstr "%F%P: việc bắt chước phần bị lỗi: %E\n" -#: ldwrite.c:391 +#: ldwrite.c:394 #, c-format msgid "%8x something else\n" -msgstr "%8x cái gì khácsomething else\n" +msgstr "%8x cái gì khác\n" -#: ldwrite.c:561 +#: ldwrite.c:564 msgid "%F%P: final link failed: %E\n" -msgstr "%F%P: final link failed: %E\n" +msgstr "%F%P: liên kết cuối cùng bị lỗi: %E\n" -#: lexsup.c:195 lexsup.c:327 +#: lexsup.c:196 lexsup.c:328 msgid "KEYWORD" -msgstr "TỪ_KHÓAÊN_BÀN_PHÍM" +msgstr "TỪ_KHOÁ" -#: lexsup.c:195 +#: lexsup.c:196 msgid "Shared library control for HP/UX compatibility" msgstr "Điều khiển thư viên dùng chung để tương thích với HP/UX" -#: lexsup.c:198 +#: lexsup.c:199 msgid "ARCH" msgstr "ARCH" -#: lexsup.c:198 +#: lexsup.c:199 msgid "Set architecture" msgstr "Lập kiến trúc" -#: lexsup.c:200 lexsup.c:421 +#: lexsup.c:201 lexsup.c:422 msgid "TARGET" msgstr "ĐÍCH" -#: lexsup.c:200 +#: lexsup.c:201 msgid "Specify target for following input files" msgstr "Ghi rõ đích cho những tập tin nhập theo đây" -#: lexsup.c:203 lexsup.c:252 lexsup.c:264 lexsup.c:277 lexsup.c:380 -#: lexsup.c:433 lexsup.c:490 +#: lexsup.c:204 lexsup.c:253 lexsup.c:265 lexsup.c:278 lexsup.c:381 +#: lexsup.c:434 lexsup.c:491 msgid "FILE" msgstr "TẬP TIN" -#: lexsup.c:203 +#: lexsup.c:204 msgid "Read MRI format linker script" msgstr "Đọc tập lệnh liên kết khuôn dạng MRI" -#: lexsup.c:205 +#: lexsup.c:206 msgid "Force common symbols to be defined" msgstr "Ép buộc định nghÄ©a mọi ký hiệu dùng chung" -#: lexsup.c:209 lexsup.c:475 lexsup.c:477 lexsup.c:479 +#: lexsup.c:210 lexsup.c:476 lexsup.c:478 lexsup.c:480 msgid "ADDRESS" msgstr "ĐỊA CHỈ" -#: lexsup.c:209 +#: lexsup.c:210 msgid "Set start address" msgstr "Lập địa chỉ bắt đầu" -#: lexsup.c:211 +#: lexsup.c:212 msgid "Export all dynamic symbols" msgstr "Xuất mọi ký hiệu động" -#: lexsup.c:213 +#: lexsup.c:214 msgid "Link big-endian objects" msgstr "Liên kết mọi đối tượng big-endian (cuối lớn)" -#: lexsup.c:215 +#: lexsup.c:216 msgid "Link little-endian objects" msgstr "Liên kết mọi đối tượng little-endian (cuối nhỏ)" -#: lexsup.c:217 lexsup.c:220 +#: lexsup.c:218 lexsup.c:221 msgid "SHLIB" msgstr "SHLIB" -#: lexsup.c:217 +#: lexsup.c:218 msgid "Auxiliary filter for shared object symbol table" msgstr "Bộ lọc phụ cho bảng ký hiệu đối tượng dùng chung" -#: lexsup.c:220 +#: lexsup.c:221 msgid "Filter for shared object symbol table" msgstr "Bộ lọc cho bảng ký hiệu đối tượng dùng chung" -#: lexsup.c:223 +#: lexsup.c:224 msgid "Ignored" -msgstr "Ignored" +msgstr "Bị bỏ qua" -#: lexsup.c:225 +#: lexsup.c:226 msgid "SIZE" msgstr "Cá» " -#: lexsup.c:225 +#: lexsup.c:226 msgid "Small data size (if no size, same as --shared)" msgstr "Kích cỡ dữ liệu nhỏ (nếu không có, nó bằng tùy chọn « --shared »)" -#: lexsup.c:228 +#: lexsup.c:229 msgid "FILENAME" msgstr "TÊN TẬP TIN" -#: lexsup.c:228 +#: lexsup.c:229 msgid "Set internal name of shared library" msgstr "Lập tên nội bộ cá»§a thư viên dùng chung" -#: lexsup.c:230 +#: lexsup.c:231 msgid "PROGRAM" msgstr "CHƯƠNG TRÌNH" -#: lexsup.c:230 +#: lexsup.c:231 msgid "Set PROGRAM as the dynamic linker to use" msgstr "Lập CHƯƠNG TRÌNH là bộ liên kết động cần dùng" -#: lexsup.c:233 +#: lexsup.c:234 msgid "LIBNAME" msgstr "TÊN THƯ VIÊN" -#: lexsup.c:233 +#: lexsup.c:234 msgid "Search for library LIBNAME" msgstr "Tìm kiếm thư viên TÊN THƯ VIÊN" -#: lexsup.c:235 +#: lexsup.c:236 msgid "DIRECTORY" msgstr "THƯ MỤC" -#: lexsup.c:235 +#: lexsup.c:236 msgid "Add DIRECTORY to library search path" msgstr "Thêm THƯ MỤC vào đường dẫn tìm kiếm thư viên" -#: lexsup.c:238 +#: lexsup.c:239 msgid "Override the default sysroot location" msgstr "Đè lên địa điểm sysroot (gốc hệ thống) mặc định" -#: lexsup.c:240 +#: lexsup.c:241 msgid "EMULATION" msgstr "MÔ PHỎNG" -#: lexsup.c:240 +#: lexsup.c:241 msgid "Set emulation" msgstr "Lập cách mô phỏng" -#: lexsup.c:242 +#: lexsup.c:243 msgid "Print map file on standard output" msgstr "In tập tin bản đồ ra thiết bị xuất chuẩn" -#: lexsup.c:244 +#: lexsup.c:245 msgid "Do not page align data" msgstr "Đừng canh lề trang dữ liệu" -#: lexsup.c:246 +#: lexsup.c:247 msgid "Do not page align data, do not make text readonly" msgstr "Đừng canh lề trang dữ liệu, đừng lập văn bản là chỉ đọc" -#: lexsup.c:249 +#: lexsup.c:250 msgid "Page align data, make text readonly" msgstr "Canh lề trang dữ liệu, lập văn bản là chỉ đọc" -#: lexsup.c:252 +#: lexsup.c:253 msgid "Set output file name" msgstr "Lập tên tập tin xuất" -#: lexsup.c:254 +#: lexsup.c:255 msgid "Optimize output file" msgstr "Ưu tiên hóa tập tin xuất" -#: lexsup.c:256 +#: lexsup.c:257 msgid "Ignored for SVR4 compatibility" msgstr "Bị bỏ qua để tương thích với SVR4" -#: lexsup.c:260 +#: lexsup.c:261 msgid "Generate relocatable output" msgstr "Tạo ra dữ liệu có thể định vị lại" -#: lexsup.c:264 +#: lexsup.c:265 msgid "Just link symbols (if directory, same as --rpath)" msgstr "Chỉ liên kết ký hiệu (nếu thư mục, bằng tùy chọn « --rpath »)" -#: lexsup.c:267 +#: lexsup.c:268 msgid "Strip all symbols" msgstr "Tước mọi ký hiệu" -#: lexsup.c:269 +#: lexsup.c:270 msgid "Strip debugging symbols" msgstr "Tước ký hiệu gỡ lối" -#: lexsup.c:271 +#: lexsup.c:272 msgid "Strip symbols in discarded sections" msgstr "Tước ký hiệu trong phần bị há»§y" -#: lexsup.c:273 +#: lexsup.c:274 msgid "Do not strip symbols in discarded sections" msgstr "Đừng tước ký hiệu trong phần bị há»§y" -#: lexsup.c:275 +#: lexsup.c:276 msgid "Trace file opens" msgstr "Tập tin vết có mở" -#: lexsup.c:277 +#: lexsup.c:278 msgid "Read linker script" -msgstr "Read linker script" +msgstr "Đọc tập lệnh liên kết" -#: lexsup.c:279 lexsup.c:297 lexsup.c:363 lexsup.c:378 lexsup.c:468 -#: lexsup.c:493 lexsup.c:520 +#: lexsup.c:280 lexsup.c:298 lexsup.c:364 lexsup.c:379 lexsup.c:469 +#: lexsup.c:494 lexsup.c:521 msgid "SYMBOL" -msgstr "KÝ HIỆUSMB" +msgstr "KÝ HIỆU" -#: lexsup.c:279 +#: lexsup.c:280 msgid "Start with undefined reference to SYMBOL" msgstr "Bắt đầu với tham chiệu gạch chân đến KÝ HIỆU" -#: lexsup.c:282 +#: lexsup.c:283 msgid "[=SECTION]" msgstr "[=PHẦN]" -#: lexsup.c:283 +#: lexsup.c:284 msgid "Don't merge input [SECTION | orphan] sections" msgstr "Đừng kết hợp phần nhập [PHẦN | mồ côi]" -#: lexsup.c:285 +#: lexsup.c:286 msgid "Build global constructor/destructor tables" msgstr "Xây dụng bảng cấu tạo/phá toàn cục" -#: lexsup.c:287 +#: lexsup.c:288 msgid "Print version information" msgstr "In ra thông tin phiên bản" -#: lexsup.c:289 +#: lexsup.c:290 msgid "Print version and emulation information" msgstr "In ra thông tin phiên bản và mô phỏng" -#: lexsup.c:291 +#: lexsup.c:292 msgid "Discard all local symbols" -msgstr "Discard all local symbols" +msgstr "Há»§y mọi ký hiệu cục bộ" -#: lexsup.c:293 +#: lexsup.c:294 msgid "Discard temporary local symbols (default)" -msgstr "Há»§y ký hiệu địa phương tạm (mặc định)" +msgstr "Há»§y mọi ký hiệu cục bộ tạm thời (mặc định)" -#: lexsup.c:295 +#: lexsup.c:296 msgid "Don't discard any local symbols" -msgstr "Đừng há»§y ký hiệu địa phương nào" +msgstr "Đừng há»§y ký hiệu cục bộ nào" -#: lexsup.c:297 +#: lexsup.c:298 msgid "Trace mentions of SYMBOL" msgstr "Vết nÆ¡i ghi KÝ HIỆU" -#: lexsup.c:299 lexsup.c:435 lexsup.c:437 +#: lexsup.c:300 lexsup.c:436 lexsup.c:438 msgid "PATH" msgstr "ĐƯỜNG DẪN" -#: lexsup.c:299 +#: lexsup.c:300 msgid "Default search path for Solaris compatibility" msgstr "Đường dẫn tìm kiếm để tương thích với Solaris" -#: lexsup.c:302 +#: lexsup.c:303 msgid "Start a group" msgstr "Bắt đầu nhóm" -#: lexsup.c:304 +#: lexsup.c:305 msgid "End a group" msgstr "Kết thức nhóm" -#: lexsup.c:308 +#: lexsup.c:309 msgid "Accept input files whose architecture cannot be determined" msgstr "Chấp nhận tập tin nhập có kiến trức không thể được tháo gỡ" -#: lexsup.c:312 +#: lexsup.c:313 msgid "Reject input files whose architecture is unknown" msgstr "Từ chối tập tin nhập có kiến trức lạ" -#: lexsup.c:315 +#: lexsup.c:316 msgid "" "Set DT_NEEDED tags for DT_NEEDED entries in\n" "\t\t\t\tfollowing dynamic libs" @@ -1417,7 +1407,7 @@ msgstr "" "\tcho mục nhập « DT_NEEDED »\n" "\ttrong những thư viên động theo đây" -#: lexsup.c:318 +#: lexsup.c:319 msgid "" "Do not set DT_NEEDED tags for DT_NEEDED entries\n" "\t\t\t\tin following dynamic libs" @@ -1426,155 +1416,155 @@ msgstr "" "\tcho mục nhập « DT_NEEDED »\n" "\ttrong những thư viên động theo đây" -#: lexsup.c:321 +#: lexsup.c:322 msgid "Only set DT_NEEDED for following dynamic libs if used" msgstr "" "Chỉ lập thẻ « DT_NEEDED » (cần thiết DT)\n" "\tcho những thư viên động theo đây nếu được dùng" -#: lexsup.c:324 +#: lexsup.c:325 msgid "Always set DT_NEEDED for following dynamic libs" msgstr "" "Luôn lập thẻ « DT_NEEDED » (cần thiết DT)\n" "\tcho những thư viên động theo đây" -#: lexsup.c:327 +#: lexsup.c:328 msgid "Ignored for SunOS compatibility" msgstr "Bị bỏ qua để tương thích với SunOS" -#: lexsup.c:329 +#: lexsup.c:330 msgid "Link against shared libraries" msgstr "Liên kết đối với thư viên dùng chung" -#: lexsup.c:335 +#: lexsup.c:336 msgid "Do not link against shared libraries" msgstr "Đừng liên kết đối với thư viên dùng chung" -#: lexsup.c:343 +#: lexsup.c:344 msgid "Bind global references locally" -msgstr "Đóng kết tham chiếu toàn cục một cách địa phương" +msgstr "Đóng kết tham chiếu toàn cục một cách cục bộ" -#: lexsup.c:345 +#: lexsup.c:346 msgid "Check section addresses for overlaps (default)" msgstr "Kiểm tra địa chỉ phần có chồng chéo (mặc định)" -#: lexsup.c:348 +#: lexsup.c:349 msgid "Do not check section addresses for overlaps" msgstr "Đừng kiểm tra địa chỉ phần có chồng chéo" -#: lexsup.c:351 +#: lexsup.c:352 msgid "Output cross reference table" msgstr "Xuất bảng tham chiếu chéo" -#: lexsup.c:353 +#: lexsup.c:354 msgid "SYMBOL=EXPRESSION" -msgstr "BIỂU THỨC=BIỂU THỨC" +msgstr "KÝ HIỆU=BIỂU THỨC" -#: lexsup.c:353 +#: lexsup.c:354 msgid "Define a symbol" msgstr "Định nghÄ©a ký hiệu" -#: lexsup.c:355 +#: lexsup.c:356 msgid "[=STYLE]" msgstr "[=KIỂU DÁNG]" -#: lexsup.c:355 +#: lexsup.c:356 msgid "Demangle symbol names [using STYLE]" msgstr "Tháo gỡ tên ký hiệu [bằng KIỂU DÁNG]" -#: lexsup.c:358 +#: lexsup.c:359 msgid "Generate embedded relocs" msgstr "Tạo ra sá»± định vị lại nhúng" -#: lexsup.c:360 +#: lexsup.c:361 msgid "Treat warnings as errors" msgstr "Xá»­ lý cảnh báo là lỗi" -#: lexsup.c:363 +#: lexsup.c:364 msgid "Call SYMBOL at unload-time" msgstr "Gọi KÝ HIỆU vào lúc bỏ tải" -#: lexsup.c:365 +#: lexsup.c:366 msgid "Force generation of file with .exe suffix" msgstr "Ép buộc tạo ra tập tin có hậu tố « .exe »" -#: lexsup.c:367 +#: lexsup.c:368 msgid "Remove unused sections (on some targets)" msgstr "Gỡ bỏ phần không dùng (trên một số đích)" -#: lexsup.c:370 +#: lexsup.c:371 msgid "Don't remove unused sections (default)" msgstr "Đừng gỡ bỏ phần không dùng (mặc định)" -#: lexsup.c:373 +#: lexsup.c:374 msgid "Set default hash table size close to " msgstr "Lập kích cỡ bảng băm mặc định là gần " -#: lexsup.c:376 +#: lexsup.c:377 msgid "Print option help" msgstr "In ra trợ giúp về tùy chọn" -#: lexsup.c:378 +#: lexsup.c:379 msgid "Call SYMBOL at load-time" msgstr "Gọi KÝ HIỆU vào lúc tải" -#: lexsup.c:380 +#: lexsup.c:381 msgid "Write a map file" msgstr "Ghi tập tin bản đồ" -#: lexsup.c:382 +#: lexsup.c:383 msgid "Do not define Common storage" msgstr "Đừng định nghÄ©a kho dùng chung" -#: lexsup.c:384 +#: lexsup.c:385 msgid "Do not demangle symbol names" msgstr "Đừng tháo gỡ tên ký hiệu" -#: lexsup.c:386 +#: lexsup.c:387 msgid "Use less memory and more disk I/O" msgstr "Chiếm ít bộ nhớ hÆ¡n, và nhiều nhập/xuất đĩa hÆ¡n" -#: lexsup.c:388 +#: lexsup.c:389 msgid "Do not allow unresolved references in object files" msgstr "Đừng cho phép tham chiệu chưa tháo gỡ trong tập tin đối tượng" -#: lexsup.c:391 +#: lexsup.c:392 msgid "Allow unresolved references in shared libaries" msgstr "Cho phép tham chiệu chưa tháo gỡ trong thư viên dùng chung" -#: lexsup.c:395 +#: lexsup.c:396 msgid "Do not allow unresolved references in shared libs" msgstr "Đừng cho phép tham chiệu chưa tháo gỡ trong thư viên dùng chung" -#: lexsup.c:399 +#: lexsup.c:400 msgid "Allow multiple definitions" msgstr "Cho phép nhiều lời định nghÄ©a" -#: lexsup.c:401 +#: lexsup.c:402 msgid "Disallow undefined version" msgstr "Bỏ cho phép phiên bản chưa định nghÄ©a" -#: lexsup.c:403 +#: lexsup.c:404 msgid "Create default symbol version" msgstr "Tạo phiên bản ký hiệu mặc định" -#: lexsup.c:406 +#: lexsup.c:407 msgid "Create default symbol version for imported symbols" msgstr "Tạo phiên bản ký hiệu mặc định cho ký hiệu đã nhập" -#: lexsup.c:409 +#: lexsup.c:410 msgid "Don't warn about mismatched input files" msgstr "Đừng cảnh báo về tập tin nhập không khớp với nhau" -#: lexsup.c:411 +#: lexsup.c:412 msgid "Turn off --whole-archive" msgstr "Tắt tùy chọn « --whole-archive » (toàn kho)" -#: lexsup.c:413 +#: lexsup.c:414 msgid "Create an output file even if errors occur" msgstr "Tạo tập tin xuất dù gặp lỗi" -#: lexsup.c:418 +#: lexsup.c:419 msgid "" "Only use library directories specified on\n" "\t\t\t\tthe command line" @@ -1582,115 +1572,115 @@ msgstr "" "Chỉ dùng thư mục thư viên\n" "\tđược ghi rõ trên dòng lệnh" -#: lexsup.c:421 +#: lexsup.c:422 msgid "Specify target of output file" msgstr "Ghi rõ đích cá»§a tập tin xuất" -#: lexsup.c:424 +#: lexsup.c:425 msgid "Ignored for Linux compatibility" msgstr "Bị bỏ qua để tương thích với Linux" -#: lexsup.c:427 +#: lexsup.c:428 msgid "Reduce memory overheads, possibly taking much longer" msgstr "Giảm bộ nhớ duy tu, có thể mất rất nhiều thời gian hÆ¡n" -#: lexsup.c:430 +#: lexsup.c:431 msgid "Relax branches on certain targets" msgstr "LÆ¡i ra nhánh trên một số đích nào đó" -#: lexsup.c:433 +#: lexsup.c:434 msgid "Keep only symbols listed in FILE" msgstr "Giữ chỉ những ký hiệu được liệt kê trong TẬP TIN" -#: lexsup.c:435 +#: lexsup.c:436 msgid "Set runtime shared library search path" msgstr "Lập đường dẫn tìm kiếm thư viên dùng chung vào lúc chạy" -#: lexsup.c:437 +#: lexsup.c:438 msgid "Set link time shared library search path" msgstr "Lập đường dẫn tìm kiếm thư viên dùng chung vào lúc liên kết" -#: lexsup.c:440 +#: lexsup.c:441 msgid "Create a shared library" msgstr "Tạo thư viên dùng chung" -#: lexsup.c:444 +#: lexsup.c:445 msgid "Create a position independent executable" msgstr "Tạo ứng dụng chạy được không phụ thuộc vào vị trí" -#: lexsup.c:448 +#: lexsup.c:449 msgid "Sort common symbols by size" msgstr "Sắp xếp ký hiệu dùng chung theo kích cỡ" -#: lexsup.c:452 +#: lexsup.c:453 msgid "name|alignment" msgstr "tên|canh_hàng" -#: lexsup.c:453 +#: lexsup.c:454 msgid "Sort sections by name or maximum alignment" msgstr "Sắp xếp phần theo tên hay canh lề tối đa" -#: lexsup.c:455 +#: lexsup.c:456 msgid "COUNT" msgstr "SỐ_ĐẾM" -#: lexsup.c:455 +#: lexsup.c:456 msgid "How many tags to reserve in .dynamic section" msgstr "Số thẻ cần giữ lại trong phần « .dynamic » (động)" -#: lexsup.c:458 +#: lexsup.c:459 msgid "[=SIZE]" -msgstr "[=SIZE]" +msgstr "[=Cá» ]" -#: lexsup.c:458 +#: lexsup.c:459 msgid "Split output sections every SIZE octets" -msgstr "Chia tách phần xuất tại mỗi Cá»  octet" +msgstr "Chia tách phần xuất tại mỗi Cá»  bộ tám" -#: lexsup.c:461 +#: lexsup.c:462 msgid "[=COUNT]" msgstr "[=SỐ_ĐẾM]" -#: lexsup.c:461 +#: lexsup.c:462 msgid "Split output sections every COUNT relocs" msgstr "Chia tách phần xuất tại mỗi SỐ_ĐẾM việc định vị lại" -#: lexsup.c:464 +#: lexsup.c:465 msgid "Print memory usage statistics" msgstr "In ra thống kê cách sá»­ dụng bộ nhớ" -#: lexsup.c:466 +#: lexsup.c:467 msgid "Display target specific options" msgstr "Hiển thị tùy chọn đặc trưng cho đích" -#: lexsup.c:468 +#: lexsup.c:469 msgid "Do task level linking" msgstr "Liên kết trong lớp tác vụ" -#: lexsup.c:470 +#: lexsup.c:471 msgid "Use same format as native linker" msgstr "Dùng cùng khuôn dạng với bộ liên kết sở hữu" -#: lexsup.c:472 +#: lexsup.c:473 msgid "SECTION=ADDRESS" msgstr "PHẦN=ĐỊA CHỈ" -#: lexsup.c:472 +#: lexsup.c:473 msgid "Set address of named section" msgstr "Lập địa chỉ cá»§a phần có tên" -#: lexsup.c:475 +#: lexsup.c:476 msgid "Set address of .bss section" msgstr "Lập địa chỉ cá»§a phần « .bss »" -#: lexsup.c:477 +#: lexsup.c:478 msgid "Set address of .data section" msgstr "Lập địa chỉ cá»§a phần « .data » (dữ liệu)" -#: lexsup.c:479 +#: lexsup.c:480 msgid "Set address of .text section" msgstr "Lập địa chỉ cá»§a phần « .text » (văn bản)" -#: lexsup.c:482 +#: lexsup.c:483 msgid "" "How to handle unresolved symbols. is:\n" "\t\t\t\tignore-all, report-all, ignore-in-object-files,\n" @@ -1703,15 +1693,15 @@ msgstr "" " • ignore-in-object-files\tbỏ qua trong tập tin đối tượng\n" " • ignore-in-shared-libs\tbỏ qua trong thư viên dùng chung" -#: lexsup.c:486 +#: lexsup.c:487 msgid "Output lots of information during link" msgstr "Xuất nhiều thông tin trong khi liên kết" -#: lexsup.c:490 +#: lexsup.c:491 msgid "Read version information script" msgstr "Đọc tập lệnh thông tin phiên bản" -#: lexsup.c:493 +#: lexsup.c:494 msgid "" "Take export symbols list from .exports, using\n" "\t\t\t\tSYMBOL as the version." @@ -1719,73 +1709,73 @@ msgstr "" "Lấy danh sách ký hiệu xuất từ « .exports » (xuất),\n" "\t\tvới phiên bản là KÝ HIỆU" -#: lexsup.c:496 +#: lexsup.c:497 msgid "Warn about duplicate common symbols" msgstr "Cảnh báo về ký hiệu dùng chung trùng" -#: lexsup.c:498 +#: lexsup.c:499 msgid "Warn if global constructors/destructors are seen" msgstr "Cảnh báo nếu gặp bộ cấu tạo/phá toàn cục" -#: lexsup.c:501 +#: lexsup.c:502 msgid "Warn if the multiple GP values are used" msgstr "Cảnh báo nếu sá»­ dụng nhiều giá trị GP" -#: lexsup.c:503 +#: lexsup.c:504 msgid "Warn only once per undefined symbol" msgstr "Cảnh báo chỉ một lần về mỗi ký hiệu chưa định nghÄ©a" -#: lexsup.c:505 +#: lexsup.c:506 msgid "Warn if start of section changes due to alignment" msgstr "Cảnh báo nếu đầu phần thay đổi vì canh lề" -#: lexsup.c:508 +#: lexsup.c:509 msgid "Warn if shared object has DT_TEXTREL" msgstr "Cảnh báo nếu đối tượng dùng chung có « DT_TEXTREL »" -#: lexsup.c:512 +#: lexsup.c:513 msgid "Report unresolved symbols as warnings" msgstr "Thông báo ký hiệu chưa tháo gỡ là cảnh báo" -#: lexsup.c:515 +#: lexsup.c:516 msgid "Report unresolved symbols as errors" msgstr "Thông báo ký hiệu chưa tháo gỡ là lỗi" -#: lexsup.c:517 +#: lexsup.c:518 msgid "Include all objects from following archives" msgstr "Gồm mọi đối tượng từ những kho theo đây" -#: lexsup.c:520 +#: lexsup.c:521 msgid "Use wrapper functions for SYMBOL" msgstr "Sá»­ dụng hàm cuốn cho KÝ HIỆU" -#: lexsup.c:667 +#: lexsup.c:668 msgid "%P: unrecognized option '%s'\n" -msgstr "%P: unrecognized option '%s'\n" +msgstr "%P: không nhận ra tùy chọn « %s »\n" -#: lexsup.c:669 +#: lexsup.c:670 msgid "%P%F: use the --help option for usage information\n" -msgstr "%P%F: use the --help option for usage information\n" +msgstr "%P%F: hãy sá»­ dụng tùy chọn « --help » để xem thông tin về cách sá»­ dụng\n" -#: lexsup.c:687 +#: lexsup.c:688 msgid "%P%F: unrecognized -a option `%s'\n" -msgstr "%P%F: unrecognized -a option `%s'\n" +msgstr "%P%F: không nhận ra tùy chọn kiểu « -a » là « %s »\n" -#: lexsup.c:700 +#: lexsup.c:701 msgid "%P%F: unrecognized -assert option `%s'\n" -msgstr "%P%F: unrecognized -assert option `%s'\n" +msgstr "%P%F: không nhận ra tùy chọn kiểu « -assert » (khẳng định) là « %s »\n" -#: lexsup.c:743 +#: lexsup.c:744 msgid "%F%P: unknown demangling style `%s'" -msgstr "%F%Ps:không biết kiểu dáng tháo gõ (demangle « %s »n" +msgstr "%F%Ps: không biết kiểu dáng tháo gõ « %s »" -#: lexsup.c:805 +#: lexsup.c:806 msgid "%P%F: invalid number `%s'\n" -msgstr "%P%F: invalid number `%s'\n" +msgstr "%P%F: số không hợp lệ « %s »\n" -#: lexsup.c:897 +#: lexsup.c:898 msgid "%P%F: bad --unresolved-symbols option: %s\n" -msgstr "%P%F: tùy chọnb« ad --unresolved-symbo» (ký hiệu chưa tháo gỡ) saiion: %s\n" +msgstr "%P%F: tùy chọn « --unresolved-symbols » (các ký hiệu chưa tháo gỡ) sai : %s\n" #. This can happen if the user put "-rpath,a" on the command #. line. (Or something similar. The comma is important). @@ -1795,82 +1785,92 @@ msgstr "%P%F: tùy chọnb« ad --unresolved-symbo» (ký hiệu chưa tháo g #. an error message here. We cannot just make this a warning, #. increment optind, and continue because getopt is too confused #. and will seg-fault the next time around. -#: lexsup.c:968 +#: lexsup.c:969 msgid "%P%F: bad -rpath option\n" msgstr "%P%F: tùy chọn « -rpath » (đường dẫn r) sai\n" -#: lexsup.c:1080 +#: lexsup.c:1081 msgid "%P%F: -shared not supported\n" -msgstr "%P%F: -shared not supported\n" +msgstr "%P%F: không hỗ trợ tùy chọn « -shared » (dùng chung)\n" -#: lexsup.c:1089 +#: lexsup.c:1090 msgid "%P%F: -pie not supported\n" msgstr "%P%F: không hỗ trợ tùy chọn « -pie » (bánh)\n" -#: lexsup.c:1099 +#: lexsup.c:1100 msgid "name" msgstr "tên" -#: lexsup.c:1101 +#: lexsup.c:1102 msgid "alignment" msgstr "canh lề" -#: lexsup.c:1104 +#: lexsup.c:1105 msgid "%P%F: invalid section sorting option: %s\n" -msgstr "%P%F: invalid section sorting option: %s\n" +msgstr "%P%F: tùy chọn sắp xếp phần không hợp lệ: %s\n" -#: lexsup.c:1130 +#: lexsup.c:1131 msgid "%P%F: invalid argument to option \"--section-start\"\n" -msgstr "%P%F: đối số không hợp lệ đối với tùy chọni« alid argument t » (bắt đầu phần)option \"--section-start\"\n" +msgstr "%P%F: đối số không hợp lệ đối với tùy chọn « --section-start »\n" -#: lexsup.c:1137 +#: lexsup.c:1138 msgid "%P%F: missing argument(s) to option \"--section-start\"\n" msgstr "%P%F: thiếu đối số đối với tùy chọn « --section-start » (bắt đầu phần)\n" -#: lexsup.c:1311 +#: lexsup.c:1312 msgid "%P%F: may not nest groups (--help for usage)\n" msgstr "%P%F: không cho phép lồng nhóm với nhau (« --help » để xem cách sá»­ dụng đúng)\n" -#: lexsup.c:1318 +#: lexsup.c:1319 msgid "%P%F: group ended before it began (--help for usage)\n" msgstr "%P%F: nhóm kết thức trước bắt đầu (« --help » để xem cách sá»­ dụng đúng)\n" -#: lexsup.c:1346 +#: lexsup.c:1347 msgid "%P%X: --hash-size needs a numeric argument\n" -msgstr "%P%X: --hash-size needs a numeric argument\n" +msgstr "%P%X: tùy chọn « --hash-size » (kích cỡ băm) cần thiết đối số thuộc số\n" -#: lexsup.c:1397 lexsup.c:1410 +#: lexsup.c:1398 lexsup.c:1411 msgid "%P%F: invalid hex number `%s'\n" -msgstr "%P%F: invalid hex number `%s'\n" +msgstr "%P%F: số thập lục không hợp lệ « %s »\n" -#: lexsup.c:1445 +#: lexsup.c:1447 #, c-format msgid "Usage: %s [options] file...\n" msgstr "Cách sá»­ dụng: %s tập_tin...\n" -#: lexsup.c:1447 +#: lexsup.c:1449 #, c-format msgid "Options:\n" msgstr "Tùy chọn:\n" +#: lexsup.c:1527 +#, c-format +msgid " @FILE" +msgstr " @TẬP_TIN" + +#: lexsup.c:1530 +#, c-format +msgid "Read options from FILE\n" +msgstr "Đọc các tùy chọn từ TẬP_TIN\n" + #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:1530 +#: lexsup.c:1535 #, c-format msgid "%s: supported targets:" msgstr "%s: đích hỗ trợ :" -#: lexsup.c:1538 +#: lexsup.c:1543 #, c-format msgid "%s: supported emulations: " -msgstr "%s: mô phỏng hỗ trợ :" +msgstr "%s: mô phỏng hỗ trợ : " -#: lexsup.c:1543 +#: lexsup.c:1548 #, c-format msgid "%s: emulation specific options:\n" msgstr "%s: tùy chọn đặc trưng cho mô phỏng:\n" -#: lexsup.c:1547 +#: lexsup.c:1552 #, c-format msgid "Report bugs to %s\n" msgstr "Hãy thông báo lỗi nào cho %s\n" @@ -1884,61 +1884,75 @@ msgstr "%P%F: không biết kiểu khuôn dạng %s\n" msgid "%XUnsupported PEI architecture: %s\n" msgstr "%XChưa hỗ trợ kiến trúc PEI: %s\n" -#: pe-dll.c:652 +#: pe-dll.c:604 +#, c-format +msgid "%XCannot export %s: invalid export name\n" +msgstr "%XKhông thể xuất %s: tên xuất không hợp lệ\n" + +#: pe-dll.c:657 #, c-format msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n" msgstr "%XLỗi: XUẤT trùng với điều thứ tá»± : %s (%d so với %d)\n" -#: pe-dll.c:659 +#: pe-dll.c:664 #, c-format msgid "Warning, duplicate EXPORT: %s\n" msgstr "Cảnh báo, XUẤT trùng: %s\n" -#: pe-dll.c:725 +#: pe-dll.c:751 #, c-format msgid "%XCannot export %s: symbol not defined\n" msgstr "%XKhông thể xuất %s: chưa định nghÄ©a ký hiệu\n" -#: pe-dll.c:731 +#: pe-dll.c:757 #, c-format msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" msgstr "%XKhông thể xuất %s: ký hiệu sai kiểu (%d so với %d)\n" -#: pe-dll.c:738 +#: pe-dll.c:764 #, c-format msgid "%XCannot export %s: symbol not found\n" msgstr "%XKhông thể xuất %s: không tìm thấy ký hiệu\n" -#: pe-dll.c:850 +#: pe-dll.c:877 #, c-format msgid "%XError, ordinal used twice: %d (%s vs %s)\n" msgstr "%XLỗi, điều thứ tá»± được dùng hai lần: %d (%s so với %s)\n" -#: pe-dll.c:1172 +#: pe-dll.c:1219 #, c-format msgid "%XError: %d-bit reloc in dll\n" -msgstr "%xLỗi: định vị lại %d-bit trong DLL\n" +msgstr "%XLỗi: việc định vị lại %d-bit trong dll\n" -#: pe-dll.c:1300 +#: pe-dll.c:1347 #, c-format msgid "%s: Can't open output def file %s\n" msgstr "%s: Không thể mở tập tin xuất def (định nghÄ©a) %s\n" -#: pe-dll.c:1443 +#: pe-dll.c:1490 #, c-format msgid "; no contents available\n" msgstr "; không có nội dung sẵn sàng\n" -#: pe-dll.c:2205 +#: pe-dll.c:2252 msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" msgstr "%C: không thể tá»± động nhập biến « %T ». Hãy đọc tài liệu hướng dẫn về tùy chọn « --enable-auto-import » (bật nhập tá»± động) cá»§a trình ld, để xem chi tiết.\n" -#: pe-dll.c:2235 +#: pe-dll.c:2282 #, c-format msgid "%XCan't open .lib file: %s\n" msgstr "%XKhông thể mở tập tin « .lib » (thư viên): %s\n" -#: pe-dll.c:2240 +#: pe-dll.c:2287 #, c-format msgid "Creating library file: %s\n" msgstr "Đang tạo tập tin thư viên: %s\n" + +#~ msgid "%P%F: out of memory during initialization" +#~ msgstr "%P%F: hết bộ nhớ trong khi cài đặt" + +#~ msgid "%P%F: -static and -shared may not be used together\n" +#~ msgstr "%P%F: không thể sá»­ dụng cả « -static » (tÄ©nh) lẫn « -shared » (dùng chung) đều\n" + +#~ msgid "%P%X: generated" +#~ msgstr "%P%X: đã tạo ra" diff --git a/ld/scripttempl/elf32crx.sc b/ld/scripttempl/elf32crx.sc index 67488ae5f7b..63401fe7e2c 100644 --- a/ld/scripttempl/elf32crx.sc +++ b/ld/scripttempl/elf32crx.sc @@ -73,7 +73,7 @@ SECTIONS .rdata : { __RDATA_START = .; - *(.rdata_4) *(.rdata_2) *(.rdata_1) *(.rdata.*) *(.gnu.linkonce.r.*) + *(.rdata_4) *(.rdata_2) *(.rdata_1) *(.rdata.*) *(.gnu.linkonce.r.*) *(.rodata.*) __RDATA_END = .; } > rom diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index f968b4ce178..5f30043aed2 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,115 @@ +2006-06-12 Daniel Jacobowitz + + Backport: + 2006-04-29 H.J. Lu + * ld-elfvers/vers.exp: Xfail vers7a, vers7, vers23a, vers23b, + vers23c, vers23d, vers23, vers25a, vers25b1, vers25b2, vers27a, + vers27b, vers27c1, vers27c2, vers27d4 and vers27d5 if PIC is + required. + +2006-06-11 Richard Sandiford + + * ld-mips-elf/stub-dynsym-1.s, + * ld-mips-elf/stub-dynsym-1.ld, + * ld-mips-elf/stub-dynsym-1-7fff.d, + * ld-mips-elf/stub-dynsym-1-8000.d, + * ld-mips-elf/stub-dynsym-1-fff0.d, + * ld-mips-elf/stub-dynsym-1-10000.d, + * ld-mips-elf/stub-dynsym-1-2fe80.d: New test. + * ld-mips-elf/mips-elf.exp: Run it. + +2006-06-01 Daniel Jacobowitz + + Backport: + 2006-05-23 H.J. Lu + PR ld/2655 + PR ld/2657 + * ld-elf/eh1.d: New file. + * ld-elf/eh1.s: Likewise. + * ld-elf/eh1a.s: Likewise. + * ld-elf/eh2.d: Likewise. + * ld-elf/eh2a.s: Likewise. + * ld-elf/eh3.d: Likewise. + * ld-elf/eh3.s: Likewise. + * ld-elf/eh3a.s: Likewise. + +2006-05-22 Nick Clifton + + * ld-elf/start.s (start): Add this symbol for SH targets. + (main): Add this symbol for HPPA targets. + +2006-05-17 Daniel Jacobowitz + + Backport: + 2006-05-02 H.J. Lu + * ld-cdtest/cdtest-foo.cc (Foo::Foo): Add const to char *. + * ld-cdtest/cdtest-foo.h (Foo::Foo): Likewise. + * ld-srec/sr3.cc (Foo::Foo): Likewise. + +2006-05-17 Thiemo Seufer + + * ld-elfweak/size2.d, ld-elfweak/size2a.s, ld-elfweak/size2b.s: + Add __start as entry symbol. + +2006-05-16 Thiemo Seufer + + * ld-elf/orphan.ld: Add placement for MIPS .reginfo section. + +2006-05-10 Thiemo Seufer + + * ld-elf/sec64k.exp: Extend for MIPS ELF. + +2006-05-10 Alan Modra + + * ld-powerpc/tlsexetoc.r: Update for correction to tls optimization. + * ld-powerpc/tlsexetoc.g: Likewise. + +2006-05-02 Paul Brook + + * ld-arm/arm-elf.exp: Add thumb-rel32. + * ld-arm/thumb-rel32.d: New test. + * ld-arm/thumb-rel32.s: New test. + +2006-04-05 Richard Sandiford + + * ld-sparc/vxworks1.dd, ld-sparc/vxworks1.ld, ld-sparc/vxworks1-lib.dd, + * ld-sparc/vxworks1-lib.nd, ld-sparc/vxworks1-lib.rd, + * ld-sparc/vxworks1-lib.s, ld-sparc/vxworks1.rd, ld-sparc/vxworks1.s, + * ld-sparc/vxworks1-static.d, ld-sparc/vxworks2.s, + * ld-sparc/vxworks2.sd, ld-sparc/vxworks2-static.sd: New tests. + * ld-sparc/sparc.exp: Run them. + +2006-04-05 Ben Elliston + + * lib/ld-lib.exp: Comment cleanups. + +2006-03-27 Richard Sandiford + + * ld-mips-elf/tls-hidden3a.s, ld-mips-elf/tls-hidden3b.s, + * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got, + * ld-mips-elf/tls-hidden3.ld, ld-mips-elf/tls-hidden3.r, + * ld-mips-elf/tls-hidden4a.s, ld-mips-elf/tls-hidden4b.s, + * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-hidden4.r: New tests. + * ld-mips-elf/mips-elf.exp: Run them. + +2006-03-25 Richard Sandiford + + * ld-m68k/merge-error-1a.s, ld-m68k/merge-error-1b.s, + * ld-m68k/merge-error-1a.d, ld-m68k/merge-error-1b.d, + * ld-m68k/merge-error-1c.d, ld-m68k/merge-error-1d.d, + * ld-m68k/merge-error-1e.d, ld-m68k/merge-ok-1a.d, + * ld-m68k/merge-ok-1b.d: New tests. + * ld-m68k/m68k.exp: Run them. + +2006-03-22 Richard Sandiford + + * ld-mips/vxworks1.dd, ld-mips/vxworks1.ld, ld-mips/vxworks1-lib.dd, + * ld-mips/vxworks1-lib.nd, ld-mips/vxworks1-lib.rd, + * ld-mips/vxworks1-lib.s, ld-mips/vxworks1.rd, ld-mips/vxworks1.s, + * ld-mips/vxworks1-static.d, ld-mips/vxworks2.s, ld-mips/vxworks2.sd, + * ld-mips/vxworks2-static.sd: New tests. + * ld-mips/mips-elf.exp: Run them. + 2006-03-17 Alexandre Oliva * ld-powerpc/tls32.s: Verify that +32768 @plt addend is diff --git a/ld/testsuite/ld-cdtest/cdtest-foo.cc b/ld/testsuite/ld-cdtest/cdtest-foo.cc index c7d41a9d1a4..db76b0200ae 100644 --- a/ld/testsuite/ld-cdtest/cdtest-foo.cc +++ b/ld/testsuite/ld-cdtest/cdtest-foo.cc @@ -38,7 +38,7 @@ Foo::Foo () #endif } -Foo::Foo (char* msg) +Foo::Foo (const char* msg) { i = ++foos; strncpy( message, msg, len); diff --git a/ld/testsuite/ld-cdtest/cdtest-foo.h b/ld/testsuite/ld-cdtest/cdtest-foo.h index 0afe52a829f..f36efb7fc9a 100644 --- a/ld/testsuite/ld-cdtest/cdtest-foo.h +++ b/ld/testsuite/ld-cdtest/cdtest-foo.h @@ -17,7 +17,7 @@ public: static void init_foo (); static int nb_foos() { return foos; } Foo(); - Foo( char* message); + Foo(const char* message); Foo(const Foo&); Foo & operator= (const Foo&); ~Foo (); diff --git a/ld/testsuite/ld-elf/eh1.d b/ld/testsuite/ld-elf/eh1.d index d7a5b15d325..897955b2b6f 100644 --- a/ld/testsuite/ld-elf/eh1.d +++ b/ld/testsuite/ld-elf/eh1.d @@ -22,11 +22,11 @@ The section .eh_frame contains: DW_CFA_nop DW_CFA_nop -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 - DW_CFA_advance_loc: 0 to 00400078 +00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 at cfa-16 - DW_CFA_advance_loc: 0 to 00400078 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_reg: r6 00000038 ZERO terminator diff --git a/ld/testsuite/ld-elf/eh2.d b/ld/testsuite/ld-elf/eh2.d index c1ef3994fb8..6f4f2c58ed5 100644 --- a/ld/testsuite/ld-elf/eh2.d +++ b/ld/testsuite/ld-elf/eh2.d @@ -22,11 +22,11 @@ The section .eh_frame contains: DW_CFA_nop DW_CFA_nop -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 - DW_CFA_advance_loc: 0 to 00400078 +00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 at cfa-16 - DW_CFA_advance_loc: 0 to 00400078 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_reg: r6 00000038 ZERO terminator diff --git a/ld/testsuite/ld-elf/eh3.d b/ld/testsuite/ld-elf/eh3.d index f1d2a523759..492c87784b9 100644 --- a/ld/testsuite/ld-elf/eh3.d +++ b/ld/testsuite/ld-elf/eh3.d @@ -22,11 +22,11 @@ The section .eh_frame contains: DW_CFA_nop DW_CFA_nop -00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 - DW_CFA_advance_loc: 0 to 00400078 +00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_offset: 16 DW_CFA_offset: r6 at cfa-16 - DW_CFA_advance_loc: 0 to 00400078 + DW_CFA_advance_loc: 0 to 004000b0 DW_CFA_def_cfa_reg: r6 00000038 ZERO terminator diff --git a/ld/testsuite/ld-elf/orphan.ld b/ld/testsuite/ld-elf/orphan.ld index e3d7303316a..8ce83f16e84 100644 --- a/ld/testsuite/ld-elf/orphan.ld +++ b/ld/testsuite/ld-elf/orphan.ld @@ -4,4 +4,5 @@ SECTIONS .data : { *(.data) } .bss : { *(.bss) *(COMMON) } .note : { *(.note) } + .reginfo : { *(.reginfo) } } diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index b4a88a07206..bd66c1c5701 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -51,7 +51,9 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } { if { $i == 0 } { puts $ofd " .global _start" + puts $ofd " .global __start" puts $ofd "_start:" + puts $ofd "__start:" puts $ofd " .global foo_0" puts $ofd "foo_0: .long 0" } @@ -101,7 +103,7 @@ puts $ofd " \\\[65536\\\] (.rel\[a\]?)?\\.foo\\.\[0-9\]+ .*" puts $ofd "#..." puts $ofd " 680..: 0+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+68... " puts $ofd "#..." -puts $ofd " 680..: 0+4\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+2 bar_1" +puts $ofd " 680..: 0+4\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[23\] bar_1" puts $ofd "#..." puts $ofd ".* bar_34000" puts $ofd "#..." diff --git a/ld/testsuite/ld-elf/start.s b/ld/testsuite/ld-elf/start.s index 86fc17c2405..9cbf231a3ab 100644 --- a/ld/testsuite/ld-elf/start.s +++ b/ld/testsuite/ld-elf/start.s @@ -3,4 +3,8 @@ _start: .global __start __start: + .global start /* Used by SH targets. */ +start: + .global main /* Used by HPPA targets. */ +main: .long 0 diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index 342613787df..6bb77a7c267 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -830,9 +830,14 @@ build_exec "vers6" vers6.c vers6 "" vers1.so vers6.ver vers6.dsym vers6.sym # Another test to verify that something made local via 'local' is truly not # accessible. # -build_vers_lib_no_pic "vers7a" vers7a.c vers7a "" vers7.map vers7a.ver vers7a.dsym vers7a.sym +if [string match "yes" $pic] then { + xfail "vers7a" + xfail "vers7" +} else { + build_vers_lib_no_pic "vers7a" vers7a.c vers7a "" vers7.map vers7a.ver vers7a.dsym vers7a.sym -test_ldfail "vers7" "" vers7.c vers7 vers7a.so "" "undefined reference to hide_a" + test_ldfail "vers7" "" vers7.c vers7 vers7a.so "" "undefined reference to hide_a" +} # @@ -906,11 +911,19 @@ build_vers_lib_pic "vers22b" vers22b.c vers22b "" vers22.map vers22b.ver vers22b build_vers_lib_pic "vers22" vers22.c vers22 "vers22a.so vers22b.so" "" vers22.ver vers22.dsym "" # Test versioned definitions in different files. -build_vers_lib_no_pic "vers23a" vers23a.c vers23a "" vers23a.map vers23a.ver vers23a.dsym vers23a.sym -build_vers_lib_no_pic "vers23b" vers23b.c vers23b "" vers23b.map vers23b.ver vers23b.dsym "" -build_vers_lib_no_pic "vers23c" vers23b.c vers23c "vers23a.so" vers23b.map vers23c.ver vers23b.dsym "" -build_exec "vers23d" vers23.c vers23d "tmpdir/vers23a.so tmpdir/vers23c.so" "" vers23.ver vers23d.dsym "" -build_exec "vers23" vers23.c vers23 "tmpdir/vers23a.so tmpdir/vers23b.o tmpdir/vers23b.so" "" vers23.ver vers23.dsym "" +if [string match "yes" $pic] then { + xfail "vers23a" + xfail "vers23b" + xfail "vers23c" + xfail "vers23d" + xfail "vers23" +} else { + build_vers_lib_no_pic "vers23a" vers23a.c vers23a "" vers23a.map vers23a.ver vers23a.dsym vers23a.sym + build_vers_lib_no_pic "vers23b" vers23b.c vers23b "" vers23b.map vers23b.ver vers23b.dsym "" + build_vers_lib_no_pic "vers23c" vers23b.c vers23c "vers23a.so" vers23b.map vers23c.ver vers23b.dsym "" + build_exec "vers23d" vers23.c vers23d "tmpdir/vers23a.so tmpdir/vers23c.so" "" vers23.ver vers23d.dsym "" + build_exec "vers23" vers23.c vers23 "tmpdir/vers23a.so tmpdir/vers23b.o tmpdir/vers23b.so" "" vers23.ver vers23.dsym "" +} # Test .symver x,x@VERS.0 set as_pic_flags "" @@ -931,9 +944,16 @@ run_ld_link_tests [list "\"vers24c\" \"libvers24c.so\" \"-fpic\""] # Test versioned definition vs. normal definition in different files. -build_vers_lib_no_pic "vers25a" vers25a.c vers25a "" vers25a.map vers25a.ver vers25a.dsym "" -build_vers_lib_no_pic "vers25b1" vers25b.c vers25b1 "vers25a.o vers25a.so" "" vers25b.ver vers25b.dsym "" -build_vers_lib_no_pic "vers25b2" vers25b.c vers25b2 "vers25a.so vers25a.o" "" vers25b.ver vers25b.dsym "" +if [string match "yes" $pic] then { + xfail "vers25a" + xfail "vers25b1" + xfail "vers25b2" +} else { + build_vers_lib_no_pic "vers25a" vers25a.c vers25a "" vers25a.map vers25a.ver vers25a.dsym "" + build_vers_lib_no_pic "vers25b1" vers25b.c vers25b1 "vers25a.o vers25a.so" "" vers25b.ver vers25b.dsym "" + build_vers_lib_no_pic "vers25b2" vers25b.c vers25b2 "vers25a.so vers25a.o" "" vers25b.ver vers25b.dsym "" +} + build_vers_lib_pic "vers26a" vers26a.c vers26a "" vers26a.map vers26a.ver vers26a.dsym "" build_vers_lib_pic "vers26b1" vers26b.c vers26b1 "" "" vers26b.ver vers26b.dsym "" build_vers_lib_pic "vers26b2" vers26b.c vers26b2 "vers26a.so vers26b1.so vers26a.o" "" vers26b.ver vers26b.dsym "" @@ -944,15 +964,27 @@ if [string match "yes" $pic] then { } # Test versioned definition vs. hidden definition in different files. -build_vers_lib_no_pic "vers27a" vers27a.c vers27a "" vers27a.map vers27a.ver vers27a.dsym "" -build_vers_lib_no_pic "vers27b" vers27b.c vers27b "" "" vers27b.ver vers27b.dsym "" -build_vers_lib_no_pic "vers27c1" vers27c.c vers27c1 "vers27b.o vers27a.so" "" vers27c.ver vers27c.dsym "" -build_vers_lib_no_pic "vers27c2" vers27c.c vers27c2 "vers27a.so vers27b.o" "" vers27c.ver vers27c.dsym "" -build_vers_lib_pic "vers27d1" vers27d1.c vers27d1 "" vers27a.map vers27d.ver vers27d.dsym vers27d.sym -build_vers_lib_pic "vers27d2" vers27d2.c vers27d2 "" "" vers27b.ver vers27b.dsym "" -build_executable "vers27d3" vers27d3.c vers27d3 "vers27b.o vers27d2.so vers27d1.so" "" vers27b.ver vers27b.dsym "" -build_vers_lib_pic "vers27d4" vers27d2.c vers27d4 "vers27a.so" "" vers27d4.ver vers27d4.dsym "" -build_executable "vers27d5" vers27d3.c vers27d5 "vers27d4.so vers27b.o vers27a.so" "" vers27b.ver vers27b.dsym "" +if [string match "yes" $pic] then { + xfail "vers27a" + xfail "vers27b" + xfail "vers27c1" + xfail "vers27c2" + xfail "vers27d1" + xfail "vers27d2" + xfail "vers27d3" + xfail "vers27d4" + xfail "vers27d5" +} else { + build_vers_lib_no_pic "vers27a" vers27a.c vers27a "" vers27a.map vers27a.ver vers27a.dsym "" + build_vers_lib_no_pic "vers27b" vers27b.c vers27b "" "" vers27b.ver vers27b.dsym "" + build_vers_lib_no_pic "vers27c1" vers27c.c vers27c1 "vers27b.o vers27a.so" "" vers27c.ver vers27c.dsym "" + build_vers_lib_no_pic "vers27c2" vers27c.c vers27c2 "vers27a.so vers27b.o" "" vers27c.ver vers27c.dsym "" + build_vers_lib_pic "vers27d1" vers27d1.c vers27d1 "" vers27a.map vers27d.ver vers27d.dsym vers27d.sym + build_vers_lib_pic "vers27d2" vers27d2.c vers27d2 "" "" vers27b.ver vers27b.dsym "" + build_executable "vers27d3" vers27d3.c vers27d3 "vers27b.o vers27d2.so vers27d1.so" "" vers27b.ver vers27b.dsym "" + build_vers_lib_pic "vers27d4" vers27d2.c vers27d4 "vers27a.so" "" vers27d4.ver vers27d4.dsym "" + build_executable "vers27d5" vers27d3.c vers27d5 "vers27d4.so vers27b.o vers27a.so" "" vers27b.ver vers27b.dsym "" +} # Test weak versioned definition vs. strong definition in different # files. diff --git a/ld/testsuite/ld-elfweak/size2.d b/ld/testsuite/ld-elfweak/size2.d index 3000512c16c..4468dda2d9c 100644 --- a/ld/testsuite/ld-elfweak/size2.d +++ b/ld/testsuite/ld-elfweak/size2.d @@ -4,7 +4,7 @@ #readelf: -s Symbol table '.symtab' contains .* entries: #... - .*: [0-9a-f]* +1 +FUNC +GLOBAL +DEFAULT +[0-9] +_start + .*: [0-9a-f]* +1 +FUNC +GLOBAL +DEFAULT +[0-9] +__?start #... .*: [0-9a-f]* +1 +FUNC +WEAK +DEFAULT +[0-9] +foo #... diff --git a/ld/testsuite/ld-elfweak/size2a.s b/ld/testsuite/ld-elfweak/size2a.s index 66b6d178798..c9ad914656f 100644 --- a/ld/testsuite/ld-elfweak/size2a.s +++ b/ld/testsuite/ld-elfweak/size2a.s @@ -1,9 +1,13 @@ .text .global _start + .global __start .type _start, "function" + .type __start, "function" _start: +__start: .byte 0 .size _start, 1 + .size __start, 1 .weak foo .type foo, "function" diff --git a/ld/testsuite/ld-elfweak/size2b.s b/ld/testsuite/ld-elfweak/size2b.s index 27b89dbbe2a..946c838470c 100644 --- a/ld/testsuite/ld-elfweak/size2b.s +++ b/ld/testsuite/ld-elfweak/size2b.s @@ -1,10 +1,14 @@ .text .weak _start + .weak __start .type _start, "function" + .type __start, "function" _start: +__start: .byte 0 .byte 0 .size _start, 2 + .size __start, 2 .weak foo .type foo, "function" diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index aac341894b0..b5ddaefd58f 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -16,6 +16,34 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. # +if {[istarget "mips*-*-vxworks"]} { + set mipsvxtests { + {"VxWorks shared library test 1" "-shared -Tvxworks1.ld" + "-mips2" {vxworks1-lib.s} + {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd} + {readelf --symbols vxworks1-lib.nd}} + "libvxworks1.so"} + {"VxWorks executable test 1 (dynamic)" \ + "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" + "-mips2" {vxworks1.s} + {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}} + "vxworks1"} + {"VxWorks executable test 2 (dynamic)" \ + "-Tvxworks1.ld -q --force-dynamic" + "-mips2" {vxworks2.s} + {{readelf --segments vxworks2.sd}} + "vxworks2"} + {"VxWorks executable test 2 (static)" + "-Tvxworks1.ld" + "-mips2" {vxworks2.s} + {{readelf --segments vxworks2-static.sd}} + "vxworks2"} + } + run_ld_link_tests $mipsvxtests + run_dump_test "vxworks1-static" + return +} + if {![istarget mips*-*-*] || ![is_elf_format]} { return } @@ -109,6 +137,33 @@ if $has_newabi { run_dump_test "emit-relocs-1" } +if {[istarget mips*-*-linux*]} { + # The number of symbols that are always included in the symbol table + # for these tests. The 5 are: + # + # the null symbol entry + # the .MIPS.stubs section symbol + # the .text section symbol + # _gp + # _GLOBAL_OFFSET_TABLE_ + set base_syms 5 + foreach dynsym { 7fff 8000 fff0 10000 2fe80 } { + run_ld_link_tests \ + [list [list \ + "Stub for dynsym 0x$dynsym" \ + "-shared -melf32btsmip -T stub-dynsym-1.ld" \ + [concat \ + "-EB -march=mips1 -32 -KPIC" \ + "--defsym base_syms=$base_syms" \ + "--defsym dynsym=0x$dynsym"] \ + [list "stub-dynsym-1.s"] \ + [list [list \ + "objdump" "-dz" \ + "stub-dynsym-1-$dynsym.d"]] \ + "stub-dynsym-1-$dynsym"]] + } + } + # For tests which may involve multiple files, use run_ld_link_tests. # List contains test-items with 3 items followed by 2 lists: @@ -171,6 +226,17 @@ set mips_tls_tests { "-EB -march=mips1 -32 -KPIC" {tls-hidden2a.s tls-hidden2b.s} {{objdump -drj.text tls-hidden2.d} {objdump -sj.got tls-hidden2-got.d}} "tls-hidden2.so"} + {"Shared library with TLS and hidden symbols (3)" + "-shared -melf32btsmip -T tls-hidden3.ld" + "-EB -march=mips2 -32 -KPIC" {tls-hidden3a.s tls-hidden3b.s} + {{objdump -dj.text tls-hidden3.d} {objdump -sj.got tls-hidden3.got} + {readelf --relocs tls-hidden3.r}} + "tls-hidden3.so"} + {"Shared library with TLS and hidden symbols (4)" + "-shared -melf32btsmip -T tls-hidden3.ld" + "-EB -march=mips2 -32 -KPIC" {tls-hidden4a.s tls-hidden4b.s} + {{objdump -sj.got tls-hidden4.got} {readelf --relocs tls-hidden4.r}} + "tls-hidden4.so"} } if {[istarget mips*-*-linux*]} { diff --git a/ld/testsuite/ld-mips-elf/textrel-1.d b/ld/testsuite/ld-mips-elf/textrel-1.d index 29a166da455..7172bb7ea40 100644 --- a/ld/testsuite/ld-mips-elf/textrel-1.d +++ b/ld/testsuite/ld-mips-elf/textrel-1.d @@ -6,21 +6,21 @@ Dynamic section at offset 0xb4 contains 18 entries: Tag Type Name/Value - 0x00000004 \(HASH\) 0x16c - 0x00000005 \(STRTAB\) 0x30c - 0x00000006 \(SYMTAB\) 0x1fc - 0x0000000a \(STRSZ\) 84 \(bytes\) + 0x00000004 \(HASH\) 0x[0-9a-f]* + 0x00000005 \(STRTAB\) 0x[0-9a-f]* + 0x00000006 \(SYMTAB\) 0x[0-9a-f]* + 0x0000000a \(STRSZ\) [0-9]* \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) 0x00000015 \(DEBUG\) 0x0 - 0x00000003 \(PLTGOT\) 0x1003e0 - 0x00000011 \(REL\) 0x360 + 0x00000003 \(PLTGOT\) 0x[0-9a-f]* + 0x00000011 \(REL\) 0x[0-9a-f]* 0x00000012 \(RELSZ\) 8 \(bytes\) 0x00000013 \(RELENT\) 8 \(bytes\) 0x70000001 \(MIPS_RLD_VERSION\) 1 0x70000005 \(MIPS_FLAGS\) NOTPOT 0x70000006 \(MIPS_BASE_ADDRESS\) 0 - 0x7000000a \(MIPS_LOCAL_GOTNO\) 7 - 0x70000011 \(MIPS_SYMTABNO\) 17 - 0x70000012 \(MIPS_UNREFEXTNO\) 12 - 0x70000013 \(MIPS_GOTSYM\) 0x11 + 0x7000000a \(MIPS_LOCAL_GOTNO\) [0-9]* + 0x70000011 \(MIPS_SYMTABNO\) [0-9]* + 0x70000012 \(MIPS_UNREFEXTNO\) [0-9]* + 0x70000013 \(MIPS_GOTSYM\) 0x[0-9a-f]* 0x00000000 \(NULL\) 0x0 diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.g b/ld/testsuite/ld-powerpc/tlsexetoc.g index 00dc0feb7fe..06be9d15dc6 100644 --- a/ld/testsuite/ld-powerpc/tlsexetoc.g +++ b/ld/testsuite/ld-powerpc/tlsexetoc.g @@ -7,7 +7,7 @@ .*: +file format elf64-powerpc Contents of section \.got: -.* 00000000 10018558 00000000 00000000 .* +.* 00000000 10018570 00000000 00000000 .* .* 00000000 00000000 00000000 00000000 .* .* 00000000 00000000 00000000 00000001 .* .* 00000000 00000000 00000000 00000001 .* diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r index d6664cdd19a..98eda7e5a6b 100644 --- a/ld/testsuite/ld-powerpc/tlsexetoc.r +++ b/ld/testsuite/ld-powerpc/tlsexetoc.r @@ -51,9 +51,10 @@ Program Headers: +04 +\.dynamic +05 +\.tdata \.tbss -Relocation section '\.rela\.dyn' at offset .* contains 2 entries: +Relocation section '\.rela\.dyn' at offset .* contains 3 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_PPC64_TPREL64 +0+ gd \+ 0 +[0-9a-f ]+R_PPC64_DTPMOD64 +0+ gd \+ 0 +[0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0 [0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0 Relocation section '\.rela\.plt' at offset .* contains 1 entries: diff --git a/ld/testsuite/ld-sparc/sparc.exp b/ld/testsuite/ld-sparc/sparc.exp index aa4c869a198..6e7e95cc563 100644 --- a/ld/testsuite/ld-sparc/sparc.exp +++ b/ld/testsuite/ld-sparc/sparc.exp @@ -19,6 +19,33 @@ # Test SPARC linking; all types of relocs. This tests the assembler and # tools like objdump as well as the linker. +if {[istarget "sparc-*-vxworks"]} { + set sparcvxworkstests { + {"VxWorks shared library test 1" "-shared -Tvxworks1.ld" + "-KPIC" {vxworks1-lib.s} + {{readelf --relocs vxworks1-lib.rd} {objdump -dr vxworks1-lib.dd} + {readelf --symbols vxworks1-lib.nd}} + "libvxworks1.so"} + {"VxWorks executable test 1 (dynamic)" \ + "tmpdir/libvxworks1.so -Tvxworks1.ld -q --force-dynamic" + "" {vxworks1.s} + {{readelf --relocs vxworks1.rd} {objdump -dr vxworks1.dd}} + "vxworks1"} + {"VxWorks executable test 2 (dynamic)" \ + "-Tvxworks1.ld -q --force-dynamic" + "" {vxworks2.s} + {{readelf --segments vxworks2.sd}} + "vxworks2"} + {"VxWorks executable test 2 (static)" + "-Tvxworks1.ld" + "" {vxworks2.s} + {{readelf --segments vxworks2-static.sd}} + "vxworks2"} + } + run_ld_link_tests $sparcvxworkstests + run_dump_test "vxworks1-static" +} + if { !([istarget "sparc*-*-elf*"] || [istarget "sparc*-sun-solaris*"] || ([istarget "sparc*-*-linux*"] diff --git a/ld/testsuite/ld-srec/sr3.cc b/ld/testsuite/ld-srec/sr3.cc index 283245dc768..0b5fa7ec893 100644 --- a/ld/testsuite/ld-srec/sr3.cc +++ b/ld/testsuite/ld-srec/sr3.cc @@ -11,7 +11,7 @@ public: static void init_foo (); static int nb_foos() { return foos; } Foo(); - Foo( char* message); + Foo(const char* message); Foo(const Foo&); Foo & operator= (const Foo&); ~Foo (); @@ -93,7 +93,7 @@ Foo::Foo () i = ++foos; } -Foo::Foo (char*) +Foo::Foo (const char*) { i = ++foos; } diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 2cf6dabca0f..a0e734eb6c0 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -1,6 +1,6 @@ # Support routines for LD testsuite. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -# 2004, 2005 Free Software Foundation, Inc. +# 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,10 +15,8 @@ # 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. -# -# -# default_ld_version -# extract and print the version number of ld + +# Extract and print the version number of ld. # proc default_ld_version { ld } { global host_triplet @@ -36,9 +34,7 @@ proc default_ld_version { ld } { } } -# -# default_ld_relocate -# link an object using relocation +# Link an object using relocation. # proc default_ld_relocate { ld target objects } { global HOSTING_EMU @@ -62,7 +58,7 @@ proc default_ld_relocate { ld target objects } { } # Check to see if ld is being invoked with a non-endian output format - +# proc is_endian_output_format { object_flags } { if {[string match "*-oformat binary*" $object_flags] || \ @@ -86,7 +82,7 @@ proc is_endian_output_format { object_flags } { # the site.exp file will include the switch "-mbig-endian" # (rather than "big-endian") which is not detected by proc # process_multilib_options. - +# proc big_or_little_endian {} { if [board_info [target_info name] exists multilib_flags] { @@ -110,9 +106,7 @@ proc big_or_little_endian {} { return $flags } -# -# default_ld_link -# link a program using ld +# Link a program using ld. # proc default_ld_link { ld target objects } { global HOSTING_EMU @@ -147,9 +141,7 @@ proc default_ld_link { ld target objects } { } } -# -# default_ld_simple_link -# link a program using ld, without including any libraries +# Link a program using ld, without including any libraries. # proc default_ld_simple_link { ld target objects } { global host_triplet @@ -197,9 +189,7 @@ proc default_ld_simple_link { ld target objects } { } } -# -# default_ld_compile -# compile an object using cc +# Compile an object using cc. # proc default_ld_compile { cc source object } { global CFLAGS @@ -272,9 +262,7 @@ proc default_ld_compile { cc source object } { } } -# -# default_ld_assemble -# assemble a file +# Assemble a file. # proc default_ld_assemble { as source object } { global ASFLAGS @@ -302,9 +290,7 @@ proc default_ld_assemble { as source object } { } } -# -# default_ld_nm -# run nm on a file, putting the result in the array nm_output +# Run nm on a file, putting the result in the array nm_output. # proc default_ld_nm { nm nmflags object } { global NMFLAGS @@ -355,9 +341,7 @@ proc default_ld_nm { nm nmflags object } { } } -# -# is_elf_format -# true if the object format is known to be ELF +# True if the object format is known to be ELF. # proc is_elf_format {} { if { ![istarget *-*-sysv4*] \ @@ -393,9 +377,8 @@ proc is_elf_format {} { return 1 } +# True if the object format is known to be 64-bit ELF. # -# is_elf64 -# true if the object format is known to be 64bit ELF proc is_elf64 { binary_file } { global READELF global READELFFLAGS @@ -419,9 +402,8 @@ proc is_elf64 { binary_file } { return 0 } +# True if the object format is known to be a.out. # -# is_aout_format -# true if the object format is known to be aout proc is_aout_format {} { if { [istarget *-*-*\[ab\]out*] \ || [istarget *-*-linux*oldld*] \ @@ -449,9 +431,7 @@ proc is_aout_format {} { return 0 } -# -# is_pecoff_format -# true if the object format is known to be PECOFF +# True if the object format is known to be PE COFF. # proc is_pecoff_format {} { if { ![istarget *-*-mingw32*] \ @@ -463,11 +443,9 @@ proc is_pecoff_format {} { return 1 } -# -# simple_diff -# compares two files line-by-line -# returns differences if exist -# returns null if file(s) cannot be opened +# Compares two files line-by-line. +# Returns differences if exist. +# Returns null if file(s) cannot be opened. # proc simple_diff { file_1 file_2 } { global target @@ -630,7 +608,7 @@ proc simple_diff { file_1 file_2 } { # `regexp_diff' to compare the output of the dumping tool against the # regexps in FILE.d. `regexp_diff' is defined later in this file; see # further comments there. - +# proc run_dump_test { name } { global subdir srcdir global OBJDUMP NM AS OBJCOPY READELF LD @@ -851,7 +829,7 @@ proc run_dump_test { name } { # redirected, exec *always* returns failure, regardless of the # program exit code. Thankfully, we can retrieve the true # return status from a special variable. Redirection would - # cause a tcl-specific message to be appended, and we'd rather + # cause a Tcl-specific message to be appended, and we'd rather # not deal with that if we can help it. global errorCode if { [lindex $errorCode 0] == "NONE" } { @@ -1099,12 +1077,12 @@ proc file_contents { filename } { # 0:name 1:ld options 2:assembler options # 3:filenames of assembler files 4: action and options. 5: name of output file # 6:compiler flags (optional) - +# # Actions: # objdump: Apply objdump options on result. Compare with regex (last arg). # nm: Apply nm options on result. Compare with regex (last arg). # readelf: Apply readelf options on result. Compare with regex (last arg). - +# proc run_ld_link_tests { ldtests } { global ld global as diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 68f6f385923..fb328da633c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,51 @@ +2006-03-29 Jim Blandy + + * pex-common.c (pex_input_file, pex_input_pipe): New functions. + (pex_init_common): Initialize obj->input_file. + (pex_run): Close any file opened by pex_input_file. + * pexecute.txh (pex_input_file, pex_input_pipe): New docs. + * pex-common.h (struct pex_obj): New field input_file. + (struct pex_funcs): New function ptr fdopenw. + * pex-unix.c (pex_unix_fdopenw): New function. + (funcs): List it as our fdopenw function. + * pex-win32.c (pex_win32_fdopenw): New function. + (funcs): List it as our fdopenw function. + * pex-djgpp.c (funcs): Leave fdopenw null. + * pex-msdos (funcs): Same. + * functions.texi: Regenerated. + +2006-04-10 Jim Blandy + + * pex-common.c (temp_file): New function, containing guts of + pex-style temporary file name generation. + (pex_run): Use it. + +2006-04-06 Carlos O'Donell + + * Makefile.in: Add install-html, install-html-am, and + install-html-recursive targets. Define mkdir_p and + NORMAL_INSTALL. + * configure.ac: AC_SUBST datarootdir, docdir, htmldir. + * configure: Regenerate. + * testsuite/Makefile.in: Add install-html and html targets. + +2006-03-31 Mark Mitchell + + * pex-win32.c (): Include. + (fix_argv): Remove. + (argv_to_cmdline): New function. + (std_suffixes): New variable. + (no_suffixes): Likewise. + (find_executable): New function. + (win32_spawn): Likewise. + (spawn_script): Use win32_spawn instead of _spawnv[p]. + (pex_win32_exec_child): Replace MSVCRT calls with Win32 API calls. + (pex_win32_wait): Likewise. + +2006-03-24 Jim Blandy + + * pex-common.c (pex_run): Simplify output name handling. + 2006-03-12 Jim Blandy * pex-common.h (struct pex_obj): Doc fixes. diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in index a708da370c1..448986a8492 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -1,6 +1,6 @@ # # Makefile -# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation # # This file is part of the libiberty library. diff --git a/libiberty/functions.texi b/libiberty/functions.texi index af03e93f3a9..9696df3f2e1 100644 --- a/libiberty/functions.texi +++ b/libiberty/functions.texi @@ -234,26 +234,6 @@ operating system to free the memory when the program exits. @end deftypefn -@c argv.c:293 -@deftypefn Extension void expandargv (int *@var{argcp}, char ***@var{argvp}) - -The @var{argcp} and @code{argvp} arguments are pointers to the usual -@code{argc} and @code{argv} arguments to @code{main}. This function -looks for arguments that begin with the character @samp{@@}. Any such -arguments are interpreted as ``response files''. The contents of the -response file are interpreted as additional command line options. In -particular, the file is separated into whitespace-separated strings; -each such string is taken as a command-line option. The new options -are inserted in place of the option naming the response file, and -@code{*argcp} and @code{*argvp} will be updated. If the value of -@code{*argvp} is modified by this function, then the new value has -been dynamically allocated and can be deallocated by the caller with -@code{freeargv}. However, most callers will simply call -@code{expandargv} near the beginning of @code{main} and allow the -operating system to free the memory when the program exits. - -@end deftypefn - @c fdmatch.c:23 @deftypefn Extension int fdmatch (int @var{fd1}, int @var{fd2}) @@ -688,14 +668,14 @@ reading and writing. @end deftypefn -@c pexecute.txh:198 +@c pexecute.txh:259 @deftypefn Extension void pex_free (struct pex_obj @var{obj}) Clean up and free all data associated with @var{obj}. @end deftypefn -@c pexecute.txh:173 +@c pexecute.txh:234 @deftypefn Extension int pex_get_status (struct pex_obj *@var{obj}, int @var{count}, int *@var{vector}) Returns the exit status of all programs run using @var{obj}. @@ -705,7 +685,7 @@ to @code{pex_run}. Returns 0 on error, 1 on success. @end deftypefn -@c pexecute.txh:182 +@c pexecute.txh:243 @deftypefn Extension int pex_get_times (struct pex_obj *@var{obj}, int @var{count}, struct pex_time *@var{vector}) Returns the process execution times of all programs run using @@ -754,7 +734,70 @@ temporary files; it may be @code{NULL} to use a randomly chosen name. @end deftypefn -@c pexecute.txh:204 +@c pexecute.txh:161 +@deftypefn Extension {FILE *} pex_input_file (struct pex_obj *@var{obj}, int @var{flags}, const char *@var{in_name}) + +Return a stream for a temporary file to pass to the first program in +the pipeline as input. + +The name of the input file is chosen according to the same rules +@code{pex_run} uses to choose output file names, based on +@var{in_name}, @var{obj} and the @code{PEX_SUFFIX} bit in @var{flags}. + +Don't call @code{fclose} on the returned stream; the first call to +@code{pex_run} closes it automatically. + +If @var{flags} includes @code{PEX_BINARY_OUTPUT}, open the stream in +binary mode; otherwise, open it in the default mode. Including +@code{PEX_BINARY_OUTPUT} in @var{flags} has no effect on Unix. +@end deftypefn + +@c pexecute.txh:178 +@deftypefn Extension {FILE *} pex_input_pipe (struct pex_obj *@var{obj}, int @var{binary}) + +Return a stream @var{fp} for a pipe connected to the standard input of +the first program in the pipeline; @var{fp} is opened for writing. +You must have passed @code{PEX_USE_PIPES} to the @code{pex_init} call +that returned @var{obj}. + +You must close @var{fp} using @code{fclose} yourself when you have +finished writing data to the pipeline. + +The file descriptor underlying @var{fp} is marked not to be inherited +by child processes. + +On systems that do not support pipes, this function returns +@code{NULL}, and sets @code{errno} to @code{EINVAL}. If you would +like to write code that is portable to all systems the @code{pex} +functions support, consider using @code{pex_input_file} instead. + +There are two opportunities for deadlock using +@code{pex_input_pipe}: + +@itemize @bullet +@item +Most systems' pipes can buffer only a fixed amount of data; a process +that writes to a full pipe blocks. Thus, if you write to @file{fp} +before starting the first process, you run the risk of blocking when +there is no child process yet to read the data and allow you to +continue. @code{pex_input_pipe} makes no promises about the +size of the pipe's buffer, so if you need to write any data at all +before starting the first process in the pipeline, consider using +@code{pex_input_file} instead. + +@item +Using @code{pex_input_pipe} and @code{pex_read_output} together +may also cause deadlock. If the output pipe fills up, so that each +program in the pipeline is waiting for the next to read more data, and +you fill the input pipe by writing more data to @var{fp}, then there +is no way to make progress: the only process that could read data from +the output pipe is you, but you are blocked on the input pipe. + +@end itemize + +@end deftypefn + +@c pexecute.txh:265 @deftypefn Extension {const char *} pex_one (int @var{flags}, const char *@var{executable}, char * const *@var{argv}, const char *@var{pname}, const char *@var{outname}, const char *@var{errname}, int *@var{status}, int *@var{err}) An interface to permit the easy execution of a @@ -767,7 +810,7 @@ be set to the exit status of the program. @end deftypefn -@c pexecute.txh:161 +@c pexecute.txh:222 @deftypefn Extension {FILE *} pex_read_output (struct pex_obj *@var{obj}, int @var{binary}) Returns a @code{FILE} pointer which may be used to read the standard @@ -910,7 +953,7 @@ the output pipe is you, but you are blocked on the input pipe. @end deftypefn -@c pexecute.txh:216 +@c pexecute.txh:277 @deftypefn Extension int pexecute (const char *@var{program}, char * const *@var{argv}, const char *@var{this_pname}, const char *@var{temp_base}, char **@var{errmsg_fmt}, char **@var{errmsg_arg}, int flags) This is the old interface to execute one or more programs. It is @@ -938,7 +981,7 @@ name is unset/removed. @end deftypefn -@c pexecute.txh:224 +@c pexecute.txh:285 @deftypefn Extension int pwait (int @var{pid}, int *@var{status}, int @var{flags}) Another part of the old execution interface. diff --git a/libiberty/pex-common.c b/libiberty/pex-common.c index fd0c6b22e9b..bce2c3b4280 100644 --- a/libiberty/pex-common.c +++ b/libiberty/pex-common.c @@ -67,6 +67,7 @@ pex_init_common (int flags, const char *pname, const char *tempbase, obj->status = NULL; obj->time = NULL; obj->number_waited = 0; + obj->input_file = NULL; obj->read_output = NULL; obj->remove_count = 0; obj->remove = NULL; @@ -91,6 +92,56 @@ pex_add_remove (struct pex_obj *obj, const char *name, int allocated) obj->remove[obj->remove_count - 1] = add; } +/* Generate a temporary file name based on OBJ, FLAGS, and NAME. + Return NULL if we were unable to reserve a temporary filename. + + If non-NULL, the result is either allocated with malloc, or the + same pointer as NAME. */ +static char * +temp_file (struct pex_obj *obj, int flags, char *name) +{ + if (name == NULL) + { + if (obj->tempbase == NULL) + { + name = make_temp_file (NULL); + } + else + { + int len = strlen (obj->tempbase); + int out; + + if (len >= 6 + && strcmp (obj->tempbase + len - 6, "XXXXXX") == 0) + name = xstrdup (obj->tempbase); + else + name = concat (obj->tempbase, "XXXXXX", NULL); + + out = mkstemps (name, 0); + if (out < 0) + { + free (name); + return NULL; + } + + /* This isn't obj->funcs->close because we got the + descriptor from mkstemps, not from a function in + obj->funcs. Calling close here is just like what + make_temp_file does. */ + close (out); + } + } + else if ((flags & PEX_SUFFIX) != 0) + { + if (obj->tempbase == NULL) + name = make_temp_file (name); + else + name = concat (obj->tempbase, name, NULL); + } + + return name; +} + /* Run a program. */ const char * @@ -113,6 +164,17 @@ pex_run (struct pex_obj *obj, int flags, const char *executable, outname = (char *) orig_outname; outname_allocated = 0; + /* If the user called pex_input_file, close the file now. */ + if (obj->input_file) + { + if (fclose (obj->input_file) == EOF) + { + errmsg = "closing pipeline input file"; + goto error_exit; + } + obj->input_file = NULL; + } + /* Set IN. */ if (obj->next_input_name != NULL) @@ -163,49 +225,16 @@ pex_run (struct pex_obj *obj, int flags, const char *executable, } else if ((obj->flags & PEX_USE_PIPES) == 0) { - if (outname == NULL) - { - if (obj->tempbase == NULL) - { - outname = make_temp_file (NULL); - outname_allocated = 1; - } - else - { - int len = strlen (obj->tempbase); - - if (len >= 6 - && strcmp (obj->tempbase + len - 6, "XXXXXX") == 0) - outname = xstrdup (obj->tempbase); - else - outname = concat (obj->tempbase, "XXXXXX", NULL); - - outname_allocated = 1; - - out = mkstemps (outname, 0); - if (out < 0) - { - *err = 0; - errmsg = "could not create temporary output file"; - goto error_exit; - } - - /* This isn't obj->funcs->close because we got the - descriptor from mkstemps, not from a function in - obj->funcs. Calling close here is just like what - make_temp_file does. */ - close (out); - out = -1; - } - } - else if ((flags & PEX_SUFFIX) != 0) - { - if (obj->tempbase == NULL) - outname = make_temp_file (outname); - else - outname = concat (obj->tempbase, outname, NULL); - outname_allocated = 1; - } + outname = temp_file (obj, flags, outname); + if (! outname) + { + *err = 0; + errmsg = "could not create temporary file"; + goto error_exit; + } + + if (outname != orig_outname) + outname_allocated = 1; if ((obj->flags & PEX_SAVE_TEMPS) == 0) { @@ -213,17 +242,10 @@ pex_run (struct pex_obj *obj, int flags, const char *executable, outname_allocated = 0; } - if (!outname_allocated) - { - obj->next_input_name = outname; - obj->next_input_name_allocated = 0; - } - else - { - obj->next_input_name = outname; - outname_allocated = 0; - obj->next_input_name_allocated = 1; - } + /* Hand off ownership of outname to the next stage. */ + obj->next_input_name = outname; + obj->next_input_name_allocated = outname_allocated; + outname_allocated = 0; } else { @@ -347,6 +369,87 @@ pex_write_input (struct pex_obj *obj, int binary) return NULL; } +/* Return a FILE pointer for a temporary file to fill with input for + the pipeline. */ +FILE * +pex_input_file (struct pex_obj *obj, int flags, const char *in_name) +{ + char *name = (char *) in_name; + FILE *f; + + /* This must be called before the first pipeline stage is run, and + there must not have been any other input selected. */ + if (obj->count != 0 + || (obj->next_input >= 0 && obj->next_input != STDIN_FILE_NO) + || obj->next_input_name) + { + errno = EINVAL; + return NULL; + } + + name = temp_file (obj, flags, name); + if (! name) + return NULL; + + f = fopen (name, (flags & PEX_BINARY_OUTPUT) ? "wb" : "w"); + if (! f) + { + free (name); + return NULL; + } + + obj->input_file = f; + obj->next_input_name = name; + obj->next_input_name_allocated = (name != in_name); + + return f; +} + +/* Return a stream for a pipe connected to the standard input of the + first stage of the pipeline. */ +FILE * +pex_input_pipe (struct pex_obj *obj, int binary) +{ + int p[2]; + FILE *f; + + /* You must call pex_input_pipe before the first pex_run or pex_one. */ + if (obj->count > 0) + goto usage_error; + + /* You must be using pipes. Implementations that don't support + pipes clear this flag before calling pex_init_common. */ + if (! (obj->flags & PEX_USE_PIPES)) + goto usage_error; + + /* If we have somehow already selected other input, that's a + mistake. */ + if ((obj->next_input >= 0 && obj->next_input != STDIN_FILE_NO) + || obj->next_input_name) + goto usage_error; + + if (obj->funcs->pipe (obj, p, binary != 0) < 0) + return NULL; + + f = obj->funcs->fdopenw (obj, p[WRITE_PORT], binary != 0); + if (! f) + { + int saved_errno = errno; + obj->funcs->close (obj, p[READ_PORT]); + obj->funcs->close (obj, p[WRITE_PORT]); + errno = saved_errno; + return NULL; + } + + obj->next_input = p[READ_PORT]; + + return f; + + usage_error: + errno = EINVAL; + return NULL; +} + /* Return a FILE pointer for the output of the last program executed. */ diff --git a/libiberty/pex-common.h b/libiberty/pex-common.h index 13ec98149ea..8ded138148c 100644 --- a/libiberty/pex-common.h +++ b/libiberty/pex-common.h @@ -69,6 +69,8 @@ struct pex_obj struct pex_time *time; /* Number of children we have already waited for. */ int number_waited; + /* FILE created by pex_input_file. */ + FILE *input_file; /* FILE created by pex_read_output. */ FILE *read_output; /* Number of temporary files to remove. */ diff --git a/libiberty/pexecute.txh b/libiberty/pexecute.txh index 2bfad0c8b75..e3f12484076 100644 --- a/libiberty/pexecute.txh +++ b/libiberty/pexecute.txh @@ -158,6 +158,67 @@ the output pipe is you, but you are blocked on the input pipe. @end deftypefn +@deftypefn Extension {FILE *} pex_input_file (struct pex_obj *@var{obj}, int @var{flags}, const char *@var{in_name}) + +Return a stream for a temporary file to pass to the first program in +the pipeline as input. + +The name of the input file is chosen according to the same rules +@code{pex_run} uses to choose output file names, based on +@var{in_name}, @var{obj} and the @code{PEX_SUFFIX} bit in @var{flags}. + +Don't call @code{fclose} on the returned stream; the first call to +@code{pex_run} closes it automatically. + +If @var{flags} includes @code{PEX_BINARY_OUTPUT}, open the stream in +binary mode; otherwise, open it in the default mode. Including +@code{PEX_BINARY_OUTPUT} in @var{flags} has no effect on Unix. +@end deftypefn + +@deftypefn Extension {FILE *} pex_input_pipe (struct pex_obj *@var{obj}, int @var{binary}) + +Return a stream @var{fp} for a pipe connected to the standard input of +the first program in the pipeline; @var{fp} is opened for writing. +You must have passed @code{PEX_USE_PIPES} to the @code{pex_init} call +that returned @var{obj}. + +You must close @var{fp} using @code{fclose} yourself when you have +finished writing data to the pipeline. + +The file descriptor underlying @var{fp} is marked not to be inherited +by child processes. + +On systems that do not support pipes, this function returns +@code{NULL}, and sets @code{errno} to @code{EINVAL}. If you would +like to write code that is portable to all systems the @code{pex} +functions support, consider using @code{pex_input_file} instead. + +There are two opportunities for deadlock using +@code{pex_input_pipe}: + +@itemize @bullet +@item +Most systems' pipes can buffer only a fixed amount of data; a process +that writes to a full pipe blocks. Thus, if you write to @file{fp} +before starting the first process, you run the risk of blocking when +there is no child process yet to read the data and allow you to +continue. @code{pex_input_pipe} makes no promises about the +size of the pipe's buffer, so if you need to write any data at all +before starting the first process in the pipeline, consider using +@code{pex_input_file} instead. + +@item +Using @code{pex_input_pipe} and @code{pex_read_output} together +may also cause deadlock. If the output pipe fills up, so that each +program in the pipeline is waiting for the next to read more data, and +you fill the input pipe by writing more data to @var{fp}, then there +is no way to make progress: the only process that could read data from +the output pipe is you, but you are blocked on the input pipe. + +@end itemize + +@end deftypefn + @deftypefn Extension {FILE *} pex_read_output (struct pex_obj *@var{obj}, int @var{binary}) Returns a @code{FILE} pointer which may be used to read the standard diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in index 732523c365e..534626e952d 100644 --- a/libiberty/testsuite/Makefile.in +++ b/libiberty/testsuite/Makefile.in @@ -1,6 +1,6 @@ # # Makefile -# Copyright (C) 1999, 2002 +# Copyright (C) 1999, 2002, 2006 # Free Software Foundation # # This file is part of the libiberty library. diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ae0eb648c08..aa7e202640d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,74 @@ +2006-06-09 Nick Clifton + + * po/fi.po: Updated Finnish translation. + +2006-06-07 Joseph S. Myers + + * po/Make-in (pdf, ps): New dummy targets. + +2006-05-30 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2006-05-26 Richard Sandiford + + * m68k-opc.c (m68k_opcodes): Fix the masks of the Coldfire fmovemd + and fmovem entries. Put register list entries before immediate + mask entries. Use "l" rather than "L" in the fmovem entries. + * m68k-dis.c (match_insn_m68k): Remove the PRIV argument and work it + out from INFO. + (m68k_scan_mask): New function, split out from... + (print_insn_m68k): ...here. If no architecture has been set, + first try printing an m680x0 instruction, then try a Coldfire one. + +2006-05-24 Nick Clifton + + * po/ga.po: Updated Irish translation. + +2006-05-22 Nick Clifton + + * crx-dis.c (EXTRACT): Make macro work on 64-bit hosts. + +2006-05-22 Nick Clifton + + * po/nl.po: Updated translation. + +2006-05-18 Alan Modra + + * avr-dis.c (avr_operand): Warning fix. + +2006-05-04 Thiemo Seufer + + * mips-opc.c (mips_builtin_opcodes): Fix mftr argument order. + +2006-04-16 Daniel Jacobowitz + + * po/POTFILES.in: Regenerated. + +2006-04-12 Hochstein + + PR binutils/2454 + * avr-dis.c (avr_operand): Arrange for a comment to appear before + the symolic form of an address, so that the output of objdump -d + can be reassembled. + +2006-04-10 DJ Delorie + + * m32c-asm.c: Regenerate. + +2006-04-06 Carlos O'Donell + + * Makefile.am: Add install-html target. + * Makefile.in: Regenerate. + +2006-04-06 Nick Clifton + + * po/vi/po: Updated Vietnamese translation. + +2006-03-31 Paul Koning + + * pdp11-opc.c (pdp11_opcodes): Fix opcode for SEC instruction. + 2006-03-16 Bernd Schmidt * bfin-dis.c (decode_dsp32shiftimm_0): Simplify and correct the @@ -90,7 +161,7 @@ New cases '$' and '%' for read/write hyperprivileged register. * sparc-opc.c (sparc_opcodes): Add new entries for UA2005 window handling and rdhpr/wrhpr instructions. - + 2006-02-24 DJ Delorie * m32c-desc.c: Regenerate with linker relaxation attributes. @@ -143,13 +214,13 @@ * xc16x-desc.h: New file * xc16x-desc.c: New file - * xc16x-opc.h: New file + * xc16x-opc.h: New file * xc16x-opc.c: New file * xc16x-ibld.c: New file * xc16x-asm.c: New file * xc16x-dis.c: New file - * Makefile.am: Entries for xc16x - * Makefile.in: Regenerate + * Makefile.am: Entries for xc16x + * Makefile.in: Regenerate * cofigure.in: Add xc16x target information. * configure: Regenerate. * disassemble.c: Add xc16x target information. @@ -184,7 +255,7 @@ * z80-dis.c (struct buffer, prt_d, prt_d_n, arit_d, ld_r_d, ld_d_r, pref_xd_cb): Use signed char to hold data to be - disassembled. + disassembled. * z80-dis.c (TXTSIZ): Increase buffer size to 24, this fixes buffer overflows when disassembling instructions like ld (ix+123),0x23 diff --git a/opcodes/avr-dis.c b/opcodes/avr-dis.c index 15300844183..7e792c9d157 100644 --- a/opcodes/avr-dis.c +++ b/opcodes/avr-dis.c @@ -1,5 +1,6 @@ /* Disassemble AVR instructions. - Copyright 1999, 2000, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright 1999, 2000, 2002, 2004, 2005, 2006 + Free Software Foundation, Inc. Contributed by Denis Chertykov @@ -139,7 +140,12 @@ avr_operand (unsigned int insn, unsigned int insn2, unsigned int pc, int constra case 'h': *sym = 1; *sym_addr = ((((insn & 1) | ((insn & 0x1f0) >> 3)) << 16) | insn2) * 2; - sprintf (buf, "0x"); + /* See PR binutils/2545. Ideally we would like to display the hex + value of the address only once, but this would mean recoding + objdump_print_address() which would affect many targets. */ + sprintf (buf, "%#lx", (unsigned long) *sym_addr); + sprintf (comment, "0x"); + break; case 'L': diff --git a/opcodes/crx-dis.c b/opcodes/crx-dis.c index 8f14e8ba92b..8d51c751321 100644 --- a/opcodes/crx-dis.c +++ b/opcodes/crx-dis.c @@ -30,7 +30,7 @@ /* Extract 'n_bits' from 'a' starting from offset 'offs'. */ #define EXTRACT(a, offs, n_bits) \ - (n_bits == 32 ? (((a) >> (offs)) & ~0L) \ + (n_bits == 32 ? (((a) >> (offs)) & 0xffffffffL) \ : (((a) >> (offs)) & ((1 << (n_bits)) -1))) /* Set Bit Mask - a mask to set all bits starting from offset 'offs'. */ diff --git a/opcodes/m32c-asm.c b/opcodes/m32c-asm.c index 9407ed8d2d1..5af5d75bab4 100644 --- a/opcodes/m32c-asm.c +++ b/opcodes/m32c-asm.c @@ -578,13 +578,14 @@ parse_Bitno16R (CGEN_CPU_DESC cd, const char **strp, static const char * parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep, - unsigned bits) + unsigned bits, int allow_syms) { const char *errmsg = 0; unsigned long bit; unsigned long base; const char *newp = *strp; unsigned long long bitbase; + long have_zero = 0; errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & bit); if (errmsg) @@ -594,6 +595,11 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, return "Missing base for bit,base:8"; ++newp; + + if (strncmp (newp, "0x0", 3) == 0 + || (newp[0] == '0' && newp[1] != 'x')) + have_zero = 1; + errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & base); if (errmsg) return errmsg; @@ -603,6 +609,21 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, if (bitbase >= (1ull << bits)) return _("bit,base is out of range"); + /* If this field may require a relocation then use larger displacement. */ + if (! have_zero && base == 0) + { + switch (allow_syms) { + case 0: + return _("bit,base out of range for symbol"); + case 1: + break; + case 2: + if (strncmp (newp, "[sb]", 4) != 0) + return _("bit,base out of range for symbol"); + break; + } + } + *valuep = bitbase; *strp = newp; return 0; @@ -611,7 +632,7 @@ parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp, static const char * parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep, - unsigned bits) + unsigned bits, int allow_syms) { const char *errmsg = 0; unsigned long bit; @@ -619,6 +640,7 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, const char *newp = *strp; long long bitbase; long long limit; + long have_zero = 0; errmsg = cgen_parse_unsigned_integer (cd, & newp, opindex, & bit); if (errmsg) @@ -628,6 +650,11 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, return "Missing base for bit,base:8"; ++newp; + + if (strncmp (newp, "0x0", 3) == 0 + || (newp[0] == '0' && newp[1] != 'x')) + have_zero = 1; + errmsg = cgen_parse_signed_integer (cd, & newp, opindex, & base); if (errmsg) return errmsg; @@ -638,6 +665,10 @@ parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp, if (bitbase < -limit || bitbase >= limit) return _("bit,base is out of range"); + /* If this field may require a relocation then use larger displacement. */ + if (! have_zero && base == 0 && ! allow_syms) + return _("bit,base out of range for symbol"); + *valuep = bitbase; *strp = newp; return 0; @@ -647,56 +678,56 @@ static const char * parse_unsigned_bitbase8 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 8); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 8, 0); } static const char * parse_unsigned_bitbase11 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 11); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 11, 0); } static const char * parse_unsigned_bitbase16 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 16); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 16, 1); } static const char * parse_unsigned_bitbase19 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 19); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 19, 2); } static const char * parse_unsigned_bitbase27 (CGEN_CPU_DESC cd, const char **strp, int opindex, unsigned long *valuep) { - return parse_unsigned_bitbase (cd, strp, opindex, valuep, 27); + return parse_unsigned_bitbase (cd, strp, opindex, valuep, 27, 1); } static const char * parse_signed_bitbase8 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 8); + return parse_signed_bitbase (cd, strp, opindex, valuep, 8, 1); } static const char * parse_signed_bitbase11 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 11); + return parse_signed_bitbase (cd, strp, opindex, valuep, 11, 0); } static const char * parse_signed_bitbase19 (CGEN_CPU_DESC cd, const char **strp, int opindex, signed long *valuep) { - return parse_signed_bitbase (cd, strp, opindex, valuep, 19); + return parse_signed_bitbase (cd, strp, opindex, valuep, 19, 1); } /* Parse the suffix as : or as nothing followed by a whitespace. */ diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c index fa29dd35957..42fb14582a2 100644 --- a/opcodes/m68k-dis.c +++ b/opcodes/m68k-dis.c @@ -1341,8 +1341,10 @@ match_insn_m68k (bfd_vma memaddr, return p - buffer; } -/* Like print_m68k_insn, but restrict the opcode search to the features - specified by ARCH_MASK. */ +/* Try to interpret the instruction at address MEMADDR as one that + can execute on a processor with the features given by ARCH_MASK. + If successful, print the instruction to INFO->STREAM and return + its length in bytes. Return 0 otherwise. */ static int m68k_scan_mask (bfd_vma memaddr, disassemble_info *info, diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c index 42da7485c0e..cd92a9fe217 100644 --- a/opcodes/mips-opc.c +++ b/opcodes/mips-opc.c @@ -787,7 +787,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"mfthi", "d,*", 0x41010021, 0xfff307ff, TRAP|WR_d|RD_a, 0, MT32 }, {"mftlo", "d", 0x41000021, 0xffff07ff, TRAP|WR_d|RD_a, 0, MT32 }, {"mftlo", "d,*", 0x41000021, 0xfff307ff, TRAP|WR_d|RD_a, 0, MT32 }, -{"mftr", "t,d,!,H,$", 0x41000000, 0xffe007c8, TRAP|WR_d, 0, MT32 }, +{"mftr", "d,t,!,H,$", 0x41000000, 0xffe007c8, TRAP|WR_d, 0, MT32 }, {"mfc0", "t,G", 0x40000000, 0xffe007ff, LCD|WR_t|RD_C0, 0, I1 }, {"mfc0", "t,+D", 0x40000000, 0xffe007f8, LCD|WR_t|RD_C0, 0, I32 }, {"mfc0", "t,G,H", 0x40000000, 0xffe007f8, LCD|WR_t|RD_C0, 0, I32 }, diff --git a/opcodes/pdp11-opc.c b/opcodes/pdp11-opc.c index 8b96e78a8fe..5fdb084eaaa 100644 --- a/opcodes/pdp11-opc.c +++ b/opcodes/pdp11-opc.c @@ -1,5 +1,5 @@ /* Opcode table for PDP-11. - Copyright 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002, 2006 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ const struct pdp11_opcode pdp11_opcodes[] = { "cl_e", 0x00ae, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, { "ccc", 0x00af, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, { "se_0", 0x00b0, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, - { "sec", 0x00a1, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, + { "sec", 0x00b1, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, { "sev", 0x00b2, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, { "se_3", 0x00b3, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, { "sez", 0x00b4, 0xffff, PDP11_OPCODE_NO_OPS, PDP11_BASIC }, diff --git a/opcodes/po/Make-in b/opcodes/po/Make-in index 0cd0c1c4363..199100da8d8 100644 --- a/opcodes/po/Make-in +++ b/opcodes/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License @@ -186,7 +186,7 @@ check: all cat-id-tbl.o: ../intl/libgettext.h -html dvi info tags TAGS ID: +html dvi pdf ps info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in index ddb7f95cda3..67e98c43cb1 100644 --- a/opcodes/po/POTFILES.in +++ b/opcodes/po/POTFILES.in @@ -150,6 +150,13 @@ v850-opc.c vax-dis.c w65-dis.c w65-opc.h +xc16x-asm.c +xc16x-desc.c +xc16x-desc.h +xc16x-dis.c +xc16x-ibld.c +xc16x-opc.c +xc16x-opc.h xstormy16-asm.c xstormy16-desc.c xstormy16-desc.h diff --git a/opcodes/po/es.po b/opcodes/po/es.po index c8c5f100433..ace10992aa7 100644 --- a/opcodes/po/es.po +++ b/opcodes/po/es.po @@ -1,48 +1,130 @@ -# Mensajes en español para opcodes-2.15.96. -# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005. +# Mensajes en español para opcodes-2.16.93. +# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Cristian Othón Martínez Vera , 2002, 2003, 2004, 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.15.96\n" +"Project-Id-Version: opcodes 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 20:32+1030\n" -"PO-Revision-Date: 2005-03-14 17:13-0600\n" +"POT-Creation-Date: 2005-10-25 10:50+0930\n" +"PO-Revision-Date: 2006-05-26 16:09-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: alpha-opc.c:331 +#: alpha-opc.c:155 msgid "branch operand unaligned" msgstr "operando de ramificación sin alinear" -#: alpha-opc.c:353 alpha-opc.c:374 +#: alpha-opc.c:171 alpha-opc.c:187 msgid "jump hint unaligned" msgstr "pista de salto sin alinear" -#: arc-dis.c:76 +#: arc-dis.c:75 msgid "Illegal limm reference in last instruction!\n" msgstr "¡Referencia limm ilegal en la última instrucción!\n" -#: arm-dis.c:1267 +#: arc-opc.c:384 +msgid "unable to fit different valued constants into instruction" +msgstr "no se pueden ajustar las constantes de valores diferentes en la instrucción" + +#: arc-opc.c:393 +msgid "auxiliary register not allowed here" +msgstr "no se permite un registro auxiliar aquí" + +#: arc-opc.c:399 arc-opc.c:416 +msgid "attempt to set readonly register" +msgstr "se intentó cambiar un registro de sólo lectura" + +#: arc-opc.c:404 arc-opc.c:421 +msgid "attempt to read writeonly register" +msgstr "se intentó leer un registro de sólo escritura" + +#: arc-opc.c:426 +#, c-format +msgid "invalid register number `%d'" +msgstr "número de registro `%d' inválido" + +#: arc-opc.c:592 arc-opc.c:643 arc-opc.c:671 +msgid "too many long constants" +msgstr "demasiadas constantes long" + +#: arc-opc.c:666 +msgid "to many shimms in load" +msgstr "demasiados shimms en load" + +#. Do we have a limm already? +#: arc-opc.c:779 +msgid "impossible store" +msgstr "almacenamiento imposible" + +#: arc-opc.c:812 +msgid "st operand error" +msgstr "error de operando st" + +#: arc-opc.c:816 arc-opc.c:858 +msgid "address writeback not allowed" +msgstr "no se permite la escritura hacia atrás de dirección" + +#: arc-opc.c:820 +msgid "store value must be zero" +msgstr "el valor de almacenamiento debe ser cero" + +#: arc-opc.c:845 +msgid "invalid load/shimm insn" +msgstr "instrucción load/shimm inválida" + +#: arc-opc.c:854 +msgid "ld operand error" +msgstr "error de operando ld" + +#: arc-opc.c:941 +msgid "jump flags, but no .f seen" +msgstr "opciones de salto, pero no se ve .f" + +#: arc-opc.c:944 +msgid "jump flags, but no limm addr" +msgstr "opciones de salto, pero no hay una dirección limm" + +#: arc-opc.c:947 +msgid "flag bits of jump address limm lost" +msgstr "bits bandera de dirección de salto limm perdidos" + +#: arc-opc.c:950 +msgid "attempt to set HR bits" +msgstr "se intentó cambiar los bits HR" + +#: arc-opc.c:953 +msgid "bad jump flags value" +msgstr "valor de opciones de salto erróneo" + +#: arc-opc.c:986 +msgid "branch address not on 4 byte boundary" +msgstr "la dirección de ramificación no está en un límite de 4 bytes" + +#: arc-opc.c:1022 +msgid "must specify .jd or no nullify suffix" +msgstr "se debe especificar un sufijo .jd o no nullify" + +#: arm-dis.c:1302 msgid "" msgstr "" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1912 +#: arm-dis.c:2746 #, c-format msgid "Unrecognised register name set: %s\n" msgstr "Conjunto de nombres de registro no reconocido: %s\n" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1920 +#: arm-dis.c:2754 #, c-format msgid "Unrecognised disassembler option: %s\n" msgstr "Opción de desensamblador no reconocida: %s\n" -#: arm-dis.c:2093 +#: arm-dis.c:2916 #, c-format msgid "" "\n" @@ -53,23 +135,24 @@ msgstr "" "Las siguientes opciones de desensamblador específicas de ARM tienen soporte\n" "para su uso con el interruptor -M:\n" -#: avr-dis.c:112 avr-dis.c:122 +#: avr-dis.c:109 avr-dis.c:119 #, c-format msgid "undefined" msgstr "sin definir" -#: avr-dis.c:179 +#: avr-dis.c:176 #, c-format msgid "Internal disassembler error" msgstr "Error interno del desensamblador" -#: avr-dis.c:227 +#: avr-dis.c:225 #, c-format msgid "unknown constraint `%c'" msgstr "restricción `%c' desconocida" -#: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197 -#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197 +#: cgen-asm.c:336 fr30-ibld.c:192 frv-ibld.c:192 ip2k-ibld.c:192 +#: iq2000-ibld.c:192 m32c-ibld.c:192 m32r-ibld.c:192 ms1-ibld.c:192 +#: openrisc-ibld.c:192 xstormy16-ibld.c:192 #, c-format msgid "operand out of range (%ld not between %ld and %ld)" msgstr "operando fuera de rango (%ld no está entre %ld y %ld)" @@ -79,7 +162,7 @@ msgstr "operando fuera de rango (%ld no est msgid "operand out of range (%lu not between %lu and %lu)" msgstr "operando fuera de rango (%lu no está entre %lu y %lu)" -#: d30v-dis.c:312 +#: d30v-dis.c:252 #, c-format msgid "" msgstr "" @@ -95,148 +178,202 @@ msgstr "Error desconocido %d\n" msgid "Address 0x%s is out of bounds.\n" msgstr "La dirección 0x%s está fuera de los límites.\n" -#: fr30-asm.c:323 frv-asm.c:1298 ip2k-asm.c:530 iq2000-asm.c:465 -#: m32r-asm.c:338 openrisc-asm.c:252 xstormy16-asm.c:284 +#: fr30-asm.c:92 m32c-asm.c:782 m32c-asm.c:789 +msgid "Register number is not valid" +msgstr "El número de registro no es válido" + +#: fr30-asm.c:94 +msgid "Register must be between r0 and r7" +msgstr "El registro debe estar entre r0 y r7" + +#: fr30-asm.c:96 +msgid "Register must be between r8 and r15" +msgstr "El registro debe estar entre r8 y r15" + +#: fr30-asm.c:115 m32c-asm.c:820 +msgid "Register list is not valid" +msgstr "La lista de registros no es válida" + +#: fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 iq2000-asm.c:456 +#: m32c-asm.c:1476 m32r-asm.c:323 ms1-asm.c:546 openrisc-asm.c:240 +#: xstormy16-asm.c:275 #, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "No se reconoció el campo %d durante la decodificación.\n" -#: fr30-asm.c:372 frv-asm.c:1347 ip2k-asm.c:579 iq2000-asm.c:514 -#: m32r-asm.c:387 openrisc-asm.c:301 xstormy16-asm.c:333 +#: fr30-asm.c:357 frv-asm.c:1310 ip2k-asm.c:558 iq2000-asm.c:504 +#: m32c-asm.c:1524 m32r-asm.c:371 ms1-asm.c:594 openrisc-asm.c:288 +#: xstormy16-asm.c:323 msgid "missing mnemonic in syntax string" msgstr "falta el mnemónico en la cadena sintáctica" #. We couldn't parse it. -#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1482 -#: frv-asm.c:1486 frv-asm.c:1573 frv-asm.c:1674 ip2k-asm.c:714 ip2k-asm.c:718 -#: ip2k-asm.c:805 ip2k-asm.c:906 iq2000-asm.c:649 iq2000-asm.c:653 -#: iq2000-asm.c:740 iq2000-asm.c:841 m32r-asm.c:522 m32r-asm.c:526 -#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:436 openrisc-asm.c:440 -#: openrisc-asm.c:527 openrisc-asm.c:628 xstormy16-asm.c:468 -#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660 +#: fr30-asm.c:492 fr30-asm.c:496 fr30-asm.c:583 fr30-asm.c:684 frv-asm.c:1445 +#: frv-asm.c:1449 frv-asm.c:1536 frv-asm.c:1637 ip2k-asm.c:693 ip2k-asm.c:697 +#: ip2k-asm.c:784 ip2k-asm.c:885 iq2000-asm.c:639 iq2000-asm.c:643 +#: iq2000-asm.c:730 iq2000-asm.c:831 m32c-asm.c:1659 m32c-asm.c:1663 +#: m32c-asm.c:1750 m32c-asm.c:1851 m32r-asm.c:506 m32r-asm.c:510 +#: m32r-asm.c:597 m32r-asm.c:698 ms1-asm.c:729 ms1-asm.c:733 ms1-asm.c:820 +#: ms1-asm.c:921 openrisc-asm.c:423 openrisc-asm.c:427 openrisc-asm.c:514 +#: openrisc-asm.c:615 xstormy16-asm.c:458 xstormy16-asm.c:462 +#: xstormy16-asm.c:549 xstormy16-asm.c:650 msgid "unrecognized instruction" msgstr "instrucción no reconocida" -#: fr30-asm.c:554 frv-asm.c:1529 ip2k-asm.c:761 iq2000-asm.c:696 -#: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515 +#: fr30-asm.c:539 frv-asm.c:1492 ip2k-asm.c:740 iq2000-asm.c:686 +#: m32c-asm.c:1706 m32r-asm.c:553 ms1-asm.c:776 openrisc-asm.c:470 +#: xstormy16-asm.c:505 #, c-format msgid "syntax error (expected char `%c', found `%c')" msgstr "error sintáctico (se esperaba el carácter `%c', se encontró `%c')" -#: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706 -#: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525 +#: fr30-asm.c:549 frv-asm.c:1502 ip2k-asm.c:750 iq2000-asm.c:696 +#: m32c-asm.c:1716 m32r-asm.c:563 ms1-asm.c:786 openrisc-asm.c:480 +#: xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" msgstr "error sintáctico (se esperaba el carácter `%c', se encontró el final de la instrucción)" -#: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734 -#: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553 +#: fr30-asm.c:577 frv-asm.c:1530 ip2k-asm.c:778 iq2000-asm.c:724 +#: m32c-asm.c:1744 m32r-asm.c:591 ms1-asm.c:814 openrisc-asm.c:508 +#: xstormy16-asm.c:543 msgid "junk at end of line" msgstr "basura al final de la línea" -#: fr30-asm.c:698 frv-asm.c:1673 ip2k-asm.c:905 iq2000-asm.c:840 -#: m32r-asm.c:713 openrisc-asm.c:627 xstormy16-asm.c:659 +#: fr30-asm.c:683 frv-asm.c:1636 ip2k-asm.c:884 iq2000-asm.c:830 +#: m32c-asm.c:1850 m32r-asm.c:697 ms1-asm.c:920 openrisc-asm.c:614 +#: xstormy16-asm.c:649 msgid "unrecognized form of instruction" msgstr "forma de instrucción no reconocida" -#: fr30-asm.c:710 frv-asm.c:1685 ip2k-asm.c:917 iq2000-asm.c:852 -#: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671 +#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:842 +#: m32c-asm.c:1862 m32r-asm.c:709 ms1-asm.c:932 openrisc-asm.c:626 +#: xstormy16-asm.c:661 #, c-format msgid "bad instruction `%.50s...'" msgstr "instrucción errónea `%.50s...'" -#: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855 -#: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674 +#: fr30-asm.c:698 frv-asm.c:1651 ip2k-asm.c:899 iq2000-asm.c:845 +#: m32c-asm.c:1865 m32r-asm.c:712 ms1-asm.c:935 openrisc-asm.c:629 +#: xstormy16-asm.c:664 #, c-format msgid "bad instruction `%.50s'" msgstr "instrucción errónea `%.50s'" #. Default text to print if an instruction isn't recognized. -#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41 -#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41 +#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32c-dis.c:41 +#: m32r-dis.c:41 mmix-dis.c:278 ms1-dis.c:41 openrisc-dis.c:41 +#: xstormy16-dis.c:41 msgid "*unknown*" msgstr "*desconocida*" -#: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262 -#: openrisc-dis.c:137 xstormy16-dis.c:170 +#: fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 iq2000-dis.c:189 m32c-dis.c:860 +#: m32r-dis.c:256 ms1-dis.c:258 openrisc-dis.c:135 xstormy16-dis.c:168 #, c-format msgid "Unrecognized field %d while printing insn.\n" msgstr "No se reconoció el campo %d al mostrar insn.\n" -#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168 -#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168 +#: fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 iq2000-ibld.c:163 +#: m32c-ibld.c:163 m32r-ibld.c:163 ms1-ibld.c:163 openrisc-ibld.c:163 +#: xstormy16-ibld.c:163 #, c-format msgid "operand out of range (%ld not between %ld and %lu)" msgstr "operando fuera de rango (%ld no está entre %ld y %lu)" -#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181 -#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181 +#: fr30-ibld.c:176 frv-ibld.c:176 ip2k-ibld.c:176 iq2000-ibld.c:176 +#: m32c-ibld.c:176 m32r-ibld.c:176 ms1-ibld.c:176 openrisc-ibld.c:176 +#: xstormy16-ibld.c:176 #, c-format msgid "operand out of range (%lu not between 0 and %lu)" msgstr "operando fuera de rango (%lu no está entre 0 y %lu)" -#: fr30-ibld.c:732 frv-ibld.c:858 ip2k-ibld.c:609 iq2000-ibld.c:715 -#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680 +#: fr30-ibld.c:719 frv-ibld.c:845 ip2k-ibld.c:596 iq2000-ibld.c:702 +#: m32c-ibld.c:1668 m32r-ibld.c:654 ms1-ibld.c:713 openrisc-ibld.c:622 +#: xstormy16-ibld.c:667 #, c-format msgid "Unrecognized field %d while building insn.\n" msgstr "No se reconoció el campo %d al construir insn.\n" -#: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892 -#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828 +#: fr30-ibld.c:924 frv-ibld.c:1162 ip2k-ibld.c:671 iq2000-ibld.c:877 +#: m32c-ibld.c:2780 m32r-ibld.c:791 ms1-ibld.c:907 openrisc-ibld.c:722 +#: xstormy16-ibld.c:813 #, c-format msgid "Unrecognized field %d while decoding insn.\n" msgstr "No se reconoció el campo %d al decodificar insn.\n" -#: fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 iq2000-ibld.c:1026 -#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941 +#: fr30-ibld.c:1070 frv-ibld.c:1440 ip2k-ibld.c:745 iq2000-ibld.c:1008 +#: m32c-ibld.c:3379 m32r-ibld.c:904 ms1-ibld.c:1086 openrisc-ibld.c:799 +#: xstormy16-ibld.c:923 #, c-format msgid "Unrecognized field %d while getting int operand.\n" msgstr "No se reconoció el campo %d al obtener el operando int.\n" -#: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140 -#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034 +#: fr30-ibld.c:1198 frv-ibld.c:1700 ip2k-ibld.c:801 iq2000-ibld.c:1121 +#: m32c-ibld.c:3960 m32r-ibld.c:999 ms1-ibld.c:1247 openrisc-ibld.c:858 +#: xstormy16-ibld.c:1015 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" msgstr "No se reconoció el campo %d al obtener el operando vma.\n" -#: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263 -#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136 +#: fr30-ibld.c:1329 frv-ibld.c:1967 ip2k-ibld.c:860 iq2000-ibld.c:1241 +#: m32c-ibld.c:4529 m32r-ibld.c:1100 ms1-ibld.c:1415 openrisc-ibld.c:924 +#: xstormy16-ibld.c:1114 #, c-format msgid "Unrecognized field %d while setting int operand.\n" msgstr "No se reconoció el campo %d al establecer el operando int.\n" -#: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374 -#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226 +#: fr30-ibld.c:1450 frv-ibld.c:2224 ip2k-ibld.c:909 iq2000-ibld.c:1351 +#: m32c-ibld.c:5088 m32r-ibld.c:1191 ms1-ibld.c:1573 openrisc-ibld.c:980 +#: xstormy16-ibld.c:1203 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" msgstr "No se reconoció el campo %d al establecer el operando vma.\n" -#: frv-asm.c:978 +#: frv-asm.c:607 +msgid "missing `]'" +msgstr "falta un `]'" + +#: frv-asm.c:610 frv-asm.c:620 +msgid "Special purpose register number is out of range" +msgstr "El número de registro de propósito especial está fuera de rango" + +#: frv-asm.c:907 +msgid "Value of A operand must be 0 or 1" +msgstr "El valor del operando A debe ser 0 o 1" + +#: frv-asm.c:943 msgid "register number must be even" msgstr "el número de registro debe ser par" -#: h8300-dis.c:358 +#. -- assembler routines inserted here. +#. -- asm.c +#: frv-asm.c:971 iq2000-asm.c:55 m32c-asm.c:140 m32c-asm.c:211 m32c-asm.c:253 +#: m32c-asm.c:312 m32c-asm.c:334 m32r-asm.c:52 openrisc-asm.c:53 +msgid "missing `)'" +msgstr "falta un `)'" + +#: h8300-dis.c:325 #, c-format msgid "Hmmmm 0x%x" msgstr "Hmmmm 0x%x" -#: h8300-dis.c:744 +#: h8300-dis.c:706 #, c-format msgid "Don't understand 0x%x \n" msgstr "No se entiende 0x%x \n" -#: h8500-dis.c:143 +#: h8500-dis.c:122 #, c-format msgid "can't cope with insert %d\n" msgstr "no se puede lidiar con insert %d\n" #. Couldn't understand anything. -#: h8500-dis.c:342 +#: h8500-dis.c:322 #, c-format msgid "%02x\t\t*unknown*" msgstr "%02x\t\t*desconocido*" -#: i386-dis.c:1733 +#: i386-dis.c:1742 msgid "" msgstr "" @@ -350,124 +487,175 @@ msgstr "no se puede cambiar el directorio a \"%s\", errno = %s\n" #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. -#: ip2k-asm.c:92 +#: ip2k-asm.c:80 msgid "W keyword invalid in FR operand slot." msgstr "la palabra clave W es inválida en la ranura del operando FR." #. Invalid offset present. -#: ip2k-asm.c:117 +#: ip2k-asm.c:105 msgid "offset(IP) is not a valid form" msgstr "el desplazamiento(IP) no es una forma válida" #. Found something there in front of (DP) but it's out #. of range. -#: ip2k-asm.c:165 +#: ip2k-asm.c:153 msgid "(DP) offset out of range." msgstr "desplazamiento (DP) fuera de rango." #. Found something there in front of (SP) but it's out #. of range. -#: ip2k-asm.c:206 +#: ip2k-asm.c:194 msgid "(SP) offset out of range." msgstr "desplazamiento (SP) fuera de rango." -#: ip2k-asm.c:222 +#: ip2k-asm.c:210 msgid "illegal use of parentheses" msgstr "uso ilegal de paréntesis" -#: ip2k-asm.c:229 +#: ip2k-asm.c:217 msgid "operand out of range (not between 1 and 255)" msgstr "operando fuera de rango (no está entre 1 y 255)" #. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:254 +#: ip2k-asm.c:241 msgid "parse_addr16: invalid opindex." msgstr "parse_addr16: índice de operador inválido." -#: ip2k-asm.c:309 +#: ip2k-asm.c:295 msgid "Byte address required. - must be even." msgstr "Se requiere una dirección de byte. - debe ser par." -#: ip2k-asm.c:318 +#: ip2k-asm.c:304 msgid "cgen_parse_address returned a symbol. Literal required." msgstr "cgen_parse_address devolvió un símbolo. Se requiere una literal." -#: ip2k-asm.c:376 -#, c-format -msgid "%operator operand is not a symbol" -msgstr "el operando %operator no es un símbolo" +#: ip2k-asm.c:359 +msgid "percent-operator operand is not a symbol" +msgstr "el operando operador-porcentaje no es un símbolo" -#: ip2k-asm.c:430 +#: ip2k-asm.c:412 msgid "Attempt to find bit index of 0" msgstr "Se intentó encontrar un índice de bit de 0" -#: iq2000-asm.c:115 iq2000-asm.c:146 +#: iq2000-asm.c:111 iq2000-asm.c:141 msgid "immediate value cannot be register" msgstr "el valor inmediato no puede ser un registro" -#: iq2000-asm.c:126 iq2000-asm.c:156 +#: iq2000-asm.c:122 iq2000-asm.c:152 msgid "immediate value out of range" msgstr "el valor inmediato está fuera de rango" -#: iq2000-asm.c:185 +#: iq2000-asm.c:181 msgid "21-bit offset out of range" msgstr "desplazamiento de 21-bit fuera de rango" -#: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310 -#: openrisc-asm.c:90 openrisc-asm.c:144 -msgid "missing `)'" -msgstr "falta un `)'" - -#: m10200-dis.c:199 -#, c-format -msgid "unknown\t0x%02x" -msgstr "desconocido\t0x%02x" - -#: m10200-dis.c:339 +#: m10200-dis.c:156 m10300-dis.c:580 #, c-format msgid "unknown\t0x%04lx" msgstr "desconocido\t0x%04lx" -#: m10300-dis.c:767 +#: m10200-dis.c:326 #, c-format -msgid "unknown\t0x%04x" -msgstr "desconocido\t0x%04x" +msgid "unknown\t0x%02lx" +msgstr "desconocido\t0x%02lx" + +#: m32c-asm.c:116 +msgid "imm:6 immediate is out of range" +msgstr "el inmediato imm:6 está fuera de rango" -#: m68k-dis.c:295 +#: m32c-asm.c:146 #, c-format -msgid "\n" -msgstr "\n" +msgid "%dsp8() takes a symbolic address, not a number" +msgstr "%dsp8() toma una dirección simbólica, no un número" -#: m68k-dis.c:1089 +#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:229 +msgid "dsp:8 immediate is out of range" +msgstr "el inmediato dsp:8 está fuera de rango" + +#: m32c-asm.c:184 m32c-asm.c:188 +msgid "Immediate is out of range -8 to 7" +msgstr "El inmediato está fuera del rango -8 a 7" + +#: m32c-asm.c:259 +#, c-format +msgid "%dsp16() takes a symbolic address, not a number" +msgstr "%dsp16() toma una dirección simbólica, no un número" + +#: m32c-asm.c:282 m32c-asm.c:289 m32c-asm.c:352 +msgid "dsp:16 immediate is out of range" +msgstr "el inmediato dsp:16 está fuera de rango" + +#: m32c-asm.c:378 +msgid "dsp:20 immediate is out of range" +msgstr "el inmediato dsp:20 está fuera de rango" + +#: m32c-asm.c:404 +msgid "dsp:24 immediate is out of range" +msgstr "el inmediato dsp:24 está fuera de rango" + +#: m32c-asm.c:437 +msgid "immediate is out of range 1-2" +msgstr "el inmediato está fuera del rango 1-2" + +#: m32c-asm.c:455 +msgid "immediate is out of range 1-8" +msgstr "el inmediato está fuera del rango 1-8" + +#: m32c-asm.c:491 +msgid "immediate is out of range 2-9" +msgstr "el inmediato está fuera del rango 2-9" + +#: m32c-asm.c:509 +msgid "Bit number for indexing general register is out of range 0-15" +msgstr "El número de bit para el registro general de indización está fuera del rango 0-15" + +#: m32c-asm.c:541 m32c-asm.c:576 +msgid "bit,base is out of range" +msgstr "bit,base está fuera de rango" + +#: m32c-asm.c:712 +msgid "not a valid r0l/r0h pair" +msgstr "no es un par r0l/r0h válido" + +#: m32c-asm.c:742 +msgid "Invalid size specifier" +msgstr "Especificador de tamaño inválido" + +#: m68k-dis.c:1162 #, c-format msgid "" msgstr "" -#: m88k-dis.c:746 +#: m68k-dis.c:1313 +#, c-format +msgid "\n" +msgstr "\n" + +#: m88k-dis.c:679 #, c-format -msgid "# " -msgstr "# " +msgid "# " +msgstr "# " -#: mips-dis.c:720 +#: mips-dis.c:718 msgid "# internal error, incomplete extension sequence (+)" msgstr "# error interno, secuencia de extensión incompleta (+)" -#: mips-dis.c:779 +#: mips-dis.c:805 #, c-format msgid "# internal error, undefined extension sequence (+%c)" msgstr "# error interno, secuencia de extensión sin definir (+%c)" -#: mips-dis.c:1037 +#: mips-dis.c:1153 #, c-format msgid "# internal error, undefined modifier(%c)" msgstr "# error interno, modificador(%c) sin definir" -#: mips-dis.c:1793 +#: mips-dis.c:1663 #, c-format msgid "# internal disassembler error, unrecognised modifier (%c)" msgstr "# error interno del desensamblador, modificador (%c) no reconocido" -#: mips-dis.c:1805 +#: mips-dis.c:1894 #, c-format msgid "" "\n" @@ -478,7 +666,7 @@ msgstr "" "Las siguientes opciones de desensamblador específicas de MIPS tienen soporte\n" "para su uso con el interruptor -M (las opciones múltiples se deben separar con comas):\n" -#: mips-dis.c:1809 +#: mips-dis.c:1898 #, c-format msgid "" "\n" @@ -489,7 +677,7 @@ msgstr "" " gpr-names=ABI Muestra los nombres GPR de acuerdo a la ABI especificada.\n" " Por defecto: basado en el binario a desensamblar.\n" -#: mips-dis.c:1813 +#: mips-dis.c:1902 #, c-format msgid "" "\n" @@ -500,7 +688,7 @@ msgstr "" " fpr-names=ABI Muestra los nombres FPR de acuerdo a la ABI especificada.\n" " Por defecto: numérico.\n" -#: mips-dis.c:1817 +#: mips-dis.c:1906 #, c-format msgid "" "\n" @@ -513,7 +701,7 @@ msgstr "" " la arquitectura especificada.\n" " Por defecto: basado en el binario a desensamblar.\n" -#: mips-dis.c:1822 +#: mips-dis.c:1911 #, c-format msgid "" "\n" @@ -526,7 +714,7 @@ msgstr "" " especificada.\n" " Por defecto: basado en el binario a desensamblar.\n" -#: mips-dis.c:1827 +#: mips-dis.c:1916 #, c-format msgid "" "\n" @@ -537,7 +725,7 @@ msgstr "" " reg-names=ABI Muestra los nombres GPR y FPR de acuerdo a\n" " la ABI especificada.\n" -#: mips-dis.c:1831 +#: mips-dis.c:1920 #, c-format msgid "" "\n" @@ -548,7 +736,7 @@ msgstr "" " reg-names=ARCH Muestra el registro CP0 y los nombres HWR de acuerdo a\n" " la arquitectura especificada.\n" -#: mips-dis.c:1835 +#: mips-dis.c:1924 #, c-format msgid "" "\n" @@ -559,12 +747,12 @@ msgstr "" " Para las opciones anteriores, se da soporte a los siguientes valores de \"ABI\":\n" " " -#: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850 +#: mips-dis.c:1929 mips-dis.c:1937 mips-dis.c:1939 #, c-format msgid "\n" msgstr "\n" -#: mips-dis.c:1842 +#: mips-dis.c:1931 #, c-format msgid "" "\n" @@ -575,146 +763,166 @@ msgstr "" " Para las opciones anteriores, se da soporte a los siguientes valores de \"ARCH\":\n" " " -#: mmix-dis.c:34 +#: mmix-dis.c:35 #, c-format msgid "Bad case %d (%s) in %s:%d\n" msgstr "Case %d erróneo (%s) en %s:%d\n" -#: mmix-dis.c:44 +#: mmix-dis.c:45 #, c-format msgid "Internal: Non-debugged code (test-case missing): %s:%d" msgstr "Interno: Código no depurado (falta el caso de prueba): %s:%d" -#: mmix-dis.c:53 +#: mmix-dis.c:54 msgid "(unknown)" msgstr "(desconocido)" -#: mmix-dis.c:519 +#: mmix-dis.c:513 #, c-format msgid "*unknown operands type: %d*" msgstr "*tipo de operandos operandos desconocido: %d*" +#: ms1-asm.c:84 ms1-asm.c:162 +msgid "Operand out of range. Must be between -32768 and 32767." +msgstr "Operando fuera de rango. Debe estar entre -32768 y 32767." + +#: ms1-asm.c:121 +msgid "Biiiig Trouble in parse_imm16!" +msgstr "¡Graaaan Problema en parse_imm16!" + +#: ms1-asm.c:129 +#, c-format +msgid "%operator operand is not a symbol" +msgstr "el operando %operator no es un símbolo" + +#: ms1-asm.c:367 +msgid "invalid operand. type may have values 0,1,2 only." +msgstr "operando inválid. El tipo sólo puede tener valores 0,1,2." + #. I and Z are output operands and can`t be immediate -#. * A is an address and we can`t have the address of -#. * an immediate either. We don't know how much to increase -#. * aoffsetp by since whatever generated this is broken -#. * anyway! -#. -#: ns32k-dis.c:631 +#. A is an address and we can`t have the address of +#. an immediate either. We don't know how much to increase +#. aoffsetp by since whatever generated this is broken +#. anyway! +#: ns32k-dis.c:535 #, c-format msgid "$" msgstr "$" -#: ppc-opc.c:794 ppc-opc.c:822 +#: ppc-opc.c:800 ppc-opc.c:828 msgid "invalid conditional option" msgstr "opción condicional inválida" -#: ppc-opc.c:824 +#: ppc-opc.c:830 msgid "attempt to set y bit when using + or - modifier" msgstr "intento de establecer el bit y cuando se usaba el modificador + ó -" -#: ppc-opc.c:852 +#: ppc-opc.c:858 msgid "offset not a multiple of 16" msgstr "el desplazamiento no es un múltiplo de 16" -#: ppc-opc.c:871 +#: ppc-opc.c:877 msgid "offset not a multiple of 2" msgstr "el desplazamiento no es un múltiplo de 2" -#: ppc-opc.c:873 +#: ppc-opc.c:879 msgid "offset greater than 62" msgstr "el desplazamiento es mayor que 62" -#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981 +#: ppc-opc.c:898 ppc-opc.c:943 ppc-opc.c:987 msgid "offset not a multiple of 4" msgstr "el desplazamiento no es un múltiplo de 4" -#: ppc-opc.c:894 +#: ppc-opc.c:900 msgid "offset greater than 124" msgstr "el desplazamiento es mayor que 124" -#: ppc-opc.c:913 +#: ppc-opc.c:919 msgid "offset not a multiple of 8" msgstr "el desplazamiento no es un múltiplo de 8" -#: ppc-opc.c:915 +#: ppc-opc.c:921 msgid "offset greater than 248" msgstr "el desplazamiento es mayor que 248" -#: ppc-opc.c:958 +#: ppc-opc.c:964 msgid "offset not between -2048 and 2047" msgstr "el desplazamiento no está entre -2048 y 2047" -#: ppc-opc.c:979 +#: ppc-opc.c:985 msgid "offset not between -8192 and 8191" msgstr "el desplazamiento no está entre -8192 y 8191" -#: ppc-opc.c:1007 +#: ppc-opc.c:1013 msgid "invalid mask field" msgstr "campo de máscara inválido" -#: ppc-opc.c:1033 +#: ppc-opc.c:1039 msgid "ignoring invalid mfcr mask" msgstr "se ignora la máscara mfcr inválida" -#: ppc-opc.c:1075 +#: ppc-opc.c:1081 msgid "ignoring least significant bits in branch offset" msgstr "ignorando los bits menos significativos en el desplazamiento de la rama" -#: ppc-opc.c:1105 ppc-opc.c:1140 +#: ppc-opc.c:1111 ppc-opc.c:1146 msgid "illegal bitmask" msgstr "máscara de bits ilegal" -#: ppc-opc.c:1205 +#: ppc-opc.c:1211 msgid "value out of range" msgstr "valor fuera de rango" -#: ppc-opc.c:1273 +#: ppc-opc.c:1279 msgid "index register in load range" msgstr "registro índice en el rango de carga" -#: ppc-opc.c:1289 +#: ppc-opc.c:1295 msgid "source and target register operands must be different" msgstr "los operandos de registros fuente y objetivo deben ser diferentes" -#: ppc-opc.c:1304 +#: ppc-opc.c:1310 msgid "invalid register operand when updating" msgstr "operando de registro inválido mientras se actualizaba" -#: ppc-opc.c:1343 +#: ppc-opc.c:1349 msgid "target register operand must be even" msgstr "el operando de registro objetivo debe ser par" -#: ppc-opc.c:1357 +#: ppc-opc.c:1363 msgid "source register operand must be even" msgstr "el operando de registro fuente debe ser par" -#. Mark as non-valid instruction. -#: sparc-dis.c:760 -msgid "unknown" -msgstr "desconocida" +#: ppc-opc.c:1420 +msgid "invalid sprg number" +msgstr "número sprg inválido" -#: sparc-dis.c:835 +#: sparc-dis.c:269 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Error interno: sparc-opcode.h erróneo: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:846 +#: sparc-dis.c:280 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Error interno: sparc-opcode.h erróneo: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:895 +#: sparc-dis.c:330 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" msgstr "Error interno: sparc-opcode.h erróneo: \"%s\" == \"%s\"\n" -#: v850-dis.c:225 +#. Mark as non-valid instruction. +#: sparc-dis.c:984 +msgid "unknown" +msgstr "desconocida" + +#: v850-dis.c:237 #, c-format msgid "unknown operand shift: %x\n" msgstr "operando de desplazamiento desconocido: %x\n" -#: v850-dis.c:237 +#: v850-dis.c:251 #, c-format msgid "unknown pop reg: %d\n" msgstr "registro pop desconocido: %d\n" @@ -724,89 +932,92 @@ msgstr "registro pop desconocido: %d\n" #. v850_insert_operand() in gas/config/tc-v850.c. Error messages #. containing the string 'out of range' will be ignored unless a #. specific command line option is given to GAS. -#: v850-opc.c:69 +#: v850-opc.c:46 msgid "displacement value is not in range and is not aligned" msgstr "el valor de desubicación no está en el rango y no está alineado" -#: v850-opc.c:70 +#: v850-opc.c:47 msgid "displacement value is out of range" msgstr "el valor de desubicación está fuera de rango" -#: v850-opc.c:71 +#: v850-opc.c:48 msgid "displacement value is not aligned" msgstr "el valor de desubicación no está alineado" -#: v850-opc.c:73 +#: v850-opc.c:50 msgid "immediate value is out of range" msgstr "el valor inmediato está fuera de rango" -#: v850-opc.c:84 +#: v850-opc.c:58 msgid "branch value not in range and to odd offset" msgstr "el valor de ramificación no está en rango e indica un desplazamiento impar" -#: v850-opc.c:86 v850-opc.c:118 +#: v850-opc.c:60 v850-opc.c:87 msgid "branch value out of range" msgstr "el valor de ramificación está fuera de rango" -#: v850-opc.c:89 v850-opc.c:121 +#: v850-opc.c:63 v850-opc.c:90 msgid "branch to odd offset" msgstr "ramificación a un desplazamiento impar" -#: v850-opc.c:116 +#: v850-opc.c:85 msgid "branch value not in range and to an odd offset" msgstr "el valor de ramificación no está en rango e indica un desplazamiento impar" -#: v850-opc.c:347 +#: v850-opc.c:277 msgid "invalid register for stack adjustment" msgstr "registro inválido para el ajuste de la pila" -#: v850-opc.c:371 +#: v850-opc.c:297 msgid "immediate value not in range and not even" msgstr "el valor inmediato no está en rango y no es par" -#: v850-opc.c:376 +#: v850-opc.c:302 msgid "immediate value must be even" msgstr "el valor inmediato debe ser par" -#: xstormy16-asm.c:76 +#: xstormy16-asm.c:70 msgid "Bad register in preincrement" msgstr "Registro erróneo en el preincremento" -#: xstormy16-asm.c:81 +#: xstormy16-asm.c:75 msgid "Bad register in postincrement" msgstr "Registro erróneo en el postincremento" -#: xstormy16-asm.c:83 +#: xstormy16-asm.c:77 msgid "Bad register name" msgstr "Nombre de registro erróneo" -#: xstormy16-asm.c:87 +#: xstormy16-asm.c:81 msgid "Label conflicts with register name" msgstr "La etiqueta tiene conflictos con el nombre de registro" -#: xstormy16-asm.c:91 +#: xstormy16-asm.c:85 msgid "Label conflicts with `Rx'" msgstr "La etiqueta tiene conflictos con `Rx'" -#: xstormy16-asm.c:93 +#: xstormy16-asm.c:87 msgid "Bad immediate expression" msgstr "Expresión inmediata errónea" -#: xstormy16-asm.c:115 +#: xstormy16-asm.c:108 msgid "No relocation for small immediate" msgstr "No hay reubicaciones para inmediatos small" -#: xstormy16-asm.c:125 +#: xstormy16-asm.c:118 msgid "Small operand was not an immediate number" msgstr "El operando small no era un número inmediato" -#: xstormy16-asm.c:164 +#: xstormy16-asm.c:156 msgid "Operand is not a symbol" msgstr "El operando no es un símbolo" -#: xstormy16-asm.c:172 +#: xstormy16-asm.c:164 msgid "Syntax error: No trailing ')'" msgstr "Error sintáctico: No hay ')' al final" +#~ msgid "unknown\t0x%04x" +#~ msgstr "desconocido\t0x%04x" + #~ msgid "unrecognized keyword/register name" #~ msgstr "nombre clave/de registro no reconocido" diff --git a/opcodes/po/fi.po b/opcodes/po/fi.po index 956ec8e55d9..9441fad023a 100644 --- a/opcodes/po/fi.po +++ b/opcodes/po/fi.po @@ -1,51 +1,136 @@ # translation of opcodes-2.15.96.fi.po to Finnish -# translation of opcodes-2.15.96.fi.po to suomi -# This file is distributed under the same license as the PACKAGE package. +# This file is distributed under the same license as the binutils package. # Copyright (C) 2005 Free Software Foundation, Inc. -# Jorma Karvonen , 2005 +# Jorma Karvonen , 2006 # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.15.96\n" +"Project-Id-Version: opcodes 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 20:32+1030\n" -"PO-Revision-Date: 2005-04-13 19:40+03:00\n" +"POT-Creation-Date: 2005-10-25 10:50+0930\n" +"PO-Revision-Date: 2006-06-09 12:16+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.1\n" +"X-Poedit-Language: Finnish\n" +"X-Poedit-Country: FINLAND\n" +"X-Poedit-SourceCharset: utf-8\n" -#: alpha-opc.c:331 +#: alpha-opc.c:155 msgid "branch operand unaligned" msgstr "haaroituskohdemuuttuja ei ole tasarajalla" -#: alpha-opc.c:353 alpha-opc.c:374 +#: alpha-opc.c:171 alpha-opc.c:187 msgid "jump hint unaligned" msgstr "hyppyvihje ei ole tasarajalla" -#: arc-dis.c:76 +#: arc-dis.c:75 msgid "Illegal limm reference in last instruction!\n" -msgstr "Viimeisimmän käskyn virheellinen limm-viittaus!\n" +msgstr "Viimeisimmän käskyn virheellinen long-tyyppinen suora muistiosoiteviittaus!\n" -#: arm-dis.c:1267 +#: arc-opc.c:384 +msgid "unable to fit different valued constants into instruction" +msgstr "Eriarvoiset vakiot eivät sovi käskyyn" + +#: arc-opc.c:393 +msgid "auxiliary register not allowed here" +msgstr "apurekisteriä ei sallita tässä" + +#: arc-opc.c:399 arc-opc.c:416 +msgid "attempt to set readonly register" +msgstr "yritettiin asettaa kirjoittamiselta suojattua rekisteriä" + +#: arc-opc.c:404 arc-opc.c:421 +msgid "attempt to read writeonly register" +msgstr "yritettiin lukea lukemiselta suojattua rekisteriä" + +#: arc-opc.c:426 +#, c-format +msgid "invalid register number `%d'" +msgstr "Väärä rekisterinimi \"%d\"" + +#: arc-opc.c:592 arc-opc.c:643 arc-opc.c:671 +msgid "too many long constants" +msgstr "liian monta pitkää vakiota" + +# otaksun: to many -> too many ... +#: arc-opc.c:666 +msgid "to many shimms in load" +msgstr "liian monta short-tyyppistä suoraa muistiosoitetta ladattavana" + +#. Do we have a limm already? +#: arc-opc.c:779 +msgid "impossible store" +msgstr "mahdotonta tallentaa" + +#: arc-opc.c:812 +msgid "st operand error" +msgstr "st-kohdemuuttujavirhe" + +#: arc-opc.c:816 arc-opc.c:858 +msgid "address writeback not allowed" +msgstr "osoitteen kirjoitus takaisin ei ole sallittu" + +#: arc-opc.c:820 +msgid "store value must be zero" +msgstr "tallennettavan arvon on oltava nolla" + +#: arc-opc.c:845 +msgid "invalid load/shimm insn" +msgstr "virheellinen lataus/short-tyyppinen suora muistiosoitekäsky" + +#: arc-opc.c:854 +msgid "ld operand error" +msgstr "ld-käskyn kohdemuuttujan virhe" + +#: arc-opc.c:941 +msgid "jump flags, but no .f seen" +msgstr "hyppyliput, mutta .f-määritettä ei ole" + +#: arc-opc.c:944 +msgid "jump flags, but no limm addr" +msgstr "hyppyliput, mutta long-tyyppistä suoraa muistiosoitetta ei ole" + +#: arc-opc.c:947 +msgid "flag bits of jump address limm lost" +msgstr "long-tyyppisen suoran muistiosoituksen hyppyosoitteen lippubitit puuttuvat" + +#: arc-opc.c:950 +msgid "attempt to set HR bits" +msgstr "yritettiin asettaa HR-bitit" + +#: arc-opc.c:953 +msgid "bad jump flags value" +msgstr "virheellinen hyppylippujen arvo" + +#: arc-opc.c:986 +msgid "branch address not on 4 byte boundary" +msgstr "haaroitusosoite ei ole 4-tavurajalla" + +#: arc-opc.c:1022 +msgid "must specify .jd or no nullify suffix" +msgstr "on määriteltävä .jd tai nollattava suffiksi" + +#: arm-dis.c:1302 msgid "" msgstr "" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1912 +#: arm-dis.c:2746 #, c-format msgid "Unrecognised register name set: %s\n" msgstr "Tuntematon rekisterinimijoukko: %s\n" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1920 +#: arm-dis.c:2754 #, c-format msgid "Unrecognised disassembler option: %s\n" msgstr "Tunnistamaton disassembler-valinta: %s\n" -#: arm-dis.c:2093 +#: arm-dis.c:2916 #, c-format msgid "" "\n" @@ -56,23 +141,24 @@ msgstr "" "Seuraavia ARM-kohtaisia disassembler-valintoja tuetaan käytössä\n" "-M -valinnan kanssa:\n" -#: avr-dis.c:112 avr-dis.c:122 +#: avr-dis.c:109 avr-dis.c:119 #, c-format msgid "undefined" msgstr "määrittelemätön" -#: avr-dis.c:179 +#: avr-dis.c:176 #, c-format msgid "Internal disassembler error" msgstr "Sisäinen disassembler-virhe" -#: avr-dis.c:227 +#: avr-dis.c:225 #, c-format msgid "unknown constraint `%c'" msgstr "tuntematon rajoite \"%c\"" -#: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197 -#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197 +#: cgen-asm.c:336 fr30-ibld.c:192 frv-ibld.c:192 ip2k-ibld.c:192 +#: iq2000-ibld.c:192 m32c-ibld.c:192 m32r-ibld.c:192 ms1-ibld.c:192 +#: openrisc-ibld.c:192 xstormy16-ibld.c:192 #, c-format msgid "operand out of range (%ld not between %ld and %ld)" msgstr "kohdemuuttuja ei ole rajojen sisällä (%ld ei ole %ld:n ja %ld:n välillä)" @@ -82,7 +168,7 @@ msgstr "kohdemuuttuja ei ole rajojen sisällä (%ld ei ole %ld:n ja %ld:n välil msgid "operand out of range (%lu not between %lu and %lu)" msgstr "kohdemuuttuja ei ole rajojen sisällä (%lu ei ole %lu:n ja %lu:n välillä)" -#: d30v-dis.c:312 +#: d30v-dis.c:252 #, c-format msgid "" msgstr "" @@ -98,148 +184,202 @@ msgstr "Tuntematon virhe %d\n" msgid "Address 0x%s is out of bounds.\n" msgstr "Osoite 0x%s ei ole sallittujen rajojen sisällä.\n" -#: fr30-asm.c:323 frv-asm.c:1298 ip2k-asm.c:530 iq2000-asm.c:465 -#: m32r-asm.c:338 openrisc-asm.c:252 xstormy16-asm.c:284 +#: fr30-asm.c:92 m32c-asm.c:782 m32c-asm.c:789 +msgid "Register number is not valid" +msgstr "Rekisterinumero ei ole oikea" + +#: fr30-asm.c:94 +msgid "Register must be between r0 and r7" +msgstr "Rekisterin on oltava r0:n ja r7:n välillä" + +#: fr30-asm.c:96 +msgid "Register must be between r8 and r15" +msgstr "Rekisterin on oltava r8:n ja r15:n välillä" + +#: fr30-asm.c:115 m32c-asm.c:820 +msgid "Register list is not valid" +msgstr "Rekisteriluettelo ei ole oikea" + +#: fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 iq2000-asm.c:456 +#: m32c-asm.c:1476 m32r-asm.c:323 ms1-asm.c:546 openrisc-asm.c:240 +#: xstormy16-asm.c:275 #, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "Tunnistamaton kenttä %d jäsentämisen aikana.\n" -#: fr30-asm.c:372 frv-asm.c:1347 ip2k-asm.c:579 iq2000-asm.c:514 -#: m32r-asm.c:387 openrisc-asm.c:301 xstormy16-asm.c:333 +#: fr30-asm.c:357 frv-asm.c:1310 ip2k-asm.c:558 iq2000-asm.c:504 +#: m32c-asm.c:1524 m32r-asm.c:371 ms1-asm.c:594 openrisc-asm.c:288 +#: xstormy16-asm.c:323 msgid "missing mnemonic in syntax string" msgstr "syntaksimerkkijonosta puuttuu muistikas" #. We couldn't parse it. -#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1482 -#: frv-asm.c:1486 frv-asm.c:1573 frv-asm.c:1674 ip2k-asm.c:714 ip2k-asm.c:718 -#: ip2k-asm.c:805 ip2k-asm.c:906 iq2000-asm.c:649 iq2000-asm.c:653 -#: iq2000-asm.c:740 iq2000-asm.c:841 m32r-asm.c:522 m32r-asm.c:526 -#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:436 openrisc-asm.c:440 -#: openrisc-asm.c:527 openrisc-asm.c:628 xstormy16-asm.c:468 -#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660 +#: fr30-asm.c:492 fr30-asm.c:496 fr30-asm.c:583 fr30-asm.c:684 frv-asm.c:1445 +#: frv-asm.c:1449 frv-asm.c:1536 frv-asm.c:1637 ip2k-asm.c:693 ip2k-asm.c:697 +#: ip2k-asm.c:784 ip2k-asm.c:885 iq2000-asm.c:639 iq2000-asm.c:643 +#: iq2000-asm.c:730 iq2000-asm.c:831 m32c-asm.c:1659 m32c-asm.c:1663 +#: m32c-asm.c:1750 m32c-asm.c:1851 m32r-asm.c:506 m32r-asm.c:510 +#: m32r-asm.c:597 m32r-asm.c:698 ms1-asm.c:729 ms1-asm.c:733 ms1-asm.c:820 +#: ms1-asm.c:921 openrisc-asm.c:423 openrisc-asm.c:427 openrisc-asm.c:514 +#: openrisc-asm.c:615 xstormy16-asm.c:458 xstormy16-asm.c:462 +#: xstormy16-asm.c:549 xstormy16-asm.c:650 msgid "unrecognized instruction" msgstr "tunnistamaton käsky" -#: fr30-asm.c:554 frv-asm.c:1529 ip2k-asm.c:761 iq2000-asm.c:696 -#: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515 +#: fr30-asm.c:539 frv-asm.c:1492 ip2k-asm.c:740 iq2000-asm.c:686 +#: m32c-asm.c:1706 m32r-asm.c:553 ms1-asm.c:776 openrisc-asm.c:470 +#: xstormy16-asm.c:505 #, c-format msgid "syntax error (expected char `%c', found `%c')" msgstr "syntaksivirhe (odotettiin merkkiä \"%c\", löydettiin \"%c\")" -#: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706 -#: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525 +#: fr30-asm.c:549 frv-asm.c:1502 ip2k-asm.c:750 iq2000-asm.c:696 +#: m32c-asm.c:1716 m32r-asm.c:563 ms1-asm.c:786 openrisc-asm.c:480 +#: xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" msgstr "syntaksivirhe (odotettiin merkkiä \"%c\", löydettiin käskyn loppu)" -#: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734 -#: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553 +#: fr30-asm.c:577 frv-asm.c:1530 ip2k-asm.c:778 iq2000-asm.c:724 +#: m32c-asm.c:1744 m32r-asm.c:591 ms1-asm.c:814 openrisc-asm.c:508 +#: xstormy16-asm.c:543 msgid "junk at end of line" msgstr "roskaa rivin lopussa" -#: fr30-asm.c:698 frv-asm.c:1673 ip2k-asm.c:905 iq2000-asm.c:840 -#: m32r-asm.c:713 openrisc-asm.c:627 xstormy16-asm.c:659 +#: fr30-asm.c:683 frv-asm.c:1636 ip2k-asm.c:884 iq2000-asm.c:830 +#: m32c-asm.c:1850 m32r-asm.c:697 ms1-asm.c:920 openrisc-asm.c:614 +#: xstormy16-asm.c:649 msgid "unrecognized form of instruction" msgstr "käskyn muoto tunnistamaton" -#: fr30-asm.c:710 frv-asm.c:1685 ip2k-asm.c:917 iq2000-asm.c:852 -#: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671 +#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:842 +#: m32c-asm.c:1862 m32r-asm.c:709 ms1-asm.c:932 openrisc-asm.c:626 +#: xstormy16-asm.c:661 #, c-format msgid "bad instruction `%.50s...'" msgstr "väärä käsky \"%.50s...\"" -#: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855 -#: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674 +#: fr30-asm.c:698 frv-asm.c:1651 ip2k-asm.c:899 iq2000-asm.c:845 +#: m32c-asm.c:1865 m32r-asm.c:712 ms1-asm.c:935 openrisc-asm.c:629 +#: xstormy16-asm.c:664 #, c-format msgid "bad instruction `%.50s'" msgstr "väärä käsky \"%.50s\"" #. Default text to print if an instruction isn't recognized. -#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41 -#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41 +#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32c-dis.c:41 +#: m32r-dis.c:41 mmix-dis.c:278 ms1-dis.c:41 openrisc-dis.c:41 +#: xstormy16-dis.c:41 msgid "*unknown*" msgstr "*tuntematon*" -#: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262 -#: openrisc-dis.c:137 xstormy16-dis.c:170 +#: fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 iq2000-dis.c:189 m32c-dis.c:860 +#: m32r-dis.c:256 ms1-dis.c:258 openrisc-dis.c:135 xstormy16-dis.c:168 #, c-format msgid "Unrecognized field %d while printing insn.\n" msgstr "Tunnistamaton kenttä %d käskyä tulostettaessa.\n" -#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168 -#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168 +#: fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 iq2000-ibld.c:163 +#: m32c-ibld.c:163 m32r-ibld.c:163 ms1-ibld.c:163 openrisc-ibld.c:163 +#: xstormy16-ibld.c:163 #, c-format msgid "operand out of range (%ld not between %ld and %lu)" msgstr "kohdemuuttuja ei ole rajojen sisällä (%ld ei ole %ld:n ja %lu:n välillä)" -#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181 -#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181 +#: fr30-ibld.c:176 frv-ibld.c:176 ip2k-ibld.c:176 iq2000-ibld.c:176 +#: m32c-ibld.c:176 m32r-ibld.c:176 ms1-ibld.c:176 openrisc-ibld.c:176 +#: xstormy16-ibld.c:176 #, c-format msgid "operand out of range (%lu not between 0 and %lu)" msgstr "kohdemuuttuja ei ole rajojen sisällä (%lu ei ole 0:n ja %lu:n välillä)" -#: fr30-ibld.c:732 frv-ibld.c:858 ip2k-ibld.c:609 iq2000-ibld.c:715 -#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680 +#: fr30-ibld.c:719 frv-ibld.c:845 ip2k-ibld.c:596 iq2000-ibld.c:702 +#: m32c-ibld.c:1668 m32r-ibld.c:654 ms1-ibld.c:713 openrisc-ibld.c:622 +#: xstormy16-ibld.c:667 #, c-format msgid "Unrecognized field %d while building insn.\n" msgstr "Tunnistamaton kenttä %d käskyä muodostettaessa.\n" -#: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892 -#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828 +#: fr30-ibld.c:924 frv-ibld.c:1162 ip2k-ibld.c:671 iq2000-ibld.c:877 +#: m32c-ibld.c:2780 m32r-ibld.c:791 ms1-ibld.c:907 openrisc-ibld.c:722 +#: xstormy16-ibld.c:813 #, c-format msgid "Unrecognized field %d while decoding insn.\n" msgstr "Tunnistamaton kenttä %d käskyä dekoodattaessa.\n" -#: fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 iq2000-ibld.c:1026 -#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941 +#: fr30-ibld.c:1070 frv-ibld.c:1440 ip2k-ibld.c:745 iq2000-ibld.c:1008 +#: m32c-ibld.c:3379 m32r-ibld.c:904 ms1-ibld.c:1086 openrisc-ibld.c:799 +#: xstormy16-ibld.c:923 #, c-format msgid "Unrecognized field %d while getting int operand.\n" msgstr "Tunnistamaton kenttä %d kokonaislukukohdemuuttujaa haettaessa.\n" -#: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140 -#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034 +#: fr30-ibld.c:1198 frv-ibld.c:1700 ip2k-ibld.c:801 iq2000-ibld.c:1121 +#: m32c-ibld.c:3960 m32r-ibld.c:999 ms1-ibld.c:1247 openrisc-ibld.c:858 +#: xstormy16-ibld.c:1015 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" msgstr "Tunnistamaton kenttä %d vma-kohdemuuttujaa haettaessa.\n" -#: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263 -#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136 +#: fr30-ibld.c:1329 frv-ibld.c:1967 ip2k-ibld.c:860 iq2000-ibld.c:1241 +#: m32c-ibld.c:4529 m32r-ibld.c:1100 ms1-ibld.c:1415 openrisc-ibld.c:924 +#: xstormy16-ibld.c:1114 #, c-format msgid "Unrecognized field %d while setting int operand.\n" msgstr "Tunnistamaton kenttä %d kokonaislukukohdemuuttujaa asetettaessa.\n" -#: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374 -#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226 +#: fr30-ibld.c:1450 frv-ibld.c:2224 ip2k-ibld.c:909 iq2000-ibld.c:1351 +#: m32c-ibld.c:5088 m32r-ibld.c:1191 ms1-ibld.c:1573 openrisc-ibld.c:980 +#: xstormy16-ibld.c:1203 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" msgstr "Tunnistamaton kenttä %d vma-kohdemuuttujaa asetettaessa.\n" -#: frv-asm.c:978 +#: frv-asm.c:607 +msgid "missing `]'" +msgstr "\"]\" puuttuu" + +#: frv-asm.c:610 frv-asm.c:620 +msgid "Special purpose register number is out of range" +msgstr "Erityiskäyttörekisterin numero ei ole rajojen sisällä" + +#: frv-asm.c:907 +msgid "Value of A operand must be 0 or 1" +msgstr "A-kohdemuuttujan arvon on oltava 0 tai 1" + +#: frv-asm.c:943 msgid "register number must be even" msgstr "rekisterinumeron on oltava parillinen" -#: h8300-dis.c:358 +#. -- assembler routines inserted here. +#. -- asm.c +#: frv-asm.c:971 iq2000-asm.c:55 m32c-asm.c:140 m32c-asm.c:211 m32c-asm.c:253 +#: m32c-asm.c:312 m32c-asm.c:334 m32r-asm.c:52 openrisc-asm.c:53 +msgid "missing `)'" +msgstr "\")\" puuttuu" + +#: h8300-dis.c:325 #, c-format msgid "Hmmmm 0x%x" msgstr "Hmmmm 0x%x" -#: h8300-dis.c:744 +#: h8300-dis.c:706 #, c-format msgid "Don't understand 0x%x \n" msgstr "0x%x ei ole ymmärrettävä \n" -#: h8500-dis.c:143 +#: h8500-dis.c:122 #, c-format msgid "can't cope with insert %d\n" msgstr "kohteen %d sijoittamisesta ei selviydytty\n" #. Couldn't understand anything. -#: h8500-dis.c:342 +#: h8500-dis.c:322 #, c-format msgid "%02x\t\t*unknown*" msgstr "%02x\t\t*tuntematon*" -#: i386-dis.c:1733 +#: i386-dis.c:1742 msgid "" msgstr "" @@ -353,124 +493,175 @@ msgstr "vaihtaminen hakemistoon \"%s\" ei onnistu, virhenumero = %s\n" #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. -#: ip2k-asm.c:92 +#: ip2k-asm.c:80 msgid "W keyword invalid in FR operand slot." msgstr "avainsana W virheellinen FR-kohdemuuttujavälissä." #. Invalid offset present. -#: ip2k-asm.c:117 +#: ip2k-asm.c:105 msgid "offset(IP) is not a valid form" msgstr "siirros(IP) ei ole virheetön muoto" #. Found something there in front of (DP) but it's out #. of range. -#: ip2k-asm.c:165 +#: ip2k-asm.c:153 msgid "(DP) offset out of range." msgstr "(DP)-siirros ei ole rajojen sisällä." #. Found something there in front of (SP) but it's out #. of range. -#: ip2k-asm.c:206 +#: ip2k-asm.c:194 msgid "(SP) offset out of range." msgstr "(SP)-siirros ei ole rajojen sisällä." -#: ip2k-asm.c:222 +#: ip2k-asm.c:210 msgid "illegal use of parentheses" msgstr "sulkeiden virheellinen käyttö" -#: ip2k-asm.c:229 +#: ip2k-asm.c:217 msgid "operand out of range (not between 1 and 255)" -msgstr "kohdemuuttuja ei ole rajojen sisällä (ei välillä 1 ja 255)" +msgstr "kohdemuuttuja ei ole rajojen sisällä (ei 1:n ja 255:n välillä)" #. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:254 +#: ip2k-asm.c:241 msgid "parse_addr16: invalid opindex." msgstr "parse_addr16: virheellinen käskyindeksi" -#: ip2k-asm.c:309 +#: ip2k-asm.c:295 msgid "Byte address required. - must be even." msgstr "Vaaditaan tavuosoite - täytyy olla parillinen." -#: ip2k-asm.c:318 +#: ip2k-asm.c:304 msgid "cgen_parse_address returned a symbol. Literal required." msgstr "cgen_parse_address palautti symbolin. Vaaditaan literaali." -#: ip2k-asm.c:376 -#, c-format -msgid "%operator operand is not a symbol" -msgstr "%operaattori-kohdemuuttuja ei ole symboli." +#: ip2k-asm.c:359 +msgid "percent-operator operand is not a symbol" +msgstr "prosenttioperaattori-kohdemuuttuja ei ole symboli." -#: ip2k-asm.c:430 +#: ip2k-asm.c:412 msgid "Attempt to find bit index of 0" msgstr "Yritettiin löytää 0-bitti-indeksi" -#: iq2000-asm.c:115 iq2000-asm.c:146 +#: iq2000-asm.c:111 iq2000-asm.c:141 msgid "immediate value cannot be register" msgstr "suoraan muistiosoitettu arvo ei voi olla rekisteri" -#: iq2000-asm.c:126 iq2000-asm.c:156 +#: iq2000-asm.c:122 iq2000-asm.c:152 msgid "immediate value out of range" msgstr "suoraan muistiosoitettu arvo ei ole rajojen sisällä" -#: iq2000-asm.c:185 +#: iq2000-asm.c:181 msgid "21-bit offset out of range" msgstr "21-bittinen siirros ei ole rajojen sisällä" -#: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310 -#: openrisc-asm.c:90 openrisc-asm.c:144 -msgid "missing `)'" -msgstr "\")\" puuttuu" - -#: m10200-dis.c:199 -#, c-format -msgid "unknown\t0x%02x" -msgstr "tuntematon\t0x%02x" - -#: m10200-dis.c:339 +#: m10200-dis.c:156 m10300-dis.c:580 #, c-format msgid "unknown\t0x%04lx" msgstr "tuntematon\t0x%04lx" -#: m10300-dis.c:767 +#: m10200-dis.c:326 #, c-format -msgid "unknown\t0x%04x" -msgstr "tuntematon\t0x%04x" +msgid "unknown\t0x%02lx" +msgstr "tuntematon\t0x%02lx" + +#: m32c-asm.c:116 +msgid "imm:6 immediate is out of range" +msgstr "suora muistiosoitusarvo imm:6 ei ole rajojen sisällä" -#: m68k-dis.c:295 +#: m32c-asm.c:146 #, c-format -msgid "\n" -msgstr "\n" +msgid "%dsp8() takes a symbolic address, not a number" +msgstr "%dsp8() hyväksyy symbolisen osoitteen, ei numeroa" -#: m68k-dis.c:1089 +#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:229 +msgid "dsp:8 immediate is out of range" +msgstr "suora muistiosoitusarvo dsp:8 ei ole rajojen sisällä" + +#: m32c-asm.c:184 m32c-asm.c:188 +msgid "Immediate is out of range -8 to 7" +msgstr "suora muistiosoitusarvo ei ole rajojen -8 ... 7 sisällä" + +#: m32c-asm.c:259 +#, c-format +msgid "%dsp16() takes a symbolic address, not a number" +msgstr "%dsp16() hyväksyy symbolisen osoitteen, ei numeroa" + +#: m32c-asm.c:282 m32c-asm.c:289 m32c-asm.c:352 +msgid "dsp:16 immediate is out of range" +msgstr "suora muistiosoitusarvo dsp:16 ei ole rajojen sisällä" + +#: m32c-asm.c:378 +msgid "dsp:20 immediate is out of range" +msgstr "suora muistiosoitusarvo dsp:20 ei ole rajojen sisällä" + +#: m32c-asm.c:404 +msgid "dsp:24 immediate is out of range" +msgstr "suora muistiosoitusarvo dsp:24 ei ole rajojen sisällä" + +#: m32c-asm.c:437 +msgid "immediate is out of range 1-2" +msgstr "suora muistiosoitusarvo ei ole rajojen 1-2 sisällä" + +#: m32c-asm.c:455 +msgid "immediate is out of range 1-8" +msgstr "suora muistiosoitusarvo ei ole rajojen 1-8 sisällä" + +#: m32c-asm.c:491 +msgid "immediate is out of range 2-9" +msgstr "suora muistiosoitusarvo ei ole rajojen 2-9 sisällä" + +#: m32c-asm.c:509 +msgid "Bit number for indexing general register is out of range 0-15" +msgstr "Indeksoivan yleisrekisterin bittinumero ei ole alueella 0-15" + +#: m32c-asm.c:541 m32c-asm.c:576 +msgid "bit,base is out of range" +msgstr "bitti, kanta ei ole rajojen sisällä" + +#: m32c-asm.c:712 +msgid "not a valid r0l/r0h pair" +msgstr "r0l/r0h-pari ei ole oikea" + +#: m32c-asm.c:742 +msgid "Invalid size specifier" +msgstr "Virheellinen kokomäärite" + +#: m68k-dis.c:1162 #, c-format msgid "" msgstr "" -#: m88k-dis.c:746 +#: m68k-dis.c:1313 +#, c-format +msgid "\n" +msgstr "\n" + +#: m88k-dis.c:679 #, c-format -msgid "# " -msgstr "# " +msgid "# " +msgstr "# " -#: mips-dis.c:720 +#: mips-dis.c:718 msgid "# internal error, incomplete extension sequence (+)" msgstr "# sisäinen virhe, epätäydellinen laajennussekvenssi (+)" -#: mips-dis.c:779 +#: mips-dis.c:805 #, c-format msgid "# internal error, undefined extension sequence (+%c)" msgstr "# sisäinen virhe, määrittelemätön laajennussekvenssi (+%c)" -#: mips-dis.c:1037 +#: mips-dis.c:1153 #, c-format msgid "# internal error, undefined modifier(%c)" msgstr "# sisäinen virhe, määrittelemätön määrite(%c)" -#: mips-dis.c:1793 +#: mips-dis.c:1663 #, c-format msgid "# internal disassembler error, unrecognised modifier (%c)" msgstr "# sisäinen disassembler-virhe, tunnistamaton määrite (%c)" -#: mips-dis.c:1805 +#: mips-dis.c:1894 #, c-format msgid "" "\n" @@ -481,7 +672,7 @@ msgstr "" "Seuraavat MIPS-kohtaiset disassembler-valinnat ovat tuettuja käyttöön\n" "-M -valinnan kanssa (monivalinnat pitää erottaa pilkulla):\n" -#: mips-dis.c:1809 +#: mips-dis.c:1898 #, c-format msgid "" "\n" @@ -492,7 +683,7 @@ msgstr "" " gpr-names=ABI Tulosta GPR-nimet määritellyn ABI:n mukaisesti.\n" " Oletus: perustuu disassembloitavaan binääritiedostoon.\n" -#: mips-dis.c:1813 +#: mips-dis.c:1902 #, c-format msgid "" "\n" @@ -503,7 +694,7 @@ msgstr "" " fpr-names=ABI Tulosta FPR-nimet määritellyn ABI:n mukaisesti.\n" " Oletus: numeerinen.\n" -#: mips-dis.c:1817 +#: mips-dis.c:1906 #, c-format msgid "" "\n" @@ -516,7 +707,7 @@ msgstr "" " määritellyn arkkitehtuurin mukaisesti.\n" " Oletus: perustuu disassemloitavaan binääritiedostoon.\n" -#: mips-dis.c:1822 +#: mips-dis.c:1911 #, c-format msgid "" "\n" @@ -529,7 +720,7 @@ msgstr "" "\t\t\t arkkitehtuurin mukaisesti.\n" " Oletus: perustuu disassembloitavaan binääritiedostoon.\n" -#: mips-dis.c:1827 +#: mips-dis.c:1916 #, c-format msgid "" "\n" @@ -540,7 +731,7 @@ msgstr "" " reg-names=ABI Tulosta GPR- ja FPR-nimet määritellyn\n" " ABI:n mukaisesti.\n" -#: mips-dis.c:1831 +#: mips-dis.c:1920 #, c-format msgid "" "\n" @@ -551,7 +742,7 @@ msgstr "" " reg-names=ARCH Tulosta CP0-rekisteri ja HWR-nimet määritellyn\n" " arkkitehtuurin mukaisesti.\n" -#: mips-dis.c:1835 +#: mips-dis.c:1924 #, c-format msgid "" "\n" @@ -562,12 +753,12 @@ msgstr "" " Ylläolevista valinnoista \"ABI\" tukee seuraavia arvoja:\n" " " -#: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850 +#: mips-dis.c:1929 mips-dis.c:1937 mips-dis.c:1939 #, c-format msgid "\n" msgstr "\n" -#: mips-dis.c:1842 +#: mips-dis.c:1931 #, c-format msgid "" "\n" @@ -578,146 +769,166 @@ msgstr "" " Ylläolevista valinnoista \"ARCH\" tukee seuraavia arvoja:\n" " " -#: mmix-dis.c:34 +#: mmix-dis.c:35 #, c-format msgid "Bad case %d (%s) in %s:%d\n" msgstr "%d (%s) on virheellinen tapaus kohteessa %s:%d\n" -#: mmix-dis.c:44 +#: mmix-dis.c:45 #, c-format msgid "Internal: Non-debugged code (test-case missing): %s:%d" msgstr "Sisäinen: Debuggaamaton koodi (testitapaus puuttuu): %s:%d" -#: mmix-dis.c:53 +#: mmix-dis.c:54 msgid "(unknown)" msgstr "(tuntematon)" -#: mmix-dis.c:519 +#: mmix-dis.c:513 #, c-format msgid "*unknown operands type: %d*" msgstr "*tuntematon kohdemuuttujatyyppi: %d*" +#: ms1-asm.c:84 ms1-asm.c:162 +msgid "Operand out of range. Must be between -32768 and 32767." +msgstr "Kohdemuuttuja ei ole rajojen sisällä. Täytyy olla -32768:n ja 32767:n välillä." + +#: ms1-asm.c:121 +msgid "Biiiig Trouble in parse_imm16!" +msgstr "Iso pulma parse_imm16-käskyssä!" + +#: ms1-asm.c:129 +#, c-format +msgid "%operator operand is not a symbol" +msgstr "%operaattori-kohdemuuttuja ei ole symboli." + +#: ms1-asm.c:367 +msgid "invalid operand. type may have values 0,1,2 only." +msgstr "virheellinen kohdemuuttuja. tyypin arvo saa olla vain 0,1 ta 2." + #. I and Z are output operands and can`t be immediate -#. * A is an address and we can`t have the address of -#. * an immediate either. We don't know how much to increase -#. * aoffsetp by since whatever generated this is broken -#. * anyway! -#. -#: ns32k-dis.c:631 +#. A is an address and we can`t have the address of +#. an immediate either. We don't know how much to increase +#. aoffsetp by since whatever generated this is broken +#. anyway! +#: ns32k-dis.c:535 #, c-format msgid "$" msgstr "$" -#: ppc-opc.c:794 ppc-opc.c:822 +#: ppc-opc.c:800 ppc-opc.c:828 msgid "invalid conditional option" msgstr "virheellinen ehdollinen valinta" -#: ppc-opc.c:824 +#: ppc-opc.c:830 msgid "attempt to set y bit when using + or - modifier" msgstr "yritys asettaa y-bitti kun käytetään + tai - määritettä" -#: ppc-opc.c:852 +#: ppc-opc.c:858 msgid "offset not a multiple of 16" msgstr "siirros ei ole 16:n monikerta" -#: ppc-opc.c:871 +#: ppc-opc.c:877 msgid "offset not a multiple of 2" msgstr "siirros ei ole 2:n monikerta" -#: ppc-opc.c:873 +#: ppc-opc.c:879 msgid "offset greater than 62" msgstr "siirros suurempi kuin 62" -#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981 +#: ppc-opc.c:898 ppc-opc.c:943 ppc-opc.c:987 msgid "offset not a multiple of 4" msgstr "siirros ei ole 4:n monikerta" -#: ppc-opc.c:894 +#: ppc-opc.c:900 msgid "offset greater than 124" msgstr "siirros suurempi kuin 124" -#: ppc-opc.c:913 +#: ppc-opc.c:919 msgid "offset not a multiple of 8" msgstr "siirros ei ole 8:n monikerta" -#: ppc-opc.c:915 +#: ppc-opc.c:921 msgid "offset greater than 248" msgstr "siirros suurempi kuin 248" -#: ppc-opc.c:958 +#: ppc-opc.c:964 msgid "offset not between -2048 and 2047" msgstr "siirros ei ole -2048:n ja 2047:n välillä" -#: ppc-opc.c:979 +#: ppc-opc.c:985 msgid "offset not between -8192 and 8191" msgstr "siirros ei ole -8192:n ja 8191:n välillä" -#: ppc-opc.c:1007 +#: ppc-opc.c:1013 msgid "invalid mask field" msgstr "virheellinen maskikenttä" -#: ppc-opc.c:1033 +#: ppc-opc.c:1039 msgid "ignoring invalid mfcr mask" msgstr "virheellistä mfcr-maskia ei oteta huomioon" -#: ppc-opc.c:1075 +#: ppc-opc.c:1081 msgid "ignoring least significant bits in branch offset" msgstr "vähinten merkitseviä bittejä ei oteta huomioon haaroitussiirrossa" -#: ppc-opc.c:1105 ppc-opc.c:1140 +#: ppc-opc.c:1111 ppc-opc.c:1146 msgid "illegal bitmask" msgstr "virheellinen bittimaski" -#: ppc-opc.c:1205 +#: ppc-opc.c:1211 msgid "value out of range" msgstr "arvo ei ole rajojen sisällä" -#: ppc-opc.c:1273 +#: ppc-opc.c:1279 msgid "index register in load range" msgstr "indeksirekisteri on latauslukurajojen sisällä" -#: ppc-opc.c:1289 +#: ppc-opc.c:1295 msgid "source and target register operands must be different" msgstr "lähde- ja kohderekisterin kohdemuuttujien on oltava erilaiset" -#: ppc-opc.c:1304 +#: ppc-opc.c:1310 msgid "invalid register operand when updating" msgstr "rekisterin kohdemuuttuja virheellinen päivitettäessä" -#: ppc-opc.c:1343 +#: ppc-opc.c:1349 msgid "target register operand must be even" msgstr "kohderekisterin kohdemuuttujan täytyy olla parillinen" -#: ppc-opc.c:1357 +#: ppc-opc.c:1363 msgid "source register operand must be even" msgstr "lähderekisterin kohdemuuttujan täytyy olla parillinen" -#. Mark as non-valid instruction. -#: sparc-dis.c:760 -msgid "unknown" -msgstr "tuntematon" +#: ppc-opc.c:1420 +msgid "invalid sprg number" +msgstr "virheellinen sprg-numero" -#: sparc-dis.c:835 +#: sparc-dis.c:269 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Sisäinen virhe: virheellinen sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:846 +#: sparc-dis.c:280 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Sisäinen virhe: virheellinen sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:895 +#: sparc-dis.c:330 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" msgstr "Sisäinen virhe: virheellinen sparc-opcode.h: \"%s\" == \"%s\"\n" -#: v850-dis.c:225 +#. Mark as non-valid instruction. +#: sparc-dis.c:984 +msgid "unknown" +msgstr "tuntematon" + +#: v850-dis.c:237 #, c-format msgid "unknown operand shift: %x\n" msgstr "tuntematon kohdemuuttujan siirto: %x\n" -#: v850-dis.c:237 +#: v850-dis.c:251 #, c-format msgid "unknown pop reg: %d\n" msgstr "tuntematon pop-rekisteri: %d\n" @@ -727,86 +938,89 @@ msgstr "tuntematon pop-rekisteri: %d\n" #. v850_insert_operand() in gas/config/tc-v850.c. Error messages #. containing the string 'out of range' will be ignored unless a #. specific command line option is given to GAS. -#: v850-opc.c:69 +#: v850-opc.c:46 msgid "displacement value is not in range and is not aligned" msgstr "Uudelleensijoitusarvo ei ole rajojen sisällä eikä sijaitse tasarajalla" -#: v850-opc.c:70 +#: v850-opc.c:47 msgid "displacement value is out of range" msgstr "uudelleensijoitusarvo ei ole rajojen sisällä" -#: v850-opc.c:71 +#: v850-opc.c:48 msgid "displacement value is not aligned" msgstr "uudelleensijoitusarvo ei ole tasarajalla" -#: v850-opc.c:73 +#: v850-opc.c:50 msgid "immediate value is out of range" msgstr "suora muistiosoitusarvo ei ole rajojen sisällä" -#: v850-opc.c:84 +#: v850-opc.c:58 msgid "branch value not in range and to odd offset" msgstr "haaroitusarvo ei ole rajojen sisällä ja kohdistuu parittomaan siirrososoitteeseen" -#: v850-opc.c:86 v850-opc.c:118 +#: v850-opc.c:60 v850-opc.c:87 msgid "branch value out of range" msgstr "haaroitusarvo ei ole rajojen sisällä" -#: v850-opc.c:89 v850-opc.c:121 +#: v850-opc.c:63 v850-opc.c:90 msgid "branch to odd offset" msgstr "haaroitus parittomaan siirrososoitteeseen" -#: v850-opc.c:116 +#: v850-opc.c:85 msgid "branch value not in range and to an odd offset" msgstr "haaroitusarvo ei ole rajojen sisällä ja sijaitsee parittomassa siirrososoitteessa" -#: v850-opc.c:347 +#: v850-opc.c:277 msgid "invalid register for stack adjustment" msgstr "virheellinen rekisteri pinosäädössä" -#: v850-opc.c:371 +#: v850-opc.c:297 msgid "immediate value not in range and not even" msgstr "suora muistiosoitusarvo ei ole rajojen sisällä eikä ole parillinen" -#: v850-opc.c:376 +#: v850-opc.c:302 msgid "immediate value must be even" msgstr "Suoran muistiosoitusarvon täytyy olla parillinen" -#: xstormy16-asm.c:76 +#: xstormy16-asm.c:70 msgid "Bad register in preincrement" msgstr "Väärä rekisteri ennakkokasvatuksessa" -#: xstormy16-asm.c:81 +#: xstormy16-asm.c:75 msgid "Bad register in postincrement" msgstr "Väärä rekisteri jälkikasvatuksessa" -#: xstormy16-asm.c:83 +#: xstormy16-asm.c:77 msgid "Bad register name" msgstr "Väärä rekisterinimi" -#: xstormy16-asm.c:87 +#: xstormy16-asm.c:81 msgid "Label conflicts with register name" msgstr "Otsikko ristiriidassa rekisterin nimen kanssa" -#: xstormy16-asm.c:91 +#: xstormy16-asm.c:85 msgid "Label conflicts with `Rx'" msgstr "Otsikko ristiriidassa kohteen \"Rx\" kanssa" -#: xstormy16-asm.c:93 +#: xstormy16-asm.c:87 msgid "Bad immediate expression" msgstr "Virheellinen suora muistiosoituslauseke" -#: xstormy16-asm.c:115 +#: xstormy16-asm.c:108 msgid "No relocation for small immediate" -msgstr "Ei uudelleensijoitusta pienikokoiselle suoralle muistiosoitukselle" +msgstr "Ei sijoitusta pienikokoiselle suoralle muistiosoitukselle" -#: xstormy16-asm.c:125 +#: xstormy16-asm.c:118 msgid "Small operand was not an immediate number" msgstr "Pieni kohdemuuttuja ei ollut suora muistiosoitusnumero" -#: xstormy16-asm.c:164 +#: xstormy16-asm.c:156 msgid "Operand is not a symbol" msgstr "Kohdemuuttuja ei ole symboli" -#: xstormy16-asm.c:172 +#: xstormy16-asm.c:164 msgid "Syntax error: No trailing ')'" msgstr "Syntaksivirhe: loppukaarisulku \")\" puuttuu" + +#~ msgid "unknown\t0x%04x" +#~ msgstr "tuntematon\t0x%04x" diff --git a/opcodes/po/ga.po b/opcodes/po/ga.po index a8ad05497d6..e6f42ebd5af 100644 --- a/opcodes/po/ga.po +++ b/opcodes/po/ga.po @@ -1,49 +1,131 @@ # Irish translations for opcodes. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the opcodes package. -# Kevin Patrick Scannell , 2005. +# Kevin Patrick Scannell , 2005, 2006. # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.15.96\n" +"Project-Id-Version: opcodes 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 20:32+1030\n" -"PO-Revision-Date: 2005-09-13 18:42-0500\n" +"POT-Creation-Date: 2005-10-25 10:50+0930\n" +"PO-Revision-Date: 2006-05-22 18:42-0500\n" "Last-Translator: Kevin Patrick Scannell \n" -"Language-Team: Irish \n" +"Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: alpha-opc.c:331 +#: alpha-opc.c:155 msgid "branch operand unaligned" msgstr "oibreann brainse gan ailíniú" -#: alpha-opc.c:353 alpha-opc.c:374 +#: alpha-opc.c:171 alpha-opc.c:187 msgid "jump hint unaligned" msgstr "leid léime gan ailíniú" -#: arc-dis.c:76 +#: arc-dis.c:75 msgid "Illegal limm reference in last instruction!\n" msgstr "Tagairt neamhcheadaithe limm sa treoir is déanaí!\n" -#: arm-dis.c:1267 +#: arc-opc.c:384 +msgid "unable to fit different valued constants into instruction" +msgstr "ní féidir tairisigh le luachanna difriúla a chur isteach sa treoir" + +#: arc-opc.c:393 +msgid "auxiliary register not allowed here" +msgstr "ní cheadaítear tabhall cúntach anseo" + +#: arc-opc.c:399 arc-opc.c:416 +msgid "attempt to set readonly register" +msgstr "rinneadh iarracht ar thabhall léimh-amháin a shocrú" + +#: arc-opc.c:404 arc-opc.c:421 +msgid "attempt to read writeonly register" +msgstr "rinneadh iarracht ar thabhall scríofa-amháin a léamh" + +#: arc-opc.c:426 +#, c-format +msgid "invalid register number `%d'" +msgstr "uimhir neamhbhailí `%d' ar thabhall" + +#: arc-opc.c:592 arc-opc.c:643 arc-opc.c:671 +msgid "too many long constants" +msgstr "an iomarca tairiseach fada" + +#: arc-opc.c:666 +msgid "to many shimms in load" +msgstr "an iomarca shimmeanna le linn luchtaithe" + +#. Do we have a limm already? +#: arc-opc.c:779 +msgid "impossible store" +msgstr "stóráil dhodhéanta" + +#: arc-opc.c:812 +msgid "st operand error" +msgstr "earráid le hoibreann st" + +#: arc-opc.c:816 arc-opc.c:858 +msgid "address writeback not allowed" +msgstr "ní cheadaítear ais-scríobh an tseolta" + +#: arc-opc.c:820 +msgid "store value must be zero" +msgstr "caithfidh luach an stóir a bheith nialas" + +#: arc-opc.c:845 +msgid "invalid load/shimm insn" +msgstr "insn luchtaithe/shimm neamhbhailí" + +#: arc-opc.c:854 +msgid "ld operand error" +msgstr "earráid le hoibreann ld" + +#: arc-opc.c:941 +msgid "jump flags, but no .f seen" +msgstr "bratacha léime, ach ní fhacthas .f ar bith" + +#: arc-opc.c:944 +msgid "jump flags, but no limm addr" +msgstr "bratacha léime, ach gan seoladh limm" + +#: arc-opc.c:947 +msgid "flag bits of jump address limm lost" +msgstr "cailleadh giotáin bhrataí den seoladh léime limm" + +#: arc-opc.c:950 +msgid "attempt to set HR bits" +msgstr "rinneadh iarracht giotáin HR a shocrú" + +#: arc-opc.c:953 +msgid "bad jump flags value" +msgstr "luach neamhbhailí ar bhratacha léime" + +#: arc-opc.c:986 +msgid "branch address not on 4 byte boundary" +msgstr "seoladh brainse gan a bheith ar theorainn 4 bheart" + +#: arc-opc.c:1022 +msgid "must specify .jd or no nullify suffix" +msgstr "ní mór duit .jd nó iarmhír gan neamhniú a shonrú" + +#: arm-dis.c:1302 msgid "" msgstr "" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1912 +#: arm-dis.c:2746 #, c-format msgid "Unrecognised register name set: %s\n" msgstr "Tacar anaithnid d'ainmneacha taibhle: %s\n" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1920 +#: arm-dis.c:2754 #, c-format msgid "Unrecognised disassembler option: %s\n" msgstr "Rogha anaithnid dídhíolamóra: %s\n" -#: arm-dis.c:2093 +#: arm-dis.c:2916 #, c-format msgid "" "\n" @@ -54,23 +136,24 @@ msgstr "" "Tacaítear leis na roghanna a leanas, atá sainiúil do ARM agus le húsáid in éineacht\n" "leis an rogha -M:\n" -#: avr-dis.c:112 avr-dis.c:122 +#: avr-dis.c:109 avr-dis.c:119 #, c-format msgid "undefined" msgstr "gan sainmhíniú" -#: avr-dis.c:179 +#: avr-dis.c:176 #, c-format msgid "Internal disassembler error" msgstr "Earráid inmheánach dídhíolamóra" -#: avr-dis.c:227 +#: avr-dis.c:225 #, c-format msgid "unknown constraint `%c'" msgstr "iallach anaithnid `%c'" -#: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197 -#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197 +#: cgen-asm.c:336 fr30-ibld.c:192 frv-ibld.c:192 ip2k-ibld.c:192 +#: iq2000-ibld.c:192 m32c-ibld.c:192 m32r-ibld.c:192 ms1-ibld.c:192 +#: openrisc-ibld.c:192 xstormy16-ibld.c:192 #, c-format msgid "operand out of range (%ld not between %ld and %ld)" msgstr "oibreann as raon (níl %ld idir %ld agus %ld)" @@ -80,7 +163,7 @@ msgstr "oibreann as raon (n msgid "operand out of range (%lu not between %lu and %lu)" msgstr "oibreann as raon (níl %lu idir %lu agus %lu)" -#: d30v-dis.c:312 +#: d30v-dis.c:252 #, c-format msgid "" msgstr "" @@ -96,148 +179,202 @@ msgstr "Earr msgid "Address 0x%s is out of bounds.\n" msgstr "Tá an seoladh 0x%s thar teorainn.\n" -#: fr30-asm.c:323 frv-asm.c:1298 ip2k-asm.c:530 iq2000-asm.c:465 -#: m32r-asm.c:338 openrisc-asm.c:252 xstormy16-asm.c:284 +#: fr30-asm.c:92 m32c-asm.c:782 m32c-asm.c:789 +msgid "Register number is not valid" +msgstr "uimhir neamhbhailí ar an tabhall" + +#: fr30-asm.c:94 +msgid "Register must be between r0 and r7" +msgstr "Caithfidh an tabhall a bheith idir r0 agus r7" + +#: fr30-asm.c:96 +msgid "Register must be between r8 and r15" +msgstr "Caithfidh an tabhall a bheith idir r8 agus r15" + +#: fr30-asm.c:115 m32c-asm.c:820 +msgid "Register list is not valid" +msgstr "Níl liosta na dtaibhle bailí" + +#: fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 iq2000-asm.c:456 +#: m32c-asm.c:1476 m32r-asm.c:323 ms1-asm.c:546 openrisc-asm.c:240 +#: xstormy16-asm.c:275 #, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "Réimse anaithnid %d le linn parsála.\n" -#: fr30-asm.c:372 frv-asm.c:1347 ip2k-asm.c:579 iq2000-asm.c:514 -#: m32r-asm.c:387 openrisc-asm.c:301 xstormy16-asm.c:333 +#: fr30-asm.c:357 frv-asm.c:1310 ip2k-asm.c:558 iq2000-asm.c:504 +#: m32c-asm.c:1524 m32r-asm.c:371 ms1-asm.c:594 openrisc-asm.c:288 +#: xstormy16-asm.c:323 msgid "missing mnemonic in syntax string" msgstr "cuimhneolaíoch ar iarraidh i dteaghrán comhréire" #. We couldn't parse it. -#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1482 -#: frv-asm.c:1486 frv-asm.c:1573 frv-asm.c:1674 ip2k-asm.c:714 ip2k-asm.c:718 -#: ip2k-asm.c:805 ip2k-asm.c:906 iq2000-asm.c:649 iq2000-asm.c:653 -#: iq2000-asm.c:740 iq2000-asm.c:841 m32r-asm.c:522 m32r-asm.c:526 -#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:436 openrisc-asm.c:440 -#: openrisc-asm.c:527 openrisc-asm.c:628 xstormy16-asm.c:468 -#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660 +#: fr30-asm.c:492 fr30-asm.c:496 fr30-asm.c:583 fr30-asm.c:684 frv-asm.c:1445 +#: frv-asm.c:1449 frv-asm.c:1536 frv-asm.c:1637 ip2k-asm.c:693 ip2k-asm.c:697 +#: ip2k-asm.c:784 ip2k-asm.c:885 iq2000-asm.c:639 iq2000-asm.c:643 +#: iq2000-asm.c:730 iq2000-asm.c:831 m32c-asm.c:1659 m32c-asm.c:1663 +#: m32c-asm.c:1750 m32c-asm.c:1851 m32r-asm.c:506 m32r-asm.c:510 +#: m32r-asm.c:597 m32r-asm.c:698 ms1-asm.c:729 ms1-asm.c:733 ms1-asm.c:820 +#: ms1-asm.c:921 openrisc-asm.c:423 openrisc-asm.c:427 openrisc-asm.c:514 +#: openrisc-asm.c:615 xstormy16-asm.c:458 xstormy16-asm.c:462 +#: xstormy16-asm.c:549 xstormy16-asm.c:650 msgid "unrecognized instruction" msgstr "treoir anaithnid" -#: fr30-asm.c:554 frv-asm.c:1529 ip2k-asm.c:761 iq2000-asm.c:696 -#: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515 +#: fr30-asm.c:539 frv-asm.c:1492 ip2k-asm.c:740 iq2000-asm.c:686 +#: m32c-asm.c:1706 m32r-asm.c:553 ms1-asm.c:776 openrisc-asm.c:470 +#: xstormy16-asm.c:505 #, c-format msgid "syntax error (expected char `%c', found `%c')" msgstr "earráid chomhréire (bhíothas ag súil le `%c', fuarthas `%c')" -#: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706 -#: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525 +#: fr30-asm.c:549 frv-asm.c:1502 ip2k-asm.c:750 iq2000-asm.c:696 +#: m32c-asm.c:1716 m32r-asm.c:563 ms1-asm.c:786 openrisc-asm.c:480 +#: xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" msgstr "earráid chomhréire (bhíothas ag súil le `%c', fuarthas deireadh na treorach)" -#: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734 -#: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553 +#: fr30-asm.c:577 frv-asm.c:1530 ip2k-asm.c:778 iq2000-asm.c:724 +#: m32c-asm.c:1744 m32r-asm.c:591 ms1-asm.c:814 openrisc-asm.c:508 +#: xstormy16-asm.c:543 msgid "junk at end of line" msgstr "bruscar ag deireadh na líne" -#: fr30-asm.c:698 frv-asm.c:1673 ip2k-asm.c:905 iq2000-asm.c:840 -#: m32r-asm.c:713 openrisc-asm.c:627 xstormy16-asm.c:659 +#: fr30-asm.c:683 frv-asm.c:1636 ip2k-asm.c:884 iq2000-asm.c:830 +#: m32c-asm.c:1850 m32r-asm.c:697 ms1-asm.c:920 openrisc-asm.c:614 +#: xstormy16-asm.c:649 msgid "unrecognized form of instruction" msgstr "foirm anaithnid de threoir" -#: fr30-asm.c:710 frv-asm.c:1685 ip2k-asm.c:917 iq2000-asm.c:852 -#: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671 +#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:842 +#: m32c-asm.c:1862 m32r-asm.c:709 ms1-asm.c:932 openrisc-asm.c:626 +#: xstormy16-asm.c:661 #, c-format msgid "bad instruction `%.50s...'" msgstr "drochthreoir `%.50s...'" -#: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855 -#: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674 +#: fr30-asm.c:698 frv-asm.c:1651 ip2k-asm.c:899 iq2000-asm.c:845 +#: m32c-asm.c:1865 m32r-asm.c:712 ms1-asm.c:935 openrisc-asm.c:629 +#: xstormy16-asm.c:664 #, c-format msgid "bad instruction `%.50s'" msgstr "drochthreoir `%.50s'" #. Default text to print if an instruction isn't recognized. -#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41 -#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41 +#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32c-dis.c:41 +#: m32r-dis.c:41 mmix-dis.c:278 ms1-dis.c:41 openrisc-dis.c:41 +#: xstormy16-dis.c:41 msgid "*unknown*" msgstr "*anaithnid*" -#: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262 -#: openrisc-dis.c:137 xstormy16-dis.c:170 +#: fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 iq2000-dis.c:189 m32c-dis.c:860 +#: m32r-dis.c:256 ms1-dis.c:258 openrisc-dis.c:135 xstormy16-dis.c:168 #, c-format msgid "Unrecognized field %d while printing insn.\n" msgstr "Réimse anaithnid %d le linn priontála insn.\n" -#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168 -#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168 +#: fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 iq2000-ibld.c:163 +#: m32c-ibld.c:163 m32r-ibld.c:163 ms1-ibld.c:163 openrisc-ibld.c:163 +#: xstormy16-ibld.c:163 #, c-format msgid "operand out of range (%ld not between %ld and %lu)" msgstr "oibreann as raon (níl %ld idir %ld agus %lu)" -#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181 -#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181 +#: fr30-ibld.c:176 frv-ibld.c:176 ip2k-ibld.c:176 iq2000-ibld.c:176 +#: m32c-ibld.c:176 m32r-ibld.c:176 ms1-ibld.c:176 openrisc-ibld.c:176 +#: xstormy16-ibld.c:176 #, c-format msgid "operand out of range (%lu not between 0 and %lu)" msgstr "oibreann as raon (níl %lu idir 0 agus %lu)" -#: fr30-ibld.c:732 frv-ibld.c:858 ip2k-ibld.c:609 iq2000-ibld.c:715 -#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680 +#: fr30-ibld.c:719 frv-ibld.c:845 ip2k-ibld.c:596 iq2000-ibld.c:702 +#: m32c-ibld.c:1668 m32r-ibld.c:654 ms1-ibld.c:713 openrisc-ibld.c:622 +#: xstormy16-ibld.c:667 #, c-format msgid "Unrecognized field %d while building insn.\n" msgstr "Réimse anaithnid %d le linn tógála insn.\n" -#: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892 -#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828 +#: fr30-ibld.c:924 frv-ibld.c:1162 ip2k-ibld.c:671 iq2000-ibld.c:877 +#: m32c-ibld.c:2780 m32r-ibld.c:791 ms1-ibld.c:907 openrisc-ibld.c:722 +#: xstormy16-ibld.c:813 #, c-format msgid "Unrecognized field %d while decoding insn.\n" msgstr "Réimse anaithnid %d le linn díchódaithe insn.\n" -#: fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 iq2000-ibld.c:1026 -#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941 +#: fr30-ibld.c:1070 frv-ibld.c:1440 ip2k-ibld.c:745 iq2000-ibld.c:1008 +#: m32c-ibld.c:3379 m32r-ibld.c:904 ms1-ibld.c:1086 openrisc-ibld.c:799 +#: xstormy16-ibld.c:923 #, c-format msgid "Unrecognized field %d while getting int operand.\n" msgstr "Réimse anaithnid %d agus oibreann slánuimhriúil á fháil.\n" -#: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140 -#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034 +#: fr30-ibld.c:1198 frv-ibld.c:1700 ip2k-ibld.c:801 iq2000-ibld.c:1121 +#: m32c-ibld.c:3960 m32r-ibld.c:999 ms1-ibld.c:1247 openrisc-ibld.c:858 +#: xstormy16-ibld.c:1015 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" msgstr "Réimse anaithnid %d agus oibreann vma á fháil.\n" -#: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263 -#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136 +#: fr30-ibld.c:1329 frv-ibld.c:1967 ip2k-ibld.c:860 iq2000-ibld.c:1241 +#: m32c-ibld.c:4529 m32r-ibld.c:1100 ms1-ibld.c:1415 openrisc-ibld.c:924 +#: xstormy16-ibld.c:1114 #, c-format msgid "Unrecognized field %d while setting int operand.\n" msgstr "Réimse anaithnid %d agus oibreann slánuimhriúil á shocrú.\n" -#: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374 -#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226 +#: fr30-ibld.c:1450 frv-ibld.c:2224 ip2k-ibld.c:909 iq2000-ibld.c:1351 +#: m32c-ibld.c:5088 m32r-ibld.c:1191 ms1-ibld.c:1573 openrisc-ibld.c:980 +#: xstormy16-ibld.c:1203 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" msgstr "Réimse anaithnid %d agus oibreann vma á shocrú.\n" -#: frv-asm.c:978 +#: frv-asm.c:607 +msgid "missing `]'" +msgstr "`]' ar iarraidh" + +#: frv-asm.c:610 frv-asm.c:620 +msgid "Special purpose register number is out of range" +msgstr "Uimhir thabhall sainchuspóirigh as raon" + +#: frv-asm.c:907 +msgid "Value of A operand must be 0 or 1" +msgstr "caithfidh luach an oibrinn A a bheith 0 nó 1" + +#: frv-asm.c:943 msgid "register number must be even" msgstr "caithfidh uimhir an tabhaill a bheith cothrom" -#: h8300-dis.c:358 +#. -- assembler routines inserted here. +#. -- asm.c +#: frv-asm.c:971 iq2000-asm.c:55 m32c-asm.c:140 m32c-asm.c:211 m32c-asm.c:253 +#: m32c-asm.c:312 m32c-asm.c:334 m32r-asm.c:52 openrisc-asm.c:53 +msgid "missing `)'" +msgstr "`)' ar iarraidh" + +#: h8300-dis.c:325 #, c-format msgid "Hmmmm 0x%x" msgstr "Hmmmm 0x%x" -#: h8300-dis.c:744 +#: h8300-dis.c:706 #, c-format msgid "Don't understand 0x%x \n" msgstr "Ní thuigim 0x%x \n" -#: h8500-dis.c:143 +#: h8500-dis.c:122 #, c-format msgid "can't cope with insert %d\n" msgstr "ní féidir déileáil le hionsá %d\n" #. Couldn't understand anything. -#: h8500-dis.c:342 +#: h8500-dis.c:322 #, c-format msgid "%02x\t\t*unknown*" msgstr "%02x\t\t*anaithnid*" -#: i386-dis.c:1733 +#: i386-dis.c:1742 msgid "" msgstr "" @@ -351,124 +488,175 @@ msgstr "n #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. -#: ip2k-asm.c:92 +#: ip2k-asm.c:80 msgid "W keyword invalid in FR operand slot." -msgstr "is neamhbhailí é eochairfhocal W i sliotán oibrinn FR." +msgstr "is neamhbhailí é lorgfhocal W i sliotán oibrinn FR." #. Invalid offset present. -#: ip2k-asm.c:117 +#: ip2k-asm.c:105 msgid "offset(IP) is not a valid form" msgstr "is neamhbhailí é an fhoirm fritháireamh(IP)" #. Found something there in front of (DP) but it's out #. of range. -#: ip2k-asm.c:165 +#: ip2k-asm.c:153 msgid "(DP) offset out of range." msgstr "fritháireamh (DP) as raon." #. Found something there in front of (SP) but it's out #. of range. -#: ip2k-asm.c:206 +#: ip2k-asm.c:194 msgid "(SP) offset out of range." msgstr "fritháireamh (SP) as raon." -#: ip2k-asm.c:222 +#: ip2k-asm.c:210 msgid "illegal use of parentheses" msgstr "úsáid neamhcheadaithe de lúibíní" -#: ip2k-asm.c:229 +#: ip2k-asm.c:217 msgid "operand out of range (not between 1 and 255)" msgstr "oibreann as raon (ní idir 1 agus 255" #. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:254 +#: ip2k-asm.c:241 msgid "parse_addr16: invalid opindex." msgstr "parse_addr16: innéacs neamhbhailí oibrinn." -#: ip2k-asm.c:309 +#: ip2k-asm.c:295 msgid "Byte address required. - must be even." msgstr "Seoladh birt de dhíth. - ní mór dó a bheith cothrom." -#: ip2k-asm.c:318 +#: ip2k-asm.c:304 msgid "cgen_parse_address returned a symbol. Literal required." msgstr "d'fhill cgen_parse_address siombail. Tá gá le teaghrán litriúil." -#: ip2k-asm.c:376 -#, c-format -msgid "%operator operand is not a symbol" -msgstr "ní siombail é oibreann an %oibreora\"" +#: ip2k-asm.c:359 +msgid "percent-operator operand is not a symbol" +msgstr "níl an t-oibreann céatadáin ina shiombail" -#: ip2k-asm.c:430 +#: ip2k-asm.c:412 msgid "Attempt to find bit index of 0" msgstr "Rinneadh iarracht innéacs giotáin 0 a aimsiú" -#: iq2000-asm.c:115 iq2000-asm.c:146 +#: iq2000-asm.c:111 iq2000-asm.c:141 msgid "immediate value cannot be register" msgstr "ní féidir an luach láithreach a bheith tabhall" -#: iq2000-asm.c:126 iq2000-asm.c:156 +#: iq2000-asm.c:122 iq2000-asm.c:152 msgid "immediate value out of range" msgstr "luach láithreach as raon" -#: iq2000-asm.c:185 +#: iq2000-asm.c:181 msgid "21-bit offset out of range" msgstr "fritháireamh 21-giotán as raon" -#: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310 -#: openrisc-asm.c:90 openrisc-asm.c:144 -msgid "missing `)'" -msgstr "`)' ar iarraidh" - -#: m10200-dis.c:199 -#, c-format -msgid "unknown\t0x%02x" -msgstr "anaithnid\t0x%02x" - -#: m10200-dis.c:339 +#: m10200-dis.c:156 m10300-dis.c:580 #, c-format msgid "unknown\t0x%04lx" msgstr "anaithnid\t0x%04lx" -#: m10300-dis.c:767 +#: m10200-dis.c:326 #, c-format -msgid "unknown\t0x%04x" -msgstr "anaithnid\t0x%04x" +msgid "unknown\t0x%02lx" +msgstr "anaithnid\t0x%02lx" + +#: m32c-asm.c:116 +msgid "imm:6 immediate is out of range" +msgstr "luach láithreach imm:6 as raon" -#: m68k-dis.c:295 +#: m32c-asm.c:146 #, c-format -msgid "\n" -msgstr "\n" +msgid "%dsp8() takes a symbolic address, not a number" +msgstr "glacann %dsp8() le seoladh siombalach, ní ghlacann sé le huimhir" -#: m68k-dis.c:1089 +#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:229 +msgid "dsp:8 immediate is out of range" +msgstr "luach láithreach dsp:8 as raon" + +#: m32c-asm.c:184 m32c-asm.c:188 +msgid "Immediate is out of range -8 to 7" +msgstr "Luach láithreach as raon -8 go dtí 7" + +#: m32c-asm.c:259 +#, c-format +msgid "%dsp16() takes a symbolic address, not a number" +msgstr "glacann %dsp16() le seoladh siombalach, ní ghlacann sé le huimhir" + +#: m32c-asm.c:282 m32c-asm.c:289 m32c-asm.c:352 +msgid "dsp:16 immediate is out of range" +msgstr "luach láithreach dsp:16 as raon" + +#: m32c-asm.c:378 +msgid "dsp:20 immediate is out of range" +msgstr "luach láithreach dsp:20 as raon" + +#: m32c-asm.c:404 +msgid "dsp:24 immediate is out of range" +msgstr "luach láithreach dsp:24 as raon" + +#: m32c-asm.c:437 +msgid "immediate is out of range 1-2" +msgstr "luach láithreach as raon 1-2" + +#: m32c-asm.c:455 +msgid "immediate is out of range 1-8" +msgstr "luach láithreach as raon 1-8" + +#: m32c-asm.c:491 +msgid "immediate is out of range 2-9" +msgstr "luach láithreach as raon 2-9" + +#: m32c-asm.c:509 +msgid "Bit number for indexing general register is out of range 0-15" +msgstr "Uimhir ghiotáin le haghaidh innéacsú tabhall ginearálta as raon 0-15" + +#: m32c-asm.c:541 m32c-asm.c:576 +msgid "bit,base is out of range" +msgstr "giotán,bunuimhir as raon" + +#: m32c-asm.c:712 +msgid "not a valid r0l/r0h pair" +msgstr "cúpla neamhbhailí r0l/r0h" + +#: m32c-asm.c:742 +msgid "Invalid size specifier" +msgstr "Sonraitheoir neamhbhailí méide" + +#: m68k-dis.c:1162 #, c-format msgid "" msgstr "" -#: m88k-dis.c:746 +#: m68k-dis.c:1313 +#, c-format +msgid "\n" +msgstr "\n" + +#: m88k-dis.c:679 #, c-format -msgid "# " -msgstr "# " +msgid "# " +msgstr "# " -#: mips-dis.c:720 +#: mips-dis.c:718 msgid "# internal error, incomplete extension sequence (+)" msgstr "# earráid inmheánach, seicheamh neamhiomlán sínte (+)" -#: mips-dis.c:779 +#: mips-dis.c:805 #, c-format msgid "# internal error, undefined extension sequence (+%c)" msgstr "# earráid inmheánach, seicheamh sínte gan sainmhíniú (+%c)" -#: mips-dis.c:1037 +#: mips-dis.c:1153 #, c-format msgid "# internal error, undefined modifier(%c)" msgstr "# earráid inmheánach, mionathraitheoir gan sainmhíniú(%c)" -#: mips-dis.c:1793 +#: mips-dis.c:1663 #, c-format msgid "# internal disassembler error, unrecognised modifier (%c)" msgstr "# earráid inmheánach dídhíolamóra, mionathraitheoir anaithnid (%c)" -#: mips-dis.c:1805 +#: mips-dis.c:1894 #, c-format msgid "" "\n" @@ -480,7 +668,7 @@ msgstr "" "agus le húsáid in éineacht leis an rogha -M (ba chóir roghanna iomadúla\n" "a bheith scartha le camóga):\n" -#: mips-dis.c:1809 +#: mips-dis.c:1898 #, c-format msgid "" "\n" @@ -491,7 +679,7 @@ msgstr "" " gpr-names=ABI Taispeáin ainmneacha GPR de réir an ABI sonraithe.\n" " Réamhshocrú: bunaithe ar chlár dénártha díolaimithe.\n" -#: mips-dis.c:1813 +#: mips-dis.c:1902 #, c-format msgid "" "\n" @@ -502,7 +690,7 @@ msgstr "" " fpr-names=ABI Taispeáin ainmneacha FPR de réir an ABI sonraithe.\n" " Réamhshocrú: uimhriúil.\n" -#: mips-dis.c:1817 +#: mips-dis.c:1906 #, c-format msgid "" "\n" @@ -515,7 +703,7 @@ msgstr "" " hailtireachta sonraithe.\n" " Réamhshocrú: bunaithe ar chlár dénártha díolaimithe.\n" -#: mips-dis.c:1822 +#: mips-dis.c:1911 #, c-format msgid "" "\n" @@ -528,7 +716,7 @@ msgstr "" " hailtireachta sonraithe.\n" " Réamhshocrú: bunaithe ar chlár dénártha díolaimithe.\n" -#: mips-dis.c:1827 +#: mips-dis.c:1916 #, c-format msgid "" "\n" @@ -539,7 +727,7 @@ msgstr "" " reg-names=ABI Taispeáin ainmneacha GPR agus FPR de réir an\n" " ABI sonraithe.\n" -#: mips-dis.c:1831 +#: mips-dis.c:1920 #, c-format msgid "" "\n" @@ -550,7 +738,7 @@ msgstr "" " reg-names=AILTIREACHT Taispeáin ainmneacha HWR agus ainmneacha na dtaibhle\n" " CP0 de réir na hailtireachta sonraithe.\n" -#: mips-dis.c:1835 +#: mips-dis.c:1924 #, c-format msgid "" "\n" @@ -561,12 +749,12 @@ msgstr "" " Le haghaidh na roghanna thuas, tacaítear leis na luachanna a leanas ar \"ABI\":\n" " " -#: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850 +#: mips-dis.c:1929 mips-dis.c:1937 mips-dis.c:1939 #, c-format msgid "\n" msgstr "\n" -#: mips-dis.c:1842 +#: mips-dis.c:1931 #, c-format msgid "" "\n" @@ -577,146 +765,166 @@ msgstr "" " Le haghaidh na roghanna thuas, tacaítear leis na luachanna a leanas ar \"ARCH\":\n" " " -#: mmix-dis.c:34 +#: mmix-dis.c:35 #, c-format msgid "Bad case %d (%s) in %s:%d\n" msgstr "Droch-chás %d (%s) i %s:%d\n" -#: mmix-dis.c:44 +#: mmix-dis.c:45 #, c-format msgid "Internal: Non-debugged code (test-case missing): %s:%d" msgstr "Inmheánach: cód gan dífhabhtú (cás tástála ar iarraidh): %s:%d" -#: mmix-dis.c:53 +#: mmix-dis.c:54 msgid "(unknown)" msgstr "(anaithnid)" -#: mmix-dis.c:519 +#: mmix-dis.c:513 #, c-format msgid "*unknown operands type: %d*" msgstr "*cineál anaithnid oibrinn: %d*" +#: ms1-asm.c:84 ms1-asm.c:162 +msgid "Operand out of range. Must be between -32768 and 32767." +msgstr "Oibreann as raon. Caithfidh sé a bheith idir -32768 agus 32767." + +#: ms1-asm.c:121 +msgid "Biiiig Trouble in parse_imm16!" +msgstr "Trioblóid An-An-Mhór i parse_imm16!" + +#: ms1-asm.c:129 +#, c-format +msgid "%operator operand is not a symbol" +msgstr "ní siombail é oibreann an %oibreora\"" + +#: ms1-asm.c:367 +msgid "invalid operand. type may have values 0,1,2 only." +msgstr "oibreann neamhbhailí. ní cheadaítear ach na luachanna 0,1,2." + #. I and Z are output operands and can`t be immediate -#. * A is an address and we can`t have the address of -#. * an immediate either. We don't know how much to increase -#. * aoffsetp by since whatever generated this is broken -#. * anyway! -#. -#: ns32k-dis.c:631 +#. A is an address and we can`t have the address of +#. an immediate either. We don't know how much to increase +#. aoffsetp by since whatever generated this is broken +#. anyway! +#: ns32k-dis.c:535 #, c-format msgid "$" msgstr "$" -#: ppc-opc.c:794 ppc-opc.c:822 +#: ppc-opc.c:800 ppc-opc.c:828 msgid "invalid conditional option" msgstr "rogha neamhbhailí choinníollach" -#: ppc-opc.c:824 +#: ppc-opc.c:830 msgid "attempt to set y bit when using + or - modifier" msgstr "rinneadh iarracht y-giotán a shocrú agus mionathraitheoir + nó - in úsáid" -#: ppc-opc.c:852 +#: ppc-opc.c:858 msgid "offset not a multiple of 16" msgstr "ní iolraí de 16 é an fritháireamh" -#: ppc-opc.c:871 +#: ppc-opc.c:877 msgid "offset not a multiple of 2" msgstr "ní cothrom é an fritháireamh" -#: ppc-opc.c:873 +#: ppc-opc.c:879 msgid "offset greater than 62" msgstr "is níos mó ná 62 é an fritháireamh" -#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981 +#: ppc-opc.c:898 ppc-opc.c:943 ppc-opc.c:987 msgid "offset not a multiple of 4" msgstr "ní iolraí de 4 é an fritháireamh" -#: ppc-opc.c:894 +#: ppc-opc.c:900 msgid "offset greater than 124" msgstr "is níos mó ná 124 é an fritháireamh" -#: ppc-opc.c:913 +#: ppc-opc.c:919 msgid "offset not a multiple of 8" msgstr "ní iolraí de 8 é an fritháireamh" -#: ppc-opc.c:915 +#: ppc-opc.c:921 msgid "offset greater than 248" msgstr "is níos mó ná 248 é an fritháireamh" -#: ppc-opc.c:958 +#: ppc-opc.c:964 msgid "offset not between -2048 and 2047" msgstr "ní idir -2048 agus 2047 é an fritháireamh" -#: ppc-opc.c:979 +#: ppc-opc.c:985 msgid "offset not between -8192 and 8191" msgstr "ní idir -8192 agus 8191 é an fritháireamh" -#: ppc-opc.c:1007 +#: ppc-opc.c:1013 msgid "invalid mask field" msgstr "réimse neamhbhailí maisc" -#: ppc-opc.c:1033 +#: ppc-opc.c:1039 msgid "ignoring invalid mfcr mask" msgstr "ag déanamh neamhshuim ar mhasc neamhbhailí mfcr" -#: ppc-opc.c:1075 +#: ppc-opc.c:1081 msgid "ignoring least significant bits in branch offset" msgstr "ag déanamh neamhshuim ar na giotáin is lú suntas i bhfritháireamh brainse" -#: ppc-opc.c:1105 ppc-opc.c:1140 +#: ppc-opc.c:1111 ppc-opc.c:1146 msgid "illegal bitmask" msgstr "giotánmhasc neamhcheadaithe" -#: ppc-opc.c:1205 +#: ppc-opc.c:1211 msgid "value out of range" msgstr "luach as raon" -#: ppc-opc.c:1273 +#: ppc-opc.c:1279 msgid "index register in load range" msgstr "tabhall innéacs i raon luchtaithe" -#: ppc-opc.c:1289 +#: ppc-opc.c:1295 msgid "source and target register operands must be different" msgstr "caithfidh oibreann an tabhaill foinsigh agus oibreann an spriocthabhaill a bheith difriúil" -#: ppc-opc.c:1304 +#: ppc-opc.c:1310 msgid "invalid register operand when updating" msgstr "oibreann neamhbhailí tabhaill le linn nuashonraithe" -#: ppc-opc.c:1343 +#: ppc-opc.c:1349 msgid "target register operand must be even" msgstr "caithfidh oibreann an spriocthabhaill a bheith cothrom" -#: ppc-opc.c:1357 +#: ppc-opc.c:1363 msgid "source register operand must be even" msgstr "caithfidh oibreann an tabhaill foinsigh a bheith cothrom" -#. Mark as non-valid instruction. -#: sparc-dis.c:760 -msgid "unknown" -msgstr "anaithnid" +#: ppc-opc.c:1420 +msgid "invalid sprg number" +msgstr "uimhir neamhbhailí sprg" -#: sparc-dis.c:835 +#: sparc-dis.c:269 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Earráid inmheánach: sparc-opcode.h go holc: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:846 +#: sparc-dis.c:280 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Earráid inmheánach: sparc-opcode.h go holc: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:895 +#: sparc-dis.c:330 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" msgstr "Earráid inmheánach: sparc-opcode.h go holc: \"%s\" == \"%s\"\n" -#: v850-dis.c:225 +#. Mark as non-valid instruction. +#: sparc-dis.c:984 +msgid "unknown" +msgstr "anaithnid" + +#: v850-dis.c:237 #, c-format msgid "unknown operand shift: %x\n" msgstr "iomlaoid anaithnid oibrinn: %x\n" -#: v850-dis.c:237 +#: v850-dis.c:251 #, c-format msgid "unknown pop reg: %d\n" msgstr "tabhall anaithnid plobtha: %d\n" @@ -726,86 +934,89 @@ msgstr "tabhall anaithnid plobtha: %d\n" #. v850_insert_operand() in gas/config/tc-v850.c. Error messages #. containing the string 'out of range' will be ignored unless a #. specific command line option is given to GAS. -#: v850-opc.c:69 +#: v850-opc.c:46 msgid "displacement value is not in range and is not aligned" msgstr "tá an luach díláithrithe as raon, agus ní ailínithe é" -#: v850-opc.c:70 +#: v850-opc.c:47 msgid "displacement value is out of range" msgstr "luach díláithrithe as raon" -#: v850-opc.c:71 +#: v850-opc.c:48 msgid "displacement value is not aligned" msgstr "luach díláithrithe gan ailíniú" -#: v850-opc.c:73 +#: v850-opc.c:50 msgid "immediate value is out of range" msgstr "luach láithreach as raon" -#: v850-opc.c:84 +#: v850-opc.c:58 msgid "branch value not in range and to odd offset" msgstr "luach brainse as raon, agus brainse go dtí fritháireamh corr" -#: v850-opc.c:86 v850-opc.c:118 +#: v850-opc.c:60 v850-opc.c:87 msgid "branch value out of range" msgstr "luach an bhrainse as raon" -#: v850-opc.c:89 v850-opc.c:121 +#: v850-opc.c:63 v850-opc.c:90 msgid "branch to odd offset" msgstr "brainse go dtí fritháireamh corr" -#: v850-opc.c:116 +#: v850-opc.c:85 msgid "branch value not in range and to an odd offset" msgstr "luach brainse as raon agus brainse go dtí fritháireamh corr" -#: v850-opc.c:347 +#: v850-opc.c:277 msgid "invalid register for stack adjustment" msgstr "tabhall neamhbhailí le haghaidh coigeartaithe na cruaiche" -#: v850-opc.c:371 +#: v850-opc.c:297 msgid "immediate value not in range and not even" msgstr "luach láithreach as raon, agus ní cothrom é" -#: v850-opc.c:376 +#: v850-opc.c:302 msgid "immediate value must be even" msgstr "caithfidh luach láithreach a bheith cothrom" -#: xstormy16-asm.c:76 +#: xstormy16-asm.c:70 msgid "Bad register in preincrement" msgstr "Drochthabhall i réamhincrimint" -#: xstormy16-asm.c:81 +#: xstormy16-asm.c:75 msgid "Bad register in postincrement" msgstr "Drochthabhall i iarincrimint" -#: xstormy16-asm.c:83 +#: xstormy16-asm.c:77 msgid "Bad register name" msgstr "Drochainm ar thabhall" -#: xstormy16-asm.c:87 +#: xstormy16-asm.c:81 msgid "Label conflicts with register name" msgstr "Lipéad i gcoinbhleacht le hainm tabhaill" -#: xstormy16-asm.c:91 +#: xstormy16-asm.c:85 msgid "Label conflicts with `Rx'" msgstr "Lipéad i gcoinbhleacht le `Rx'" -#: xstormy16-asm.c:93 +#: xstormy16-asm.c:87 msgid "Bad immediate expression" msgstr "Drochshlonn láithreach" -#: xstormy16-asm.c:115 +#: xstormy16-asm.c:108 msgid "No relocation for small immediate" msgstr "Luach beag láithreach gan athshuí" -#: xstormy16-asm.c:125 +#: xstormy16-asm.c:118 msgid "Small operand was not an immediate number" msgstr "Ní uimhir láithreach é an t-oibreann beag" -#: xstormy16-asm.c:164 +#: xstormy16-asm.c:156 msgid "Operand is not a symbol" msgstr "Ní siombail é an t-oibreann" -#: xstormy16-asm.c:172 +#: xstormy16-asm.c:164 msgid "Syntax error: No trailing ')'" msgstr "Earráid chomhréire: gan ')' chun deiridh" + +#~ msgid "unknown\t0x%04x" +#~ msgstr "anaithnid\t0x%04x" diff --git a/opcodes/po/nl.po b/opcodes/po/nl.po index ff7dbb7515a..9db8290c7b9 100644 --- a/opcodes/po/nl.po +++ b/opcodes/po/nl.po @@ -1,53 +1,140 @@ # Dutch messages for the Opcodes Library. -# Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 1999, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the Opcodes package. -# Tim Van Holder , 1999, 2002, 2003, 2005. -# +# Tim Van Holder , 1999, 2002, 2003, 2005, 2006. +# msgid "" msgstr "" -"Project-Id-Version: opcodes 2.15.96\n" +"Project-Id-Version: opcodes 2.16.93\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-03-05 20:32+1030\n" -"PO-Revision-Date: 2005-05-05 23:36+0200\n" -"Last-Translator: Tim Van Holder \n" +"POT-Creation-Date: 2005-10-25 10:50+0930\n" +"PO-Revision-Date: 2006-05-21 20:56+0200\n" +"Last-Translator: Tim Van Holder \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -# misschien 'branch' vertalen (vertakking?) +# misschien 'branch' vertalen (vertakking? aftakking?) # en unaligned vertalen als 'niet uitgelijnd'? -#: alpha-opc.c:331 +#: alpha-opc.c:155 msgid "branch operand unaligned" msgstr "branch-operand niet uitgelijnd" -#: alpha-opc.c:353 alpha-opc.c:374 +#: alpha-opc.c:171 alpha-opc.c:187 msgid "jump hint unaligned" msgstr "jump-hint niet uitgelijnd" -#: arc-dis.c:76 +#: arc-dis.c:75 msgid "Illegal limm reference in last instruction!\n" msgstr "Ongeldige limm-verwijzing in de laatste instructie!\n" -#: arm-dis.c:1267 +# klinkt niet echt geweldig... +#: arc-opc.c:384 +msgid "unable to fit different valued constants into instruction" +msgstr "kan constantes met verschillende waarden niet in instructie inpassen" + +#: arc-opc.c:393 +msgid "auxiliary register not allowed here" +msgstr "hulpregister hier niet toegestaan" + +#: arc-opc.c:399 arc-opc.c:416 +msgid "attempt to set readonly register" +msgstr "poging tot het instellen van een alleen-lezen register" + +#: arc-opc.c:404 arc-opc.c:421 +msgid "attempt to read writeonly register" +msgstr "poging tot uitlezen van alleen-schrijven register" + +#: arc-opc.c:426 +#, c-format +msgid "invalid register number `%d'" +msgstr "Ongeldig registernummer `%d'" + +#: arc-opc.c:592 arc-opc.c:643 arc-opc.c:671 +msgid "too many long constants" +msgstr "te veel lange constantes" + +# of "bij opladen" ipv "in load"? +#: arc-opc.c:666 +msgid "to many shimms in load" +msgstr "te veel shimms in load" + +#. Do we have a limm already? +#: arc-opc.c:779 +msgid "impossible store" +msgstr "onmogelijke store" + +#: arc-opc.c:812 +msgid "st operand error" +msgstr "st operand-fout" + +# of "terugschrijven van adres"? +#: arc-opc.c:816 arc-opc.c:858 +msgid "address writeback not allowed" +msgstr "address writeback niet toegestaan" + +# of beter 'store-waarde'? +#: arc-opc.c:820 +msgid "store value must be zero" +msgstr "opslagwaarde moet nul zijn" + +#: arc-opc.c:845 +msgid "invalid load/shimm insn" +msgstr "ongeldige load/shimm insn" + +#: arc-opc.c:854 +msgid "ld operand error" +msgstr "ld operand-fout" + +#: arc-opc.c:941 +msgid "jump flags, but no .f seen" +msgstr "jump-vlaggen, maar geen .f gezien" + +#: arc-opc.c:944 +msgid "jump flags, but no limm addr" +msgstr "jump-vlaggen, maar geen limm addr" + +#: arc-opc.c:947 +msgid "flag bits of jump address limm lost" +msgstr "vlagbits van jump-adres limm gaan verloren" + +#: arc-opc.c:950 +msgid "attempt to set HR bits" +msgstr "poging tot instellen van HR bits" + +#: arc-opc.c:953 +msgid "bad jump flags value" +msgstr "slechte waarde van de jump-vlaggen" + +#: arc-opc.c:986 +msgid "branch address not on 4 byte boundary" +msgstr "branch-adres niet op 4-byte grens" + +# klinkt wankel... +#: arc-opc.c:1022 +msgid "must specify .jd or no nullify suffix" +msgstr "moet .jd of geen nullify-suffix opgeven" + +#: arm-dis.c:1302 msgid "" msgstr "" -# Hoort set bij 'name', of bij 'register name'? +# Hoort set bij 'name', of bij 'register name' - of is het een voltood deelwoord? #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1912 +#: arm-dis.c:2746 #, c-format msgid "Unrecognised register name set: %s\n" msgstr "Registernaam-verzameling niet herkend: %s\n" #. XXX - should break 'option' at following delimiter. -#: arm-dis.c:1920 +#: arm-dis.c:2754 #, c-format msgid "Unrecognised disassembler option: %s\n" msgstr "Disassembler-optie niet herkend: %s\n" -#: arm-dis.c:2093 +#: arm-dis.c:2916 #, c-format msgid "" "\n" @@ -58,24 +145,25 @@ msgstr "" "De volgende ARM-specifieke disassembler-opties worden ondersteund voor gebruik\n" "via de -M optie:\n" -#: avr-dis.c:112 avr-dis.c:122 +#: avr-dis.c:109 avr-dis.c:119 #, c-format msgid "undefined" msgstr "niet gedefinieerd" -#: avr-dis.c:179 +#: avr-dis.c:176 #, c-format msgid "Internal disassembler error" msgstr "Interne fout in de disassembler" # Vertaling voor constraint? 'begrenzing' misschien? -#: avr-dis.c:227 +#: avr-dis.c:225 #, c-format msgid "unknown constraint `%c'" msgstr "onbekende constraint `%c'" -#: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197 -#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197 +#: cgen-asm.c:336 fr30-ibld.c:192 frv-ibld.c:192 ip2k-ibld.c:192 +#: iq2000-ibld.c:192 m32c-ibld.c:192 m32r-ibld.c:192 ms1-ibld.c:192 +#: openrisc-ibld.c:192 xstormy16-ibld.c:192 #, c-format msgid "operand out of range (%ld not between %ld and %ld)" msgstr "operand buiten bereik (%ld niet tussen %ld en %ld)" @@ -85,7 +173,7 @@ msgstr "operand buiten bereik (%ld niet tussen %ld en %ld)" msgid "operand out of range (%lu not between %lu and %lu)" msgstr "operand buiten bereik (%lu niet tussen %lu en %lu)" -#: d30v-dis.c:312 +#: d30v-dis.c:252 #, c-format msgid "" msgstr "" @@ -102,150 +190,204 @@ msgstr "Onbekende fout %d\n" msgid "Address 0x%s is out of bounds.\n" msgstr "Adres 0x%s is buiten de perken.\n" +#: fr30-asm.c:92 m32c-asm.c:782 m32c-asm.c:789 +msgid "Register number is not valid" +msgstr "Registernummer is ongeldig" + +#: fr30-asm.c:94 +msgid "Register must be between r0 and r7" +msgstr "Register moet tussen r0 en r7 liggen" + +#: fr30-asm.c:96 +msgid "Register must be between r8 and r15" +msgstr "Register moet tussen r8 en r15 liggen" + +#: fr30-asm.c:115 m32c-asm.c:820 +msgid "Register list is not valid" +msgstr "Regijsterlijst is ongeldig" + # Betere vertaling voor 'parsing'? -#: fr30-asm.c:323 frv-asm.c:1298 ip2k-asm.c:530 iq2000-asm.c:465 -#: m32r-asm.c:338 openrisc-asm.c:252 xstormy16-asm.c:284 +#: fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 iq2000-asm.c:456 +#: m32c-asm.c:1476 m32r-asm.c:323 ms1-asm.c:546 openrisc-asm.c:240 +#: xstormy16-asm.c:275 #, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "Veld %d niet herkend tijdens parsen.\n" -#: fr30-asm.c:372 frv-asm.c:1347 ip2k-asm.c:579 iq2000-asm.c:514 -#: m32r-asm.c:387 openrisc-asm.c:301 xstormy16-asm.c:333 +#: fr30-asm.c:357 frv-asm.c:1310 ip2k-asm.c:558 iq2000-asm.c:504 +#: m32c-asm.c:1524 m32r-asm.c:371 ms1-asm.c:594 openrisc-asm.c:288 +#: xstormy16-asm.c:323 msgid "missing mnemonic in syntax string" msgstr "mnemonic ontbreekt in syntaxstring" #. We couldn't parse it. -#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1482 -#: frv-asm.c:1486 frv-asm.c:1573 frv-asm.c:1674 ip2k-asm.c:714 ip2k-asm.c:718 -#: ip2k-asm.c:805 ip2k-asm.c:906 iq2000-asm.c:649 iq2000-asm.c:653 -#: iq2000-asm.c:740 iq2000-asm.c:841 m32r-asm.c:522 m32r-asm.c:526 -#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:436 openrisc-asm.c:440 -#: openrisc-asm.c:527 openrisc-asm.c:628 xstormy16-asm.c:468 -#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660 +#: fr30-asm.c:492 fr30-asm.c:496 fr30-asm.c:583 fr30-asm.c:684 frv-asm.c:1445 +#: frv-asm.c:1449 frv-asm.c:1536 frv-asm.c:1637 ip2k-asm.c:693 ip2k-asm.c:697 +#: ip2k-asm.c:784 ip2k-asm.c:885 iq2000-asm.c:639 iq2000-asm.c:643 +#: iq2000-asm.c:730 iq2000-asm.c:831 m32c-asm.c:1659 m32c-asm.c:1663 +#: m32c-asm.c:1750 m32c-asm.c:1851 m32r-asm.c:506 m32r-asm.c:510 +#: m32r-asm.c:597 m32r-asm.c:698 ms1-asm.c:729 ms1-asm.c:733 ms1-asm.c:820 +#: ms1-asm.c:921 openrisc-asm.c:423 openrisc-asm.c:427 openrisc-asm.c:514 +#: openrisc-asm.c:615 xstormy16-asm.c:458 xstormy16-asm.c:462 +#: xstormy16-asm.c:549 xstormy16-asm.c:650 msgid "unrecognized instruction" msgstr "instructie niet herkend" -#: fr30-asm.c:554 frv-asm.c:1529 ip2k-asm.c:761 iq2000-asm.c:696 -#: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515 +#: fr30-asm.c:539 frv-asm.c:1492 ip2k-asm.c:740 iq2000-asm.c:686 +#: m32c-asm.c:1706 m32r-asm.c:553 ms1-asm.c:776 openrisc-asm.c:470 +#: xstormy16-asm.c:505 #, c-format msgid "syntax error (expected char `%c', found `%c')" -msgstr "syntaxfout (verwachtte character `%c', maar vond `%c')" +msgstr "syntaxfout (verwachtte `%c', vond `%c')" -#: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706 -#: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525 +#: fr30-asm.c:549 frv-asm.c:1502 ip2k-asm.c:750 iq2000-asm.c:696 +#: m32c-asm.c:1716 m32r-asm.c:563 ms1-asm.c:786 openrisc-asm.c:480 +#: xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" -msgstr "syntaxfout (verwachtte character `%c', maar vond het einde van de instructie)" +msgstr "syntaxfout (verwachtte `%c', vond het einde van de instructie)" -# Betere (niet-Vlaamse) vertaling voor 'junk'? -#: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734 -#: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553 +#: fr30-asm.c:577 frv-asm.c:1530 ip2k-asm.c:778 iq2000-asm.c:724 +#: m32c-asm.c:1744 m32r-asm.c:591 ms1-asm.c:814 openrisc-asm.c:508 +#: xstormy16-asm.c:543 msgid "junk at end of line" -msgstr "brol aan einde van lijn" +msgstr "rommel aan einde van lijn" -#: fr30-asm.c:698 frv-asm.c:1673 ip2k-asm.c:905 iq2000-asm.c:840 -#: m32r-asm.c:713 openrisc-asm.c:627 xstormy16-asm.c:659 +#: fr30-asm.c:683 frv-asm.c:1636 ip2k-asm.c:884 iq2000-asm.c:830 +#: m32c-asm.c:1850 m32r-asm.c:697 ms1-asm.c:920 openrisc-asm.c:614 +#: xstormy16-asm.c:649 msgid "unrecognized form of instruction" msgstr "instructievorm niet herkend" -#: fr30-asm.c:710 frv-asm.c:1685 ip2k-asm.c:917 iq2000-asm.c:852 -#: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671 +#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:842 +#: m32c-asm.c:1862 m32r-asm.c:709 ms1-asm.c:932 openrisc-asm.c:626 +#: xstormy16-asm.c:661 #, c-format msgid "bad instruction `%.50s...'" msgstr "slechte instructie `%s.50s...'" -#: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855 -#: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674 +#: fr30-asm.c:698 frv-asm.c:1651 ip2k-asm.c:899 iq2000-asm.c:845 +#: m32c-asm.c:1865 m32r-asm.c:712 ms1-asm.c:935 openrisc-asm.c:629 +#: xstormy16-asm.c:664 #, c-format msgid "bad instruction `%.50s'" msgstr "slechte instructie `%s.50s'" #. Default text to print if an instruction isn't recognized. -#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41 -#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41 +#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32c-dis.c:41 +#: m32r-dis.c:41 mmix-dis.c:278 ms1-dis.c:41 openrisc-dis.c:41 +#: xstormy16-dis.c:41 msgid "*unknown*" msgstr "*onbekend*" -#: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262 -#: openrisc-dis.c:137 xstormy16-dis.c:170 +#: fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 iq2000-dis.c:189 m32c-dis.c:860 +#: m32r-dis.c:256 ms1-dis.c:258 openrisc-dis.c:135 xstormy16-dis.c:168 #, c-format msgid "Unrecognized field %d while printing insn.\n" msgstr "Veld %d niet herkend bij het afdrukken van een insn.\n" -#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168 -#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168 +#: fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 iq2000-ibld.c:163 +#: m32c-ibld.c:163 m32r-ibld.c:163 ms1-ibld.c:163 openrisc-ibld.c:163 +#: xstormy16-ibld.c:163 #, c-format msgid "operand out of range (%ld not between %ld and %lu)" msgstr "operand buiten bereik (%ld niet tussen %ld en %lu)" -#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181 -#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181 +#: fr30-ibld.c:176 frv-ibld.c:176 ip2k-ibld.c:176 iq2000-ibld.c:176 +#: m32c-ibld.c:176 m32r-ibld.c:176 ms1-ibld.c:176 openrisc-ibld.c:176 +#: xstormy16-ibld.c:176 #, c-format msgid "operand out of range (%lu not between 0 and %lu)" msgstr "operand buiten bereik (%lu niet tussen 0 en %lu)" -#: fr30-ibld.c:732 frv-ibld.c:858 ip2k-ibld.c:609 iq2000-ibld.c:715 -#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680 +#: fr30-ibld.c:719 frv-ibld.c:845 ip2k-ibld.c:596 iq2000-ibld.c:702 +#: m32c-ibld.c:1668 m32r-ibld.c:654 ms1-ibld.c:713 openrisc-ibld.c:622 +#: xstormy16-ibld.c:667 #, c-format msgid "Unrecognized field %d while building insn.\n" msgstr "Veld %d niet herkend bij het opbouwen van een insn.\n" -#: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892 -#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828 +#: fr30-ibld.c:924 frv-ibld.c:1162 ip2k-ibld.c:671 iq2000-ibld.c:877 +#: m32c-ibld.c:2780 m32r-ibld.c:791 ms1-ibld.c:907 openrisc-ibld.c:722 +#: xstormy16-ibld.c:813 #, c-format msgid "Unrecognized field %d while decoding insn.\n" msgstr "Veld %d niet herkend bij het decoderen van een insn.\n" -#: fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 iq2000-ibld.c:1026 -#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941 +#: fr30-ibld.c:1070 frv-ibld.c:1440 ip2k-ibld.c:745 iq2000-ibld.c:1008 +#: m32c-ibld.c:3379 m32r-ibld.c:904 ms1-ibld.c:1086 openrisc-ibld.c:799 +#: xstormy16-ibld.c:923 #, c-format msgid "Unrecognized field %d while getting int operand.\n" msgstr "Veld %d niet herkend bij het ophalen van een int-operand.\n" -#: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140 -#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034 +#: fr30-ibld.c:1198 frv-ibld.c:1700 ip2k-ibld.c:801 iq2000-ibld.c:1121 +#: m32c-ibld.c:3960 m32r-ibld.c:999 ms1-ibld.c:1247 openrisc-ibld.c:858 +#: xstormy16-ibld.c:1015 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" msgstr "Veld %d niet herkend bij het ophalen van een vma-operand.\n" -#: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263 -#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136 +#: fr30-ibld.c:1329 frv-ibld.c:1967 ip2k-ibld.c:860 iq2000-ibld.c:1241 +#: m32c-ibld.c:4529 m32r-ibld.c:1100 ms1-ibld.c:1415 openrisc-ibld.c:924 +#: xstormy16-ibld.c:1114 #, c-format msgid "Unrecognized field %d while setting int operand.\n" msgstr "Veld %d niet herkend bij het instellen van een int-operand.\n" -#: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374 -#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226 +#: fr30-ibld.c:1450 frv-ibld.c:2224 ip2k-ibld.c:909 iq2000-ibld.c:1351 +#: m32c-ibld.c:5088 m32r-ibld.c:1191 ms1-ibld.c:1573 openrisc-ibld.c:980 +#: xstormy16-ibld.c:1203 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" msgstr "Veld %d niet herkend bij het instellen van een vma-operand.\n" -#: frv-asm.c:978 +#: frv-asm.c:607 +msgid "missing `]'" +msgstr "`]' ontbreekt" + +# of moet 'immediate' behouden worden? +#: frv-asm.c:610 frv-asm.c:620 +msgid "Special purpose register number is out of range" +msgstr "Nummer van special-purpose register is buiten bereik" + +#: frv-asm.c:907 +msgid "Value of A operand must be 0 or 1" +msgstr "Waarde van A-operand moet 0 of 1 zijn" + +#: frv-asm.c:943 msgid "register number must be even" -msgstr "registernummer moet paar zijn" +msgstr "registernummer moet even zijn" -#: h8300-dis.c:358 +#. -- assembler routines inserted here. +#. -- asm.c +#: frv-asm.c:971 iq2000-asm.c:55 m32c-asm.c:140 m32c-asm.c:211 m32c-asm.c:253 +#: m32c-asm.c:312 m32c-asm.c:334 m32r-asm.c:52 openrisc-asm.c:53 +msgid "missing `)'" +msgstr "`)' ontbreekt" + +#: h8300-dis.c:325 #, c-format msgid "Hmmmm 0x%x" msgstr "Hmmmm 0x%x" -#: h8300-dis.c:744 +#: h8300-dis.c:706 #, c-format msgid "Don't understand 0x%x \n" msgstr "Ik begrijp 0x%x niet\n" -#: h8500-dis.c:143 +#: h8500-dis.c:122 #, c-format msgid "can't cope with insert %d\n" msgstr "kan niet omgaan met insert %d\n" #. Couldn't understand anything. -#: h8500-dis.c:342 +#: h8500-dis.c:322 #, c-format msgid "%02x\t\t*unknown*" msgstr "%02x\t\t*onbekend*" -#: i386-dis.c:1733 +#: i386-dis.c:1742 msgid "" msgstr "" @@ -359,125 +501,187 @@ msgstr "kan niet naar directory \"%s\" gaan, errno = %s\n" #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. -#: ip2k-asm.c:92 +#: ip2k-asm.c:80 msgid "W keyword invalid in FR operand slot." msgstr "keyword W is ongeldig in operand-slot FR" #. Invalid offset present. -#: ip2k-asm.c:117 +#: ip2k-asm.c:105 msgid "offset(IP) is not a valid form" msgstr "offset(IP) is geen geldige vorm" #. Found something there in front of (DP) but it's out #. of range. -#: ip2k-asm.c:165 +#: ip2k-asm.c:153 msgid "(DP) offset out of range." msgstr "(DP) offset buiten bereik" #. Found something there in front of (SP) but it's out #. of range. -#: ip2k-asm.c:206 +#: ip2k-asm.c:194 msgid "(SP) offset out of range." msgstr "(SP) offset buiten bereik" -#: ip2k-asm.c:222 +#: ip2k-asm.c:210 msgid "illegal use of parentheses" msgstr "ongeldig gebruik van haakjes" -#: ip2k-asm.c:229 +#: ip2k-asm.c:217 msgid "operand out of range (not between 1 and 255)" msgstr "operand buiten bereik (niet tussen 1 en 255)" #. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:254 +#: ip2k-asm.c:241 msgid "parse_addr16: invalid opindex." msgstr "parse_addr16: ongeldige opindex." -#: ip2k-asm.c:309 +#: ip2k-asm.c:295 msgid "Byte address required. - must be even." -msgstr "Byte-adres vereist. - moet paar zijn." +msgstr "Byte-adres vereist. - moet even zijn." -#: ip2k-asm.c:318 +#: ip2k-asm.c:304 msgid "cgen_parse_address returned a symbol. Literal required." msgstr "cgen_parse_address gaf een symbool terug terwijl een letterlijke waarde vereist is." -#: ip2k-asm.c:376 -#, c-format -msgid "%operator operand is not a symbol" -msgstr "operand van %operator is geen symbool" +#: ip2k-asm.c:359 +msgid "percent-operator operand is not a symbol" +msgstr "operand van percent-operator is geen symbool" -#: ip2k-asm.c:430 +#: ip2k-asm.c:412 msgid "Attempt to find bit index of 0" msgstr "Poging tot vinden van bit-index van 0" -#: iq2000-asm.c:115 iq2000-asm.c:146 +#: iq2000-asm.c:111 iq2000-asm.c:141 msgid "immediate value cannot be register" msgstr "onmiddellijke waarde kan geen register zijn" # of moet 'immediate' behouden worden? -#: iq2000-asm.c:126 iq2000-asm.c:156 +#: iq2000-asm.c:122 iq2000-asm.c:152 msgid "immediate value out of range" msgstr "onmiddellijke waarde is buiten bereik" -#: iq2000-asm.c:185 +#: iq2000-asm.c:181 msgid "21-bit offset out of range" msgstr "21-bit offset is buiten bereik" -#: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310 -#: openrisc-asm.c:90 openrisc-asm.c:144 -msgid "missing `)'" -msgstr "`)' ontbreekt" - -#: m10200-dis.c:199 -#, c-format -msgid "unknown\t0x%02x" -msgstr "onbekend\t0x%02x" - -#: m10200-dis.c:339 +#: m10200-dis.c:156 m10300-dis.c:580 #, c-format msgid "unknown\t0x%04lx" msgstr "onbekend\t0x%04lx" -#: m10300-dis.c:767 +#: m10200-dis.c:326 #, c-format -msgid "unknown\t0x%04x" -msgstr "onbekend\t0x%04x" +msgid "unknown\t0x%02lx" +msgstr "onbekend\t0x%02lx" + +# Correcte vertaling van "imm:6 immediate"? +#: m32c-asm.c:116 +msgid "imm:6 immediate is out of range" +msgstr "onmiddellijke waarde van imm:6 is buiten bereik" -#: m68k-dis.c:295 +#: m32c-asm.c:146 #, c-format -msgid "\n" -msgstr "\n" +msgid "%dsp8() takes a symbolic address, not a number" +msgstr "%dsp8() verwacht een symbolisch adres als argument, geen getal" + +# Correcte vertaling van "dsp:8 immediate"? +#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:229 +msgid "dsp:8 immediate is out of range" +msgstr "onmiddellijke waarde van dsp:8 is buiten bereik" -#: m68k-dis.c:1089 +# of moet 'immediate' behouden worden? +#: m32c-asm.c:184 m32c-asm.c:188 +msgid "Immediate is out of range -8 to 7" +msgstr "onmiddellijke waarde is buiten bereik (-8 tot 7)" + +#: m32c-asm.c:259 +#, c-format +msgid "%dsp16() takes a symbolic address, not a number" +msgstr "%dsp16() verwacht een symbolisch adres als argument, geen getal" + +# Correcte vertaling van "dsp:16 immediate"? +#: m32c-asm.c:282 m32c-asm.c:289 m32c-asm.c:352 +msgid "dsp:16 immediate is out of range" +msgstr "onmiddellijke waarde van dsp:16 is buiten bereik" + +# Correcte vertaling van "dsp:20 immediate"? +#: m32c-asm.c:378 +msgid "dsp:20 immediate is out of range" +msgstr "onmiddellijke waarde van dsp:20 is buiten bereik" + +# Correcte vertaling van "dsp:24 immediate"? +#: m32c-asm.c:404 +msgid "dsp:24 immediate is out of range" +msgstr "onmiddellijke waarde van dsp:24 is buiten bereik" + +# of moet 'immediate' behouden worden? +#: m32c-asm.c:437 +msgid "immediate is out of range 1-2" +msgstr "onmiddellijke waarde is buiten bereik (1-2)" + +# of moet 'immediate' behouden worden? +#: m32c-asm.c:455 +msgid "immediate is out of range 1-8" +msgstr "onmiddellijke waarde is buiten bereik (1-8)" + +# of moet 'immediate' behouden worden? +#: m32c-asm.c:491 +msgid "immediate is out of range 2-9" +msgstr "onmiddellijke waarde is buiten bereik (2-9)" + +# Is dit de juiste interpretatie van "indexing general register" +#: m32c-asm.c:509 +msgid "Bit number for indexing general register is out of range 0-15" +msgstr "Bitnummer voor het indexeren van een general register is buiten bereik (0-15)" + +# of moet 'immediate' behouden worden? +#: m32c-asm.c:541 m32c-asm.c:576 +msgid "bit,base is out of range" +msgstr "bit,base is buiten bereik" + +#: m32c-asm.c:712 +msgid "not a valid r0l/r0h pair" +msgstr "geen geldig r0l/r0h koppel" + +#: m32c-asm.c:742 +msgid "Invalid size specifier" +msgstr "Ongeldige grootte-specificatie" + +#: m68k-dis.c:1162 #, c-format msgid "" msgstr "" -#: m88k-dis.c:746 +#: m68k-dis.c:1313 +#, c-format +msgid "\n" +msgstr "\n" + +#: m88k-dis.c:679 #, c-format -msgid "# " -msgstr "# " +msgid "# " +msgstr "# " -#: mips-dis.c:720 +#: mips-dis.c:718 msgid "# internal error, incomplete extension sequence (+)" msgstr "# interne fout, onvolledige extension sequence (+)" -#: mips-dis.c:779 +#: mips-dis.c:805 #, c-format msgid "# internal error, undefined extension sequence (+%c)" msgstr "# interne fout, extension sequence (+%c) niet gedefinieerd" -#: mips-dis.c:1037 +#: mips-dis.c:1153 #, c-format msgid "# internal error, undefined modifier(%c)" msgstr "# interne fout, modifier(%c) niet gedefinieerd" -#: mips-dis.c:1793 +#: mips-dis.c:1663 #, c-format msgid "# internal disassembler error, unrecognised modifier (%c)" msgstr "# interne fout in disassembler, modifier(%c) niet herkend" -#: mips-dis.c:1805 +#: mips-dis.c:1894 #, c-format msgid "" "\n" @@ -488,7 +692,7 @@ msgstr "" "De volgende MIPS-specifieke disassembler-opties worden ondersteund voor gebruik\n" "via de -M optie (meerdere opties moeten door komma's gescheiden worden):\n" -#: mips-dis.c:1809 +#: mips-dis.c:1898 #, c-format msgid "" "\n" @@ -500,7 +704,7 @@ msgstr "" " Standaard: gebaseerd op het binair bestand dat\n" " gedesassembleerd wordt.\n" -#: mips-dis.c:1813 +#: mips-dis.c:1902 #, c-format msgid "" "\n" @@ -511,7 +715,7 @@ msgstr "" " fpr-names=ABI Druk FPR-namen af volgens de opgegeven ABI.\n" " Standaard: numeriek.\n" -#: mips-dis.c:1817 +#: mips-dis.c:1906 #, c-format msgid "" "\n" @@ -525,7 +729,7 @@ msgstr "" " Standaard: gebaseerd op het binair bestand dat\n" " gedesassembleerd wordt.\n" -#: mips-dis.c:1822 +#: mips-dis.c:1911 #, c-format msgid "" "\n" @@ -539,7 +743,7 @@ msgstr "" " gedesassembleerd wordt.\n" "\n" -#: mips-dis.c:1827 +#: mips-dis.c:1916 #, c-format msgid "" "\n" @@ -549,7 +753,7 @@ msgstr "" "\n" " reg-names=ABI Druk GPR- en FPR-namen af volgens de opgegeven ABI.\n" -#: mips-dis.c:1831 +#: mips-dis.c:1920 #, c-format msgid "" "\n" @@ -560,7 +764,7 @@ msgstr "" " reg-names=ARCH Druk CP0 registernamen en HWR-namen af volgens de\n" " opgegeven architectuur.\n" -#: mips-dis.c:1835 +#: mips-dis.c:1924 #, c-format msgid "" "\n" @@ -571,12 +775,12 @@ msgstr "" " Voor de bovenstaande opties zijn dit de ondersteunde waarden voor \"ABI\":\n" " " -#: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850 +#: mips-dis.c:1929 mips-dis.c:1937 mips-dis.c:1939 #, c-format msgid "\n" msgstr "\n" -#: mips-dis.c:1842 +#: mips-dis.c:1931 #, c-format msgid "" "\n" @@ -587,149 +791,170 @@ msgstr "" " Voor de bovenstaande opties zijn dit de ondersteunde waarden voor \"ARCH\":\n" " " -#: mmix-dis.c:34 +#: mmix-dis.c:35 #, c-format msgid "Bad case %d (%s) in %s:%d\n" msgstr "Ongeldige case %d (%s) in %s:%d\n" -#: mmix-dis.c:44 +#: mmix-dis.c:45 #, c-format msgid "Internal: Non-debugged code (test-case missing): %s:%d" msgstr "Intern: Code niet gedebugd (test-case ontbreekt): %s:%d" -#: mmix-dis.c:53 +#: mmix-dis.c:54 msgid "(unknown)" msgstr "(onbekend)" -#: mmix-dis.c:519 +#: mmix-dis.c:513 #, c-format msgid "*unknown operands type: %d*" msgstr "onbekend type operanden: %d" +#: ms1-asm.c:84 ms1-asm.c:162 +msgid "Operand out of range. Must be between -32768 and 32767." +msgstr "Operand buiten bereik. Moet tussen -32768 en 32767 liggen." + +# Should this even be here? +#: ms1-asm.c:121 +msgid "Biiiig Trouble in parse_imm16!" +msgstr "Grooooooooooot Probleem in parse_imm16!" + +#: ms1-asm.c:129 +#, c-format +msgid "%operator operand is not a symbol" +msgstr "operand van %operator is geen symbool" + +#: ms1-asm.c:367 +msgid "invalid operand. type may have values 0,1,2 only." +msgstr "ongeldige operand. type mag alleen 0,1,2 als waarde hebben." + #. I and Z are output operands and can`t be immediate -#. * A is an address and we can`t have the address of -#. * an immediate either. We don't know how much to increase -#. * aoffsetp by since whatever generated this is broken -#. * anyway! -#. -#: ns32k-dis.c:631 +#. A is an address and we can`t have the address of +#. an immediate either. We don't know how much to increase +#. aoffsetp by since whatever generated this is broken +#. anyway! +#: ns32k-dis.c:535 #, c-format msgid "$" msgstr "$" -#: ppc-opc.c:794 ppc-opc.c:822 +#: ppc-opc.c:800 ppc-opc.c:828 msgid "invalid conditional option" msgstr "ongeldige voorwaardelijke optie" # Dit kan waarschijnlijk beter -#: ppc-opc.c:824 +#: ppc-opc.c:830 msgid "attempt to set y bit when using + or - modifier" msgstr "poging om y bit in te stellen wanneer + of - modifier gebruikt wordt" -#: ppc-opc.c:852 +#: ppc-opc.c:858 msgid "offset not a multiple of 16" msgstr "offset is geen veelvoud van 16" -#: ppc-opc.c:871 +#: ppc-opc.c:877 msgid "offset not a multiple of 2" msgstr "offset is geen veelvoud van 2" -#: ppc-opc.c:873 +#: ppc-opc.c:879 msgid "offset greater than 62" msgstr "offset is groter dan 62" -#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981 +#: ppc-opc.c:898 ppc-opc.c:943 ppc-opc.c:987 msgid "offset not a multiple of 4" msgstr "offset is geen veelvoud van 4" -#: ppc-opc.c:894 +#: ppc-opc.c:900 msgid "offset greater than 124" msgstr "offset is groter dan 124" -#: ppc-opc.c:913 +#: ppc-opc.c:919 msgid "offset not a multiple of 8" msgstr "offset is geen veelvoud van 8" -#: ppc-opc.c:915 +#: ppc-opc.c:921 msgid "offset greater than 248" msgstr "offset is groter dan 248" -#: ppc-opc.c:958 +#: ppc-opc.c:964 msgid "offset not between -2048 and 2047" msgstr "offset ligt niet tussen -2048 en 2047" -#: ppc-opc.c:979 +#: ppc-opc.c:985 msgid "offset not between -8192 and 8191" msgstr "offset ligt niet tussen -8192 en 8191" -#: ppc-opc.c:1007 +#: ppc-opc.c:1013 msgid "invalid mask field" msgstr "ongeldig maskerveld" -#: ppc-opc.c:1033 +#: ppc-opc.c:1039 msgid "ignoring invalid mfcr mask" msgstr "ongeldig mfcr-masker wordt genegeerd" -#: ppc-opc.c:1075 +#: ppc-opc.c:1081 msgid "ignoring least significant bits in branch offset" msgstr "minst significante bits worden genegeerd in branch offset" -#: ppc-opc.c:1105 ppc-opc.c:1140 +#: ppc-opc.c:1111 ppc-opc.c:1146 msgid "illegal bitmask" msgstr "illegaal bitmasker" -#: ppc-opc.c:1205 +#: ppc-opc.c:1211 msgid "value out of range" msgstr "waarde buiten bereik" # of is laadbereik beter? -#: ppc-opc.c:1273 +#: ppc-opc.c:1279 msgid "index register in load range" msgstr "indexregister in load-bereik" -#: ppc-opc.c:1289 +#: ppc-opc.c:1295 msgid "source and target register operands must be different" msgstr "bron- en doel-registeroperanden moeten verschillen" -#: ppc-opc.c:1304 +#: ppc-opc.c:1310 msgid "invalid register operand when updating" msgstr "ongeldige register-operand bij update" -#: ppc-opc.c:1343 +#: ppc-opc.c:1349 msgid "target register operand must be even" -msgstr "doel-registeroperand moet paar zijn" +msgstr "doel-registeroperand moet even zijn" -#: ppc-opc.c:1357 +#: ppc-opc.c:1363 msgid "source register operand must be even" -msgstr "bron-registeroperand moet paar zijn" +msgstr "bron-registeroperand moet even zijn" -#. Mark as non-valid instruction. -#: sparc-dis.c:760 -msgid "unknown" -msgstr "onbekend" +#: ppc-opc.c:1420 +msgid "invalid sprg number" +msgstr "ongeldig sprg-nummer" # Looks like this is a typo (two spaces after the ':') -#: sparc-dis.c:835 +#: sparc-dis.c:269 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Interne fout: sparch-opcode.h is verkeerd: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:846 +#: sparc-dis.c:280 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" msgstr "Interne fout: sparch-opcode.h is verkeerd: \"%s\", %#.8lx, %#.8lx\n" -#: sparc-dis.c:895 +#: sparc-dis.c:330 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" msgstr "Interne fout: sparch-opcode.h is verkeerd: \"%s\" == \"%s\"\n" -#: v850-dis.c:225 +#. Mark as non-valid instruction. +#: sparc-dis.c:984 +msgid "unknown" +msgstr "onbekend" + +#: v850-dis.c:237 #, c-format msgid "unknown operand shift: %x\n" msgstr "onbekende operand-shift: %x\n" -#: v850-dis.c:237 +#: v850-dis.c:251 #, c-format msgid "unknown pop reg: %d\n" msgstr "onbekend pop reg: %d\n" @@ -740,91 +965,91 @@ msgstr "onbekend pop reg: %d\n" #. v850_insert_operand() in gas/config/tc-v850.c. Error messages #. containing the string 'out of range' will be ignored unless a #. specific command line option is given to GAS. -#: v850-opc.c:69 +#: v850-opc.c:46 msgid "displacement value is not in range and is not aligned" msgstr "displacement-waarde is niet in bereik en is niet uitgelijnd" -#: v850-opc.c:70 +#: v850-opc.c:47 msgid "displacement value is out of range" msgstr "displacement-waarde is buiten bereik" -#: v850-opc.c:71 +#: v850-opc.c:48 msgid "displacement value is not aligned" msgstr "displacement-waarde is niet uitgelijnd" # of moet 'immediate' behouden worden? -#: v850-opc.c:73 +#: v850-opc.c:50 msgid "immediate value is out of range" msgstr "onmiddellijke waarde is buiten bereik" # Repeated message..., use 'to an odd...' to merge it -#: v850-opc.c:84 +#: v850-opc.c:58 msgid "branch value not in range and to odd offset" msgstr "branch-waarde niet in bereik en naar onpare offset" -#: v850-opc.c:86 v850-opc.c:118 +#: v850-opc.c:60 v850-opc.c:87 msgid "branch value out of range" msgstr "branch-waarde buiten bereik" -#: v850-opc.c:89 v850-opc.c:121 +#: v850-opc.c:63 v850-opc.c:90 msgid "branch to odd offset" msgstr "branch naar onpare offset" -#: v850-opc.c:116 +#: v850-opc.c:85 msgid "branch value not in range and to an odd offset" msgstr "branch-waarde niet in bereik en naar een onpare offset" -#: v850-opc.c:347 +#: v850-opc.c:277 msgid "invalid register for stack adjustment" msgstr "ongeldig register voor stack-aanpassing" -#: v850-opc.c:371 +#: v850-opc.c:297 msgid "immediate value not in range and not even" -msgstr "onmiddellijke waarde niet in bereik en niet paar" +msgstr "onmiddellijke waarde niet in bereik en niet even" -#: v850-opc.c:376 +#: v850-opc.c:302 msgid "immediate value must be even" -msgstr "onmiddellijke waarde moet paar zijn" +msgstr "onmiddellijke waarde moet even zijn" # of is laadbereik beter? -#: xstormy16-asm.c:76 +#: xstormy16-asm.c:70 msgid "Bad register in preincrement" msgstr "Ongeldig register in preincrement" -#: xstormy16-asm.c:81 +#: xstormy16-asm.c:75 msgid "Bad register in postincrement" msgstr "Ongeldig register in postincrement" # of is laadbereik beter? -#: xstormy16-asm.c:83 +#: xstormy16-asm.c:77 msgid "Bad register name" msgstr "Ongeldige registernaam" -#: xstormy16-asm.c:87 +#: xstormy16-asm.c:81 msgid "Label conflicts with register name" msgstr "Label geeft conflict met registernaam" -#: xstormy16-asm.c:91 +#: xstormy16-asm.c:85 msgid "Label conflicts with `Rx'" msgstr "Label geeft conflict met `Rx'" -#: xstormy16-asm.c:93 +#: xstormy16-asm.c:87 msgid "Bad immediate expression" msgstr "Slechte onmiddelijke expressie" # immediate what? 'value' assumed -#: xstormy16-asm.c:115 +#: xstormy16-asm.c:108 msgid "No relocation for small immediate" msgstr "Geen relocatie voor kleine onmiddelijke waarde" -#: xstormy16-asm.c:125 +#: xstormy16-asm.c:118 msgid "Small operand was not an immediate number" msgstr "Kleine operand was geen onmiddellijk getal" -#: xstormy16-asm.c:164 +#: xstormy16-asm.c:156 msgid "Operand is not a symbol" msgstr "Operand is geen symbool" -#: xstormy16-asm.c:172 +#: xstormy16-asm.c:164 msgid "Syntax error: No trailing ')'" msgstr "Syntaxfout: Geen sluithaakje" diff --git a/opcodes/po/vi.po b/opcodes/po/vi.po index 9cf88ed0f80..957c33d71c0 100644 --- a/opcodes/po/vi.po +++ b/opcodes/po/vi.po @@ -1,18 +1,20 @@ -# Vietnamese Translation for opcodes-2.15.96. +# Vietnamese Translation for Opcodes. # Copyright © 2005 Free Software Foundation, Inc. # Clytie Siddall , 2005. # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.15.96\n" +"Project-Id-Version: opcodes-2.15.96\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-03-05 20:32+1030\n" -"PO-Revision-Date: 2005-05-04 21:52+0930\n" +"PO-Revision-Date: 2006-04-05 15:14+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \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.6b36\n" #: alpha-opc.c:331 msgid "branch operand unaligned" @@ -24,7 +26,7 @@ msgstr "chưa canh lề lời gợi ý nhảy" #: arc-dis.c:76 msgid "Illegal limm reference in last instruction!\n" -msgstr "Không cho phép tham chiếu loại limm trong câu lệnh cuối cùng.\n" +msgstr "Không cho phép tham chiếu kiểu limm trong câu lệnh cuối cùng.\n" #: arm-dis.c:1267 msgid "" @@ -65,7 +67,7 @@ msgstr "lỗi rã nội bộ" #: avr-dis.c:227 #, c-format msgid "unknown constraint `%c'" -msgstr "không biết ràng buộc `%c'" +msgstr "không biết ràng buộc « %c »" #: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197 #: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197 @@ -120,13 +122,13 @@ msgstr "không chấp nhận câu lệnh" #: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found `%c')" -msgstr "gặp lỗi cú pháp (ngờ ký tá»± `%c', còn tìm `%c')" +msgstr "gặp lỗi cú pháp (ngờ ký tá»± « %c », còn tìm « %c »)" #: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706 #: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" -msgstr "gặp lỗi cú pháp (ngờ ký tá»± `%c', còn tìm kết thức câu lệnh)" +msgstr "gặp lỗi cú pháp (ngờ ký tá»± « %c », còn tìm kết thức câu lệnh)" #: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734 #: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553 @@ -142,19 +144,19 @@ msgstr "không chấp nhận dạng câu lệnh" #: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671 #, c-format msgid "bad instruction `%.50s...'" -msgstr "câu lệnh sai `%.50s'" +msgstr "câu lệnh sai « %.50s »" #: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855 #: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674 #, c-format msgid "bad instruction `%.50s'" -msgstr "câu lệnh sai `%.50s'" +msgstr "câu lệnh sai « %.50s »" #. Default text to print if an instruction isn't recognized. #: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41 #: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41 msgid "*unknown*" -msgstr "*không biết*" +msgstr " • không rõ •" #: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262 #: openrisc-dis.c:137 xstormy16-dis.c:170 @@ -178,7 +180,7 @@ msgstr "tác tá»­ ở ngoại phạm vị (%lu không phải ở giữa 0 và %l #: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680 #, c-format msgid "Unrecognized field %d while building insn.\n" -msgstr "Không chấp nhận trường %d trong khi xây dụng câu lệnh.\n" +msgstr "Không chấp nhận trường %d trong khi xây dá»±ng câu lệnh.\n" #: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892 #: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828 @@ -190,25 +192,25 @@ msgstr "Không chấp nhận trường %d trong khi giải mã câu lệnh.\n" #: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941 #, c-format msgid "Unrecognized field %d while getting int operand.\n" -msgstr "Không chấp nhận trường %d trong khi gọi tác tá»­ số nguyên.\n" +msgstr "Không chấp nhận trường %d trong khi lấy tác tá»­ số nguyên.\n" #: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140 #: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034 #, c-format msgid "Unrecognized field %d while getting vma operand.\n" -msgstr "Không chấp nhận trường %d trong khi gọi tác tá»­ vma.\n" +msgstr "Không chấp nhận trường %d trong khi lấy tác tá»­ vma.\n" #: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263 #: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136 #, c-format msgid "Unrecognized field %d while setting int operand.\n" -msgstr "Không chấp nhận trường %d trong khi lập tác tá»­ số nguyên.\n" +msgstr "Không chấp nhận trường %d trong khi đặt tác tá»­ số nguyên.\n" #: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374 #: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226 #, c-format msgid "Unrecognized field %d while setting vma operand.\n" -msgstr "Không chấp nhận trường %d trong khi lập tác tá»­ vma.\n" +msgstr "Không chấp nhận trường %d trong khi đặt tác tá»­ vma.\n" #: frv-asm.c:978 msgid "register number must be even" @@ -227,13 +229,13 @@ msgstr "Không hiểu 0x%x \n" #: h8500-dis.c:143 #, c-format msgid "can't cope with insert %d\n" -msgstr "không quản lý được điều chèn %d\n" +msgstr "không thể xá»­ lý điều chèn %d\n" #. Couldn't understand anything. #: h8500-dis.c:342 #, c-format msgid "%02x\t\t*unknown*" -msgstr "°không biết*%02x\t\t" +msgstr "%02x\t\t • không rõ •" #: i386-dis.c:1733 msgid "" @@ -247,21 +249,21 @@ msgstr "%s: Lỗi" #: ia64-gen.c:310 #, c-format msgid "%s: Warning: " -msgstr "%s: Cảnh báo" +msgstr "%s: Cảnh báo : " #: ia64-gen.c:496 ia64-gen.c:730 #, c-format msgid "multiple note %s not handled\n" -msgstr "không quản lý được đa chú thích %s\n" +msgstr "không xá»­ lý được đa chú thích %s\n" #: ia64-gen.c:607 msgid "can't find ia64-ic.tbl for reading\n" -msgstr "không tìm được ia64-ic.tbl để đọc\n" +msgstr "không tìm thấy ia64-ic.tbl để đọc\n" #: ia64-gen.c:812 #, c-format msgid "can't find %s for reading\n" -msgstr "không tìm được %s để đọc\n" +msgstr "không tìm thấy %s để đọc\n" #: ia64-gen.c:1036 #, c-format @@ -269,18 +271,18 @@ msgid "" "most recent format '%s'\n" "appears more restrictive than '%s'\n" msgstr "" -"hình như dạng thức gần đây nhất '%s'\n" -"giới hạn hÆ¡n '%s'\n" +"dạng thức gần đây nhất « %s »\n" +"có vẻ hạn hẹp hÆ¡n « %s »\n" #: ia64-gen.c:1047 #, c-format msgid "overlapping field %s->%s\n" -msgstr "trường chồng lấp %s->%s\n" +msgstr "trường chồng lấp %s → %s\n" #: ia64-gen.c:1244 #, c-format msgid "overwriting note %d with note %d (IC:%s)\n" -msgstr "đang ghi đề chú thích %d với chú thích %d (IC:%s)\n" +msgstr "đang ghi đè chú thích %d bằng chú thích %d (IC:%s)\n" #: ia64-gen.c:1443 #, c-format @@ -320,7 +322,7 @@ msgstr "đã định nghÄ©a còn chưa sá»­ dụng hạng %s\n" #: ia64-gen.c:1541 #, c-format msgid "Warning: rsrc %s (%s) has no chks%s\n" -msgstr "Cảnh báo: tài nguyên %s (%s) không có cản trở %s\n" +msgstr "Cảnh báo : tài nguyên %s (%s) không có cản trở %s\n" #: ia64-gen.c:1545 #, c-format @@ -345,7 +347,7 @@ msgstr "opcode (mã thi hành) %s không có hạng (những tác tá»­ %d %d %d) #: ia64-gen.c:2816 #, c-format msgid "unable to change directory to \"%s\", errno = %s\n" -msgstr "không thay đổi được thư mục thành \"%s\", số lỗi = %s\n" +msgstr "không thể chuyển đổi thư mục thành « %s », số lỗi = %s\n" #. We've been passed a w. Return with an error message so that #. cgen will try the next parsing option. @@ -356,7 +358,7 @@ msgstr "Tá»­ khóa W không hợp lệ trong vị trí tác tá»­ FR." #. Invalid offset present. #: ip2k-asm.c:117 msgid "offset(IP) is not a valid form" -msgstr "offset(IP) (hiệu số) không là dạng hợp lệ" +msgstr "offset(IP) (hiệu số) không phải là dạng hợp lệ" #. Found something there in front of (DP) but it's out #. of range. @@ -381,15 +383,15 @@ msgstr "tác tá»­ ở ngoại phạm vị (không phải ở giữa số 1 và s #. Something is very wrong. opindex has to be one of the above. #: ip2k-asm.c:254 msgid "parse_addr16: invalid opindex." -msgstr "parse_addr16: (địa chỉ phân tách) opindex (chỉ mục loại tác tá»­) không hợp lệ." +msgstr "parse_addr16: (địa chỉ phân tách) opindex (chỉ mục kiểu tác tá»­) không hợp lệ." #: ip2k-asm.c:309 msgid "Byte address required. - must be even." -msgstr "Cần đến địa chỉ byte - phải là số chẵn." +msgstr "Cần đến địa chỉ byte — phải là số chẵn." #: ip2k-asm.c:318 msgid "cgen_parse_address returned a symbol. Literal required." -msgstr "cgen_parse_address (địa chỉ phân tách cgen) đã gọi một ký hiệu: còn cần đến hằng mã nguồn." +msgstr "cgen_parse_address (địa chỉ phân tách cgen) đã trả gởi một ký hiệu: còn cần đến điều nghÄ©a chữ." #: ip2k-asm.c:376 #, fuzzy, c-format @@ -415,22 +417,22 @@ msgstr "hiệu số 21-bit ở ngoại phạm vị" #: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310 #: openrisc-asm.c:90 openrisc-asm.c:144 msgid "missing `)'" -msgstr "thiếu `)'" +msgstr "thiếu dấu ngoặc đóng « ) »" #: m10200-dis.c:199 #, c-format msgid "unknown\t0x%02x" -msgstr "không biết\t0x%02x" +msgstr "\t0x%02x không rõ" #: m10200-dis.c:339 #, c-format msgid "unknown\t0x%04lx" -msgstr "không biết\t0x%04lx" +msgstr "\t0x%04lx không rõ" #: m10300-dis.c:767 #, c-format msgid "unknown\t0x%04x" -msgstr "không biết\t0x%04x" +msgstr "\t0x%04x không rõ" #: m68k-dis.c:295 #, c-format @@ -552,7 +554,7 @@ msgid "" " " msgstr "" "\n" -" Với những tùy chọn ở trên, hỗ trợ những giá trị theo đây cho \"ABI\":\n" +" Với những tùy chọn ở trên, hỗ trợ những giá trị theo đây cho « ABI »:\n" " " #: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850 @@ -568,27 +570,27 @@ msgid "" " " msgstr "" "\n" -" Với những tùy chọn ở trên, hỗ trợ những giá trị theo đây cho \"ARCH\":\n" +" Với những tùy chọn ở trên, hỗ trợ những giá trị theo đây cho « ARCH »:\n" " " #: mmix-dis.c:34 #, c-format msgid "Bad case %d (%s) in %s:%d\n" -msgstr "Trường hợp sai %d (%s) trong %s:%d\n" +msgstr "Chữ hoa/thường sai %d (%s) trong %s:%d\n" #: mmix-dis.c:44 #, c-format msgid "Internal: Non-debugged code (test-case missing): %s:%d" -msgstr "Nội bộ: chưa gỡ lỗi mã (thiếu trường hợp thá»­): %s:%d" +msgstr "Nội bộ : chưa gỡ lỗi mã (thiếu trường hợp thá»­): %s:%d" #: mmix-dis.c:53 msgid "(unknown)" -msgstr "(không biết)" +msgstr "(không rõ)" #: mmix-dis.c:519 #, c-format msgid "*unknown operands type: %d*" -msgstr "*không biết loại tác tá»­: %d*" +msgstr "• không biết kiểu tác tá»­: %d •" #. I and Z are output operands and can`t be immediate #. * A is an address and we can`t have the address of @@ -603,11 +605,11 @@ msgstr "$" #: ppc-opc.c:794 ppc-opc.c:822 msgid "invalid conditional option" -msgstr "tùy chọn thuộc điều kiện không hợp lệ" +msgstr "tùy chọn điều kiện không hợp lệ" #: ppc-opc.c:824 msgid "attempt to set y bit when using + or - modifier" -msgstr "cố lập «bit y» khi sá»­ dụng điều sá»­a đổi + hay -" +msgstr "cố lập « bit y » khi sá»­ dụng điều sá»­a đổi + hay -" #: ppc-opc.c:852 msgid "offset not a multiple of 16" @@ -663,15 +665,15 @@ msgstr "không cho phép mặt nặ bit" #: ppc-opc.c:1205 msgid "value out of range" -msgstr "giá trị cành ở ngoại phạm vị" +msgstr "giá trị ở ngoại phạm vị" #: ppc-opc.c:1273 msgid "index register in load range" -msgstr "thanh ghi cÆ¡ số trong phạm vị nạp" +msgstr "thanh ghi cÆ¡ số trong phạm vị tải" #: ppc-opc.c:1289 msgid "source and target register operands must be different" -msgstr "tác tá»­ thanh ghi cả hai loại nguồn và đích đều phải là khác nhau" +msgstr "tác tá»­ thanh ghi kiểu cả nguồn lẫn đích đều phải là khác nhau" #: ppc-opc.c:1304 msgid "invalid register operand when updating" @@ -688,27 +690,27 @@ msgstr "tác tá»­ thanh ghi nguồn phải là số chẵn" #. Mark as non-valid instruction. #: sparc-dis.c:760 msgid "unknown" -msgstr "không biết" +msgstr "không rõ" #: sparc-dis.c:835 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -msgstr "Lỗi nội bộ: sparc-opcode.h sai: \"%s\", %#.8lx, %#.8lx\n" +msgstr "Lỗi nội bộ : sparc-opcode.h sai: « %s », %#.8lx, %#.8lx\n" #: sparc-dis.c:846 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -msgstr "Lỗi nội bộ: sparc-opcode.h sai: \"%s\", %#.8lx, %#.8lx\n" +msgstr "Lỗi nội bộ : sparc-opcode.h sai: « %s », %#.8lx, %#.8lx\n" #: sparc-dis.c:895 #, c-format msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" -msgstr "Lỗi nội bộ: sparc-opcode.h sai: \"%s\" == \"%s\"\n" +msgstr "Lỗi nội bộ : sparc-opcode.h sai: « %s » == \"%s\"\n" #: v850-dis.c:225 #, c-format msgid "unknown operand shift: %x\n" -msgstr "không biết phím shift (bên trái hay bên phải) cá»§a tác tá»­: %x\n" +msgstr "không biết cách dịch tác tá»­: %x\n" #: v850-dis.c:237 #, c-format @@ -722,7 +724,7 @@ msgstr "không biết thanh ghi trong câu lệnh pop đống: %d\n" #. specific command line option is given to GAS. #: v850-opc.c:69 msgid "displacement value is not in range and is not aligned" -msgstr "giá trị di chuyển ở ngoại phạm vị và chưa canh lề nó" +msgstr "giá trị di chuyển ở ngoại phạm vị và chưa được canh lề" #: v850-opc.c:70 msgid "displacement value is out of range" @@ -738,7 +740,7 @@ msgstr "giá trị trá»±c tiếp ở ngoại phạm vị" #: v850-opc.c:84 msgid "branch value not in range and to odd offset" -msgstr "giá trị cành ở ngoại phạm vị và với hiệu số lẻ" +msgstr "giá trị cành ở ngoại phạm vị và đối với hiệu số lẻ" #: v850-opc.c:86 v850-opc.c:118 msgid "branch value out of range" @@ -746,11 +748,11 @@ msgstr "giá trị cành ở ngoại phạm vị" #: v850-opc.c:89 v850-opc.c:121 msgid "branch to odd offset" -msgstr "nhánh với hiệu số lẻ" +msgstr "nhánh đối với hiệu số lẻ" #: v850-opc.c:116 msgid "branch value not in range and to an odd offset" -msgstr "giá trị nhánh ở ngoại phạm vị và với hiệu số lẻ" +msgstr "giá trị nhánh ở ngoại phạm vị và đối với hiệu số lẻ" #: v850-opc.c:347 msgid "invalid register for stack adjustment" @@ -766,11 +768,11 @@ msgstr "giá trị trá»±c tiếp phải là số chẵn" #: xstormy16-asm.c:76 msgid "Bad register in preincrement" -msgstr "Thanh ghi sai trong điều trước lượng gia" +msgstr "Thanh ghi sai trong tiền lượng gia" #: xstormy16-asm.c:81 msgid "Bad register in postincrement" -msgstr "Thanh ghi sai trong điều sau lượng gia" +msgstr "Thanh ghi sai trong hậu lượng gia" #: xstormy16-asm.c:83 msgid "Bad register name" @@ -782,7 +784,7 @@ msgstr "Nhãn xung đột với tên thanh ghi" #: xstormy16-asm.c:91 msgid "Label conflicts with `Rx'" -msgstr "Nhãn xung đột với `Rx'" +msgstr "Nhãn xung đột với « Rx »" #: xstormy16-asm.c:93 msgid "Bad immediate expression" @@ -802,4 +804,4 @@ msgstr "Tác tá»­ không phải là một ký hiệu" #: xstormy16-asm.c:172 msgid "Syntax error: No trailing ')'" -msgstr "Lỗi cú pháp: không có ')' đi theo" +msgstr "Lỗi cú pháp: không có dấu ngoặc đóng « ) » đi theo" diff --git a/src-release b/src-release index 40a34d877fa..9b366f1d59d 100644 --- a/src-release +++ b/src-release @@ -31,6 +31,9 @@ SHELL = /bin/sh BZIPPROG = bzip2 MD5PROG = md5sum +# (Default to avoid splitting info files by setting the threshold high.) +MAKEINFOFLAGS = --split-size=5000000 + # pwd command to use. Allow user to override default by setting PWDCMD in # the environment to account for automounters. The make variable must not # be called PWDCMD, otherwise the value set here is passed to make @@ -146,9 +149,11 @@ do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex if [ -d $$d ]; then \ if [ ! -f $$d/Makefile ] ; then true ; \ elif grep '^diststuff:' $$d/Makefile >/dev/null ; then \ - (cd $$d ; $(MAKE) diststuff ) || exit 1 ; \ + (cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \ + diststuff ) || exit 1 ; \ elif grep '^info:' $$d/Makefile >/dev/null ; then \ - (cd $$d ; $(MAKE) info ) || exit 1 ; \ + (cd $$d ; $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \ + info ) || exit 1 ; \ fi ; \ if [ -d $$d/proto-$$d.dir ]; then \ ln -s ../$$d/proto-$$d.dir proto-toplev/$$d ; \ @@ -157,7 +162,7 @@ do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex fi ; \ else ln -s ../$$d proto-toplev/$$d ; fi ; \ done - cd etc && $(MAKE) info + cd etc && $(MAKE) MAKEINFOFLAGS="$(MAKEINFOFLAGS)" info $(MAKE) distclean # Kludge for pr gdb/857. intl/Makefile.in lacks a couple # of files in the distclean rule. Zack W is planning to make