]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/ChangeLog
bfd/libhppa.h: Make C++ compatible
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
index 5bd8d55ccecf67db8b5bd1c376e9e92be9c672de..cedceadecb7861a642c6529258f1b3dc1dcb37ef 100644 (file)
@@ -1,3 +1,330 @@
+2015-10-29  Pedro Alves  <palves@redhat.com>
+
+       * libhppa.h (bfd_hppa_insn2fmt): Add cast.
+
+2015-10-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Fix a typo in
+       comment.
+
+2015-10-28  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-arm.c (create_instruction_branch_absolute): Replace
+       pointer parameters with a simple integer parameter.
+       (stm32l4xx_create_replacing_stub_ldmia): Update calls to
+       create_instruction_branch_absolute.
+       (stm32l4xx_create_replacing_stub_ldmdb): Likewise.
+       (stm32l4xx_create_replacing_stub_vldm): Likewise.
+       (elf32_arm_write_section): Use pointer type for veneer addresses.
+
+2015-10-28  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * reloc.c (BFD_RELOC_ARC_32_PCREL): New entry.
+       * elf32-arc.c (arc_elf_howto_ini): Update formula.
+       (get_middle_endian_relocation): New function.
+       (PDATA): Define.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Likewise.
+
+2015-10-28  Alan Modra  <amodra@gmail.com>
+
+       PR ld/19162
+       * elflink.c (_bfd_elf_gc_mark_reloc): Move code iterating over
+       linker input bfds..
+       * section.c (bfd_get_next_section_by_name): ..to here.  Add ibfd param.
+       (bfd_get_linker_section): Adjust bfd_get_next_section_by_name call.
+       * tekhex.c (first_phase): Likewise.
+       * elflink.c (bfd_elf_gc_sections): Likewise.
+       * bfd-in2.h: Regenerate.
+
+2015-10-27  Laurent Alfonsi <laurent.alfonsi@st.com>
+            Christophe Monat <christophe.monat@st.com>
+
+       * bfd-in2.h: Regenerate.
+       * bfd-in.h (bfd_arm_stm32l4xx_fix): New enum. Specify how
+       STM32L4XX instruction scanning should be done.
+       (bfd_elf32_arm_set_stm32l4xx_fix)
+       (bfd_elf32_arm_stm32l4xx_erratum_scan)
+       (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Add prototypes.
+       (bfd_elf32_arm_set_target_relocs): Add stm32l4xx fix type argument
+       to prototype.
+       * elf32-arm.c (STM32L4XX_ERRATUM_VENEER_SECTION_NAME)
+       (STM32L4XX_ERRATUM_VENEER_ENTRY_NAME): Define macros.
+       (elf32_stm32l4xx_erratum_type): New enum.
+       (elf32_stm32l4xx_erratum_list): New struct. List of veneers or
+       jumps to veneers.
+       (_arm_elf_section_data): Add stm32l4xx_erratumcount,
+       stm32l4xx_erratumlist.
+       (elf32_arm_link_hash_table): Add stm32l4xx_erratum_glue_size,
+       stm32l4xx_fix and num_stm32l4xx_fixes fields.
+       (ctz): New function.
+       (popcount): New function.
+       (elf32_arm_link_hash_table_create): Initialize stm32l4xx_fix.
+       (put_thumb2_insn): New function.
+       (STM32L4XX_ERRATUM_LDM_VENEER_SIZE): Define. Size of a veneer for
+       LDM instructions.
+       (STM32L4XX_ERRATUM_VLDM_VENEER_SIZE): Define. Size of a veneer for
+       VLDM instructions.
+       (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
+       glue section.
+       (record_stm32l4xx_erratum_veneer) : New function. Create a single
+       veneer, and its associated symbols.
+       (bfd_elf32_arm_add_glue_sections_to_bfd): Add STM32L4XX erratum glue.
+       (bfd_elf32_arm_set_stm32l4xx_fix): New function. Set the type of
+       erratum workaround required.
+       (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): New function. Find
+       out where veneers and branches to veneers have been placed in
+       virtual memory after layout.
+       (is_thumb2_ldmia): New function.
+       (is_thumb2_ldmdb): Likewise.
+       (is_thumb2_vldm ): Likewise.
+       (stm32l4xx_need_create_replacing_stub): New function. Decide if a
+       veneer must be emitted.
+       (bfd_elf32_arm_stm32l4xx_erratum_scan): Scan the sections of an
+       input BFD for potential erratum-triggering insns. Record results.
+       (bfd_elf32_arm_set_target_relocs): Set stm32l4xx_fix field in
+       global hash table.
+       (elf32_arm_size_dynamic_sections): Collect glue information.
+       (create_instruction_branch_absolute): New function.
+       (create_instruction_ldmia): Likewise.
+       (create_instruction_ldmdb): Likewise.
+       (create_instruction_mov): Likewise.
+       (create_instruction_sub): Likewise.
+       (create_instruction_vldmia): Likewise.
+       (create_instruction_vldmdb): Likewise.
+       (create_instruction_udf_w): Likewise.
+       (create_instruction_udf): Likewise.
+       (push_thumb2_insn32): Likewise.
+       (push_thumb2_insn16): Likewise.
+       (stm32l4xx_fill_stub_udf): Likewise.
+       (stm32l4xx_create_replacing_stub_ldmia): New function. Expands the
+       replacing stub for ldmia instructions.
+       (stm32l4xx_create_replacing_stub_ldmdb): Likewise for ldmdb.
+       (stm32l4xx_create_replacing_stub_vldm): Likewise for vldm.
+       (stm32l4xx_create_replacing_stub): New function. Dispatches the
+       stub emission to the appropriate functions.
+       (elf32_arm_write_section): Output veneers, and branches to veneers.
+
+2015-10-27  Sangamesh Mallayya  <nickc@redhat.com>sangamesh.swamy@in.ibm.com>
+
+       * configure.ac (powerpc64-*-aix[5-9].*): Match powerpc64 running
+       aix for core file support.
+       * configure: Regenerate.
+       * rs6000-core.c: Check for __ld_info64 if compiling 64-bit gdb.
+       Added BFD64 check if we are using old core file format for 32-bit gdb.
+       Set sizeof CORE_COMMONSZ appropriately in case of either new or
+       old core file format.
+       (read_hdr): Added BFD64 check for 64-bit support.
+       (rs6000coff_core_p): Likewise.
+       (rs6000coff_core_file_matches_executable_p): Likewise.
+       (rs6000coff_core_file_failing_command): Likewise.
+       (rs6000coff_core_file_failing_signal): Likewise.
+       Add support for debugging core files generated by binaries in
+       Large Memory model.
+       (rs6000coff_core_p): If Large Memory Model is used, then the .data
+       segment should start from BDATAORG which has been defined in the
+       system header files.
+
+2015-10-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19175
+       * elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
+       instead of calling bfd_link_get_defined_symbol.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.  Skip
+       relocation overflow for bfd_link_hash_new.
+       * linker.c (bfd_link_get_defined_symbol): Removed.
+       * bfd-in2.h: Regenerated.
+
+2015-10-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19171
+       * elf32-i386.c (elf_i386_convert_load): Call
+       bfd_link_get_defined_symbol to check if a symbol is defined.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Call
+       bfd_link_get_defined_symbol to get defined symbol section and
+       value.
+       * linker.c (bfd_link_get_defined_symbol): New function.
+       * bfd-in2.h: Regenerated.
+
+2015-10-23  Alan Modra  <amodra@gmail.com>
+
+       PR ld/11133
+       PR ld/19161
+       PR ld/19167
+       * elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
+       and __stop_* symbol refs.
+       (_bfd_elf_gc_mark_rsec): Add start_stop parameter.  Handle __start_*
+       and __stop_* symbol refs here..
+       (_bfd_elf_gc_mark_reloc): ..and here.
+       * elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
+       * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
+       _bfd_elf_gc_mark_rsec call.
+
+2015-10-23  Alan Modra  <amodra@gmail.com>
+
+       PR ld/11133
+       PR ld/19161
+       * elflink.c (elf_gc_sweep): Revert last patch.
+       (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
+
+2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19161
+       * elflink.c (elf_gc_sweep): Always keep sections marked with
+       SEC_KEEP.
+
+2015-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * mmo.c (struct mmo_data_struct): New members
+       symbol_consistency_override_calculated and ignore_symbol_consistency.
+       (mmo_section_has_contents, mmo_ignore_symbol_consistency): New
+       functions.
+       (mmo_create_symbol): Check with mmo_ignore_symbol_consistency if to
+       report an error for unexpected value of Main.
+       (mmo_write_symbols_and_terminator): Similar.
+
+2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
+       check call_nop_as_suffix for 1-byte NOP padding to pad call.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.
+
+2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c: Include opcode/i386.h.
+       (x86_64_elf_howto_table): Add R_X86_64_GOTPCRELX and
+       R_X86_64_REX_GOTPCRELX.
+       (R_X86_64_standard): Replace R_X86_64_PLT32_BND with
+       R_X86_64_REX_GOTPCRELX.
+       (x86_64_reloc_map): Add BFD_RELOC_X86_64_GOTPCRELX and
+       BFD_RELOC_X86_64_REX_GOTPCRELX.
+       (need_convert_mov_to_lea): Renamed to ...
+       (need_convert_load): This.
+       (elf_x86_64_check_relocs): Handle R_X86_64_GOTPCRELX and
+       R_X86_64_REX_GOTPCRELX.  Replace need_convert_mov_to_lea with
+       need_convert_load.
+       (elf_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPCRELX and
+       R_X86_64_REX_GOTPCRELX.
+       (elf_x86_64_size_dynamic_sections): Likewise.
+       (elf_x86_64_relocate_section): Likewise.
+       (elf_x86_64_convert_mov_to_lea): Renamed to ...
+       (elf_x86_64_convert_load): This.  Replace need_convert_mov_to_lea
+       with need_convert_load.  Support R_X86_64_GOTPCRELX and
+       R_X86_64_REX_GOTPCRELX transformations.
+       * reloc.c (BFD_RELOC_X86_64_GOTPCRELX): New.
+       (BFD_RELOC_X86_64_REX_GOTPCRELX): Likewise.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+
+2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c: Include opcode/i386.h.
+       (elf_howto_table): Add R_386_GOT32X.
+       (R_386_ext2): Replace R_386_IRELATIVE with R_386_GOT32X.
+       (elf_i386_reloc_type_lookup): Handle BFD_RELOC_386_GOT32X.
+       (need_convert_mov_to_lea): Renamed to ...
+       (need_convert_load): This.
+       (elf_i386_check_relocs): Handle R_386_GOT32X.  Replace
+       need_convert_mov_to_lea with need_convert_load.
+       (elf_i386_gc_sweep_hook): Handle R_386_GOT32X.
+       (elf_i386_size_dynamic_sections): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_convert_mov_to_lea): Renamed to ...
+       (elf_i386_convert_load): This.  Replace need_convert_mov_to_lea
+       with need_convert_load.  Support R_386_GOT32X transformations.
+       * reloc.c (BFD_RELOC_386_GOT32X): New.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * elf32-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
+       only when linking an executable.
+       (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
+       slot.
+       * elf64-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
+       only when linking an executable.
+       (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
+       slot.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Set the PLT
+       reference counters for local IFUNC calls.
+       * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
+       slot allocating code for GOTOFF relocs on ifunc symbols.
+       (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
+       on ifunc symbols.
+       (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
+       slot.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       PR ld/18841
+       * elf32-s390.c (elf_s390_reloc_type_class): Return
+       reloc_class_ifunc for ifunc symbols.
+       * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * elf32-s390.c (elf_s390_finish_dynamic_symbol): Call
+       elf_s390_finish_ifunc_symbol only for actually defined symbols.
+       * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+
+2015-10-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs): Remove
+       `head' parameter.
+       * elf32-s390.c (allocate_dynrelocs): Don't use last parameter.
+       * elf64-s390.c (allocate_dynrelocs): Don't use last parameter.
+
+2015-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * mmo.c (mmo_write_symbols_and_terminator): Correct printed value
+       of Main in error message.
+
+2015-10-18  Doug Evans  <xdje42@gmail.com>
+
+       * targets.c (bfd_flavour_name): "MMO" is spelled "mmo".
+
+2015-10-17  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Correct __glink_PLTresolve
+       eh_frame FDE for ELFv1.
+
+2015-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_mov_to_lea): Check if symbol
+       is defined.
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2015-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't check
+       def_regular.
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2015-10-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_merge_symbol): Fix typos in comments
+
+2015-10-15  Alan Modra  <amodra@gmail.com>
+
+       * elf32-v850.c (v850_elf_copy_private_bfd_data): Remove assertion
+       that input and output .note.renesas sections are same size.
+       Instead, only copy input to output if they are.
+
+2015-10-15  Riku Voipio  <riku.voipio@iki.fi>
+
+       PR ld/19123
+       * elfcore.h (elf_core_file_p): Use the file_ptr type to hold the
+       offset for bfd_seek.
+       * elfcode.h (elf_object_p): Likewise.
+
 2015-10-14  Rich Felker  <dalias@libc.org>
 
        PR ld/19091