diff options
author | Alan Modra <amodra@gmail.com> | 2010-03-10 22:44:01 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2010-03-10 22:44:01 +0000 |
commit | 806fc311517a1001110c6d08ac34b0a78caf1e06 (patch) | |
tree | 16d4297dbe3c2a4ce85986e7258f8c98998ece4a /ld | |
parent | 01c30d6e99495434cdac28788da9a8e53f372aa3 (diff) | |
download | binutils-806fc311517a1001110c6d08ac34b0a78caf1e06.zip binutils-806fc311517a1001110c6d08ac34b0a78caf1e06.tar.gz binutils-806fc311517a1001110c6d08ac34b0a78caf1e06.tar.bz2 |
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 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); } } } |