summaryrefslogtreecommitdiff
path: root/na/lib/cxx_abi.cc
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-07-10 11:31:46 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-07-10 11:31:46 +0800
commite90b72ec3082588b296956730bd2930cf8d5d671 (patch)
tree36ff6916af9b4176ea5a9662219d11e721f0b691 /na/lib/cxx_abi.cc
parent1767d390fbf3d0c65389de46caf0b6d43ef3b6ad (diff)
downloadlume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.gz
lume-e90b72ec3082588b296956730bd2930cf8d5d671.tar.xz
refactor: promote new architecture to repository root
Archive the deprecated implementation under lume-legacy, make the new kernel the default root-level build, and update repository entry points without changing kernel behavior.
Diffstat (limited to 'na/lib/cxx_abi.cc')
-rw-r--r--na/lib/cxx_abi.cc37
1 files changed, 0 insertions, 37 deletions
diff --git a/na/lib/cxx_abi.cc b/na/lib/cxx_abi.cc
deleted file mode 100644
index 872b4a2..0000000
--- a/na/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;
-}