| Index: chrome/browser/nacl_host/nacl_process_host.cc | 
| =================================================================== | 
| --- chrome/browser/nacl_host/nacl_process_host.cc	(revision 97969) | 
| +++ chrome/browser/nacl_host/nacl_process_host.cc	(working copy) | 
| @@ -145,7 +145,22 @@ | 
| #endif  // defined(OS_POSIX) | 
|  | 
| // Build command line for nacl. | 
| -  FilePath exe_path = GetChildPath(nacl_loader_prefix.empty()); | 
| + | 
| +#if defined(OS_MACOSX) | 
| +  // The Native Client process needs to be able to allocate a 1GB contiguous | 
| +  // region to use as the client environment's virtual address space. ASLR | 
| +  // (PIE) interferes with this by making it possible that no gap large enough | 
| +  // to accomodate this request will exist in the child process' address | 
| +  // space. Disable PIE for NaCl processes. See http://crbug.com/90221 and | 
| +  // http://code.google.com/p/nativeclient/issues/detail?id=2043. | 
| +  int flags = CHILD_NO_PIE; | 
| +#elif defined(OS_LINUX) | 
| +  int flags = nacl_loader_prefix.empty() ? CHILD_ALLOW_SELF : CHILD_NORMAL; | 
| +#else | 
| +  int flags = CHILD_NORMAL; | 
| +#endif | 
| + | 
| +  FilePath exe_path = GetChildPath(flags); | 
| if (exe_path.empty()) | 
| return false; | 
|  | 
|  |