aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-i386.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 81e6835..c0b915b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/10763
+ * elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt
+ earlier.
+
2009-10-13 Alan Modra <amodra@bigpond.net.au>
* elflink.c (_bfd_elf_merge_symbol): Revert previous patch.
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 9de1a6c..016e046 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -4251,13 +4251,15 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
}
else
{
+ asection *plt;
+
if (!h->pointer_equality_needed)
abort ();
/* For non-shared object, we can't use .got.plt, which
contains the real function addres if we need pointer
equality. We load the GOT entry with the PLT entry. */
- asection *plt = htab->elf.splt ? htab->elf.splt : htab->elf.iplt;
+ plt = htab->elf.splt ? htab->elf.splt : htab->elf.iplt;
bfd_put_32 (output_bfd,
(plt->output_section->vma
+ plt->output_offset + h->plt.offset),