<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pub/teachos/kernel.git/arch/x86_64/src/boot/crtn.s, branch develop</title>
<subtitle>An educational OS kernel</subtitle>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/'/>
<entry>
<title>x86_64: implement robust C++ global initialization</title>
<updated>2025-07-24T12:28:23+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2025-07-24T12:28:23+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=f62b05c93c6c539d899d2656c0638d404a036f1a'/>
<id>f62b05c93c6c539d899d2656c0638d404a036f1a</id>
<content type='text'>
Implement a comprehensive mechanism to ensure correct C++ runtime
initialization before the kernel main function is called. This replaces
the previous, incomplete reliance on an `_init` function.

The new design robustly handles both legacy `.ctors` and modern
`.init_array` initialization schemes used by the GNU toolchain. A single
C++ function, `invoke_global_constructors`, now iterates through both
arrays of function pointers to ensure all types of global initializers
are executed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement a comprehensive mechanism to ensure correct C++ runtime
initialization before the kernel main function is called. This replaces
the previous, incomplete reliance on an `_init` function.

The new design robustly handles both legacy `.ctors` and modern
`.init_array` initialization schemes used by the GNU toolchain. A single
C++ function, `invoke_global_constructors`, now iterates through both
arrays of function pointers to ensure all types of global initializers
are executed.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: migrate away from conan</title>
<updated>2024-09-17T06:58:55+00:00</updated>
<author>
<name>Felix Morgner</name>
<email>felix.morgner@ost.ch</email>
</author>
<published>2024-09-16T14:07:41+00:00</published>
<link rel='alternate' type='text/html' href='http://source.arknet.ch/pub/teachos/kernel.git/commit/?id=8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a'/>
<id>8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
