aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/exception_handling
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2024-11-19 17:30:53 +0100
committerFelix Morgner <felix.morgner@ost.ch>2024-11-19 17:30:53 +0100
commit27cd88e4d39489a845483e574f79fd67ef3d4fcd (patch)
treede63a5f8ab11c6f8055466b3506b02c7c029c9e7 /arch/x86_64/src/exception_handling
parentd1baeb7ec209ddf205dc90d39a5de4c7ecf9fe81 (diff)
downloadteachos-27cd88e4d39489a845483e574f79fd67ef3d4fcd.tar.xz
teachos-27cd88e4d39489a845483e574f79fd67ef3d4fcd.zip
runtime: catch pure virtual function calls
Diffstat (limited to 'arch/x86_64/src/exception_handling')
-rw-r--r--arch/x86_64/src/exception_handling/pure_virtual.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86_64/src/exception_handling/pure_virtual.cpp b/arch/x86_64/src/exception_handling/pure_virtual.cpp
new file mode 100644
index 0000000..67772f7
--- /dev/null
+++ b/arch/x86_64/src/exception_handling/pure_virtual.cpp
@@ -0,0 +1,6 @@
+#include "arch/exception_handling/panic.hpp"
+
+extern "C" auto __cxa_pure_virtual() -> void
+{
+ teachos::arch::exception_handling::panic("Runtime", "Tried to call a pure virtual function!");
+}