This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed, PATCH] x86: Move GOT_TLS_* in elf32-i386.c to elfxx-x86.h
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: binutils at sourceware dot org
- Date: Sat, 2 Sep 2017 04:53:21 -0700
- Subject: [committed, PATCH] x86: Move GOT_TLS_* in elf32-i386.c to elfxx-x86.h
- Authentication-results: sourceware.org; auth=none
elf64-x86-64.c can use GOT_TLS_* definitions in elf32-i386.c with
GOT_TLS_IE_POS, GOT_TLS_IE_NEG and GOT_TLS_IE_BOTH unused.
* elf32-i386.c (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Moved to ...
* elfxx-x86.h (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Here.
* elf64-x86-64.c (GOT_TLS_IE, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Removed.
---
bfd/elf32-i386.c | 15 ---------------
bfd/elf64-x86-64.c | 12 ------------
bfd/elfxx-x86.h | 15 ++++++++++++++-
3 files changed, 14 insertions(+), 28 deletions(-)
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 0803bee909..252a09d424 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -853,21 +853,6 @@ static const struct elf_i386_backend_data elf_i386_arch_bed =
#define elf_backend_arch_data &elf_i386_arch_bed
-/* Values in tls_type of x86 ELF linker hash entry. */
-#define GOT_TLS_IE 4
-#define GOT_TLS_IE_POS 5
-#define GOT_TLS_IE_NEG 6
-#define GOT_TLS_IE_BOTH 7
-#define GOT_TLS_GDESC 8
-#define GOT_TLS_GD_BOTH_P(type) \
- ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
-#define GOT_TLS_GD_P(type) \
- ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GDESC_P(type) \
- ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GD_ANY_P(type) \
- (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
-
#define is_i386_elf(bfd) \
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
&& elf_tdata (bfd) != NULL \
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 26ab715daf..300e99ae4f 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -968,18 +968,6 @@ static const struct elf_x86_64_backend_data elf_x86_64_arch_bed =
#define elf_backend_arch_data &elf_x86_64_arch_bed
-/* Values in tls_type of x86 ELF linker hash entry. */
-#define GOT_TLS_IE 3
-#define GOT_TLS_GDESC 4
-#define GOT_TLS_GD_BOTH_P(type) \
- ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
-#define GOT_TLS_GD_P(type) \
- ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GDESC_P(type) \
- ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
-#define GOT_TLS_GD_ANY_P(type) \
- (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
-
#define is_x86_64_elf(bfd) \
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
&& elf_tdata (bfd) != NULL \
diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h
index edaab45533..86af21f431 100644
--- a/bfd/elfxx-x86.h
+++ b/bfd/elfxx-x86.h
@@ -218,10 +218,23 @@ struct elf_x86_plt_layout
unsigned int eh_frame_plt_size;
};
-/* The first 3 values in tls_type of x86 ELF linker hash entry. */
+/* Values in tls_type of x86 ELF linker hash entry. */
#define GOT_UNKNOWN 0
#define GOT_NORMAL 1
#define GOT_TLS_GD 2
+#define GOT_TLS_IE 4
+#define GOT_TLS_IE_POS 5
+#define GOT_TLS_IE_NEG 6
+#define GOT_TLS_IE_BOTH 7
+#define GOT_TLS_GDESC 8
+#define GOT_TLS_GD_BOTH_P(type) \
+ ((type) == (GOT_TLS_GD | GOT_TLS_GDESC))
+#define GOT_TLS_GD_P(type) \
+ ((type) == GOT_TLS_GD || GOT_TLS_GD_BOTH_P (type))
+#define GOT_TLS_GDESC_P(type) \
+ ((type) == GOT_TLS_GDESC || GOT_TLS_GD_BOTH_P (type))
+#define GOT_TLS_GD_ANY_P(type) \
+ (GOT_TLS_GD_P (type) || GOT_TLS_GDESC_P (type))
#define elf_x86_hash_entry(ent) \
((struct elf_x86_link_hash_entry *)(ent))
--
2.13.5