X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=cec6b16707b0a75d7dd5b3b15896fa7192ba4812;hb=1be5d8d3bbec4c9a112114993ac5c85b2b26c4c4;hp=7803ef88263a6d63d6a0c520c565a1764ddabddd;hpb=ddb2bbcf0624ef5f75c0a007c6b192c09b6fa70b;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7803ef88263..cec6b16707b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,131 @@ +2018-01-17 Alan Modra + + * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier. + (CRSETEQ, BEQCTRM): Define. + (is_nonpic_glink_stub): Don't check bctr. + (ppc_elf_link_hash_table_create): Init new ppc_elf_params field. + (ppc_elf_relax_section): Size speculation barrier. + (output_bctr): New function. + (write_glink_stub): Use output_bctr. + (ppc_elf_relocate_section): Use output_bctr for long branch stub. + (ppc_elf_finish_dynamic_symbol): Likewise. + (ppc_elf_finish_dynamic_sections): Use output_bctr. + * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps. + * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define. + (GLINK_PLTRESOLVE_SIZE): Size speculation barrier. + (size_global_entry_stubs): Handle speculation barrier sizing. + (plt_stub_size): Likewise. + (output_bctr): New function. + (build_plt_stub, build_tls_get_addr_stub): Output speculation + barrier. + (ppc_build_one_stub): Likewise for ppc_stub_plt_branch. + (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch. + (build_global_entry_stubs): Output speculation barrier. + (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub. + * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps. + +2018-01-17 Alan Modra + + * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle + __tls_get_addr_opt, and alignment sizing. + (TLS_GET_ADDR_GLINK_SIZE): Delete. + (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE. + (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6, + or 8 insns. + (ppc_elf_link_hash_table_create): Init new ppc_elf_params field. + (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE. + (ppc_elf_size_dynamic_sections): Likewise. Size branch table + by PLT reloc count. + (write_glink_stub): Handle __tls_get_addr_opt stub. + Pad out to size given by GLINK_ENTRY_SIZE. + (ppc_elf_relocate_section): Adjust write_glink_stub call. + (ppc_elf_finish_dynamic_symbol): Likewise. + (ppc_elf_finish_dynamic_sections): Write PLTresolve without using + insn array since so many need rewriting. + * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align. + * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from + GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without + nops. Adjust all uses. + (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE + in glink_vma calculation. + (struct ppc_link_hash_table): Add global_entry section pointer. + (create_linkage_sections): Create separate section for global + entry stubs. + (PPC_LO, PPC_HI, PPC_HA): Move earlier. + (size_global_entry_stubs): Handle sizing for aligned stubs. + (ppc64_elf_size_dynamic_sections): Handle global_entry alloc, + and don't stash end of glink branch table in rawsize. + (ppc_build_one_stub): Rewrite stub size calculations. + (build_global_entry_stubs): Use new section. + (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops. + Build lazy link stubs out to end of section. Build global entry + stubs in new section. + +2018-01-15 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2018-01-13 Nick Clifton + + * po/bfd.pot: Regenerated. + +2018-01-13 Nick Clifton + + * version.m4: Bump version to 2.30.51 + * configure: Regenerate. + +2018-01-13 Nick Clifton + + 2.30 branch created. + +2018-01-12 Jens Widell + + * elf.c (setup_group): Optimize search for group by remembering + last found group and restarting search at that index. + * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field. + +2018-01-12 Gunther Nikl + + * aoutx.h (aout_link_check_ar_symbols): Remove default and handle + bfd_link_common_skip_none in switch. + +2018-01-12 Alan Modra + + PR ld/22649 + * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic + references on forced local symbols. + +2018-01-12 Vlad Ivanov + + * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when + .reginfo section has wrong size. + +2018-01-11 H.J. Lu + + PR ld/22393 + * elf.c (_bfd_elf_map_sections_to_segments): When generating + separate code and read-only data LOAD segments, create a new + LOAD segment if the previous section contains text and the + current section doesn't or vice versa. Don't put a writable + section in a read-only segment if there is a RELRO segment. + +2018-01-11 H.J. Lu + + PR ld/22649 + * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic + references on forced local symbols. + +2018-01-11 H.J. Lu + + PR ld/22677 + * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY, + INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section. + +2017-09-27 Kuan-Lin Chen + + PR 22662 + * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error. + 2018-01-03 John Baldwin * elf.c (elfcore_grok_freebsd_note): Handle