summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MachObjectWriter.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-03-22 22:52:54 +0000
committerOwen Anderson <resistor@mac.com>2011-03-22 22:52:54 +0000
commit6149a341026a985d90c4bb9ac2031f7ab27c8e57 (patch)
tree0538356e18054126a96b112d5265174b24819674 /llvm/lib/MC/MachObjectWriter.cpp
parent678f396d2061eaabdaf118fe2858f73d29ee21a8 (diff)
downloadbcm5719-llvm-6149a341026a985d90c4bb9ac2031f7ab27c8e57.tar.gz
bcm5719-llvm-6149a341026a985d90c4bb9ac2031f7ab27c8e57.zip
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>. llvm-svn: 128117
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/MachObjectWriter.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index bd294c27e8a..f2e91c26719 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -821,7 +821,7 @@ public:
// 1 - :upper16: for movt instructions
// high bit of r_length:
// 0 - arm instructions
- // 1 - thumb instructions
+ // 1 - thumb instructions
// the other half of the relocated expression is in the following pair
// relocation entry in the the low 16 bits of r_address field.
unsigned ThumbBit = 0;
@@ -949,15 +949,11 @@ public:
// Handle Thumb branches.
case ARM::fixup_arm_thumb_br:
+ case ARM::fixup_arm_thumb_bl:
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
Log2Size = llvm::Log2_32(2);
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:
RelocType = unsigned(macho::RIT_ARM_ThumbBranch22Bit);
// Report as 'long', even though that is not quite accurate.
OpenPOWER on IntegriCloud