Making C++ and the STL Work in the Linux / Windows Kernels
summary
Bootstraps a C++11/14 runtime inside Linux and Windows kernels by using a cross‑compiler, a custom ELF loader, manual relocations, and handcrafted support for global constructors/destructors, then implements a kernel-safe unwinder that consumes eh_frame data so full exceptions and RTTI (dynamic_cast) work. Results: a working open‑source Bareflank hypervisor (type‑1 and late‑launch type‑2) with CI, unit tests, Coveralls and clang‑tidy; debugging steps include fixing the red zone and resolving weak‑symbol issues in libc++/libc++abi.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:28Motivation
- 4:27ELF Loader
- 7:16Executing C++ Example in the Kernel
- 9:57Global Construction / Destruction
- 11:35C Runtime Library
- 15:29Red Zone
- 27:10Wrapper Script
- 33:18Dynamic Cast
- 33:46What is a weak symbol?
- 35:54What about exceptions?
- 37:07Unwind Library
- 45:51Future Work
- 48:02Questions
related talks
01h 00m“Constexpr Everything” - The Standard Library, Microkernel, Apps, and Unit Tests
01h 03mApplied Best Practices
55mExceptions Under the Spotlight
01h 03mFreestanding C++ - Past, Present, and Future
12mAccelerating Software Development for High Performance Chiplet...
49mWriting better code with help from Qt and the compiler
01h 37mC++ And Beyond: Discussion
01h 00mThe Salami Method for Cross Platform Development
