OSDN Git Service

* bfd-in2.h: Regenerate.
authorKaz Kojima <kkojima@rr.iij4u.or.jp>
Fri, 11 Oct 2002 14:28:29 +0000 (14:28 +0000)
committerKaz Kojima <kkojima@rr.iij4u.or.jp>
Fri, 11 Oct 2002 14:28:29 +0000 (14:28 +0000)
bfd/ChangeLog
bfd/bfd-in2.h

index 8c26fd8..c5636f2 100644 (file)
@@ -1,3 +1,28 @@
+2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
+       sh_elf_object_p, dtpoff_base): New functions.
+       (sh_elf_howto_table): Add TLS relocs.
+       (sh_reloc_map): Likewise.
+       (sh_elf_info_to_howto): Support TLS relocs.
+       (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
+       (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
+       New macros.
+       (sh_elf_obj_tdata): New.
+       (elf_sh_link_hash_table): Add tls_ldm_got.
+       (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
+       (allocate_dynrelocs): Support TLS relocs.
+       (sh_elf_size_dynamic_sections): Likewise.
+       (sh_elf_relocate_section): Support TLS relocs.  Don't try to find
+       .rela.got section when found already.  Return false after printing
+       error about unresolvable relocation.
+       (sh_elf_gc_sweep_hook): Support TLS relocs.
+       (sh_elf_check_relocs): Likewise.
+       (sh_elf_finish_dynamic_symbol): Likewise.
+       (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
+       * reloc.c: Add SH TLS relocs.
+       * bfd-in2.h, libbfd.h: Regenerate.
+
 2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
 
        * Makefile.am: Run dep-am.
index eac34d2..5f226d4 100644 (file)
@@ -2505,6 +2505,14 @@ field in the instruction.  */
   BFD_RELOC_SH_IMM_HI16,
   BFD_RELOC_SH_IMM_HI16_PCREL,
   BFD_RELOC_SH_PT_16,
+  BFD_RELOC_SH_TLS_GD_32,
+  BFD_RELOC_SH_TLS_LD_32,
+  BFD_RELOC_SH_TLS_LDO_32,
+  BFD_RELOC_SH_TLS_IE_32,
+  BFD_RELOC_SH_TLS_LE_32,
+  BFD_RELOC_SH_TLS_DTPMOD32,
+  BFD_RELOC_SH_TLS_DTPOFF32,
+  BFD_RELOC_SH_TLS_TPOFF32,
 
 /* Thumb 23-, 12- and 9-bit pc-relative branches.  The lowest bit must
 be zero and is not stored in the instruction.  */