Attempt to get Thumb2 branch fixups working properly.

llvm-svn: 121593
This commit is contained in:
Owen Anderson 2010-12-10 23:02:28 +00:00
parent 6cd6e644e7
commit 47a78db79b
2 changed files with 2 additions and 3 deletions

View File

@ -141,7 +141,7 @@ static unsigned adjustFixupValue(unsigned Kind, uint64_t Value) {
// Offset by 8 just as above.
return 0xffffff & ((Value - 8) >> 2);
case ARM::fixup_t2_branch: {
Value = Value - 6;
Value = Value - 4;
Value >>= 1; // Low bit is not encoded.
uint64_t out = 0;

View File

@ -57,8 +57,7 @@ public:
MCFixupKindInfo::FKF_IsAligned},
{ "fixup_arm_adr_pcrel_12", 1, 24, MCFixupKindInfo::FKF_IsPCRel },
{ "fixup_arm_branch", 1, 24, MCFixupKindInfo::FKF_IsPCRel },
{ "fixup_t2_branch", 0, 32, MCFixupKindInfo::FKF_IsPCRel |
MCFixupKindInfo::FKF_IsAligned},
{ "fixup_t2_branch", 0, 32, MCFixupKindInfo::FKF_IsPCRel },
{ "fixup_arm_thumb_br", 0, 16, MCFixupKindInfo::FKF_IsPCRel },
{ "fixup_arm_thumb_bl", 0, 32, MCFixupKindInfo::FKF_IsPCRel },
{ "fixup_arm_thumb_blx", 7, 21, MCFixupKindInfo::FKF_IsPCRel },