+2012-03-01 Alan Modra <amodra@gmail.com>
+
+ * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
+
+2012-02-27 Alan Modra <amodra@gmail.com>
+
+ * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
+ before calling elf specific function.
+ (sh_elf_osec_readonly_p): Test for error return from above.
+
+2012-02-27 Alan Modra <amodra@gmail.com>
+
+ * elf32-spu.c (build_stub): Fix malloc under-allocation.
+
+2012-02-25 Walter Lee <walt@tilera.com>
+ * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
+ BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
+ BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
+ BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
+ BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
+ BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
+ BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
+ BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
+ BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
+ BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
+ BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
+ BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
+ BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
+ BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
+ BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
+ BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
+ BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
+ BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
+ BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
+ BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
+ BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
+ BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
+ BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
+ Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
+ BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
+ BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
+ BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
+ BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
+ BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
+ * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
+ relocations.
+ (tilepro_reloc_map): Ditto.
+ (tilepro_info_to_howto_rela): Ditto.
+ (reloc_to_create_func): Ditto.
+ (tilepro_tls_translate_to_le): New.
+ (tilepro_tls_translate_to_ie): New.
+ (tilepro_elf_tls_transition): New.
+ (tilepro_elf_check_relocs): Handle new tls relocations.
+ (tilepro_elf_gc_sweep_hook): Ditto.
+ (allocate_dynrelocs): Ditto.
+ (tilepro_elf_relocate_section): Ditto.
+ (tilepro_replace_insn): New.
+ (insn_mask_X1): New.
+ (insn_mask_X0_no_dest_no_srca): New
+ (insn_mask_X1_no_dest_no_srca): New
+ (insn_mask_Y0_no_dest_no_srca): New
+ (insn_mask_Y1_no_dest_no_srca): New
+ (srca_mask_X0): New
+ (srca_mask_X1): New
+ (insn_tls_le_move_X1): New
+ (insn_tls_le_move_zero_X0X1): New
+ (insn_tls_ie_lw_X1): New
+ (insn_tls_ie_add_X0X1): New
+ (insn_tls_ie_add_Y0Y1): New
+ (insn_tls_gd_add_X0X1): New
+ (insn_tls_gd_add_Y0Y1): New
+ * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
+ relocations.
+ (tilegx_reloc_map): Ditto.
+ (tilegx_info_to_howto_rela): Ditto.
+ (reloc_to_create_func): Ditto.
+ (tilegx_elf_link_hash_table): New field disable_le_transition.
+ (tilegx_tls_translate_to_le): New.
+ (tilegx_tls_translate_to_ie): New.
+ (tilegx_elf_tls_transition): New.
+ (tilegx_elf_check_relocs): Handle new tls relocations.
+ (tilegx_elf_gc_sweep_hook): Ditto.
+ (allocate_dynrelocs): Ditto.
+ (tilegx_elf_relocate_section): Ditto.
+ (tilegx_copy_bits): New.
+ (tilegx_replace_insn): New.
+ (insn_mask_X1): New.
+ (insn_mask_X0_no_dest_no_srca): New.
+ (insn_mask_X1_no_dest_no_srca): New.
+ (insn_mask_Y0_no_dest_no_srca): New.
+ (insn_mask_Y1_no_dest_no_srca): New.
+ (insn_mask_X0_no_operand): New.
+ (insn_mask_X1_no_operand): New.
+ (insn_mask_Y0_no_operand): New.
+ (insn_mask_Y1_no_operand): New.
+ (insn_tls_ie_ld_X1): New.
+ (insn_tls_ie_ld4s_X1): New.
+ (insn_tls_ie_add_X0X1): New.
+ (insn_tls_ie_add_Y0Y1): New.
+ (insn_tls_ie_addx_X0X1): New.
+ (insn_tls_ie_addx_Y0Y1): New.
+ (insn_tls_gd_add_X0X1): New.
+ (insn_tls_gd_add_Y0Y1): New.
+ (insn_move_X0X1): New.
+ (insn_move_Y0Y1): New.
+ (insn_add_X0X1): New.
+ (insn_add_Y0Y1): New.
+ (insn_addx_X0X1): New.
+ (insn_addx_Y0Y1): New.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2012-02-25 Walter Lee <walt@tilera.com>
+
+ * config.bfd (tilegx-*-*): rename little endian vector; add big
+ endian vector.
+ (tilegxbe-*-*): New case.
+ * configure.in (bfd_elf32_tilegx_vec): Rename...
+ (bfd_elf32_tilegx_le_vec): ... to this.
+ (bfd_elf32_tilegx_be_vec): New vector.
+ (bfd_elf64_tilegx_vec): Rename...
+ (bfd_elf64_tilegx_le_vec): ... to this.
+ (bfd_elf64_tilegx_be_vec): New vector.
+ * configure: Regenerate.
+ * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
+ (TARGET_LITTLE_NAME): Ditto.
+ (TARGET_BIG_SYM): Define.
+ (TARGET_BIG_NAME): Define.
+ * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
+ (TARGET_LITTLE_NAME): Ditto.
+ (TARGET_BIG_SYM): Define.
+ (TARGET_BIG_NAME): Define.
+ * targets.c (bfd_elf32_tilegx_vec): Rename...
+ (bfd_elf32_tilegx_le_vec): ... to this.
+ (bfd_elf32_tilegx_be_vec): Declare.
+ (bfd_elf64_tilegx_vec): Rename...
+ (bfd_elf64_tilegx_le_vec): ... to this.
+ (bfd_elf64_tilegx_be_vec): Declare.
+ (_bfd_target_vector): Add / rename above vectors.
+ * arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
+ * bfd-in2.h: Regenerate.
+ * cpu-tilegx.c (bfd_tilegx32_arch): define.
+ (bfd_tilegx_arch): link to bfd_tilegx32_arch.
+
+2012-02-24 Nick Clifton <nickc@redhat.com>
+
+ PR ld/13730
+ * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
+ error message instead of aborting, when an outofrange reloc is
+ encountered.
+
+2012-02-23 Iain Sandoe <idsandoe@googlemail.com>
+
+ * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
+ (bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc
+ bit-fields when target and host differ in endian-ness. When
+ PAIRs are non-scattered find the 'symbol' from the preceding
+ reloc. Add FIXME re. reloc symbols on section boundaries.
+ (bfd_mach_o_swap_out_non_scattered_reloc): New.
+ (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
+
+2012-02-17 Iain Sandoe <idsandoe@googlemail.com>
+
+ * mach-o-i386.c (i386_howto_table): Add support for 16 bit
+ sect-diffs.
+ (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
+ (bfd_mach_o_i386_swap_reloc_out): Likewise.
+
+2012-02-17 Tristan Gingold <gingold@adacore.com>
+
+ * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
+ * libbfd.h: Regenerated.
+ * bfd-in2.h: Likewise.
+ * mach-o-i386.c (i386_howto_table): Include local sectdiff.
+ (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
+ (bfd_mach_o_i386_swap_reloc_out): Likewise.
+
+2012-02-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Support basr in the
+ GD->LE and LD->LE optimizations.
+
+2012-02-16 Alan Modra <amodra@gmail.com>
+
+ PR binutils/13355
+ * elf32-rx.c (elf32_rx_relax_section): Correct width check.
+
+2012-02-13 Richard Henderson <rth@redhat.com>
+
+ PR ld/13621
+ * linker.c (fix_syms): Force symbols outside any section into
+ bfd_abs_section_ptr.
+
+2012-02-13 Alan Modra <amodra@gmail.com>
+
+ * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
+ * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
+ * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
+ * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
+
2012-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Nick Clifton <nickc@redhat.com>