MIPS: Convert cross-mode BAL to JALX
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 4822e30124697fa6087ac3e6c1ad1b5f0ad4d81a..738f81d0424935d3478b4810b207c0de3a05bc70 100644 (file)
@@ -1,3 +1,245 @@
+2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
+       BAL to JALX.
+       (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
+       corresponding error message.
+
+2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
+       R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
+       (branch_reloc_p): New function.
+       (mips_elf_calculate_relocation): Handle ISA mode determination
+       for relocations against section symbols, against absolute
+       symbols and absolute relocations.  Also set `*cross_mode_jump_p'
+       for branches.
+       <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
+       checks for weak undefined symbols.  Also check target alignment
+       within the same ISA mode.
+       <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
+       in the alignment check.
+       <R_MICROMIPS_PC7_S1>: Add an alignment check.
+       <R_MICROMIPS_PC10_S1>: Likewise.
+       <R_MICROMIPS_PC16_S1>: Likewise.
+       (mips_elf_perform_relocation): Report a failure for unsupported
+       same-mode JALX instructions and cross-mode branches.
+       (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
+       error messages for jumps to misaligned addresses.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c: Include plugin-api.h.
+       * plugin.c (bfd_plugin_open_input): New function, extracted from..
+       (try_claim): ..here.
+       * plugin.h: Don't include bfd.h.
+       (bfd_plugin_open_input): Declare.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
+       * targets.c (bfd_seach_for_target): Rename to..
+       (bfd_iterate_over_targets): ..this.  Rewrite doc.
+       * bfd-in2.h: Regenerate.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
+       * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
+       * libbfd-in.h (BFD_ALIGN): Move to..
+       * bfd-in.h: ..here.
+       * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
+       * elf32-ppc.c (default_params): Adjust init.
+       (ppc_elf_link_params): Set pagesize_p2.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
+       (_bfd_elf_filter_global_symbols): Declare.
+       * elf.c (_bfd_elf_filter_global_symbols): New function.
+       * elflink.c (elf_filter_global_symbols): Likewise.
+       (elf_output_implib): Likewise.
+       (bfd_elf_final_link): Call above function, failing if it does.
+       * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
+       default it to NULL.
+       (elf_backend_copy_indirect_symbol): Fix spacing.
+       (elf_backend_hide_symbol): Likewise.
+       (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
+
+2016-07-15  Andrew Burgess  <andrew.burgess@embecosm.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       * elf32-arc.c (PR_DEBUG): Delete.
+       Fix printing of debug information.  Fix formatting of debug
+       statements.
+       (debug_arc_reloc): Handle symbols that are not from an input file.
+       (arc_do_relocation): Remove excessive exclamation points.
+
+       * arc-got.h: Fix formatting.  Fix printing of debug information.
+       (new_got_entry_to_list): Use xmalloc.
+       * config.bfd: use the big-endian arc vector as the default vector
+       for big-endian arc targets.
+
+2016-07-15  Alan Modra  <amodra@gmail.com>
+
+       * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
+       from marking sym_indices.
+
+2016-07-14  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * reloc.c (bfd_perform_relocation): Try the `howto' handler
+       first with relocations against absolute symbols.
+       (bfd_install_relocation): Likewise.
+
+2016-07-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
+       .got/.got.plt sections to 8 bytes.
+
+2016-07-12  Nick Clifton  <nickc@redhat.com>
+
+       * binary.c (binary_set_section_contents): Second grammar fix.
+
+2016-07-12  Douglas B Rupp  <rupp@adacore.com>
+
+       * binary.c (binary_set_section_contents): Fix grammar in warning
+       message.
+
+2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c: made PR_DEBUG always defined.
+
+2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * arc-got.h: Moved got related structures from elf32-arc.c to
+       this file. More precisely, tls_type_e, tls_got_entries, got_entry.
+       * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
+       tls_type_for_reloc, symbol_has_entry_of_type,
+       get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
+       ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
+       relocate_fix_got_relocs_for_got_info,
+       create_got_dynrelocs_for_single_entry,
+       create_got_dynrelocs_for_got_info): Added to file.
+       * elf32-arc.c: Removed GOT & TLS related structs and functions to
+       arc-got.h.
+
+2016-07-08  James Bowman  <james.bowman@ftdichip.com>
+
+       * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
+
+2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
+
+       * elf32-arm.c (THUMB32_MOVT): New veneer macro.
+       (THUMB32_MOVW): Likewise.
+       (elf32_arm_stub_long_branch_thumb2_only_pure): New.
+       (DEF_STUBS): Define long_branch_thumb2_only_pure.
+       (arm_stub_is_thumb): Add new veneer stub.
+       (arm_type_of_stub): Use new veneer.
+       (arm_stub_required_alignment): Add new veneer.
+
+2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
+
+       * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
+       (SEC_ELF_PURECODE): ... this.
+       * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
+       to SEC_ELF_NOREAD.
+       (elf32_arm_fake_sections): Likewise.
+       (elf_32_arm_section_flags): Likewise.
+       (elf_32_arm_lookup_section_flags): Likewise.
+       * section.c (SEC_ELF_NOREAD): Rename to ...
+       (SEC_ELF_PURECODE): ... this.
+
+2016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (using_thumb2_bl): New function.
+       (arm_type_of_stub): Declare thumb2 variable together and change type
+       to bfd_boolean.  Use using_thumb2_bl () to determine whether
+       THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
+       checked for BL range.
+       (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
+       the bit size of BL offset.
+
+2016-06-29  Nick Clifton  <nickc@redhat.com>
+
+       * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
+       Returns TRUE for AArch64 mapping symbols.
+       (elfNN_aarch64_backend_symbol_processing): New function.  Marks
+       mapping symbols as precious in object files so that they will not
+       be stripped.
+       (elf_backend_symbol_processing): Define.
+
+       * elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
+       for ARM mapping symbols.
+       (elf32_arm_backend_symbol_processing): Make use of the new function.
+
+2016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20306
+       * elflink.c (elf_link_check_versioned_symbol): Return false
+       for unreferenced undefined symbol.
+
+2016-06-28  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
+       is needed.
+
+       * elf32-arm.c (elf32_arm_backend_symbol_processing): New
+       function.  Marks mapping symbols in object files as precious, so
+       that strip will not remove them.
+       (elf_backend_symbol_processing): Define.
+
+2016-06-28  James Clarke  <jrtc27@jrtc27.com>
+
+       * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
+       R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
+
+2016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elf32-mips.c (elf_mips16_howto_table_rel): Add
+       R_MIPS16_PC16_S1.
+       (mips16_reloc_map): Likewise.
+       * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
+       (mips16_elf64_howto_table_rela): Likewise.
+       (mips16_reloc_map): Likewise.
+       * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
+       (elf_mips16_howto_table_rela): Likewise.
+       (mips16_reloc_map): Likewise.
+       * elfxx-mips.c (mips16_branch_reloc_p): New function.
+       (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
+       (b_reloc_p): Likewise.
+       (mips_elf_calculate_relocation): Likewise.
+       (_bfd_mips_elf_check_relocs): Likewise.
+       * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2016-06-27  Alan Modra  <amodra@gmail.com>
+
+       PR ld/19264
+       * elf64-ppc.c (STUB_SHRINK_ITER): Define.
+       (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
+       if shrinking stubs.
+       (ppc64_elf_size_stubs): Adjust to suit.
+
+2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * elf32-dlx.h: New file.
+       * elf32-dlx.c: Adjust.
+
+2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
+
+2016-06-24  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
+       notes.
+
 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
 
        * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
This page took 0.025577 seconds and 4 git commands to generate.