dwarf2read.c (setup_type_unit_groups): Add comment.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 36a5b6067627c40cc8e9f2ddec684e9ffdab14db..36109481d9b1f1029dc19e8c384aa313faa02535 100644 (file)
@@ -1,3 +1,921 @@
+2015-09-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19031
+       * elf32-i386.c (elf_i386_check_relocs): Set
+       pointer_equality_needed for R_386_PC32 reloc in non-code
+       sections.
+
+2015-09-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19013
+       * elflink.c (_bfd_elf_merge_sections): Only merge input bfds
+       that have the compatible ELF machine code with the output bfd.
+
+2015-09-30  Alan Modra  <amodra@gmail.com>
+
+       PR ld/19013
+       * elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
+       will be handled by elf_link_input_bfd.  Rename abfd param to obfd.
+
+2015-09-30  Rich Felker  <dalias@libc.org>
+
+       * config.bfd (targ_selvecs): Add fdpic and misc targets
+       for sh*-*-linux*.
+
+2015-09-29  Andrew Stubbs  <ams@codesourcery.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/19020
+       * bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
+       * bfd-in2.h: Regenerated.
+
+2015-08-11  Peter Zotov  <whitequark@whitequark.org>
+
+       PR ld/18759
+       * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
+       (R_OR1K_16_PCREL): Likewise.
+       (R_OR1K_8_PCREL): Likewise.
+
+2015-09-23  Nick Clifton  <nickc@redhat.com>
+
+       * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
+       order to avoid problems with left shifting negative values.
+       (abs32code): Likewise.
+       * mach-o.c (FILE_ALIGN): Likewise.
+       * coff-rs6000.c (xcoff_debug_sections): Delete unused static
+       array.
+       * elf32-visium.c (visium_reloc_map): Likewise.
+       * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
+       calls to abs function.
+       * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
+       * elf32-score.c (score_elf_final_link_relocate): Likewise.
+       * elf32-score7.c (score_elf_final_link_relocate): Likewise.
+       * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
+       of shifting to create a negative mask.
+       * elf32-msp430.c (elf_backend_special_sections): Define.
+       * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
+       (got_hi16_reloc_p): Delete unused function.
+       * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
+       partition name.
+
+2015-09-23  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/15835
+       * elf-bfd.h (struct elf_section_list): New structure.
+       (struct elf_obj_tdata): Replace symtab_shndx_hdr with
+       symtab_shndx_list.  Delete symtab_shndx_section.
+       (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
+       * elf.c (bfd_elf_get_syms): If symtab index sections are present,
+       scan them for the section that matches the provided symbol table.
+       (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
+       (assign_section_numbers): Use the first symtab index table in the
+       list.
+       (_bfd_elf_compute_section_file_positions): Replace use of
+       symtab_shndx_hdr with use of symtab_shndx_list.
+       (find_section_in_list): New function.
+       (assign_file_postions_except_relocs): Use new function.
+       (_bfd_elf_copy_private_symbol_data): Likewise.
+       (swap_out_syms): Handle multiple symbol table index sections.
+       * elf32-m32c.c (m32c_elf_relax_section): Replace use of
+       symtab_shndx_hdr with use of symtab_shndx_list.
+       * elf32-rl78.c (rl78_elf_relax_section): Likewise.
+       * elf32-rx.c (rx_relax_section): Likewise.
+       * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
+       * elflink.c (bfd_elf_final_link): Likewise.
+
+2015-09-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
+       ch_type.
+       (bfd_check_compression_header): Use bfd_get_32 on ch_type.
+       (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
+       on ch_type.
+
+2015-09-20  Rich Felker  <dalias@libc.org>
+
+       * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
+       .interp when info->nointerp.
+       (bfd_elf_size_dynamic_sections): Adjust assert.
+       * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
+       when info->nointerp.
+       * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
+       * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+       * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
+       * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+       * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+       * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
+       * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
+       * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+       * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
+       * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
+       * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
+       * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
+       * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+       * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
+       * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
+       * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
+       * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
+       * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+       * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
+       * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
+       * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+       * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
+       * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+       * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
+
+2015-09-18  Doug Evans  <xdje42@gmail.com>
+
+       * targets.c (enum bfd_flavour): Add comment.
+       (bfd_flavour_name): New function.
+       * bfd-in2.h: Regenerate.
+
+2015-09-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
+       from no_tls_get_addr_opt.
+       * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
+       (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
+       default of -1.
+
+2015-09-17  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elflink.c (elf_link_adjust_relocs): Correct start of insertion
+       sort main loop.
+
+2015-09-16  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
+       insert a run.  Return status in case of malloc failure.
+       Adjust callers.
+
+2015-09-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (elf_xtensa_be_plt_entry)
+       (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
+       windowed ABI.
+       (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
+       up instructions according to ABI.
+
+2015-09-14  Rich Felker  <dalias@libc.org>
+
+       * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
+       instead of clearing it on cross-section relocations.
+       (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
+
+2015-09-12  Helge Deller  <deller@gmx.de>
+
+       PR ld/18514
+       * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
+       size to 0.
+
+2015-09-09  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
+
+2015-09-09  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
+       TLS local dynamic traditional relocations types.
+       (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
+       local executable relaxation.
+
+2015-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
+       convert_mov_to_lea.
+
+2015-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (R_386_irelative): Renamed to ...
+       (R_386_ext2): This.
+       (R_386_vt_offset): Updated.
+       (elf_i386_rtype_to_howto): Likewise.
+       (elf_i386_relocate_section): Likewise.
+
+2015-09-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18900
+       * elf32-i386.c (elf_i386_link_hash_entry): Add
+       func_pointer_refcount.
+       (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
+       (elf_i386_get_local_sym_hash): Likewise.
+       (elf_i386_copy_indirect_symbol): Also copy
+       func_pointer_refcount.
+       (elf_i386_check_relocs): Increment func_pointer_refcount.
+       (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
+       (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
+       there are only function pointer relocations which can be
+       resolved at run-time.  Keep dynanamic relocations for run-time
+       function pointer initialization.
+       (elf_i386_relocate_section): Copy dynamic function pointer
+       relocations.
+       * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
+       func_pointer_refcount.
+       (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
+       (elf_x86_64_get_local_sym_hash): Likewise.
+       (elf_x86_64_copy_indirect_symbol): Also copy
+       func_pointer_refcount.
+       (elf_x86_64_check_relocs): Increment func_pointer_refcount.
+       (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
+       (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
+       there are only function pointer relocations which can be
+       resolved at run-time.  Keep dynanamic relocations for run-time
+       function pointer initialization.
+       (elf_x86_64_relocate_section): Copy dynamic function pointer
+       relocations.
+
+2015-09-01  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
+       if .opd section has been edited.
+
+2015-09-01  Alan Modra  <amodra@gmail.com>
+
+       PR 18878
+       * elf64-ppc.c (ARRAY_SIZE): Define.  Use throughout.
+       (enum ppc_stub_type): Add ppc_stub_save_res.
+       (struct map_stub): Add "next" and "needs_save_res".
+       (struct ppc_link_hash_entry): Add "save_res" flag.
+       (struct ppc_link_hash_table): Add "group".
+       (sfpr_define): Add stub_sec param.  Define symbol in stub_sec if
+       stub_sec is non-null.  Set "save_res".
+       (save_res_funcs): Make file scope, rename from funcs.  Adjust uses.
+       (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
+       (ppc_build_one_stub): Handle ppc_stub_save_res.
+       (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
+       stub for linker defined save_res sym.
+       (group_sections): Init new fields of struct map_stub.
+       (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
+       (ppc64_elf_build_stubs): Copy save/restore funcs to groups.  Emit
+       alias syms too.
+       (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
+
+2015-08-31  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (get_r2off): Return -1 on error.
+       (ppc_build_one_stub): Adjust for get_r2off change.  Don't emit
+       addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
+       (ppc_size_one_stub): Corresponding size changes for r2off stubs.
+       Add condition in test for -R objects.
+
+2015-08-31  Alan Modra  <amodra@gmail.com>
+
+       * section.c (section_id): Make file scope.
+       (bfd_get_next_section_id): New function.
+       * elf64-ppc.c (struct map_stub): Remove toc_off field.  Move decl.
+       (struct ppc_stub_hash_entry): Delete stub_sec and id_sec.  Add
+       group.  Update all uses.
+       (struct ppc_link_hash_table): Delete top_id, top_index, and
+       input_list.  Add sec_info_arr_size.  Rename stub_group to
+       sec_info, and make group info indirect.  Update stub_group refs
+       throughout file.
+       (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
+       entry.
+       (ppc_build_one_stub): Delete FIXME.
+       (ppc64_elf_setup_section_lists): Size htab->sec_info for all
+       sections, not just input sections.  Don't create htab->input_list.
+       (ppc64_elf_next_input_section): Update to use sec_info union as
+       list pointer.
+       (PREV_SEC): Delete.
+       (group_sections): Pass "info" param rather than "htab".  Iterate
+       over output sections rather than input_list.  Use sec_info union
+       as list pointers.  Alloc atruct map_stub, and return fail status.
+       * bfd-in2.h: Regenerate.
+
+2015-08-31  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (elf_sort_symbol): Use correctly sized type for
+       calculating signed section->id difference.
+       (elf_link_add_object_symbols): Likewise.
+       * pef.c (bfd_pef_scan_start_address): Warning fix.
+       * vms-alpha.c (vms_new_section_hook): Likewise.
+
+2015-08-31  Alan Modra  <amodra@gmail.com>
+
+       * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
+       (find_relocs_at_address_addr): Make "reloc_type" an enum.
+       (nds32_elf_relax_delete_blanks): Warning fix.
+       (nds32_elf_relax_loadstore): Correct loop bound.
+
+2015-08-31  Alan Modra  <amodra@gmail.com>
+
+       * section.c (struct bfd_section): Make "id" and "index" unsigned.
+       * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
+       * elf.c (elf_map_symbols): Likewise.
+       * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
+       (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
+       (ppc64_elf_setup_section_lists): Ditto for local vars.
+       * elf32-arm.c: Similarly to elf64-ppc.c.
+       * elf32-avr.c: Likewise.
+       * elf32-hppa.c: Likewise.
+       * elf32-m68hc1x.c: Likewise.
+       * elf32-metag.c: Likewise.
+       * elf32-nios2.c: Likewise.
+       * elfnn-aarch64.c: Likewise.
+       * simple.c (struct saved_offsets): Make "section_count" unsigned.
+       * bfd-in2.h: Regenerate.
+
+2015-08-27  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
+       (elf_backend_sort_relocs_p): Define.
+
+2015-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
+       (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
+       (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
+       New functions.
+       (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
+
+2015-08-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       PR ld/18401
+       * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
+       ISA value to a bfd machine number.
+       (bfd_mips_isa_ext): Update the ISA level and revision if
+       necessary.  Use mips_mach_extends_p to decide if the ISA extension
+       needs to be set.
+       (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
+       be inferred from the ABI setting.  Set the ISA level from the
+       maximum of the incoming and outgoing ISA levels.
+
+2015-08-25  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/18854
+       * elf.c (bfd_section_from_shdr): Replace assertions with warnings
+       about multiple symbol tables.
+
+2015-08-25  Renlin Li  <renlin.li@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
+       ILP64.
+       * bfd-in2.h: Regenerate.
+
+2015-08-22  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
+       Don't copy fields not set by _bfd_elf_swap_verdef_in.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
+       types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
+       BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
+       BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
+       BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
+       BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
+       BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
+       BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
+       BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       PR ld/18276
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
+       types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
+       BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
+       BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
+       (aarch64_reloc_got_type): Likewise.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       (elfNN_aarch64_relocate_section): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-19  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+       BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
+
+2015-08-19  Alan Modra  <amodra@gmail.com>
+
+       * elf-s390-common.c: Simplify expressions using
+       bfd_linke_executable, bfd_link_pie and bfd_link_pic.
+       * elf32-arm.c: Likewise.
+       * elf32-bfin.c: Likewise.
+       * elf32-frv.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-nios2.c: Likewise.
+       * elf32-ppc.c: Likewise.
+       * elf32-s390.c: Likewise.
+       * elf32-sh.c: Likewise.
+       * elf64-alpha.c: Likewise.
+       * elf64-ppc.c: Likewise.
+       * elf64-s390.c: Likewise.
+       * elflink.c: Likewise.
+
+2015-08-18  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
+       (elfNN_aarch64_relocate_section): Likewise.
+       (elfNN_aarch64_gc_sweep_hook): Likewise.
+       (elfNN_aarch64_check_relocs): Likewise.
+
+2015-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18841
+       * elf-bfd.h (elf_link_hash_table): Add dynsym.
+       * elf32-i386.c (elf_i386_reloc_type_class): Return
+       reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
+       * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
+       * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
+       (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
+       (elf_final_link_info): Remove dynsym_sec.
+       (elf_link_output_extsym): Replace dynsym_sec with dynsym.
+       (bfd_elf_final_link): Remove reference to dynsym_sec.  Replace
+       dynsym_sec with dynsym.
+
+2015-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd/aoutx.h: Replace shared, executable, relocatable and pie
+       fields with bfd_link_executable, bfd_link_dll,
+       bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
+       * bfd/bout.c: Likewise.
+       * bfd/coff-alpha.c: Likewise.
+       * bfd/coff-arm.c: Likewise.
+       * bfd/coff-i386.c: Likewise.
+       * bfd/coff-i960.c: Likewise.
+       * bfd/coff-m68k.c: Likewise.
+       * bfd/coff-mcore.c: Likewise.
+       * bfd/coff-mips.c: Likewise.
+       * bfd/coff-ppc.c: Likewise.
+       * bfd/coff-rs6000.c: Likewise.
+       * bfd/coff-sh.c: Likewise.
+       * bfd/coff-tic80.c: Likewise.
+       * bfd/coff-x86_64.c: Likewise.
+       * bfd/coff64-rs6000.c: Likewise.
+       * bfd/coffgen.c: Likewise.
+       * bfd/cofflink.c: Likewise.
+       * bfd/ecoff.c: Likewise.
+       * bfd/ecofflink.c: Likewise.
+       * bfd/elf-bfd.h: Likewise.
+       * bfd/elf-eh-frame.c: Likewise.
+       * bfd/elf-ifunc.c: Likewise.
+       * bfd/elf-m10200.c: Likewise.
+       * bfd/elf-m10300.c: Likewise.
+       * bfd/elf-s390-common.c: Likewise.
+       * bfd/elf-vxworks.c: Likewise.
+       * bfd/elf.c: Likewise.
+       * bfd/elf32-arm.c: Likewise.
+       * bfd/elf32-avr.c: Likewise.
+       * bfd/elf32-bfin.c: Likewise.
+       * bfd/elf32-cr16.c: Likewise.
+       * bfd/elf32-cr16c.c: Likewise.
+       * bfd/elf32-cris.c: Likewise.
+       * bfd/elf32-crx.c: Likewise.
+       * bfd/elf32-d10v.c: Likewise.
+       * bfd/elf32-dlx.c: Likewise.
+       * bfd/elf32-epiphany.c: Likewise.
+       * bfd/elf32-fr30.c: Likewise.
+       * bfd/elf32-frv.c: Likewise.
+       * bfd/elf32-ft32.c: Likewise.
+       * bfd/elf32-h8300.c: Likewise.
+       * bfd/elf32-hppa.c: Likewise.
+       * bfd/elf32-i370.c: Likewise.
+       * bfd/elf32-i386.c: Likewise.
+       * bfd/elf32-i860.c: Likewise.
+       * bfd/elf32-ip2k.c: Likewise.
+       * bfd/elf32-iq2000.c: Likewise.
+       * bfd/elf32-lm32.c: Likewise.
+       * bfd/elf32-m32c.c: Likewise.
+       * bfd/elf32-m32r.c: Likewise.
+       * bfd/elf32-m68hc11.c: Likewise.
+       * bfd/elf32-m68hc1x.c: Likewise.
+       * bfd/elf32-m68k.c: Likewise.
+       * bfd/elf32-mcore.c: Likewise.
+       * bfd/elf32-mep.c: Likewise.
+       * bfd/elf32-metag.c: Likewise.
+       * bfd/elf32-microblaze.c: Likewise.
+       * bfd/elf32-moxie.c: Likewise.
+       * bfd/elf32-msp430.c: Likewise.
+       * bfd/elf32-mt.c: Likewise.
+       * bfd/elf32-nds32.c: Likewise.
+       * bfd/elf32-nios2.c: Likewise.
+       * bfd/elf32-or1k.c: Likewise.
+       * bfd/elf32-ppc.c: Likewise.
+       * bfd/elf32-rl78.c: Likewise.
+       * bfd/elf32-rx.c: Likewise.
+       * bfd/elf32-s390.c: Likewise.
+       * bfd/elf32-score.c: Likewise.
+       * bfd/elf32-score7.c: Likewise.
+       * bfd/elf32-sh-symbian.c: Likewise.
+       * bfd/elf32-sh.c: Likewise.
+       * bfd/elf32-sh64.c: Likewise.
+       * bfd/elf32-spu.c: Likewise.
+       * bfd/elf32-tic6x.c: Likewise.
+       * bfd/elf32-tilepro.c: Likewise.
+       * bfd/elf32-v850.c: Likewise.
+       * bfd/elf32-vax.c: Likewise.
+       * bfd/elf32-visium.c: Likewise.
+       * bfd/elf32-xc16x.c: Likewise.
+       * bfd/elf32-xstormy16.c: Likewise.
+       * bfd/elf32-xtensa.c: Likewise.
+       * bfd/elf64-alpha.c: Likewise.
+       * bfd/elf64-hppa.c: Likewise.
+       * bfd/elf64-ia64-vms.c: Likewise.
+       * bfd/elf64-mmix.c: Likewise.
+       * bfd/elf64-ppc.c: Likewise.
+       * bfd/elf64-s390.c: Likewise.
+       * bfd/elf64-sh64.c: Likewise.
+       * bfd/elf64-x86-64.c: Likewise.
+       * bfd/elflink.c: Likewise.
+       * bfd/elfnn-aarch64.c: Likewise.
+       * bfd/elfnn-ia64.c: Likewise.
+       * bfd/elfxx-mips.c: Likewise.
+       * bfd/elfxx-sparc.c: Likewise.
+       * bfd/elfxx-tilegx.c: Likewise.
+       * bfd/i386linux.c: Likewise.
+       * bfd/linker.c: Likewise.
+       * bfd/m68klinux.c: Likewise.
+       * bfd/pdp11.c: Likewise.
+       * bfd/pe-mips.c: Likewise.
+       * bfd/peXXigen.c: Likewise.
+       * bfd/reloc.c: Likewise.
+       * bfd/reloc16.c: Likewise.
+       * bfd/sparclinux.c: Likewise.
+       * bfd/sunos.c: Likewise.
+       * bfd/vms-alpha.c: Likewise.
+       * bfd/xcofflink.c: Likewise.
+
+2015-08-18  Alan Modra  <amodra@gmail.com>
+
+       PR 18667
+       * Makefile.am: Use $(SED) in place of sed throughout.
+       * Makefile.in: Regenerate.
+
+2015-08-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
+       if already defined, and set linker_def.
+       (ppc64_elf_set_toc): Use .TOC. value if defined other than by
+       the backend.
+
+2015-08-14  Alan Modra  <amodra@gmail.com>
+
+       PR ld/18759
+       * elf32-or1k.c: Revert 2015-08-11 change.
+
+2015-08-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18801
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
+       for read-only segment with dynamic IFUNC relocations.
+       * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
+
+2015-08-12  Simon Dardis  <simon.dardis@imgtec.com>
+
+       * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
+       (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
+       mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
+       Update to use 'or' instead of 'addu/daddu'.
+       (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
+       (move_insns_32): Reorder table.
+
+2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
+       relocations in debug sections.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
+       message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
+       (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
+       Loose the check for symbol from ABS section.
+       (elfNN_aarch64_size_stubs): Pass sym_sec.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       PR ld/18668
+       * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
+       calls go through plt stub.
+       (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
+       JUMP26 relocation to support inserting veneer for call to plt stub.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
+       BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
+       (aarch64_reloc_got_type): Likewise.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       (elfNN_aarch64_relocate_section): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+       BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
+       BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
+       (aarch64_reloc_got_type): Likewise.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       (elfNN_aarch64_relocate_section): Likewise.
+       (elfNN_aarch64_gc_sweep_hook): Likewise.
+       (elfNN_aarch64_check_relocs): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+       BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
+       BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
+       (aarch64_reloc_got_type): Likewise.
+       (elfNN_aarch64_final_link_relocate): Likewise.
+       (elfNN_aarch64_relocate_section): Likewise.
+       (elfNN_aarch64_gc_sweep_hook): Likewise.
+       (elfNN_aarch64_check_relocs): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-08-11  Jiong Wang  <jiong.wang@arm.com>
+
+       * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+       BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
+
+2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18808
+       * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
+       relocations in debug sections.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2015-08-11  Peter Zotov  <whitequark@whitequark.org>
+
+       PR ld/18759
+       * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
+       (R_OR1K_16_PCREL): Likewise.
+       (R_OR1K_8_PCREL): Likewise.
+
+2015-08-11  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/18747
+       * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
+       opcode count.
+
+       PR binutils/18758
+       * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
+       group information.
+       * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
+       used_by_bfd pointer.
+       (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
+
+2015-08-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
+
+2015-08-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (elf_symbol_version): New enum.
+       (elf_link_hash_entry): Replace hidden with versioned.
+       * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
+       version if the symbol is unversioned.  Initialize versioned.
+       (_bfd_elf_add_default_symbol): Don't look for symbol version
+       if the symbol is unversioned or hidden.  Initialize versioned.
+       (elf_collect_hash_codes): Don't look for symbol version if the
+       symbol is unversioned.
+       (elf_collect_gnu_hash_codes): Likewise.
+       (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
+       (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
+       hidden.
+       (elf_link_output_extsym): Likewise.
+
+2015-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/18785
+       * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
+       sh_link and sh_info fields in stripped section headers, we also
+       check if the sh_type, sh_flags, sh_addralign and sh_entsize
+       fields of the output section match the output.  Since
+       --only-keep-debug turns all non-debug sections into SHT_NOBITS
+       sections, the output SHT_NOBITS type matches any input type.
+
+2015-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18720
+       * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
+       if the new symbol matches the existing one.  The new hidden
+       versioned symbol matches the existing symbol if they have the
+       same symbol version. Update the existing symbol only if they
+       match.
+       (_bfd_elf_add_default_symbol): Update call to
+       _bfd_elf_merge_symbol.
+       (_bfd_elf_link_assign_sym_version): Don't set the hidden field
+       here.
+       (elf_link_add_object_symbols): Override a definition only if the
+       new symbol matches the existing one.
+       (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
+       the hidden versioned symbol.
+       (elf_link_output_extsym): Bind a symbol locally when linking
+       executable if it is locally defined, hidden versioned, not
+       referenced by shared library and not exported.  Turn on
+       VERSYM_HIDDEN only if the hidden versioned symbol is defined
+       locally.
+
+2015-08-05  Nick Clifton  <nickc@redhat.com>
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
+       sh_info fields of sections whose type has been changed to
+       SHT_NOBITS.
+
+2015-08-04  Yuriy M. Kaminskiy"  <yumkam@gmail.com>
+           Tyler Hicks  <tyhicks@canonical.com>
+
+       PR binutils/18750
+       * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
+       and stack overflow when char is signed and \200-\376 was in place of hex
+       digit; also fixes \377 was handled as EOF instead of "incorrect character".
+       (ihex_read_section): Changed for consistency.
+       (ihex_bad_byte): Prevent (now impossible to trigger) stack
+       overflow and incorrect escape sequence handling.
+       * srec.c (srec_bad_byte): Likewise.
+
+2015-08-03  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (cris_elf_relocate_section)
+       (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
+       (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
+       just link_info->symbolic, to check if a symbol should be bound
+       symbolically.
+
+2015-07-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18735
+       * elflink.c (_bfd_elf_add_default_symbol): Add the default
+       symbol if not performing a relocatable link.
+       (elf_link_add_object_symbols): Adjust the default symbol if
+       not performing a relocatable link.
+
+2015-07-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (elf_link_add_object_symbols): Remove
+       !info->relocatable check for info->executable.  Add
+       !info->relocatable check for !info->executable.
+       (elf_link_output_extsym): Remove
+       !info->relocatable check for info->executable.
+
+2015-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
+       assignment loop for bfd plugin objects.
+
+2015-07-28  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
+       segment for loaded sections after nonloaded sections if the
+       sections are on the same page.
+
+2015-07-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
+       * config.in, configure: Regenerate.
+
+2015-07-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2015-07-27  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-msp430.c (uses_large_model): New function.
+       (msp430_elf_eh_frame_address_size): New function.
+       (elf_backend_eh_frame_address_size): Define.
+
+2015-07-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR ld/18705
+       * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
+
+2015-07-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR ld/18705
+       * elf32-arm.c (elf_backend_extern_protected_data): Define.
+
+2015-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18718
+       * elflink.c (elf_link_output_extsym): Check symbol version
+       section check only if not linking executable, the symbol is
+       referenced by shared library or not locally defined.
+
+2015-07-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
+       check if a symbol should be bound symbolically.
+       * elf32-hppa.c (elf32_hppa_check_relocs,
+       elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
+       elf32_hppa_finish_dynamic_symbol): Likewise.
+       * elf32-m68k.c (elf_m68k_check_relocs,
+       elf_m68k_relocate_section): Likewise.
+       * elf32-nios2.c (nios2_elf32_relocate_section,
+       nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
+       elf32_tic6x_relocate_section): Likewise.
+
+2015-07-24  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
+       prefix for reloc section corresponding to rela section associated
+       with renamed debug section.
+
+2015-07-24  Alan Modra  <amodra@gmail.com>
+
+       * section.c (bfd_get_section_by_name_if): Iterate over entire hash
+       chain.
+
+2015-07-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
+       <DT_MIPS_RLD_MAP_REL>: Add target address to host address
+       difference, not to host pointer.
+
+2015-07-22  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (opd_entry_value): Remove assertion.  Instead,
+       return -1 if symbol referenced is not defined.  Tidy.
+
 2015-07-20  Alan Modra  <amodra@gmail.com>
 
        * po/SRC-POTFILES.in: Regenerate.
This page took 0.04573 seconds and 4 git commands to generate.