blob: 25b00008ef24a3d7a21ba248418a98f1cc4ec75d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
--- v8/src/base/platform/platform-posix.cc.orig 2022-04-21 18:48:31 UTC
+++ v8/src/base/platform/platform-posix.cc
@@ -68,7 +68,7 @@
#include <sys/syscall.h>
#endif
-#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS
+#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS
#define MAP_ANONYMOUS MAP_ANON
#endif
@@ -294,8 +294,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
}
}
+#if V8_OS_OPENBSD
+// Allow OpenBSD's mmap to select a random address on OpenBSD
// static
void* OS::GetRandomMmapAddr() {
+ return nullptr;
+}
+#else
+// static
+void* OS::GetRandomMmapAddr() {
uintptr_t raw_addr;
{
MutexGuard guard(rng_mutex.Pointer());
@@ -386,6 +393,7 @@ void* OS::GetRandomMmapAddr() {
#endif
return reinterpret_cast<void*>(raw_addr);
}
+#endif
// TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
#if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
@@ -612,7 +620,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
// static
bool OS::HasLazyCommits() {
-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN
+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
@@ -1231,7 +1239,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
// keep this version in POSIX as most Linux-compatible derivatives will
// support it. MacOS and FreeBSD are different here.
#if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \
- !defined(V8_OS_SOLARIS)
+ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
// static
Stack::StackSlot Stack::GetStackStart() {
|