summaryrefslogtreecommitdiff
path: root/deps/v8/src/trap-handler/trap-handler.h
diff options
context:
space:
mode:
authorYagiz Nizipli <yagiz@nizipli.com>2022-11-22 09:57:37 -0500
committerNode.js GitHub Bot <github-bot@iojs.org>2022-11-27 17:27:13 +0000
commit16e03e79688d51f95dfdbc90f5b8f56e3e995c6c (patch)
treeff2da950ca09063638de42c3ba0fd05cef610698 /deps/v8/src/trap-handler/trap-handler.h
parentfac00cd432dc28264859a7b304d9a59affbb6144 (diff)
downloadnode-new-16e03e79688d51f95dfdbc90f5b8f56e3e995c6c.tar.gz
deps: update V8 to 10.9.194.4
PR-URL: https://github.com/nodejs/node/pull/45579 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps/v8/src/trap-handler/trap-handler.h')
-rw-r--r--deps/v8/src/trap-handler/trap-handler.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/deps/v8/src/trap-handler/trap-handler.h b/deps/v8/src/trap-handler/trap-handler.h
index 84ffdbd056..77b0b19aa3 100644
--- a/deps/v8/src/trap-handler/trap-handler.h
+++ b/deps/v8/src/trap-handler/trap-handler.h
@@ -26,8 +26,14 @@ namespace trap_handler {
#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_DARWIN
#define V8_TRAP_HANDLER_SUPPORTED true
// Arm64 simulator on x64 on Linux, Mac, or Windows.
+//
+// The simulator case uses some inline assembly code, which cannot be
+// compiled with MSVC, so don't enable the trap handler in that case.
+// (MSVC #defines _MSC_VER, but so does Clang when targeting Windows, hence
+// the check for __clang__.)
#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_X64 && \
- (V8_OS_LINUX || V8_OS_DARWIN || V8_OS_WIN)
+ (V8_OS_LINUX || V8_OS_DARWIN || V8_OS_WIN) && \
+ (!defined(_MSC_VER) || defined(__clang__))
#define V8_TRAP_HANDLER_VIA_SIMULATOR
#define V8_TRAP_HANDLER_SUPPORTED true
// Everything else is unsupported.
@@ -35,6 +41,14 @@ namespace trap_handler {
#define V8_TRAP_HANDLER_SUPPORTED false
#endif
+#if V8_OS_ANDROID && V8_TRAP_HANDLER_SUPPORTED
+// It would require some careful security review before the trap handler
+// can be enabled on Android. Android may do unexpected things with signal
+// handling and crash reporting that could open up security holes in V8's
+// trap handling.
+#error "The V8 trap handler should not be enabled on Android"
+#endif
+
// Setup for shared library export.
#if defined(BUILDING_V8_SHARED) && defined(V8_OS_WIN)
#define TH_EXPORT_PRIVATE __declspec(dllexport)