+2015-11-11 Alan Modra <amodra@gmail.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+ * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_REL16DX_HA.
+ (ppc_elf_reloc_type_lookup): Handle R_PPC_REL16DX_HA.
+ (ppc_elf_addr16_ha_reloc): Likewise.
+ (ppc_elf_check_relocs): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ (is_insn_dq_form): Handle lxv and stxv instructions.
+ * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_REL16DX_HA.
+ (ppc64_elf_reloc_type_lookup): Handle R_PPC64_REL16DX_HA.
+ (ppc64_elf_ha_reloc): Likewise.
+ (ppc64_elf_check_relocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+ * reloc.c (BFD_RELOC_PPC_REL16DX_HA): New.
+
+2015-11-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Handle VTINHERIT
+ and VTENTRY relocations when deleting relocations.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2015-11-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Properly move
+ kept relocations when deleting relocations.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2015-11-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Use read and write
+ pointers to reloc array, rather than memmove when deleting a
+ reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
+ reloc counts at end of loop.
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2015-11-10 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Use read and write
+ pointers to reloc array, rather than memmove when deleting a
+ reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
+ reloc counts at end of loop.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2015-11-09 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs, ppc64_elf_build_stubs): Fix left
+ shift of negative value.
+ * libbfd.c (safe_read_leb128): Likewise.
+ * dwarf2.c (place_sections): Likewise.
+ * bfd-in.h (align_power): Likewise.
+ * bfd-in2.h (align_power): Likewise.
+
+2015-10-30 Nick Clifton <nickc@redhat.com>
+
+ * po/zh_CN.po: Updated (simplified) Chinese translation.
+
+2015-10-29 Catherine Moore <clm@codesourcery.com>
+
+ * elfxx-mips.c (mips_elf_check_mips16_stubs): Set a stub's output
+ section to bfd_abs_section_ptr if the stub is discarded.
+
+2015-10-29 Ed Schouten <ed@nuxi.nl>
+
+ * config.bfd (targ_defvec): Add support for CloudABI on aarch64.
+ For this target we have to make sure we use ELFOSABI_CLOUDABI
+ instead of ELFOSABI_NONE.
+ * configure.ac (tb): Likewise.
+ * elfnn-aarch64.c: Likewise.
+ * targets.c (_bfd_target_vector): Likewise.
+ * configure: Regenerate.
+
+2015-10-29 Pedro Alves <palves@redhat.com>
+
+ * libhppa.h (bfd_hppa_insn2fmt): Add cast.
+
+2015-10-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Fix a typo in
+ comment.
+
+2015-10-28 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.c (create_instruction_branch_absolute): Replace
+ pointer parameters with a simple integer parameter.
+ (stm32l4xx_create_replacing_stub_ldmia): Update calls to
+ create_instruction_branch_absolute.
+ (stm32l4xx_create_replacing_stub_ldmdb): Likewise.
+ (stm32l4xx_create_replacing_stub_vldm): Likewise.
+ (elf32_arm_write_section): Use pointer type for veneer addresses.
+
+2015-10-28 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * reloc.c (BFD_RELOC_ARC_32_PCREL): New entry.
+ * elf32-arc.c (arc_elf_howto_ini): Update formula.
+ (get_middle_endian_relocation): New function.
+ (PDATA): Define.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+
+2015-10-28 Alan Modra <amodra@gmail.com>
+
+ PR ld/19162
+ * elflink.c (_bfd_elf_gc_mark_reloc): Move code iterating over
+ linker input bfds..
+ * section.c (bfd_get_next_section_by_name): ..to here. Add ibfd param.
+ (bfd_get_linker_section): Adjust bfd_get_next_section_by_name call.
+ * tekhex.c (first_phase): Likewise.
+ * elflink.c (bfd_elf_gc_sections): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
+ Christophe Monat <christophe.monat@st.com>
+
+ * bfd-in2.h: Regenerate.
+ * bfd-in.h (bfd_arm_stm32l4xx_fix): New enum. Specify how
+ STM32L4XX instruction scanning should be done.
+ (bfd_elf32_arm_set_stm32l4xx_fix)
+ (bfd_elf32_arm_stm32l4xx_erratum_scan)
+ (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Add prototypes.
+ (bfd_elf32_arm_set_target_relocs): Add stm32l4xx fix type argument
+ to prototype.
+ * elf32-arm.c (STM32L4XX_ERRATUM_VENEER_SECTION_NAME)
+ (STM32L4XX_ERRATUM_VENEER_ENTRY_NAME): Define macros.
+ (elf32_stm32l4xx_erratum_type): New enum.
+ (elf32_stm32l4xx_erratum_list): New struct. List of veneers or
+ jumps to veneers.
+ (_arm_elf_section_data): Add stm32l4xx_erratumcount,
+ stm32l4xx_erratumlist.
+ (elf32_arm_link_hash_table): Add stm32l4xx_erratum_glue_size,
+ stm32l4xx_fix and num_stm32l4xx_fixes fields.
+ (ctz): New function.
+ (popcount): New function.
+ (elf32_arm_link_hash_table_create): Initialize stm32l4xx_fix.
+ (put_thumb2_insn): New function.
+ (STM32L4XX_ERRATUM_LDM_VENEER_SIZE): Define. Size of a veneer for
+ LDM instructions.
+ (STM32L4XX_ERRATUM_VLDM_VENEER_SIZE): Define. Size of a veneer for
+ VLDM instructions.
+ (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
+ glue section.
+ (record_stm32l4xx_erratum_veneer) : New function. Create a single
+ veneer, and its associated symbols.
+ (bfd_elf32_arm_add_glue_sections_to_bfd): Add STM32L4XX erratum glue.
+ (bfd_elf32_arm_set_stm32l4xx_fix): New function. Set the type of
+ erratum workaround required.
+ (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): New function. Find
+ out where veneers and branches to veneers have been placed in
+ virtual memory after layout.
+ (is_thumb2_ldmia): New function.
+ (is_thumb2_ldmdb): Likewise.
+ (is_thumb2_vldm ): Likewise.
+ (stm32l4xx_need_create_replacing_stub): New function. Decide if a
+ veneer must be emitted.
+ (bfd_elf32_arm_stm32l4xx_erratum_scan): Scan the sections of an
+ input BFD for potential erratum-triggering insns. Record results.
+ (bfd_elf32_arm_set_target_relocs): Set stm32l4xx_fix field in
+ global hash table.
+ (elf32_arm_size_dynamic_sections): Collect glue information.
+ (create_instruction_branch_absolute): New function.
+ (create_instruction_ldmia): Likewise.
+ (create_instruction_ldmdb): Likewise.
+ (create_instruction_mov): Likewise.
+ (create_instruction_sub): Likewise.
+ (create_instruction_vldmia): Likewise.
+ (create_instruction_vldmdb): Likewise.
+ (create_instruction_udf_w): Likewise.
+ (create_instruction_udf): Likewise.
+ (push_thumb2_insn32): Likewise.
+ (push_thumb2_insn16): Likewise.
+ (stm32l4xx_fill_stub_udf): Likewise.
+ (stm32l4xx_create_replacing_stub_ldmia): New function. Expands the
+ replacing stub for ldmia instructions.
+ (stm32l4xx_create_replacing_stub_ldmdb): Likewise for ldmdb.
+ (stm32l4xx_create_replacing_stub_vldm): Likewise for vldm.
+ (stm32l4xx_create_replacing_stub): New function. Dispatches the
+ stub emission to the appropriate functions.
+ (elf32_arm_write_section): Output veneers, and branches to veneers.
+
+2015-10-27 Sangamesh Mallayya <nickc@redhat.com>sangamesh.swamy@in.ibm.com>
+
+ * configure.ac (powerpc64-*-aix[5-9].*): Match powerpc64 running
+ aix for core file support.
+ * configure: Regenerate.
+ * rs6000-core.c: Check for __ld_info64 if compiling 64-bit gdb.
+ Added BFD64 check if we are using old core file format for 32-bit gdb.
+ Set sizeof CORE_COMMONSZ appropriately in case of either new or
+ old core file format.
+ (read_hdr): Added BFD64 check for 64-bit support.
+ (rs6000coff_core_p): Likewise.
+ (rs6000coff_core_file_matches_executable_p): Likewise.
+ (rs6000coff_core_file_failing_command): Likewise.
+ (rs6000coff_core_file_failing_signal): Likewise.
+ Add support for debugging core files generated by binaries in
+ Large Memory model.
+ (rs6000coff_core_p): If Large Memory Model is used, then the .data
+ segment should start from BDATAORG which has been defined in the
+ system header files.
+
+2015-10-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/19175
+ * elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
+ instead of calling bfd_link_get_defined_symbol.
+ * elf64-x86-64.c (elf_x86_64_convert_load): Likewise. Skip
+ relocation overflow for bfd_link_hash_new.
+ * linker.c (bfd_link_get_defined_symbol): Removed.
+ * bfd-in2.h: Regenerated.
+
+2015-10-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/19171
+ * elf32-i386.c (elf_i386_convert_load): Call
+ bfd_link_get_defined_symbol to check if a symbol is defined.
+ * elf64-x86-64.c (elf_x86_64_convert_load): Call
+ bfd_link_get_defined_symbol to get defined symbol section and
+ value.
+ * linker.c (bfd_link_get_defined_symbol): New function.
+ * bfd-in2.h: Regenerated.
+
+2015-10-23 Alan Modra <amodra@gmail.com>
+
+ PR ld/11133
+ PR ld/19161
+ PR ld/19167
+ * elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
+ and __stop_* symbol refs.
+ (_bfd_elf_gc_mark_rsec): Add start_stop parameter. Handle __start_*
+ and __stop_* symbol refs here..
+ (_bfd_elf_gc_mark_reloc): ..and here.
+ * elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
+ _bfd_elf_gc_mark_rsec call.
+
+2015-10-23 Alan Modra <amodra@gmail.com>
+
+ PR ld/11133
+ PR ld/19161
+ * elflink.c (elf_gc_sweep): Revert last patch.
+ (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
+
+2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/19161
+ * elflink.c (elf_gc_sweep): Always keep sections marked with
+ SEC_KEEP.
+
+2015-10-22 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c (struct mmo_data_struct): New members
+ symbol_consistency_override_calculated and ignore_symbol_consistency.
+ (mmo_section_has_contents, mmo_ignore_symbol_consistency): New
+ functions.
+ (mmo_create_symbol): Check with mmo_ignore_symbol_consistency if to
+ report an error for unexpected value of Main.
+ (mmo_write_symbols_and_terminator): Similar.
+
+2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
+ check call_nop_as_suffix for 1-byte NOP padding to pad call.
+ * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.
+
+2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c: Include opcode/i386.h.
+ (x86_64_elf_howto_table): Add R_X86_64_GOTPCRELX and
+ R_X86_64_REX_GOTPCRELX.
+ (R_X86_64_standard): Replace R_X86_64_PLT32_BND with
+ R_X86_64_REX_GOTPCRELX.
+ (x86_64_reloc_map): Add BFD_RELOC_X86_64_GOTPCRELX and
+ BFD_RELOC_X86_64_REX_GOTPCRELX.
+ (need_convert_mov_to_lea): Renamed to ...
+ (need_convert_load): This.
+ (elf_x86_64_check_relocs): Handle R_X86_64_GOTPCRELX and
+ R_X86_64_REX_GOTPCRELX. Replace need_convert_mov_to_lea with
+ need_convert_load.
+ (elf_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPCRELX and
+ R_X86_64_REX_GOTPCRELX.
+ (elf_x86_64_size_dynamic_sections): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_convert_mov_to_lea): Renamed to ...
+ (elf_x86_64_convert_load): This. Replace need_convert_mov_to_lea
+ with need_convert_load. Support R_X86_64_GOTPCRELX and
+ R_X86_64_REX_GOTPCRELX transformations.
+ * reloc.c (BFD_RELOC_X86_64_GOTPCRELX): New.
+ (BFD_RELOC_X86_64_REX_GOTPCRELX): Likewise.
+ * bfd-in2.h: Regenerated.
+ * libbfd.h: Likewise.
+
2015-10-22 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c: Include opcode/i386.h.