From ec9d7e176c5c4649d9268c90f0020ff1d8c62cb8 Mon Sep 17 00:00:00 2001 From: Gerolf Hoflehner Date: Wed, 25 May 2016 00:54:39 +0000 Subject: [PATCH] [Support] Cleanup of an ancient Darwin work-around in Signals.inc (PR26174) Patch by Jeremy Huddleston Sequoia llvm-svn: 270643 --- lib/Support/Unix/Signals.inc | 39 ------------------------------------ 1 file changed, 39 deletions(-) diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc index 8e0d2057c76..b49b8aae4ff 100644 --- a/lib/Support/Unix/Signals.inc +++ b/lib/Support/Unix/Signals.inc @@ -490,42 +490,3 @@ void llvm::sys::PrintStackTraceOnErrorSignal(bool DisableCrashReporting) { } #endif } - - -/***/ - -// On Darwin, raise sends a signal to the main thread instead of the current -// thread. This has the unfortunate effect that assert() and abort() will end up -// bypassing our crash recovery attempts. We work around this for anything in -// the same linkage unit by just defining our own versions of the assert handler -// and abort. - -#if defined(__APPLE__) && defined(ENABLE_CRASH_OVERRIDES) - -#include -#include - -int raise(int sig) { - return pthread_kill(pthread_self(), sig); -} - -void __assert_rtn(const char *func, - const char *file, - int line, - const char *expr) { - if (func) - fprintf(stderr, "Assertion failed: (%s), function %s, file %s, line %d.\n", - expr, func, file, line); - else - fprintf(stderr, "Assertion failed: (%s), file %s, line %d.\n", - expr, file, line); - abort(); -} - -void abort() { - raise(SIGABRT); - usleep(1000); - __builtin_trap(); -} - -#endif