| 2017-06-20 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * elflink.c (elf_output_implib): Remove executable flag from import |
| library bfd. |
| * elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import |
| library is a relocatable object file. |
| |
| 2017-06-13 Nick Clifton <nickc@redhat.com> |
| |
| Import this fix from the mainline sources: |
| |
| 2017-06-06 James Clarke <jrtc27@jrtc27.com> |
| |
| PR ld/19579 |
| * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check |
| ELF_COMMON_DEF_P for common symbols. |
| |
| 2017-06-07 Nick Clifton <nickc@redhat.com> |
| |
| Import this fix from upstream: |
| |
| 2017-05-30 Casey Smith <clegg89@gmail.com> |
| |
| PR ld/21523 |
| * elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute |
| value when processing the R_ARM_THM_ALU_PREL_11_0 reloc. |
| |
| 2017-06-05 Alan Modra <amodra@gmail.com> |
| |
| PR 21529 |
| * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE. |
| |
| 2017-05-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| PR ld/21404 |
| * elf32-avr.c (avr_should_move_sym): New function. |
| (avr_should_reduce_sym_size): Likewise. |
| (avr_should_increase_sym_size): Likewise. |
| (elf32_avr_relax_delete_bytes): Adjust symbol values |
| and sizes by calling new functions. |
| |
| 2017-05-01 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * config.bfd (riscv32-*): Enable rv64. |
| |
| 2017-04-03 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * elfnn-riscv.c (GP_NAME): Delete. |
| (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL. |
| (_bfd_riscv_relax_lui): Likewise. |
| |
| 2017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com> |
| |
| * elfnn-riscv.c (riscv_elf_object_p): New function. |
| |
| 2017-04-26 Maciej W. Rozycki <macro@imgtec.com> |
| |
| PR ld/21334 |
| * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms' |
| member. |
| * elfxx-target.h [!elf_backend_always_renumber_dynsyms] |
| (elf_backend_always_renumber_dynsyms): Define. |
| (elfNN_bed): Initialize `always_renumber_dynsyms' member. |
| * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define. |
| * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Also call |
| `_bfd_elf_link_renumber_dynsyms' if the backend has requested |
| it. |
| (elf_gc_sweep): Likewise. |
| |
| 2017-04-26 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * elflink.c (elf_gc_sweep): Only call |
| `_bfd_elf_link_renumber_dynsyms' if dynamic sections have been |
| created. |
| |
| 2017-04-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR ld/21425 |
| * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks. |
| |
| 2017-03-28 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR ld/16044 |
| * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT |
| to handle a local symbol with a hash-symbol-entry; without PLT. |
| Add BFD_ASSERT for an incidental case with GOT entry present. |
| (cris_elf_check_relocs): Increment PLT refcount only if the symbol |
| isn't forced-or-set local. |
| |
| 2017-04-13 Alan Modra <amodra@gmail.com> |
| |
| * elf32-arm.c (arm_type_of_stub): Supply missing args to "long |
| branch veneers" error. Fix double space and format message. |
| * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg. |
| * elf64-ppc.c (tocsave_find): Supply missing %B arg. |
| |
| 2017-04-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR ld/19579 |
| PR ld/21306 |
| * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check |
| ELF_COMMON_DEF_P for common symbols. |
| * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. |
| * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. |
| * elflink.c (_bfd_elf_merge_symbol): Revert commits |
| 202ac193bbbecc96a4978d1ac3d17148253f9b01 and |
| 07492f668d2173da7a2bda3707ff0985e0f460b6. |
| |
| 2017-03-07 Alan Modra <amodra@gmail.com> |
| |
| PR 21224 |
| PR 20519 |
| * elf64-ppc.c (ppc64_elf_relocate_section): Add missing |
| dyn_relocs check. |
| |
| 2017-03-07 Alan Modra <amodra@gmail.com> |
| |
| Apply from master |
| 2017-03-02 Alan Modra <amodra@gmail.com> |
| * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo. |
| |
| 2017-03-02 Tristan Gingold <gingold@adacore.com> |
| |
| * version.m4: Bump version to 2.28.0 |
| * configure: Regenerate. |
| |
| 2017-03-02 Tristan Gingold <gingold@adacore.com> |
| |
| * development.sh: Set development to true. |
| |
| 2017-03-02 Tristan Gingold <gingold@adacore.com> |
| |
| * version.m4: Bump version to 2.28 |
| * configure: Regenerate. |
| |
| 2017-03-02 Tristan Gingold <gingold@adacore.com> |
| |
| * development.sh: Set development to false. |
| |
| 2017-02-28 Alan Modra <amodra@gmail.com> |
| |
| PR 20995 |
| * elf32-nios2.c (nios2_elf32_relocate_section): Use htab |
| rather than elf32_nios2_hash_table or elf_hash_table. |
| (create_got_section): Likewise. |
| (nios2_elf32_finish_dynamic_symbol): Likewise. |
| (nios2_elf32_adjust_dynamic_symbol): Likewise. |
| (nios2_elf32_size_dynamic_sections): Likewise. |
| (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot |
| vars. Use htab equivalents directly instead. Don't create |
| all dynamic sections on needing just the GOT. Use a goto |
| rather than a fall-through with reloc test. Ensure |
| htab->dynobj is set when making dynamic sreloc section. |
| (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab |
| equivalent directly instead. Don't segfault on looking for |
| .dynamic when dynamic sections have not been created. Don't |
| segfault on .got.plt being discarded. |
| (nios2_elf32_size_dynamic_sections): Delete plt and got vars. |
| Don't set "relocs" on .rela.plt. Do handle .sbss. Delete |
| fixme and another not so relevant comment. |
| (nios2_elf_add_symbol_hook): Delete dynobj var. If not |
| already set, set hash table dynobj on creating .sbss. |
| |
| 2017-02-28 Alan Modra <amodra@gmail.com> |
| |
| * elflink.c (_bfd_elf_create_dynamic_sections): Don't make |
| dynamic .data.rel.ro read-only. |
| * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section |
| rather than section flags when deciding where copy reloc goes. |
| * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. |
| * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise. |
| * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise. |
| * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise. |
| * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise. |
| * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise. |
| * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise. |
| * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise. |
| * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. |
| * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise. |
| * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise. |
| * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise. |
| * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. |
| * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. |
| * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise. |
| * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise. |
| * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. |
| * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. |
| * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise. |
| |
| 2017-02-28 Alan Modra <amodra@gmail.com> |
| |
| * reloc.c (BFD_RELOC_PPC_16DX_HA): New. |
| * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto. |
| (ppc64_elf_reloc_type_lookup): Translate new bfd reloc. |
| (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA. |
| (ppc64_elf_relocate_section): Likewise. |
| * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto. |
| (ppc_elf_reloc_type_lookup): Translate new bfd reloc. |
| (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc. |
| * libbfd.h: Regenerate. |
| * bfd-in2.h: Regenerate. |
| |
| 2017-02-24 Andrew Waterman <andrew@sifive.com> |
| |
| * elfnn-riscv.c (GP_NAME): New macro. |
| (riscv_global_pointer_value): Use it. |
| (_bfd_riscv_relax_lui): If symbol and global pointer are in same |
| output section, consider only that section's alignment. |
| |
| 2017-02-23 Alan Modra <amodra@gmail.com> |
| |
| PR 20744 |
| * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE |
| 16D relocations. |
| (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs. |
| (ppc_elf_relocate_section): Correct calculation for VLE SDAREL |
| relocs. |
| |
| 2017-02-22 Alan Modra <amodra@gmail.com> |
| |
| * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault |
| on .got or .plt output section being discarded by script. |
| * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move |
| vxworks splt temp. |
| |
| 2017-02-20 Alan Modra <amodra@gmail.com> |
| |
| PR 21181 |
| * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero |
| if DT_RELSZ/DT_RELASZ is zero. |
| |
| 2017-02-16 Alan Modra <amodra@gmail.com> |
| |
| PR 21000 |
| * elf-bfd.h (struct elf_backend_data): Add no_page_alias. |
| * elfxx-target.h (elf_backend_no_page_alias): Define. |
| (elfNN_bed): Init new field. |
| * elf.c (assign_file_positions_for_load_sections): If no_page_alias |
| ensure PT_LOAD segment starts on a new page. |
| * elf32-hppa.c (elf_backend_no_page_alias): Define. |
| |
| 2017-02-16 Alan Modra <amodra@gmail.com> |
| |
| PR 21132 |
| * elf32-hppa.c (allocate_plt_static): Allocate space for relocs |
| if pic. |
| |
| 2017-02-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR ld/21168 |
| * elf32-i386.c (elf_i386_relocate_section): Allow |
| "lea foo@GOT, %reg" in PIC. |
| |
| 2017-02-14 Alan Modra <amodra@gmail.com> |
| |
| * 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 <palmer@dabbelt.com> |
| |
| * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to |
| __global_pointer$. |
| |
| 2017-02-13 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * 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) <GGA_NONE>: For forced local |
| symbols bump up `max_local_dynindx' rather than |
| `max_non_got_dynindx'. |
| |
| 2017-02-13 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * 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-13 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout |
| to access the hash table. |
| |
| 2017-02-13 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on |
| non-NULL `htab' to the beginning. |
| |
| 2017-02-03 Alan Modra <amodra@gmail.com> |
| |
| * elf32-hppa.c (ensure_undef_weak_dynamic): New function. |
| (allocate_plt_static, allocate_dynrelocs): Use it. |
| |
| 2017-02-03 Alan Modra <amodra@gmail.com> |
| |
| * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for |
| .PARISC.unwind section. |
| |
| 2017-02-02 Hans-Peter Nilsson <hp@axis.com> |
| |
| * 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-30 Maciej W. Rozycki <macro@imgtec.com> |
| |
| * 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-18 Maciej W. Rozycki <macro@imgtec.com> |
| |
| 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-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from master |
| 2017-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| 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-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| 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-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from master |
| 2017-01-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * 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 <hongjiu.lu@intel.com> |
| |
| 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-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from master |
| 2017-01-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * elf32-i386.c (elf_i386_size_dynamic_sections): Set |
| plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt. |
| |
| 2017-01-12 Nick Clifton <nickc@redhat.com> |
| |
| 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-04 James Clarke <jrtc27@jrtc27.com> |
| |
| * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free |
| if relocs are cached. |
| |
| 2017-01-02 Alan Modra <amodra@gmail.com> |
| |
| PR ld/20989 |
| * elfxx-sparc.c (gdop_relative_offset_ok): New function. |
| (_bfd_sparc_elf_relocate_section): Use it to validate GOT |
| indirect to GOT pointer relative code edit. |
| |
| 2017-01-02 Alan Modra <amodra@gmail.com> |
| |
| Update year range in copyright notice of all files. |
| |
| For older changes see ChangeLog-2016 |
| |
| Copyright (C) 2017 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |
| |
| Local Variables: |
| mode: change-log |
| left-margin: 8 |
| fill-column: 74 |
| version-control: never |
| End: |