x86: TLS desc call relocs target zero-size fields
authorJan Beulich <jbeulich@suse.com>
Fri, 23 Apr 2021 07:18:48 +0000 (09:18 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 23 Apr 2021 07:18:48 +0000 (09:18 +0200)
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.

bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c

index 6361656fac167daa6d7d649c327e83e53ce2b4f8..f401e29863fadd4f2a36fbb1304dbc1917ec3017 100644 (file)
@@ -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.
index 377e76d0f3dc1327295c3f1339cffdaa8e79ae81..dee5352a0b605e9c5326e1c87243531cb6951e69 100644 (file)
@@ -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,
index 3ac6159f3f0dd9eaf0c7b0c66cea21904ea706b8..1204b29e396d5388a6ddd021d27095cde6dd666a 100644 (file)
@@ -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),