COFF: Fix locally-imported symbol's size for x86.
llvm-svn: 241860
diff --git a/lld/COFF/Chunks.cpp b/lld/COFF/Chunks.cpp
index e535310..0c4e99a 100644
--- a/lld/COFF/Chunks.cpp
+++ b/lld/COFF/Chunks.cpp
@@ -266,8 +266,16 @@
Res->push_back(getRVA() + Config->ImageBase);
}
+size_t LocalImportChunk::getSize() const {
+ return Config->is64() ? 8 : 4;
+}
+
void LocalImportChunk::writeTo(uint8_t *Buf) {
- write64le(Buf + FileOff, Sym->getRVA() + Config->ImageBase);
+ if (Config->is64()) {
+ write64le(Buf + FileOff, Sym->getRVA() + Config->ImageBase);
+ } else {
+ write32le(Buf + FileOff, Sym->getRVA() + Config->ImageBase);
+ }
}
// Windows-specific.