2009-10-13 H.J. Lu <hongjiu.lu@intel.com>

PR binutils/10763
	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt
	earlier.
This commit is contained in:
H.J. Lu 2009-10-13 16:37:39 +00:00
parent 313c53d19e
commit cd2b2c108e
2 changed files with 9 additions and 1 deletions

View File

@ -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> 2009-10-13 Alan Modra <amodra@bigpond.net.au>
* elflink.c (_bfd_elf_merge_symbol): Revert previous patch. * elflink.c (_bfd_elf_merge_symbol): Revert previous patch.

View File

@ -4251,13 +4251,15 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
} }
else else
{ {
asection *plt;
if (!h->pointer_equality_needed) if (!h->pointer_equality_needed)
abort (); abort ();
/* For non-shared object, we can't use .got.plt, which /* For non-shared object, we can't use .got.plt, which
contains the real function addres if we need pointer contains the real function addres if we need pointer
equality. We load the GOT entry with the PLT entry. */ 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, bfd_put_32 (output_bfd,
(plt->output_section->vma (plt->output_section->vma
+ plt->output_offset + h->plt.offset), + plt->output_offset + h->plt.offset),