This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb/binutils-2_26-branch] Set plt_got.offset to (bfd_vma) -1
- From: H.J.Lu <hjl at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 26 Feb 2016 13:22:10 -0000
- Subject: [binutils-gdb/binutils-2_26-branch] Set plt_got.offset to (bfd_vma) -1
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f3d3b91caa76d67f9e75ed9705ec89adbc77e020
commit f3d3b91caa76d67f9e75ed9705ec89adbc77e020
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Feb 24 05:42:27 2016 -0800
Set plt_got.offset to (bfd_vma) -1
Since plt_got.offset may be updated in x86 allocate_dynrelocs, set
plt_got.offset to (bfd_vma) -1 when setting needs_plt to 0.
Backport from master
* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
to (bfd_vma) -1 when setting needs_plt to 0.
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
Diff:
---
bfd/ChangeLog | 9 +++++++++
bfd/elf32-i386.c | 2 ++
bfd/elf64-x86-64.c | 2 ++
3 files changed, 13 insertions(+)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e15bada..afe1076 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,12 @@
+2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backport from master
+ 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
+ to (bfd_vma) -1 when setting needs_plt to 0.
+ * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
2016-02-26 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (create_linkage_sections): Create sfpr when
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 0c79d16..5d07c77 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2490,12 +2490,14 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
}
else
{
+ eh->plt_got.offset = (bfd_vma) -1;
h->plt.offset = (bfd_vma) -1;
h->needs_plt = 0;
}
}
else
{
+ eh->plt_got.offset = (bfd_vma) -1;
h->plt.offset = (bfd_vma) -1;
h->needs_plt = 0;
}
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 156734b..bddcfe1 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -2723,12 +2723,14 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
}
else
{
+ eh->plt_got.offset = (bfd_vma) -1;
h->plt.offset = (bfd_vma) -1;
h->needs_plt = 0;
}
}
else
{
+ eh->plt_got.offset = (bfd_vma) -1;
h->plt.offset = (bfd_vma) -1;
h->needs_plt = 0;
}