X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=eb62bc3b273f98fa82c2ff3194c1ac5b54895471;hb=3d13f3e9bda5aada68915f5d958f731ae79ed41d;hp=1957ca9e5f0123914ce4e9f17bda1bb5e1e9ee8c;hpb=83eef883581525d04df3a8e53a82c01d0d12b56a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1957ca9e5f..eb62bc3b27 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,209 @@ +2017-09-19 Alan Modra + + PR 22150 + * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect + symbols before calculating verrefs. Don't renumber dynsyms + after gc. Exclude .gnu.version when zero or one dynsym. + Localize some vars and reindent. + +2017-09-18 H.J. Lu + + PR ld/22148 + * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Check error + return from bfd_canonicalize_dynamic_reloc. + +2017-09-15 Alan Modra + + PR 22116 + * archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size + overflows bfd_size_type. + +2017-09-14 H.J. Lu + + PR ld/22135 + * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument + to indicate if conversion is performed. + (elf_i386_check_relocs): Cache section contents and relocations + if conversion is performed. + * elf64-x86-64.c (elf_x86_64_check_relocs): Cache section + contents and relocations if conversion is performed. + +2017-09-14 Nick Clifton + + PR binutils/22113 + * peXXigen.c (pe_print_idata): Extend check for HintName vector + entries. + +2017-09-13 H.J. Lu + + * elfxx-x86.h: Fix a typo in comments. + +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