RISC-V: Accept version, supervisor ext and more than one NSE for -march.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 81b9e56072b7cbc828a2c0af3f01a8d28ff8a24d..30616eb787983533dba87d461cffe8ed9858b67a 100644 (file)
@@ -1,3 +1,621 @@
+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
+       * init.c (bfd_init): Return an unsigned int.
+       bfd-in2.h: Regenerate.
+
+2018-10-15  Alan Modra  <amodra@gmail.com>
+
+       PR 23534
+       * init.c (BFD_INIT_MAGIC): Define.
+       (bfd_init): Return BFD_INIT_MAGIC.
+       bfd-in2.h: Regenerate.
+
+2018-10-13  Alan Modra  <amodra@gmail.com>
+
+       PR 23770
+       PR 23425
+       * reloc.c (_bfd_clear_contents): Replace "location" param with
+       "buf" and "off".  Bounds check "off".  Return status.
+       * cofflink.c (_bfd_coff_generic_relocate_section): Update
+       _bfd_clear_contents call.
+       * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise.
+       * elf32-arc.c (elf_arc_relocate_section): Likewise.
+       * elf32-i386.c (elf_i386_relocate_section): Likewise.
+       * elf32-metag.c (metag_final_link_relocate): Likewise.
+       * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise.
+       * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+       * elf32-visium.c (visium_elf_relocate_section): Likewise.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+       * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise.
+       * libbfd-in.h (_bfd_clear_contents): Update prototype.
+       * libbfd.h: Regenerate.
+
+2018-10-09  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
+
+       * elflink.c (elf_link_output_extsym): Do not place symbols into a
+       discarded .dynsym.
+
+2018-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23428
+       * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
+       add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header
+       in non-code PT_LOAD segment.
+
+2018-10-08  Alan Modra  <amodra@gmail.com>
+
+       * elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD
+       lacking sections.
+       * elf.c (_bfd_elf_map_sections_to_segments): Assume file and
+       program headers are required when info->load_phdrs.  Reorganize
+       code handling program headers.  Generate a mapping without
+       sections just for file and program headers when -z separate-code
+       would indicate they should be on a different page to the first
+       section.
+
+2018-10-08  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (assign_file_positions_for_load_sections): Set p_vaddr
+       from m->p_vaddr_offset for segments without sections.  Invert
+       sign of p_vaddr_offset.
+       (rewrite_elf_program_header, copy_elf_program_header): Save
+       old segment p_vaddr to p_vaddr_offset.  Invert sign of
+       p_vaddr_offset.
+
+2018-10-08  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (get_program_header_size): Don't count PT_INTERP if
+       .interp is empty.
+       (_bfd_elf_map_sections_to_segments): Don't create PT_INTERP if
+       .interp is empty.
+
+2018-10-08  Alan Modra  <amodra@gmail.com>
+
+       * elf32-spu.c (spu_elf_modify_segment_map): Don't insert
+       overlays before segment containing headers.
+
+2018-10-08  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (make_mapping): Cope with zero size array at end of
+       struct elf_segment_map.
+       (_bfd_elf_map_sections_to_segments): Likewise.
+       (rewrite_elf_program_header, copy_elf_program_header): Likewise.
+       (_bfd_elf_map_sections_to_segments): Rename phdr_index to hdr_index.
+
+2018-10-05  Alan Modra  <amodra@gmail.com>
+
+       * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name
+       SHT_NOTE.
+
+2018-10-05  Richard Henderson  <rth@twiddle.net>
+
+       * bfd-in2.h: Regenerated.
+       * elf32-or1k.c: (or1k_elf_howto_table): Fix formatting for
+       R_OR1K_PLT26, Add R_OR1K_PCREL_PG21, R_OR1K_GOT_PG21,
+       R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, R_OR1K_TLS_IE_PG21,
+       R_OR1K_LO13, R_OR1K_GOT_LO13, R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13,
+       R_OR1K_TLS_IE_LO13, R_OR1K_SLO13, R_OR1K_PLTA26.
+       (or1k_reloc_map): Add BFD_RELOC_OR1K_PCREL_PG21,
+       BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_TLS_GD_PG21,
+       BFD_RELOC_OR1K_TLS_LDM_PG21, BFD_RELOC_OR1K_TLS_IE_PG21,
+       BFD_RELOC_OR1K_LO13, BFD_RELOC_OR1K_GOT_LO13,
+       BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_GD_LO13,
+       BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_LO13,
+       BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_PLTA26.
+       (elf_or1k_link_hash_table): Add field saw_plta.
+       (or1k_final_link_relocate): Add value calculations for new relocations.
+       (or1k_elf_relocate_section): Add section relocations for new
+       relocations.
+       (or1k_write_plt_entry): New function.
+       (or1k_elf_finish_dynamic_sections): Add support for PLTA relocations
+       using new l.adrp instruction.  Cleanup PLT relocation code generation.
+       * libbfd.h: Regenerated.
+       * reloc.c: Add BFD_RELOC_OR1K_PCREL_PG21, BFD_RELOC_OR1K_LO13,
+       BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_GOT_LO13,
+       BFD_RELOC_OR1K_PLTA26, BFD_RELOC_OR1K_TLS_GD_PG21,
+       BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_LDM_PG21,
+       BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_PG21,
+       BFD_RELOC_OR1K_TLS_IE_LO13.
+
+2018-10-05  Richard Henderson  <rth@twiddle.net>
+
+       * elf32-or1k.c (or1k_elf_relocate_section): Add error for unknown
+       relocations.  Add error for non zero addend with plt and got
+       relocations.  Add error for got and plt references against dynamic, non
+       local, symbols.  Add error when linking non shared liraries with
+       flag_pic.
+
+2018-10-05  Richard Henderson  <rth@twiddle.net>
+           Stafford Horne  <shorne@gmail.com>
+
+       * bfd-in2.h: Regenerated.
+       * elf32-or1k.c (N_ONES): New macro.
+       (or1k_elf_howto_table): Fix R_OR1K_PLT26 to complain on overflow.
+       Add definitions for R_OR1K_TLS_TPOFF, R_OR1K_TLS_DTPOFF,
+       R_OR1K_TLS_DTPMOD, R_OR1K_AHI16, R_OR1K_GOTOFF_AHI16,
+       R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, R_OR1K_SLO16,
+       R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16.
+       (or1k_reloc_map): Add entries for BFD_RELOC_HI16_S,
+       BFD_RELOC_LO16_GOTOFF, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_S_GOTOFF,
+       BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
+       BFD_RELOC_OR1K_SLO16, BFD_RELOC_OR1K_GOTOFF_SLO16,
+       BFD_RELOC_OR1K_TLS_LE_SLO16.
+       (or1k_reloc_type_lookup): Change search loop to start ad index 0 and
+       also check results before returning.
+       (or1k_reloc_name_lookup): Simplify loop to use R_OR1K_max as index
+       limit.
+       (or1k_final_link_relocate): New function.
+       (or1k_elf_relocate_section): Add support for new AHI and SLO
+       relocations.  Use or1k_final_link_relocate instead of generic
+       _bfd_final_link_relocate.
+       (or1k_elf_check_relocs): Add support for new AHI and SLO relocations.
+       * reloc.c: Add new enums for BFD_RELOC_OR1K_SLO16,
+       BFD_RELOC_OR1K_GOTOFF_SLO16, BFD_RELOC_OR1K_TLS_IE_AHI16,
+       BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
+       BFD_RELOC_OR1K_TLS_LE_SLO16.  Remove unused BFD_RELOC_OR1K_GOTOFF_HI16
+       and BFD_RELOC_OR1K_GOTOFF_LO16.
+       * libbfd.h: Regenerated.
+
+2018-10-04  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections
+       loop, handle htab->sdyntdata section.
+
+2018-10-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * elf64-sparc.c (elf64_sparc_output_arch_syms): Do notcorrect the
+       impact of STT_REGISTER symbols in the dynsym sh_info here...
+       * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ...but
+       do it here.
+
+2018-10-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23658
+       * elf.c (get_program_header_size): Put all adjacent SHT_NOTE
+       sections with the same section alignment into a single PT_NOTE
+       segment.  Check SHT_NOTE section type instead of section name.
+       (_bfd_elf_map_sections_to_segments): Likewise.
+
+2018-10-03  Millan Wolff  <mail@milianw.de>
+
+       PR 23715
+       * dwarf2.c (find_abstract_instance): Allow recursive invocations
+       of find_abstract_instance to override the name variable.
+
+2018-10-03  Nick Clifton  <nickc@redhat.com>
+
+       * po/pt.po: Updated Portuguese translation.
+
+2018-10-01  Cupertino Miranda <cmiranda@synopsys.com>
+
+       * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS
+       section alignment in consideration for this relocation. Fixed TCB_SIZE
+       offset size to include section alignment.
+       (get_got_entry_list_for_symbol): Changed.
+       * elf32-arc.c (FINAL_SECTSTART): Added this formula macro.
+       (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead.
+       (arc_special_overflow_checks): Fixed TCB_SIZE offsize to include
+       section alignment.
+       (elf_arc_check_relocs): Changed.
+       (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL.
+       (struct elf_arc_link_hash_entry): Moved and changed.
+       (elf_arc_link_hash_newfunc): Changed.
+       (arc_elf_link_hash_table_create): Removed old initializations.
+       (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed.
+
+2018-09-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use
+       elfclass instead of bed->s->elfclass.
+
+2018-09-27  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (riscv_init_pcgp_relocs): Add explanatory comment.
+       (riscv_free_pcgp_relocs, riscv_record_pcgp_reloc): Likewise.
+       (riscv_find_pcgp_hi_reloc, riscv_reocrd_pcgp_lo_reloc): Likewise.
+       (riscv_find_pcgp_lo_reloc): Likewise.
+       (riscv_delete_pcgp_hi_reloc, riscv_use_pcgp_hi_reloc): Delete.
+       (riscv_delete_pcgp_lo_reloc): Likewise.
+       (_bfd_riscv_relax_pc): Don't call riscv_use_pcgp_hi_reloc. Replace
+       calls to riscv_delete_pcgp_lo_reloc and riscv_delete_pcgp_hi_reloc
+       with TRUE.  Mark abfd arg as ATTRIBUTE_UNUSED.
+
+2018-09-25  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (riscv_make_plt_header): New arg output_bfd.  Change
+       return type to bfd_boolean.  If EF_RISCV_RVE call _bfd_error_handler
+       and return FALSE.  Return TRUE at end.
+       (riscv_make_plt_entry): Likewise.
+       (riscv_elf_finish_dynamic_symbol): Update call to riscv_make_plt_entry.
+       (riscv_elf_finish_dynamic_sections): Update call to
+       riscv_make_plt_header.
+
+2018-09-24  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (_bfd_riscv_relax_pc) <R_RISCV_PCREL_LO12_I>: New local
+       hi_sec_off which is symbol address with addend subtracted.  Use in
+       riscv_find_pcgp_hi_reloc and riscv_record_pcgp_lo_reloc calls.
+
+       * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Add check for reloc
+       overflow with addend.  Use reloc_dangerous instead of reloc_overflow.
+       Add strings for the two errors handled here.
+       (riscv_elf_relocate_section) In case R_RISCV_PCREL_LO12_I, rewrite
+       comment.  Only give error with addend when used with section symbol.
+       In case bfd_reloc_dangerous, update error string.
+
+2018-09-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       PR gdb/20948
+       * elf.c (_bfd_elf_write_object_contents): Return from function
+       early if abfd->direction == both_direction.
+
+2018-09-21  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * configure.ac: Check for fls.
+       * elf32-nds32.c (fls): Only define if !HAVE_FLS.
+       * config.in: Re-generate.
+       * configure: Re-generate.
+
+2018-09-20  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config.bfd <rs6000-*-aix5.[01], rs6000-*-aix[5-9]*>: Remove
+       duplicate `case' selectors.
+
+2018-09-20  Nelson Chu <nelson.chu1990@gmail.com>
+
+       * elf32-nds32.c (nds32_elf_relax_loadstore):
+       Remove the unused target features.
+       (bfd_elf32_nds32_set_target_option): Remove the unused parameters.
+       (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12,
+       nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls,
+       nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff
+       nds32_elf_relax_gotoff_suff, calculate_plt_memory_address,
+       calculate_plt_offset, calculate_got_memory_address,
+       nds32_elf_check_dup_relocs): Removed.
+       All callers changed.
+       * elf32-nds32.h: Remove the unused macros and defines.
+       (elf_nds32_link_hash_table): Remove the unused variable.
+       (bfd_elf32_nds32_set_target_option): Update prototype.
+       (nds32_elf_ex9_init): Removed.
+       * elf32-nds32.c (nds32_convert_32_to_16): Updated.
+       * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros
+       to initialize array nds32_elf_howto_table in any order
+       without lots of EMPTY_HOWTO.
+       (nds32_reloc_map): Updated.
+       * reloc.c: Add BFD_RELOC_NDS32_LSI.
+       * bfd-in2.h: Regenerated.
+       * bfd/libbfd.h: Regenerated.
+       * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI.
+       (nds32_reloc_map): Likewise.
+       (nds32_elf_relax_flsi): New function.
+       (nds32_elf_relax_section): Support floating load/store relaxation.
+       * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset):
+       New macro.
+       (struct elf_nds32_link_hash_entry): New `offset_to_gp' field.
+       (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields.
+       (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard,
+       nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym):
+       New functions.
+       (nds32_info_to_howto_rel): Add BFD_ASSERT.
+       (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc,
+       nds32_elf_link_hash_table_create, nds32_elf_relocate_section,
+       nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label,
+       bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated.
+       (nds32_elf_final_sda_base): Improve it to find the better gp value.
+       (insert_nds32_elf_blank): Must consider `len' when inserting blanks.
+       * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype.
+       (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'.
+       * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function.
+       (create_got_section): Likewise.
+       (allocate_dynrelocs, nds32_elf_size_dynamic_sections,
+       nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated.
+       (nds32_elf_check_relocs): Fix the issue that the shared library may
+       has TEXTREL entry in the dynamic section.
+       (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs
+       since the TEXTREL issue is fixed in the nds32_elf_check_relocs.
+       (nds32_elf_finish_dynamic_sections): Update and add DT_RELASZ
+       dynamic entry.
+       (calculate_offset): Remove the unused parameter `pic_ext_target' and
+       related codes.
+       All callers changed.
+       (elf_backend_dtrel_excludes_plt): Disable it temporarily since it
+       will cause some errors for our test cases.
+       * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Allow to link the
+       generic object.
+       * reloc.c: Add TLS relocations.
+       * libbfd.h: Regenerated.
+       * bfd-in2.h: Regenerated.
+       * elf32-nds32.h (struct section_id_list_t): New.
+       (elf32_nds32_lookup_section_id, elf32_nds32_check_relax_group,
+       elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model):
+       New prototypes.
+       (elf32_nds32_compute_jump_table_size, elf32_nds32_local_tlsdesc_gotent):
+       New macro.
+       (nds32_insertion_sort, bfd_elf32_nds32_set_target_option,
+       elf_nds32_link_hash_table): Updated.
+       * elf32-nds32.c (enum elf_nds32_tls_type): New.
+       (struct elf32_nds32_relax_group_t, struct relax_group_list_t): New.
+       (elf32_nds32_add_dynreloc, patch_tls_desc_to_ie, get_tls_type,
+       fls, ones32, list_insert, list_insert_sibling, dump_chain,
+       elf32_nds32_check_relax_group, elf32_nds32_lookup_section_id,
+       elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New functions.
+       (elf_nds32_obj_tdata): Add new fields.
+       (elf32_nds32_relax_group_ptr, nds32_elf_local_tlsdesc_gotent): New macros.
+       (nds32_elf_howto_table): Add TLS relocations.
+       (nds32_reloc_map): Likewise.
+       (nds32_elf_copy_indirect_symbol, nds32_elf_size_dynamic_sections,
+       nds32_elf_finish_dynamic_symbol, elf32_nds32_allocate_local_sym_info,
+       nds32_elf_relocate_section, bfd_elf32_nds32_set_target_option,
+       nds32_elf_check_relocs, allocate_dynrelocs): Updated.
+       (nds32_elf_relax_section): Call nds32_elf_unify_tls_model.
+       (dtpoff_base): Rename it to `gottpof' and then update it.
+
 2018-09-20  Alan Modra  <amodra@gmail.com>
 
        PR 23685
        to calculate header and padding size.  Use filepos of the first
        section otherwise.
 
-018-08-31  H.J. Lu  <hongjiu.lu@intel.com>
+2018-08-31  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/23600
        * archures.c (bfd_arch_get_compatible): Allow an IR object with
This page took 0.029617 seconds and 4 git commands to generate.