aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2012-04-12 01:19:35 +0000
committerJim Grosbach <grosbach@apple.com>2012-04-12 01:19:35 +0000
commitb54efe809f258af2bd1cfbde6e196f70a8a33081 (patch)
tree595aff61dcb04ab9541eb01ffc39803406479a2d /lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
parented08489a71e06e679a692bad9efc1125341c46e7 (diff)
downloadexternal_llvm-b54efe809f258af2bd1cfbde6e196f70a8a33081.zip
external_llvm-b54efe809f258af2bd1cfbde6e196f70a8a33081.tar.gz
external_llvm-b54efe809f258af2bd1cfbde6e196f70a8a33081.tar.bz2
ARM 'adr' fixups don't need the interworking addend tweaking.
They reference the PC directly, so things work properly that way. rdar://11231229 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154576 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp')
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 5f2138d..d10bfc1 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -116,6 +116,9 @@ public:
// twiddled.
if ((unsigned)Fixup.getKind() != ARM::fixup_arm_ldst_pcrel_12 &&
(unsigned)Fixup.getKind() != ARM::fixup_t2_ldst_pcrel_12 &&
+ (unsigned)Fixup.getKind() != ARM::fixup_arm_adr_pcrel_12 &&
+ (unsigned)Fixup.getKind() != ARM::fixup_thumb_adr_pcrel_10 &&
+ (unsigned)Fixup.getKind() != ARM::fixup_t2_adr_pcrel_12 &&
(unsigned)Fixup.getKind() != ARM::fixup_arm_thumb_cp) {
if (A) {
const MCSymbol &Sym = A->getSymbol().AliasedSymbol();