X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=bfd%2FChangeLog;h=9e254a397f65e95d78888ed9110883345de94572;hb=6fc5bb5718b72250cffb9c09110515971f72e116;hp=89a6a0c062a6f55dab6b6f70445dcd80a5c6f2d9;hpb=a5499fa4649e4325cf46edfff2f24dae2fe2afef;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 89a6a0c062..9e254a397f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,750 @@ +2015-08-27 Alan Modra + + * 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. + (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 + + 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 + + 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 + + * 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" + Tyler Hicks + + 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 + + * 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 + + 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 + + * 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 + + * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type + assignment loop for bfd plugin objects. + +2015-07-28 Alan Modra + + * 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 + + * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS. + * config.in, configure: Regenerate. + +2015-07-27 H.J. Lu + + * configure: Regenerated. + +2015-07-27 Nick Clifton + + * 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 + + PR ld/18705 + * elfnn-aarch64.c (elf_backend_extern_protected_data): Define. + +2015-07-27 Szabolcs Nagy + + PR ld/18705 + * elf32-arm.c (elf_backend_extern_protected_data): Define. + +2015-07-25 H.J. Lu + + 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 + + * 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 + + * 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 + + * section.c (bfd_get_section_by_name_if): Iterate over entire hash + chain. + +2015-07-23 Joseph Myers + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections) + : Add target address to host address + difference, not to host pointer. + +2015-07-22 Alan Modra + + * elf64-ppc.c (opd_entry_value): Remove assertion. Instead, + return -1 if symbol referenced is not defined. Tidy. + +2015-07-20 Alan Modra + + * po/SRC-POTFILES.in: Regenerate. + +2015-07-17 Jiong Wang + + * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically. + (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically. + +2015-07-16 Jiong Wang + + * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize + BFD_RELOC_AARCH64_TLSLD_ADR_PREL21. + (aarch64_reloc_got_type): Ditto. + (elfNN_aarch64_final_link_relocate): Ditto. + (elfNN_aarch64_relocate_section): Ditto. + (elfNN_aarch64_gc_sweep_hook): Ditto. + (elfNN_aarch64_check_relocs): Ditto. + * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto. + (_bfd_aarch64_elf_resolve_relocation): Ditto. + +2015-07-16 Jiong Wang + + * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for + BFD_RELOC_AARCH64_TLSLD_ADR_PREL21. + +2015-07-10 H.J. Lu + + PR binutils/18656 + * bfd.c (bfd_convert_section_size): New function. + (bfd_convert_section_contents): Likewise. + * bfd-in2.h: Regenerated. + +2015-07-09 Catherine Moore + + * elflink.c (bfd_elf_size_dynamic_sections): Call to + _bfd_elf_maybe_strip_eh_frame_hdr should be before + bed->elf_backend_size_dynamic_sections. + +2015-07-08 Pitchumani Sivanupandi + + * elf32-avr.c: Add 32 bit PC relative relocation for AVR target. + +2015-07-05 Richard Sandiford + + * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value + plus addend rather than the original st_value when looking up + entries in opd->adjust. + +2015-07-03 Kai Tietz + Nick Clifton + + PR ld/11539 + * coffcode.h (coff_bfd_gc_sections): Define default + to bfd_coff_gc_sections function. + (coff_gc_mark_hook_fn): New type. + * coffgen.c (init_reloc_cookie): Copy and adjust coff + related code about gc-sections from elflink.c to here. + (fini_reloc_cookie): Likewise. + (init_reloc_cookie_rels): Likewise. + (fini_reloc_cookie_rels): Likewise. + (init_reloc_cookie_for_section): Likewise. + (fini_reloc_cookie_for_section): Likewise. + (_bfd_coff_gc_mark_hook): Likewise. + (_bfd_coff_gc_mark_rsec): Likewise. + (_bfd_coff_gc_mark_reloc): Likewise. + (_bfd_coff_gc_mark): Likewise. + (_bfd_coff_gc_mark_extra_sections): Likewise. + (coff_gc_sweep_symbol_info): Likewise. + (coff_gc_sweep_symbol): Likewise. + (gc_sweep_hook_fn): Likewise. + (coff_gc_sweep): Likewise. + (bfd_coff_gc_sections): Likewise. + (_bfd_coff_gc_keep): Likewise. + * libcoff-in.h (coff_reloc_cookie): New struct. + (bfd_coff_gc_sections): New prototype. + * libcoff.h: Regenerate. + +2015-07-01 Sandra Loosemore + Cesar Philippidis + + * bfd-in2.h: Regenerated. + * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to... + (elf_nios2_r1_howto_table_rel): This. + (elf_nios2_r2_howto_table_rel): New. + (BFD_IS_R2): New. + (lookup_howto): Add ABFD parameter. Adjust to look up in either + the R1 or R2 relocation table, as determined by ABFD. + (nios2_reloc_map): Add R2 relocations. + (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto. + Pass it the ABFD parameter. + (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to + return an R1 or R2 relocation. + (nios2_elf32_info_to_howto): Do lookup using lookup_howto. + Pass it the ABFD parameter. + (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte + boundary. + (nios2_elf32_relocate_section): Adjust call to lookup_howto. + * libbfd.h: Regenerated. + * reloc.c (BFD_RELOC_NIOS2_R2_S12): New. + (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New. + (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New. + (BFD_RELOC_NIOS2_R2_T1I7_2): New. + (BFD_RELOC_NIOS2_R2_T2I4): New. + (BFD_RELOC_NIOS2_R2_T2I4_1): New. + (BFD_RELOC_NIOS2_R2_T2I4_2): New. + (BFD_RELOC_NIOS2_R2_X1I7_2): New. + (BFD_RELOC_NIOS2_R2_X2L5): New. + (BFD_RELOC_NIOS2_R2_F1I5_2): New. + (BFD_RELOC_NIOS2_R2_L5I4X1): New. + (BFD_RELOC_NIOS2_R2_T1X1I6): New. + (BFD_RELOC_NIOS2_R2_T1X1I6_2): New. + +2015-07-01 Sandra Loosemore + Cesar Philippidis + + * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New. + * bfd-in2.h: Regenerated. + * cpu-nios2.c (nios2_compatible): New. + (N): Use nios2_compatible instead of bfd_default_compatible. + (NIOS2R1_NEXT, NIOS2R2_NEXT): Define. + (arch_info_struct): New. + (bfd_nios2_arch): Chain to NIOS2R1_NEXT. + * elf32-nios2.c (is_nios2_elf): New. + (nios2_elf32_merge_private_bfd_data): New. + (nios2_elf32_object_p): New. + (bfd_elf32_bfd_merge_private_bfd_data): Define. + (elf_backend_object_p): Define. + +2015-07-01 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor. + +2015-06-30 Nick Clifton + + PR binutils/18570 + * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag. + (write_obj_attribute): Likewise. + (elf_new_obj_attr): Likewise. + (bfd_elf_get_obj_attr_int): Likewise. + (bfd_elf_add_obj_attr_int): Likewise. + (bfd_elf_add_obj_attr_string): Likewise. + (bfd_elf_add_obj_attr_int_string): Likewise. + (gnu_obj_attrs_arg_type): Likewise. + (_bfd_elf_obj_attrs_arg_type): Likewise. + (_bfd_elf_parse_attributes): Likewise. + (_bfd_elf_merge_unknown_attribute_list): Likewise. + * elf-bfd.h (struct obj_attribute_list): Likewise. + Update prototypes. + +2015-06-28 H.J. Lu + + * bfd-in.h (compressed_debug_section_type): Remove + COMPRESS_DEBUG_ZLIB. + * bfd-in2.h : Regenerated. + 2015-06-26 Matthew Fortune * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable @@ -474,77 +1221,6 @@ * elf64-ppc.c (TOC_BASE_ALIGN): Define. (ppc64_elf_next_toc_section): Align multi-got toc base. (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol. -======= -2015-05-04 Catherine Moore - - * elfxx-target.h: Add missing #endif. - -2015-04-22 Catherine Moore - - * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_entry): Don't write - the .eh_frame_entry section if the corresponding text section is marked - with SEC_EXCLUDE. - -2015-04-22 Catherine Moore - Bernd Schmidt - Paul Brook - - * bfd-in2.h (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define. - * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define. - (COMPACT_EH_CANT_UNWIND_OPCODE): Define. - (dwarf_eh_frame_hdr_info): New struct. - (compact_eh_frame_hdr_info): New struct. - (eh_frame_hdr_info): Separate dwarf and compact fields. - (elf_backend_data): Add compact_eh_encoding and cant_unwind_opcode - fields. - (bfd_elf_section_data): Add eh_frame_entry field. - (elf_section_eh_frame_entry): Define. - (bfd_elf_parse_eh_frame_entries): Declare. - (_bfd_elf_parse_eh_frame_entry): Declare. - (_bfd_elf_end_eh_frame_parsing): Declare. - (_bfd_elf_write_section_eh_frame_entry): Declare. - (_bfd_elf_fixup_eh_frame_hdr): Declare. - (_bfd_elf_eh_frame_entry_present): Declare. - (_bfd_elf_section_for_symbol): Declare. - * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function. - (bfd_elf_record_eh_frame_entry): New function. - (_bfd_elf_parse_eh_frame_entry): New function. - (_bfd_elf_parse_eh_frame): Update hdr_info field references. - (cmp_eh_frame_hdr): New function. - (add_eh_frame_hdr_terminator): New function. - (_bfd_elf_end_eh_frame_parsing): New function. - (find_merged_cie): Update hdr_info field references. - (_bfd_elf_discard_section_eh_frame): Likewise. - (_bfd_elf_discard_section_eh_frame_hdr): Likewise. - Add Compact EH support. - (_bfd_elf_eh_frame_entry_present): New function. - (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support. - (_bfd_elf_write_section_eh_frame_entry): New function. - (_bfd_elf_write_section_eh_frame): Update hdr_info field references. - (_bfd_elf_write_section_eh_frame): Likewise. - (_bfd_elf_fixup_eh_frame_hdr): New function. - (write_compact_eh_frame_hdr): New function. - (_bfd_elf_write_section_eh_frame_hdr): Compact EH support. Update - hdr_info field references. - * elflink.c (_bfd_elf_section_for_symbol): New function. - (elf_section_ignore_discarded_relocs, elf_link_input_bfd): - Handle SEC_INFO_TYPE_EH_FRAME_ENTRY. - (bfd_elf_final_link): Call _bfd_elf_fixup_eh_frame_hdr. - (_bfd_elf_gc_mark): Support Compact EH. - (bfd_elf_parse_eh_frame_entries): New function. - (bfd_elf_gc_sections): Support Compact EH. - (bfd_elf_discard_info): Likewise. - * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding): New function. - (_bfd_mips_elf_cant_unwind_opcode): New function. - * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare. - (_bfd_mips_elf_cant_unwind_opcode): Declare. - (elf_backend_compact_eh_encoding): Define. - (elf_backend_cant_unwind_opcode): Define. - * elfxx-target.h (elf_backend_compact_eh_encoding): - Provide default definition. - (elf_backend_cant_unwind_opcode): Provide default definition. - * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define. ->>>>>>> 2015-05-04 Catherine Moore 2015-04-22 H.J. Lu