summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-05-08 01:35:57 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-05-08 01:35:57 +0000
commitfc6b85b18566ac3bc650a4c5ef33ad7836c2f3cf (patch)
treeb0068c854d37529a085723910222dac26fc35233 /llvm/lib
parentc45f3f743318c6831757679065d2ada749202003 (diff)
downloadbcm5719-llvm-fc6b85b18566ac3bc650a4c5ef33ad7836c2f3cf.tar.gz
bcm5719-llvm-fc6b85b18566ac3bc650a4c5ef33ad7836c2f3cf.zip
ARM: support FK_SecRel_2 relocations on WoA
This adds FK_SecRel_2 relocation support to ARM. This enables the building of object files for armv7-windows-msvc which enables CodeView line tables for debugging as opposed to armv7-windows-itanium which currently uses DWARF. llvm-svn: 208273
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp4
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 900c7ca5b42..93ec46df07f 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -344,6 +344,8 @@ static unsigned adjustFixupValue(const MCFixup &Fixup, uint64_t Value,
case FK_Data_2:
case FK_Data_4:
return Value;
+ case FK_SecRel_2:
+ return Value;
case FK_SecRel_4:
return Value;
case ARM::fixup_arm_movt_hi16:
@@ -674,6 +676,8 @@ static unsigned getFixupKindNumBytes(unsigned Kind) {
case ARM::fixup_t2_movw_lo16:
return 4;
+ case FK_SecRel_2:
+ return 2;
case FK_SecRel_4:
return 4;
}
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
index e3e6802fd3c..ba9df6e962c 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
@@ -49,6 +49,8 @@ unsigned ARMWinCOFFObjectWriter::getRelocType(const MCValue &Target,
default:
return COFF::IMAGE_REL_ARM_ADDR32;
}
+ case FK_SecRel_2:
+ return COFF::IMAGE_REL_ARM_SECTION;
case FK_SecRel_4:
return COFF::IMAGE_REL_ARM_SECREL;
case ARM::fixup_t2_condbranch:
OpenPOWER on IntegriCloud