summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2006-07-25 09:06:05 +0000
committerThiemo Seufer <ths@networkno.de>2006-07-25 09:06:05 +0000
commit11b13813da4cefec3f74912b47a24a31f8fda677 (patch)
tree6d48306c46f4a6ac673eec4ed13be7899ce4a4b1 /bfd
parent7d3ba91a52813f8e62627b82f64ea51db0cea3c1 (diff)
downloadgdb-11b13813da4cefec3f74912b47a24a31f8fda677.tar.gz
* elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
also for same symbol.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfxx-mips.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 86517d66782..f23d35b85eb 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2006-07-25 Thiemo Seufer <ths@networkno.de>
+
+ * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
+ also for same symbol.
+
2006-07-25 Thiemo Seufer <ths@mips.com>
* elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index f917ba538f2..5a65d42461e 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -3583,9 +3583,12 @@ mips_elf_next_relocation (bfd *abfd ATTRIBUTE_UNUSED, unsigned int r_type,
const Elf_Internal_Rela *relocation,
const Elf_Internal_Rela *relend)
{
+ unsigned long r_symndx = ELF_R_SYM (abfd, relocation->r_info);
+
while (relocation < relend)
{
- if (ELF_R_TYPE (abfd, relocation->r_info) == r_type)
+ if (ELF_R_TYPE (abfd, relocation->r_info) == r_type
+ && ELF_R_SYM (abfd, relocation->r_info) == r_symndx)
return relocation;
++relocation;