| //===-- scudo_termination.cpp -----------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| /// |
| /// This file contains bare-bones termination functions to replace the |
| /// __sanitizer ones, in order to avoid any potential abuse of the callbacks |
| /// functionality. |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| #include "scudo_utils.h" |
| |
| #include "sanitizer_common/sanitizer_common.h" |
| |
| namespace __sanitizer { |
| |
| bool AddDieCallback(DieCallbackType Callback) { return true; } |
| |
| bool RemoveDieCallback(DieCallbackType Callback) { return true; } |
| |
| void SetUserDieCallback(DieCallbackType Callback) {} |
| |
| void NORETURN Die() { |
| if (common_flags()->abort_on_error) |
| Abort(); |
| internal__exit(common_flags()->exitcode); |
| } |
| |
| void SetCheckFailedCallback(CheckFailedCallbackType callback) {} |
| |
| void NORETURN CheckFailed(const char *File, int Line, const char *Condition, |
| u64 Value1, u64 Value2) { |
| __scudo::dieWithMessage("CHECK failed at %s:%d %s (%lld, %lld)\n", |
| File, Line, Condition, Value1, Value2); |
| } |
| |
| } // namespace __sanitizer |