fix bug in previous delta
This commit is contained in:
parent
aff05906d2
commit
ddda4409ce
|
@ -1607,13 +1607,23 @@ arm_add_to_rel (abfd, address, howto, increment)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add in the increment, (which is a byte value). */
|
/* Add in the increment, (which is a byte value). */
|
||||||
addend <<= howto->size;
|
switch (howto->type)
|
||||||
addend += increment;
|
{
|
||||||
|
case R_ARM_THM_PC22:
|
||||||
|
default:
|
||||||
|
addend += increment;
|
||||||
|
break;
|
||||||
|
|
||||||
/* Should we check for overflow here ? */
|
case R_ARM_PC24:
|
||||||
|
addend <<= howto->size;
|
||||||
|
addend += increment;
|
||||||
|
|
||||||
/* Drop any undesired bits. */
|
/* Should we check for overflow here ? */
|
||||||
addend >>= howto->rightshift;
|
|
||||||
|
/* Drop any undesired bits. */
|
||||||
|
addend >>= howto->rightshift;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
contents = (contents & ~ howto->dst_mask) | (addend & howto->dst_mask);
|
contents = (contents & ~ howto->dst_mask) | (addend & howto->dst_mask);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue