summaryrefslogtreecommitdiff
path: root/lib/cxx_abi.cc
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
commit8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch)
treeaa739deaac0266f17c4e91b333957501cb1ea2e9 /lib/cxx_abi.cc
parent3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff)
downloadlume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz
lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'lib/cxx_abi.cc')
-rw-r--r--lib/cxx_abi.cc37
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/cxx_abi.cc b/lib/cxx_abi.cc
deleted file mode 100644
index 872b4a2..0000000
--- a/lib/cxx_abi.cc
+++ /dev/null
@@ -1,37 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/* Copyright (C) 2026 Richard Qin */
-
-/*
- * cxx_abi.cc — Minimal C++ ABI stubs for freestanding kernel
- *
- * Provides symbols that the compiler/linker expects from the C++
- * runtime library. All error paths are fatal (kernel_panic).
- *
- * Reference: docs/specs/cpp_runtime.md
- */
-
-#include <lume/klog.h>
-
-/* Pure virtual function call trap.
- * Generated by the compiler in vtable entries for pure virtual methods.
- * Reaching this means a derived class failed to implement a pure virtual. */
-extern "C" void __cxa_pure_virtual()
-{
- kernel_panic("pure virtual function call");
-}
-
-/* Global destructor registration.
- * The kernel does not support global object destruction — all global
- * objects use Placement New with explicit lifetime management.
- * If the compiler emits a call to this, it indicates a code violation. */
-extern "C" int __cxa_atexit(void (*)(void*), void*, void*)
-{
- kernel_panic("__cxa_atexit called in kernel");
- return 0; // unreachable
-}
-
-/* DSO handle — required by __cxa_atexit ABI.
- * The kernel is statically linked; this symbol just needs to exist. */
-extern "C" {
-void* __dso_handle __attribute__((visibility("hidden"))) = nullptr;
-}