Troy Rollo wine@troy.rollo.name writes:
On the other hand it seems this field ends up with the wrong value under x86 anyway, since the calculation is "_end - .L__wine_spec_rva_base". ".L__wine_spec_rva_base" is in ".data", which in kernel32.dll.so on my system is section 21 at 0xb6940 - well after ".text". which is section 9 at 0x15000.
According to MS, SizeOfImage should be "Size of the image, in bytes, including all headers." Right now it is much less than that even on the x86 platforms.
It's relative to the start of the NT header, and it gets relocated at load time when we map the NT header to its proper place, at the start of the .text section.