diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-08 01:35:57 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-08 01:35:57 +0000 |
commit | dade1d5db5c20e04a3ae732ed2097da8879e3705 (patch) | |
tree | 6870b5131ed15898a07f627de4aaad86db5e0a7f /lib/Target/ARM | |
parent | 4983b992ab866f65e029019d47d157af5b2bb4f2 (diff) | |
download | llvm-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.cpp | 4 | ||||
-rw-r--r-- | lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp | 2 |
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: |