M68K TLS support.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 0a030ffeeb28c68e4279f4d43393005a298952fb..76d435bd44c975572ad1f31bc8bfe1b393e5926a 100644 (file)
@@ -1,3 +1,50 @@
+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.
This page took 0.02526 seconds and 4 git commands to generate.