mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 21:53:12 +08:00
Fix SizeOfImage in the PE header.
IIUC, SizeOfImage is the distance from the end of the last section to the image base, rounded up to the page size. So the previous code is wrong. Should fix https://bugs.llvm.org/show_bug.cgi?id=34949 (It is nice to know that lld is already being used to create Putty distribution binaries.) llvm-svn: 316626
This commit is contained in:
@@ -615,7 +615,7 @@ void Writer::assignAddresses() {
|
||||
RVA += alignTo(Sec->getVirtualSize(), PageSize);
|
||||
FileSize += alignTo(Sec->getRawSize(), SectorSize);
|
||||
}
|
||||
SizeOfImage = SizeOfHeaders + alignTo(RVA - 0x1000, PageSize);
|
||||
SizeOfImage = alignTo(RVA, PageSize);
|
||||
}
|
||||
|
||||
template <typename PEHeaderTy> void Writer::writeHeader() {
|
||||
|
||||
@@ -39,7 +39,7 @@ HEADER-NEXT: MajorImageVersion: 0
|
||||
HEADER-NEXT: MinorImageVersion: 0
|
||||
HEADER-NEXT: MajorSubsystemVersion: 6
|
||||
HEADER-NEXT: MinorSubsystemVersion: 0
|
||||
HEADER-NEXT: SizeOfImage: 16896
|
||||
HEADER-NEXT: SizeOfImage: 20480
|
||||
HEADER-NEXT: SizeOfHeaders: 512
|
||||
HEADER-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
|
||||
HEADER-NEXT: Characteristics [ (0x9140)
|
||||
|
||||
Reference in New Issue
Block a user