From c000e2621b35acc091086e4d0185453011cb7adb Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Tue, 25 Jul 2006 09:06:05 +0000 Subject: [PATCH] * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test also for same symbol. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 86517d6..f23d35b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2006-07-25 Thiemo Seufer + + * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test + also for same symbol. + 2006-07-25 Thiemo Seufer * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index f917ba5..5a65d42 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; -- 2.7.4