* bfd-in2.h: Regenerate.
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition, s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions. (elf_howto_table): Add TLS relocs. (elf_s390_reloc_type_lookup): Likewise. (elf_s390_link_hash_entry): Add tls_type. (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type): New macros. (elf_s390_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Initialize tls_type. (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got. (elf_s390_copy_indirect_symbol): Copy tls_type information. (elf_s390_check_relocs): Support TLS relocs. (elf_s390_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_s390_size_dynamic_sections): Likewise. (elf_s390_relocate_section): Likewise. (elf_s390_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject): Define for TLS. * elf64-s390.c: Same changes as for elf32-s390.c. * libbfd.h: Regenerate. * reloc.c: Add s390 TLS relocations.
This commit is contained in:
parent
9aa4e50515
commit
69fc87f180
|
@ -1,3 +1,28 @@
|
|||
2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* bfd-in2.h: Regenerate.
|
||||
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
|
||||
s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
|
||||
(elf_howto_table): Add TLS relocs.
|
||||
(elf_s390_reloc_type_lookup): Likewise.
|
||||
(elf_s390_link_hash_entry): Add tls_type.
|
||||
(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
|
||||
New macros.
|
||||
(elf_s390_link_hash_table): Add tls_ldm_got.
|
||||
(link_hash_newfunc): Initialize tls_type.
|
||||
(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
|
||||
(elf_s390_copy_indirect_symbol): Copy tls_type information.
|
||||
(elf_s390_check_relocs): Support TLS relocs.
|
||||
(elf_s390_gc_sweep_hook): Likewise.
|
||||
(allocate_dynrelocs): Likewise.
|
||||
(elf_s390_size_dynamic_sections): Likewise.
|
||||
(elf_s390_relocate_section): Likewise.
|
||||
(elf_s390_finish_dynamic_symbol): Likewise.
|
||||
(bfd_elf32_mkobject): Define for TLS.
|
||||
* elf64-s390.c: Same changes as for elf32-s390.c.
|
||||
* libbfd.h: Regenerate.
|
||||
* reloc.c: Add s390 TLS relocations.
|
||||
|
||||
2003-01-24 Charles Lepple clepple.ghz.cc
|
||||
|
||||
* aclocal.m4: Fix name of --enable-install-libbfd switch.
|
||||
|
|
|
@ -3024,6 +3024,28 @@ into 22 bits. */
|
|||
/* 64-bit rel. offset from the GOT to a PLT entry. */
|
||||
BFD_RELOC_390_PLTOFF64,
|
||||
|
||||
/* s390 tls relocations. */
|
||||
BFD_RELOC_390_TLS_LOAD,
|
||||
BFD_RELOC_390_TLS_GDCALL,
|
||||
BFD_RELOC_390_TLS_LDCALL,
|
||||
BFD_RELOC_390_TLS_GD32,
|
||||
BFD_RELOC_390_TLS_GD64,
|
||||
BFD_RELOC_390_TLS_GOTIE12,
|
||||
BFD_RELOC_390_TLS_GOTIE32,
|
||||
BFD_RELOC_390_TLS_GOTIE64,
|
||||
BFD_RELOC_390_TLS_LDM32,
|
||||
BFD_RELOC_390_TLS_LDM64,
|
||||
BFD_RELOC_390_TLS_IE32,
|
||||
BFD_RELOC_390_TLS_IE64,
|
||||
BFD_RELOC_390_TLS_IEENT,
|
||||
BFD_RELOC_390_TLS_LE32,
|
||||
BFD_RELOC_390_TLS_LE64,
|
||||
BFD_RELOC_390_TLS_LDO32,
|
||||
BFD_RELOC_390_TLS_LDO64,
|
||||
BFD_RELOC_390_TLS_DTPMOD,
|
||||
BFD_RELOC_390_TLS_DTPOFF,
|
||||
BFD_RELOC_390_TLS_TPOFF,
|
||||
|
||||
/* Scenix IP2K - 9-bit register number / data address */
|
||||
BFD_RELOC_IP2K_FR9,
|
||||
|
||||
|
|
823
bfd/elf32-s390.c
823
bfd/elf32-s390.c
File diff suppressed because it is too large
Load Diff
853
bfd/elf64-s390.c
853
bfd/elf64-s390.c
File diff suppressed because it is too large
Load Diff
20
bfd/libbfd.h
20
bfd/libbfd.h
|
@ -1217,6 +1217,26 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
|
|||
"BFD_RELOC_390_PLTOFF16",
|
||||
"BFD_RELOC_390_PLTOFF32",
|
||||
"BFD_RELOC_390_PLTOFF64",
|
||||
"BFD_RELOC_390_TLS_LOAD",
|
||||
"BFD_RELOC_390_TLS_GDCALL",
|
||||
"BFD_RELOC_390_TLS_LDCALL",
|
||||
"BFD_RELOC_390_TLS_GD32",
|
||||
"BFD_RELOC_390_TLS_GD64",
|
||||
"BFD_RELOC_390_TLS_GOTIE12",
|
||||
"BFD_RELOC_390_TLS_GOTIE32",
|
||||
"BFD_RELOC_390_TLS_GOTIE64",
|
||||
"BFD_RELOC_390_TLS_LDM32",
|
||||
"BFD_RELOC_390_TLS_LDM64",
|
||||
"BFD_RELOC_390_TLS_IE32",
|
||||
"BFD_RELOC_390_TLS_IE64",
|
||||
"BFD_RELOC_390_TLS_IEENT",
|
||||
"BFD_RELOC_390_TLS_LE32",
|
||||
"BFD_RELOC_390_TLS_LE64",
|
||||
"BFD_RELOC_390_TLS_LDO32",
|
||||
"BFD_RELOC_390_TLS_LDO64",
|
||||
"BFD_RELOC_390_TLS_DTPMOD",
|
||||
"BFD_RELOC_390_TLS_DTPOFF",
|
||||
"BFD_RELOC_390_TLS_TPOFF",
|
||||
"BFD_RELOC_IP2K_FR9",
|
||||
"BFD_RELOC_IP2K_BANK",
|
||||
"BFD_RELOC_IP2K_ADDR16CJP",
|
||||
|
|
43
bfd/reloc.c
43
bfd/reloc.c
|
@ -3206,6 +3206,49 @@ ENUM
|
|||
ENUMDOC
|
||||
64-bit rel. offset from the GOT to a PLT entry.
|
||||
|
||||
ENUM
|
||||
BFD_RELOC_390_TLS_LOAD
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GDCALL
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LDCALL
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GD32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GD64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GOTIE12
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GOTIE32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_GOTIE64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LDM32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LDM64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_IE32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_IE64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_IEENT
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LE32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LE64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LDO32
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_LDO64
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_DTPMOD
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_DTPOFF
|
||||
ENUMX
|
||||
BFD_RELOC_390_TLS_TPOFF
|
||||
ENUMDOC
|
||||
s390 tls relocations.
|
||||
|
||||
ENUM
|
||||
BFD_RELOC_IP2K_FR9
|
||||
ENUMDOC
|
||||
|
|
Loading…
Reference in New Issue