Index: third_party/mach_override/README.chromium |
=================================================================== |
--- third_party/mach_override/README.chromium (revision 98423) |
+++ third_party/mach_override/README.chromium (working copy) |
@@ -2,8 +2,8 @@ |
Short Name: Part of the mach_star project |
Version: Unknown |
URL: https://github.com/rentzsch/mach_star |
-Date: 04/18/2011 |
-Revision: 32c4560eb09848073f69 |
+Date: 08/19/2011 |
+Revision: 87f491f8acef924d2ba90dd55fc23ad64f9d5bbd |
License: MIT |
Security Critical: Yes |
@@ -11,7 +11,7 @@ |
Description: |
This is the mach_override part of mach_star, namely: |
- https://github.com/rentzsch/mach_star/tree/aeb1720815c7255070da0f548267ccfdf7bd50b7 |
+ https://github.com/rentzsch/mach_star/tree/87f491f8acef924d2ba90dd55fc23ad64f9d5bbd |
This package is used to replace framework functions with different |
implementations at run time. |
@@ -19,21 +19,10 @@ |
Local Modifications: |
-Enabled makeIslandExecutable for 32-bit i386. Main executables linked and run |
-on Mac OS X 10.7 ("Lion") have non-executable heap pages by default. See |
-http://crbug.com/79642. |
- |
-Changed the logic surrounding calls to makeIslandExecutable so that |
-mach_override_ptr can return successfully when originalFunctionReentryIsland, |
-an optional argument, is NULL. Failure in makeIslandExecutable will now |
-trigger cleanup of allocated memory. |
- |
-Changed allocateBranchIsland to use a more appropriate address range per |
-http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/LaunchTime/Articles/Prebinding.html. |
-The range for x86 (32-bit) with kAllocateHigh set is now [0xffc00000, |
-0xffe00000). In this configuration, the loop is now guaranteed to terminate |
-instead of exceeding its permitted range. Previously, this function would |
-begin looking for a page at 0xfefff000 and would not stop, even after wrapping |
-around to low memory. The URL above states 0xfefff000 is within a range marked |
-"Reserved for use by the pasteboard and other system services. Do not use this |
-address range." |
+reentryIsland is allocated in high memory with vm_allocate rather than the |
+heap with malloc by changing the allocation policy to kAllocateHigh. It |
+appears probable that putting the reentry island in the heap causes its page |
+to lose execute permission at some point under some circumstances, which |
+results in a crash on Lion. This modification is temoprary to simply test |
+out the theory. If proven, the code will be improved somewhat. |
+http://crbug.com/93736. |