aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-11-12 03:28:52 +0000
committerAlan Modra <amodra@gmail.com>2007-11-12 03:28:52 +0000
commit8f39ba8ef25ad65f372ac4ce6974804e898e2c0a (patch)
treec0dad7045eb7d04543dd779e1d88756fdc91b182
parent2c524891fc22f292c02467c99ebb5a1615f84f6e (diff)
downloadgdb-8f39ba8ef25ad65f372ac4ce6974804e898e2c0a.zip
gdb-8f39ba8ef25ad65f372ac4ce6974804e898e2c0a.tar.gz
gdb-8f39ba8ef25ad65f372ac4ce6974804e898e2c0a.tar.bz2
* elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
pointer when we have a valid symbol. Init udata.p to NULL.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 16639c6..2635fbd 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/elf.c b/bfd/elf.c
index 0969abc..d4f8f05 100644
--- 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;