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();
}
# if defined(__arm__)
// On Arm Handle Unaligned Accesses
# if defined(__arm__) || defined(__APPLE__)
// On ARM, handle Unaligned Accesses.
// On Darwin, guard page accesses are raised as SIGBUS.
struct sigaction busHandler;
busHandler.sa_flags = SA_SIGINFO | SA_NODEFER | SA_ONSTACK;
busHandler.sa_sigaction = WasmTrapHandler;