X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=4be12b802272c8a8130f2f4ebd278687fb6b6c98;hb=247d6c4c14769b7576d810a381a68e35388ee874;hp=09121d2fceb8777a3ac564565afdb5100071dc66;hpb=f129e49f4d07f4d36319ac757fdcf3a8ce7d605b;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 09121d2fce..4be12b8022 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,295 @@ +2017-02-16 Alan Modra + + PR 21132 + * elf32-hppa.c (allocate_plt_static): Allocate space for relocs + if pic. + +2017-02-16 Jiong Wang + + * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED. + * bfd-in2.h: Regenerated. + +2017-02-15 H.J. Lu + + PR ld/21168 + * elf32-i386.c (elf_i386_relocate_section): Allow + "lea foo@GOT, %reg" in PIC. + +2017-02-15 H.J. Lu + + PR ld/20244 + * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC + symbol name when reporting R_386_GOT32/R_386_GOT32X relocation + error against local IFUNC symbol without a base register for + PIC. + +2017-02-15 Maciej W. Rozycki + + * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than + `%P: %H:' with `info->callbacks->einfo'. + (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + (ppc64_elf_edit_toc): Likewise. + (ppc64_elf_relocate_section): Likewise. + +2017-02-14 Alan Modra + + * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support + --gc-keep-exported, and test versioned field of sym rather than + looking for @ in name. + +2017-02-13 Palmer Dabbelt + + * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to + __global_pointer$. + +2017-02-13 Nick Clifton + + PR binutils/21151 + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid + unit length field. + +2017-02-07 Andrew Waterman + + * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT + entry size if PLT header is written. + +2017-02-06 Sheldon Lobo + + Fix sparc64 dynamic relocation processing to use the dynamic + symbol count. + * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic' + to determine if bfd_get_symcount() or bfd_get_dynamic_symcount() + should be used. + +2017-02-03 Nick Clifton + + PR 21096 + * coffcode.h (coff_write_object_contents): Enlarge size of + s_name_buf in order to avoid compile time warning about possible + integer truncation. + * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower + 32-bits of insn value before printing into buffer. + +2017-02-02 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_hash_sort_data): Add + `max_local_dynindx'. + (mips_elf_sort_hash_table): Handle it. + (mips_elf_sort_hash_table_f) : For forced local + symbols bump up `max_local_dynindx' rather than + `max_non_got_dynindx'. + +2017-02-02 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_hash_sort_data): Convert the + `min_got_dynindx', `max_unref_got_dynindx' and + `max_non_got_dynindx' members to the `bfd_size_type' data type. + (mips_elf_sort_hash_table): Adjust accordingly. + +2017-02-02 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout + to access the hash table. + +2017-02-02 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on + non-NULL `htab' to the beginning. + +2017-02-02 Maciej W. Rozycki + + * elflink.c (elf_gc_sweep): Wrap overlong line. + +2017-01-30 Maciej W. Rozycki + + * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to... + (_bfd_mips_elf_linker_flags): ... this. Add another parameter. + * elfxx-mips.c (mips_elf_link_hash_table): Add + `ignore_branch_isa' member. + (mips_elf_perform_relocation): Do not treat an ISA mode mismatch + in branch relocation calculation as an error if + `ignore_branch_isa' has been set. + (_bfd_mips_elf_insn32): Rename to... + (_bfd_mips_elf_linker_flags): ... this. Rename the `on' + parameter to `insn32' and add an `ignore_branch_isa' parameter. + Handle the new parameter. + +2017-01-27 Hans-Peter Nilsson + + * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused + local variable dynobj. + + PR ld/20995 + * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro. + (elf_cris_adjust_dynamic_symbol): Place variables copied into the + executable from read-only sections into sdynrelro. + (elf_cris_finish_dynamic_symbol): Select sreldynrelro for + dynamic relocs in sdynrelro. + (elf_backend_want_dynrelro): Define. + +2017-01-25 Sebastian Huber + + * config.bfd (*-*-rtemsaout*): Mark as removed. + +2017-01-25 Sebastian Huber + + * config.bfd (powerpcle-*-rtems*): Do not mark as removed. + (arm-*-rtems*): Move to (arm*-*-eabi*). + (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*). + (m68-*-rtems*): Move to (m68*-*-elf*). + +2017-01-25 Sebastian Huber + + * config.bfd (*-*-rtemscoff*): Mark as removed. + +2017-01-24 Maciej W. Rozycki + + PR ld/20828 + * elflink.c (bfd_elf_record_link_assignment): Revert last + change and don't ever clear `forced_local'. Set `mark' + unconditionally. + (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within + file. + (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'... + (bfd_elf_size_dynamic_sections): ... here. + * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local' + and set `mark' instead in `__tls_get_addr_opt' processing. + * elf64-ppc.c (ppc64_elf_tls_setup): Likewise. + +2017-01-24 Alan Modra + + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases + where dynamic relocs are preferable. Allow ifunc too. + (ensure_undefweak_dynamic): New function. + (allocate_dynrelocs): Use it here. Move plt handling last and + don't make symbols dynamic, simplifying loop. Only make undef + weak symbols with GOT entries dynamic. Correct condition + for GOT relocs. Handle dynamic relocs on ifuncs. Correct + comments. Remove goto. + (ppc_elf_relocate_section): Correct test for using dynamic + symbol on GOT relocs. Rearrange test for emitting GOT relocs + to suit. Set up explicit tls_index entries and implicit GOT + tls_index entries resolvable at link time for + __tls_get_addr_opt. Simplify test to clear mem for prelink. + * elf64-ppc.c (allocate_got): Correct condition for GOT relocs. + (ensure_undefweak_dynamic): New function. + (allocate_dynrelocs): Use it here. Only make undef weak symbols + with GOT entries dynamic. Remove unnecessary test of + WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling. + (ppc64_elf_relocate_section): Correct test for using dynamic + symbol on GOT relocs. Rearrange test for emitting GOT relocs + to suit. Set up explicit tls_index entries and implicit GOT + tls_index entries resolvable at link time for __tls_get_addr_opt. + Simplify expression to clear mem for prelink. + +2017-01-23 Yury Norov + + * elfnn-aarch64.c: Fix relaxations for ILP32 mode. + +2017-01-20 Jiong Wang + + * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function. + (elf_backend_hash_symbol): Define. + +2017-01-18 Maciej W. Rozycki + + PR ld/20828 + * elflink.c (bfd_elf_record_link_assignment): Clear any + `forced_local' marking for DSO symbols that are not being + provided. + +2017-01-17 Kuan-Lin Chen + + * elfnn-riscv.c (riscv_elf_object_p): New function. + +2017-01-12 H.J. Lu + + PR ld/21038 + * elf64-x86-64.c (elf_x86_64_link_hash_table): Add + plt_bnd_eh_frame. + (elf_x86_64_check_relocs): Create .eh_frame section for the + .plt.bnd section. + (elf_x86_64_size_dynamic_sections): Allocate and initialize + .eh_frame section for the .plt.bnd section. + (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section + for the .plt.bnd section. + +2017-01-12 Nick Clifton + + PR binutils/20876 + * opncls.c (find_separate_debug_file): Add include_dirs + parameter. Only include the directory part of the bfd's filename + in search paths if include_dirs is true. Add a couple of extra + locations for looking for debug files. + ( bfd_follow_gnu_debuglink): Update invocation of + find_separate_debug_file. + (bfd_follow_gnu_debugaltlink): Likewise. + (get_build_id): New function: Finds the build-id of the given bfd. + (get_build_id_name): New function: Computes the name of the + separate debug info file for a bfd, based upon its build-id. + (check_build_id_file): New function: Checks to see if a separate + debug info file exists at the given location, and that its + build-id matches that of the original bfd. + (bfd_follow_build_id_debuglink): New function: Finds a separate + debug info file for a given bfd by using the build-id method. + * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id + method of locating a separate debug info file before using the + debuglink method. + * bfd-in2.h: Regenerate. + +2017-01-11 H.J. Lu + + PR ld/21038 + * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New. + (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and + elf_x86_64_eh_frame_plt_got. + (elf_x86_64_size_dynamic_sections): Get unwind info from + elf_x86_64_bnd_arch_bed for the BND PLT. + +2017-01-11 Jeremy Soller + + * config.bfd: Add entries for i686-redox and x86_64-redox. + +2017-01-10 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section + to 4 bytes. + * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align + .eh_frame section to 4 bytes for x32. + (elf_x86_64_check_relocs): Likewise. + +2017-01-10 H.J. Lu + + PR ld/20830 + * elf32-i386.c (elf_i386_eh_frame_plt_got): New. + (PLT_GOT_FDE_LENGTH): Likewise. + (elf_i386_plt_layout): Add eh_frame_plt_got and + eh_frame_plt_got_size. + (elf_i386_plt): Updated. + (elf_i386_link_hash_table): Add plt_got_eh_frame. + (elf_i386_check_relocs): Create .eh_frame section for .plt.got. + (elf_i386_size_dynamic_sections): Allocate and initialize + .eh_frame section for .plt.got. + (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for + .plt.got. + (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and + eh_frame_plt_got_size. + * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New. + (PLT_GOT_FDE_LENGTH): Likewise. + (elf_x86_64_backend_data): Add eh_frame_plt_got and + eh_frame_plt_got_size. + (elf_x86_64_arch_bed): Updated. + (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and + eh_frame_plt_got_size. + (elf_x86_64_nacl_arch_bed): Likewise. + (elf_x86_64_link_hash_table): Add plt_got_eh_frame. + (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got. + (elf_x86_64_size_dynamic_sections): Allocate and initialize + .eh_frame section for .plt.got. + (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section + for .plt.got. + 2017-01-10 H.J. Lu * elf32-i386.c (elf_i386_size_dynamic_sections): Set