|
@@ -0,0 +1,34 @@
|
|
|
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
+From: deepak1556 <[email protected]>
|
|
|
+Date: Tue, 15 Aug 2023 23:59:59 +0900
|
|
|
+Subject: fix: compile error on macOS with
|
|
|
+ v8_enable_private_mapping_fork_optimization=true
|
|
|
+
|
|
|
+Follow-up to https://chromium-review.googlesource.com/c/v8/v8/+/4602858,
|
|
|
+we are trying to enable this flag in Electron without any OS conditions in
|
|
|
+args.gn which results in a compilation failure on macOS due to the lack of MADV_DONTFORK.
|
|
|
+
|
|
|
+Given that Node.js and Electron both use posix_spawn on macOS which
|
|
|
+by default does not copy MAP_JIT locations, it would be safe to isolate
|
|
|
+the change only for linux.
|
|
|
+
|
|
|
+Change-Id: I58ad50e557016fa573d7a27f33a60e2e5b7d1804
|
|
|
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4780212
|
|
|
+Reviewed-by: Michael Lippautz <[email protected]>
|
|
|
+Commit-Queue: Michael Lippautz <[email protected]>
|
|
|
+Auto-Submit: Deepak Mohan (Robo) <[email protected]>
|
|
|
+Cr-Commit-Position: refs/heads/main@{#89557}
|
|
|
+
|
|
|
+diff --git a/src/base/platform/platform-posix.cc b/src/base/platform/platform-posix.cc
|
|
|
+index 77fd9e8f6dd5938d38344ffb0074fb70a0969fd9..73cdbdb19df2aecf3046b2bb2b6cb121f4dc5ca7 100644
|
|
|
+--- a/src/base/platform/platform-posix.cc
|
|
|
++++ b/src/base/platform/platform-posix.cc
|
|
|
+@@ -161,7 +161,7 @@ void* Allocate(void* hint, size_t size, OS::MemoryPermission access,
|
|
|
+ void* result = mmap(hint, size, prot, flags, kMmapFd, kMmapFdOffset);
|
|
|
+ if (result == MAP_FAILED) return nullptr;
|
|
|
+
|
|
|
+-#if V8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION
|
|
|
++#if V8_OS_LINUX && V8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION
|
|
|
+ // This is advisory, so we ignore errors.
|
|
|
+ madvise(result, size, MADV_DONTFORK);
|
|
|
+ #endif
|