* elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
authorAlan Modra <amodra@gmail.com>
Mon, 12 Nov 2007 03:28:52 +0000 (03:28 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 12 Nov 2007 03:28:52 +0000 (03:28 +0000)
        pointer when we have a valid symbol.  Init udata.p to NULL.

bfd/ChangeLog
bfd/elf.c

index 16639c6520fdaf5e0c656b814ba5e0b1e1ee3b42..2635fbdb3c599b11efb7138ede2102a799045e23 100644 (file)
@@ -1,3 +1,8 @@
+2007-11-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
+        pointer when we have a valid symbol.  Init udata.p to NULL.
+
 2007-11-09  Nathan Sidwell  <nathan@codesourcery.com>
 
        * elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
index 0969abc370c7fb33284451b6db97249c112c7de5..d4f8f054980e418d9c4d52633d0537304ccd2466 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -8678,7 +8678,7 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd,
   names = (char *) (s + count);
   p = relplt->relocation;
   n = 0;
-  for (i = 0; i < count; i++, s++, p++)
+  for (i = 0; i < count; i++, p++)
     {
       size_t len;
       bfd_vma addr;
@@ -8695,12 +8695,13 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd,
       s->section = plt;
       s->value = addr - plt->vma;
       s->name = names;
+      s->udata.p = NULL;
       len = strlen ((*p->sym_ptr_ptr)->name);
       memcpy (names, (*p->sym_ptr_ptr)->name, len);
       names += len;
       memcpy (names, "@plt", sizeof ("@plt"));
       names += sizeof ("@plt");
-      ++n;
+      ++s, ++n;
     }
 
   return n;