PR22200, DWARF5 .debug_line sanity check
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 7e98b61c030d721ac7ed5716a3e283c2d834c001..adbc014b5c1635be58a4eb102acc40279f51a19b 100644 (file)
@@ -1,3 +1,271 @@
+2017-09-25  Alan Modra  <amodra@gmail.com>
+
+       PR 22200
+       * dwarf2.c (read_formatted_entries): Error on format_count zero.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22197
+       * opncls.c (bfd_get_debug_link_info_1): Properly check that crc is
+       within section bounds.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22191
+       * dwarf2.c (decode_line_info): Properly free line sequences on error.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22187
+       * dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
+       pname param.  Return status.  Make name const.  Don't abort,
+       return an error.  Formatting.  Exit if current info_ptr matches
+       orig_info_ptr.  Update callers.
+       (scan_unit_for_symbols): Start at nesting_level of zero.  Make
+       nested_funcs an array of structs for extensibility.  Formatting.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22186
+       * dwarf2.c (decode_line_info): Fail on lh.line_range of zero
+       rather than dividing by zero.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22169
+       * dwarf2.c (decode_line_info): Correct .debug_line unit_length check.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22167
+       * dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22166
+       * elf.c (_bfd_elf_slurp_version_tables): Test sh_info on
+       SHT_GNU_verneed section for sanity.  Don't zalloc memory for
+       verref.
+
+2017-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/22170
+       * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Guard against
+       corrupted PLT.
+
+2017-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/22163
+       * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Also return
+       -1 if bfd_canonicalize_dynamic_reloc returns 0.
+
+2017-09-22  Pedro Alves  <palves@redhat.com>
+           Alan Modra  <amodra@gmail.com>
+
+       * version.h: Add comment.
+
+2017-09-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * elf.c (elfcore_grok_note): For the cases NT_S390_GS_CB and
+       NT_S390_GS_BC, correct the previously swapped invocations of
+       elfcore_grok_s390_gs_bc and elfcore_grok_s390_gs_cb.
+
+2017-09-19  Alan Modra  <amodra@gmail.com>
+
+       PR 21441
+       * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame
+       size.
+
+2017-09-19  Alan Modra  <amodra@gmail.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <amodra@gmail.com>
+
+       PR 22116
+       * archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size
+       overflows bfd_size_type.
+
+2017-09-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <nickc@redhat.com>
+
+       PR binutils/22113
+       * peXXigen.c (pe_print_idata): Extend check for HintName vector
+       entries.
+
+2017-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h: Fix a typo in comments.
+
+2017-09-09  Kamil Rytarowski  <n54@gmx.com>
+
+       * elf32-nds32.c: Rename __BIT() to N32_BIT().
+
+2017-09-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppp.c (plt_stub_pad): Handle positive and negative
+       plt_stub_align.
+
+2017-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+       check has_non_got_reloc.
+
+2017-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h: Update comments.
+
+2017-09-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <palmer@dabbelt.com>
+
+       * (_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  <palmer@dabbelt.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
 
        * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set
This page took 0.026757 seconds and 4 git commands to generate.