summaryrefslogtreecommitdiffstats
path: root/third_party/mach_override/README.chromium
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-22 20:08:01 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-22 20:08:01 +0000
commit6201e21a3f78df752d25f8ac4dd8a34e0c8e5139 (patch)
tree0e2ba6a473fd0979fd0c47351d1c2f43277a76be /third_party/mach_override/README.chromium
parent534b2ea0e41937778fe56dcbf5ef9f777dc981de (diff)
downloadchromium_src-6201e21a3f78df752d25f8ac4dd8a34e0c8e5139.zip
chromium_src-6201e21a3f78df752d25f8ac4dd8a34e0c8e5139.tar.gz
chromium_src-6201e21a3f78df752d25f8ac4dd8a34e0c8e5139.tar.bz2
Lion x86 compatibility for mach_override.
This enables makeIslandExecutable for x86. Main executables linked and run on Mac OS X 10.7 ("Lion") have non-executable heap pages by default. BUG=79642 TEST=Build and run on Lion. Renderers should not crash instantly. Review URL: http://codereview.chromium.org/7492012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93690 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/mach_override/README.chromium')
-rw-r--r--third_party/mach_override/README.chromium24
1 files changed, 20 insertions, 4 deletions
diff --git a/third_party/mach_override/README.chromium b/third_party/mach_override/README.chromium
index 20bbae5..a1d5c69 100644
--- a/third_party/mach_override/README.chromium
+++ b/third_party/mach_override/README.chromium
@@ -5,12 +5,11 @@ URL: https://github.com/rentzsch/mach_star
Date: 04/18/2011
Revision: 32c4560eb09848073f69
License: MIT
-Security Critical: Yes.
+Security Critical: Yes
Description:
-This is the mach_override part of the lastest (as of 04/11/2011) revision of
-mach_star, namely:
+This is the mach_override part of mach_star, namely:
https://github.com/rentzsch/mach_star/tree/aeb1720815c7255070da0f548267ccfdf7bd50b7
@@ -20,4 +19,21 @@ implementations at run time.
Local Modifications:
-None; all local changes have been upstreamed.
+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."