summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-06-10 22:25:41 +0000
committerRui Ueyama <ruiu@google.com>2013-06-10 22:25:41 +0000
commit787ee4e099db1b712829cef9e75ba72d6d2e0c8d (patch)
treeac455c3042e435c00d7377b760c74d8108b89f6f
parenta2f806fd20760b3235bfd67c1739189dddce4f59 (diff)
downloadbcm5719-llvm-787ee4e099db1b712829cef9e75ba72d6d2e0c8d.tar.gz
bcm5719-llvm-787ee4e099db1b712829cef9e75ba72d6d2e0c8d.zip
[PECOFF][Writer] Set required OS version numbers.
llvm-svn: 183705
-rw-r--r--lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
index d25f7990e98..8111e3daaad 100644
--- a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
@@ -136,11 +136,14 @@ public:
// Sections in an executable file on disk should be sector-aligned (512 byte).
_peHeader.FileAlignment = 512;
- // [FIXME] Windows 5.1 is Windows XP.
- _peHeader.MajorOperatingSystemVersion = 5;
- _peHeader.MinorOperatingSystemVersion = 1;
- _peHeader.MajorSubsystemVersion = 5;
- _peHeader.MinorSubsystemVersion = 1;
+ // The required Windows version number. This is the internal version and
+ // shouldn't be confused with product name. Windows 7 is version 6.1 and
+ // Windows 8 is 6.2, for example.
+ PECOFFTargetInfo::OSVersion minOSVersion = targetInfo.getMinOSVersion();
+ _peHeader.MajorOperatingSystemVersion = minOSVersion.majorVersion;
+ _peHeader.MinorOperatingSystemVersion = minOSVersion.minorVersion;
+ _peHeader.MajorSubsystemVersion = minOSVersion.majorVersion;
+ _peHeader.MinorSubsystemVersion = minOSVersion.minorVersion;
// [FIXME] The size of the image when loaded into memory
_peHeader.SizeOfImage = 0x2000;
OpenPOWER on IntegriCloud