X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=6eebc4501deef4aff57c890526d79fc77d9f9f2f;hb=4ec521f238627f7682306d699c8826390a2cc9e7;hp=4190878c66dd9d48ae607b6db8a951905f97c818;hpb=f04bdfa7b261402bfa9dbdde58b2feb14becd8a3;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4190878c66d..6eebc4501de 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,188 @@ +2017-09-09 Kamil Rytarowski + + * elf32-nds32.c: Rename __BIT() to N32_BIT(). + +2017-09-09 Alan Modra + + * elf64-ppp.c (plt_stub_pad): Handle positive and negative + plt_stub_align. + +2017-09-09 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Update usage of + UNDEFINED_WEAK_RESOLVED_TO_ZERO. + (elf_i386_finish_dynamic_symbol): Likewise. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + (elf_x86_64_finish_dynamic_symbol): Likewise. + * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise. + (_bfd_x86_elf_fixup_symbol): Likewise. + +2017-09-09 H.J. Lu + + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + check has_non_got_reloc. + +2017-09-09 H.J. Lu + + PR ld/22115 + * elf32-i386.c (elf_i386_convert_load_reloc): Check linker_def. + Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO. + * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Check + linker_def. Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO. + * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Set local_ref + and linker_def on __ehdr_start if it is referenced and not + defined. + (_bfd_x86_elf_link_symbol_references_local): Also set local_ref + and return TRUE when building executable, if a symbol has + non-GOT/non-PLT relocations in text section or there is no + dynamic linker. + * elfxx-x86.h (elf_x86_link_hash_entry): Add linker_def. + +2017-09-08 H.J. Lu + + * elfxx-x86.h: Update comments. + +2017-09-08 H.J. Lu + + * elf32-i386.c (elf_i386_link_setup_gnu_properties): Replace + elf_x86_plt_layout_table with elf_x86_init_table. + * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): + Likewise. + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): + Likewise. + * elfxx-x86.h (elf_x86_plt_layout_table): Renamed to ... + (elf_x86_init_table): This. + (_bfd_x86_elf_link_setup_gnu_properties): Replace + elf_x86_plt_layout_table with elf_x86_init_table. + +2017-09-07 H.J. Lu + + * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor + elf64.lo together with elfxx-x86.lo for 64-bit BFD. + * configure: Regenerated. + * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info + and r_sym fields of plt_layout. + * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): + Likewise. + * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check. + (_bfd_x86_elf_link_hash_table_create): Likewise. Don't set + r_info nor r_sym fields. + (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym + fields of htab. + * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym. + +2017-09-07 Palmer Dabbelt + + * (_bfd_riscv_relax_align): Call bfd_set_error and + print an error message when unable to relax a .align directive. + +2017-09-07 Palmer Dabbelt + + * elfnn-riscv.c (riscv_zero_pcrel_hi_reloc): New function. + (riscv_record_pcrel_hi_reloc): Add absolute argument. + (riscv_elf_relocate_section): Call riscv_zero_pcrel_hi_reloc for + R_RISCV_PCREL_HI20 relocs, and pass the result to + riscv_record_pcrel_hi_reloc. + +2017-09-07 H.J. Lu + + * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument, + r_type_p. Remove the converted argument. Replace + SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P. Return + the new relocation type via r_type_p. + (elf_i386_relocate_section): Likewise. + (elf_i386_finish_dynamic_symbol): Likewise. + (need_convert_load): Removed. + (check_relocs_failed): Updated. + (elf_i386_check_relocs): Call elf_i386_convert_load_reloc, + instead of setting need_convert_load. + (_bfd_i386_elf_convert_load): Removed. + * elf64-x86-64.c (need_convert_load): Removed. + (check_relocs_failed): Updated. + (elf_x86_64_convert_load_reloc): Add an argument, r_type_p. + Replace SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P. + Return the new relocation type via r_type_p. + (elf_x86_64_check_relocs): Call elf_x86_64_convert_load_reloc, + instead of setting need_convert_load. + (elf_x86_64_check_relocs): Don't check PIC if relocation has + been converted. + (_bfd_x86_64_elf_convert_load): Removed. + (elf_x86_64_relocate_section): Replace SYMBOL_REFERENCES_LOCAL + with SYMBOL_REFERENCES_LOCAL_P. + (elf_x86_64_finish_dynamic_symbol): Likewise. + * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Don't + set convert_load. + (_bfd_x86_elf_size_dynamic_sections): Don't call convert_load. + (_bfd_x86_elf_link_symbol_references_local): New function. + * elfxx-x86.h (SYMBOL_REFERENCES_LOCAL_P): New. + (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace elf.forced_local with + SYMBOL_REFERENCES_LOCAL_P. + (elf_x86_link_hash_entry): Add local_ref. + (elf_x86_link_hash_table): Remove convert_load. + (_bfd_i386_elf_convert_load): Removed. + (_bfd_x86_64_elf_convert_load): Likewise. + (_bfd_x86_elf_link_symbol_references_local): New. + +2017-09-06 H.J. Lu + + * elf64-x86-64.c (R_X86_64_converted_reloc_bit): New. + (elf_x86_64_info_to_howto): Get the real relocation type by + masking out R_X86_64_converted_reloc_bit. + (elf_x86_64_check_tls_transition): Get the real relocation type + by masking out R_X86_64_converted_reloc_bit. + (elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit + instead of setting converted_reloc. + (elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit + instead of converted_reloc. Get the real relocation type by + masking out R_X86_64_converted_reloc_bit. + (elf_x86_64_link_setup_gnu_properties): Verify that the value of + R_X86_64_converted_reloc_bit is valid. + * elfxx-x86.h (converted_reloc): Removed. + +2017-09-06 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Don't change r_type + when calling elf_i386_tls_transition. Don't use ELF32_R_TYPE + to get the relocation type again. + * elf64-x86-64.c (elf_x86_64_relocate_section): Don't change + r_type when calling elf_x86_64_tls_transition. Don't use + ELF32_R_TYPE to get the relocation type again. + +2017-09-05 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set + converted_reloc. + +2017-09-05 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Remove the sec + argument. Don't check relocation overflow. Avoid relocation + overflow if --no-relax is used. Set converted_reloc on symbol + if a GOTPCREL relocation is converted. + (elf_x86_64_relocate_section): Issue a fatal error and suggest + --no-relax if GOTPCREL relocation conversion leads to relocation + overflow. + * elfxx-x86.h (elf_x86_link_hash_entry): Add converted_reloc. + +2017-09-05 Alexander Fedotov + Edmar Wienskoski + + PR ld/22071 + * elfxx-x86.c (elf_x86_allocate_dynrelocs): Set tlsdesc_plt + for x86-64 if GOT_TLS_GDESC_P is true. + +2017-09-03 Alan Modra + + PR 22067 + * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first. + 2017-09-02 H.J. Lu * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize