+2009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
+ fields from n_entries to n_slots where appropriate, update comments.
+ (HOWTO): Add TLS relocations.
+ (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
+ (enum elf_m68k_got_offset_size): New enum.
+ (struct elf_m68k_got_entry.type): Move field to ...
+ (struct elf_m68k_got_entry_key): ... here. Update all uses.
+ (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
+ functions.
+ (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
+ functions.
+ (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
+ fields into n_entries array. Update comments.
+ (elf_m68k_init_got): Simplify, update all uses.
+ (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
+ (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
+ GOT entries; update name, update all uses.
+ (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
+ (elf_m68k_get_got_entry): Update.
+ (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
+ simplify.
+ (elf_m68k_remove_got_entry_type): Simplify.
+ (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
+ (elf_m68k_can_merge_gots): Update.
+ (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
+ (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
+ GOT entries, simplify.
+ (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
+ (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
+ field, remove obsoleted local_n_entries field.
+ (elf_m68k_partition_multi_got_2): New static function.
+ (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
+ update.
+ (elf_m68k_remove_got_entry_type): Update.
+ (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+ (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
+ update of sgot->size and srelgot->size.
+ (elf_m68k_gc_sweep_hook): Update.
+ (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+ (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
+ TLS relocations.
+ * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
+ * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
+
2009-02-02 DJ Delorie <dj@redhat.com>
* elf32-mep.c (config_names): Regenerate configuration.