// there's no technical reason to do so, but we'll follow that convention
// so that we don't produce odd-looking binary. We should update the code
// (or this comment) once we figure the reason out.
- uint32_t offset = PAGE_SIZE;
- uint32_t va = offset;
+ uint32_t rva = PAGE_SIZE;
for (auto &cp : _chunks) {
if (SectionChunk *chunk = dyn_cast<SectionChunk>(&*cp)) {
- chunk->setVirtualAddress(va);
-
+ chunk->setVirtualAddress(rva);
// Skip the empty section.
if (chunk->size() == 0)
continue;
numSections++;
- va = llvm::RoundUpToAlignment(va + chunk->size(), PAGE_SIZE);
+ rva = llvm::RoundUpToAlignment(rva + chunk->size(), PAGE_SIZE);
}
}
- imageSize = va - offset;
+ imageSize = rva;
}
/// Apply relocations to the output file buffer. This two pass. In the first
FILE: MinorImageVersion: 0
FILE: MajorSubsystemVersion: 3
FILE: MinorSubsystemVersion: 11
-FILE: SizeOfImage: 4096
+FILE: SizeOfImage: 8192
FILE: SizeOfHeaders: 512
FILE: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
FILE: Subsystem [ (0x8540)