COFF: ARM: Support import functions.
llvm-svn: 243205
diff --git a/lld/COFF/Chunks.cpp b/lld/COFF/Chunks.cpp
index 6d13f99..0e14eff 100644
--- a/lld/COFF/Chunks.cpp
+++ b/lld/COFF/Chunks.cpp
@@ -313,6 +313,16 @@
write32le(Buf + FileOff + 2, ImpSymbol->getRVA() + Config->ImageBase);
}
+void ImportThunkChunkARM::getBaserels(std::vector<Baserel> *Res) {
+ Res->emplace_back(getRVA(), IMAGE_REL_BASED_ARM_MOV32T);
+}
+
+void ImportThunkChunkARM::writeTo(uint8_t *Buf) {
+ memcpy(Buf + FileOff, ImportThunkARM, sizeof(ImportThunkARM));
+ // Fix mov.w and mov.t operands.
+ applyMOV32T(Buf + FileOff, ImpSymbol->getRVA() + Config->ImageBase);
+}
+
void LocalImportChunk::getBaserels(std::vector<Baserel> *Res) {
Res->emplace_back(getRVA());
}