PR23994, libbfd integer overflow
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 5031fff93d1a299b5a1c309c84dcdb559cb46c67..9e5717e89fbe5d331a67eb95d20fabeba195e55a 100644 (file)
@@ -1,3 +1,350 @@
+2018-12-17  Alan Modra  <amodra@gmail.com>
+
+       PR 23994
+       * aoutx.h: Include limits.h.
+       (get_reloc_upper_bound): Detect long overflow and return a file
+       too big error if it occurs.
+       * elf.c: Include limits.h.
+       (_bfd_elf_get_symtab_upper_bound): Detect long overflow and return
+       a file too big error if it occurs.
+       (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
+       (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
+
+2018-12-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23900
+       * elf.c (get_program_header_size): Add a PT_GNU_PROPERTY
+       segment for NOTE_GNU_PROPERTY_SECTION_NAME.
+       (_bfd_elf_map_sections_to_segments): Create a PT_GNU_PROPERTY
+       segment for NOTE_GNU_PROPERTY_SECTION_NAME.
+       * elfxx-x86.c (_bfd_elf_link_setup_gnu_properties): Don't set
+       GNU_PROPERTY_X86_UINT32_VALID.
+
+2018-12-11  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (elf_xtensa_do_reloc): Limit const16 opcode
+       immediate field to 16 least significant bits.
+
+2018-12-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-xc16x.c (elf32_xc16x_rtype_to_howto): New function.
+       (elf32_xc16x_relocate_section): Call elf32_xc16x_rtype_to_howto
+       instead of xc16x_reloc_type_lookup to get reloc_howto_type.
+
+2018-12-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23958
+       * elflink.c (_bfd_elf_add_default_symbol): Override the previous
+       definition from IR object.
+
+2018-12-08  Stafford Horne  <shorne@gmail.com>
+
+       * elf32-or1k.c (or1k_grok_prstatus): New function.
+       (or1k_grok_psinfo): Likewise.
+
+2018-12-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-properties.c (elf_find_and_remove_property): Add a
+       bfd_boolean argument to indicate if the property should be
+       removed.
+       (elf_merge_gnu_property_list): Updated.  Report
+       property change in linker map file.
+       (elf_get_gnu_property_section_size): Skip property_remove
+       properties.
+       (elf_write_gnu_properties): Likewise.
+       (_bfd_elf_link_setup_gnu_properties): Report property merge
+       in linker map file.  Pass abfd to elf_merge_gnu_property_list.
+
+2018-12-07  Alan Modra  <amodra@gmail.com>
+
+       PR 23952
+       * syms.c (_bfd_generic_read_minisymbols): Free syms before
+       returning with zero symcount.
+
+2018-12-06  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_VLE_ADDR20>): Correct
+       mask and shift value.
+       (ppc_elf_vle_split16): Use E_OPCODE_MASK.  Handle e_li
+       specially.
+
+2018-12-05  Sam Tebbs  <sam.tebbs@arm.com>
+
+       * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Add check for 'B'.
+
+2018-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23372
+       * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Don't remove
+       empty properties for GNU_PROPERTY_X86_COMPAT_ISA_1_USED and
+       GNU_PROPERTY_X86_UINT32_OR_AND.
+       (_bfd_x86_elf_link_fixup_gnu_properties): Likewise.
+
+2018-12-03  Kito Cheng  <kito@andestech.com>
+
+       * elfxx-riscv.h (RISCV_DONT_CARE_VERSION): New macro.
+       (struct riscv_subset_t): New structure.
+       (riscv_subset_t): New typedef.
+       (riscv_subset_list_t): New structure.
+       (riscv_release_subset_list): New prototype.
+       (riscv_add_subset): Likewise.
+       (riscv_lookup_subset): Likewise.
+       (riscv_lookup_subset_version): Likewise.
+       (riscv_release_subset_list): Likewise.
+       * elfxx-riscv.c: Include safe-ctype.h.
+       (riscv_parsing_subset_version): New function.
+       (riscv_supported_std_ext): Likewise.
+       (riscv_parse_std_ext): Likewise.
+       (riscv_parse_sv_or_non_std_ext): Likewise.
+       (riscv_parse_subset): Likewise.
+       (riscv_add_subset): Likewise.
+       (riscv_lookup_subset): Likewise.
+       (riscv_lookup_subset_version): Likewise.
+       (riscv_release_subset_list): Likewise.
+
+2018-12-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23930
+       * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Update
+       the iplt section alignment if it is non-empty.
+       (_bfd_x86_elf_link_setup_gnu_properties): Set plt.iplt_alignment
+       and delay setting the iplt section alignment.
+       * elfxx-x86.h (elf_x86_plt_layout): Add iplt_alignment.
+
+2018-11-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 23942
+       * elfcode.h (elf_object_p): Check for corrupt input files with
+       more program headers than can actually fit in the file.
+
+2018-11-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 23932
+       * elf.c (IS_CONTAINED_BY_LMA): Add a check for a negative section
+       size.
+       (rewrite_elf_program_header): If no sections are mapped into a
+       segment return an error.
+
+2018-11-30  Alan Modra  <amodra@gmail.com>
+
+       PR 23937
+       * elf64-ppc.c (write_plt_relocs_for_local_syms): Don't add local
+       entry offset for ifuncs.
+
+2018-11-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23929
+       * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Don't
+       merge .note.gnu.property section in IR inputs.
+
+2018-11-27  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
+
+       * cpu-arm.c (processors): Add processors known to GAS but missing here
+       and reindent.
+       (bfd_arm_update_notes): Add comment explaining why the list of
+       architectures in the switch should not be updated.
+       (architectures): Likewise.
+
+2018-11-27  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_HI16>
+       <R_MIPS_HI16, R_MIPS_HIGHER, R_MIPS_HIGHEST, R_MICROMIPS_HI16>
+       <R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST>: Also accept an
+       absolute symbol in PIC code.
+
+2018-11-27  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * elfxx-mips.c (_bfd_mips_elf_check_relocs) <R_MIPS16_26>
+       <R_MIPS_26, R_MICROMIPS_26_S1>: Use `info->callbacks->einfo'
+       rather than `_bfd_error_handler' to report refused relocations
+       in PIC code and continue processing.  Fix error message: `can
+       not' -> `cannot'.
+
+2018-11-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/23919
+       * compress.c (bfd_is_section_compressed_with_header): Initialize
+       *uncompressed_align_pow_p to 0.
+
+2018-11-27  Tamar Christina  <tamar.christina@arm.com>
+
+       PR ld/23904
+       * elfnn-aarch64.c (_bfd_aarch64_adrp_p): Use existing constants.
+       (_bfd_aarch64_erratum_843419_branch_to_stub): Use _bfd_aarch64_adrp_p.
+       (struct erratum_835769_branch_to_stub_clear_data): New.
+       (_bfd_aarch64_erratum_843419_clear_stub): New.
+       (clear_erratum_843419_entry): New.
+       (elfNN_aarch64_tls_relax): Use it.
+       (elfNN_aarch64_relocate_section): Pass input_section.
+       (aarch64_map_one_stub): Handle branch type none as valid.
+
+2018-11-27  Mark Wielaard  <mark@klomp.org>
+
+       PR binutils/23919
+       * bfd.c (bfd_update_compression_header): Explicitly set alignment.
+       (bfd_check_compression_header): Add uncompressed_alignment_power
+       argument. Check ch_addralign is a power of 2.
+       * bfd-in2.h: Regenerated.
+       * compress.c (bfd_compress_section_contents): Get and set
+       orig_uncompressed_alignment_pow if section is decompressed.
+       (bfd_is_section_compressed_with_header): Add and get
+       uncompressed_align_pow_p argument.
+       (bfd_is_section_compressed): Add uncompressed_align_power argument
+       to bfd_is_section_compressed_with_header call.
+       (bfd_init_section_decompress_status): Get and set
+       uncompressed_alignment_power.
+       * elf.c (_bfd_elf_make_section_from_shdr): Add
+       uncompressed_align_power argument to
+       bfd_is_section_compressed_with_header call.
+
+2018-11-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Do not
+       error when .MSP430.attributes section is missing from objects
+       created by LTO.
+
+2018-11-13  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (riscv_float_abi_string): New.
+       (_bfd_riscv_elf_merge_private_bfd_data): Use it for error message.
+
+2018-11-09  Bernhard M. Wiedemann  <bwiedemann@suse.de>
+
+       * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Correct comment
+       concerning timestamp insertion.
+
+2018-11-09  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * arc-got.h (arc_got_entry_type_for_reloc): Changed to
+       correct static TLS relocs.
+       * elf32-arc.c (elf_arc_check_relocs): Introduced warning to
+       TLS relocs which require -fPIC.
+       (arc_create_forced_local_got_entries_for_tls): Created.
+       Traverses list of GOT entries to be resolved statically
+       when needed.
+       (elf_arc_finish_dynamic_sections): Changed. Calls
+       arc_create_forced_local_got_entries_for_tls for each known
+       possibly GOT symbol.
+
+2018-11-09  rhn  <sowaac.rhn@porcupinefactory.org>
+
+       PR 23699
+       * ihex.c (ihex_write_object_contents): Check for sign extended
+       addresses that cannot be supported in the ihex format.
+
+2018-11-09  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * arc-got.h (arc_get_local_got_ents): Revamp it; use
+       elf_local_got_ents to store the local got list.
+       (get_got_entry_list_for_symbo): Restructure it.
+       * elf32-arc.c (elf_arc_relocate_section): Correct the call to
+       get_got_entry_list_for_symbol.
+
+2018-11-07  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+       * po/pt.po: Updated Portuguese translation.
+
+2018-11-06  Roman Bolshakov <r.bolshakov@yadro.com>
+           Saagar Jha  <saagar@saagarjha.com>
+
+       * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS,
+       BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS,
+       BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS,
+       BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD.
+       (struct bfd_mach_o_note_command): New.
+       (struct bfd_mach_o_build_version_tool): New.
+       (struct bfd_mach_o_build_version_command): New.
+       (bfd_mach_o_read_version_min): Don't split version into
+       a few fields. Rename reserved to sdk.
+       * mach-o.c (bfd_mach_o_read_version_min): Don't split version into a
+       few fields. Rename reserved to sdk.
+       (bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE,
+       LC_BUILD_VERSION.
+       (bfd_mach_o_read_note): New.
+       (bfd_mach_o_read_build_version): New.
+
+2018-11-07  Yoshinori Sato  <ysato@users.sourceforge.jp>
+
+       * config.bfd: Add rx-*-linux.
+       * congigure.ac: Likewise.
+       * elf32-rx.c (rx_linux_object_p): New function.
+       (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME)
+       (elf_backend_object_p, elf32_bed): Define rx-*-linux.
+       * targets.c: Add rx_elf32_linux_le_vec.
+       * configure: Regenerate.
+
+2018-11-06  Romain Margheriti  <lilrom13@gmail.com>
+
+       PR 23742
+       * mach-o.c (bfd_mach_o_read_command): Accept and ignore
+       BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION
+       commands.
+
+2018-11-02  Alan Modra  <amodra@gmail.com>
+
+       PR 23850
+       * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections
+       in an executable or shared library as normal sections.
+
+2018-10-31  Renlin Li  <renlin.li@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got
+       section for Local Exec TLS model.
+
+2018-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23818
+       * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols
+       defined in discarded input sections.
+
+2018-10-24  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that
+       were not needed.
+
+2018-10-23  Alan Modra  <amodra@gmail.com>
+
+       PR 23806
+       * merge.c (_bfd_add_merge_section): Don't attempt to merge
+       sections with ridiculously large alignments.
+
+2018-10-23  Alan Modra  <amodra@gmail.com>
+
+       PR 23805
+       * elflink.c (elf_link_input_bfd): Don't segfault on finding
+       STT_TLS symbols without any TLS sections.  Instead, change the
+       symbol type to STT_NOTYPE.
+
+2018-10-23  Alan Modra  <amodra@gmail.com>
+
+       PR 23804
+       * merge.c (_bfd_add_merge_section): Don't attempt to merge
+       sections where size is not a multiple of entsize.
+
+2018-10-20  Alan Modra  <amodra@gmail.com>
+
+       PR 23788
+       * elf.c (section_match): Don't require a size match for SHT_SYMTAB
+       or SHT_STRTAB.
+
+2018-10-17  Alan Modra  <amodra@gmail.com>
+
+       PR 23653
+       * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id
+       too when choosing dynobj.
+
+2018-10-16  Alan Modra  <amodra@gmail.com>
+
+       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify
+       PE_DEBUG_DATA size checks.
+
+2018-10-16  Alan Modra  <amodra@gmail.com>
+
+       PR 23781
+       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data
+       before returning.
+
 2018-10-16  Alan Modra  <amodra@gmail.com>
 
        PR 23534
This page took 0.026426 seconds and 4 git commands to generate.