X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=93eb6fb9bb619fbc01371c5c8bbec60a9db1914e;hb=3d301fdc610585d4dd037d9f4816f732aa4417d7;hp=490120baa548bfa1069997a35224a196556dd55f;hpb=5efbbc4340d2cb348265e44627b71d7a37d8246c;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 490120baa54..93eb6fb9bb6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,213 @@ +2012-02-27 Alan Modra + + * 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 + + * elf32-spu.c (build_stub): Fix malloc under-allocation. + +2012-02-25 Walter Lee + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * elf32-s390.c (elf_s390_relocate_section): Support basr in the + GD->LE and LD->LE optimizations. + +2012-02-16 Alan Modra + + PR binutils/13355 + * elf32-rx.c (elf32_rx_relax_section): Correct width check. + +2012-02-13 Richard Henderson + + PR ld/13621 + * linker.c (fix_syms): Force symbols outside any section into + bfd_abs_section_ptr. + 2012-02-13 Alan Modra * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.