mirror of
https://github.com/nodejs/node.git
synced 2025-08-15 05:38:47 +02:00
deps: support madvise(3C) across ALL illumos revisions
In illumos, madvise(3C) now takes `void *` for its first argument post-illumos#14418, but uses `caddr_t` pre-illumos#14418. This fix will detect if the illumos mman.h file in use is pre-or-post-illumos#14418 so builds can work either way. PR-URL: https://github.com/nodejs/node/pull/58237 Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
60a58f63a1
commit
5baff3e47b
2 changed files with 14 additions and 2 deletions
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
# Reset this number to 0 on major V8 upgrades.
|
# Reset this number to 0 on major V8 upgrades.
|
||||||
# Increment by one for each non-official patch applied to deps/v8.
|
# Increment by one for each non-official patch applied to deps/v8.
|
||||||
'v8_embedder_string': '-node.17',
|
'v8_embedder_string': '-node.18',
|
||||||
|
|
||||||
##### V8 defaults for Node.js #####
|
##### V8 defaults for Node.js #####
|
||||||
|
|
||||||
|
|
14
deps/v8/src/base/platform/platform-posix.cc
vendored
14
deps/v8/src/base/platform/platform-posix.cc
vendored
|
@ -80,7 +80,19 @@
|
||||||
#define MAP_ANONYMOUS MAP_ANON
|
#define MAP_ANONYMOUS MAP_ANON
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(V8_OS_SOLARIS)
|
/*
|
||||||
|
* NOTE: illumos starting with illumos#14418 (pushed April 20th, 2022)
|
||||||
|
* prototypes madvise(3C) properly with a `void *` first argument.
|
||||||
|
* The only way to detect this outside of configure-time checking is to
|
||||||
|
* check for the existence of MEMCNTL_SHARED, which gets defined for the first
|
||||||
|
* time in illumos#14418 under the same circumstances save _STRICT_POSIX, which
|
||||||
|
* thankfully neither Solaris nor illumos builds of Node or V8 do.
|
||||||
|
*
|
||||||
|
* If some future illumos push changes the MEMCNTL_SHARED assumptions made
|
||||||
|
* above, the illumos check below will have to be revisited. This check
|
||||||
|
* will work on both pre-and-post illumos#14418 illumos environments.
|
||||||
|
*/
|
||||||
|
#if defined(V8_OS_SOLARIS) && !(defined(__illumos__) && defined(MEMCNTL_SHARED))
|
||||||
#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE > 2) || defined(__EXTENSIONS__)
|
#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE > 2) || defined(__EXTENSIONS__)
|
||||||
extern "C" int madvise(caddr_t, size_t, int);
|
extern "C" int madvise(caddr_t, size_t, int);
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue