summaryrefslogtreecommitdiff
blob: dee69e7c858bef7f1d63fc5adc8421a77e68187a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Backport (just a diff really) of OS X 10.10 handling from 241.9.

--- ld64-128.2/src/ld/Options.cpp	2015-01-30 17:16:48.000000000 +0100
+++ ld64-241.9/src/ld/Options.cpp	2015-01-30 17:11:57.000000000 +0100
@@ -1241,7 +1348,14 @@
 		throw "-macosx_version_min argument missing";
 
 	if ( (strncmp(version, "10.", 3) == 0) && isdigit(version[3]) ) {
-		unsigned int minorVersion = version[3] - '0';
+		unsigned int minorVersion = 0;
+		for (int i=3; isdigit(version[i]); ++i) {
+			minorVersion = minorVersion*10 + (version[i] - '0');
+		}
+		if ( minorVersion > 255 ) {
+			warning("Mac OS X minor version > 255 in '%s'", version);
+			minorVersion = 255;
+		}
 		fMacVersionMin = (ld::MacVersionMin)(0x000A0000 | (minorVersion << 8));
 	}
 	else {