summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-cris.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0836a4679f..40678eea71 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2008-12-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_copy_indirect_symbol): Return without
+ action for symbols other than bfd_link_hash_indirect.
+
2008-12-15 Hans-Peter Nilsson <hp@axis.com>
* elf32-cris.c (elf_cris_copy_indirect_symbol): New function.
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 389798db7d..2f6b4d86a1 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -3024,6 +3024,11 @@ elf_cris_copy_indirect_symbol (struct bfd_link_info *info,
edir = (struct elf_cris_link_hash_entry *) dir;
eind = (struct elf_cris_link_hash_entry *) ind;
+ /* Only indirect symbols are replaced; we're not interested in
+ updating any of EIND's fields for other symbols. */
+ if (eind->root.root.type != bfd_link_hash_indirect)
+ return;
+
BFD_ASSERT (edir->pcrel_relocs_copied == NULL);
BFD_ASSERT (edir->gotplt_offset == 0 || eind->gotplt_offset == 0);