From 3376eaf57788bb1487e6d96bd74c647612dd91c9 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Fri, 11 Oct 2002 14:32:03 +0000 Subject: * 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. * libbfd.h: Regenerate. --- bfd/libbfd.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'bfd/libbfd.h') diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 96e55d7..ef001f3 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1005,6 +1005,14 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "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", "BFD_RELOC_THUMB_PCREL_BRANCH9", "BFD_RELOC_THUMB_PCREL_BRANCH12", "BFD_RELOC_THUMB_PCREL_BRANCH23", -- cgit v1.1