On Darwin, guard page accesses are raised as SIGBUS.

This commit is contained in:
Dan Gohman
2018-12-04 21:57:48 -05:00
parent cfd28a7bc5
commit 0a2ecf5a1e

View File

@@ -723,8 +723,9 @@ EnsureEagerSignalHandlers()
abort(); abort();
} }
# if defined(__arm__) # if defined(__arm__) || defined(__APPLE__)
// On Arm Handle Unaligned Accesses // On ARM, handle Unaligned Accesses.
// On Darwin, guard page accesses are raised as SIGBUS.
struct sigaction busHandler; struct sigaction busHandler;
busHandler.sa_flags = SA_SIGINFO | SA_NODEFER | SA_ONSTACK; busHandler.sa_flags = SA_SIGINFO | SA_NODEFER | SA_ONSTACK;
busHandler.sa_sigaction = WasmTrapHandler; busHandler.sa_sigaction = WasmTrapHandler;