summaryrefslogtreecommitdiff
path: root/lib/Target/ARM
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
commitdade1d5db5c20e04a3ae732ed2097da8879e3705 (patch)
tree6870b5131ed15898a07f627de4aaad86db5e0a7f /lib/Target/ARM
parent4983b992ab866f65e029019d47d157af5b2bb4f2 (diff)
downloadllvm-dade1d5db5c20e04a3ae732ed2097da8879e3705.tar.gz
llvm-dade1d5db5c20e04a3ae732ed2097da8879e3705.tar.bz2
llvm-dade1d5db5c20e04a3ae732ed2097da8879e3705.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208273 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM')
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp4
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 900c7ca5b4..93ec46df07 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/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/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp b/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
index e3e6802fd3..ba9df6e962 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
+++ b/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: