aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/exception_handling/abort.cpp
blob: e331d3443af15e730c8d10ce41cb05baea035bb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "arch/exception_handling/panic.hpp"

#include <cstdlib>

namespace teachos::arch::exception_handling
{
  /**
   * @brief Override for the newlib abort function.
   *
   * newlib defines @p ::abort as a weak symbol, thus allowing implementations to override it by simply providing a
   * matching implementation. Since the default implemenatation calls a number of functions the kernel does not
   * currently implement, @p ::abort gets overridden to simply panic.
   */
  extern "C" auto abort() -> void { panic("Terminate was called, possibly due to an unhandled exception"); }
}  // namespace teachos::arch::exception_handling