i386: Update sgotplt_jump_table_size setting
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 2 Sep 2017 18:18:30 +0000 (11:18 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 2 Sep 2017 18:18:30 +0000 (11:18 -0700)
elf_i386_size_dynamic_sections has

      htab->next_tls_desc_index = htab->elf.srelplt->reloc_count;
      htab->sgotplt_jump_table_size = htab->next_tls_desc_index * 4;

This patch changes it to

      htab->sgotplt_jump_table_size
= elf_x86_compute_jump_table_size (htab)

Since elf_x86_compute_jump_table_size is defined as

  ((htab)->elf.srelplt->reloc_count * (htab)->got_entry_size)

there is no change in output.  It makes elf_i386_size_dynamic_sections
the same as elf_x86_64_size_dynamic_sections.

* elf32-i386.c (elf_i386_size_dynamic_sections): Set
sgotplt_jump_table_size with elf_x86_compute_jump_table_size.

bfd/ChangeLog
bfd/elf32-i386.c

index 23cb8828175c821e11db8e7849e9b70f64db5bc0..1058a8b276a973637a6d316499ca555d6f9f2c37 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Set
+       sgotplt_jump_table_size with elf_x86_compute_jump_table_size.
+
 2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf32-i386.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
index 034511cb58652a7dd5e02dad4924db0f4b76a8bc..a123bbda653e4042064f0b3bd424359153d9bb0d 100644 (file)
@@ -2238,7 +2238,8 @@ elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
   if (htab->elf.srelplt)
     {
       htab->next_tls_desc_index = htab->elf.srelplt->reloc_count;
-      htab->sgotplt_jump_table_size = htab->next_tls_desc_index * 4;
+      htab->sgotplt_jump_table_size
+       = elf_x86_compute_jump_table_size (htab);
       htab->next_irelative_index = htab->elf.srelplt->reloc_count - 1;
     }
   else if (htab->elf.irelplt)