diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-01-09 05:59:12 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-01-09 05:59:12 +0000 |
| commit | 3c0f78a2fc31d0691dd20b8489d35928d87e998b (patch) | |
| tree | bfbcb298943c20785873e2b0cdfb0ed6152b7eb3 /llvm | |
| parent | baff294c1c0b3ace6c3f95f8118508a6c172fa4a (diff) | |
| download | bcm5719-llvm-3c0f78a2fc31d0691dd20b8489d35928d87e998b.tar.gz bcm5719-llvm-3c0f78a2fc31d0691dd20b8489d35928d87e998b.zip | |
ARM: add support for R_ARM_ABS8 relocations
Add support for R_ARM_ABS8 relocation. Addresses PR22126.
llvm-svn: 225507
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp | 8 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/reloc-abs8.s | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp index 45e02338e8d..0489caa69a3 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp @@ -148,6 +148,14 @@ unsigned ARMELFObjectWriter::GetRelocTypeInner(const MCValue &Target, } else { switch ((unsigned)Fixup.getKind()) { default: llvm_unreachable("invalid fixup kind!"); + case FK_Data_1: + switch (Modifier) { + default: llvm_unreachable("unsupported Modifier"); + case MCSymbolRefExpr::VK_None: + Type = ELF::R_ARM_ABS8; + break; + } + break; case FK_Data_4: switch (Modifier) { default: llvm_unreachable("Unsupported Modifier"); diff --git a/llvm/test/MC/ARM/reloc-abs8.s b/llvm/test/MC/ARM/reloc-abs8.s new file mode 100644 index 00000000000..716f0ff21df --- /dev/null +++ b/llvm/test/MC/ARM/reloc-abs8.s @@ -0,0 +1,10 @@ +@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-objdump -r - \ +@ RUN: | FileCheck %s + + .syntax unified + + .byte abs8_0 -128 + .byte abs8_1 +255 + +@ CHECK: 0 R_ARM_ABS8 abs8_0 +@ CHECK: 1 R_ARM_ABS8 abs8_1 |

