X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=37ba69fa3aa2ad25e8b2b840ec74ae4f56b56574;hb=9b8b325a1f4cdaf235e7d803849dde6ededec865;hp=97ed6ea9988af879cf194d8c3de6e1a6a2209f48;hpb=422f11824b3abf6c71042e2ee3aed572f250fc89;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 97ed6ea998..37ba69fa3a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,659 @@ +2015-09-20 Rich Felker + + * 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 + + * targets.c (enum bfd_flavour): Add comment. + (bfd_flavour_name): New function. + * bfd-in2.h: Regenerate. + +2015-09-18 Alan Modra + + * elf64-ppc.h (struct ppc64_elf_params ): 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 + + PR 18867 + * elflink.c (elf_link_adjust_relocs): Correct start of insertion + sort main loop. + +2015-09-16 Alan Modra + + 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 + + * 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 + + * 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 + + PR ld/18514 + * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry + size to 0. + +2015-09-09 Jiong Wang + + * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically. + +2015-09-09 Jiong Wang + + * 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 + + * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove + convert_mov_to_lea. + +2015-09-02 H.J. Lu + + * 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 + + 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 + + * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value + if .opd section has been edited. + +2015-09-01 Alan Modra + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + PR 18867 + * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function. + (elf_backend_sort_relocs_p): Define. + +2015-08-26 Alan Modra + + 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 + + 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 + + PR binutils/18854 + * elf.c (bfd_section_from_shdr): Replace assertions with warnings + about multiple symbol tables. + +2015-08-25 Renlin Li + + * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of + ILP64. + * bfd-in2.h: Regenerate. + +2015-08-22 Alan Modra + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + PR 18667 + * Makefile.am: Use $(SED) in place of sed throughout. + * Makefile.in: Regenerate. + +2015-08-18 Alan Modra + + * 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 + + PR ld/18759 + * elf32-or1k.c: Revert 2015-08-11 change. + +2015-08-13 H.J. Lu + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + 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 + + * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo. + 2015-08-10 H.J. Lu * elf-bfd.h (elf_symbol_version): New enum. @@ -19,7 +675,7 @@ 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 + 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.