diff options
author | Alan Modra <amodra@bigpond.net.au> | 2010-03-10 22:44:00 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2010-03-10 22:44:00 +0000 |
commit | 08142c5dce77f2741170d10debc6fa79f26cf6ab (patch) | |
tree | fba12b0280ff2059fa135cd54fb44dff24745e9e /ld | |
parent | 5e97bb2d785000f98f31cd3bf3f8bb2d0186ed32 (diff) | |
download | binutils-redhat-08142c5dce77f2741170d10debc6fa79f26cf6ab.tar.gz |
PR ld/11367
* ldcref.c (handle_asneeded_cref): Correct copying of refs.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/ldcref.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 797989162d..9905b0a620 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 c329d7d964..2f6a46caea 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); } } } |