From: Nick Clifton Date: Mon, 6 May 2002 13:50:53 +0000 (+0000) Subject: Fix check for overflow of relocation for the Thumb BL instruction. X-Git-Tag: binutils-2_12_1~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=97f03e445cc037bfeba3f8ef7a9dca2aca9d27d9;p=thirdparty%2Fbinutils-gdb.git Fix check for overflow of relocation for the Thumb BL instruction. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b6e2fc3b669..d137430e284 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-05-06 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Convert + 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets. + 2002-05-02 Richard Henderson * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index d420e5bcf5c..9e8b09f931b 100644 --- a/bfd/elf32-arm.h +++ b/bfd/elf32-arm.h @@ -1390,7 +1390,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd, boolean overflow = false; bfd_vma upper_insn = bfd_get_16 (input_bfd, hit_data); bfd_vma lower_insn = bfd_get_16 (input_bfd, hit_data + 2); - bfd_signed_vma reloc_signed_max = (1 << (howto->bitsize - 1)) - 1; + bfd_signed_vma reloc_signed_max = ((1 << (howto->bitsize - 1)) - 1) >> howto->rightshift; bfd_signed_vma reloc_signed_min = ~ reloc_signed_max; bfd_vma check; bfd_signed_vma signed_check;