aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-spu.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-06-06 06:36:52 +0000
committerAlan Modra <amodra@gmail.com>2009-06-06 06:36:52 +0000
commit74681fc450b5239513653cd758364b9c1f755bad (patch)
treea830cead6f7966ea730784f1a35a5a05a0e35793 /bfd/elf32-spu.c
parentd8985ced1d3c23d6990067702d24cf7b1d6d7236 (diff)
downloadfsf-binutils-gdb-74681fc450b5239513653cd758364b9c1f755bad.zip
fsf-binutils-gdb-74681fc450b5239513653cd758364b9c1f755bad.tar.gz
fsf-binutils-gdb-74681fc450b5239513653cd758364b9c1f755bad.tar.bz2
* elf32-spu.c (spu_elf_relocate_section): Match overlay number
when looking for soft-icache stubs.
Diffstat (limited to 'bfd/elf32-spu.c')
-rw-r--r--bfd/elf32-spu.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
index db23807..af7afdb 100644
--- a/bfd/elf32-spu.c
+++ b/bfd/elf32-spu.c
@@ -4848,9 +4848,10 @@ spu_elf_relocate_section (bfd *output_bfd,
for (g = *head; g != NULL; g = g->next)
if (htab->params->ovly_flavour == ovly_soft_icache
- ? g->br_addr == (rel->r_offset
- + input_section->output_offset
- + input_section->output_section->vma)
+ ? (g->ovl == ovl
+ && g->br_addr == (rel->r_offset
+ + input_section->output_offset
+ + input_section->output_section->vma))
: g->addend == addend && (g->ovl == ovl || g->ovl == 0))
break;
if (g == NULL)