/explore

Click through on any links that interest you or select the planets on the right to continue exploring the Outer Web.
You are here

maskray.me
| | etherealwake.com

When writing a freestanding application, it's generally necessary for the firmware engineer to handle runtime initialization. Even when a library like newlib includes a rudimentary implementation of crt0.o, initialization is a very application-specific process owing to the need to initialize hardware, memory, and other loading tasks. In this essay, we examine the current and historical implementation of executable initialization, finishing with a minimal implementation usable with firmware applications. Note: Most firmware applications need to address the initialization of .data and .bss from nonvolatile memory. That is not addressed in this essay.
2.7 parsecs

Travel
| |
| | www.lukas-barth.net

This article explores how to exploit side effects during dynamic initialization. It gives an overview over how dynamic initialization works in a typical C++ executable on Linux.
3.2 parsecs

Travel
| |
| | blog.thea.codes

A deep look into the black magic that is linker scripts.
5.1 parsecs

Travel
| |
| | www.humprog.org


26.8 parsecs

Travel
|