* elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
authorThiemo Seufer <ths@networkno.de>
Tue, 25 Jul 2006 09:01:02 +0000 (09:01 +0000)
committerThiemo Seufer <ths@networkno.de>
Tue, 25 Jul 2006 09:01:02 +0000 (09:01 +0000)
bfd/ChangeLog
bfd/elfxx-mips.c

index 8292b28..86517d6 100644 (file)
@@ -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
index 5e8bab4..f917ba5 100644 (file)
@@ -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: