diff --git a/src/libtrx/include/libtrx/debug.h b/src/libtrx/include/libtrx/debug.h index 2861a3450..f9bb2ce7a 100644 --- a/src/libtrx/include/libtrx/debug.h +++ b/src/libtrx/include/libtrx/debug.h @@ -6,12 +6,12 @@ do { \ if (!(x)) { \ LOG_DEBUG("Assertion failed: %s", #x); \ - *(int *)0 = 0; \ + __builtin_trap(); \ } \ } while (0) #define ASSERT_FAIL(x) \ do { \ LOG_DEBUG("Assertion failed"); \ - *(int *)0 = 0; \ + __builtin_trap(); \ } while (0) diff --git a/src/libtrx/log_linux.c b/src/libtrx/log_linux.c index 6af46b3c8..96c50dd14 100644 --- a/src/libtrx/log_linux.c +++ b/src/libtrx/log_linux.c @@ -46,6 +46,7 @@ void Log_Init_Extra(const char *path) { signal(SIGSEGV, M_SignalHandler); signal(SIGFPE, M_SignalHandler); + signal(SIGILL, M_SignalHandler); } void Log_Shutdown_Extra(void)