diff options
Diffstat (limited to 'llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp index 718501f918e..d73188d4f0b 100644 --- a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp +++ b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp @@ -188,14 +188,20 @@ unsigned ARM64ELFObjectWriter::GetRelocType(const MCValue &Target, return ELF::R_AARCH64_MOVW_UABS_G3; if (RefKind == ARM64MCExpr::VK_ABS_G2) return ELF::R_AARCH64_MOVW_UABS_G2; + if (RefKind == ARM64MCExpr::VK_ABS_G2_S) + return ELF::R_AARCH64_MOVW_SABS_G2; if (RefKind == ARM64MCExpr::VK_ABS_G2_NC) return ELF::R_AARCH64_MOVW_UABS_G2_NC; if (RefKind == ARM64MCExpr::VK_ABS_G1) return ELF::R_AARCH64_MOVW_UABS_G1; + if (RefKind == ARM64MCExpr::VK_ABS_G1_S) + return ELF::R_AARCH64_MOVW_SABS_G1; if (RefKind == ARM64MCExpr::VK_ABS_G1_NC) return ELF::R_AARCH64_MOVW_UABS_G1_NC; if (RefKind == ARM64MCExpr::VK_ABS_G0) return ELF::R_AARCH64_MOVW_UABS_G0; + if (RefKind == ARM64MCExpr::VK_ABS_G0_S) + return ELF::R_AARCH64_MOVW_SABS_G0; if (RefKind == ARM64MCExpr::VK_ABS_G0_NC) return ELF::R_AARCH64_MOVW_UABS_G0_NC; if (RefKind == ARM64MCExpr::VK_DTPREL_G2) |