* elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26

overflow.
This commit is contained in:
Ian Lance Taylor 2004-12-08 20:27:50 +00:00
parent 21fde4dc3d
commit 728b2f2114
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-12-08 Ian Lance Taylor <ian@wasabisystems.com>
* elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
overflow.
2004-12-07 Ben Elliston <bje@gnu.org>
* netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.

View File

@ -3350,7 +3350,10 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
if (local_p)
value = ((addend | ((p + 4) & 0xf0000000)) + symbol) >> 2;
else
value = (_bfd_mips_elf_sign_extend (addend, 28) + symbol) >> 2;
{
value = (_bfd_mips_elf_sign_extend (addend, 28) + symbol) >> 2;
overflowed_p = (value >> 26) != ((p + 4) >> 28);
}
value &= howto->dst_mask;
break;