| OLD | NEW |
| 1 Name: mach_override | 1 Name: mach_override |
| 2 Short Name: Part of the mach_star project | 2 Short Name: Part of the mach_star project |
| 3 Version: Unknown | 3 Version: Unknown |
| 4 URL: https://github.com/rentzsch/mach_star | 4 URL: https://github.com/rentzsch/mach_star |
| 5 Date: 04/18/2011 | 5 Date: 04/18/2011 |
| 6 Revision: 32c4560eb09848073f69 | 6 Revision: 32c4560eb09848073f69 |
| 7 License: MIT | 7 License: MIT |
| 8 Security Critical: Yes. | 8 Security Critical: Yes |
| 9 | 9 |
| 10 | 10 |
| 11 Description: | 11 Description: |
| 12 This is the mach_override part of the lastest (as of 04/11/2011) revision of | 12 This is the mach_override part of mach_star, namely: |
| 13 mach_star, namely: | |
| 14 | 13 |
| 15 https://github.com/rentzsch/mach_star/tree/aeb1720815c7255070da0f548267ccfdf7b
d50b7 | 14 https://github.com/rentzsch/mach_star/tree/aeb1720815c7255070da0f548267ccfdf7b
d50b7 |
| 16 | 15 |
| 17 This package is used to replace framework functions with different | 16 This package is used to replace framework functions with different |
| 18 implementations at run time. | 17 implementations at run time. |
| 19 | 18 |
| 20 | 19 |
| 21 Local Modifications: | 20 Local Modifications: |
| 22 | 21 |
| 23 None; all local changes have been upstreamed. | 22 Enabled makeIslandExecutable for 32-bit i386. Main executables linked and run |
| 23 on Mac OS X 10.7 ("Lion") have non-executable heap pages by default. See |
| 24 http://crbug.com/79642. |
| 25 |
| 26 Changed the logic surrounding calls to makeIslandExecutable so that |
| 27 mach_override_ptr can return successfully when originalFunctionReentryIsland, |
| 28 an optional argument, is NULL. Failure in makeIslandExecutable will now |
| 29 trigger cleanup of allocated memory. |
| 30 |
| 31 Changed allocateBranchIsland to use a more appropriate address range per |
| 32 http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/Lau
nchTime/Articles/Prebinding.html. |
| 33 The range for x86 (32-bit) with kAllocateHigh set is now [0xffc00000, |
| 34 0xffe00000). In this configuration, the loop is now guaranteed to terminate |
| 35 instead of exceeding its permitted range. Previously, this function would |
| 36 begin looking for a page at 0xfefff000 and would not stop, even after wrapping |
| 37 around to low memory. The URL above states 0xfefff000 is within a range marked |
| 38 "Reserved for use by the pasteboard and other system services. Do not use this |
| 39 address range." |
| OLD | NEW |