X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=f70fa2fc4f87c9b25d403ef79c438d5d5f7b37f8;hb=b47468a6dbd1b54c44c2edc0f7db64a073d894ea;hp=d30bd2e701557991662e5d5374e3922a6b4dfb4c;hpb=8877b5e517baa355c68568e7c5e3ed01d277254a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d30bd2e701..f70fa2fc4f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,455 @@ +2013-05-06 Paul Brook + + * elf64-mips.c (elf_mips_gnu_pcrel32): New. + (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup, + mips_elf64_rtype_to_howto): Handle R_MIPS_PC32. + * elfn32-mips.c (elf_mips_gnu_pcrel32): New. + (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup, + mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32. + +2013-05-06 Alan Modra + + * elf64-ppc.c (opd_entry_value): Handle case where symbol + hashes are not available. + +2013-05-06 Alan Modra + + * elflink.c (elf_link_add_object_symbols): Don't save symbol + hashes around loading as-needed library. Zero them on allocation, + and restore to initial all-zero state if library not needed. + Arrange to reuse hashes if we load library again later. + +2013-05-04 Richard Sandiford + + * elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): + Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc. + * elfn32-mips.c: Likewise. + * elf64-mips.c: Likewise. + +2013-05-02 Nick Clifton + + * archures.c: Add some more MSP430 machine numbers. + * config.bfd (msp430): Define targ_selvecs. + * configure.in: Add bfd_elf32_msp430_ti_vec. + * cpu-msp430.c: Add some more MSP430 machine numbers. + * elf32-msp430.c Add support for MSP430X relocations. + Add support for TI compiler generated relocations. + Add support for sym_diff relocations. + Add support for relaxing out of range short branches into long + branches. + Add support for MSP430 attribute section. + * reloc.c: Add MSP430X relocations. + * targets.c: Add bfd_elf32_msp430_ti_vec. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * libbfd.h: Regenerate. + +2013-05-01 Maciej W. Rozycki + + * config.bfd: Replace alpha*-*-linuxecoff* pattern with + alpha*-*-linux*ecoff*. + +2013-04-30 Olaf Flebbe + + PR binutils/15417 + * elflink.c (elf_link_add_object_symbols): Initialise 'idx' to + zero. + +2013-04-30 Alan Modra + + * elflink.c (bfd_elf_record_link_assignment): Dont make + STV_INTERNAL symbols STV_HIDDEN. + +2013-04-29 Nick Clifton + + * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from + fragmented .debug_line sections associated with unmarked code + sections. + +2013-04-29 Will Newton + + * elf32-arm.c (elf32_arm_populate_plt_entry): Call + elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs. + +2013-04-29 Will Newton + + * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation + error check up and add error message. + +2013-04-26 Will Newton + + * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code. + +2013-04-25 Alan Modra + + * config.bfd: Add powerpc64le-linux. + +2013-04-24 H.J. Lu + + * config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for + x86_64-*-elf*. + +2013-04-24 Roland McGrath + + * elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p, + allocate space for PLT header even if IS_IPLT_ENTRY. + (arm_nacl_put_plt0): New function, broken out of ... + (elf32_arm_finish_dynamic_sections): ... here. Call it. + If HTAB->nacl_p, set up the PLT header in .iplt too. + (elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write + a mapping symbol for the start of .iplt too. + +2013-04-19 Luca Pizzamiglio + + * ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of + BFD_ALIGN to int. + * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused + variables. + * elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i' + to bfd_vma. + * vms-alpha.c (evax_bfd_print_etir): Initialize sec_len. + +2013-04-22 Alan Modra + + PR ld/15382 + * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply + sh_size or reloc_count adjustment by count. + +2013-04-22 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_relocs): Don't call + create_linkage_sections here.. + (ppc64_elf_init_stub_bfd): ..do so here. Return status. + (create_linkage_sections): Move earlier in file. + (ppc64_elf_setup_section_lists): Remove now useless htab->brlt test. + * elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto. + +2013-04-19 Nick Clifton + + PR binutils/15356 + * compress.c (decompress_contents): Always call inflateEnd, even + when another inflation operation fails. + +2013-04-17 H.J. Lu + + * elf-ifunc.c: Update copyright year. + +2013-04-17 Luca Pizzamiglio + + * coffcode.h: Added a cast to void when a bfd_set_section_*() + macro's return value is ignored. + * elf32-hppa.c: Likewise. + * elf32-tic6x.c: Likewise. + * mach-o.c: Likewise. + * mmo.c: Likewise. + * opncls.c: Likewise. + * peicode.h: Likewise. + * elf32-m32r.c: Check return value of bfd_set_section_*(). + * elfnn-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * vms-alpha.c: Likewise. + +2013-04-15 H.J. Lu + + PR ld/15371 + * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check + regular reference without non-GOT reference when building + shared library. + +2013-04-15 Alan Modra + + * archive.c (_bfd_archive_close_and_cleanup): Clear parent + cache slot for archives. + +2013-04-14 Hans-Peter Nilsson + + * mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new + local variable mmop. + +2013-04-09 Senthil Kumar Selvaraj + + PR ld/12494 + * bfd/elf32-avr.c: Consider all sections to determine if linker + relaxation can safely delete a ret after a call/jmp + +2013-04-09 Mingjie Xing + + * bfd.c (typedef bfd, Error reporting, Miscellaneous): Add + INODEs. + +2013-04-08 Tom Tromey + + * som.c (bfd_section_from_som_symbol): No longer static. + * som.h (bfd_section_from_som_symbol): Declare. + +2013-04-06 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND. + * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise. + +2013-04-05 Nick Clifton + + * elflink.c (elf_link_add_object_symbols): Revert accidental commit. + +2013-04-04 Alan Modra + + * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso. + * bfd-in2.h: Regenerate. + * elflink.c (elf_link_add_object_symbols): Use new error. + +2013-04-03 Nick Clifton + + * elf32-v850.c (v850_elf_is_target_special_symbol): New function. + (bfd_elf32_bfd_is_target_special_symbol): Define. + +2013-04-03 Venkataramanan Kumar + + * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use + elf64_aarch64_locals to get local GOT reference counts. + +2013-04-02 DJ Delorie + + * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get. + (rl78_elf_relax_section): Only fetch the next reloc if there is + one expected. + +2013-03-30 Alan Modra + + PR ld/15323 + * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for + global symbols referenced by relocs. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-bfin.c (bfin_check_relocs): Likewise. + * elf32-cr16.c (cr16_elf_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_check_relocs): Likewise. + * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. + * elf32-i370.c (i370_elf_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-lm32.c (lm32_elf_check_relocs): Likewise. + * elf32-m32c.c (m32c_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-metag.c (elf_metag_check_relocs): Likewise. + * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise. + * elf32-moxie.c (moxie_elf_check_relocs): Likewise. + * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. + * elf32-mt.c (mt_elf_check_relocs): Likewise. + * elf32-nios2.c (nios2_elf32_check_relocs): Likewise. + * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-rl78.c (rl78_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise. + * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise. + * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise. + * elf32-v850.c (v850_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. + * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise. + * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise. + * elf64-alpha.c (elf64_alpha_check_relocs): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't + test indirect/warning links for NULL. + +2013-03-29 H.J. Lu + + PR ld/15323 + * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a + symbol is referenced by a non-shared object. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + +2013-03-28 Joe Seymour + + * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for + R_SH_REL32 relocations against undefined weak symbols. + +2013-03-28 Alan Modra + + * elf64-ppc.c (struct ppc_dyn_relocs): New. + (ppc64_elf_check_relocs): Separate dynrel counts for local syms + into ifunc and non-ifunc. + (dec_dynrel_count): Pass in sym rather than sym_sec. Handle + separate ifunc/non-ifunc dynrel counts. + (allocate_got): Always use reliplt for ifunc. + (allocate_dynrelocs): Likewise. + (ppc64_elf_size_dynamic_sections): Likewise. + (ppc64_elf_layout_multitoc): Likewise. + (ppc64_elf_relocate_section): Likewise. + +2013-03-28 Alan Modra + + * elf32-ppc.c (struct ppc_dyn_relocs): New. + (ppc_elf_check_relocs): Separate dynrel counts for local syms + into ifunc and non-ifunc. + (allocate_dynrelocs): Always put ifunc relocs into reliplt. + (ppc_elf_size_dynamic_sections): Likewise. + (ppc_elf_relocate_section): Likewise. + +2013-03-28 Alan Modra + + * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc. + (struct elf_backend_data ): Add + bfd_link_info* and asection* params. + (_bfd_elf_reloc_type_class): Likewise. + * elf.c (_bfd_elf_reloc_type_class): Likewise. + * elflink.c (elf_link_sort_cmp2): Sort first on reloc class. + (elf_link_sort_relocs): Update elf_backed_reloc_type_class call. + * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc + for any reliplt reloc. Don't return reloc_class_plt for + R_PPC_REL24 and R_PPC_ADDR24. + * elf64-ppc.c (allocate_got): Formatting. + (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any + reliplt reloc. + * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c, + * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, + * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, + * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c, + * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c, + * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c, + * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h: + Add extra params to the various reloc_type_class functions. + +2013-03-27 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got + masks for all local ifunc syms. + (allocate_dynrelocs): Don't use htab->relgot for ifunc. + (ppc_elf_size_dynamic_sections): Likewise. + (ppc_elf_relocate_section): Likewise. + +2013-03-27 Will Newton + + * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a + dynamic reloc for symbols with dynindx == -1. + (allocate_dynrelocs_for_symbol): Avoid allocating space for a + dynamic reloc for symbols with dynindx == -1. + +2013-03-27 Will Newton + + * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a + dynamic reloc for non-default visibility undefined weaks. + (allocate_dynrelocs_for_symbol): Avoid allocating space for a + dynamic reloc for non-default visibility undefined weaks. + +2013-03-26 Alan Modra + + * elflink.c (_bfd_elf_add_default_symbol): Preserve section + over _bfd_elf_merge_symbol calls. + +2013-03-26 Alan Modra + + * elflink.c (elf_link_add_object_symbols): Add assertion for + common override alignment check code. Formatting. + +2013-03-25 Alan Modra + + * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for + usual common symbols as well as for dynamic. Add poldbfd param. + Save old bfd. Adjust callers. + (_bfd_elf_add_default_symbol): Add poldbfd param. Pass "section" + and "value" by value, not pointer. Adjust caller. + (elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars. + Delete code to set same. Use old_bfd and old_alignment from + _bfd_elf_merge_symbol instead. Add default symbol before + alignment and size checks. Wrap overlong lines. + +2013-03-25 Alan Modra + + * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param. + (elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol + when override is true. + +2013-03-25 Alan Modra + + * elflink.c (_bfd_elf_merge_symbol): Use local var holding value + of *sym_hash. + +2013-03-25 Alan Modra + + * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here. + Wrap long lines. + (elf_link_add_object_symbols): Discard TLS symbols for --just-syms + early in symbol loop. + +2013-03-25 Alan Modra + + * elf-bfd.h (struct elf_backend_data ): Update proto. + (_bfd_elf_init_reloc_shdr): Delete. + * elf.c (_bfd_elf_init_reloc_shdr): Make static. + * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to + just what is needed. + * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call. + +2013-03-23 Alan Modra + + * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration. + * elflink.c (_bfd_elf_merge_symbol): Make static. + * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call + _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol. + +2013-03-23 Alan Modra + + PR ld/15270 + * elflink.c (elf_link_add_object_symbols): Don't set def_regular + or ref_regular for BFD_PLUGIN owned syms, or have them affect + def_dynamic/ref_dynamic. + (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN + owned syms. + +2013-03-22 David S. Miller + + * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of + hwcaps attribute. + +2013-03-22 Achille Fouilleul + + PR ld/14902 + * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one + errors adjusting relocs and symbols. + +2013-03-21 Michael Schewe + + * elf32-h8300 (h8_relax_section): Add new relaxation of mov + @(disp:32,ERx) to mov @(disp:16,ERx). + (R_H8_DISP32A16): New reloc. + Comments added and corrected. + * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2013-03-21 Kai Tietz + + * coffgen.c (coff_real_object_p): Make global. + * peicode.h (coff_real_object_p): Add prototype. + (FILHDR): Defined for COFF_IMAGE_WITH_PE as + external_PEI_IMAGE_hdr structure. + (coff_swap_filehdr_in): Handle variable header-size. + * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount + of directory-entiries as specified in pe-header. + +2013-03-21 Nick Clifton + + PR sim/15286 + * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale, + iWMMXt and iWMMXt2 processors from attributes. + 2013-03-20 Alan Modra * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override @@ -18,9 +470,9 @@ 2013-03-08 Venkataramanan Kumar - * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section + * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section support. - (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related + (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related relocs. 2013-03-08 Andreas Arnez