aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-03-10 22:44:01 +0000
committerAlan Modra <amodra@gmail.com>2010-03-10 22:44:01 +0000
commit806fc311517a1001110c6d08ac34b0a78caf1e06 (patch)
tree16d4297dbe3c2a4ce85986e7258f8c98998ece4a
parent01c30d6e99495434cdac28788da9a8e53f372aa3 (diff)
downloadgdb-806fc311517a1001110c6d08ac34b0a78caf1e06.zip
gdb-806fc311517a1001110c6d08ac34b0a78caf1e06.tar.gz
gdb-806fc311517a1001110c6d08ac34b0a78caf1e06.tar.bz2
PR ld/11367
* ldcref.c (handle_asneeded_cref): Correct copying of refs.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldcref.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7979891..9905b0a 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-11 George Gensure <werkt0@gmail.com>
+
+ PR ld/11367
+ * ldcref.c (handle_asneeded_cref): Correct copying of refs.
+
2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
diff --git a/ld/ldcref.c b/ld/ldcref.c
index c329d7d..2f6a46c 100644
--- a/ld/ldcref.c
+++ b/ld/ldcref.c
@@ -226,7 +226,7 @@ handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
entsize += cref_table.root.entsize;
c = (struct cref_hash_entry *) p;
for (r = c->refs; r != NULL; r = r->next)
- refsize += sizeof (struct cref_hash_entry);
+ refsize += sizeof (struct cref_ref);
}
}
@@ -258,8 +258,8 @@ handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
c = (struct cref_hash_entry *) p;
for (r = c->refs; r != NULL; r = r->next)
{
- memcpy (old_ref, r, sizeof (struct cref_hash_entry));
- old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
+ memcpy (old_ref, r, sizeof (struct cref_ref));
+ old_ref = (char *) old_ref + sizeof (struct cref_ref);
}
}
}
@@ -300,8 +300,8 @@ handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED,
c = (struct cref_hash_entry *) p;
for (r = c->refs; r != NULL; r = r->next)
{
- memcpy (r, old_ref, sizeof (struct cref_hash_entry));
- old_ref = (char *) old_ref + sizeof (struct cref_hash_entry);
+ memcpy (r, old_ref, sizeof (struct cref_ref));
+ old_ref = (char *) old_ref + sizeof (struct cref_ref);
}
}
}