This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed, PATCH] i386: Update sgotplt_jump_table_size setting
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: binutils at sourceware dot org
- Date: Sat, 2 Sep 2017 11:24:41 -0700
- Subject: [committed, PATCH] i386: Update sgotplt_jump_table_size setting
- Authentication-results: sourceware.org; auth=none
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 | 5 +++++
bfd/elf32-i386.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 23cb882817..1058a8b276 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
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,
PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Moved to ...
* elfxx-x86.h (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 034511cb58..a123bbda65 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -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)
--
2.13.5