| 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.
|
|
|