aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-04-23 09:18:48 +0200
committerJan Beulich <jbeulich@suse.com>2021-04-23 09:18:48 +0200
commitc21346c5e224ace15a3ba8b7f56cd375e30e29a8 (patch)
tree905ccaf845e6c8fa7fc1b3abf629fdca5bf73059
parenta9aabc23efcc810e4b1999a735ea82d409cafbe7 (diff)
downloadgdb-c21346c5e224ace15a3ba8b7f56cd375e30e29a8.zip
gdb-c21346c5e224ace15a3ba8b7f56cd375e30e29a8.tar.gz
gdb-c21346c5e224ace15a3ba8b7f56cd375e30e29a8.tar.bz2
x86: TLS desc call relocs target zero-size fields
These are marker relocations, so together with their bit size being zero their byte size should be zero as well. This is expressed by a value of 3, not 0.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-i386.c2
-rw-r--r--bfd/elf64-x86-64.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6361656..f401e29 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2021-04-23 Jan Beulich <jbeulich@suse.com>
+
+ * elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
+ size field.
+ * elf64-x86-64.c (x86_64_elf_howto_table): R_X86_64_TLSDESC_CALL
+ has zero size field.
+
2021-04-22 Clément Chigot <clement.chigot@atos.net>
* hash.c (struct bfd_strtab_hash): Remove xcoff field.
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 377e76d..dee5352 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -130,7 +130,7 @@ static reloc_howto_type elf_howto_table[]=
HOWTO(R_386_TLS_GOTDESC, 0, 2, 32, false, 0, complain_overflow_bitfield,
bfd_elf_generic_reloc, "R_386_TLS_GOTDESC",
true, 0xffffffff, 0xffffffff, false),
- HOWTO(R_386_TLS_DESC_CALL, 0, 0, 0, false, 0, complain_overflow_dont,
+ HOWTO(R_386_TLS_DESC_CALL, 0, 3, 0, false, 0, complain_overflow_dont,
bfd_elf_generic_reloc, "R_386_TLS_DESC_CALL",
false, 0, 0, false),
HOWTO(R_386_TLS_DESC, 0, 2, 32, false, 0, complain_overflow_bitfield,
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 3ac6159..1204b29 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -146,7 +146,7 @@ static reloc_howto_type x86_64_elf_howto_table[] =
complain_overflow_bitfield, bfd_elf_generic_reloc,
"R_X86_64_GOTPC32_TLSDESC",
false, 0xffffffff, 0xffffffff, true),
- HOWTO(R_X86_64_TLSDESC_CALL, 0, 0, 0, false, 0,
+ HOWTO(R_X86_64_TLSDESC_CALL, 0, 3, 0, false, 0,
complain_overflow_dont, bfd_elf_generic_reloc,
"R_X86_64_TLSDESC_CALL",
false, 0, 0, false),