diff options
Diffstat (limited to 'lld/COFF/Chunks.cpp')
| -rw-r--r-- | lld/COFF/Chunks.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lld/COFF/Chunks.cpp b/lld/COFF/Chunks.cpp index 30a1364cfe9..daf2ff681b5 100644 --- a/lld/COFF/Chunks.cpp +++ b/lld/COFF/Chunks.cpp @@ -221,6 +221,15 @@ void ImportThunkChunk::writeTo(uint8_t *Buf) { write32le(Buf + FileOff + 2, Operand); } +void LocalImportChunk::getBaserels(std::vector<uint32_t> *Res, + Defined *ImageBase) { + Res->push_back(getRVA() + Config->ImageBase); +} + +void LocalImportChunk::writeTo(uint8_t *Buf) { + write64le(Buf + FileOff, Sym->getRVA() + Config->ImageBase); +} + // Windows-specific. // This class represents a block in .reloc section. BaserelChunk::BaserelChunk(uint32_t Page, uint32_t *Begin, uint32_t *End) { @@ -237,10 +246,6 @@ BaserelChunk::BaserelChunk(uint32_t Page, uint32_t *Begin, uint32_t *End) { } } -void LocalImportChunk::writeTo(uint8_t *Buf) { - write32le(Buf + FileOff, Sym->getRVA()); -} - void BaserelChunk::writeTo(uint8_t *Buf) { memcpy(Buf + FileOff, Data.data(), Data.size()); } |

