X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=326207a3e2a782072b9fb8831e4bfada37acca69;hb=b47468a6dbd1b54c44c2edc0f7db64a073d894ea;hp=7565d924a9af8e8ef5f1114390b5265625746950;hpb=36591ba149edf6c6608d931a6d53bb99849fdc99;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7565d924a9..f70fa2fc4f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,1109 @@ +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 + sh_type according to is_rela. + +2013-03-18 Alan Modra + + PR ld/12549 + * elflink.c (elf_link_add_object_symbols): Exclude weak refs when + considering whether an --as-needed library is needed. + +2013-03-14 Tom Tromey + + * opncls.c (bfd_get_debug_link_info): Rename from + get_debug_link_info. Export. Update comment. + (find_separate_debug_file): Update. + * bfd-in2.h: Rebuild. + +2013-03-08 Venkataramanan Kumar + + * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section + support. + (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related + relocs. + +2013-03-08 Andreas Arnez + + * elf-bfd.h (elfcore_write_s390_tdb): Add prototype. + * elf.c (elfcore_write_s390_tdb): New function. + (elfcore_write_register_note): Call it. + (elfcore_grok_s390_tdb): New function. + (elfcore_grok_note): Call it. + +2013-03-08 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type. + +2013-03-05 Corinna Vinschen + + * config.bfd: Add x86_64-*-cygwin to list of supported targets. + +2013-03-04 Alan Modra + + * elf32-ppc.c (ppc_elf_relocate_section ): Adjust + non-zero addends when relocatable, rather than addends >= 32768. + Always zero "addend" before applying relocation. + +2013-03-04 Nick Clifton + + * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of + file pointer offsets for thin archives. + +2013-02-28 Nathan Sidwell + + * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call + elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link. + +2013-02-27 DJ Delorie + + * reloc.c (BFD_RELOC_RL78_CODE): Add. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code + references in compuated relocs. + +2013-02-26 Anthony Green + + * config.bfd: Extend moxie-rtems target triplet name support. + +2013-02-21 H.J. Lu + + PR ld/15167 + * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set + unique_global only for definition. + * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global + here. + (elf_link_add_object_symbols): Set unique_global only + for definition. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct elf_build_id): Extracted from.. + (struct elf_build_id_info): ..here. Delete. + (struct output_elf_obj_tdata): New, extracted from.. + (struct elf_obj_tdata): ..here. Reorganize for better packing. + Add "o" field. + (elf_program_header_size): Reference tdata->o. + (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker, + elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec, + elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise. + * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata + when opening bfd in any mode that might write. + (_bfd_elf_write_object_contents): Use build_id field in + output_elf_obj_tdata. + (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test. + (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct core_elf_obj_tdata): New. + (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid, + core_program, and core_command. Add "core". + * elf.c (bfd_elf_mkcorefile): Allocate "core" struct. + Update all refs to tdata core fields. + * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c, + * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c, + * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c, + * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c, + * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c, + * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c, + * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs + to tdata core fields. + +2013-02-21 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map. + Delete num_locals and num_globals. + (elf_num_locals, elf_num_globals): Don't define. + (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker, + elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define. + * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c, + * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c, + * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c, + * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata + accessor macros. + * elf.c (elf_map_symbols): Add pnum_locals param. Return + number of locals syms via new param. + (swap_out_syms): Adjust to suit elf_map_symbols change. + +2013-02-19 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear + STO_MICROMIPS annotation. + +2013-02-19 Alan Modra + + * configure.in: Bump version to 2.23.52. + * elf-bfd.h (struct elf_build_id_info): New. + (struct elf_obj_tdata): Delete after_write_object_contents, + after_write_object_contents_info and build_id_size. Make build_id + a pointer to struct elf_build_id_info. + * elf.c (_bfd_elf_write_object_contents): Style. Update + after_write_ibject_contents invocation. + (elfobj_grok_gnu_build_id): Update for new build_id struct. Don't + allow zero size notes. + * configure: Regenerate. + +2013-02-18 Maciej W. Rozycki + + * elf64-mips.c (micromips_elf64_howto_table_rel): Add + R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR. + (micromips_elf64_howto_table_rela): Likewise. + (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR. + * elfn32-mips.c (elf_micromips_howto_table_rel): Add + R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR. + (elf_micromips_howto_table_rela): Likewise. + (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR. + +2013-02-18 Paul Brook + + * elfxx-mips.c (MICROMIPS_P): New macro. + (_bfd_mips_elf_symbol_processing): Use it. + +2013-02-18 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify + comment on _PROCEDURE_LINKAGE_TABLE_ creation. + +2013-02-18 Alan Modra + + PR ld/12549 + * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete. + (_bfd_elf_strtab_clear_all_refs): Declare. + (_bfd_elf_strtab_resize): Declare. + * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete. + (_bfd_elf_strtab_clear_all_refs): New function. + (_bfd_elf_strtab_resize): Likewise. + * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize. + +2013-02-18 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs, + local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section, + and elf_text_section to.. + * elfxx-mips.c (struct mips_elf_obj_tdata): ..here. Update all refs. + * elf64-alpha.c (struct mips_elf_find_line): Rename to.. + (struct alpha_elf_find_line): ..this. + (struct alpha_elf_obj_tdata): Add find_line_info, update refs. + +2013-02-16 H.J. Lu + + PR ld/15146 + * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED + for references from the dummy bfd. + +2013-02-16 H.J. Lu + + PR ld/15149 + * elflink.c (elf_link_add_object_symbols): Also track weak + references. + +2013-02-15 H.J. Lu + + PR binutils/15151 + * archive.c (_bfd_find_nested_archive): Don't allow a nested + archive pointing to itself. + (_bfd_get_elt_at_filepos): Revert the last 2 changes. + +2013-02-15 Nick Clifton + + PR binutils/15140 + * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop + accessing a corrupt nested archive. + +2013-02-13 Richard Sandiford + + * elfxx-mips.c (mips_got_page_ref): New structure. + (mips_got_page_entry): Use a section rather than a (bfd, symndx) + pair to represent the anchor point. + (mips_got_info): Add a got_page_refs field. + (mips_elf_link_hash_table): Add a sym_cache field. + (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions. + (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for + new anchor representation. + (mips_elf_create_got_info): Create got_page_refs rather than + got_page_entries. + (mips_elf_record_got_page_ref): New function. + (mips_elf_pages_for_range): Move further down file. + (mips_elf_record_got_page_entry): Likewise. Take a got as argument. + Use a section rather than a (bfd, symndx) pair to represent the + anchor point. + (mips_elf_resolve_got_page_ref): New function. + (mips_elf_resolve_final_got_entries): Use it to populate + got_page_entries. + (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref + rather than mips_elf_record_got_page_entry. Only nullify h + afterwards. + (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries + earlier. + +2013-02-12 Richard Sandiford + + * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs + in g->relocs. + +2013-02-12 Alan Modra + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide + suitable definition when using generic linker hash table. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_count_got_entries): Delete. + (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a + mips_elf_traverse_got_arg. Count GOT entries. + (mips_elf_resolve_final_got_entries): Take the bfd_link_info + as argument. Update after above changes. + (mips_elf_merge_got, mips_elf_lay_out_got): Don't call + mips_elf_count_got_entries. Update the calls to + mips_elf_resolve_final_got_entries. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_tls_type): New enum. + (mips_got_entry): Add tls_initialized. + (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs) + (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove + GOT_TLS_TYPE masks. + (mips_elf_reloc_tls_type, mips_tls_got_entries) + (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index) + (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather + than GOT_NORMAL. + (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p + arguments with a GOT entry. Remove GOT_TLS_TYPE masks. Use + tls_initialized rather than GOT_TLS_DONE. + (mips_tls_got_index): Delete. + (mips_elf_local_got_index, mips_elf_global_got_index): Use + mips_elf_initialize_tls_slots rather than mips_tls_got_index. + (mips_elf_record_got_entry): Initialize tls_initialized. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset. + (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type, + tls_ie_got_offset and tls_gd_got_offset. + (mips_elf_link_hash_newfunc): Remove initialization. + (mips_elf_create_got_info): Likewise. + (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries) + (mips_tls_single_got_index): Delete. + (mips_elf_local_got_index): Always use the GOT entry to track + GOT indices. + (mips_elf_global_got_index): Likewise. + (mips_elf_create_local_got_entry): Assert that TLS entries have + already been allocated. + (mips_elf_record_global_got_symbol): Don't initialize + tls_ie_type or tls_gd_type. + (mips_elf_count_got_symbols): Only count reloc-only GOT entries here. + (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS + entry. + (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count + the GOT entries. + (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets + have been allocated. + (_bfd_mips_elf_copy_indirect_symbol): Remove handling of + tls_ie_type and tls_gd_type. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy. Avoid + aliasing violation. Check for htab allocation failures. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_primary_global_got_index): New function, + split out from... + (mips_elf_global_got_index): ...here. Reorder arguments so that + the output bfd and info come first. + (mips_elf_calculate_relocation): Update the call to + mips_elf_global_got_index accordingly. + (_bfd_mips_elf_finish_dynamic_symbol): Use + mips_elf_primary_global_got_index rather than + mips_elf_global_got_index. + (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_entry): Update comments. + (mips_elf_multi_got_entry_eq): Rename to... + (mips_elf_got_entry_eq): ...this, deleting the old definition. + (mips_elf_create_got_info): Remove master_got_p argument. + Always use mips_elf_got_entry_eq. + (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section): + Update calls accordingly. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_info): Remove bfd2got. + (mips_elf_bfd2got_hash): Delete. + (mips_elf_got_per_bfd_arg): Remove bfd2got. + (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions. + (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use + g->next to test for the multigot case. Use mips_elf_bfd_got rather + than mips_elf_got_for_ibfd. + (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq) + (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete. + (mips_elf_make_got_per_bfd): Replace with... + (mips_elf_add_got_entry): ...this new function. + (mips_elf_make_got_pages_per_bfd): Replace with... + (mips_elf_add_got_page_entry): ...this new function. + (mips_elf_merge_got_with): Replace bfd2got argument with separate + bfd and GOT arguments. Use mips_elf_add_got_entry and + mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd + and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got + to set the BFD's GOT and free the old table. + (mips_elf_merge_got): Replace bfd2got argument with separate + bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries. + Use mips_elf_count_got_entries to count the number of entries in + each GOT. Update the calls to mips_elf_merge_got_with. + (mips_elf_adjust_gp): Use g->next to test for the multigot case. + Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. + (mips_elf_multi_got): Don't create the bfd2got hash table. + Replace hash table traversal with a walk over the input bfds, + updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got + to set the output bfd's GOT. + (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all + bfds use the master GOT in the single-GOT case. + (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got + rather than mips_elf_got_for_ibfd. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_obj_tdata): Add a got field. + (mips_elf_bfd_got, mips_elf_record_got_entry): New functions. + (mips_elf_record_global_got_symbol): Update the hash entry before + adding the mips_got_entry. Use mips_elf_record_got_entry to do + the latter. + (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry. + (mips_elf_record_got_page_entry): Record the entry in both the + master and bfd GOTs. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry; + create another one if necessary. + (mips_elf_set_gotidx): New function. + (mips_elf_set_global_gotidx): Use it. + (mips_elf_initialize_tls_index): Likewise. Take a + mips_elf_traverse_got_arg as argument. + (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index. + (mips_elf_multi_got): Likewise. Cope with error returns from + mips_elf_set_global_gotidx. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_info): Add relocs field. + (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace + with... + (mips_elf_traverse_got_arg): ...this new structure. + (mips_elf_count_local_tls_relocs): Delete. + (mips_elf_count_global_tls_relocs): Likewise. + (mips_elf_count_got_entry): New function. + (mips_elf_count_local_got_entries): Likewise. + (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg + rather than a mips_elf_count_tls_arg. Count both relocs and entries. + (mips_elf_record_local_got_symbol): Don't count got entries here. + (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry. + (mips_elf_set_global_got_offset): Split into... + (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these + new functions. Take a mips_elf_traverse_got_arg rather than a + mips_elf_set_global_got_offset_arg. Don't count TLS relocs here. + Use g->relocs to record the number of relocs needed for global GOT + entries. + (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than + mips_elf_set_global_got_offset_arg. Use the relocs field to count + relocations. Update for above function split. + (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries + to count both the number of GOT entries and the number of TLS + relocs required by local entries. Likewise + mips_elf_count_global_tls_entries and global entries. + Remove uses of mips_elf_count_local_tls_relocs and + mips_elf_count_global_tls_relocs. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry + to say that each structure represents only one type of TLS reference. + (GOT_TLS_TYPE): New define. + (mips_elf_link_hash_entry): Temporarily split tls_type and + tls_got_offset into two variables each. + (mips_elf_link_hash_newfunc): Update accordingly. + (mips_elf_got_entry_eq, mips_elf_got_entry_hash) + (mips_elf_multi_got_entry_eq): Require the tls_type to be the same. + (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions. + (mips_tls_got_relocs): Use a switch statement. + (mips_elf_count_global_tls_entries): Handle the new hash entry fields. + (mips_elf_initialize_tls_slots): Use a switch statement. Avoid + local "offset" variable. + (mips_tls_got_index): Remove r_type argument and assert. Remove + code that handled entries with two TLS types; always use the + original got_index instead. + (mips_tls_single_got_index): New function. + (mips_elf_local_got_index): Use entry->tls_type to check for + TLS entries. Use mips_tls_single_got_index. Update call to + mips_tls_got_index. + (mips_elf_global_got_index): Use mips_elf_reloc_tls_type. + Use p->tls_type to check for TLS entries. Update call to + mips_tls_got_index. Use mips_tls_single_got_index. + (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type. + Use entry.tls_type to check for TLS entries. + (mips_elf_record_global_got_symbol): Replace tls_flag argument + with r_type argument. Use mips_elf_reloc_tls_type. + Set up the new hash entry fields. + (mips_elf_record_local_got_symbol): Replace tls_flag argument + with r_type argument. Use mips_elf_reloc_tls_type and + mips_tls_got_entries. Remove code that handled entries + with multiple TLS types. + (mips_elf_make_got_per_bfd): Use mips_tls_got_entries. + (mips_elf_initialize_tls_index): Handle new hash entry fields. + Use equality rather than masks when checking for specific TLS types. + Use mips_tls_got_entries. Remove code that handled entries + with multiple TLS types. + (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of + testing the hash table entry. + (_bfd_mips_elf_check_relocs): Update calls to + mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol. + (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type. + (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to... + (mips_elf_got_entry_hash): ...this, deleting the old version. + (mips_elf_create_got_info): Use mips_elf_got_entry_hash for + both types of GOT. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_create_got_info): New function. + (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it. + (mips_elf_create_got_section): Likewise. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set + gotidx to -1. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_got_info): Move global_gotsym to... + (mips_elf_link_hash_table): ...here. Update rest of file accordingly. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_count_global_tls_entries) + (mips_elf_count_global_tls_relocs): Don't count indirect or + warning symbols. + (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right + number of TLS entries were allocated. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count + if there are TLS relocations. + +2013-02-11 Richard Sandiford + + * elfxx-mips.c (mips_elf_recreate_got): Remove free. + (mips_elf_resolve_final_got_entries): Remove bogus comment. + +2013-02-11 Alan Modra + + * elfcode.h (elf_checksum_contents): Free contents. + * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare. + * elflink.c (_bfd_elf_link_hash_table_free): New function. + (elf_final_link_free): New function, extracted from.. + (bfd_elf_final_link): ..here. Always call + _bfd_elf_write_section_eh_frame_hdr. + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to + _bfd_elf_link_hash_table_free. + * libbfd-in.h (_bfd_merge_sections_free): Declare. + * libbfd.h: Regenerate. + * merge.c (_bfd_merge_sections_free): New function. + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free + hdr_info->array. + * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call + _bfd_elf_link_hash_table_free. + * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise. + * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise. + * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise. + * elf32-i386.c (elf_i386_link_hash_table_free): Likewise. + * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise. + * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise. + * elf32-metag.c (elf_metag_link_hash_table_free): Likewise. + * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise. + * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise. + * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise. + * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise. + * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise. + * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete. + (bfd_elf32_bfd_link_hash_table_free): Don't define. + * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete. + (bfd_elf32_bfd_link_hash_table_free): Dont' define. + +2013-02-10 Alan Modra + + * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc. + * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. + * m68klinux.c (linux_link_hash_table_create): Likewise. + * sparclinux.c (linux_link_hash_table_create): Likewise. + * sunos.c (sunos_link_hash_table_create): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. + * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. + * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise. + * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise. + * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise. + * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. + * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. + * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. + * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise. + * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise. + * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise. + * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. + * elf32-metag.c (elf_metag_link_hash_table_create): Likewise. + * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise. + * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. + * elf32-score.c (elf32_score_link_hash_table_create): Likewise. + * elf32-spu.c (spu_elf_link_hash_table_create): Likewise. + * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise. + * elf32-vax.c (elf_vax_link_hash_table_create): Likewise. + * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise. + * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise. + * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise. + * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. + * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. + * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise. + * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. + * elflink.c (_bfd_elf_link_hash_table_create): Likewise. + (_bfd_elf_link_hash_table_init): Assume zero fill table on entry. + +2013-02-10 Alan Modra + + * i386linux.c (linux_link_hash_table_create): Allocate table + with bfd_zmalloc, not bfd_alloc. + * pdp11.c (link_hash_table_create): Allocate table with + bfd_malloc, not bfd_alloc. + * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table + with bfd_zmalloc, not bfd_zalloc. + (bfin_link_hash_table_create): Likewise. + * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise. + * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise. + +2013-02-10 Alan Modra + + PR ld/15113 + * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc. + +2013-02-08 Markos Chandras + + * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED + sections. + (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss + symbol. + +2013-02-08 Yufeng Zhang + + * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from + 288 to 272. + +2013-02-08 Alan Modra + + PR binutils/15106 + * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache. + * elf.c (elf_find_function): Revert last change. Use new + tdata field rather than static vars for cache. + +2013-02-07 H.J. Lu + + PR ld/15107 + * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if + symbol is defined in regular object. + +2013-02-07 Roberto Agostino Vitillo + + PR binutils/15106 + * elf.c (elf_find_function): Don't cache if symbols change. + +2013-02-07 Alan Modra + + PR binutils/14873 + * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to + copy attributes from or to non-ELF. + +2013-02-06 H.J. Lu + + * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count + for non-zero TLS symbol. + (elf_i386_relocate_section): Don't resolve size relocation against + non-zero TLS symbol. + * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear + pc_count for non-zero TLS symbol. + (elf_x86_64_relocate_section): Don't resolve size relocation + against non-zero TLS symbol. + 2013-02-06 Sandra Loosemore - Andrew Jenner + Andrew Jenner Based on patches from Altera Corporation. @@ -412,8 +1516,8 @@ 2013-01-07 Tom Tromey * section.c (_bfd_std_section): Rename from std_section. - (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr) - (STD_SECTION): Update. + (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr) + (STD_SECTION): Update. * bfd-in2.h: Rebuild. 2013-01-04 Juergen Urban