Support ELFv2 stack frame.
[binutils-gdb.git] / bfd / ChangeLog
index 0b1260b0359401bd00e41e2162a29f9c294affb5..6afd755a283ada655b1bab4fa1871ec941f31c74 100644 (file)
@@ -1,3 +1,147 @@
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (STK_LR, STK_TOC, STK_LINKER): Define.
+       (savegpr0_tail, restgpr0_tail, savefpr0_tail, restfpr0_tail)
+       build_plt_stub, build_tls_get_addr_stub, ppc_build_one_stub,
+       ppc64_elf_relocate_section): Use new defines.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE): Add htab
+       parameter and adjust for ELFv2.  Update all uses.
+       (PLT_CALL_STUB_SIZE): Delete.
+       (ppc64_elf_get_synthetic_symtab): Support new glink layout.
+       (allocate_dynrelocs): Likewise.
+       (plt_stub_size, build_plt_stub): Adjust for ELFv2.
+       (get_r2off): Return 0 for ELFv2 -R.
+       (ppc_build_one_stub, ppc_size_one_stub): Adjust for ELFv2.
+       (ppc64_elf_size_stubs): Likewise.
+       (ppc64_elf_build_stubs): Add new ELFv2 glink.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * elf64-ppc.c (struct ppc_stub_hash_entry): Add "other".
+       (stub_hash_newfunc): Init new ppc_stub_hash_entry field, and one
+       we forgot, "plt_ent".
+       (ppc64_elf_add_symbol_hook): Check ELFv1 objects don't have
+       st_other bits only valid in ELFv2.
+       (ppc64_elf_merge_symbol_attribute): New function.
+       (ppc_type_of_stub): Add local_off param to test branch range.
+       (ppc_build_one_stub): Adjust destinations for ELFv2 locals.
+       (ppc_size_one_stub, toc_adjusting_stub_needed): Similarly.
+       (ppc64_elf_size_stubs): Pass local_off to ppc_type_of_stub.
+       Set "other" field.
+       (ppc64_elf_relocate_section): Adjust destination for ELFv2 local
+       calls.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (abiversion, set_abiversion): New functions.
+       (ppc64_elf_get_synthetic_symtab): Handle ELFv2 objects without .opd.
+       (struct ppc_link_hash_table): Add opd_abi.
+       (ppc64_elf_check_relocs): Check no .opd with ELFv2.
+       (ppc64_elf_merge_private_bfd_data): New function.
+       (ppc64_elf_print_private_bfd_data): New function.
+       (ppc64_elf_tls_setup): Set htab->opd_abi.
+       (ppc64_elf_size_dynamic_sections): Don't emit OPD related dynamic
+       tags for ELFv2.
+       (ppc_build_one_stub): Use R_PPC64_IRELATIVE for ELFv2 ifunc.
+       (ppc64_elf_finish_dynamic_symbol): Likewise
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (build_plt_stub): Switch stubs to use r11 as base
+       reg and r12 as destination.
+       (ppc_build_one_stub): Likewise.
+       (ppc64_elf_build_stubs): Likewise for glink.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * reloc.c (BFD_RELOC_PPC64_ADDR16_HIGH, BFD_RELOC_PPC64_ADDR16_HIGHA,
+       BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA,
+       BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA): New.
+       * elf64-ppc.c (ppc64_elf_howto_raw): Add entries for new relocs.
+       Make all _HA and _HI relocs report signed overflow.
+       (ppc64_elf_reloc_type_lookup): Handle new relocs.
+       (must_be_dyn_reloc, ppc64_elf_check_relocs): Likewise.
+       (dec_dynrel_count, ppc64_elf_relocate_section): Likewise.
+       (ppc64_elf_relocate_section): Don't apply 0x8000 adjust to
+       R_PPC64_TPREL16_HIGHER, R_PPC64_TPREL16_HIGHEST,
+       R_PPC64_DTPREL16_HIGHER, and R_PPC64_DTPREL16_HIGHEST.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2013-10-29  Roland McGrath  <mcgrathr@google.com>
+
+       * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Correct 9-byte nop
+       sequence to match what the assembler generates.
+
+2013-10-29  Jan Beulich <jbeulich@suse.com>
+
+       * elflink.c (struct elf_outext_info): Add field file_sym_done.
+       (bfd_elf_final_link): Initialize new field. Move fake STT_FILE
+       symbol emission from here ...
+       (elf_link_output_extsym): ... to here.
+
+2013-10-24  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/15994
+       * dwarf2.c (lookup_address_in_line_info_table): Change return type
+       to be the range of addresses covered by the table.
+       (comp_unit_find_nearest_line): Likewise.
+       (find_line): Search all CUs.  Select the one that matches and
+       covers the smallest address range.
+
+2013-10-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (cris_elf_check_relocs): Don't assume
+       a registered dynobj means that a .got has been created.
+
+2013-10-17  Alan Modra  <amodra@gmail.com>
+
+       PR 16056
+       * elf.c (copy_elf_program_header): Only consider SEC_ALLOC sections
+       when finding lowest_section.
+
+2013-10-14  Chao-ying Fu  <Chao-ying.Fu@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_obj_tdata): Add abi_msa_bfd.
+       (mips_elf_merge_obj_attributes): Set abi_msa_bfd to the first object
+       file that has a Tag_GNU_MIPS_ABI_MSA attribute.
+       Merge Tag_GNU_MIPS_ABI_MSA attributes.
+
+2013-10-14  Nick Clifton  <nickc@redhat.com>
+
+       * gen-aout.c (main): Fix formatting.  Close file.
+
+2013-10-13  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * elfxx-mips.c (mips_use_local_got_p): New function.
+       (mips_elf_count_got_symbols, mips_elf_calculate_relocation): Use it.
+       (_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
+       GOT and absolute references.
+
+2013-10-09  Roland McGrath  <mcgrathr@google.com>
+
+       * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Cast switch
+       expression to int to silence over-eager compiler warnings.
+
+       * xcofflink.c (_bfd_xcoff_bfd_final_link): Don't touch EREL in
+       loop that doesn't use (or initialize) it.
+
+       * elfxx-tilegx.c (tilegx32_plt_tail_entry, tilegx32_plt_tail_entry):
+       Move second const qualifier so it applies to the pointer.
+
+2013-10-09  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/16022
+       * elf32-rx.c (rx_dump_symtab): Add missing break statements.
+
+2013-10-09  Tom Tromey  <tromey@redhat.com>
+
+       * opncls.c (get_alt_debug_link_info_shim): Update type of 'len'.
+
 2013-10-09  Nick Clifton  <nickc@redhat.com>
 
        PR ld/16021