<div dir="ltr"><div style>Because llvm-readobj cannot dump PECOFF executable's optional header, I couldn't write a test for this change. I'll add a test after submitting <a href="http://llvm-reviews.chandlerc.com/D939">http://llvm-reviews.chandlerc.com/D939</a>.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 10, 2013 at 3:25 PM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Author: ruiu<br>
Date: Mon Jun 10 17:25:41 2013<br>
New Revision: 183705<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=183705&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=183705&view=rev</a><br>
Log:<br>
[PECOFF][Writer] Set required OS version numbers.<br>
<br>
Modified:<br>
    lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp?rev=183705&r1=183704&r2=183705&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp?rev=183705&r1=183704&r2=183705&view=diff</a><br>


==============================================================================<br>
--- lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp (original)<br>
+++ lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp Mon Jun 10 17:25:41 2013<br>
@@ -136,11 +136,14 @@ public:<br>
     // Sections in an executable file on disk should be sector-aligned (512 byte).<br>
     _peHeader.FileAlignment = 512;<br>
<br>
-    // [FIXME] Windows 5.1 is Windows XP.<br>
-    _peHeader.MajorOperatingSystemVersion = 5;<br>
-    _peHeader.MinorOperatingSystemVersion = 1;<br>
-    _peHeader.MajorSubsystemVersion = 5;<br>
-    _peHeader.MinorSubsystemVersion = 1;<br>
+    // The required Windows version number. This is the internal version and<br>
+    // shouldn't be confused with product name. Windows 7 is version 6.1 and<br>
+    // Windows 8 is 6.2, for example.<br>
+    PECOFFTargetInfo::OSVersion minOSVersion = targetInfo.getMinOSVersion();<br>
+    _peHeader.MajorOperatingSystemVersion = minOSVersion.majorVersion;<br>
+    _peHeader.MinorOperatingSystemVersion = minOSVersion.minorVersion;<br>
+    _peHeader.MajorSubsystemVersion = minOSVersion.majorVersion;<br>
+    _peHeader.MinorSubsystemVersion = minOSVersion.minorVersion;<br>
<br>
     // [FIXME] The size of the image when loaded into memory<br>
     _peHeader.SizeOfImage = 0x2000;<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>