From 12fd3a91f138bf90520134682e38bf3b0341e660 Mon Sep 17 00:00:00 2001 From: Samuel Johnson Date: Fri, 27 Jun 2025 17:46:28 -0400 Subject: Create kernel build infrastructure --- kernel/cxx/constructors.cxx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 kernel/cxx/constructors.cxx (limited to 'kernel/cxx/constructors.cxx') diff --git a/kernel/cxx/constructors.cxx b/kernel/cxx/constructors.cxx new file mode 100644 index 0000000..8c21453 --- /dev/null +++ b/kernel/cxx/constructors.cxx @@ -0,0 +1,18 @@ +extern void (*_ctors_start[0])(void), (*_ctors_end[0])(void); +extern void (*_dtors_start[0])(void), (*_dtors_end[0])(void); + +void init (void) +{ + for (void (**ctor)(void) = _ctors_start; ctor != _ctors_end; ctor++) + { + (*ctor)(); + } +} + +void fini (void) +{ + for (void (**dtor)(void) = _dtors_start; dtor != _dtors_end; dtor++) + { + (*dtor)(); + } +} -- cgit v1.2.3