mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 16:17:17 +00:00
RIT_ARM_ThumbBranch32Bit relocations are not used and should never be generated.
This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler. Fixes <rdar://problem/9165738>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128117 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -821,7 +821,7 @@ public:
|
|||||||
// 1 - :upper16: for movt instructions
|
// 1 - :upper16: for movt instructions
|
||||||
// high bit of r_length:
|
// high bit of r_length:
|
||||||
// 0 - arm instructions
|
// 0 - arm instructions
|
||||||
// 1 - thumb instructions
|
// 1 - thumb instructions
|
||||||
// the other half of the relocated expression is in the following pair
|
// the other half of the relocated expression is in the following pair
|
||||||
// relocation entry in the the low 16 bits of r_address field.
|
// relocation entry in the the low 16 bits of r_address field.
|
||||||
unsigned ThumbBit = 0;
|
unsigned ThumbBit = 0;
|
||||||
@@ -949,15 +949,11 @@ public:
|
|||||||
|
|
||||||
// Handle Thumb branches.
|
// Handle Thumb branches.
|
||||||
case ARM::fixup_arm_thumb_br:
|
case ARM::fixup_arm_thumb_br:
|
||||||
|
case ARM::fixup_arm_thumb_bl:
|
||||||
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
|
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
|
||||||
Log2Size = llvm::Log2_32(2);
|
Log2Size = llvm::Log2_32(2);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case ARM::fixup_arm_thumb_bl:
|
|
||||||
RelocType = unsigned(macho::RIT_ARM_ThumbBranch32Bit);
|
|
||||||
Log2Size = llvm::Log2_32(4);
|
|
||||||
return true;
|
|
||||||
|
|
||||||
case ARM::fixup_arm_thumb_blx:
|
case ARM::fixup_arm_thumb_blx:
|
||||||
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
|
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
|
||||||
// Report as 'long', even though that is not quite accurate.
|
// Report as 'long', even though that is not quite accurate.
|
||||||
|
Reference in New Issue
Block a user