summaryrefslogtreecommitdiff
blob: c4c5e0d113c82d764cf8b7eb602103ed77421bd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Avoid error with gcc on 32bit platforms:
ld/LinkEdit.hpp:1329: error: integer constant is too large for 'long' type

--- ./ld64-236.3/src/ld/LinkEdit.hpp.orig	2015-01-14 18:00:49.000000000 +0100
+++ ./ld64-236.3/src/ld/LinkEdit.hpp	2015-01-14 18:02:23.000000000 +0100
@@ -1326,7 +1326,7 @@
 void FunctionStartsAtom<A>::encode() const
 {
 	this->_encodedData.reserve(8192);
-	const uint64_t badAddress = 0xFFFFFFFFFFFFFFFF;
+	const uint64_t badAddress = 0xFFFFFFFFFFFFFFFFULL;
 	uint64_t addr = badAddress;
 	// delta compress all function addresses
 	for (std::vector<ld::Internal::FinalSection*>::iterator it = this->_state.sections.begin(); it != this->_state.sections.end(); ++it) {
--- ./ld64-236.3/src/ld/Options.cpp.orig	2015-01-14 18:01:12.000000000 +0100
+++ ./ld64-236.3/src/ld/Options.cpp	2015-01-14 18:02:09.000000000 +0100
@@ -4173,7 +4173,7 @@
 		switch (fArchitecture) {
 			case CPU_TYPE_I386:
             case CPU_TYPE_ARM:
-				if ( fStackAddr > 0xFFFFFFFF )
+				if ( fStackAddr > 0xFFFFFFFFULL )
 					throw "-stack_addr must be < 4G for 32-bit processes";
 				break;
 			case CPU_TYPE_X86_64:
@@ -4193,29 +4193,29 @@
 				if ( fStackSize > 0xFFFFFFFF )
 					throw "-stack_size must be < 4G for 32-bit processes";
 				if ( fStackAddr == 0 ) {
-					fStackAddr = 0xC0000000;
+					fStackAddr = 0xC0000000ULL;
 				}
-				if ( (fStackAddr > 0xB0000000) && ((fStackAddr-fStackSize) < 0xB0000000)  )
+				if ( (fStackAddr > 0xB0000000ULL) && ((fStackAddr-fStackSize) < 0xB0000000ULL)  )
 					warning("custom stack placement overlaps and will disable shared region");
 				break;
             case CPU_TYPE_ARM:
 				if ( fStackSize > 0x2F000000 )
 					throw "-stack_size must be < 752MB";
 				if ( fStackAddr == 0 )
-					fStackAddr = 0x2F000000;
-                if ( fStackAddr > 0x30000000)
+					fStackAddr = 0x2F000000ULL;
+                if ( fStackAddr > 0x30000000ULL)
                     throw "-stack_addr must be < 0x30000000 for arm";
 				break;
 			case CPU_TYPE_X86_64:
 				if ( fStackAddr == 0 ) {
-					fStackAddr = 0x00007FFF5C000000LL;
+					fStackAddr = 0x00007FFF5C000000ULL;
 				}
 				break;
 			case CPU_TYPE_ARM64:
 				if ( fStackSize > 0x20000000 )
 					throw "-stack_size must be < 512MB";
 				if ( fStackAddr == 0 ) {
-					fStackAddr = 0x120000000;
+					fStackAddr = 0x120000000ULL;
 				}
 				break;
 		}