diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index bb53e039e3..d52c046979 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -12027,9 +12027,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, unsigned long data, insn; unsigned thumb; - data = bfd_get_32 (input_bfd, hit_data); + data = bfd_get_signed_32 (input_bfd, hit_data); thumb = data & 1; - data &= ~1u; + data &= ~1ul; if (thumb) {