fix bug in previous delta

This commit is contained in:
Nick Clifton 1999-08-20 07:56:08 +00:00
parent aff05906d2
commit ddda4409ce
1 changed files with 15 additions and 5 deletions

View File

@ -1607,13 +1607,23 @@ arm_add_to_rel (abfd, address, howto, increment)
}
/* Add in the increment, (which is a byte value). */
addend <<= howto->size;
addend += increment;
switch (howto->type)
{
case R_ARM_THM_PC22:
default:
addend += increment;
break;
/* Should we check for overflow here ? */
case R_ARM_PC24:
addend <<= howto->size;
addend += increment;
/* Should we check for overflow here ? */
/* Drop any undesired bits. */
addend >>= howto->rightshift;
/* Drop any undesired bits. */
addend >>= howto->rightshift;
break;
}
contents = (contents & ~ howto->dst_mask) | (addend & howto->dst_mask);