aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elfxx-mips.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8292b28..86517d6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2006-07-25 Thiemo Seufer <ths@mips.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
+
2006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com>
* elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 5e8bab4..f917ba5 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -4471,7 +4471,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
case R_MIPS_GNU_REL16_S2:
value = symbol + _bfd_mips_elf_sign_extend (addend, 18) - p;
overflowed_p = mips_elf_overflow_p (value, 18);
- value = (value >> 2) & howto->dst_mask;
+ value >>= howto->rightshift;
+ value &= howto->dst_mask;
break;
case R_MIPS_GOT_HI16: